Analysis of application programming interface usage for improving a computer system

US11550640B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11550640-B2
Application numberUS-201916389096-A
CountryUS
Kind codeB2
Filing dateApr 19, 2019
Priority dateJan 19, 2017
Publication dateJan 10, 2023
Grant dateJan 10, 2023

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 method and system. Application programming interface (API) call data is analyzed for a user to identify a relationship between API input data and API output data of two or more API calls. API usage information is generated by utilizing a dependency between the two or more API calls. The API usage information includes information pertaining to how data flows between the two or more API calls. API provision is improved with respect to execution of a process, based on utilization of the API usage information. Improving API provision includes: receiving a specification of an improvement to be achieved for the process, selecting at least two APIs from the two or more APIs for achieving the improvement, generating a new API that combines the at least two APIs, and modifying the process by including the new API in the process and removing the at least two APIs from the process.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, said method comprising: analyzing, by one or more processors of a computer system, application programming interface (API) call data for a user to identify a relationship between API input data and API output data of two or more API calls to or from respective two or more APIs; generating, by the one or more processors, API usage information, said generating the API usage information utilizing a dependency between the two or more API calls, wherein the API usage information comprises information pertaining to how data flows between the two or more API calls; and improving API provision with respect to execution of a process that includes the two or more APIs, said improving API provision being based on utilization of the API usage information, said improving API provision comprising: receiving a specification of an improvement to be achieved for the process, selecting a plurality of APIs from the two or more APIs for achieving the improvement, generating a new API that combines the plurality of APIs into an API combination included in the new API, and modifying the process by including the new API in the process and removing the plurality of APIs from the process, wherein the improvement is achieved due to the new API in the modified process. 2. The method of claim 1 , said method further comprising: prior to said generating the API usage information, determining, by the one or more processors, the dependency between the two or more API calls, based on the identified relationship. 3. The method of claim 1 , wherein said analyzing comprises determining that input data of an API call is based on output data of a preceding API call and in response, identifying a relationship between the input data of the API call and the output data of the preceding API call. 4. The method of claim 3 , wherein said determining that the input data of the API call is based on the output data of the preceding API call comprises: determining that the input data of the API call is selected from the group consisting of an aggregation, a subset, a concatenation, a conversion, a translation of the response data of the preceding API call, and combinations thereof. 5. The method of claim 1 , wherein said obtaining API call data for the user comprises: intercepting API traffic between an API consumer and an API provider, said API consumer being controlled by the user to invoke the two or more API calls. 6. The method of claim 5 , wherein said obtaining API call data for the user comprises: reading API call data from the intercepted API traffic; storing the read API call data in a data store; and forwarding the intercepted API traffic to the API traffic's intended destination. 7. The method of claim 5 , wherein said intercepting API traffic is performed at either the API consumer or the API provider. 8. The method of claim 1 , said method further comprising: obtaining, by the one or more processors, API call data for a second user; and analyzing, by the one or more processors, the obtained API call data for the second user to determine a refined dependency between the two or more API calls indication of accuracy of the obtained API call data for the second user. 9. A computer program product, comprising one or more computer readable hardware storage devices having computer readable program code stored therein, said program code containing instructions executable: by one or more processors of a computer system to implement a method, said method comprising: analyzing, by one or more processors, application programming interface (API) call data for a user to identify a relationship between API input data and API output data of two or more API calls to or from respective two or more APIs; generating, by the one or more processors, API usage information, said generating the API usage information utilizing a dependency between the two or more API calls, wherein the API usage information comprises information pertaining to how data flows between the two or more API calls; and improving API provision with respect to execution of a process that includes the two or more APIs, said improving API provision being based on utilization of the API usage information, said improving API provision comprising: receiving a specification of an improvement to be achieved for the process, selecting a plurality of APIs from the two or more APIs for achieving the improvement, generating a new API that combines the plurality of APIs into an API combination included in the new API, and modifying the process by including the new API in the process and removing the plurality of APIs from the process, wherein the improvement is achieved due to the new API in the modified process. 10. The computer program product of claim 9 , said method further comprising: prior to said generating the API usage information, determining, by the one or more processors, the dependency between the two or more API calls, based on the identified relationship. 11. The computer program product of claim 9 , wherein said analyzing comprises determining that input data of an API call is based on output data of a preceding API call and in response, identifying a relationship between the input data of the API call and the output data of the preceding API call. 12. The computer program product of claim 11 , wherein said determining that the input data of the API call is based on the output data of the preceding API call comprises: determining that the input data of the API call is selected from the group consisting of an aggregation, a subset, a concatenation, a conversion, a translation of the response data of the preceding API call, and combinations thereof. 13. The computer program product of claim 9 , wherein said obtaining API call data for the user comprises: intercepting API traffic between an API consumer and an API provider, said API consumer being controlled by the user to invoke the two or more API calls. 14. The computer program product of claim 9 , said method further comprising: obtaining, by the one or more processors, API call data for a second user; and analyzing, by the one or more processors, the obtained API call data for the second user to determine a refined dependency between the two or more API calls indication of accuracy of the obtained API call data for the second user. 15. A computer system, comprising one or more processors, one or more memories, and one or more computer readable hardware storage devices, said one or more hardware storage device containing program code executable by the one or more processors via the one or more memories to implement a method, said method comprising: analyzing, by one or more processors, application programming interface (API) call data for a user to identify a relationship between API input data and API output data of two or more API calls to or from respective two or more APIs; generating, by the one or more processors, API usage information, said generating the API usage information utilizing a dependency between the two or more API calls, wherein the API usage information comprises information pertaining to how data flows between the two or more API calls; and improving API provision with respect to execution of a process that includes the two or more APIs, said improving API provision being based on utilization of the API usage information, said improving API provision comprising: receiving a specification of an improvement to be achieved for the process, selecting a plurality of APIs from the two or more APIs for achieving the improvement, generating a new API that combines the plurality f API

Assignees

Inventors

Classifications

  • G06F9/541Primary

    via adapters, e.g. between incompatible applications · 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 US11550640B2 cover?
A method and system. Application programming interface (API) call data is analyzed for a user to identify a relationship between API input data and API output data of two or more API calls. API usage information is generated by utilizing a dependency between the two or more API calls. The API usage information includes information pertaining to how data flows between the two or more API calls. …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/541. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 10 2023 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).