IP Library Granted Patent US 11,196,839
Granted Patent B1
US 11,196,839 · App. 15/587,645 · Granted Dec 7, 2021

System and method for classifying API requests in API processing systems using a tree configuration

Inventor: Ajit Sonawane (Bangalore, IN)
Assignee: Google LLC
H04L67/327H04L12/44H04L67/02
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,196,839
App. No.
15/587,645
Granted
Dec 7, 2021
Kind
B1
Abstract

A method and system is provided for classifying one or more application processing interface (API) requests in an API processing system. The method includes receiving a client request comprising at least one API language component. The method also includes mapping a client request to a tree configuration, wherein the tree contains a plurality of nodes. The method further includes traversing the nodes of the tree to fetch information pertaining to one or more portions of the client request.

Claims (58)

1. A method comprising:

receiving an API request;

extracting from the API request a particular URL path and a particular HTTP verb that identify an API resource;

generating a classification tree that includes nodes, where each node corresponds to both a respective portion of URL paths and a respective API resource group that corresponds to a respective HTTP verb, each node including a look up table that identifies the next node of a current node of the tree;

determining respective policies that correspond to the respective API resource groups of the nodes based on respective API categories of the nodes;

traversing the classification tree to match portions of the particular URL path and the particular HTTP verb of the API request with both the respective portions of the URL paths and the respective API resource groups that correspond to respective HTTP verbs of a set of nodes of the classification tree; and

for each of the nodes in the set of nodes that were traversed:

identifying a policy of the respective policies based on the respective API resource groups that correspond to the particular HTTP verb of that node; and

applying, to the API request, the policy that was identified that corresponds to the respective API resource groups that correspond to the particular HTTP verb of that node; and

after the policies are applied to the API request, providing the API request to an API provider.

2. The method of claim 1 , wherein the policies comprise one or more of: traffic management policies, security policies, mediation policies, extension policies, developer created schemas, or service provider created schemas.

3. The method of claim 1 , comprising:

sending a response to the API request sent by the API provider to an analytics system.

4. The method of claim 1 , wherein traversing the classification tree comprises navigating from a root node to a terminal node via one or more non-terminal nodes along a resource path.

5. The method of claim 1 , wherein traversing the classification tree comprises determining at least one mapping function for navigation between nodes of the tree, the mapping function being determined based on the URL path.

6. The method of claim 1 , wherein for each of the nodes that were traversed, executing the node comprises:

identifying a first API resource group that corresponds to a HTTP verb of a first node that was traversed;

identifying a first policy that corresponds to the first API resource group that was identified;

identifying a second API resource group that corresponds to a HTTP verb of a second node that was traversed;

identifying a second policy that corresponds to the second API resource group that was identified;

applying the first policy that was identified and the second policy that was identified to the API request; and

after applying the first policy and the second policy to the API request, providing the API request to an API provider.

7. The method of claim 1 , wherein the look up table includes a function corresponding to the respective URL portion of URL paths that maps a traversal from a first node to a second node.

8. A system comprising:

one or more computers; and

one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

receiving an API request;

extracting from the API request a particular URL path and a particular HTTP verb that identify an API resource;

generating a classification tree that includes nodes, where each node corresponds to both a respective portion of URL paths and a respective API resource group that corresponds to a respective HTTP verb, each node including a look up table that identifies the next node of a current node of the classification tree;

determining respective policies that correspond to the respective API resource groups of the nodes based on respective API categories of the nodes;

traversing the classification tree to match portions of the particular URL path and the particular HTTP verb of the API request with both the respective portions of the URL paths and the respective API resource groups that correspond to respective HTTP verbs of a set of nodes of the classification tree;

for each of the nodes in the set of nodes that were traversed:

identifying a policy of the respective policies based on the respective API resource groups that correspond to the particular HTTP verb of that node; and

applying, to the API request, the policy that corresponds to the respective API resource groups that correspond to the particular HTTP verb of that node; and

after the policies are applied to the API request, providing the API request to an API provider.

9. The system of claim 8 , wherein the policies comprise one or more of: traffic management policies, security policies, mediation policies, extension policies, developer created schemas, or service provider created schemas.

10. The system of claim 8 , the operations comprising:

sending a response to the API request sent by the API provider to an analytics system.

11. The system of claim 8 , wherein traversing the classification tree comprises navigating from a root node to a terminal node via one or more non-terminal nodes along a resource path.

12. The system of claim 8 , wherein traversing the classification tree comprises determining at least one mapping function for navigation between nodes of the tree, the mapping function being determined based on the URL path.

13. The system of claim 8 , wherein the look up table includes a function corresponding to the respective URL portion of URL paths that maps a traversal from a first node to a second node.

14. A non-transitory computer-readable storage device storing instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

receiving an API request;

extracting from the API request a particular URL path and a particular HTTP verb that identify an API resource;

generating a classification tree that includes nodes, where each node corresponds to both a respective portion of URL paths and a respective API resource group that corresponds to a respective HTTP verb, each node including a look up table that identifies the next node of a current node of the tree;

determining respective policies that correspond to the respective API resource groups of the nodes based on respective API categories of the nodes;

traversing the classification tree to match portions of the particular URL path and the particular HTTP verb of the API request with both the respective portions of the URL paths and the respective API resource groups that correspond to respective HTTP verbs of a set of nodes of the classification tree;

for each of the nodes in the set of nodes that were traversed:

identifying a policy of the respective policies based on the respective API resource groups that correspond to the particular HTTP verb of that node; and,

applying, to the API request, the policy that was identified that corresponds to the respective API resource groups that correspond to the particular HTTP verb of that node; and

after the policies are applied to the API request, providing the API request to an API provider.

15. The non-transitory computer-readable storage device of claim 14 , wherein the policies comprise one or more of: traffic management policies, security policies, mediation policies, extension policies, developer created schemas, or service provider created schemas.

16. The non-transitory computer-readable storage device of claim 14 , the operations comprising:

sending a response to the API request sent by the API provider to an analytics system.

17. The non-transitory computer-readable storage device of claim 14 , wherein traversing the classification tree comprises:

navigating from a root node to a terminal node via one or more non-terminal nodes along a resource path; and

determining at least one mapping function for navigation between nodes of the tree, the mapping function being determined based on the URL path.

18. The non-transitory computer-readable storage device of claim 14 , wherein the look up table includes a function corresponding to the respective URL portion of URL paths that maps a traversal from a first node to a second node.

Assignments (4)
CHANGE OF NAME Recorded Jun 2, 2020
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 052816/0050 →
CHANGE OF NAME Recorded Oct 20, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044567/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2017
From: SONAWANE, AJIT
To: APIGEE CORPORATION
Reel/Frame 042255/0182 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2017
From: APIGEE CORPORATION
To: GOOGLE INC.
Reel/Frame 042255/0252 →
Continuity (1)
Continuation 14262709 · Apr 26, 2014
Cited By (1)
US 12,367,421