IP Library Granted Patent US 11,388,216
Granted Patent B2
US 11,388,216 · App. 17/089,008 · Granted Jul 12, 2022

System and method for generating API schemas for networked services

Inventors: Devesh Mittal (Bangalore, IN); Gilles Roudiere (Sainte-Marie-Lapanouze, FR)
Assignee: VOLTERRA, INC.
H04L67/02G06F16/215G06F16/221G06F40/284G06K9/6269
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,388,216
App. No.
17/089,008
Filed
Nov 4, 2020
Granted
Jul 12, 2022
Kind
B2
Art Unit
2457
USPC
709/245
Abstract

A method and system for generating an API schema associated with at least one API Endpoint by inspecting network data traffic. Network data requests that have been successfully served by an application associated with at least one API endpoint are examined, parsed and processed to generate an API schema corresponding to the service associated with the at least one API Endpoint.

Claims (37)

1. A method for generating an API schema associated with at least one API Endpoint by inspecting network data traffic, comprising the steps of:

receiving a plurality of network data requests data structures that use {ADDRESS, Method} format, and have been successfully served by an application associated with at least one API endpoint;

parsing the network data request structures into strings of ordered elements;

applying a mixed type distance function to corresponding pairs of elements in each of the network data request structures, wherein the mixed type distance function outputs a high distance value if the corresponding pair of elements are of different basic types and wherein the mixed type distance function outputs a low distance value if the corresponding pair of elements are of the same basic type;

clustering the network data request data structures based on the results of the applying a mixed type distance function to create multiple network data request data structure data clusters;

generating a cluster data schema for each network data request data structure data cluster; and

combining the data cluster schemas in a recursive manner to generate an API schema corresponding to the service associated with the at least one API Endpoint.

2. The method of claim 1 wherein at least one of the elements is in the form of an array and wherein the method further comprises determining, for each of the arrays, whether the array is specified as (a) an ordered list of individually specified elements or, (b) and unordered list of similar elements.

3. The method of claim 2 , wherein if both elements in a corresponding pair of elements are arrays, the distance function returns the result of a tuple distance where the arrays are determined to bean ordered list of individually specified elements and the distance function returns a list distance where the arrays are an unordered list of similar elements wherein:

the tuple distance is an average element-wise mixed types distance between the two arrays; and

the list distance, the average of, for each element of one list, the minimum mixed types distance to any one from all the elements contained in the other list.

4. The method of claim 1 , wherein the network data requests are web requests and the address is a URL.

5. The method of claim 4 , wherein the network data request data structures are in JSON format.

6. The method of claim 1 , wherein the high distance value is 1 and the low distance value is 0.

7. The method of claim 1 , wherein the basic data types are at least one of objects, arrays, integers, real numbers, strings, Boolean, and null values.

8. The method of claim 1 , wherein the data request data structures are received in real time from data packets transmitted over a network.

9. The method of claim 1 , wherein the data request data structures are received from an offline access log generated by a network server.

10. The method of claim 1 , wherein the clustering step comprises applying a density-based non-parametric clustering algorithm.

11. A computing system for generating an API schema associated with at least one API Endpoint by inspecting network data traffic, the system comprising:

at least one computer processor; and

at least one memory device operatively coupled to the at least one computing processor and having instructions stored thereon which, when executed by the at least one computing processor, cause the at least one computing processor to:

parse a plurality of network data requests data structures into strings of ordered elements, wherein the network data requests data structures use {ADDRESS, Method} format, and have been successfully served by an application associated with at least one API endpoint;

apply a mixed type distance function to corresponding pairs of elements in each of the network data request structures, wherein the mixed type distance function outputs a high distance value if the corresponding pair of elements are of different basic types and wherein the mixed type distance function outputs a low distance value if the corresponding pair of elements are of the same basic type;

cluster the network data request data structures based on the results of the applying a mixed type distance function to create multiple network data request data structure data clusters;

generate a cluster data schema for each network data request data structure data cluster; and

combine the data cluster schemas in a recursive manner to generate an API schema corresponding to the service associated with the at least one API Endpoint.

12. The system of claim 11 wherein at least one of the elements is in the form of an array and wherein the at least one processor further determines, for each of the arrays, whether the array is specified as (a) an ordered list of individually specified elements or, (b) and unordered list of similar elements.

13. The system of claim 12 , wherein if both elements in a corresponding pair of elements are arrays, the distance function returns the result of a tuple distance where the arrays are determined to bean ordered list of individually specified elements and the distance function returns a list distance where the arrays are an unordered list of similar elements wherein:

the tuple distance is an average element-wise mixed types distance between the two arrays; and

the list distance, the average of, for each element of one list, the minimum mixed types distance to any one from all the elements contained in the other list.

14. The system of claim 11 , wherein the network data requests are web requests and the address is a URL.

15. The system of claim 14 , wherein the network data request data structures are in JSON format.

16. The system of claim 11 , wherein the high distance value is 1 and the low distance value is 0.

17. The system of claim 11 , wherein the basic data types are at least one of objects, arrays, integers, real numbers, strings, Boolean, and null values.

18. The system of claim 11 , wherein the data request data structures are received in real time from data packets transmitted over a network.

19. The system of claim 11 , wherein the data request data structures are received from an offline access log generated by a network server.

20. The system of claim 11 , wherein the network data request data structures are clustered by applying a density-based non-parametric clustering algorithm.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2024
From: VOLTERRA, INC.
To: F5, INC.
Reel/Frame 068765/0206 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2023
From: F5 NETWORKS, INC.
To: F5, INC.
Reel/Frame 065335/0210 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNEE INFORMATION PREVIOUSLY RECORDED AT REEL: 055602 FRAME: 0325. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 11, 2022
From: MITTAL, DEVESH; ROUDIERE, GILLES
To: VOLTERRA, INC.
Reel/Frame 059929/0056 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2021
From: MITTAL, DEVESH; ROUDIERE, GILLES
To: F5 NETWORKS, INC.
Reel/Frame 055602/0325 →
Continuity (2)
Continuation In Part 16736034 · Jan 7, 2020
Related Publication 20210211486A1 · Jul 8, 2021