DETAILED ACTION
Claims 1-20 are pending. Claims 1-20 are rejected.
The instant application has PRO 63/599, 294 filed on 11/15/2023.
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 .
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 an abstract idea without significantly more.
Step 1 (All Claims)
According to the first part of the analysis, in the instant case, claims 1-10 are directed to a method, claims 11-15 are directed to a system that includes one or more processors and one or more memories, claims 16-20 are directed to one or more non-transitory computer-readable medium. Thus, each of the claims falls within one of the four statutory categories (i.e. process, machine, manufacture, or composition of matter).
Step 2A, Prong 1 (Claims 1, 11, and 16)
Regarding claim 1, the following limitations are abstract ideas:
analyzing a legacy database based at least in part on applying a large language model to the legacy database to extract one or more legacy database values and applying the large language model to legacy application code that interfaces with the legacy database to extract one or more legacy application values; is a step that can be practically performed in the human mind and is a mental process which encompasses observation, evaluation and/or judgement; merely stating that a large language model is applied is not significantly more than the abstract idea;
determining a plurality of destination database values corresponding to a destination database based at least in part on the one or more legacy database values and the one or more legacy application values, the plurality of destination database values comprising one or more destination domains, one or more destination schemas, and one or more data mappings between the legacy database and the destination database; is a step that can be practically performed in the human mind and is a mental process which encompasses observation, evaluation and/or judgement;
generating migration code for migrating the legacy database to the destination database based at least in part on one or more code generation templates, one or more user preferences, and one or more code generation procedures configured to create one or more files and one or more directories based at least in part on the one or more code generation templates; is a step that can be practically performed in the human mind and is a mental process which encompasses observation, evaluation and/or judgement;
validating the migration code based at least in part on generating mock data, and applying the migration code to the mock data to migrate the mock data to the destination database; is a step that can be practically performed in the human mind and is a mental process which encompasses observation, evaluation and/or judgement;
The above analysis applies to each independent claim as they contain similar limitations.
Step 2A, Prong 2 (Claims 1, 11, and 16)
Regarding claim 1, the following limitations are additional elements:
A method executed by one or more computing devices of a migration platform for legacy database migration with a large language model, the method comprising: is directed to the insignificant extra-solution activity of mere data gathering and/or selecting a particular data source or type of data to be manipulated as identified in MPEP 2106.05(g);
storing the mock data in the legacy database, is directed to the insignificant extra-solution activity of mere data gathering and/or selecting a particular data source or type of data to be manipulated as identified in MPEP 2106.05(g);
executing the validated migration code to perform a migration of the legacy database to the destination database. is directed to the insignificant extra-solution activity of mere data gathering and/or selecting a particular data source or type of data to be manipulated as identified in MPEP 2106.05(g);
Regarding claim 11, the following limitations are additional elements:
one or more processors; is a high-level recitation of a generic computer component and represents mere instructions to apply on a computer as in MPEP 2106.05(f), which does not provide integration into a practical application;
one or more memories operatively coupled to at least one of the one or more processors and having instructions stored thereon that, when executed by at least one of the one or more processors, cause at least one of the one or more processors to: is a high-level recitation of a generic computer component and represents mere instructions to apply on a computer as in MPEP 2106.05(f), which does not provide integration into a practical application;
Regarding claim 16, the following limitations are additional elements:
One or more non-transitory computer-readable medium storing computer-readable instructions for legacy database migration with a large language model that, when executed by one or more computing devices of an executor, cause at least one of the one or more computing devices to: is a high-level recitation of a generic computer component and represents mere instructions to apply on a computer as in MPEP 2106.05(f), which does not provide integration into a practical application;
The analysis for independent claim 1 applies to each independent claim as they contain similar limitations.
Step 2B (Claims 1, 11, and 16)
Regarding claim 1, the following limitations are additional elements:
A method executed by one or more computing devices of a migration platform for legacy database migration with a large language model, the method comprising: when re-evaluated under step 2B is further directed to the well-understood, routine, and conventional activity of receiving or transmitting data “i. Receiving or transmitting data over a network, e.g., using the Internet to gather data, Symantec, 838 F.3d at 1321, 120 USPQ2d at 1362 (utilizing an intermediary computer to forward information); TLI Communications LLC v. AV Auto. LLC, 823 F.3d 607, 610, 118 USPQ2d 1744, 1745 (Fed. Cir. 2016) (using a telephone for image transmission); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network); buySAFE, Inc. v. Google, Inc., 765 F.3d 1350, 1355, 112 USPQ2d 1093, 1096 (Fed. Cir. 2014) (computer receives and sends information over a network); but see DDR Holdings, LLC v. Hotels.com, L.P., 773 F.3d 1245, 1258, 113 USPQ2d 1097, 1106 (Fed. Cir. 2014) ("Unlike the claims in Ultramercial, the claims at issue here specify how interactions with the Internet are manipulated to yield a desired result‐‐a result that overrides the routine and conventional sequence of events ordinarily triggered by the click of a hyperlink." (emphasis added));”
storing the mock data in the legacy database, when re-evaluated under step 2B is further directed to the well-understood, routine, and conventional activity of storing and retrieving information in memory as identified in MPEP 2106.05(d)II “iv. Storing and retrieving information in memory, Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015); OIP Techs., 788 F.3d at 1363, 115 USPQ2d at 1092-93;”
executing the validated migration code to perform a migration of the legacy database to the destination database. when re-evaluated under step 2B is further directed to the well-understood, routine, and conventional activity of receiving or transmitting data “i. Receiving or transmitting data over a network, e.g., using the Internet to gather data, Symantec, 838 F.3d at 1321, 120 USPQ2d at 1362 (utilizing an intermediary computer to forward information); TLI Communications LLC v. AV Auto. LLC, 823 F.3d 607, 610, 118 USPQ2d 1744, 1745 (Fed. Cir. 2016) (using a telephone for image transmission); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network); buySAFE, Inc. v. Google, Inc., 765 F.3d 1350, 1355, 112 USPQ2d 1093, 1096 (Fed. Cir. 2014) (computer receives and sends information over a network); but see DDR Holdings, LLC v. Hotels.com, L.P., 773 F.3d 1245, 1258, 113 USPQ2d 1097, 1106 (Fed. Cir. 2014) ("Unlike the claims in Ultramercial, the claims at issue here specify how interactions with the Internet are manipulated to yield a desired result‐‐a result that overrides the routine and conventional sequence of events ordinarily triggered by the click of a hyperlink." (emphasis added));”
Regarding claim 11, the following limitations are additional elements:
one or more processors; ((i.e., generic computer components performing generic computer functions) such that they amount to no more than components comprising mere instructions to apply the exception. Accordingly, these additional elements do not integrate the abstract idea(s) into a practical application because they do not impose any meaningful limits on practicing the abstract idea(s))
one or more memories operatively coupled to at least one of the one or more processors and having instructions stored thereon that, when executed by at least one of the one or more processors, cause at least one of the one or more processors to: ((i.e., generic computer components performing generic computer functions) such that they amount to no more than components comprising mere instructions to apply the exception. Accordingly, these additional elements do not integrate the abstract idea(s) into a practical application because they do not impose any meaningful limits on practicing the abstract idea(s))
Regarding claim 16, the following limitations are additional elements:
One or more non-transitory computer-readable medium storing computer-readable instructions for legacy database migration with a large language model that, when executed by one or more computing devices of an executor, cause at least one of the one or more computing devices to: ((i.e., generic computer components performing generic computer functions) such that they amount to no more than components comprising mere instructions to apply the exception. Accordingly, these additional elements do not integrate the abstract idea(s) into a practical application because they do not impose any meaningful limits on practicing the abstract idea(s))
The analysis for independent claim 1 applies to each independent claim as they contain similar limitations.
The dependent claims are directed to the same abstract ideas as their parent claims. The dependent claims add further steps of determining, analyzing, vectorizing, storing, executing, mapping, generating, validating, and transmitting. The steps of determining, analyzing, vectoring, mapping, validating, and generating are generally similar to the above identified abstract ideas and are further mental processes. The other steps are further additional elements similar to the above identified additional elements. Therefore, the dependent claims are still rejected under 35 U.S.C. 101.
Claim Rejections - 35 USC § 103
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 (i.e., changing from AIA to pre-AIA ) 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.
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.
Claim(s) 1-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Tong et al., Patent Application Publication No. 2024/0419950 (hereinafter Tong) in view of Mudigonda et al., Patent Application Publication No. 2023/0074414 (hereinafter Mudigonda) and Tiwari et al., Patent Application Publication No. 2024/0319992 (hereinafter Tiwari).
Regarding claim 1, Tong teaches:
A method executed by one or more computing devices of a migration platform for legacy database migration with a large language model (Tong Paragraph [0006], LLMs may interface with legacy systems, including those that are not ESB compliant, thereby enhancing the scope of the integration process), the method comprising:
analyzing a legacy database based at least in part on applying a large language model to the legacy database to extract one or more legacy database values and applying the large language model to legacy application code that interfaces with the legacy database to extract one or more legacy application values (Tong Paragraph [0006], LLMs may interface with legacy systems, including those that are not ESB compliant, thereby enhancing the scope of the integration process, Paragraph [0109], a mapping table that extracts important values from the DSL from the extraneous syntax that the API call needs);
Tong does not expressly disclose:
determining a plurality of destination database values corresponding to a destination database based at least in part on the one or more legacy database values and the one or more legacy application values, the plurality of destination database values comprising one or more destination domains, one or more destination schemas, and one or more data mappings between the legacy database and the destination database;
However, Mudigonda teaches:
determining a plurality of destination database values corresponding to a destination database based at least in part on the one or more legacy database values and the one or more legacy application values (Mudigonda Paragraph [0059], After transforming such database columns, the transformed database columns are loaded into a destination, such as target database 104), the plurality of destination database values comprising one or more destination domains (Mudigonda Paragraph [0038], schema partitioner 202 uses a machine learning algorithm (e.g., supervised learning) to build a mathematical model based on sample data consisting of data transformations (e.g., cleansing, standardization, deduplication, sorting, filtering, aggregating, bucketing, normalizing, etc.) using scripting or domain-specific languages and the database columns that were transformed), one or more destination schemas (Mudigonda Paragraph [0038], schema partitioner 202 uses a machine learning algorithm (e.g., supervised learning) to build a mathematical model based on sample data consisting of data transformations (e.g., cleansing, standardization, deduplication, sorting, filtering, aggregating, bucketing, normalizing, etc.) using scripting or domain-specific languages and the database columns that were transformed), and one or more data mappings between the legacy database and the destination database (Mudigonda Paragraph [0065], schema partitioner 202 passes the identifier that identifies the large object data type (LOB) to schema collector 204 through memory mapping when the ETL data);
The claimed invention and Mudigonda are from the analogous art of database systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention having the teachings of Tong in view of Mudigonda to have combined Tong in view of Mudigonda. Mudigonda teaches improving the technology or technical field involving ETL data processing pipelines (Paragraph 119).
Tong in view of Mudigonda does not expressly disclose:
generating migration code for migrating the legacy database to the destination database based at least in part on one or more code generation templates, one or more user preferences, and one or more code generation procedures configured to create one or more files and one or more directories based at least in part on the one or more code generation templates;
validating the migration code based at least in part on generating mock data, storing the mock data in the legacy database, and applying the migration code to the mock data to migrate the mock data to the destination database; and
executing the validated migration code to perform a migration of the legacy database to the destination database.
However, Tiwari teaches:
generating migration code for migrating the legacy database to the destination database based at least in part on one or more code generation templates (Tiwari Paragraph [0004], generate a migration strategy for the refactored and rewritten code and the refactored and rewritten database based on the final report), one or more user preferences (Tiwari Paragraph [0031], The user may then manage (e.g., modify) the migration strategy based on the display), and one or more code generation procedures configured to create one or more files and one or more directories based at least in part on the one or more code generation templates (Tiwari Paragraph [0004], generate a migration strategy for the refactored and rewritten code and the refactored and rewritten database based on the final report);
validating the migration code based at least in part on generating mock data (Tiwari Paragraph [0002], The method may include causing a second stage analysis of the source code to be performed based on the first report (mock data) and to generate refactored and rewritten code), storing the mock data in the legacy database (Tiwari Paragraph [0072], process 500 may include generating a migration strategy for the compatible and validated source code and/or database based on the final compatibility report), and applying the migration code to the mock data to migrate the mock data to the destination database (Tiwari Paragraph [0002], Some implementations described herein relate to a method for generating a migration strategy for source code and a database to be migrated to a cloud computing environment); and
executing the validated migration code to perform a migration of the legacy database to the destination database (Tiwari Paragraph [0011], where stages 1 and 3 may be executed by the migration system in parallel and stages 2 and 4 may be performed by an owner of the legacy application).
The claimed invention and Tiwari are from the analogous art of database systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention having the teachings of Tong in view of Mudigonda and Tiwari to have combined Tong in view of Mudigonda and Tiwari. Tiwari teaches improvements such as using refactoring which may improve a design, a structure, and/or an implementation of the database (Paragraph 23).
Regarding claim 2, Tong in view of Mudigonda and Tiwari further teaches:
The method of claim 1, wherein applying a large language model to the legacy database to extract one or more legacy database values comprises (Tong Paragraph [0006], LLMs may interface with legacy systems, including those that are not ESB compliant, thereby enhancing the scope of the integration process, Paragraph [0109], a mapping table that extracts important values from the DSL from the extraneous syntax that the API call needs):
analyzing a footprint of a legacy database to determine one or more database inventory values (Mudigonda Paragraph [0018], refers to a set of data values of a particular type, one value for each row of the database. A database column may contain text values, numbers or even pointers to files in the operating system);
determining a data volume in the legacy database based at least in part on the one or more database inventory values (Tong Paragraph [0107], one or more machine learning models (e.g., LLMs) trained to evaluate the context of the data and/or the data itself and dynamically reconfigure a user interface to display the data based on the data context, type of data, volume of data);
analyzing one or more artifacts of the legacy database to extract one or more of (Tong Paragraph [0005], LLMs can also be used to dynamically reconfigure user interfaces based on data context and user instruction, thereby addressing the inherent inflexibility of statically coded user interfaces and reducing the resources needed for their development and maintenance): one or more stored logic values, one or more dependency values, or one or more interface values (Tong Paragraph [0005], LLMs can also be used to dynamically reconfigure user interfaces based on data context and user instruction, thereby addressing the inherent inflexibility of statically coded user interfaces and reducing the resources needed for their development and maintenance); and
analyzing one or more database logs of the legacy database to extract one or more of (Tong Paragraph [0126], Outputs 810 may include, for instance, memos, charts, audits, logs): one or more usage trend values, one or more frequent query values (Tong Paragraph [0007], The requests may be processed using the ML agents to generate DSL scripts that can be used to call APIs and/or query databases to retrieve data associated with the particular domain), and one or more database growth values.
Regarding claim 3, Tong in view of Mudigonda and Tiwari further teaches:
The method of claim 1, wherein applying the large language model to legacy application code that interfaces with the legacy database to extract one or more legacy application values comprises (Tong Paragraph [0006], LLMs may interface with legacy systems, including those that are not ESB compliant, thereby enhancing the scope of the integration process, Paragraph [0109], a mapping table that extracts important values from the DSL from the extraneous syntax that the API call needs):
analyzing one or more of a data access layer of the legacy application code, a repository layer of the legacy application code, at least one data transfer object of the legacy application code, or controller code of the legacy application code to extract one or more of (Tong Paragraph [0062], The inclusion of a decentralized orchestrator/dispatcher may provide an additional layer of control over the flow of communication between different agents): one or more inline queries (Tong Paragraph [0007], The requests may be processed using the ML agents to generate DSL scripts that can be used to call APIs and/or query databases), one or more database access patterns, one or more object-relational mappings, one or more mapping logic values, one or more data manipulation values (Tong Paragraph [0064], similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system memories or registers or other such information storage), or one or more data transformation values (Tong Paragraph [0064], similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system memories or registers or other such information storage);
analyzing one or more application logs of the legacy application code to extract one or more endpoint frequency values (Tong Paragraph [0071], The orchestrator 124 may also dynamically select from available upstream LLM providers (OPENAI, ANTHROPIC), e.g., if an API endpoint is down or too much laten);
analyzing the legacy application code to determine one or more complexity values (Mudigonda Paragraph [0018], Database columns typically contain simple types though some relational database systems allow database columns to contain more complex data types); and
vectorizing one or more application code artifacts to produce one or more vector embeddings (Tong Paragraph [0055], encode the input data by transforming the input data into lower dimensional embedding vectors representative of the input data).
Regarding claim 4, Tong in view of Mudigonda and Tiwari further teaches:
The method of claim 1 wherein determining a plurality of destination database values corresponding to a destination database based at least in part on the one or more legacy database values and the one or more legacy application values comprises (Mudigonda Paragraph [0059], After transforming such database columns, the transformed database columns are loaded into a destination, such as target database 104):
storing the one or more legacy database values and the one or more legacy application values in a data store (Tiwari Paragraph [0014], The migration system may receive source code and a database associated with the application from one or more server devices executing the application, one or more data structures storing the source code);
executing a chatbot program that is integrated with the large language and model and configured to interface with the data store (Tong Paragraph [0088], a chatbot ML agent may be trained to receive and generate responses to user requests/prompts, which may include text data); and
determining one or more destination database values in the plurality of destination database values based at least in part on a plurality of user queries received by the chatbot program (Tong Paragraph [0088], a chatbot ML agent may be trained to receive and generate responses to user requests/prompts, which may include text data).
Regarding claim 5, Tong in view of Mudigonda and Tiwari further teaches:
The method of claim 1, wherein determining one or more destination database values in the plurality of destination database values based at least in part on one or more user queries received by the chatbot program comprises (Tong Paragraph [0088], a chatbot ML agent may be trained to receive and generate responses to user requests/prompts, which may include text data):
determining a plurality of destination domains based at least in part on the one or more legacy database values and one or more user queries in the plurality of user queries (Tong Paragraph [0122], user queries/requests may be received via interface 702 and dynamically routed to one or more components of processing pipeline 706 (Mudigonda teaches the destinations and Tong teaches the user queries through a chatbot));
determining a plurality of destination schemas based at least in part on the one or more legacy database values and one or more second user queries in the plurality of user queries (Tong Paragraph [0122], user queries/requests may be received via interface 702 and dynamically routed to one or more components of processing pipeline 706 (Mudigonda teaches the destinations and Tong teaches the user queries through a chatbot)); and
mapping a plurality of interfaces in the one or more legacy database values to the plurality of destination domains (Tong Paragraph [0007], According to some examples, requests from users and/or ML agents may be dynamically routed to appropriate ML agents based on a particular domain associated with the request).
Regarding claim 6, Tong in view of Mudigonda and Tiwari further teaches:
The method of claim 1, wherein generating migration code for migrating the legacy database to the destination database based at least in part on one or more code generation templates (Tiwari Paragraph [0004], generate a migration strategy for the refactored and rewritten code and the refactored and rewritten database based on the final report), one or more user preferences (Tiwari Paragraph [0031], The user may then manage (e.g., modify) the migration strategy based on the display), and one or more code generation procedures configured to create one or more files and one or more directories based at least in part on the one or more code generation templates comprises (Tiwari Paragraph [0004], generate a migration strategy for the refactored and rewritten code and the refactored and rewritten database based on the final report):
receiving a selection of one or more programming languages and one or more frameworks from a user (Tong Paragraph [0098], the actual user interface connection may be specific such as a web framework like Flask for the agent connection to end-user inputer);
generating the one or more code generation templates based at least in part on the one or more programming languages and the one or more frameworks (Tong Paragraph [0098], the actual user interface connection may be specific such as a web framework like Flask for the agent connection to end-user inputer); and
generating the migration code based at least in part on the one or more code generation templates and the one or more code generation procedures (Tiwari Paragraph [0002], Some implementations described herein relate to a method for generating a migration strategy for source code and a database to be migrated to a cloud computing environment).
Regarding claim 7, Tong in view of Mudigonda and Tiwari further teaches:
The method of claim 6, wherein generating migration code for migrating the legacy database to the destination database based at least in part on one or more code generation templates (Tiwari Paragraph [0004], generate a migration strategy for the refactored and rewritten code and the refactored and rewritten database based on the final report), one or more user preferences (Tiwari Paragraph [0031], The user may then manage (e.g., modify) the migration strategy based on the display), and one or more code generation procedures configured to create one or more files and one or more directories based at least in part on the one or more code generation templates further comprises (Tiwari Paragraph [0004], generate a migration strategy for the refactored and rewritten code and the refactored and rewritten database based on the final report):
generating one or more query templates based at least in part on one or more frequent query values in the one or more legacy database values (Tong Paragraph [0109], DSL interpreter obtains data from a resource (e.g., calls an API and/or queries a database, for instance, using SQL) based on the DSL script. At block 506, the resource sends data back to the DSL interpreter. The DSL interpreter then converts the data into a format usable by the domain specific ML agent at block 507, by taking the returned values and in some embodiments labeling the return value);
receiving one or more inputs from the user to customize the one or more code generation templates (Tong Paragraph [0029], receive, by the user interface ML agent, a user input via the user interface; and reconfigure the user interface based on the user input); and
generating the migration code based at least in part on the customized one or more code generation templates (Tong Paragraph [0029], receive, by the user interface ML agent, a user input via the user interface; and reconfigure the user interface based on the user input), the one or more frameworks (Tong Paragraph [0098], the actual user interface connection may be specific such as a web framework like Flask for the agent connection to end-user inputer), and the one or more code generation procedures (Tong Paragraph [0075], ML agents 120 and/or experts 122 utilize gRPC (Google Remote Procedure Call), a high-performance, open-source framework that allows for the efficient intercommunication between agents).
Regarding claim 8, Tong in view of Mudigonda and Tiwari further teaches:
The method of claim 1, wherein validating the migration code based at least in part on generating mock data (Tiwari Paragraph [0002], The method may include causing a second stage analysis of the source code to be performed based on the first report and to generate refactored and rewritten code), storing the mock data in the legacy database (Tiwari Paragraph [0072], process 500 may include generating a migration strategy for the compatible and validated source code and/or database based on the final compatibility report), and applying the migration code to the mock data to migrate the mock data to the destination database comprises (Tiwari Paragraph [0002], The method may include causing a second stage analysis of the source code to be performed based on the first report and to generate refactored and rewritten code):
generating one or more mock data types based at least in part on at least one legacy database value in the one or more legacy database values (Tong Paragraph [0081], LLM may be trained and finetuned for querying a particular database, type of database, and/or particular type of data within a database);
generating a data generation profile based at least in part on one or more legacy query values in the one or more legacy database values (Tong Paragraph [0006], systems and methods described herein may integrate a wider range of systems, including legacy ones, by translating their functionalities into one or more DSLs that an LLM can understand and interact with. These capabilities may allow users to launch advanced queries);
generating one or more volumes of mock data based at least in part on the one or more mock data types and the data generation profile (Tong Paragraph [0107], the data itself and dynamically reconfigure a user interface to display the data based on the data context, type of data, volume of data, and/or any other aspect of the data); and
migrating the one or more volumes of mock data to the destination database (Tiwari Paragraph [0003], The one or more processors may be configured to receive source code and a database to be migrated to a cloud computing environment).
Regarding claim 9, Tong in view of Mudigonda and Tiwari further teaches:
The method of claim 8, wherein validating the migration code based at least in part on generating mock data (Tiwari Paragraph [0002], The method may include causing a second stage analysis of the source code to be performed based on the first report and to generate refactored and rewritten code), storing the mock data in the legacy database (Tiwari Paragraph [0072], process 500 may include generating a migration strategy for the compatible and validated source code and/or database based on the final compatibility report), and applying the migration code to the mock data to migrate the mock data to the destination database further comprises (Tiwari Paragraph [0002], The method may include causing a second stage analysis of the source code to be performed based on the first report and to generate refactored and rewritten code):
validating one or more destination schemas based at least in part on one or more of (Tiwari Paragraph [0022], the migration system may identify components of the database, such as a database schema, schema objects): at least one legacy database value in the one or more legacy database values (Tiwari Paragraph [0072], process 500 may include generating a migration strategy for the compatible and validated source code and/or database based on the final compatibility report), one or load tests, or one or more scalability tests.
Regarding claim 10, Tong in view of Mudigonda and Tiwari further teaches:
The method of claim 1, wherein executing the validated migration code to perform a migration of the legacy database to the destination database comprises (Tiwari Paragraph [0004], generate a migration strategy for the refactored and rewritten code and the refactored and rewritten database based on the final report):
provisioning an infrastructure of the destination database (Mudigonda Paragraph [0066], using a machine learning algorithm (e.g., supervised learning) to build a mathematical model based on sample data consisting of cost, infrastructure, data protection rules, policies, specifications of nodes 501);
executing the validated migration code in accordance with the provisioned infrastructure (Tiwari Paragraph [0072], process 500 may include generating a migration strategy for the compatible and validated source code and/or database based on the final compatibility report); and
transmitting a dashboard for display in a user interface, the dashboard indicating one or more metrics relating to a status of the migration (Tong Paragraph [0125], user interface DSL may specify a series of “components” on a dashboard 702 and when those components need to move or change, instead of using traditional programming languages, a DSL is used (e.g., by an ML agent) that specifies the content of each component).
Claims 11-20 are rejected in the same manner as claims 1-10 but are merely directed to a different embodiment of the same invention (method, system, computer-readable medium). Tong further teaches one or more processors and memory storing one or more computer programs that include computer instructions (Paragraph 31).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Jaggumantri et al., Patent Application Publication No. 2025/0053389 (hereinafter Jaggumantri). Jaggumantri teaches a large language model and legacy code (Paragraph 10). This shows that Jaggumantri and the claimed invention are analogous art as both are directed to legacy systems and large language models.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DUSTIN D EYERS whose telephone number is (408)918-7562. The examiner can normally be reached Monday-Thursday 9:00am-7:00pm 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, Amy Ng can be reached at (571)270-1698. 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.
/DUSTIN D EYERS/ Examiner, Art Unit 2164
/AMY NG/ Supervisory Patent Examiner, Art Unit 2164