Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This Office Action is in response to claims filed 02/15/2024
Claims 1-20 re pending.
Specification
The disclosure is objected to because of the following informalities: Step 120 of FIG 1 is mislabeled on the drawing as Step 122. Also, in Fig 1, Processor 103 is mislabeled on the drawing as Processor 102. Step 504 and Step 506 of the FIG 5 drawing are the exact same step “Receiving the legacy data and the legacy application into the enterprise platform”. Step 502 of the specification “Determining legacy data…”is Step 504 in the drawings. Step 502 of the drawings “Identifying a legacy application ….” is not mentioned in the specification.
Appropriate correction is required.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION. —The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 2-4, and are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as failing to set forth the subject matter which the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the applicant regards as the invention.
Claim 2 recites the limitation "the emulator" in line 1. There is insufficient antecedent basis for this limitation in the claim.
Claim 3 recites the limitation "the emulator" in line 1. There is insufficient antecedent basis for this limitation in the claim.
Claim 4 recites the limitation "the emulator" in line 1. There is insufficient antecedent basis for this limitation in the claim.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claim 17 is rejected under 35 U.S.C. 101 because the claimed invention is directed to a non-statutory subject matter.
With regard to claim 17, the claim is drawn to “a non-transient computer readable storage medium”. The specification recites in ¶ [0062] “The machine-readable storage medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or a combination of one or more of them.” 1) Claiming something is “non-transient” is not the same as “non-transitory”. 2) The statement in the specification does not define that a computer-readable medium is always non-transitory or that signals are explicitly disavowed. Thus, applying the broadest reasonable interpretation in light of the specification and taking into account the meaning of the words in their ordinary usage as they would be understood by one of ordinary skill in the art (MPEP 2111), the claim as a whole cover both transitory and non-transitory media. A transitory medium does not fall into any of the 4 categories of invention (process, machine, manufacture, or composition of matter).
The claim may be amended by changing “non-transient computer-readable storage medium” to “non-transitory computer-readable storage medium”, thus excluding that portion of the scope covering transitory signals.
Claims 18-20 are rejected under 35 U.S.C. 101 because claims 18-20 depend from rejected claim 17 and do not resolve the deficiencies thereof and are therefore rejected for at least the same reasons.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1, 4-6, 8-10, 12-13, 15-17, 19-20 are rejected under 35 U.S.C. 103 as being unpatentable over Acacio Pub. No. US 8881139 B1 (hereafter Acacio) in view of Pandurangarao et al. Pub. No. US 12192273 B1 (hereafter Pandurangarao).
With regard to claim 1, Acacio teaches a method comprising (FIG 4 is a flow chart that illustrates steps of a method of migrating legacy source code from a legacy platform to new platform):
Identifying a legacy application for transfer from a legacy mainframe to an enterprise platform (FIG. 5 best illustrates Phase 1 of the present invention. Initially, one or more legacy applications 23 are identified on the legacy platform 20 that are to be transferred to the new platform 30 col 6 lines 4-7), determining legacy data associated with the legacy application (Once each legacy application 23 is identified, the libraries that comprise the legacy application 23 are then identified. The libraries contain the legacy code and additional objects (created without source code) for the legacy application 23. The additional objects include data areas, output queues, job descriptions, query definitions, message files, user spaces and the like. Col 6 lines 7-13), receiving the legacy data and the legacy application into the enterprise platform (After the libraries are identified, a series of save files (*SAVF) are created on the legacy platform 20 wherein each save file contains one library for the legacy application 23. The save files for the legacy application 23 on the legacy platform 20 are then transferred to the new platform 30. The save files may be transferred to the new platform 30 via various protocols and transfer mediums. It is preferable that the save files on the legacy application 23 be transferred via file transfer protocol (FTP) in binary mode. Col 6 lines 14-16, 25-30) implementing an emulator application (After the save files for the legacy application 23 are transferred to the new platform 30, the middleware 40 installed on the new platform 30 restores the libraries, legacy code and additional objects onto the new platform 30. In particular, the middleware 40 creates the libraries on the new platform 30 with the same name as they existed on the legacy platform 20. The middleware 40 then restores the legacy code and additional objects within their corresponding libraries on the new platform 30. The middleware 40 executes and operates on the new operating system 32 of the new platform 30. col 6 lines 38-47) wherein the emulator application is configured to generate at least one integration application (Once legacy code and additional objects are transferred to the new platform 30, one or more of the compilers in the middleware 40 then compiles the legacy code to create an intermediate application on the new platform 30 that can be run within the middleware 40. It is important that the middleware 40 does not translate the RPG or COBOL into a different programming language. The compilers in the middleware 40 compile the original source code into the native executable object code for the new platform 30. The compiler within the middleware 40 preferably compiles all sources in following order: physical files, logical files, display files, printer files, CL, RPG, COBOL, ILERPG, SQLRPG, SQLCOBOL, commands and panel groups. Col 6 lines 48-60), and generating an enterprise application on the enterprise platform based on the legacy data; the legacy application, the at least one integration application (FIG 1 illustrates the transfer of legacy application and legacy data from the legacy platform to the new platform col 2 lines 36-38 and FIG. 9 illustrates the final phase involving deployment of the updated application 33 and new database 37 on the new platform 30. Training is provided to the individuals designated by the customer. The installer works in conjunction with the customer's system administrator responsible for the new platform 30. The installer configures the new operating system 32 and database parameters. Once the testing is finalized, the new platform 30 is established on the computer network of the customer col 8 lines 17-25).
Acacio does not teach determining a classification of the legacy application or generating an enterprise application on the enterprise platform based on the classification of the legacy application.
However, in analogous art, Pandurangarao teaches determining a classification of the legacy application (The deployment strategy can be determined based on the calculated deployment score. See FIGS 4A and 4B col 8 lines 23-25. At step 314, one or more deployment scores can be calculated. A deployment score can include a score for one or more features identified in the source code and/or a probabilistic likelihood that modifying a particular feature would improve the overall suitability of the software application for deployment into a distributed computing system. Col 7 lines 20-25), and generating an enterprise application on the enterprise platform based on the classification of the legacy application. (FIG 3 is a flowchart illustrating a process for an application deployment. Col 2 lines 36-37 At step 316, a deployment strategy can be determined. The deployment strategy can indicate how the software application will be deployed (or not deployed) on a distributed computing system. Any of a variety of deployment strategies can be used, such as, but not limited to, rehosting, re-platforming, refactoring, re-architecting, retaining, and/or retiring the software application col 7 lines 59-65. The deployment strategy can be determined based on the calculated deployment score(s). As shown in FIG. 4B, a deployment strategy 450 for a software application can be re-platforming the software application to a distributed computing system when the deployment score is greater than or equal to 0.9, rehosting the software application when the deployment score is between 0.9 and 0.85, and refactoring the software application when the deployment score is less than 0.85. In several embodiments, the deployment scores are on a scale of zero to one, but any scoring techniques (including arbitrary scores) can be used Col 8 lines 23-24, 34-43). Examiner notes that a deployment score is a classification of the legacy application that determines where to deploy and generate the enterprise application and migrate its data. Based on the classification, the legacy app can be generated and migrated by anyone of the deployment strategies such rehosting, re-platforming, re-architecting, etc.It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to combine the system and methods of Acacio with the teachings of Pandurangarao, allowing Acacio to migrate an application between platforms using a rehosting system and the rest of Pandurangarao deployment strategies for automated application deployment. A person having ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, to overcome legacy systems not performing well (or at all) when executing in a cloud environment and that these problems are overcome by analyzing software applications, modifying the software applications, and/or automatically deploying the software applications as Pandurangarao states in at least Col 1 lines 25-31.
With regard to claim 4, Acacio teaches the method of claim 1 wherein the emulator is configured to host an application management application (FIG 2. The deployment environment of the middleware 40 replicates the operating environment of the legacy platform 20 including the utilities, commands and the database necessary to execute and deploy the legacy applications 23. Col 4 lines 59-63)
With regard to claim 5, Acacio teaches generating a first job associated with the legacy application operating on a legacy mainframe, wherein the job yields legacy resultant data; generating a second job with the enterprise application operating on the enterprise platform, wherein the second job yields enterprise resultant data; and comparing the legacy resultant data to the enterprise resultant data. (The installer performs exhaustive testing of the intermediate application on the new platform 30 utilizing the transferred data. The testing preferably includes interactive operations and batch operations including execution of any routines that interface with other systems. The testing party will compare and validate output from the legacy platform 20 and the new platform 30 to ensure that the output is the same. Col 7 lines 31-38).
With regard to claim 6, Acacio teaches wherein comparing the legacy resultant data to the enterprise resultant data comprises implementing a tester function (the installer performs exhaustive testing of the intermediate application on the new platform 30 utilizing the transferred data. The testing preferably includes interactive operations and batch operations including execution of any routines that interface with other systems. The testing party will compare and validate output from the legacy platform 20 and the new platform 30 to ensure that the output is the same. Based upon the results of the testing, the installer fixes any problems identified. For example, the installer may fix files, fix programs, find workarounds to address unexpected behaviors and the like. After updating the application to form the updated application 33, the installer performs final testing until the tests are satisfactory as illustrated in FIG. 6 of the drawings. Col 7 lines 51-60)
With regard to claim 8, Acacio teaches access to the legacy application operating on the legacy mainframe is provided via a terminal, initially configured to access the legacy mainframe, wherein the terminal is directed to the enterprise platform. (The legacy platform 20 is a computing platform comprised of legacy hardware 21 and a legacy operating system 22 (a.k.a. an operating system) that together allow a legacy application 23 to run. The legacy hardware 21 may be comprised of any older computing platform that a business desires to retire and upgrade to a new platform 30. Col 3 lines 27-31. The new platform 30 is a computing platform comprised of new hardware 31 and a new operating system 32 (a.k.a. an operating system) that together allow a legacy application 23 to run. The new hardware 31 may be comprised of any computing platform that a business is capable of using to run business software applications. The new operating system 32 may be installed on the new platform 30 prior to or after delivery of the new platform 30 to the customer. Col 4 lines 2-7. Once the testing is finalized, the new platform 30 is established on the computer network of the customer. In addition, workers (employees) are provided with their credentials and redirected to the new platform 30 to interface with the updated application 33. Col 8 lines 23-27) After legacy migration from a legacy platform to a new platform, workers, or employees, can be given new credentials and redirected to use the updated application on the new platform. It is implicit that a terminal would be needed to access the legacy system used prior as well as to be redirected towards the new platform.
With regard to claim 9, Acacio teaches the system further comprising decommissioning transmission between the legacy mainframe and the enterprise platform. (The legacy hardware 21 may be comprised of any older computing platform that a business desires to retire and upgrade to a new platform 30. Col 3 lines 30-32. The new peripheral devices 35, 36 may be comprised of input, output and/or storage devices. In addition, one or more of the legacy peripherals 25, 26 may be disconnected from the legacy platform 20 and connected to the new platform 30 when the new platform 30 is connected to the computer network of the business. Col 4 lines 33-39 FIG. 9 illustrates the final phase involving deployment of the updated application 33 and new database 37 on the new platform 30. Training is provided to the individuals designated by the customer. The installer works in conjunction with the customer's system administrator responsible for the new platform 30. The installer configures the new operating system 32 and database parameters. Once the testing is finalized, the new platform 30 is established on the computer network of the customer. In addition, workers are provided with their credentials and redirected to the new platform 30 to interface with the updated application 33. Col 8 lines 17-27). Examiner notes that legacy systems designated for retirement need to be updated to new platforms. Peripherals that are disconnected from the legacy system and connected to the new system and that workers are redirected to the new system, this decommissions any transmission between legacy and enterprise.
With regard to claim 10, Acacio teaches a system configured for migrating applications between platforms, the system comprising: one or more hardware processors configured by machine-readable instructions to: (These computer-executable program instructions may be loaded onto a general-purpose computer, a special-purpose computer, a processor, or other programmable data processing apparatus to produce a particular machine, such that the instructions that execute on the computer, processor, or other programmable data processing apparatus create means for implementing one or more functions specified in the flow diagram block or blocks. Col 8 lines 61-67 col 9 line 1) determining legacy data associated with the legacy application (Once each legacy application 23 is identified, the libraries that comprise the legacy application 23 are then identified. The libraries contain the legacy code and additional objects (created without source code) for the legacy application 23. The additional objects include data areas, output queues, job descriptions, query definitions, message files, user spaces and the like. Col 6 lines 7-13), receiving the legacy data and the legacy application into the enterprise platform (After the libraries are identified, a series of save files (*SAVF) are created on the legacy platform 20 wherein each save file contains one library for the legacy application 23. The save files for the legacy application 23 on the legacy platform 20 are then transferred to the new platform 30. The save files may be transferred to the new platform 30 via various protocols and transfer mediums. It is preferable that the save files on the legacy application 23 be transferred via file transfer protocol (FTP) in binary mode. Col 6 lines 14-16, 25-30) implementing an emulator application (After the save files for the legacy application 23 are transferred to the new platform 30, the middleware 40 installed on the new platform 30 restores the libraries, legacy code and additional objects onto the new platform 30. In particular, the middleware 40 creates the libraries on the new platform 30 with the same name as they existed on the legacy platform 20. The middleware 40 then restores the legacy code and additional objects within their corresponding libraries on the new platform 30. The middleware 40 executes and operates on the new operating system 32 of the new platform 30. col 6 lines 38-47) wherein the emulator application is configured to generate at least one integration application (Once legacy code and additional objects are transferred to the new platform 30, one or more of the compilers in the middleware 40 then compiles the legacy code to create an intermediate application on the new platform 30 that can be run within the middleware 40. It is important that the middleware 40 does not translate the RPG or COBOL into a different programming language. The compilers in the middleware 40 compile the original source code into the native executable object code for the new platform 30. The compiler within the middleware 40 preferably compiles all sources in following order: physical files, logical files, display files, printer files, CL, RPG, COBOL, ILERPG, SQLRPG, SQLCOBOL, commands and panel groups. Col 6 lines 48-60), and generating an enterprise application on the enterprise platform based on the legacy data; the legacy application, the at least one integration application (FIG 1 illustrates the transfer of legacy application and legacy data from the legacy platform to the new platform col 2 lines 36-38 and FIG. 9 illustrates the final phase involving deployment of the updated application 33 and new database 37 on the new platform 30. Training is provided to the individuals designated by the customer. The installer works in conjunction with the customer's system administrator responsible for the new platform 30. The installer configures the new operating system 32 and database parameters. Once the testing is finalized, the new platform 30 is established on the computer network of the customer col 8 lines 17-25). Acacio does not teach determining a classification of the legacy application or generating an enterprise application on the enterprise platform based on the classification of the legacy application.However, in analogous art, Pandurangarao teaches determining a classification of the legacy application (The deployment strategy can be determined based on the calculated deployment score. See FIGS 4A and 4B col 8 lines 23-25. At step 314, one or more deployment scores can be calculated. A deployment score can include a score for one or more features identified in the source code and/or a probabilistic likelihood that modifying a particular feature would improve the overall suitability of the software application for deployment into a distributed computing system. Col 7 lines 20-25), and generating an enterprise application on the enterprise platform based on the classification of the legacy application. (FIG 3 is a flowchart illustrating a process for an application deployment. Col 2 lines 36-37 At step 316, a deployment strategy can be determined. The deployment strategy can indicate how the software application will be deployed (or not deployed) on a distributed computing system. Any of a variety of deployment strategies can be used, such as, but not limited to, rehosting, re-platforming, refactoring, re-architecting, retaining, and/or retiring the software application col 7 lines 59-65. The deployment strategy can be determined based on the calculated deployment score(s). As shown in FIG. 4B, a deployment strategy 450 for a software application can be re-platforming the software application to a distributed computing system when the deployment score is greater than or equal to 0.9, rehosting the software application when the deployment score is between 0.9 and 0.85, and refactoring the software application when the deployment score is less than 0.85. In several embodiments, the deployment scores are on a scale of zero to one, but any scoring techniques (including arbitrary scores) can be used Col 8 lines 23-24, 34-43). Examiner notes that a deployment score is a classification of the legacy application that determines where to deploy and generate the enterprise application and migrate its data. Based on the classification, the legacy app can be generated and migrated by anyone of the deployment strategies such rehosting, re-platforming, re-architecting, etc.It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to combine the system and methods of Acacio with the teachings of Pandurangarao, allowing Acacio to migrate an application between platforms using a rehosting system and the rest of Pandurangarao deployment strategies for automated application deployment. A person having ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, to overcome legacy systems not performing well (or at all) when executing in a cloud environment and that these problems are overcome by analyzing software applications, modifying the software applications, and/or automatically deploying the software applications as Pandurangarao states in at least Col 1 lines 25-31.
With regard to claim 12, Acacio teaches the system wherein the one or more hardware processors are further configured by machine-readable instructions to: generate a first job associated with the legacy application operating on a legacy mainframe, wherein the job yields legacy resultant data; generate a second job with the enterprise application operating on the enterprise platform, wherein the second job yields enterprise resultant data; and compare the legacy resultant data to the enterprise resultant data. (The installer performs exhaustive testing of the intermediate application on the new platform 30 utilizing the transferred data. The testing preferably includes interactive operations and batch operations including execution of any routines that interface with other systems. The testing party will compare and validate output from the legacy platform 20 and the new platform 30 to ensure that the output is the same. Col 7 lines 31-38).
With regard to claim 13, Acacio teaches the system wherein comparing the legacy resultant data to the enterprise resultant data comprises implementing a tester function. (the installer performs exhaustive testing of the intermediate application on the new platform 30 utilizing the transferred data. The testing preferably includes interactive operations and batch operations including execution of any routines that interface with other systems. The testing party will compare and validate output from the legacy platform 20 and the new platform 30 to ensure that the output is the same. Based upon the results of the testing, the installer fixes any problems identified. For example, the installer may fix files, fix programs, find workarounds to address unexpected behaviors and the like. After updating the application to form the updated application 33, the installer performs final testing until the tests are satisfactory as illustrated in FIG. 6 of the drawings. Col 7 lines 51-60)
With regard to claim 15, Acacio teaches the system wherein access to the legacy application operating on the legacy mainframe is provided via a terminal, initially configured to access the legacy mainframe, wherein the terminal is directed to the enterprise platform. (The legacy platform 20 is a computing platform comprised of legacy hardware 21 and a legacy operating system 22 (a.k.a. an operating system) that together allow a legacy application 23 to run. The legacy hardware 21 may be comprised of any older computing platform that a business desires to retire and upgrade to a new platform 30. Col 3 lines 27-31. The new platform 30 is a computing platform comprised of new hardware 31 and a new operating system 32 (a.k.a. an operating system) that together allow a legacy application 23 to run. The new hardware 31 may be comprised of any computing platform that a business is capable of using to run business software applications. The new operating system 32 may be installed on the new platform 30 prior to or after delivery of the new platform 30 to the customer. Col 4 lines 2-7. Once the testing is finalized, the new platform 30 is established on the computer network of the customer. In addition, workers (employees) are provided with their credentials and redirected to the new platform 30 to interface with the updated application 33. Col 8 lines 23-27) After legacy migration from a legacy platform to a new platform, workers, or employees, can be given new credentials and redirected to use the updated application on the new platform. It is implicit that a terminal would be needed to access the legacy system used prior as well as to be redirected towards the new platform.
With regard to claim 16, Acacio teaches the system further comprising decommissioning transmission between the legacy mainframe and the enterprise platform. (The legacy hardware 21 may be comprised of any older computing platform that a business desires to retire and upgrade to a new platform 30. Col 3 lines 30-32. The new peripheral devices 35, 36 may be comprised of input, output and/or storage devices. In addition, one or more of the legacy peripherals 25, 26 may be disconnected from the legacy platform 20 and connected to the new platform 30 when the new platform 30 is connected to the computer network of the business. Col 4 lines 33-39 FIG. 9 illustrates the final phase involving deployment of the updated application 33 and new database 37 on the new platform 30. Training is provided to the individuals designated by the customer. The installer works in conjunction with the customer's system administrator responsible for the new platform 30. The installer configures the new operating system 32 and database parameters. Once the testing is finalized, the new platform 30 is established on the computer network of the customer. In addition, workers are provided with their credentials and redirected to the new platform 30 to interface with the updated application 33. Col 8 lines 17-27). Legacy systems designated for retirement need to be updated to new platforms. Examiner notes that legacy systems designated for retirement need to be updated to new platforms. Peripherals that are disconnected from the legacy system and connected to the new system and that workers are redirected to the new system, this decommissions any transmission between legacy and enterprise.
With regard to claim 17, Acacio teaches a non-transient computer-readable storage medium having instructions embodied thereon, the instructions being executable by one or more processors to perform a method for migrating an application between platforms, the method comprising: (These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means that implement one or more functions specified in the flow diagram block or blocks. col 9 lines 1-8)Identifying a legacy application for transfer from a legacy mainframe to an enterprise platform (FIG. 5 best illustrates Phase 1 of the present invention. Initially, one or more legacy applications 23 are identified on the legacy platform 20 that are to be transferred to the new platform 30 col 6 lines 4-7), determining legacy data associated with the legacy application (Once each legacy application 23 is identified, the libraries that comprise the legacy application 23 are then identified. The libraries contain the legacy code and additional objects (created without source code) for the legacy application 23. The additional objects include data areas, output queues, job descriptions, query definitions, message files, user spaces and the like. Col 6 lines 7-13), receiving the legacy data and the legacy application into the enterprise platform (After the libraries are identified, a series of save files (*SAVF) are created on the legacy platform 20 wherein each save file contains one library for the legacy application 23. The save files for the legacy application 23 on the legacy platform 20 are then transferred to the new platform 30. The save files may be transferred to the new platform 30 via various protocols and transfer mediums. It is preferable that the save files on the legacy application 23 be transferred via file transfer protocol (FTP) in binary mode. Col 6 lines 14-16, 25-30) implementing an emulator application (After the save files for the legacy application 23 are transferred to the new platform 30, the middleware 40 installed on the new platform 30 restores the libraries, legacy code and additional objects onto the new platform 30. In particular, the middleware 40 creates the libraries on the new platform 30 with the same name as they existed on the legacy platform 20. The middleware 40 then restores the legacy code and additional objects within their corresponding libraries on the new platform 30. The middleware 40 executes and operates on the new operating system 32 of the new platform 30. col 6 lines 38-47) wherein the emulator application is configured to generate at least one integration application (Once legacy code and additional objects are transferred to the new platform 30, one or more of the compilers in the middleware 40 then compiles the legacy code to create an intermediate application on the new platform 30 that can be run within the middleware 40. It is important that the middleware 40 does not translate the RPG or COBOL into a different programming language. The compilers in the middleware 40 compile the original source code into the native executable object code for the new platform 30. The compiler within the middleware 40 preferably compiles all sources in following order: physical files, logical files, display files, printer files, CL, RPG, COBOL, ILERPG, SQLRPG, SQLCOBOL, commands and panel groups. Col 6 lines 48-60), and generating an enterprise application on the enterprise platform based on the legacy data; the legacy application, the at least one integration application (FIG 1 illustrates the transfer of legacy application and legacy data from the legacy platform to the new platform col 2 lines 36-38 and FIG. 9 illustrates the final phase involving deployment of the updated application 33 and new database 37 on the new platform 30. Training is provided to the individuals designated by the customer. The installer works in conjunction with the customer's system administrator responsible for the new platform 30. The installer configures the new operating system 32 and database parameters. Once the testing is finalized, the new platform 30 is established on the computer network of the customer col 8 lines 17-25).
Acacio does not teach determining a classification of the legacy application or generating an enterprise application on the enterprise platform based on the classification of the legacy application.
However, in analogous art, Pandurangarao teaches determining a classification of the legacy application (The deployment strategy can be determined based on the calculated deployment score. See FIGS 4A and 4B col 8 lines 23-25. At step 314, one or more deployment scores can be calculated. A deployment score can include a score for one or more features identified in the source code and/or a probabilistic likelihood that modifying a particular feature would improve the overall suitability of the software application for deployment into a distributed computing system. Col 7 lines 20-25), and generating an enterprise application on the enterprise platform based on the classification of the legacy application. (FIG 3 is a flowchart illustrating a process for an application deployment. Col 2 lines 36-37 At step 316, a deployment strategy can be determined. The deployment strategy can indicate how the software application will be deployed (or not deployed) on a distributed computing system. Any of a variety of deployment strategies can be used, such as, but not limited to, rehosting, re-platforming, refactoring, re-architecting, retaining, and/or retiring the software application col 7 lines 59-65. The deployment strategy can be determined based on the calculated deployment score(s). As shown in FIG. 4B, a deployment strategy 450 for a software application can be re-platforming the software application to a distributed computing system when the deployment score is greater than or equal to 0.9, rehosting the software application when the deployment score is between 0.9 and 0.85, and refactoring the software application when the deployment score is less than 0.85. In several embodiments, the deployment scores are on a scale of zero to one, but any scoring techniques (including arbitrary scores) can be used Col 8 lines 23-24, 34-43). Examiner notes that a deployment score is a classification of the legacy application that determines where to deploy and generate the enterprise application and migrate its data. Based on the classification, the legacy app can be generated and migrated by anyone of the deployment strategies such rehosting, re-platforming, re-architecting, etc.It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to combine the system and methods of Acacio with the teachings of Pandurangarao, allowing Acacio to migrate an application between platforms using a rehosting system and the rest of Pandurangarao deployment strategies for automated application deployment. A person having ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, to overcome legacy systems not performing well (or at all) when executing in a cloud environment and that these problems are overcome by analyzing software applications, modifying the software applications, and/or automatically deploying the software applications as Pandurangarao states in at least Col 1 lines 25-31.
With regard to claim 19, Acacio teaches the non-transient computer-readable storage medium wherein the one or more hardware processors are further configured by machine-readable instructions to: generate a first job associated with the legacy application operating on a legacy mainframe, wherein the job yields legacy resultant data; generate a second job with the enterprise application operating on the enterprise platform, wherein the second job yields enterprise resultant data; and compare the legacy resultant data to the enterprise resultant data. (The installer performs exhaustive testing of the intermediate application on the new platform 30 utilizing the transferred data. The testing preferably includes interactive operations and batch operations including execution of any routines that interface with other systems. The testing party will compare and validate output from the legacy platform 20 and the new platform 30 to ensure that the output is the same. Col 7 lines 31-38).
With regard to claim 20, Acacio teaches the non-transient computer-readable storage medium wherein comparing the legacy resultant data to the enterprise resultant data comprises implementing a tester function. (the installer performs exhaustive testing of the intermediate application on the new platform 30 utilizing the transferred data. The testing preferably includes interactive operations and batch operations including execution of any routines that interface with other systems. The testing party will compare and validate output from the legacy platform 20 and the new platform 30 to ensure that the output is the same. Based upon the results of the testing, the installer fixes any problems identified. For example, the installer may fix files, fix programs, find workarounds to address unexpected behaviors and the like. After updating the application to form the updated application 33, the installer performs final testing until the tests are satisfactory as illustrated in FIG. 6 of the drawings. Col 7 lines 51-60)
Claim 2 is rejected under 35 U.S.C. 103 as being unpatentable over Acacio Pub. No. US 8881139 B1 (hereafter Acacio) in view of Pandurangarao et al. Pub. No. US 12192273 B1 (hereafter Pandurangarao) as applied to claims 1, 4-6, 8-10, 12-13, 15-17, 19-20 above and in further view of Liu Pub. No. CN 117873564A (hereafter Liu). Citations correspond to English translation.
With regard to claim 2, Acacio and Pandurangarao teaches the method of claim 1;Acacio teaches wherein the emulator being configured to implement incremental back-ups of at least one of an enterprise application, and enterprise system data. (The middleware 40 is installed on the new operating system 32 of the new platform 30. Col 4 lines 41-42. The new platform 30 may be comprised of any computer platform such as a server computer, cloud-based computer, or other computer system capable of receiving and transmitting data via IP networks and telecommunication networks. Col 4 lines 8-11. The source objects of the legacy application 23 are recompiled using the middleware 40 and are then deployed by the middleware 40 using the deployment environment that operates under the new operating system 32 of the new system. Col 4 lines 51-55. To transfer the data from the internal database of the legacy application 23, the middleware 40 reads the definition of each physical file and logical file for the internal database and then creates a corresponding table or view within the new database 37 Col 5 lines 63-67). Although Acacio and Pandurangarao teach an emulator running on the new platform and migrating a legacy app to an enterprise platform associated with a classification and generating an enterprise application with its data, they do not specifically teach the emulator to be configured to implement incremental backups of said data. However, in analogous art, Liu teaches wherein the emulator being configured to implement incremental back-ups of at least one of an enterprise application, and enterprise system data (The invention provides a server architecture adjustment migration platform, a cloud server is used for migrating application programs, data and configuration from a source server to a target server [0005]. The cloud server includes…Preferably, the migration planning module supports defining a migration target, making a schedule, and designing a target server architecture, wherein the migration target is defined: the target of explicit migration may specify the server, application, data, and configuration to be migrated; and (5) making a time table: setting the starting time, duration and expiration date of migration; designing a target server architecture: configuration servers, networks, storage and applications, help users plan the hardware configuration and software environment of the target server. ¶[0020]. Preferably, the migration execution module has a predefined migration script, supports different types of migration, such as physical server migration, virtualized environment migration and cloud platform migration, and simplifies the migration process to reduce manual intervention and reduce errors. [0021] Preferably, the data backup module is used for backing up the data of the source server, ensuring the integrity and consistency of the data, recovering the data when needed, allowing a user to configure a data backup strategy, the user can specify the frequency of backup, the retention period and the backup type, the backup frequency can be adjusted according to the service requirement and the data change frequency, the retention period can be set according to the regulation and compliance requirement, and the backup type can select full-volume backup or incremental backup. ¶[0022]) It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to combine the system and methods of Acacio and Pandurangarao with the teachings of Liu, allowing Acacio and Pandurangarao to implement an emulator (middleware) on the enterprise platform (i.e. cloud server) to migrate an application between platforms and the rest of Liu to implement incremental back-ups of at least one enterprise application and enterprise system data on a cloud server. A person having ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, to coping with problems and failure conditions in the migration process, and can be used for periodically backing up and snapshot the system state so as to perform rollback operation when needed, thereby ensuring the availability of the system and the integrity of data, protecting the system and the safety of the data, providing a user authentication and authorization mechanism and ensuring that only authorized users can access and operate the system (¶[0031])
Claim 3, 11, 18 are rejected under 35 U.S.C. 103 as being unpatentable over Acacio Pub. No. US 8881139 B1 (hereafter Acacio) in view of Pandurangarao et al. Pub. No. US 12192273 B1 (hereafter Pandurangarao) as applied to claims 1, 4-6, 8-10, 12-13, 15-17, 19-20 above and in further view Hu et al., "A Benchmark of Transparent Data Encryption for Migration of Web Applications in the Cloud”, IEEE, 2009 (hereafter Hu).
With regard to claim 3, 11, and 18 Acacio and Pandurangarao teaches the system and method of claim 1, Acacio and Pandurangarao do not specifically teach wherein the emulator is further configured to implement an encryption protocol.However, in analogous art, Hu teaches wherein the emulator is further configured to implement an encryption protocol. (Middleware encryption approach offers clear separation between application logics and data encryption as well as transparent encryption like storage and whole database encryption do. Encryption and decryption of data columns are taken over by software in the data persistence interfaces such as JPA and Java Hibernate. An additional advantage of middleware layer encryption is independent from vender specific databases and transparent to both applications and DBMS. This makes applications scalable, adaptable, and migration-friendly in the cloud computing environment where application instances and data may roam among various providers. Section 3 ¶4).It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to combine the system and methods of Acacio and Pandurangarao with the teachings of HU, allowing Acacio and Pandurangarao to implement an emulator (middleware) to migrate an application between platforms and the rest of Hu implementing middleware layer encryption making applications migration-friendly in cloud computing environments. A person having ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, to provide fine-grained, vender-independent, runtime-safe, and transparent data protection; which provides scalability and migrateability for data hosting in the cloud. (Section 5)
Claims 7 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Acacio Pub. No. US 8881139 B1 (hereafter Acacio) in view of Pandurangarao et al. Pub. No. US 12192273 B1 (hereafter Pandurangarao) as applied to claims 1, 4-6, 8-10, 12-13, 15-17, 19-20 above and in further view of Kim at al Pub. No. US2024/0305529 (hereafter Kim)
With regard to claims 7 and 14, Acacio and Pandurangarao teaches the system and method of claim 1, Acacio and Pandurangarao do not specifically teach automating the generation of an enterprise application.However, in analogous art, Kim teaches generating the enterprise application is automated based on providing at least one build parameter wherein the at least one build parameter is associated with the architecture of an enterprise application. (According to FIG. 7, a method for automating cloud building according to an example embodiment of the present disclosure may include receiving cloud configuration information (S710), determining an operation type based on the cloud configuration information (S720), extracting one or more processes mapped to an operation request from a plurality of processes included in a cloud building process (S730), generating a pipeline by combining the one or more extracted processes (S740), and executing the pipeline based on Cloud configuration information (S750) in at least [0090])It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to combine the system and methods of Acacio and Pandurangarao with the teachings of Kim, allowing Acacio and Pandurangarao to generate an enterprise application to migrate an application between platforms and the rest of Kim for automated cloud building. A person having ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, to improve the overall quality of operations by automating cloud building operations, may reduce lead time and save manpower and cost inputs, and may minimize a risk of operation correction or change [0008]).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Todd Jeffrey Johnson whose telephone number is (571)270-0929. The examiner can normally be reached M-F, 7:30am to 5pm ET. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Bradley Teets can be reached at (571) 272-3338. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/T.J.J./Examiner, Art Unit 2197
/BRADLEY A TEETS/Supervisory Patent Examiner, Art Unit 2197