IP Library Granted Patent US 11,544,120
Granted Patent B2
US 11,544,120 · App. 16/779,550 · Granted Jan 3, 2023

Tracking application programming interface requests in a cloud computing system

Inventors: Scott E. Joyce (Foxboro, MA); Yingying Wang Martin (Southborough, MA); Dan Yuan (Hopkinton, MA)
Assignee: EMC IP Holding Company LLC
G06F9/541G06F9/542G06F9/546G06F11/3688G06F11/3692H04L67/34
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,544,120
App. No.
16/779,550
Granted
Jan 3, 2023
Kind
B2
Abstract

Techniques are provided for tracking application programming interface (API) requests in a cloud computing environment. For example, a method for tracking API requests is implemented by an API gateway. The API gateway receives an API request which comprises a given API endpoint to access a target service of a computing system. The API gateway determines if the received API request is valid. In response to determining that the received API request is valid, the API gateway accesses at least one API counter associated with the given API endpoint of the received API request, wherein the at least one API counter is configured to count a number of times that the given API endpoint is accessed. The API gateway increments a count of the at least one API counter by one, and the API gateway routes the API request to the target service for execution.

Claims (47)

1. A method, comprising:

receiving, by an application programming interface (API) gateway, an API request which specifies a given API endpoint to access a target service of a computing system;

determining, by the API gateway, whether the received API request is a valid API request for accessing the target service by at least determining whether the given API endpoint is a permitted API endpoint associated with the target service; and

responsive to determining that the received API request is valid;

accessing, by the API gateway, at least one API counter associated with the given API endpoint of the received API request, wherein the at least one API counter is configured to count a number of times that the given API endpoint is accessed;

incrementing a count of the at least one API counter by one; and

routing, by the API gateway, the API request to the target service for execution.

2. The method of claim 1 , wherein accessing the at least one API counter comprises accessing, by the API gateway, a set of API counters associated with the given API endpoint, wherein the set of API counters comprises a first counter that is configured to count the number times that a base API endpoint of the given API endpoint is accessed, and at least a second counter that is configured to count a number of times that a variation of the base API endpoint is accessed.

3. The method of claim 2 , wherein the variation of the base API endpoint comprises the base API endpoint with an added header parameter, wherein the second counter is configured to count a number of times that the base API endpoint with the added header parameter is accessed.

4. The method of claim 2 , wherein the variation of the base API endpoint comprises the base API endpoint with a non-default method, wherein the second counter is configured to count a number of times that the base API endpoint with the non-default method is accessed.

5. The method of claim 2 , wherein the variation of the base API endpoint comprises the base API endpoint with an added query parameter, wherein the second counter is configured to count a number of times that the base API endpoint with the added query parameter is accessed.

6. The method of claim 2 , wherein the variation of the base API endpoint comprises the base API endpoint with an added path parameter, wherein the second counter is configured to count a number of times that the base API endpoint with the added path parameter is accessed.

7. The method of claim 1 , wherein determining, by the API gateway, whether the received API request is a valid API request for accessing the target service by at least determining whether the given API endpoint is a permitted API endpoint associated with the target service, comprises comparing the given API endpoint specified in the received API request to a whitelist of permitted API endpoints associated with registered microservices of the computing system.

8. The method of claim 1 , wherein accessing, by the API gateway, at least one API counter associated with the given API endpoint of the received API request comprises:

determining, by the API gateway, a counter group associated with an entity that issued the API request; and

accessing, by the API gateway, the at least one API counter associated with the given API endpoint of the received API request, which is included in the determined counter group.

9. The method of claim 8 , wherein the counter group is associated with an automation test performed by a system integration testing tool.

10. The method of claim 8 , wherein the counter group is associated with a registered end-user of the computing system.

11. An article of manufacture comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code is executable by one or more processors to implement a method comprising:

receiving, by an application programming interface (API) gateway, an API request which specifies a given API endpoint to access a target service of a computing system;

determining, by the API gateway, whether the received API request is a valid API request for accessing the target service by at least determining whether the given API endpoint is a permitted API endpoint associated with the target service; and

responsive to determining that the received API request is valid;

accessing, by the API gateway, at least one API counter associated with the given API endpoint of the received API request, wherein the at least one API counter is configured to count a number of times that the given API endpoint is accessed;

incrementing a count of the at least one API counter by one; and

routing, by the API gateway, the API request to the target service for execution.

12. The article of manufacture of claim 11 , wherein accessing the at least one API counter comprises accessing, by the API gateway, a set of API counters associated with the given API endpoint, wherein the set of API counters comprises a first counter that is configured to count the number times that a base API endpoint of the given API endpoint is accessed, and at least a second counter that is configured to count a number of times that a variation of the base API endpoint is accessed.

13. The article of manufacture of claim 12 , wherein the variation of the base API endpoint comprises the base API endpoint with an added header parameter, wherein the second counter is configured to count a number of times that the base API endpoint with the added header parameter is accessed.

14. The article of manufacture of claim 12 , wherein the variation of the base API endpoint comprises the base API endpoint with a non-default method, wherein the second counter is configured to count a number of times that the base API endpoint with the non-default method is accessed.

15. The article of manufacture of claim 12 , wherein the variation of the base API endpoint comprises the base API endpoint with an added query parameter, wherein the second counter is configured to count a number of times that the base API endpoint with the added query parameter is accessed.

16. The article of manufacture of claim 12 , wherein the variation of the base API endpoint comprises the base API endpoint with an added path parameter, wherein the second counter is configured to count a number of times that the base API endpoint with the added path parameter is accessed.

17. The article of manufacture of claim 11 , wherein accessing, by the API gateway, at least one API counter associated with the given API endpoint of the received API request comprises:

determining, by the API gateway, a counter group associated with an entity that issued the API request; and

accessing, by the API gateway, the at least one API counter associated with the given API endpoint of the received API request, which is included in the determined counter group;

wherein the counter group is associated with one of (i) an automation test performed by a system integration testing tool and (ii) a registered end-user of the computing system.

18. A server node, comprising:

at least one processor; and

system memory configured to store program code, wherein the program code is executable by the at least one processor to instantiate an application programming interface (API) gateway, wherein the API gateway is configured to:

receive an API request which specifies a given API endpoint to access a target service of a computing system;

determine whether the received API request is a valid API request for accessing the target service by at least determining whether the given API endpoint is a permitted API endpoint associated with the target service, and in response to determining that the received API request is valid;

access at least one API counter associated with the given API endpoint of the received API request, wherein the at least one API counter is configured to count a number of times that the given API endpoint is accessed;

increment a count of the at least one API counter by one; and

route the API request to the target service for execution.

19. The server node of claim 18 , wherein in accessing the at least one API counter, the API gateway is configured to access a set of API counters associated with the given API endpoint, wherein the set of API counters comprises a first counter that is configured to count the number times that a base API endpoint of the given API endpoint is accessed, and at least a second counter that is configured to count a number of times that a variation of the base API endpoint is accessed.

20. The server node of claim 18 , wherein in accessing the at least one API counter, the API gateway is configured to:

determine a counter group associated with an entity that issued the API request; and

access the at least one API counter associated with the given API endpoint of the received API request, which is included in the determined counter group;

wherein the counter group is associated with at least one of (i) an automation test performed by a system integration testing tool and (ii) a registered end-user of the computing system.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2020
From: JOYCE, SCOTT E.; MARTIN, YINGYING WANG; YUAN, DAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052204/0001 →