IP Library Granted Patent US 11,687,383
Granted Patent B1
US 11,687,383 · App. 17/245,555 · Granted Jun 27, 2023

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/568H04L67/60
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,687,383
App. No.
17/245,555
Granted
Jun 27, 2023
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 (34)

1. A method for processing application programming interface (API) requests in a computing system, comprising:

receiving a plurality of local counter values from a plurality of computing devices distributed throughout the computing system, the plurality of local counter values corresponding to one or more API service counter identifiers;

receiving, from a first computing device of the plurality of computing devices, a status update request associated with a first API service counter identifier;

aggregating, based on the first API service counter identifier, one or more of the plurality of local counter values received from the plurality of computing devices and associated with the first API service counter identifier to produce a first aggregated local counter value;

determining if the first aggregated local counter value associated with the first API service counter identifier meets a threshold value; and

providing a status indicator to the first computing device indicating that the aggregated local counter value associated with the first API service counter identifier meets or exceeds the threshold value.

2. The method of claim 1 , comprising associating each of the plurality of local counter values received from the plurality of computing devices with a partition identifier.

3. The method of claim 2 , comprising logging each of the plurality of local counter values received from the plurality of computing devices with their respective partition identifier.

4. The method of claim 1 , comprising comparing a received counter value of the plurality of local counter values to a previously logged counter value corresponding to an API service counter identifier and a partition identifier associated with the computing device from which the received counter value was received.

5. The method of claim 4 , comprising logging the received counter value if it is greater than the previously logged counter value.

6. The method of claim 1 , wherein each of the plurality of computing devices comprises one or more agents from which the plurality of local counter values are received.

7. The method of claim 1 , comprising sending data associated with the first API service counter identifier to the first computing device.

8. The method of claim 7 , wherein the data sent comprises updated data since a prior status update request.

9. A system for processing application programming interface (API) requests, comprising:

memory; and

one or more processors in communication with the memory, the one or more processors configured to:

receive a plurality of local counter values from a plurality of computing devices distributed throughout a computing system, the plurality of local counter values corresponding to one or more API service counter identifiers;

receive, from a first computing device of the plurality of computing devices, a status update request associated with a first API service counter identifier;

aggregate, based on the first API service counter identifier, one or more of the plurality of local counter values received from the plurality of computing devices and associated with the first API service counter identifier to produce a first aggregated local counter value;

determine if the first aggregated local counter value associated with the first API service counter identifier meets a threshold value; and

provide a status indicator to the first computing device indicating that the aggregated local counter value associated with the first API service counter identifier meets or exceeds the threshold value.

10. The system of claim 9 , wherein the one or more processors are further configured to associate each of the plurality of local counter values received from the plurality of computing devices with a partition identifier.

11. The system of claim 10 , wherein the one or more processors are further configured to log each of the plurality of local counter values received from the plurality of computing devices with their respective partition identifier.

12. The system of claim 9 , wherein the one or more processors are further configured to compare a received counter value of the plurality of local counter values to a previously logged counter value corresponding to an API service counter identifier and a partition identifier associated with the computing device from which the received counter value was received.

13. The system of claim 12 , wherein the one or more processors are further configured to log the received counter value if it is greater than the previously logged counter value.

14. The system of claim 9 , wherein each of the plurality of computing devices comprises one or more agents from which the plurality of local counter values are received.

15. The system of claim 9 , wherein the one or more processors are further configured to send data associated with the first API service counter identifier to the first computing device.

16. The system of claim 15 , wherein the data sent comprises updated data since a prior status update request.

17. A non-transitory computer-readable medium storing instructions executable by one or more processors for performing a method of processing application programming interface (API) requests in a computing system, comprising:

receiving a plurality of local counter values from a plurality of computing devices distributed throughout the computing system, the plurality of local counter values corresponding to one or more API service counter identifiers;

receiving, from a first computing device of the plurality of computing devices, a status update request associated with a first API service counter identifier;

aggregating, based on the first API service counter identifier, one or more of the plurality of local counter values received from the plurality of computing devices and associated with the first API service counter identifier to produce a first aggregated local counter value;

determining if the first aggregated local counter value associated with the first API service counter identifier meets a threshold value; and

providing a status indicator to the first computing device indicating that the aggregated local counter value associated with the first API service counter identifier meets or exceeds the threshold value.

Assignments (3)
CHANGE OF NAME Recorded May 5, 2021
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 056138/0737 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2021
From: APIGEE CORPORATION
To: GOOGLE INC.
Reel/Frame 056125/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2021
From: KO, SCOTT K.; KHIMICH, OLEKSANDR; CHAN, KENNETH; GUNDLUPET, RAJANISH JAGADISH; CHEVURU, SRI HARSHA; BINGI, MAHESH
To: APIGEE CORPORATION
Reel/Frame 056113/0344 →
Continuity (2)
Continuation 16579377 · Sep 23, 2019
Continuation 15265096 · Sep 14, 2016