Method and system for data migration and application migration

WO2026167724A1PCT designated stage Publication Date: 2026-08-13PRODAPT SOLUTIONS PTE LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2026-02-06
Publication Date
2026-08-13

Smart Images

  • Figure IN2026050194_13082026_PF_FP_ABST
    Figure IN2026050194_13082026_PF_FP_ABST
Patent Text Reader

Abstract

The present invention relates to a system and a method for performing data migration and application migration from a source system to a target system using Gen AI. The method provides for accessing source code of an application of the source system, analysing the accessed source code and determining tables of the different blocks of the application, migrating schema and data of the tables of user selected blocks of the application from the source system to the target system, generating a design based on the accessed source code for user selected blocks of the application, building the application for the target system based on the generated design, and migrating application by deploying the built application in the target system, by executing pre-engineered prompt-sets using Gen AI. Advantageously, the present disclosure significantly reduces time, effort and cost of migration.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] METHOD AND SYSTEM FOR DATA MIGRATION AND APPLICATION MIGRATION FIELD OF THE INVENTION

[0002] The present invention relates to migration of applications from a source system to a target system. More particularly, the present invention relates to a system and a method for performing data migration and application migration from a source system to a target system using generative artificial intelligence (Gen Al).

[0003] BACKGROUND OF THE INVENTION

[0004] Large enterprises that operate legacy big-data platforms increasingly face pressure to modernize their data ecosystems in response to evolving business, performance, and scalability requirements. Over the years, these legacy environments have grown into highly complex systems containing thousands of interdependent Extract, Transform, Load (ETL) pipelines, complex business logic, tightly coupled workflows, and custom scripts developed using diverse technologies. Much of this logic is undocumented or context-dependent, making it difficult for organizations to fully understand or recreate. As enterprises seek to transition to more scalable and cost-efficient computing platforms, they encounter significant obstacles due to the fragmented nature of their existing codebases, hidden dependencies, and the absence of unified tooling to extract and reinterpret these systems holistically.

[0005] Migration efforts in such environments are traditionally carried out using manual or semi-manual processes, requiring teams of specialized engineers with deep expertise in big-data frameworks, Structured Query Language (SQL) optimization, data modelling, and the target system’s execution engine. Experts must invest considerable time in reverse-engineering the source system to implement the application in a cloud system. These activities are slow, error-prone, and highly dependent on human interpretation, often resulting in inconsistencies across migrated components. Furthermore, validating migrated applications demands comparing large datasets, and ensuring full functional equivalence tasks that consume significant computational and human resources.

[0006] Due to these complexities, modernization initiatives frequently span months or years, with cost overruns, performance risks, and dependency on scarce domain experts becoming major bottlenecks. The lack of end-to-end intelligence across the migration lifecycle continues to be a critical challenge for enterprises attempting to shift from legacy architectures to modem distributed computing systems.To address these challenges, there is a need for a system and methodology for improved migration of legacy applications which provides faster migration unlike traditional systems which perform inefficient one-to-one migration.

[0007] The information disclosed in this background of the disclosure section is only for enhancement of understanding of the general background of the disclosure and may not be taken as an acknowledgement or any form of suggestion that this information forms the prior art already known to a person skilled in the art.

[0008] OBJECT OF THE INVENTION

[0009] The main object of the present invention is to provide a method and system for data migration from a source system to a target system using Gen Al.

[0010] Another object of the present invention is to provide a method and system for application migration from a source system to a target system using Gen Al.

[0011] Yet another object of the present invention is to provide an efficient system and method that leverages Gen Al to avoid manual errors and accelerate data and application migration.

[0012] Another object of the present invention is to perform application migration by extracting the business logic of the application of the source system.

[0013] Yet another object of the present invention is to provide a method and system for data and application migration using reusable prompt-sets engineered using Gen Al.

[0014] SUMMARY OF THE INVENTION

[0015] This summary is provided to introduce concepts related to systems and methods for data migration and application migration from a source system to a target system and the concepts are further described below in the detailed description. This summary is neither intended to identify essential features of the claimed subject matter nor is it intended for use in determining or limiting the scope of the claimed subject matter.

[0016] In one implementation, a method for data migration and application migration from a source system to a target system is disclosed. The method implemented by a processor executing instructions stored in a memory, the method comprising accessing source code of an applicationof the source system and analysing the accessed source code and determining ingestion tables, intermediate tables and destination tables of a plurality of blocks of the application, wherein said analysing, is performed by selecting a pre-engineered analysis prompt-set based on the source system and target system, from a prompt repository (226) and executing the selected preengineered analysis prompt-set using a Gen Al model. The method further comprising receiving inputs from a user on migration of at least one block of the application. The method further comprising migrating schema of a plurality of tables associated with the user selected blocks of the application from the source system to the target system and migrating data of the plurality of tables associated with the user selected blocks of the application from the source system to the target system. The method further comprising generating a design based on the accessed source code for user selected blocks of the application of the source system, wherein said design generation is performed by selecting a pre-engineered design prompt-set based on the source system and target system, from a prompt repository and executing the selected pre-engineered design prompt-set using a Gen Al model. The method further comprising building the application for the target system based on the generated design, wherein said building is performed by selecting a pre-engineered build prompt-set based on the source system and target system, from a prompt repository and executing the selected pre-engineered build prompt-set using a Gen Al model. Lastly, the method comprises migrating application by deploying the built application in the target system.

[0017] In one implementation, a system for data migration and application migration from a source system to a target system is disclosed. The system for data migration and application migration from a source system to a target system, the system comprising at least one user interface, at least one processor, a memory communicatively coupled to the at least one processor, a prompt repository stored in the memory, and a plurality of modules stored in the memory, wherein the at least one processor is configured to access, by a data migration module, source code of an application of the source system and analyse, by the data migration module, the accessed source code and determining ingestion tables, intermediate tables and destination tables of a plurality of blocks of the application, wherein said analyse is performed by selecting a pre-engineered analysis promptset based on the source system and target system, from a prompt repository and executing the selected pre-engineered analysis prompt-set using a Gen Al model. The processor is further configured to receive, by the data migration module, inputs from a user on migration of at least one block of the application. The processor is further configured to migrate, by the data migration module, schema of a plurality of tables associated with the user selected blocks of the application from the source system to the target system and migrate, by the data migration module, data of theplurality of tables associated with the user selected blocks of the application from the source system to the target system. The processor is further configured to generate, by an application migration module, a design based on the accessed source code for user selected blocks of the application of the source system, wherein said generate design is performed by selecting a preengineered design prompt-set based on the source system and target system, from a prompt repository and executing the selected pre-engineered design prompt-set using a Gen Al model. The processor is further configured to build, by the application migration module, the application for the target system based on the generated design, wherein said build is performed by selecting a pre-engineered build prompt-set based on the source system and target system, from a prompt repository and executing the selected pre-engineered build prompt-set using a Gen Al model. Lastly, the processor is further configured to migrate, by the application migration module, application by deploying the built application in the target system.

[0018] BRIEF DESCRIPTION OF DRAWINGS

[0019] The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles.

[0020] Figure 1 illustrates a block diagram of a computing environment including a system for data migration and application migration from a source system to a target system, in accordance with various embodiments of the present invention.

[0021] Figure 2 illustrates a detailed block diagram of a system for data migration and application migration from a source system to a target system, in accordance with various embodiments of the present invention.

[0022] Figure 3A illustrates a screenshot of a User Interface (UI) depicting a dataflow diagram, in accordance with various embodiments of the present invention.

[0023] Figure 3B illustrates a screenshot of a UI depicting status of migration, in accordance with various embodiments of the present invention.

[0024] Figure 3C illustrates a screenshot of a UI depicting design phase of migration, in accordance with various embodiments of the present invention.Figure 3D illustrates a screenshot of a UI depicting build phase of migration, in accordance with various embodiments of the present invention.

[0025] Figure 3E illustrates a screenshot of a UI depicting optimization phase of migration, in accordance with various embodiments of the present invention.

[0026] Figure 3F illustrates a screenshot of a UI depicting review phase of migration, in accordance with various embodiments of the present invention.

[0027] Figure 3G illustrates a screenshot of a UI depicting testing phase of migration, in accordance with various embodiments of the present invention.

[0028] Figure 3H illustrates a screenshot of a UI depicting documentation phase of migration, in accordance with various embodiments of the present invention.

[0029] Figure 4 is a flowchart illustrating a method for data migration and application migration from a source system to a target system, in accordance with various embodiments of the present invention. It may be appreciated by those skilled in the art that any block diagrams herein represent conceptual views with blurred results of illustrative systems embodying the principles of the present subject matter. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and executed by a computer or processor, whether or not such computer or processor is explicitly shown.

[0030] DETAILED DESCRIPTION OF THE INVENTION

[0031] In the present document, the word “exemplary” is used herein to mean “serving as an example, instance, or illustration”. Any embodiment or implementation of the present subject matter described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.

[0032] While the disclosure is susceptible to various modifications and alternative forms, specific embodiments thereof has been shown by way of example in the drawings and will be described in detail below. It can be understood, however, that it is not intended to limit the disclosure to the particular forms disclosed, but on the contrary, the disclosure is to cover a plurality of modifications, equivalents, and alternative falling within the spirit and the scope of the disclosure.The terms “comprises”, “comprising”, or any other variations thereof, are intended to cover a nonexclusive inclusion, such that a setup, device, or method that comprises a list of components or steps does not include only those components or steps but may include other components or steps not expressly listed or inherent to such setup or device or method. In other words, one or more elements in a device or system or apparatus proceeded by “comprises... a” does not, without more constraints, preclude the existence of other elements or additional elements in the device or system or apparatus.

[0033] In the following detailed description of the embodiments of the disclosure, reference is made to the accompanying drawings that form a part thereof, and in which are shown by way of illustration specific embodiments in which the disclosure may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the disclosure, and it is to be understood that other embodiments may be utilized and that changes may be made without departing from the scope of the present disclosure. The following description is, therefore, not to be taken in a limiting sense.

[0034] The terminology “Large language models (LLM)” and “Generative Al model (Gen Al)” are interchangeably used throughout the specification. The Gen Al model may be a combination of hardware module and software module. The hardware module may comprise necessary circuitry to perform the functionality discussed in the embodiments below.

[0035] Embodiments of the present disclosure relate to a method and system for data migration and application migration from a source system to a target system. According to an embodiment of the present disclosure, the system for data migration and application migration may migrate data and application using Gen Al, thereby reducing the time and effort taken for migration by up to 60%. The utilization of Gen Al in migration reduces the overall cost for migration by 30 - 40%. Further, the present disclosure provides a migration system which efficiently migrates data and application by extracting the business logic rather than relying on one-to-one mapping. Further, the present disclosure provides a migration system that efficiently migrates large-scale data warehouses to the cloud at significantly accelerated speeds, without requiring specialist expertise and thereby not prone to human errors. Therefore, the system and method of the present disclosure overcomes the drawbacks of existing migration techniques that are slow, error-prone, dependent on human interpretation, and limited to one-to-one mapping.Figure 1 illustrates a block diagram of a computing environment 100 including a system for data migration and application migration from a source system to a target system, in accordance with various embodiments of the present invention. The environment 100 depicts a system 102 for data migration and application migration, a source system 104 coupled to a source code repository 108, a target system 106 coupled to a target code repository 110, the source system 104 and source code repository 108 communicatively coupled to the system 102 over a network 112, the target system 106 and target code repository 110 communicatively coupled to the system 102 over a network 114. Examples of the source network 112 and target network 114 may include, but are not limited to, an interface such as a software interface, a physical transmission medium such as a wire, or a logical connection over a multiplexed medium such as a radio channel in telecommunications and computer networking. Examples of radio channel in telecommunications and computer networking may include, but are not limited to, a Local Area Network (LAN), a Metropolitan Area Network (MAN), and a Wide Area Network (WAN).

[0036] In accordance with various embodiments of the present disclosure, a source application of the legacy source system 104 implemented on a data processing platform such as Apache Hadoop or Teradata may be migrated to the cloud-native target system 106 such as GCP BigQuery, Amazon Redshift, Azure Synapse, etc. using the system 102 for data migration and application migration. In accordance with various embodiments of the present disclosure, the source code repository 108 and the target code repository 110 may be any platform which provides resources for at least one of: building, hosting, storing, and managing source codes of one or more applications. In accordance with various embodiments of the present invention, the source code repository 108 and the target code repository 110 may be a general purpose computer such as a desktop, a laptop, and a server computer; a super computer; a microcomputer; a virtual computer or any other device capable of executing instructions, connecting to a network, providing resources for building, sharing, storing, and hosting software applications, and sending / receiving data. In an embodiment of the present disclosure, source code repository 108 and the target code repository 110 may be a Github platform.

[0037] Figure 2 illustrates a detailed block diagram of the system 102 for data migration and application migration from a source system to a target system, in accordance with various embodiments of the present invention.

[0038] In an embodiment of the present disclosure, the system 102 may comprise a memory 210, at least one processor 202, an I / O unit 204, a user interface 206, and a communication interface 208communicatively coupled with each other. A plurality of modules 230 which include a data migration module 212, an application migration module 214, an optimization module 216, a review module 218, a test generation module 220 and a documentation module 222 are stored in the memory 210. In an embodiment of the present disclosure, the memory also stores a plurality of control tables 224 and a prompt repository 226.

[0039] In one embodiment, at least one Gen Al model 228 may be communicatively coupled with the system 102. In another embodiment, the Gen Al models 228 may be a part of the system 102. It may be noted that, in some embodiments, the system 102 may include more or fewer components than those depicted herein. The various components of the system 102 may be implemented using hardware, software, firmware or any combinations thereof. Further, the various components of the system 102 may be operably coupled with each other. More specifically, various components of the system 102 may be capable of communicating with each other using communication channel media (such as buses, interconnects, etc.).

[0040] In one embodiment, the at least one processor 202 may be embodied as a multi core processor, a single core processor, or a combination of one or more multi-core processors and one or more single core processors. For example, the at least one processor 202 may be embodied as one or more of various processing devices, such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing circuitry with or without an accompanying DSP, or various other processing devices including, a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like.

[0041] In one embodiment, the memory 210 is capable of storing machine executable instructions, referred to herein as instructions. In an embodiment, the at least one processor 202 is embodied as an executor of software instructions. As such, the at least one processor 202 is capable of executing the instructions stored in the memory 210 to perform one or more operations described herein.

[0042] The memory 210 can be any type of storage accessible to the at least one processor 202 to perform respective functionalities. For example, the memory 210 may include one or more volatile or nonvolatile memories, or a combination thereof. For example, the memory 210 may be embodied as semiconductor memories, such as flash memory, mask read-only memory (ROM), PROM (programmable ROM), EPROM (erasable PROM), RAM (random access memory), etc. and the like.In accordance with various embodiments of the present disclosure, a plurality of prompt-sets may be engineered for various combinations of source and target systems. A list of legacy systems and target systems may be collected. A plurality of prompt-sets may be created by iterative prompt engineering, by executing the prompt-sets using a plurality of Gen-AI models for all possible combination of legacy systems and target systems. A plurality of prompt-sets may be engineered for executing every phase of data and application migration which includes analysis, design, build, optimize, review, test and documentation phases of migration. A plurality of prompt-sets engineered for analysis phase may be referred to as analysis prompt-sets. A plurality of promptsets engineered for design phase may be referred to as design prompt-sets. A plurality of promptsets engineered for build phase may be referred to as build prompt-sets. A plurality of prompt-sets engineered for optimize phase may be referred to as optimize prompt-sets. A plurality of promptsets engineered for review phase may be referred to as review prompt-sets. A plurality of promptsets engineered for test phase may be referred to as test prompt-sets. A plurality of prompt-sets engineered for documentation phase may be referred to as documentation prompt-sets.

[0043] The generated plurality of prompt-sets engineered for every combination of legacy source system and cloud-native target systems, may be refined further by testing the prompt-sets by performing migrations of applications from that particular combination of legacy source system to cloudnative target systems. The refined final collection of prompt-sets may be stored in the prompt repository 226.

[0044] In accordance with various embodiments of the present disclosure, a plurality of control tables 224 may store a set of rules for performing data and application migration. The set of rules may be created based on various factors including security standards, company policies and the like. The control tables may further store a plurality of migration metrics which includes but is not limited to status of migration, batch processing time, data throughput, migration efficiency, error counts, analysis of errors, success rate and discrepancies between source and migrated data. The data stored in the control tables may be fetched and displayed in the user interface.

[0045] In accordance with various embodiments of the present disclosure, the at least one processor 202 may be configured to migrate data and application from a source system 104 to a target system 106.

[0046] For this purpose, the at least one processor 202 may be configured to access source code of an application which is to be migrated, by a data migration module 212. The source code of theapplication of the source system 104 may be accessed from a source code repository 108 or may be provided by a user.

[0047] Further, the at least one processor 202 may be configured to select a pre-engineered analysis prompt-set from the prompt repository. The selected pre-engineered analysis prompt-set may be engineered for this combination of source system 104 and target system 106. On feeding in the source code of the application of the source system, as input, the selected pre-engineered analysis prompt-set may be executed using a selected LLM. As a result, the data migration module 212, may determine ingestion tables or source files, intermediate tables and destination tables corresponding to a plurality of blocks of the application, from the accessed source code. The tables and the data flow among them as determined, may be created as dataflow diagrams and may be displayed in the user interface 206, preferably a dashboard, by the data migration module 212. Figure 3A illustrates a screenshot of a User Interface (UI) depicting a dataflow diagram, in accordance with various embodiments of the present invention.

[0048] In accordance with various embodiments of the present disclosure, a user may select certain blocks or modules of the application for migration. In a non-limiting embodiment of the present disclosure, the application data of the source system may be migrated totally in a single operation. On migrating the application data in a single operation, the displaying of dataflow diagrams in the user interface to receive user selection of blocks to be migrated may not be required.

[0049] In accordance with various embodiments of the present disclosure, the at least one processor 202 may be configured to migrate schema of the tables corresponding to the selected blocks, by the data migration module 212 based on the user selection. On completion of schema migration, data migration may be initiated for those tables, by the data migration module 212. On completion of data migration, the migrated data may be validated and results of the validation of data migration including but not limited to total number of rows migrated successfully from source system to target system, error counts, success rate, discrepancies in the data migration and the like may be displayed in the user interface 206. Figure 3B illustrates a screenshot of a UI depicting status of migration, in accordance with various embodiments of the present invention.

[0050] In accordance with various embodiments of the present disclosure, upon completion of data migration, a pre-engineered design prompt-set from the prompt repository based on the source system and target system may be selected. On feeding in the source code of the application of the source system, as input, the selected pre-engineered design prompt-set may be executed using aselected LLM. As a result, the application migration module 214, may generate a design by reverse engineering the code to extract the business logic behind the application of the source system 104. In an embodiment, the generation of design may be initiated even when the data migration and validation of the data migration are in progress. In a non-limiting embodiment of the present invention, the data migration and the generation of design may run parallelly. Figure 3C illustrates a screenshot of a UI depicting design phase of migration, in accordance with various embodiments of the present invention.

[0051] In accordance with various embodiments of the present disclosure, upon generating a design, a pre-engineered build prompt-set from the prompt repository based on the source system and target system may be selected. On feeding in the generated design, as input, the selected pre-engineered build prompt-set may be executed using a selected LLM. As a result, the application migration module 214, may build the application of the target system 106, based on the generated design. The built application may be in a language compatible with the cloud-native target system. Figure 3D illustrates a screenshot of a UI depicting build phase of migration, in accordance with various embodiments of the present invention. The built application may be deployed in the target system to perform the application migration to the target system 106. The migration to the target environment involves deploying the built application artifacts and executing them within the target runtime infrastructure. Upon deployment in the target environment, the built application performs the same business operations on the target system as it did on the source system prior to migration. The jobs pertaining to application migration may be carried out for a predetermined period on a regular basis till the source system is totally removed and the target system moves into production, to ensure safety of the application.

[0052] In accordance with various embodiments of the present disclosure, upon migrating the application to the target system, a pre-engineered optimization prompt-set from the prompt repository based on the optimization activity to be performed at the target system, may be selected. On feeding in the pseudocode of the built application, as input, the selected pre-engineered optimization promptset (for example, an optimization prompt-set for optimizing the built application based on best practices) may be executed using a selected LLM. As a result, the optimization module 216, may identify and recommend code changes based on best practices, in the built application migrated to the target system 106. The recommended code changes may be displayed in the user interface, and based on user approval, the code changes may be committed to the target system to optimize the migrated application at the target system 106. Figure 3E illustrates a screenshot of a UI depicting optimization phase of migration, in accordance with various embodiments of the present invention.In accordance with various embodiments of the present disclosure, upon optimizing the application migrated to the target system, a pre-engineered review prompt-set from the prompt repository based on the source system and target system may be selected. On feeding in the pseudocode of the optimized migrated application, as input, the selected pre-engineered review prompt-set may be executed using a selected LLM. As a result, the review module 218, may review the optimized application migrated to the target system against a predetermined set of rules based on security standards, rectify illogical errors, etc. in the optimized application migrated to the target system 106. The code changes performed by reviewing the optimized migrated application may be displayed in the user interface. Figure 3F illustrates a screenshot of a UI depicting review phase of migration, in accordance with various embodiments of the present invention.

[0053] In accordance with various embodiments of the present disclosure, upon reviewing the application migrated to the target system, a pre-engineered test prompt-set from the prompt repository based on the source system and target system may be selected. On feeding the generated design, as input, the selected pre-engineered test prompt-set may be executed using a selected LLM. As a result, the test generation module 220, may generate a test plan which includes a plurality of test cases to validate if the migrated application is based on the generated design. The test cases may be executed manually to validate the results of the migration. In an embodiment of the present disclosure, the migrated and non -migrated jobs may be run in parallel to perform data comparison of the source system and the target system. The results of the comparison may be validated and displayed in the user interface 206 of the system 102.

[0054] In accordance with various embodiments of the present disclosure, upon testing the application migrated to the target system, a pre-engineered documentation prompt-set from the prompt repository may be selected. The selected pre-engineered documentation prompt-set may be executed using a selected LLM. As a result, a documentation module 222 may prepare migration related documents including but not limited to pipeline documentation, production deployment documentation, standard operating procedures and the like. Figure 3H illustrates a screenshot of a UI depicting documentation phase of migration, in accordance with various embodiments of the present invention.

[0055] In accordance with various embodiments of the present disclosure, the processor 202 may be configured to display migration metrics including but not limited to status of migration, batch processing time, data throughput, migration efficiency, error counts, analysis of errors, success rate, discrepancies between source and migrated data and the like, in the at least one user interface206. The migration metrics may be stored in the control tables from time to time and may be fetched from the control tables to be displayed in the user interface 206.

[0056] In an embodiment of the present disclosure, the LLM chosen for executing the pre-engineered prompt-sets for analysis, design, build, optimization, review and test phases of migration may be same. In another embodiment of the present disclosure, the LLM chosen for executing the preengineered prompt-sets analysis, design, build, optimization, review and test phases of migration may be different. In a non-limiting embodiment of the present disclosure, the LLM chosen for executing the pre-engineered prompt-sets for a few phases among analysis, design, build, optimization, review and test phases of migration may be same while the LLM chosen for executing the remaining phases may be different.

[0057] In an embodiment of the present disclosure, the plurality of prompt-sets may be customizable as per the requirement of the migration. In accordance with various embodiments of the present disclosure, the feeding inputs to various modules for migration may be performed by the user manually by copying and pasting the output generated from the previous phase. Manual user intervention is deliberately incorporated to ensure safe operation of the application, recognizing that fully automated artificial intelligence-based processing may be susceptible to incorrect or unreliable outputs. For the analysis phase, the source code of the application of the system may be pasted or the source code may be accessed from the source code repository.

[0058] Figure 4 is a flowchart illustrating a method for data migration and application migration from a source system to a target system, in accordance with various embodiments of the present invention. At step 402, the method discloses accessing source code of an application of the source system 104.

[0059] Further, at step 404, the method discloses analysing the accessed source code and determining ingestion tables, intermediate tables and destination tables of a plurality of blocks of the application, by selecting a pre-engineered analysis prompt-set and executing the selected preengineered analysis prompt-set using a Gen Al model.

[0060] Further, at step 406, the method discloses receiving inputs from a user on migration of at least one block of the application.Further, at step 408, the method discloses migrating schema of a plurality of tables associated with the user selected blocks of the application from the source system to the target system.

[0061] Further, at step 410, the method discloses migrating data of the plurality of tables associated with the user selected blocks of the application from the source system to the target system.

[0062] Further, at step 412, the method discloses generating a design based on the source code for user selected blocks of the application of the source system, by selecting a pre-engineered design prompt-set and executing the selected pre-engineered design prompt-set using a Gen Al model.

[0063] Further, at step 414, the method discloses building the application for the target system based on the generated design, by selecting a pre-engineered build prompt-set and executing the selected pre-engineered build prompt-set using a Gen Al model.

[0064] Lastly, at step 416, the method discloses migrating application by deploying the built application in the target system.

[0065] The sequence of operations of the method 400 need not be necessarily executed in the same order as they are presented. Further, one or more operations may be grouped together and performed in the form of a single step, or one operation may have several sub-steps that may be performed in parallel or in a sequential manner.

[0066] The disclosed method 400 with reference to Figure 4, or one or more operations of the system 102 explained with reference to Figure 2 may be implemented using software including computerexecutable instructions stored on one or more computer-readable media (e.g., non-transitory computer-readable media, such as one or more optical media discs, volatile memory components (e.g., DRAM or SRAM), or non-volatile memory or storage components (e.g., hard drives or solid-state non-volatile memory components, such as Flash memory components) and executed on a computer (e.g., any suitable computer, such as a laptop computer, net book, Web book, tablet computing device, smart phone, or other mobile computing device). Such software may be executed, for example, on a single local computer.

[0067] Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may bestored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” may be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include Random Access Memory (RAM), Read-Only Memory (ROM), volatile memory, non-volatile memory, hard drives, CD (Compact Disc) ROMs, DVDs, flash drives, disks, and any other known physical storage media.

[0068] It will be understood by those within the art that, in general, terms used herein, and are generally intended as “open” terms (e.g., the term “including” may be interpreted as “including but not limited to,” the term “having” may be interpreted as “having at least,” the term “includes” may be interpreted as “includes but is not limited to,” etc.). For example, as an aid to understanding, the detail description may contain usage of the introductory phrases “at least one” and “one or more” to introduce recitations. However, the use of such phrases may not be construed to imply that the introduction of a recitation by the indefinite articles “a” or “an” limits any particular part of description containing such introduced recitation to disclosure containing only one such recitation, even when the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an” (e.g., “a” and / or “an” may typically be interpreted to mean “at least one” or “one or more”) are included in the recitations; the same holds true for the use of definite articles used to introduce such recitations. In addition, even if a specific part of the introduced description recitation is explicitly recited, those skilled in the art will recognize that such recitation may typically be interpreted to mean at least the recited number (e.g., the bare recitation of “two recitations,” without other modifiers, typically means at least two recitations or two or more recitations).

[0069] While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the detailed description.

[0070] WORKING OF THE INVENTION

[0071] In an exemplary embodiment, a system 102 for data migration and application migration from a source system to a target system is provided. The system 102 comprises at least one user interface 206, at least one processor 202, a memory 210 communicatively coupled to the at least one processor 202, a prompt repository 226 stored in the memory 210 and a plurality of modules 230stored in the memory 210. In the present invention, a plurality of prompt-sets are engineered by iterative prompt engineering using a selected Gen Al, but not limited to ChatGPT for each of the analysis, design, build, optimize, review, test and documentation phases of migration, for all possible combinations of source and target system applications. The finalized pre-engineered prompt-sets are stored in the prompt repository 226.

[0072] A source system like Teradata and a target system like PySpark may be registered in the system 102. The system 102 accesses the source code of the application to be migrated from Teradata to PySpark, from the source code repository like GitHub or directly from the user. The analysis of the source code is performed by executing a selected pre-engineered analysis prompt-set using a Gen Al like Grok in system 102. The output of the analysis provides a dataflow diagram depicting the flow of data from ingestion tables through intermediate tables and destination tables of the application, from the accessed source code. The created data flow diagrams are displayed in the user interface 206 to receive a user selection on specific blocks of the application to be migrated. The user selects one or more blocks, like transaction data from the user interface. The schema migration is initiated for the tables associated with transaction data, once the user selection is received. Data migration for the tables associated with transact! on data is performed once the schema migration is completed. Upon completion of data migration, validation of migrated data is performed to ensure that all the tables associated with transaction data is migrated from source system to target system.

[0073] The design of the application is generated from the source code, by executing a selected preengineered design prompt-set using a Gen Al like Azure in system 102. Generation of design can be initiated even when the data migration and validation are in progress. The generated design is fed as input for building the application. The selected pre-engineered build prompt-set is executed using a Gen Al like Co-pilot in system 102 to build the application based on the generated design. The output of the build phase is in the language like BQ SQL compatible with the target system. The built application is deployed in the target system to migrate the application.

[0074] The migrated application is optimized by executing a selected pre-engineered optimize prompt-set using a Gen Al like Gemini in system 102. The code of the target application in BQ SQL can be optimized based on best practices.

[0075] The optimized application is reviewed by executing a selected pre-engineered review prompt-set using a Gen Al like ChatGPT in system 102. The code of the target application in BQ SQL can bereviewed if it is migrated as per company policies, if the security standards were adhered to and the like.

[0076] The reviewed application is tested by manually running the test cases generated by executing a selected pre-engineered test prompt-set using a Gen Al like ChatGPT in system 102. The test cases to test if the application at the source is the same as of the target application are created and testing is performed manually based on the generated test cases. The test results are validated and displayed in the user interface along with other migration metrics.

[0077] The documents related to the migration are generated by executing a selected pre-engineered documentation prompt-set using a Gen Al like Gemini in system 102.

Claims

WE CLAIM:

1. A method (400) for data migration and application migration from a source system (104) to a target system (106), said method implemented by a processor (202) executing instructions stored in a memory (210), the method comprising:accessing source code of an application of the source system (104); analysing the accessed source code and determining ingestion tables, intermediate antables and destination tables of a plurality of blocks of the application;receiving inputs from a user on migration of at least one block of the application; migrating schema of a plurality of tables associated with the user selected blocks of the application from the source system to the target system;migrating data of the plurality of tables associated with the user selected blocks of the application from the source system to the target system;generating a design based on the accessed source code for user selected blocks of the application of the source system;building the application for the target system based on the generated design, and migrating application by deploying the built application in the target system, wherein said analysing, said generating design and said building are performed by selecting a pre-engineered analysis prompt-set, pre-engineered design prompt-set and pre-engineered build prompt-set respectively based on the source system and target system, from a prompt repository (226) and executing the selected preengineered analysis prompt-set, pre-engineered design prompt-set and pre-engineered build prompt-set respectively using a generative artificial intelligence (Gen Al) model.

2. The method (400) as claimed in claim 1, wherein the said determining is followed by creating dataflow diagrams based on the determination and displaying the created data flow diagrams in at least one user interface (206).

3. The method (400) as claimed in claim 1, further comprising:selecting a pre-engineered optimization prompt-set from the prompt repository (226);identifying and recommending code changes in the application migrated to the target system by executing the selected pre-engineered optimization prompt-set using the Gen Al model;displaying the recommendations on the user interface (206), andoptimizing the application migrated to the target system by committing the recommended code changes based on user approval.

4. The method (400) as claimed in claim 1, further comprising:selecting a pre-engineered review prompt-set from the prompt repository (226), and reviewing the optimized application migrated to the target system based on a predetermined set of rules by executing the selected pre-engineered review prompt-set using the Gen Al model.

5. The method (400) as claimed in claim 1, further comprising:selecting a pre-engineered test prompt-set from the prompt repository (226) based on source system and target system;generating a test plan based on the generated design by executing the selected pre engineered test prompt-set using the Gen Al model;testing the data and application migrated to the target system against the data and application at the source system using the generated test plan, anddisplaying the test results in the at least one user interface (206).

6. The method (400) as claimed in claim 1, further comprising:selecting a pre-engineered documentation prompt-set from the prompt repository (226); andpreparing migration related documents which include pipeline documentation, production deployment documentation and standard operating procedures by executing the selected pre-engineered documentation prompt-set using the GenAI model.

7. The method (400) as claimed in claim 1, further comprising:displaying migration metrics which comprises status of migration, batch processing time, data throughput, migration efficiency, error counts, analysis of errors, success rate and discrepancies between source and migrated data, in the at least one user interface (206).

8. The method (400) as claimed in claim 1, wherein the plurality of prompt-sets are created by engineering prompts iteratively for analysis, design, build, optimization, review and test phases of migration using Gen Al.

9. The method (400) as claimed in claim 1, wherein the data migration from the source system to the target system is performed for all the blocks of the application in a single operation.

10. The method (400) as claimed in claim 1, wherein the plurality of prompt-sets are customizable.

11. The method (400) as claimed in claim 1, wherein the source code of an application of the source system can be accessed from a source code repository (108) or provided by the user.

12. The method (400) as claimed in claim 1, wherein the said Gen Al model can be selected from a plurality of Gen Al models (228).

13. A system (102) for data migration and application migration from a source system to atarget system, the system (102) comprising:at least one user interface (206);at least one processor (202);a memory (210) communicatively coupled to the at least one processor (202); a prompt repository (226) stored in the memory (210), anda plurality of modules (230) stored in the memory (210), wherein the at least one processor is configured to:access, by a data migration module (212), source code of an application of the source system;analyse, by the data migration module (212), the accessed source code and determine ingestion tables, intermediate tables and destination tables of a plurality of blocks of the application;receive, by the data migration module (212), inputs from a user on migration at least one block of the application;migrate, by the data migration module (212), schema of the tables associated with the user selected blocks of the application from the source system to the target system;migrate, by the data migration module (212), data of the tables associated with the user selected blocks of the application from the source system to the target system;generate, by an application migration module (214), a design based on the source code for user selected blocks of the application of the source system;build, by the application migration module (214), the application for the target system based on the generated design, andmigrate, by the application migration module (214), application by deploying the built application in the target system,wherein said analyse, said generate design and said build are performed by selecting a pre-engineered analysis prompt-set, pre-engineered design prompt-set and pre-engineered build prompt-set respectively based on the source system and target system from a prompt repository (226) and executing the selected pre-engineered analysis prompt-set, pre-engineered design prompt-set and preengineered build prompt-set respectively using a generative artificial intelligence (Gen Al) model.

14. The system (102) as claimed in claim 13, wherein the at least one processor (202) is configured to:create, by the data migration module (212), dataflow diagrams based on the said determination; anddisplay, by the data migration module (212), the created data flow diagrams in the at least one user interface (206).

15. The system (102) as claimed in claim 13, wherein the at least one processor (202) is further configured to:select, by an optimization module (216), a pre-engineered optimization prompt-set from the prompt repository (226)identify, by the optimization module (216), and recommend code changes in the application migrated to the target system by executing the selected pre-engineered optimization prompt-set using the GenAI model;display, by the optimization module (216), the recommendations on the user interface (206); andoptimize, by the optimization module (216), the application migrated to the target system by committing the recommended code changes based on user approval.

16. The system (102) as claimed in claim 13, wherein the at least one processor (202) is further configured to:select, by a review module (218), a pre-engineered review prompt-set from the prompt repository (226); andreview, by a review module (218), the optimized application migrated to the target system based on a predetermined set of rules by executing the selected pre-engineered review prompt-set using the GenAI model.

17. The system (102) as claimed in claim 13, wherein the at least one processor (202) is further configured to:select, by a test generation module (220), a pre-engineered test prompt-set from the prompt repository (226) based on source system and target system;generate, by the test generation module (220), a test plan based on the generated design by executing the selected pre-engineered test prompt-set using the GenAI model;test the data and application migrated to the target system against the data and application at the source system using the generated test plan; anddisplay, by the test generation module (220), the test results in the at least one user interface (206).

18. The system (102) as claimed in claim 13, wherein the at least one processor (202) is further configured to:select, by a documentation module (222), a pre-engineered documentation promptset from the prompt repository (226); andprepare, by the documentation module (222), migration related documents which include pipeline documentation, production deployment documentation and standard operating procedures by executing the selected pre-engineered documentation prompt-set using the GenAI model.

19. The system (102) as claimed in claim 13, wherein the at least one processor (202) is further configured to:display, migration metrics which comprises status of migration, batch processing time, data throughput, migration efficiency, error counts, analysis of errors, success rate and discrepancies between source and migrated data, in the at least one user interface (206).

20. The system (102) as claimed in claim 13, wherein the at least one processor (202) is further configured to access the source code of an application of the source system from a source code repository (108) or from the user.