Microservice creation using runtime metadata

US12288044B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12288044-B2
Application numberUS-202318160125-A
CountryUS
Kind codeB2
Filing dateJan 26, 2023
Priority dateJan 26, 2023
Publication dateApr 29, 2025
Grant dateApr 29, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A computer implemented method creates microservices for an application. A number of processor units clusters programs and data structures for the application using runtime metadata to form groups of the programs and data structures. The runtime metadata is obtained from running the application. The number of processor units creates a design for the microservices for the application using the groups of the programs and the data structures.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer implemented method for creating microservices for an application, the computer implemented method comprising: clustering, by a number of processor units, programs and data structures for the application using runtime metadata to form groups of the programs and the data structures for the microservices, wherein the runtime metadata is obtained from running the application and wherein the runtime metadata comprises information describing how the programs in the application interacts with data in the data structures in response to running the application; creating, by the number of processor units, a design for the microservices for the application using the groups of the programs and the data structures; recommending, by the number of processor units, updates to the groups to meet a set of objectives; and performing, by the number of process or units, a number of the updates to the groups of the programs and the data structures based a selection of the number of the updates, wherein each group in the groups is for a microservice in the microservices and wherein recommending, by the number of processor units, the updates to the groups to meet the set of objectives comprises: identifying a first number of cross database queries that access a data structure in a source database for the data structure; determining a first execution frequency for the first number of cross database queries; identifies a second number of cross database queries that occur from placing the data structure in a target database; determining a second execution frequency for the second number of cross database queries; and recommending moving the data structure from the source database to the target database in response to the second execution frequency being less than the first execution frequency by a threshold. 2. The computer implemented method of claim 1 , wherein clustering, by the number of processor units, the programs and the data structures for the application using the runtime metadata to form the groups of the programs and the data structures comprises: creating, by the number of processor units, a call graph, wherein nodes in the call graph represent the programs and the data structures in the application and wherein edges between the nodes identify relationships between the programs and between the programs and the data structures; and clustering, by the number of processor units, the programs and the data structures for the application using the call graph and the runtime metadata to form the groups of the programs and the data structures, wherein the runtime metadata is obtained from running the application. 3. The computer implemented method of claim 2 further comprising: setting, by the number of processor units, weights for the edges in the call graph using the runtime metadata. 4. The computer implemented method of claim 3 , wherein the runtime metadata used to set the weights are selected from a group consisting at least one of a frequency a table is accessed by a particular program, an execution frequency of queries on a database, a frequency at which different queries are made by a program, average time to execute a query, change in data schemas, times at which the queries are executed, or an average output size for the query. 5. The computer implemented method of claim 1 , wherein each group in the groups is for a microservice in the microservices and wherein recommending, by the number of processor units, the updates to the groups to meet the set of objectives comprises: recommending, by the number of processor units, the updates to the groups that reduce data access issues in accessing data in the microservices, wherein the updates comprises placement of the programs and data structures in the groups taking into account the runtime metadata using criteria that reduces the data access issues. 6. The computer implemented method of claim 1 , further comprising: determining, by the number of processor units, an order in which to create the microservices for the application based a complexity of each of the microservices. 7. A computer system comprising: a number of processor units, wherein the number of processor units executes program instructions to: cluster programs and data structures for an application using runtime metadata to form groups of the programs and the data structures for microservices, wherein the runtime metadata is obtained from running the application and wherein the runtime metadata comprises information describing how the programs in the application interacts with data in the data structures in response to running the application; create a design for microservices for the application using the groups of the programs and the data structures; recommend updates to the groups to meet a set of objectives; and perform a number of the updates to the groups of the programs and the data structures on a selection of the number of the updates, wherein each group in the groups is for a microservice in the microservices and wherein recommend updates to the groups to meet the set of objectives comprises: identify a first number of cross database queries that access a data structure in a source database for the data structure; determine a first execution frequency for the first number of cross database queries; identify a second number of cross database queries that occur from placing the data structure in a target database; determine a second execution frequency for the second number of cross database queries; and recommend moving the data structure from the source database to the target database in response to the second execution frequency being less than the first execution frequency by a threshold. 8. The computer system of claim 7 , wherein in clustering the programs and the data structures for the application using the runtime metadata to form the groups of the programs and the data structures, the number of processor units executes the program instructions to: create a call graph, wherein nodes in the call graph represent the programs and the data structures in the application and wherein edges between the nodes identify relationships between the programs and between the programs and the data structures; and cluster the programs and the data structures for the application using the call graph and the runtime metadata to form the groups of the programs and the data structures, wherein the runtime metadata is obtained from running the application. 9. The computer system of claim 8 , wherein the number of processor units executes the program instructions to: set weights for the edges in the call graph using the runtime metadata. 10. The computer system of claim 9 , wherein the runtime metadata used to set the weights are selected from a group consisting at least one of a frequency a table is accessed by a particular program, an execution frequency of queries on a database, a frequency at which different queries are made by a program, average time to execute a query, change in data schemas, times at which the queries are executed, or an average output size for the query. 11. The computer system of claim 7 , wherein in recommending the updates to the groups to meet the set of objectives, the number of processor units executes the program instructions to: recommend the updates to the groups that reduce data access issues in accessing data in the microservices. 12. The computer system of claim 7 , wherein the number of processor units executes the program instructions to: determine an order in which to create the microservices for the application based a complexity of each of the microservices.

Assignees

Inventors

Classifications

  • Updates (security arrangements therefor G06F21/57) · CPC title

  • G06F8/30Primary

    Creation or generation of source code · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12288044B2 cover?
A computer implemented method creates microservices for an application. A number of processor units clusters programs and data structures for the application using runtime metadata to form groups of the programs and data structures. The runtime metadata is obtained from running the application. The number of processor units creates a design for the microservices for the application using the gr…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F8/30. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 29 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).