IP Library Granted Patent US 11,023,294
Granted Patent B1
US 11,023,294 · App. 16/579,377 · Granted Jun 1, 2021

Distributed API accounting

Inventors: Scott K. Ko (Mountain View, CA); Oleksandr Khimich (Mountain View, CA); Kenneth Chan (Mountain View, CA); Rajanish Jagadish Gundlupet (Mountain View, CA); Sri Harsha Chevuru (San Jose, CA); Mahesh Bingi (Mountain View, CA)
Assignee: Google LLC
G06F9/541G06F9/542G06F11/3409G06F11/3466H04L41/046H04L67/10H04L67/2842H04L67/32
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,023,294
App. No.
16/579,377
Granted
Jun 1, 2021
Kind
B1
Abstract

Distributed API accounting is disclosed, including: receiving from respective ones of a plurality of agents, a plurality of local counter values corresponding to an application programming interface (API) service counter identifier; logging the plurality of local counter values corresponding to the API service counter identifier; receiving a request for an aggregated counter value associated with the API service counter identifier; combining at least some of the logged plurality of local counter values associated with the API service counter identifier to determine the aggregated counter value corresponding to the API service counter identifier; and storing the aggregated counter value corresponding to the API service counter identifier.

Claims (64)

1. A computer-implemented method comprising:

receiving from respective ones of a plurality of agents, a plurality of local counter values corresponding to an application programming interface (API) service;

determining an agent included in the plurality of agents has become unavailable;

in response to determining the agent included in the plurality of agents has become unavailable, combining a local counter value for the agent that has become unavailable with a prior combined counter value corresponding to the API service into a current combined counter value corresponding to the API service;

receiving a request for an aggregated counter value associated with the API service;

combining local counter values corresponding to the agents of the plurality agents that are still available and the current combined counter value corresponding to the API service to determine the aggregated counter value corresponding to the API service; and

providing the aggregated counter value in response to the request.

2. The method of claim 1 , wherein in response to determining the agent included in the plurality of agents has become unavailable, combining the local counter value for the agent that has become unavailable with a prior combined counter value corresponding to the API service into a current combined counter value corresponding to the API service comprises:

summing the local counter value for the agent that has become unavailable with the prior combined counter value corresponding to the API service into the current combined counter value corresponding to the API service.

3. The method of claim 1 , wherein combining the local counter values corresponding to the agents of the plurality agents that are still available and the combined counter value corresponding to the API service to determine the aggregated counter value corresponding to the API service comprises:

summing the local counter values corresponding to the agents of the plurality agents that are still available and the combined counter value corresponding to the API service as the aggregated counter value corresponding to the API service.

4. The method of claim 1 , wherein determining an agent included in the plurality of agents has become unavailable comprises:

determining that a new local counter value has not been received from the agent included in the plurality of agents for at least a threshold length of time; and

in response to determining that the new local counter value has not been received from the agent for at least a threshold length of time, determining that the agent included in the plurality of agents is unavailable.

5. The method of claim 1 , comprising:

deleting the local counter value for the agent that has become unavailable after combining the local counter value for the agent that has become unavailable with the prior combined counter value corresponding to the API service into the current combined counter value corresponding to the API service.

6. The method of claim 1 , comprising:

determining that the aggregated counter value is equal to or greater than a maximum limit associated with the API service; and

in response to determining that the aggregated counter value is equal to or greater than the maximum limit associated with the API service, storing data indicating to deny service to subsequent API requests corresponding to the API service.

7. The method of claim 1 , comprising:

determining that the aggregated counter value is equal to or greater than a maximum limit associated with the API service; and

in response to determining that the aggregated counter value is equal to or greater than the maximum limit associated with the API service, providing an instruction to deny service to subsequent API requests corresponding to the API service to each of the agents that are still available of the plurality agents.

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 from respective ones of a plurality of agents, a plurality of local counter values corresponding to an application programming interface (API) service;

determining an agent included in the plurality of agents has become unavailable;

in response to determining an agent included in the plurality of agents has become unavailable, combining the local counter value for the agent that has become unavailable with a prior combined counter value corresponding to the API service into a current combined counter value corresponding to the API service;

receiving a request for an aggregated counter value associated with the API service;

combining the local counter values corresponding to the agents of the plurality agents that are still available and the current combined counter value corresponding to the API service to determine the aggregated counter value corresponding to the API service; and

providing the aggregated counter value in response to the request.

9. The system of claim 8 , wherein in response to determining the agent included in the plurality of agents has become unavailable, combining the local counter value for the agent that has become unavailable with a prior combined counter value corresponding to the API service into a current combined counter value corresponding to the API service comprises:

summing the local counter value for the agent that has become unavailable with the prior combined counter value corresponding to the API service into the current combined counter value corresponding to the API service.

10. The system of claim 8 , wherein combining the local counter values corresponding to the agents of the plurality agents that are still available and the combined counter value corresponding to the API service to determine the aggregated counter value corresponding to the API service comprises:

summing the local counter values corresponding to the agents of the plurality agents that are still available and the combined counter value corresponding to the API service as the aggregated counter value corresponding to the API service.

11. The system of claim 8 , wherein determining an agent included in the plurality of agents has become unavailable comprises:

determining that a new local counter value has not been received from the agent included in the plurality of agents for at least a threshold length of time; and

in response to determining that the new local counter value has not been received from the agent for at least a threshold length of time, determining that the agent included in the plurality of agents is unavailable.

12. The system of claim 8 , wherein the operations comprise:

deleting the local counter value for the agent that has become unavailable after combining the local counter value for the agent that has become unavailable with the prior combined counter value corresponding to the API service into the current combined counter value corresponding to the API service.

13. The system of claim 8 , wherein the operations comprise:

determining that the aggregated counter value is equal to or greater than a maximum limit associated with the API service; and

in response to determining that the aggregated counter value is equal to or greater than the maximum limit associated with the API service, storing data indicating to deny service to subsequent API requests corresponding to the API service.

14. The system of claim 8 , wherein the operations comprise:

determining that the aggregated counter value is equal to or greater than a maximum limit associated with the API service; and

in response to determining that the aggregated counter value is equal to or greater than the maximum limit associated with the API service, providing an instruction to deny service to subsequent API requests corresponding to the API service to each of the agents that are still available of the plurality agents.

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

receiving from respective ones of a plurality of agents, a plurality of local counter values corresponding to an application programming interface (API) service;

determining an agent included in the plurality of agents has become unavailable;

in response to determining an agent included in the plurality of agents have become unavailable, combining the local counter value for the agent with a prior combined counter value corresponding to the API service into a current combined counter value corresponding to the API service;

receiving a request for an aggregated counter value associated with the API service;

combining the local counter values corresponding to the agents of the plurality agents that are still available and the current combined counter value corresponding to the API service to determine the aggregated counter value corresponding to the API service; and

providing the aggregated counter value in response to the request.

16. The non-transitory computer-readable medium of claim 15 , wherein in response to determining the agent included in the plurality of agents have become unavailable, combining the local counter value for the agent that has become unavailable with a prior combined counter value corresponding to the API service into a current combined counter value corresponding to the API service comprises:

summing the local counter value for the agent that has become unavailable with the prior combined counter value corresponding to the API service into the current combined counter value corresponding to the API service.

17. The non-transitory computer-readable medium of claim 15 , wherein combining the local counter values corresponding to the agents of the plurality agents that are still available and the combined counter value corresponding to the API service to determine the aggregated counter value corresponding to the API service comprises:

summing the local counter values corresponding to the agents of the plurality agents that are still available and the combined counter value corresponding to the API service as the aggregated counter value corresponding to the API service.

18. The non-transitory computer-readable medium of claim 15 , wherein determining an agent included in the plurality of agents has become unavailable comprises:

determining that a new local counter value has not been received from the agent included in the plurality of agents for at least a threshold length of time; and

in response to determining that the new local counter value has not been received from the agent for at least a threshold length of time, determining that the agent included in the plurality of agents is unavailable.

19. The non-transitory computer-readable medium of claim 15 , wherein the operations comprise:

deleting the local counter value for the agent that has become unavailable after combining the local counter value for the agent that has become unavailable with the prior combined counter value corresponding to the API service into the current combined counter value corresponding to the API service.

20. The non-transitory computer-readable medium of claim 15 , wherein the operations comprise:

determining that the aggregated counter value is equal to or greater than a maximum limit associated with the API service; and

in response to determining that the aggregated counter value is equal to or greater than the maximum limit associated with the API service, storing data indicating to deny service to subsequent API requests corresponding to the API service.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2019
From: KO, SCOTT K.; KHIMICH, OLEKSANDR; CHAN, KENNETH; GUNDLUPET, RAJANISH JAGADISH; CHEVURU, SRI HARSHA; BINGI, MAHESH
To: APIGEE CORPORATION
Reel/Frame 050473/0680 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2019
From: APIGEE CORPORATION
To: GOOGLE INC.
Reel/Frame 050473/0866 →
ENTITY CONVERSION Recorded Sep 24, 2019
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 050479/0944 →
Continuity (1)
Continuation 15265096 · Sep 14, 2016