Analytics for application programming interfaces
US-2015128156-A1 · May 7, 2015 · US
US9720746B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9720746-B2 |
| Application number | US-201514822189-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 10, 2015 |
| Priority date | Nov 7, 2013 |
| Publication date | Aug 1, 2017 |
| Grant date | Aug 1, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
API analytics systems and methods are provided. Frequently occurring API usage patterns may be determined from API call data collected from across an API ecosystem. Alternatively or in addition, a classification structure, such as a decision tree, may be generated from the API usage patterns. A type of activity that resulted in a set of API calls being invoked may be determined from the classification structure. A similarity or difference between the set of API calls and the frequently occurring API usage patterns may also be determined and/or identified.
Opening claim text (preview).
What is claimed is: 1. An application programming interface (API) analytics system comprising: a memory comprising API call data that identifies a set of API calls detected during performance of an activity, and a classification structure that maps predetermined API usage patterns to predetermined types of activities, the classification structure comprising a plurality of nodes connected by a plurality of branches, the nodes representing tests, the branches representing outcomes of the tests, leaf nodes of the nodes representing the predetermined types of activities; and a processor configured to: form truncated API call data in which duplicated API calls in the set of API calls are consolidated in the truncated API call data; and classify the activity as one of the predetermined types of activities based on a traversal of at least one of the branches of the classification structure to a leaf node that represents the one of the predetermined types of activities, the traversal governed by an application of a set of the tests to the truncated API call data, the set of the tests including any of the tests represented by any of the nodes on a path that includes the at least one of the branches of the classification structure and that ends at the leaf node. 2. The system of claim 1 , wherein each API call in the set of API calls is a respective programmatic procedure. 3. The system of claim 1 , wherein the processor is configured to identify any differences between the truncated API call data and a predetermined API usage pattern that matches the truncated API call data. 4. The system of claim 1 wherein the tests include a test related to an execution time of a programmatic procedure identified in the truncated API call data. 5. The system of claim 1 wherein an API call repeated n times in the API call data is represented as a transition from the API call to the API call in the truncated API call data when n is greater than a repetition threshold. 6. The system of claim 1 wherein the tests include a test related to an amount of time elapsed between execution of two programmatic procedures identified in the truncated API call data. 7. The system of claim 1 further comprising an API monitor that monitors an API ecosystem and collects the API call data. 8. A non-transitory computer readable storage medium comprising computer executable instructions, the computer executable instructions executable by a processor, the computer executable instructions comprising: instructions executable to detect a set of API calls invoked during performance of an activity, the set of API calls identified in API call data; instructions executable to provide a classification structure that maps predetermined API usage patterns to predetermined types of activities, the classification structure comprising a plurality of nodes connected by a plurality of branches, the nodes representing tests, the branches representing outcomes of the tests, leaf nodes of the nodes representing the predetermined types of activities; instructions executable to generate truncated API call data through consolidation of API calls that are duplicated in the set of API calls; and instructions executable to determine that the activity is one of the predetermined types of activities as a result of a traversal of a path that includes a test node, a branch and a leaf node of the classification structure, the leaf node representing the one of the predetermined types of activities, wherein the traversal is in accordance with application of a test associated with the test node, and proceeding down the path along the branch, which corresponds to a result of the test. 9. The computer readable storage medium of claim 8 further comprising instructions executable to convert the truncated API call data to directed graphs. 10. The computer readable storage medium of claim 9 further comprising instructions executable to identify API usage patterns that occur above a threshold frequency in the truncated API call data with a frequent subgraph mining algorithm applied to the directed graphs, wherein. 11. The computer readable storage medium of claim 8 , wherein each API call in the set of API calls is for a corresponding programmatic procedure that was invoked over a network in response to a corresponding API request. 12. The computer readable storage medium of claim 8 further comprising instructions executable to monitor an API ecosystem and collect the API call data in memory. 13. The computer readable storage medium of claim 8 further comprising instructions executable to group the API call data into sets of API calls based on a context included in API requests that invoked the API calls in each one of the sets of API calls. 14. The computer readable storage medium of claim 8 further comprising instructions executable to group the API call data into sets of API calls based on a context identified by an API management gateway. 15. A method to determine an activity type, the method comprising: detecting a set of API calls invoked during performance of an activity; identifying the set of API calls in API call data; providing a classification structure that maps predetermined API usage patterns to predetermined types of activities, the classification structure comprising a plurality of nodes connected by a plurality of branches, the nodes representing tests, the branches representing outcomes of the tests, leaf nodes of the nodes representing the predetermined types of activities; forming truncated API call data by consolidating duplicated API calls in the set of API calls into the truncated API call data; and determining that the activity is one of the predetermined types of activities as a result of traversing at least one of the branches of the classification structure to a leaf node that represents the one of the predetermined types of activities, wherein the traversing comprises applying a test to the truncated API data, the test associated with a node on a path that includes the at least one of the branches of the classification structure and ends at the leaf node, and proceeding down the path along a branch corresponding to a result of the test. 16. The method of claim 15 , further comprising determining a difference between the API usage pattern and an extracted API usage pattern that is extracted from the set of API calls invoked during the activity. 17. The method of claim 15 , wherein the classification structure comprises a classification decision tree, and wherein the determining that the activity is one of the predetermined types of activities comprises applying attributes of the set of API calls, which is represented by truncated API call data, to the classification decision tree. 18. The method of claim 15 further comprising generating the API call data by monitoring an API ecosystem. 19. The method of claim 18 , wherein the API ecosystem is monitored and the type of activity that resulted in the set of API calls is determined in real-time. 20. The method of claim 15 further comprising producing an alert in response to a determination that the activity is the one of the predetermined types of activities.
Probabilistic graphical models, e.g. probabilistic networks · CPC title
where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting · CPC title
Structural analysis for program understanding · CPC title
Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence · CPC title
Reverse engineering; Extracting design information from source code · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.