Calculation system, calculation device, and calculation method

The calculation system addresses the issue of user requirement alignment in microservice migration by recommending implementation proposals based on user-defined priorities and evaluation scores, thereby minimizing post-migration workload and performance issues.

JP2026113943APending Publication Date: 2026-07-08HITACHI LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
HITACHI LTD
Filing Date
2024-12-26
Publication Date
2026-07-08

AI Technical Summary

Technical Problem

Existing microservice migration tools do not adequately address the need to display implementation proposals to users and confirm whether they meet user requirements, potentially leading to increased performance overhead during system migration.

Method used

A calculation system comprising a storage unit, calculation unit, and output unit that identifies and recommends implementation proposals based on user-defined priorities and evaluation scores, ensuring alignment with user requirements.

Benefits of technology

Enables the display and recommendation of implementation options that meet user requirements, reducing the likelihood of performance overhead and additional work post-migration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026113943000001_ABST
    Figure 2026113943000001_ABST
Patent Text Reader

Abstract

The present invention aims to provide a technology that can display and recommend implementation options when performing a system migration. [Solution] The calculation system of the present invention is characterized by comprising: a storage unit that stores an implementation proposal candidate table which defines implementation proposal candidates for one or more migration pattern candidates from an old system to a new system; an implementation proposal evaluation score table which defines an evaluation score for implementation requirements for each implementation proposal of the system; and an implementation requirement priority table which defines the priority of the implementation requirements for the user; a calculation unit that identifies an implementation proposal from the implementation proposal candidate table based on at least one migration pattern information of the migration pattern candidates, and calculates the degree of agreement between the evaluation score of the implementation proposal obtained from the implementation proposal evaluation score table and the implementation requirement priority table, and the priority of the requirements; and an output unit that outputs an implementation proposal whose degree of agreement satisfies predetermined conditions.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a calculation system, a calculation device, and a calculation method. [Background technology]

[0002] In recent years, in order to leverage digital technology and flexibly adapt to new business models, there has been a growing trend to revamp complex existing systems (monolithic systems) and introduce microservices. Within this context, microservice migration tools are being utilized. These tools analyze the business functions provided by existing systems and generate proposals for dividing them into microservices based on business logic that can be independently managed.

[0003] Technologies used in microservice migration tools include, for example, those described in Patent Documents 1 to 3 below. Patent Document 1 aims to provide a database partitioning system, a database partitioning method, and a database partitioning program that enable table data partitioning while reducing the workload of business experts and taking into account how applications use the data. It discloses the following as a database partitioning system, a database partitioning method, and a database partitioning program: "The database partitioning system includes a data access analysis means that performs structural analysis using the source code of the application and definition information of the database table structure as input, a business analysis means that performs business-oriented analysis using characteristic information of actual business operations and operation logs as input, and a table partitioning means that partitions table data using the analysis results of the data access analysis means and the analysis results of the business analysis means." Furthermore, Patent Document 2 describes a method for recommending optimal database access patterns and their implementations for microservices. It presents a technology that recommends optimal database access patterns and their implementations based on transaction analysis (system description, transaction usage profile, database profile) to improve system performance. Specifically, Patent Document 2 discloses the following: "A process is provided for recommending database access patterns for transactions in microservices. Based on an analysis of the field access graph of tables accessed by transactions, a recommendation for a specific database access pattern is generated to improve transactional access to fields in tables in the database corresponding to the microservice. The recommendation for a specific database access pattern is output. The specific database access pattern is implemented to improve transactional access to data in fields of tables in the database corresponding to the microservice, and to improve the performance of the microservice, based on user input and view implementation guidelines." Furthermore, Patent Document 3 describes a technique that uses machine learning technology to recommend candidate proposals for migrating a monolithic system to microservices, and allows users to adjust these recommendations through an interface. In addition, Patent Document 3 describes a technique that enables the evaluation of the impact of changes on the entire system through WhatIf analysis and proposes an optimal MS configuration. Specifically, Patent Document 3 discloses the following: "A technique for recommending microservices that perform different functions of a legacy architecture is disclosed. In one example, a computer implementation method includes receiving multiple recommendations, which include multiple program components as candidates for assignment to multiple microservices, and determining the role of each of the multiple program components. A user interface is provided and configured so that the user can modify at least partially one or more of the multiple recommendations based on their roles." Changes to one or more of the recommendations will be analyzed, and one or more metrics will be calculated based on at least that analysis. [Prior art documents] [Patent Documents]

[0004] [Patent Document 1] Japanese Patent Publication No. 2021-56570 [Patent Document 2] U.S. Patent Application Publication No. 2023 / 0306017 [Patent Document 3] U.S. Patent Application Publication No. 2023 / 0176831 [Overview of the project] [Problems that the invention aims to solve]

[0005] Up to this point, microservice migration tools have been designed to minimize manual modifications by users when generating implications based on the proposed partitioning plan. They aim to mechanically perform code changes associated with the microservice migration by making maximum use of the original source code of the current system. However, while microservice migration tools allow for the migration process to proceed without manual intervention, the generated migration proposals and their resulting implications may not always meet user requirements. For example, there is a possibility of increased performance overhead after the microservice migration, and in cases where minimizing performance overhead is crucial, directly applying the proposals generated by the aforementioned microservice migration tools carries risks.

[0006] However, none of the patent documents adequately address the points of displaying implementation proposals to users and confirming whether they meet user requirements before implementing the system migration, and recommending implementation proposals that satisfy user requirements. Therefore, the present invention aims to provide a technology that can display and recommend implementation options when performing a system migration. [Means for solving the problem]

[0007] To solve the above problems, one representative calculation system of the present invention is characterized by comprising: a storage unit that stores: an implementation proposal candidate table that defines implementation proposal candidates for one or more migration pattern candidates from an old system to a new system; an implementation proposal evaluation score table that defines an evaluation score for implementation requirements for each implementation proposal of the system; and an implementation requirement priority table in which the user defines the priority of the implementation requirements; a calculation unit that identifies an implementation proposal from the implementation proposal candidate table based on at least one migration pattern information of the migration pattern candidates, and calculates the degree of agreement between the evaluation score of the implementation proposal obtained from the implementation proposal evaluation score table and the implementation requirement priority table, and the priority of the requirements; and an output unit that outputs an implementation proposal whose degree of agreement satisfies predetermined conditions. [Effects of the Invention]

[0008] According to the present invention, when performing a system migration, implementation options can be displayed and recommended. Other issues, configurations, and effects not mentioned above will be clarified by the description of the embodiments for carrying out the invention below. [Brief explanation of the drawing]

[0009] [Figure 1] Figure 1 shows an example of a system configuration. [Figure 2] Figure 2 shows an example of a functional block in the MS implementation support system. [Figure 3] Figure 3 is a flowchart illustrating an example of the processing performed by the MS implementation support system 2. [Figure 4] Figure 4 is a flowchart illustrating the details of the allocation plan generation process. [Figure 5] Figure 5 shows an example of a proposed division plan. [Figure 6] FIG. 6 is a flowchart showing details of the implementation plan generation process. [Figure 7] FIG. 7 is a diagram showing an example of the migration pattern judgment criterion storage table. [Figure 8] FIG. 8 is a diagram showing an example of the important requirement priority table. [Figure 9] FIG. 9 is a diagram showing an example of the implementation plan and evaluation score storage table. [Figure 10] FIG. 10 is a diagram showing an example of the requirement relaxation rule storage table. [Figure 11] FIG. 11 is a diagram showing an example of the output of the implementation plan list. [Figure 12] FIG. 12 is a diagram showing an example of the output of the detailed information of the implementation plan. [Figure 13] FIG. 13 is a diagram showing an example of the output of the source code. [Figure 14] FIG. 14 is a diagram showing another example of the output of the detailed information of the implementation plan. [Figure 15] FIG. 15 is a flowchart showing details of the migration implementation process. [Figure 16] FIG. 16 is a diagram showing an example of the output including the source code generated by the generation AI.

Embodiments for Carrying Out the Invention

[0010] Hereinafter, embodiments of the present invention will be described with reference to the drawings. Note that the present invention is not limited by this embodiment. Also, in the description of the drawings, the same parts are denoted by the same reference numerals. When there are a plurality of components having the same or similar functions, they may be described with different subscripts attached to the same reference numeral. Also, when it is not necessary to distinguish these plurality of components, the subscripts may be omitted in the description. The positions, sizes, shapes, and ranges of the components shown in the drawings may not represent their actual positions, sizes, shapes, and ranges in order to facilitate understanding of the invention. Therefore, the present invention is not necessarily limited to the positions, sizes, shapes, and ranges disclosed in the drawings.

[0011] This disclosure describes a migration from an old system to a new system. While the old system is described as a so-called monolithic system and the new system as a microservices system, this disclosure is not limited to these cases. This disclosure can also be applied to other general system migrations.

[0012] (Configuration of the microservices migration system) Figure 1 shows an example of a system configuration. The microservice migration system (hereinafter also referred to as the "MS migration system") 1 includes the microservice implementation support system (hereinafter also referred to as the "MS implementation support system (computation system)") 2, a resource management server device 3, and a client-server device 4. The MS implementation support system 2, the resource management server device 3, and the client-server device 4 are connected to each other via a network.

[0013] The MS Implementation Support System 2 assists with system migration by presenting migration and implementation plans to the user when migrating from an old system (e.g., a monolithic system) to a new system (e.g., microservices). In this disclosure, the MS Implementation Support System 2 is described as a system, but the MS Implementation Support System 2 may also be a device. Details will be described later.

[0014] Resource management server device 3 is a server device for efficiently managing and allocating resources (CPU, memory, storage, etc.) within MS migration system 1. This optimizes the overall performance of MS migration system 1 and reduces resource waste.

[0015] Client-server device 4 is a server device operated by the user of MS migration system 1, and it receives user instructions and presents information to the user. Client-server device 4 is capable of executing the microservice implementation proposal integrated recommendation client function (hereinafter also simply referred to as the "implementation proposal recommendation function") 5, the microservice implementation proposal registration client function (hereinafter also simply referred to as the "implementation proposal registration function") 6, and the generation AI utilization client function (hereinafter also simply referred to as the "AI utilization function") 7. Each function will be described later.

[0016] (Configuration of MS Implementation Support System 2) Figure 2 shows an example of the functional blocks of the MS implementation support system 2. The MS implementation support system 2 includes a storage device (storage unit) 20, a communication device 42, an input / output device 43, a processor (arithmetic unit) 44, and a memory 45. The communication device 42 and the input / output device 43 can also be called output units.

[0017] The storage device 20 and memory 45 have a set of software programs and / or instructions executed by the processor 44. The processor 44 executes various software programs and / or instruction sets stored in the storage device 20 and memory 45 to perform various functions for the MS implementation support system 2 and process data. The storage device 20 and memory 45 include non-volatile storage devices such as random access memory (RAM), magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. The diagram shows one storage device 20, processor 44, and memory 45 each, but there may be two or more. Note that memory 45 stores, for example, a part of the operating system (OS). The storage device 20 will be described later.

[0018] The communication device 42 is an interface for the MS implementation support system 2 to communicate information with the resource management server device 3 or the client server device 4.

[0019] The input / output device 43 is a device used by the user to input and output information to the MS implementation support system 2. The input / output device 43 can be, for example, an output device such as a display, or an input device such as a keyboard or mouse.

[0020] The storage device 20 stores a functional module unit 21, which is a software program and / or instruction set for executing the functions of the MS implementation support system 2, and a data unit 36, which is data used to execute the functions. The functional module unit 21 includes a reading unit 22, a partitioning plan generation unit 23, an implementation plan generation unit 26, a migration execution unit 31, an impact prediction unit 32, a result output unit 33, and a user interface unit 34. The partitioning plan generation unit 23 is further subdivided into an analysis unit 24 and a partitioning plan design unit 25. The implementation plan generation unit 26 is further subdivided into a migration pattern determination unit 27, a critical requirements analysis unit 28, an implementation plan list generation unit 29, and an implementation plan list presentation unit 30. The user interface unit 34 includes an implementation plan registration unit 35. Each functional block performs its function as the MS implementation support system 2 by being executed by the processor 44.

[0021] The data unit 36 ​​includes a priority table of important requirements 37, resource specification information 38, a migration pattern judgment criteria storage table 39, an implementation plan and evaluation score storage table 40, and a requirements relaxation rule storage table 41. The data included in the data unit 36 ​​can be pre-configured by the user via the input / output device 43, or it can be input from the client-server device 4 via the communication device 42. Each piece of information will be described later.

[0022] (Processing by MS Implementation Support System 2) Figure 3 is a flowchart illustrating an example of the processing of the MS implementation support system 2. In step S1, the reading unit 22 performs input information reading processing. The reading unit 22 reads the requirements list and its priority entered by the user, as well as information from the old system (e.g., source code, business design information, requirements of the old system, framework (net frame settings), etc.) via the input / output device 43. The requirements list and the information indicating its priority are stored in the important requirements priority table 37, and the information from the old system is stored in the resource specification information 38.

[0023] Next, in step S2, the division plan generation unit 23 performs a division plan generation process. Based on the information obtained by the reading unit 22, the division plan generation unit 23 generates a division plan for the old system. Furthermore, in step S3, the implementation plan generation unit 26 performs implementation plan generation processing. The implementation plan generation unit 26 generates an implementation plan for the new system when migrating to the new system according to the division plan. Furthermore, in step S4, the migration implementation unit 31 performs the migration implementation process. The migration implementation unit 31 implements the new system according to the implementation plan. Details regarding the division plan generation process, implementation plan generation process, and migration implementation process will be described later.

[0024] Next, the calculation unit calculates the impact of migrating to the new system. Specifically, in step S5, the impact prediction unit 32 performs impact prediction processing. The impact prediction unit 32 predicts the impact of the system migration on the system's performance and outputs the impact prediction results. Examples of impact predictions include (1) changes in response time predicted by the amount of communication between services and the amount of data exchanged, and (2) the degree of manual work and the maintainability of the code.

[0025] Next, in step S6, the result output unit 33 outputs the system migration results and the impact prediction results. The result output unit 33 outputs the migration results and impact prediction results to the user via the input / output device 43.

[0026] (Splitting plan generation process) Figure 4 is a flowchart showing the details of the partitioning plan generation process. In step S20, the analysis unit 24 of the partitioning plan generation unit 23 reads information from the old system. Subsequently, in step S21, the analysis unit 24 analyzes the relationship between business logic and data access based on the information from the old system.

[0027] Next, in step S22, the partition design unit 25 of the partition design generation unit 23 generates partition designs for microservices based on the relationship between business logic and data access. The partition design unit 25 designs multiple partition designs based on the relationship between business logic and data access analyzed by the analysis unit 24. For example, when migrating from a monolithic system to a microservice system, there are (1) partitions based on business functions, (2) partitions based on domain-driven design, (3) partitions based on events, etc. It is also possible to design partition designs using machine learning and domain models.

[0028] Figure 5 shows an example of a partitioning plan. Figure 5 shows a partitioning plan for a given old system, and illustrates a case where the partitioning plan includes two microservices. Microservice A, with ID 1, has a database named MSA_DB. Within the MSA_DB database, there is a table named MSA_TBL_1. Furthermore, the microservice named "Microservice B" in ID2 has a database named "MSB_DB". Within the database named "MSB_DB", there is a table named "MSB_TBL_2". Furthermore, the microservice named "Microservice B" in ID3, like ID2, has a database named "MSB_DB". Within the database named "MSB_DB", there is a table named "MSB_TBL_3". As shown in Figure 5, "Microservice A" and "Microservice B" each have their own databases, and independence exists between the services. The partitioning design unit 25 designs the business logic to be divided into independent services, based on the relationship between the old system's business logic and data access, and each divided service to have its own database.

[0029] (Implementation plan generation process) Figure 6 is a flowchart illustrating the details of the implementation plan generation process. Before proceeding with the details of the implementation plan generation process, the implementation plan generation unit 26 generates multiple implementation plans to realize the migration plan generated by the partition plan generation unit 23. The partition plan indicates the policy for system migration from a business logic perspective, while the implementation plan includes an algorithm that shows the procedures and methods for system migration, as well as source code that specifically programs the algorithm. Candidate implementation plans are generated, for example, according to a predetermined template. Alternatively, a method similar to that of conventional system migration tools may be used. Resource specification information 38 may also be used when generating implementation plans.

[0030] First, in step S30, the migration pattern determination unit 27 of the implementation plan generation unit 26 identifies a migration pattern. One or more candidate migration patterns (hereinafter also referred to as "migration pattern candidates") are identified from the old system's partition plan. The migration pattern determination unit 27 analyzes the partition plan generated by the partition plan generation unit 23 according to the migration pattern determination criteria stored in the migration pattern determination criteria storage table 39, and identifies the migration pattern of the partition plan.

[0031] Next, in step S31, the critical requirements analysis unit 28 of the implementation plan generation unit 26 reads the critical requirements priority table 37. Subsequently, in step S32, the critical requirements analysis unit 28 evaluates the degree of agreement between each implementation plan and the critical requirements, priorities, and transition patterns. In step S33, the critical requirements analysis unit 28 determines whether or not there is an implementation plan with a high degree of agreement. In step S34, if there is no implementation plan with a high degree of agreement (NO in step S33), the critical requirements analysis unit 28 relaxes the priority of the requirements according to the requirement relaxation rules, returns to step S32, and evaluates the degree of agreement again.

[0032] If there is an implementation proposal with a high degree of match in step S33 (YES in step S33), the implementation proposal list generation unit 29 of the implementation proposal generation unit 26 generates a list of implementation proposals with a high degree of match in step S35. In other words, the calculation unit (implementation proposal list generation unit 29) extracts implementation proposals included in the implementation proposal candidate table based on the degree of match and generates an implementation proposal list. The implementation proposal candidate table will be described later.

[0033] Next, in step S36, the implementation proposal list presentation unit 30 of the implementation proposal generation unit 26 presents the implementation proposal list to the user.

[0034] (Data used in the implementation proposal generation process) (Transition Pattern Judgment Criteria Storage Table) This section describes the data used in the implementation proposal generation process. Figure 7 shows an example of the migration pattern judgment criterion storage table 39. The migration pattern judgment criterion storage table 39 includes the migration pattern name and judgment criterion as items. The migration pattern "joining process pattern" is judged based on whether or not to use tables that are the target of joining processes that span across microservices. The migration pattern "no sharing pattern" is judged based on whether or not microservices use individual tables without sharing the same table. Although two migration patterns have been described, other migration patterns may also be included. For example, in addition to joining relationships related to tables, it is also possible to include joining relationships between services.

[0035] In step S30 of Figure 6, the transition pattern determination unit 27 determines the transition pattern with respect to the implementation proposal candidate generated by the division proposal generation unit 23, according to the determination criteria shown in the transition pattern determination criteria storage table 39.

[0036] (Priority Table for Important Cases) Figure 8 shows an example of the Critical Requirements Priority Table 37. The Critical Requirements Priority Table 37 is generated in step S1 of Figure 3 based on the information entered by the user. The Critical Requirements Priority Table 37 includes the following items: Critical Requirement, Priority, and Description. Critical Requirements are items requested by the user during the system migration. The requirement "Manual Cost" refers to the requirement to minimize the effort required for work after migrating to microservices (such as code modification and adjustments), as indicated in the description. Its priority is set to 5 on a 5-point scale, indicating the highest priority. The requirement "Post-Release Source Code Maintenance Cost" refers to the requirement regarding the costs associated with additional features and bug fixes in the system after migration. Its priority is set to 3. The requirement "Response Quality" refers to the requirement regarding the response quality in microservices, minimizing the impact of network latency and communication overhead. Its priority is set to 5.

[0037] In step S30 of Figure 6, the transition pattern determination unit 27 determines the transition pattern with respect to the division plan generated by the division plan generation unit 23, according to the determination criteria shown in the transition pattern determination criteria storage table 39.

[0038] While examples of "manual labor costs," "post-release source code maintenance costs," and "response quality" are shown, this disclosure is not limited to these examples. Users can appropriately configure their requirements regarding system migration. Furthermore, while examples of items including important requirements, priority, and explanation are shown, other items may also be included. Also, the priority level is not limited to five levels.

[0039] (Implementation plan and evaluation score storage table) Figure 9 shows an example of the implementation plan and evaluation score storage table 40. The implementation plan and evaluation score storage table 40 includes the following items: migration pattern, implementation plan, explanation, manual work reduction effect, source code maintainability, and response quality. For example, ID1 shows a merge processing pattern as the migration pattern and merge processing in the business logic layer as the implementation plan. The explanation column shows the details of the implementation plan, and in the case of ID1, it shows the explanations "Retrieve all data via REST API from other microservices that have tables to be used for merge support" and "The business logic layer within the calling microservice performs the merge of that data." The evaluation score is shown from three perspectives, and in the case of ID1, the manual work reduction effect is 3, source code maintainability is 3, and response quality is 3.

[0040] In the implementation plan and evaluation score storage table 40 in Figure 9, the implementation plan items and description items correspond to the implementation plan candidates generated by the implementation plan generation unit 26. The migration pattern item corresponds to the migration pattern of the implementation plan candidate determined by the migration pattern determination unit 27 in step S30 of Figure 6. Furthermore, the manual work reduction effect, source code maintainability, and response quality correspond to the important requirements in the important requirements priority table 37 read in step S31 of Figure 6. For example, "manual work reduction effect" in Figure 9 corresponds to "manual work cost" in the important requirements priority table 37 of Figure 8, "source code maintainability" in Figure 9 corresponds to "resource post-resource code maintenance cost" in the important requirements priority table 37 of Figure 8, and "response quality" in Figure 9 corresponds to "response quality" in the important requirements priority table 37 of Figure 8.

[0041] Furthermore, the storage device (storage unit) 20 can also be said to store an implementation candidate table that defines implementation candidate proposals for one or more migration pattern candidates from the old system to the new system, an implementation candidate evaluation score table that defines evaluation scores for implementation requirements for each system implementation proposal, and an implementation requirement priority table in which the user defines the priority of the aforementioned implementation requirements. To explain in relation to the implementation proposal and evaluation score storage table 40 in Figure 9, the implementation candidate table corresponds to the contents of the migration pattern and implementation proposal as items, and the implementation candidate evaluation score table corresponds to the contents of the manual work reduction effect, source code maintainability and response quality as items. The implementation requirement priority table corresponds to the important requirements priority table 37 in Figure 8.

[0042] Using the implementation proposal and evaluation score storage table 40, the processor (arithmetic unit) 44 identifies an implementation proposal from the implementation proposal candidate table based on the migration pattern information of at least one of the migration pattern candidates, and calculates the degree of agreement between the implementation proposal evaluation score table, the implementation requirement priority table, the evaluation score of the implementation proposal obtained from it, and the priority of the requirements. Specifically, in step S32 of Figure 6, the critical requirements analysis unit 28 assigns evaluation scores to the implementation proposal and evaluation score storage table 40 of Figure 9 based on the effect of reducing manual work, source code maintainability, and response quality transfer. In step S33 of Figure 6, the critical requirements analysis unit 28 determines whether there are any implementation proposal candidates among the implementation proposal candidates for which the relationship between the ranking of the evaluation score and the priority of the critical requirements is high (high degree of agreement).

[0043] Here, the calculation unit (critical requirements analysis unit 28) calculates the degree of agreement as the distance calculated based on the priority and the evaluation score. Specifically, the weighted Euclidean distance or the Mahalanobis distance can be applied to calculate the degree of agreement. As an example, the case using the Mahalanobis distance will be described. As shown in Figure 8, the priority of the effect of manual work reduction is 5, the priority of source code maintainability is 3, and the priority of response quality is 5. The distance between these priorities and each evaluation score is calculated. In the case of ID 1, the Mahalanobis distance is ((3-5)2 +(3 - 3) 2 +(3 - 5) 2 ) 1 / 2 = 2.83. In the case of ID2, the Mahalanobis distance is ((2 - 5) 2 +(2 - 3) 2 +(3 - 5) 2 ) 1 / 2 = 3.74. In the case of ID3, the Mahalanobis distance is ((4 - 5) 2 +(4 - 3) 2 +(2 - 5) 2 ) 1 / 2 = 3.32. Since it is determined that the smaller the Mahalanobis distance, the higher the degree of coincidence, in this disclosure, ID1 has the highest degree of coincidence. In addition to comparing multiple degrees of coincidence, for example, a predetermined threshold may be set to evaluate the degree of coincidence. For example, it may be determined that the degree of coincidence is high when the Mahalanobis distance is less than or equal to a predetermined threshold, and the degree of coincidence is low when it is greater than the predetermined threshold.

[0044] (Requirement relaxation rule storage table) FIG. 10 is a diagram showing an example of the requirement relaxation rule storage table 41. The requirement relaxation rule storage table 41 includes, as items, a requirement relaxation rule and an explanation. For example, Relaxation Rule 1 of ID1 shows the change content that when setting the priority of the manual operation cost to 5, the priority of the response quality is set to 3 or less, as shown in the explanation. Also, Relaxation Rule 2 of ID2 shows the change content that when setting the priority of the manual operation cost to 5, the priority of the post - release source code maintenance cost is set to 3 or less, as shown in the explanation. Note that the manual operation cost and the post - release source code maintenance cost are indicators defined by the user, and the response quality is a general indicator in system development requirements. The relaxation requirement rule can be set by combining the user's definition and the system development requirements.

[0045] In step S34 of Figure 6, if there are no implementation proposals with a high degree of agreement (i.e., the degree of agreement is greater than a predetermined threshold) (NO in step S33), the critical requirements analysis unit 28 changes the priority defined in the critical requirements priority table 37 according to the information in the requirements relaxation rule storage table 41. Based on the changed priority, the critical requirements analysis unit 28 calculates the evaluation score and degree of agreement and performs the degree of agreement evaluation again (step S32).

[0046] (Example of implementation plan and selection screen) Figure 11 shows an example output 360 of the implementation proposal list. The result output unit (output unit) 33 outputs implementation proposals that satisfy predetermined conditions regarding the degree of agreement. Specifically, the implementation proposal list created in step S35 of Figure 6 is presented to the user by the result output unit 33 in step S36 of Figure 6. The result output unit 33 presents the output example 360, including the implementation proposal list, to the user, for example, via the display device of the input / output device 43. The result output unit 33 also receives user operations on buttons, checkboxes 368 and 370, and scroll bar 371 included in the output example 360 ​​via the input / output device 43, and can present other output examples corresponding to the user's operations.

[0047] The transition pattern display unit 361 indicates that the transition pattern of the implementation proposal included in the implementation proposal list is a merge process. The initial number display unit 362 indicates the number of implementation proposals extracted by evaluation based on the initial critical requirements priority table 37, and in this disclosure, the number extracted is 0. The adjusted number display unit 363 indicates the number of implementation proposals extracted by evaluation based on the critical requirements priority table 37 after the priority has been changed, and in this disclosure, the number extracted is 2.

[0048] The Details button 364 is a button that accepts user input; if selected by the user, it displays more detailed information about the transition pattern. If the Details button 365 is selected, it displays more detailed information about the extracted implementation proposals.

[0049] The implementation proposal list 366 is the list of implementation proposals generated in step S35 of Figure 6. The implementation proposal list 366 includes the implementation proposal name, the implementation proposal content, and the degree of match. This disclosure shows a case where there are two implementation proposals: #1, a join response in the SQL layer, and #2, a join process in the business logic layer. The implementation proposal list includes prioritization based on the degree of match, for example, arranged in descending order of the degree of match. If the details button 367 is selected, more detailed information about the join response in the SQL layer (#1) is presented, and if the details button 367 is selected, more detailed information about the join process in the business logic layer (#2) is presented. Checkboxes 368 and 370 indicate the implementation proposal to be selected from the implementation proposals shown in the implementation proposal list 366. If either checkbox 368 or 370 is selected and the confirmation button 372 is selected, it is selected whether or not to execute the implementation proposal. Also, if the reset button 373 is selected, the implementation proposals in the implementation proposal list are cleared. Furthermore, if the Cancel button 374 is selected, the process of generating implementation proposals for the system migration will be canceled.

[0050] Figure 12 shows an example of outputting detailed information of the implementation proposal. Output example 380 is what the result output unit 33 presents to the user via the input / output device 43 when the checkbox 368 in Figure 11 is selected and the details button 367 is selected. Output example 380 includes more detailed information of the implementation proposal that supports joins in the SQL layer #1 corresponding to checkbox 368.

[0051] The evaluation score display unit 381 shows the breakdown of the evaluation score evaluated by the critical requirements analysis unit 28, and corresponds to the information shown in "manual work reduction effect," "source code maintainability," and "response quality" in the implementation plan and evaluation score storage table 40 shown in Figure 9. The implementation method display unit 382 shows the implementation work for system migration that will be carried out if the implementation plan is adopted.

[0052] If the user selects the Execute button 383, the system migration will be performed according to the execution plan shown in Output Example 380. If the user selects the Back button 384, the system will transition from Output Example 380 to Output Example 360. If the user selects the Cancel button 385, the process of generating the implementation plan for the system migration will be canceled.

[0053] Figure 13 shows an example of source code output. The input / output device 43 displays the source code of the implementation proposal. Specifically, output example 400 is presented to the user by the result output unit 33 via the input / output device 43 when the execute button 383 in Figure 12 is selected. The source code shown on the presentation screen 400 performs the following operations: acquiring data from an external microservice, temporarily saving it, performing join operations with other tables, and deleting the temporary data. If the back button 401 is selected, output example 400 transitions to output example 380 in Figure 12. If the cancel button 402 is selected, the process of generating the implementation proposal in the system migration is canceled.

[0054] Figure 14 shows another example of detailed output for the implementation plan. Output example 410 differs from output example 380 in Figure 12 in that the implementation plan does not include source code information. For implementation plans that perform integration processing in the business logic layer, source code has not been created because a source code template does not exist. Therefore, the code verification unit 413 displays that there is no source code template.

[0055] The evaluation score display unit 411 shows the same content as the evaluation score display unit 381 in Figure 12, and the implementation method display unit 412 shows the same content as the implementation method display unit 382 in Figure 12. The back button 414 and the cancel button 415 are also the same as the back button 384 and the cancel button 385 in Figure 12.

[0056] Note that while the output examples 360 in Figure 11, 380 in Figure 12, 400 in Figure 13, and 410 in Figure 14 illustrate the case where the results are presented to the user via the input / output device 43 by the result output unit 33, this disclosure is not limited to this case. The result output unit 33 may also present this information to the client-server device 4 via the communication device 42. By presenting this information, the client-server device 4 can implement the implementation proposal recommendation function 5 for the user.

[0057] (Migration implementation process) Figure 15 is a flowchart illustrating the details of the migration implementation process. The calculation unit (particularly the migration implementation unit 31) performs implementation based on the outputted implementation proposal. Specifically, in step S40, the migration implementation unit 31 reads the implementation proposal selected by the user for the migration pattern.

[0058] Next, in step S41, the migration implementation unit 31 determines whether the migration process has been completed for all migration patterns. If the migration process has been completed for all implementation proposals included in the selected migration pattern (YES in step S41), the migration implementation process ends. If the migration process has not been completed for all implementation proposals included in the selected migration pattern (NO in step S41), the process proceeds to step S42.

[0059] In step S42, the migration implementation unit 31 determines whether or not a source code template for the proposed implementation exists. If a source code template for the proposed implementation exists (YES in step S42), the migration implementation unit 31 performs modification processing based on the source code template for the proposed implementation in step S45. If a source code template for the proposed implementation does not exist (NO in step S42), the user interface unit 34 presents the user with the option to use the generated AI via the input / output device 43 in step S43. The user interface unit 34 can also present the user of the client-server device 4 with the option to use the generated AI via the communication device 42. This allows the client-server device 4 to perform the AI ​​utilization function 7.

[0060] If the user approves the use of the generation AI, in step S44, the migration implementation unit 31 performs a conversion based on the source code generated by the generation AI. The migration implementation unit 31 uses the source code generated by the generation AI as an implementation plan and performs the system migration. The implementation plan registration unit 35 of the user interface unit 34 registers the source code generated by the generation AI as an implementation plan corresponding to the migration plan. The implementation plan registration unit 35 can also register implementation plans created by users of the client-server device 4 via the communication device 42. This allows the client-server device 4 to perform the implementation plan registration function 6.

[0061] Figure 16 shows an example output 420 including source code generated by the generation AI. Figure 16 shows, for example, an implementation proposal for the "integration processing at the business logic layer" shown in the output example 410 of Figure 14. Figure 16 may be presented to the user via the input / output device 43 by the implementation proposal registration unit 35, or it may be presented to the user of the client server device 4 via the communication device 42.

[0062] Output example 420 includes the generated code section 421 generated by the generation AI and the original code section 422, which is the original source code from the old system. The original code section 422 is the source code that creates a table containing all combinations of records where the col1 column of ms1_tbl1 and ms2_tbl2 matches. The generated code section 421 is the source code transformed by the generation AI from the original code section 422, and shows the source code for retrieving data from an external microservice and joining the two tables Ms1Tbl1 and Ms2Tbl2.

[0063] Even when selecting a migration pattern for which no source code template exists, it is possible to reduce the increase in workload by using AI to create implementation proposals. In addition, even if an implementation proposal exists, if manual modifications are necessary, AI can be used to modify the implementation proposal. By doing so, it is possible to reduce the increase in workload compared to manual modifications.

[0064] (Effects / Actions) According to the present invention, when performing a system migration, implementation plans can be displayed and recommended. Furthermore, since the implementation plans are recommended based on multiple implementation requirements and their priority levels provided in advance by the user, they conform to the requirements of the system migration. Therefore, the possibility of additional work such as modifications occurring after the system migration can be reduced, and the increase in workload can be suppressed.

[0065] Although embodiments of the present invention have been described above, the present invention is not limited to the embodiments described above, and various modifications are possible without departing from the spirit of the invention.

[0066] The following describes, but is not limited to, embodiments that may constitute the present invention. (Aspect 1) An implementation proposal candidate table that defines implementation proposal candidates for one or more migration patterns from the old system to the new system, For each proposed system implementation, an implementation proposal evaluation score table is provided, which defines an evaluation score for the implementation requirements. A storage unit that stores an implementation requirement priority table in which the user defines the priority of the aforementioned implementation requirements, Based on the information of at least one migration pattern among the migration pattern candidates, an implementation plan is identified from the implementation plan candidate table, and a calculation unit calculates the degree of agreement between the implementation plan evaluation score table, the implementation requirement priority table, the evaluation score of the implementation plan obtained from the above, and the priority of the requirements. An output unit that outputs an implementation proposal that satisfies the aforementioned degree of agreement under predetermined conditions, A computing system characterized by comprising the following features. (Aspect 2) The calculation system described in Embodiment 1, The above one or more migration pattern candidates are identified from the proposed division of the old system. A computing system characterized by the following features. (Aspect 3) A calculation system according to Embodiment 1 or Embodiment 2, If the degree of agreement is greater than a predetermined threshold, The aforementioned arithmetic unit, The priority specified in the aforementioned implementation requirements priority table is changed, Based on the modified priority, the evaluation score and the degree of agreement are calculated. A computing system characterized by the following features. (Aspect 4) A calculation system according to any one of embodiments 1 to 3, The aforementioned arithmetic unit, Based on the degree of agreement, the implementation proposals included in the candidate implementation proposal table are extracted and an implementation proposal list is generated. A computing system characterized by the following features. (Appendix 5) A calculation system according to any one of embodiments 1 to 4, The output unit is, Output the source code of the aforementioned implementation proposal. A computing system characterized by the following features. (Aspect 6) A calculation system according to any one of embodiments 1 to 5, The aforementioned arithmetic unit, The distance calculated based on the priority and evaluation score is calculated as the degree of agreement. A computing system characterized by the following features. (Aspect 7) A calculation system according to any one of embodiments 1 to 6, The aforementioned new system is a microservices system. A computing system characterized by the following features. (Pattern 8) A calculation system according to any one of embodiments 1 to 7, The aforementioned arithmetic unit, The implementation will be carried out based on the outputted implementation proposal. A computing system characterized by the following features. (Aspect 9) A calculation system according to any one of embodiments 1 to 8, The aforementioned arithmetic unit, To calculate the impact of migrating to the new system, A computing system characterized by the following features. (Aspect 10) A calculation system according to any one of embodiments 1 to 9, The aforementioned list of proposed implementations includes prioritization based on the degree of agreement, A computing system characterized by the following features. (Aspect 11) An implementation proposal candidate table that defines implementation proposal candidates for one or more migration patterns from the old system to the new system, For each proposed system implementation, an implementation proposal evaluation score table is provided, which defines an evaluation score for the implementation requirements. A storage unit that stores an implementation requirement priority table in which the user defines the priority of the aforementioned implementation requirements, Based on the information of at least one migration pattern among the migration pattern candidates, an implementation plan is identified from the implementation plan candidate table, and a calculation unit calculates the degree of agreement between the implementation plan evaluation score table, the implementation requirement priority table, the evaluation score of the implementation plan obtained from the above, and the priority of the requirements. An output unit that outputs an implementation proposal that satisfies the aforementioned degree of agreement under predetermined conditions, A computing device characterized by comprising: (Aspect 12) Processor and Memory and An implementation proposal candidate table that defines implementation proposal candidates for one or more migration patterns from the old system to the new system, For each proposed system implementation, an implementation proposal evaluation score table is provided, which defines an evaluation score for the implementation requirements. A calculation method in a calculation system comprising: an implementation requirements priority table in which a user defines the priority of the aforementioned implementation requirements; and a storage unit that stores the table, According to the processing instructions stored in the memory, Based on the migration pattern information of at least one of the migration pattern candidates, an implementation proposal is identified from the implementation proposal candidate table, and a calculation step is performed to calculate the degree of agreement between the implementation proposal evaluation score table, the implementation requirement priority table, the evaluation score of the implementation proposal obtained from the above, and the priority of the requirements. An output step that outputs an implementation proposal that satisfies the aforementioned degree of agreement under predetermined conditions, A method of calculation characterized by causing the processor to perform the calculation. [Explanation of Symbols]

[0067] 1: Microservice migration system 2: Microservice implementation support system (computation system) 3: Resource management server device 4: Client-server device 20: Storage device 21: Functional Module Section 22: Reading Section 23: Division plan generation part 24:Analysis Department 25: Division plan design department 26: Implementation Proposal Generation Unit 27: Transition Pattern Determination Unit 28: Important requirements analysis department 29: Implementation Proposal List Generation Unit 30: Presentation of Implementation Proposal List 31: Transition Implementation Department 32: Impact Prediction Section 33: Result Output Section 34: User Interface Department 35: Implementation Proposal Registration Department 36: Data Department 37: Prioritization Table for Important Requirements 38: Resource Specifications 39: Transition Pattern Judgment Criteria Storage Table 40: Evaluation score storage table 41: Table for storing rule relaxation requirements 42: Communication equipment 43: Input / Output Devices 44: Processor 45: Memory

Claims

1. An implementation proposal candidate table that defines implementation proposal candidates for one or more migration patterns from the old system to the new system, For each proposed system implementation, an implementation proposal evaluation score table is provided, which defines an evaluation score for the implementation requirements. A storage unit that stores an implementation requirement priority table in which the user defines the priority of the aforementioned implementation requirements, Based on the information of at least one migration pattern among the migration pattern candidates, an implementation plan is identified from the implementation plan candidate table, and a calculation unit calculates the degree of agreement between the implementation plan evaluation score table, the implementation requirement priority table, the evaluation score of the implementation plan obtained from the above, and the priority of the requirements. An output unit that outputs an implementation proposal that satisfies the aforementioned degree of agreement under predetermined conditions, A computing system characterized by comprising the following features.

2. The calculation system according to claim 1, The above one or more migration pattern candidates are identified from the proposed division of the old system. A computing system characterized by the following features.

3. The calculation system according to claim 1, If the degree of agreement is greater than a predetermined threshold, The aforementioned arithmetic unit, The priority specified in the aforementioned implementation requirements priority table is changed, Based on the modified priority, the evaluation score and the degree of agreement are calculated. A computing system characterized by the following features.

4. The calculation system according to claim 1, The aforementioned arithmetic unit, Based on the degree of agreement, the implementation proposals included in the candidate implementation proposal table are extracted and an implementation proposal list is generated. A computing system characterized by the following features.

5. The calculation system according to claim 1, The output unit is, Output the source code of the aforementioned implementation proposal. A computing system characterized by the following features.

6. The calculation system according to claim 1, The aforementioned arithmetic unit, The distance calculated based on the priority and evaluation score is calculated as the degree of agreement. A computing system characterized by the following features.

7. The calculation system according to claim 1, The aforementioned new system is a microservices system. A computing system characterized by the following features.

8. The calculation system according to claim 1, The aforementioned arithmetic unit, The implementation will be carried out based on the outputted implementation proposal. A computing system characterized by the following features.

9. The calculation system according to claim 1, The aforementioned arithmetic unit, To calculate the impact of migrating to the new system, A computing system characterized by the following features.

10. The calculation system according to claim 4, The aforementioned list of proposed implementations includes prioritization based on the degree of agreement, A computing system characterized by the following features.

11. An implementation proposal candidate table that defines implementation proposal candidates for one or more migration patterns from the old system to the new system, For each proposed system implementation, an implementation proposal evaluation score table is provided, which defines an evaluation score for the implementation requirements. A storage unit that stores an implementation requirement priority table in which the user defines the priority of the aforementioned implementation requirements, Based on the information of at least one migration pattern among the migration pattern candidates, an implementation plan is identified from the implementation plan candidate table, and a calculation unit calculates the degree of agreement between the implementation plan evaluation score table, the implementation requirement priority table, the evaluation score of the implementation plan obtained from the above, and the priority of the requirements. An output unit that outputs an implementation proposal that satisfies the aforementioned degree of agreement under predetermined conditions, A computing device characterized by comprising:

12. Processor and Memory and An implementation proposal candidate table that defines implementation proposal candidates for one or more migration patterns from the old system to the new system, For each proposed system implementation, an implementation proposal evaluation score table is provided, which defines an evaluation score for the implementation requirements. A calculation method in a calculation system comprising: an implementation requirements priority table in which a user defines the priority of the aforementioned implementation requirements; and a storage unit that stores the table, Based on the information of at least one migration pattern among the migration pattern candidates, an implementation plan is identified from the implementation plan candidate table, and a calculation step is performed to calculate the degree of agreement between the implementation plan evaluation score table, the implementation requirement priority table, the evaluation score of the implementation plan obtained from the implementation plan, and the priority of the requirements. An output step that outputs an implementation proposal that satisfies the aforementioned degree of agreement under predetermined conditions, A calculation method characterized by comprising: