DETAILED ACTION
This action is responsive to the application filed on July 02, 2024.
Claims 1-20 are pending and presented to examination.
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
Examiner Notes
Examiner cites particular columns, paragraphs, figures and line numbers in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner.
Drawings
The drawings filed on July 02, 2024 are acceptable for examination purposes.
Information Disclosure Statement
As required by M.P.E.P. 609, the applicant’s submission of the Information Disclosure Statement dated July 02, 2024 is acknowledged by the examiner and the cited references have been considered in the examination of the claims now pending.
Claim Interpretation — Contingent Limitations
Independent claims 1, 11, and 16 each recite a contingent limitation, namely in a case the first application is identified as the modernization candidate:, followed by the steps of identifying an appropriate cloud computing pattern, automatically creating a reference implementation, and creating a target modernization template. Each of these three operations is performed only upon the occurrence of the recited condition, i.e., only where the first application is tagged as the modernization candidate rather than as the re-platform candidate or the re-host candidate.
Regarding method claim 11 and its dependent claims 12–15, the broadest reasonable interpretation of a method claim containing a conditional step encompasses instances in which the condition precedent is not satisfied, and the conditional step therefore need not be performed. See Ex parte Schulhauser, Appeal 2013-007847 (PTAB Apr. 28, 2016) (precedential); MPEP 2111.04(II). Because the recited condition is not satisfied where the first application is tagged as the re-platform candidate or the re-host candidate, the steps of identifying an appropriate cloud computing pattern in a catalogue of cloud computing patterns for the first application, automatically creating, using the identified cloud computing pattern, a reference implementation of the first application in a cloud computing environment, and creating a target modernization template for refactoring the first application, the target modernization template including starter code and structure for the reference implementation are not given patentable weight in claims 11–15. The prior-art mappings for these limitations are nevertheless set forth below in the interest of compact prosecution and to address the claims should the contingency be removed by amendment.
Regarding system claim 1 and its dependent claims 2–10, and non-transitory computer-readable medium claim 16 and its dependent claims 17–20, the recited structure and stored instructions must be capable of performing each recited operation, including the operations recited within the contingent limitation, regardless of whether the condition precedent is satisfied. See Ex parte Schulhauser, supra; MPEP 2111.04(II). Accordingly, the contingent operations are given full patentable weight in claims 1–10 and 16–20, and each such limitation is fully addressed in the rejections set forth below.
Claim Objections
Claims 1-20 are objected to because of the following informalities:
Claims 1, 2, and 11 recite the hyphenated forms re-host and re-factoring, whereas claims 5–7, 14, and 15 recite rehost and refactoring (unhyphenated), and claims 16 and 17 recite rehost (unhyphenated). Consistent spelling of these terms throughout the claims is required for clarity. Appropriate correction is required.
Claim 16 is objected to because of the recitation storing instructions, that, when executed by a processor; the comma immediately following “instructions” is grammatically superfluous. It is suggested that the phrase be amended to read “storing instructions that, when executed by a processor, cause the processor to…,” matching the parallel language of the method claims. Appropriate correction is required.
Dependent claims 3-4, 8-10, 12-13 and 18-20 do not overcome the deficiency of the base claim and, therefore, are objected for the same reasons as the base claim.
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 1-20 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim 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.
Claims 1, 11, and 16 recite based on enterprise application parameters. There is insufficient antecedent basis for this limitation in the claims. In claim 1, limitation (a) previously recites only at least one enterprise application parameter (singular); the subsequent plural recitation enterprise application parameters, lacking the definite article “the,” renders it unclear whether the previously recited parameter or one or more additional parameters is intended. In claims 11 and 16, no “enterprise application parameter” is recited prior to enterprise application parameters, such that the limitation lacks antecedent basis entirely. It is suggested that claim 1 be amended to recite “based on the at least one enterprise application parameter” and that claims 11 and 16 be amended to introduce the parameter(s) before their use.
Claims 4 and 13 recite wherein patterns are associated with at least one of a Single Page Application, a Multi-Page Application, an Event Driven Architecture, and microservices. There is insufficient antecedent basis for patterns in the claims. The base claims recite “a catalogue of cloud computing patterns” and “an appropriate cloud computing pattern,” and it is therefore unclear whether the recited “patterns” refers to the cloud computing patterns of the catalogue or to some other patterns. It is suggested that the limitation be amended to recite “wherein the cloud computing patterns are associated with….”
Claim 9 recites a Continuous Integration/Continuous Deployment (CI/CD) pipelines. The singular article “a” is inconsistent in number with the plural noun “pipelines,” rendering it unclear whether the claim requires a single pipeline or a plurality of pipelines. In addition, the target modernization template structure lacks clear antecedent basis, as claim 1 recites “the target modernization template including starter code and structure” rather than “a target modernization template structure.” Appropriate correction and clarification are required.
Claims 8-9 and 18-19 recite the target modernization template (and, in claim 9, the target modernization template structure). There is insufficient antecedent basis for these limitations in the claims. In each of base claims 1 and 16, a target modernization template is created only within the contingent limitation in a case the first application is identified as the modernization candidate:, and is therefore introduced only in the event the recited condition precedent is satisfied. Where the first application is instead tagged as the re-platform candidate or the re-host candidate, no target modernization template is created, and the subsequent references in claims 8, 9, 18, and 19 to the target modernization template lack any antecedent, rendering the metes and bounds of these claims unclear. It is suggested that the claims be amended to positively recite the creation of the target modernization template independent of the contingency, or otherwise to establish proper antecedent basis. Appropriate correction is required.
Claim 16 recites in the preamble instructions, that, when executed by a processor, cause the processor to perform a cloud modernization method, and subsequently recites in the body retrieving, by a computer processor of the back-end application computer server. It is unclear whether “a computer processor of the back-end application computer server” is the same as, or distinct from, “a processor” recited in the preamble, rendering the metes and bounds of the claim unclear. Clarification is required.
Claims 2–3, 5-7, 10, 12, 14–15, 17 and 20 are further rejected under 35 U.S.C. 112(b) as depending from a claim rejected under 35 U.S.C. 112(b) and failing to cure the deficiency.
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.
Claims 1–20 are rejected under 35 U.S.C. § 101 because the claimed invention is directed to a judicial exception (an abstract idea) without significantly more. The analysis follows the two-step Alice/Mayo framework as set forth in the 2019 Revised Patent Subject Matter Eligibility Guidance (2019 PEG), 84 Fed. Reg. 50 (Jan. 7, 2019), and MPEP § 2106.
Step 1
Claims 1-10 are directed to a system (machine); claims 11-15 are directed to a method (process); and claims 16-20 is directed to a non-transitory, computer-readable medium (manufacture). Therefore, “Are the claims to a process, machine, manufacture or composition of matter?” Yes, the claims are directed to a statutory category, and the analysis proceeds to Step 2A.
Step 2A Prong 1
Independent claims 1, 11, and 16 recite an abstract idea. Specifically, the claims recite the following limitations:
a) automatically generat[e/ing] a modernization effort score representing a complexity of modernizing the first application;
b) tag[ging] the first application as one of: a modernization candidate, a re-platform candidate, and a re-host candidate, the tagging based on the modernization effort score (and, in claims 11 and 2/17, based on a comparison of the modernization effort score to a plurality of thresholds); and
c) identify[ing] an appropriate cloud computing pattern in the catalogue of cloud computing patterns for the first application.
These limitations, under their broadest reasonable interpretation, recite a mental process — that is, concepts that can be performed in the human mind, or by a human using pen and paper, including the observation, evaluation, judgment, and opinion of a person. For example, a person (e.g., a cloud architect), with nothing more than the aid of pen and paper, could review an application’s parameters, evaluate how complex the application would be to modernize (i.e., a modernization effort score), judge and classify the application as a candidate for modernization, re-platforming, or re-hosting based on that evaluation, and select an appropriate pattern for the application. Such acts of evaluation, comparison, judgment, and selection fall within the “Mental Processes” grouping of abstract ideas. See MPEP 2106.04(a)(2), III.
Therefore, Yes, claims 1, 11, and 16 recite judicial exceptions.
Step 2A Prong 2
The claims recite the following additional elements:
Additional element 1 – a back-end application computer server, an enterprise application data store, a data repository, a computer processor, a computer memory, and (claim 16) a non-transitory, computer-readable medium storing instructions – these are generic computer components recited at a high level of generality and used merely as tools to apply the abstract idea. See MPEP 2106.05(f).
Additional element 2 – retrieve[/retrieving] information from the enterprise application data store for a selected first electronic record for a first application – mere data gathering, which is insignificant extra-solution activity. See MPEP 2106.05(g).
Additional element 3 – a communication port coupled to the back-end application computer server to facilitate a transmission of data with a remote administrator device to support an interactive graphical interface display via a distributed communication network – generic computer and network components that merely link the abstract idea to a particular technological environment and add insignificant extra-solution activity (transmitting and displaying data). See MPEP 2106.05(f) and (h).
Additional element 4 – automatically creat[e/ing], using the identified cloud computing pattern, a reference implementation of the first application in a cloud computing environment and creat[e/ing] a target modernization template … including starter code and structure for the reference implementation – recited at a high level of generality as a result to be achieved (mere automation of the abstract idea by generic computing components), without any particular technical implementation or improvement. See MPEP 2106.05(f).
Accordingly, the additional elements recited in the claims do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea, thus failing to integrate the abstract idea into a practical application.
Therefore, “Do the claims recite additional elements that integrate the judicial exception into a practical application?” No, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea.
After having evaluated the inquiries set forth in Steps 2A Prong 1 and 2, it has been concluded that claims 1, 11, and 16 not only recite a judicial exception but that the claims are directed to the judicial exception, as the judicial exception has not been integrated into a practical application.
Step 2B
As discussed above with respect to integration of the abstract idea into a practical application, the additional elements a back-end application computer server, an enterprise application data store, a data repository, a computer processor, a computer memory, and a non-transitory, computer-readable medium storing instructions are generic computer components used as tools to perform the abstract idea. The additional elements of retrieving information from the data store and transmitting data to a remote device for display constitute mere data gathering and data transmission, which the courts have recognized as well-understood, routine, and conventional activity when claimed in a merely generic manner, e.g., receiving or transmitting data over a network (see MPEP 2106.05(d)(II)). The recitations of automatically creating a reference implementation and creating a target modernization template amount to no more than applying the abstract idea using generic computer components.
Accordingly, the additional elements recited in the claims cannot provide an inventive concept. In addition, after further evaluation the claim as a whole doesn’t improve any function of a computer or any other technology or technical field. Thus, the claims are not patent eligible.
Therefore, “Do the claims recite additional elements that amount to significantly more than the judicial exception?” No, these additional elements, alone or in combination, do not amount to significantly more than the judicial exception.
Having concluded analysis within the provided framework, claims 1, 11, and 16 do not recite patent eligible subject matter under 35 U.S.C. § 101.
Dependent Claims
Claim 2 (and similar for claim 17) adds the limitation that the first application is tagged based on a comparison of the modernization effort score to a plurality of thresholds. This further describes the abstract mental evaluation (comparing a value to thresholds) and does not recite any additional element that integrates the abstract idea into a practical application or amounts to significantly more.
Claim 3 (and similar for claim 12) adds the limitation that the modernization effort score is an average of a plurality of modernization effort scores calculated for a respective plurality of criteria. This recites a mathematical concept and mental calculation (averaging) and does not integrate the abstract idea into a practical application or amount to significantly more. See MPEP 2106.04(a)(2), I and III.
Claim 4 (and similar for claim 13) adds the limitation that patterns are associated with at least one of a SPA, MPA, EDA, and microservices. This merely narrows the field of use and the type of data operated upon and does not integrate the abstract idea or amount to significantly more. See MPEP 2106.05(h).
Claim 5 (and similar for claim 14) adds the limitation of execut[e/ing] a rehost versus refactoring analysis. This recites a further mental evaluation and comparison and does not integrate the abstract idea or amount to significantly more.
Claim 6 (and similar for claim 15) adds the limitation that the rehost versus refactoring analysis is based on a flag indicator. This further describes the abstract evaluation and does not integrate the abstract idea or amount to significantly more.
Claim 7 adds the limitation that the rehost versus refactoring analysis includes calculation of a component value for each component type of the first application. This recites a mathematical concept and mental calculation and does not integrate the abstract idea or amount to significantly more. See MPEP 2106.04(a)(2), I.
Claim 8 (and similar for claim 18) adds the limitation of generat[e/ing] a modernization maturity score representing a stage of modernization of the target modernization template. This recites a further mental evaluation and scoring and does not integrate the abstract idea or amount to significantly more.
Claim 9 (and similar for claim 19) adds the limitation that the target modernization template structure includes an Infrastructure as Code (IaC) and a Continuous Integration/Continuous Deployment (CI/CD) pipeline. These are generic computing and deployment components recited at a high level of generality and do not integrate the abstract idea or amount to significantly more. See MPEP 2106.05(f).
Claim 10 (and similar for claim 20) adds the limitation of initiat[e/ing] migration of the first application. This is recited at a high level of generality as insignificant post-solution activity and does not integrate the abstract idea or amount to significantly more. See MPEP 2106.05(g).
Therefore, Claims 1–20 do not recite patent eligible subject matter under 35 U.S.C. § 101.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1-5, 9-14, 16-17 and 19-20 are rejected under 35 U.S.C. 103 as being unpatentable over Sharma et al. (US Pub. No. 2022/0086241, hereinafter Sharma) in view of Velammal et al. (US Pub. No. 2023/0188613, hereinafter Velammal2) in view of Delaney et al. (US Pub. No. 2018/0039487, hereinafter Delaney) and further in view of Velammal et al. (US Pub. No. 2022/0164207, hereinafter Velammal).
With respect to claim 1, Sharma teaches a cloud modernization system implemented via a back-end application computer server, comprising: (Sharma, Abstract; [0025]–[0027]). Sharma is directed to a cloud migration platform that discovers assets (e.g., computing assets, computer-implemented assets) of an enterprise, assesses the assets, provides one or more proposed cloud-based solutions based on the assessment, and provides a migration plan (Sharma, [0021]); the platform is host[ed] on a server system 108 [that] includes at least one server and at least one data store (Sharma, [0028]), i.e., a back-end application computer server. (a) an enterprise application data store that contains electronic records associated with a plurality of enterprise applications, each electronic record including an electronic record identifier and at least one enterprise application parameter (Sharma, [0059], [0061]–[0063]). Sharma’s discovery module stores, for each application, a record of application data; specifically Sharma discloses that Example application volumetrics include, without limitation, application identifiers (IDs), application name, application description, application status, application business and technical owner, packaged or custom, version and vendor name, virtualized or physical, architecture type, programming language, and additional attributes (Sharma, [0059]). The application identifier (“application identifiers (IDs)”) reads on the recited electronic record identifier, and each remaining attribute (e.g., architecture type, programming language) reads on the recited at least one enterprise application parameter. Sharma stores this per-application data as records that can be downloaded in a file format (e.g., .csv, .xls) and that are fed into the other engines to perform the assessment (Sharma, [0062]). (c) the back-end application computer server, coupled to the enterprise application data store and the data repository, including: a computer processor, and a computer memory, coupled to the computer processor, storing instructions that, when executed by the computer processor, cause the back-end application computer server to: (Sharma, [0028], [0090]). Sharma’s server system 108 includes at least one server and at least one data store (Sharma, [0028]) and the described functionality is realized as one or more computer program products (i.e., one or more modules of computer program instructions) encoded on a computer readable medium for execution by, or to control the operation of, data processing apparatus (Sharma, [0090]). (i) retrieve information from the enterprise application data store for a selected first electronic record for a first application (Sharma, [0063], [0065]). Sharma discloses that discovery data provided from the discovery module 204 can be provided to each of the CEA module 206, the CSAS module 208, and the CMP module 210[;] … each of the modules transmits a request to the discovery module 204 to request at least a portion of the discovery data (Sharma, [0063]), and that the assessment sub-module provides assessment of applications executed across the enterprise network and determining a target disposition and architecture for each (Sharma, [0065]). Retrieving the stored discovery record for an application to assess it reads on the recited retrieval of a selected first electronic record for a first application. (d) a communication port coupled to the back-end application computer server to facilitate a transmission of data with a remote administrator device to support an interactive graphical interface display via a distributed communication network (Sharma, [0027], [0030]). Sharma discloses that the client device 102 can communicate with the server system 108 over the network 106, where the network can include a large computer network, such as a local area network (LAN), a wide area network (WAN), the Internet (Sharma, [0027]), and that the cloud migration platform provides output to the user 112 through the computing device 102 (e.g., displaying one or more user interfaces (UIs) on the computing device 102) (Sharma, [0030]). The client/administrator device communicating with the server over the network, and receiving UI output, reads on the recited communication port, remote administrator device, interactive graphical interface display, and distributed communication network.
Sharma is silent to disclose automatically generating a modernization effort score representing a complexity of modernizing the first application, and tagging the first application as one of a modernization candidate, a re-platform candidate, and a re-host candidate based on that score; however, in an analogous art (cloud application migration/modernization assessment), Velammal2 teaches these limitations.
(ii) based on enterprise application parameters, automatically generate a modernization effort score representing a complexity of modernizing the first application (Velammal2, [0037], [0042]). Velammal2 evaluates, from the application source code and platform data, a set of migration parameters and computes a score: the data analysis unit 122 is configured to evaluate a migration complexity score associated with the application M based on at least one of: the evaluated anti-patterns and the cloud impediments; and the migration complexity score is a parameter representative of the complexity associated in migrating the application M from source cloud platform 104 to the target cloud platform 106, wherein a cumulative weightage score of the computed complexity weightage of each of the evaluated anti-patterns is determined, where the cumulative weightage score is representative of migration complexity score (Velammal2, [0042]). The migration complexity score, computed from application parameters and representative of the complexity of migrating (modernizing) the application, reads on the recited modernization effort score representing a complexity of modernizing.
(iii) tag the first application as one of: a modernization candidate, a re-platform candidate, and a re-host candidate, the tagging based on the modernization effort score (Velammal2, [0041], [0043]). Velammal2 categorizes the application by complexity: the evaluated anti-patterns are categorized into a plurality of categories based on the complexity of the identified one or more anti-pattern expressions … the plurality of categories include rehost, replatform, refactor and rebuild, where the category rehost comprises anti-patterns having least complexity in migration, the category replatform comprises anti-patterns having medium complexity in migration, [and] the category refactor comprises anti-patterns having high complexity in migration (Velammal2, [0041]). Velammal2 further ties the categorization to the computed score: a value of each of the parameters including the tech-stack suitability score and the migration complexity score within a preset threshold, and the anti-patterns in one or more predefined categories, rehost, refactor and replatform is indicative that the application M may be considered ready for migration (Velammal2, [0043]). Under the broadest reasonable interpretation, and consistent with Applicant’s specification ([0028]–[0030]) equating a “modernization candidate” with a refactoring candidate, Velammal2’s refactor category reads on “modernization candidate,” its replatform category reads on “re-platform candidate,” and its rehost category reads on “re-host candidate,” the categorization being based on the migration complexity score.
It would have been obvious to one of ordinary skill in the art at the time the invention was made before the effective filing date of the claimed invention to modify the cloud migration platform of Sharma to automatically generate a migration complexity score representing the complexity of modernizing an application and to tag/categorize the application into a rehost, replatform, or refactor (modernization) candidate based on that score, as taught by Velammal2, in order to automatically and objectively determine the appropriate migration strategy for each application and thereby reduce the manual, time-consuming, and error-prone effort of migration-strategy selection (Velammal2, [0004]–[0005]).
The combination of Sharma in view of Velammal2 is silent to disclose the recited catalogue of cloud computing patterns, identifying an appropriate cloud computing pattern therein, and automatically creating a reference implementation using the identified pattern; however, in an analogous art (pattern-based application transformation and migration to the cloud), Delaney teaches these limitations.
(b) a data repository storing a catalogue of cloud computing patterns (Delaney, [0032], [0044]). Delaney discloses an automated capability to match the discovered application landscapes and affinities to a catalog of industry-wide standard patterns, wherein the patterns are provided by multiple cloud providers and support multiple deployment types (private cloud, public cloud, hybrid cloud) (Delaney, [0032]), and the patterns are stored in a pattern catalog against which discovery results are mapped (Delaney, [0044]). The industry-standard cloud patterns stored in the pattern catalog read on the recited catalogue of cloud computing patterns.
identify an appropriate cloud computing pattern in the catalogue of cloud computing patterns for the first application (Delaney, [0044]–[0046]). Delaney discloses that the process maps the selected set of discovery results against industry standard target patterns included in pattern catalog 460, and [i]f the selected set of discovery results maps to an available target pattern in the pattern catalog, then … the process selects the matched target pattern(s) for provisioning (Delaney, [0044]–[0045]). Selecting the matching target pattern from the catalog for the application reads on identifying an appropriate cloud computing pattern in the catalogue for the first application.
automatically create, using the identified cloud computing pattern, a reference implementation of the first application in a cloud computing environment (Delaney, [0031], [0040]). Delaney discloses that the system will integrate source application logic with the mapped industry standard patterns to create target applications; provision the target applications onto target environments (Delaney, [0031]), and specifically that Pattern orchestration engine 480 integrates target patterns 465 with source application logic 400 … to create target application service 340 … [and] then provisions target application service 340 to target environments 350 (Delaney, [0040]). The target application service created from the identified pattern and provisioned to the target (cloud) environment reads on automatically creating, using the identified pattern, a reference implementation of the application in a cloud computing environment.
It would have been obvious to one of ordinary skill in the art at the time the invention was made before the effective filing date of the claimed invention to further modify the combination of Sharma and Velammal2 to store a catalogue of cloud computing patterns, identify an appropriate pattern therefrom for an application identified for modernization, and create a reference implementation from the identified pattern, as taught by Delaney, in order to standardize and automate the production of a cloud implementation and thereby reduce the IT man-hours and system downtime otherwise required to migrate the application (Delaney, [0030]).
The combination of Sharma in view of Velammal2 and Delaney is silent to disclose creating a target modernization template including starter code and structure for the reference implementation; however, in an analogous art (application transformation to cloud), Velammal teaches this limitation.
create a target modernization template for re-factoring the first application, the target modernization template including starter code and structure for the reference implementation (Velammal, [0044], [0064], [0117]). Velammal discloses that pre-defined transformation process flows serve as starting points for cloud migration (Velammal, [0044]); that [t]he settings management unit 218 also enables the user to define CI/CD templates and reusable service templates (Velammal, [0064]); and that a pipeline is created wherein a deployment descriptor file Jenkins template creates a job to create the CI/CD pipeline such that the application source code is deployed onto the cloud platform … the service templates are used [to] create the CI/CD pipeline[;] … support for cloud deployment is added for container and Orchestration platforms such as Docker and Kubernetes (Velammal, [0117]). The reusable service templates, starter transformation flows, and generated deployment/CI-CD artifacts provide the recited starter code and structure of a target modernization template for re-factoring the application.
It would have been obvious to one of ordinary skill in the art at the time the invention was made before the effective filing date of the claimed invention to further modify the combination of Sharma, Velammal2, and Delaney to package the reference implementation as a target modernization template including reusable service templates, starter code, and CI/CD structure, as taught by Velammal, in order to reduce manual effort and accelerate deployment cycles in the developer’s modernization and migration of the application (Velammal, [0044], [0118]).
With respect to claim 2, Sharma in view of Delaney and Velammal is silent to disclose; however, in an analogous art, Velammal2 teaches wherein the first application is tagged as one of the modernization candidate, the re-platform candidate and the re-host candidate based on a comparison of the modernization effort score to a plurality of thresholds (Velammal2, [0043], [0047]): a value of each of the parameters including the tech-stack suitability score and the migration complexity score within a preset threshold, and the anti-patterns in one or more predefined categories, rehost, refactor and replatform is indicative that the application M may be considered ready for migration (Velammal2, [0043]). Comparing each of a plurality of parameter scores to a respective preset threshold to determine the rehost/replatform/refactor category reads on the recited comparison of the modernization effort score to a plurality of thresholds.
It would have been obvious to one of ordinary skill in the art at the time the invention was made before the effective filing date of the claimed invention to modify the combination of Sharma, Delaney, and Velammal to tag the first application by comparing each of a plurality of parameter scores, including the migration complexity score, to a respective preset threshold, as taught by Velammal2, in order to automatically and objectively determine each application’s migration readiness and appropriate disposition and thereby reduce the manual, time-consuming, and error-prone effort of migration-strategy determination (Velammal2, [0004]–[0005], [0043]).
With respect to claim 3, Sharma in view of Delaney and Velammal is silent to disclose; however, in an analogous art, Velammal2 teaches wherein the modernization effort score is an average of a plurality of modernization effort scores calculated for a respective plurality of criteria (Velammal2, [0040], [0042]). Velammal2 discloses that a cumulative score of weightage of each of the evaluated tech-stacks is computed, where the cumulative score is representative of the tech-stack suitability score (Velammal2, [0040]), and that a cumulative weightage score of the computed complexity weightage of each of the evaluated anti-patterns is determined, where the cumulative weightage score is representative of migration complexity score (Velammal2, [0042]). Velammal2 thus computes the score as a cumulative aggregate of a plurality of weighted criterion scores; computing that aggregate as an average is a routine and mathematically equivalent manner of combining a plurality of criterion sub-scores into a single comparable score.
It would have been obvious to one of ordinary skill in the art at the time the invention was made before the effective filing date of the claimed invention to modify the combination of Sharma, Delaney, and Velammal to compute the modernization effort score as an average of a plurality of scores calculated for a respective plurality of criteria, as taught by and rendered obvious over Velammal2, because averaging is a well-known and predictable manner of aggregating a plurality of weighted criterion scores into a single normalized and comparable score, and the selection of an average over another aggregation of the same criterion scores (e.g., a cumulative sum) is a mere design choice yielding a predictable result (Velammal2, [0040], [0042]). With respect to claim 4, Sharma in view of Velammal2 and Delaney is silent to disclose; however, in an analogous art (application transformation to cloud), Velammal teaches wherein patterns are associated with at least one of: (i) a Single Page Application (“SPA”), (ii) a Multi-Page Application (“MPA”), (iii) an Event Driven Architecture (“EDA”), and (iv) microservices (Because the limitation requires only “at least one of” the enumerated architectures, teaching any one satisfies the limitation. Velammal teaches patterns … associated with … microservices (Velammal, [0108]). Velammal discloses a semi-automated transformation workflow that includes, as a pattern, Accelerate Microservices Development (Velammal, [0108]), i.e., a cloud computing pattern associated with microservices.
It would have been obvious to one of ordinary skill in the art at the time the invention was made before the effective filing date of the claimed invention to modify the combination of Sharma, Velammal2, and Delaney such that the cloud computing patterns are associated with microservices, as taught by Velammal, in order to provide a reusable, cloud-native decomposition of the application that improves the scalability, deployability, and maintainability of the modernized application (Velammal, [0044], [0108]). With respect to claim 5, Sharma teaches further comprising instructions that, when executed by the computer processor, cause the back-end application computer server to: execute a rehost versus refactoring analysis (Sharma teaches executing an analysis that compares rehosting against refactoring/modernization in cost terms (Sharma, [0044], [0065]). Sharma discloses that the cost of migration is calculated in terms of on-premise TCO, cloud TCO, and migration cost (Sharma, [0044]), and that the assessment provides application dispositions, target state design, application remediation and efforts, and migration and modernization estimates/plans for each application, the dispositions including rehost, re-platform, retire, re-purchase, re-factor, retain (Sharma, [0065]). Determining and comparing the disposition/effort of rehosting versus refactoring for the application reads on executing a rehost versus refactoring analysis. With respect to claim 9, Sharma in view of Velammal2 and Delaney is silent to disclose; however, in an analogous art (application transformation to cloud), Velammal teaches wherein the target modernization template structure includes an Infrastructure as Code (IaC), and a Continuous Integration/Continuous Deployment (CI/CD) pipelines (Velammal, [0065], [0117]). Velammal discloses that the cloud configuration unit 220 creates a manifest.yaml file which is used to deploy source code applications to a pivotal cloud foundry cloud platform 230 (Velammal, [0065]) — an infrastructure-as-code deployment descriptor — and that a pipeline is created for continuous integration and deployment of the cloud native source code on a cloud platform (Velammal, [0117]). The manifest.yaml deployment descriptor reads on the recited Infrastructure as Code, and the created continuous integration and deployment pipeline reads on the recited CI/CD pipelines of the target modernization template structure.
It would have been obvious to one of ordinary skill in the art at the time the invention was made before the effective filing date of the claimed invention to modify the combination of Sharma, Velammal2, and Delaney such that the target modernization template structure includes Infrastructure as Code and a CI/CD pipeline, as taught by Velammal, in order to automate the provisioning and deployment of the modernized application and thereby reduce manual effort and accelerate deployment cycles (Velammal, [0117], [0118]). With respect to claim 10, Sharma teaches further comprising instructions that, when executed by the computer processor, cause the back-end application computer server to initiate migration of the first application (Sharma, [0089]): at least a portion of the application sequence plan of the cloud migration plan is executed to migrate from the existing infrastructure to the cloud platform … executing at least a portion of the application sequence plan includes instantiating an instance of a cloud-based application corresponding to an application executed within an enterprise network (Sharma, [0089]). Executing the migration plan and instantiating the cloud-based application instance reads on initiating migration of the first application. With respect to claim 11, claim 11 recites a computerized cloud modernization method implemented via a back-end application computer server reciting limitations substantially similar to those of claim 1 (retrieving a first electronic record; automatically generating a modernization effort score; tagging the application; identifying a cloud computing pattern in a catalogue; automatically creating a reference implementation; and creating a target modernization template including starter code and structure), and is rejected for the same reasons set forth for claim 1 above under Sharma in view of Velammal2, Delaney, and Velammal. Claim 11 differs from claim 1 only in that the tagging is recited as being based on a comparison of the modernization effort score to a plurality of thresholds.
With respect to the differing limitation, Sharma in view of Delaney and Velammal is silent to disclose tagging the application based on a comparison of the modernization effort score to a plurality of thresholds; however, in an analogous art, Velammal2 teaches based on a comparison of the modernization effort score to a plurality of thresholds (Velammal2, [0043], [0047]). Velammal2 discloses that a value of each of the parameters including the tech-stack suitability score and the migration complexity score within a preset threshold, and the anti-patterns in one or more predefined categories, rehost, refactor and replatform is indicative that the application M may be considered ready for migration (Velammal2, [0043]), and that the system will generate deployment configurations for the application M as per the target cloud platform if respective values of the tech-stack suitability score and the migration complexity score are within a preset threshold, and the anti-patterns are in one or more categories refactor and replatform (Velammal2, [0047]). Comparing each of a plurality of parameter scores, including the migration complexity score, to a respective preset threshold to determine the application’s migration category reads on tagging based on a comparison of the modernization effort score to a plurality of thresholds.
It would have been obvious to one of ordinary skill in the art at the time the invention was made before the effective filing date of the claimed invention to modify the combination of Sharma, Delaney, and Velammal to tag the application based on a comparison of the modernization effort score to a plurality of thresholds, as taught by Velammal2, in order to automatically and objectively determine each application’s migration readiness and appropriate disposition and thereby reduce the manual, time-consuming, and error-prone effort of migration-strategy determination (Velammal2, [0004]–[0005], [0043]).
With respect to claim 12, claim 12 depends from claim 11 and recites the limitation of claim 3 (score as an average of a plurality of modernization effort scores calculated for a respective plurality of criteria). Claim 12 is rejected for the same reasons set forth for claim 3 above (Velammal2, [0040], [0042]).
With respect to claim 13, claim 13 depends from claim 11 and recites the limitation of claim 4 (patterns are associated with at least one of … microservices). Claim 13 is rejected for the same reasons set forth for claim 4 above (Velammal, [0108]).
With respect to claim 14, Sharma teaches executing a rehost versus refactoring analysis including calculation of a component value for each component type of the first application. Sharma teaches the rehost versus refactoring analysis as set forth for claim 5 above (Sharma, [0044], [0065]), and further teaches calculation of a component value for each component type via its bill of materials (BOM), disclosing that the BOM can identify a component (e.g., a machine), software executing on the component (e.g., OS), a version of the software (e.g., OS version) (Sharma, [0058]) and that the platform computes cost information in terms of on-premise TCO, cloud TCO, and migration cost (Sharma, [0044]). Computing a per-component value within the cost/effort comparison reads on calculation of a component value for each component type. With respect to claim 16, claim 16 recites a non-transitory, computer-readable medium storing instructions, that, when executed by a processor, cause the processor to perform a cloud modernization method reciting limitations substantially similar to those of claim 1 (retrieving; generating a modernization effort score; tagging based on the modernization effort score; identifying a cloud computing pattern in a catalogue; creating a reference implementation; and creating a target modernization template including starter code and structure). Sharma teaches the recited non-transitory computer-readable medium storing instructions executed by a processor (Sharma, [0090]: one or more computer program products (i.e., one or more modules of computer program instructions) encoded on a computer readable medium). Claim 16 is therefore rejected for the same reasons set forth for claim 1 above under Sharma in view of Velammal2, Delaney, and Velammal. With respect to claim 17, claim 17 depends from claim 16 and recites the limitation of claim 2 (tagging based on a comparison of the modernization effort score to a plurality of thresholds). Claim 17 is rejected for the same reasons set forth for claim 2 above (Velammal2, [0043], [0047]). With respect to claim 19, claim 19 depends from claim 16 and further recites wherein the target modernization template includes an Infrastructure as Code (IaC), a Continuous Integration/Continuous Deployment (CI/CD) workflow and a starter code. Velammal teaches these elements as set forth for claims 1 and 9 above (Velammal, [0044], [0065], [0117]): the manifest.yaml file (IaC) (Velammal, [0065]); the pipeline … for continuous integration and deployment (CI/CD workflow) (Velammal, [0117]); and the pre-defined transformation process flows [that] serve as starting points (starter code) (Velammal, [0044]). Claim 19 is therefore rejected for the same reasons. With respect to claim 20, claim 20 depends from claim 16 and recites the limitation of claim 10 (initiating migration of the first application). Claim 20 is rejected for the same reasons set forth for claim 10 above (Sharma, [0089]).
Claims 6-7 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Sharma et al. (US Pub. No. 2022/0086241, hereinafter Sharma) in view of Velammal et al. (US Pub. No. 2023/0188613, hereinafter Velammal2) in view of Delaney et al. (US Pub. No. 2018/0039487, hereinafter Delaney) in view of Velammal et al. (US Pub. No. 2022/0164207, hereinafter Velammal) and further in view of Velammal et al. (US Pub. No. 2021/0182703, hereinafter Velammal1). With respect to claim 6, Sharma, Velammal2, Delaney, and Velammal is silent to disclose that the rehost versus refactoring analysis is based on a flag indicator; however, in an analogous art (cloud-native anti-pattern detection for application migration), Velammal1 teaches wherein the rehost versus refactoring analysis is based on a flag indicator (Velammal1 discloses assigning a severity marking to detected anti-patterns — severity (low, medium or high) based on the impact of an anti-pattern on an application during cloud migration (e.g. an anti-pattern which leads to failure of migration of an application to cloud is marked with high severity) — and generating, based thereon, a migration action selecting between rehost, replatform, and refactor: the application report generation unit 116 is configured to generate a migration actionable event, provided in the third report, based on the detected anti-patterns for the application source code. The migration actionable event may include, but is not limited to, a first event, a second event, a third event and a fourth event. The first event includes rehosting … The second event includes replatform … Further, the third event includes refactor (Velammal1, [0029]). The severity marking/flag on the detected anti-patterns, upon which the rehost-versus-refactor (migration actionable event) determination is based, reads on the recited flag indicator upon which the rehost versus refactoring analysis is based.
It would have been obvious to one of ordinary skill in the art at the time the invention was made before the effective filing date of the claimed invention to base the rehost-versus-refactoring analysis of the combination on a severity flag indicator assigned to detected anti-patterns, as taught by Velammal1, in order to accurately and automatically determine the appropriate migration action for the application and thereby improve the effectiveness of the inference drawn from the migration assessment (Velammal1, Abstract; [0029]). With respect to claim 7, Sharma teaches wherein the rehost versus refactoring analysis includes calculation of a component value for each component type of the first application (Sharma teaches calculation of a component value for each component type as set forth for claim 14 above (Sharma, [0044], [0058]): the BOM can identify a component (e.g., a machine), software executing on the component (e.g., OS), a version of the software (e.g., OS version) (Sharma, [0058]), with cost computed in terms of on-premise TCO, cloud TCO, and migration cost (Sharma, [0044]). With respect to claim 15, claim 15 depends from claim 14 and further recites wherein the execution of the rehost versus refactoring analysis is based on a flag indicator, reciting the flag-indicator limitation addressed for claim 6 above, the severity flag/marking on the detected anti-patterns forming the basis of the rehost-versus-refactor (migration actionable event) determination. Claim 15 is therefore rejected for the same reasons, including the silent-to-disclose finding and the motivation to combine set forth for claim 6 above (Velammal1, [0029]).
Claims 8 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Sharma et al. (US Pub. No. 2022/0086241, hereinafter Sharma) in view of Velammal et al. (US Pub. No. 2023/0188613, hereinafter Velammal2) in view of Delaney et al. (US Pub. No. 2018/0039487, hereinafter Delaney) in view of Velammal et al. (US Pub. No. 2022/0164207, hereinafter Velammal) and further in view of Pyle (US Pub. No. 2025/0007794, hereinafter Pyle). With respect to claim 8, Sharma, Velammal2, Delaney, and Velammal is silent to disclose generating a maturity score representing a stage of modernization; however, in an analogous art (cloud computing maturity scoring), Pyle teaches further comprising instructions that, when executed by the computer processor, cause the back-end application computer server to: generate a modernization maturity score representing a stage of modernization of the target modernization template (Pyle, [0075], [0106]–[0107]). Pyle discloses that [t]he score generation module 138 may include computer-executable instructions for generating scores, including a cloud maturity score … Once the customer’s cloud computing instance(s) is scored individually using the plurality of rules, the score generation module may generate one or more maturity scores (Pyle, [0075]), and that the numerical cloud maturity score 410 and/or the categorical cloud maturity score 412 may include respective “crawl-walk-run” maturity stage indicators (Pyle, [0106]), whereby the system will rank the customer’s maturity level … they will receive a crawl maturity status. For 75% implemented, the customer will receive a walk status, and 90% completed would result in a run status (Pyle, [0107]). Pyle’s cloud maturity score, which represents a maturity stage (crawl/walk/run) of the cloud environment produced from the applied recommendations, reads on the recited modernization maturity score representing a stage of modernization when applied to the modernized target of the combination.
It would have been obvious to one of ordinary skill in the art at the time the invention was made before the effective filing date of the claimed invention to further modify the combination of Sharma, Velammal2, Delaney, and Velammal to generate a modernization maturity score representing a stage of modernization of the target modernization template, as taught by Pyle, in order to enable an administrator to objectively track the progress and maturity of the application’s modernization (Pyle, [0058]; [0106]–[0107]). With respect to claim 18, claim 18 depends from claim 16 and recites the limitation of claim 8 (generating a modernization maturity score representing a stage of modernization of the target modernization template). Claim 18 is therefore rejected for the same reasons, including the silent-to-disclose finding and the motivation to combine set forth for claim 8 above (Pyle, [0075], [0106]–[0107]).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Gunarathne et al. (US Pub. No. 2025/0259127) The invention relates to computer-implemented systems and methods for implementing an application modernization and migration tool. The invention provides: initiating a discovery of current system specifics, wherein the discovery comprises business analysis and technical analysis; based on the discovery, developing a modernization plan that prioritizes and optimizes application and system migration, wherein the modernization plan considers risk analysis and cost estimation; designing a pathway and an architecture for the modernization plan; executing the pathway and implementing the architecture to initiate a modernize and migrate process for a target system wherein the modernize and migrate process comprises one or more of: infrastructure build, data migration, rebuild, rehost, re-platform, refactor and integrations, testing and delivery; and making available operation of the modernized and migrated target system. (see abstract).
Bhattacharya et al. (US Pat. No. 11,989,549) Methods, computer program products, and/or systems are provided that perform the following operations: identifying an application marker for a source application; mapping the application marker to a set of micro-patterns provided in a micro-pattern repository, wherein a micro-pattern defines a set of actions to be performed to modernize a source application component for a target platform; generating a set of potential modernization pathways for the source application, wherein a potential modernization pathway is based, at least in part, on an aggregation of one or more micro-patterns included in the set of micro-patterns mapped to the application marker; determining a recommended modernization pathway from the set of potential modernization pathways based, at least in part, on micro-pattern optimization; and providing the recommended modernization pathway for source application modernization execution, wherein the source application modernization execution includes executing each micro-pattern included in the recommended modernization pathway. (see abstract).
Ekambaram et al. (US Pub. No. 2020/0074049) Systems and methods for preventing software application tampering are disclosed. 1. In embodiments, a computer-implemented method includes: identifying, by a computing device, an IP related software code segment of a software application; segregating, by the computing device, the IP related software code segment into one or more native code clusters and one or more non-native code clusters; refactoring, by the computing device, the one or more non-native code clusters into one or more stand-alone portable components (SPCs); determining, by the computing device, code migration scores for the one or more SPCs; and determining, by the computing device, select SPCs from the one or more SPCs to migrate to a remote security server based on the code migration scores. (see abstract).
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ANIBAL RIVERACRUZ whose telephone number is (571)270-1200. The examiner can normally be reached Monday-Friday 9:30 AM-6:00 PM.
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, Hyung S Sough can be reached at 5712726799. 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.
/ANIBAL RIVERACRUZ/Primary Examiner, Art Unit 2192