# US 2021/0240551 A1 · Tracking application programming interface requests in a cloud computing system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0240551 A1
- Document ID: US20210240551A1
- Status: Published application
- Kind: A1
- Application number: 16/779,550
- Filed: 2020-01-31
- Published: 2021-08-05
- Earliest claimed: 2020-01-31
- Assignees: EMC IP Holding Company LLC
- Applicants: EMC IP Holding Company LLC
- Inventors: Scott E. Joyce; Yingying Wang Martin; Dan Yuan
- Web page: https://patentgrep.com/patent/US20210240551A1

## CPC

- G06F 9/541: {via adapters, e.g. between incompatible applications}
- G06F 11/302: {where the computing system component is a software system}
- G06F 9/5055: {considering software capabilities, i.e. software resources associated or available to the machine}
- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F 9/546: {Message passing systems or structures, e.g. queues}
- G06F 11/3476: {Data logging (G06F11/14, G06F11/2205 take precedence)}
- G06F 11/3688: {for test execution, e.g. scheduling of test suites}
- G06F 11/3692: {for test results analysis}
- G06F 21/44: Program or device authentication
- H04L 41/0869: Validating the configuration within one network element
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 43/0876: Network utilisation, e.g. volume of load or congestion level
- H04L 43/20: the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
- H04L 43/50: Testing arrangements
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04L 67/60: Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources (admission control or resource allocation H04L47/70)
- G06F 2201/865: Monitoring of software
- G06F 2201/88: Monitoring involving counting
- G06F 2221/2101: Auditing as a secondary aspect
- G06F 2221/2135: Metering
- H04L 41/16: using machine learning or artificial intelligence
- H04L 41/22: comprising specially adapted graphical user interfaces [GUI]
- H04L 43/045: for graphical visualisation of monitoring data
- H04L 43/06: Generation of reports
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- H04L 69/22: Parsing or analysis of headers
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 1

A method, comprising:
receiving, by an application programming interface (API) gateway, an API request which comprises a given API endpoint to access a target service of a computing system;
determining, by the API gateway, if the received API request is valid; 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.

### Claim 2 (depends on 1)

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 the 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.

### Claim 3 (depends on 2)

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 of number of times that the base API endpoint with the added header parameter is accessed.

### Claim 4 (depends on 2)

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 of number of times that the base API endpoint with the non-default method is accessed.

### Claim 5 (depends on 2)

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 of number of times that the base API endpoint with the added query parameter is accessed.

### Claim 6 (depends on 2)

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 of number of times that the base API endpoint with the added path parameter is accessed.

### Claim 7 (depends on 1)

The method of claim 1, wherein determining, by the API gateway, if the received API request is valid, comprises comparing the received API request to a whitelist of permitted API requests associated with API endpoints of registered microservices of the computing system.

### Claim 8 (depends on 1)

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.

### Claim 9 (depends on 8)

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

### Claim 10 (depends on 8)

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

### Claim 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 comprises a given API endpoint to access a target service of a computing system;
determining, by the API gateway, if the received API request is valid; 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.

### Claim 12 (depends on 11)

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 the 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.

### Claim 13 (depends on 12)

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 of number of times that the base API endpoint with the added header parameter is accessed.

### Claim 14 (depends on 12)

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 of number of times that the base API endpoint with the non-default method is accessed.

### Claim 15 (depends on 12)

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 of number of times that the base API endpoint with the added query parameter is accessed.

### Claim 16 (depends on 12)

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 of number of times that the base API endpoint with the added path parameter is accessed.

### Claim 17 (depends on 11)

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.

### Claim 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 comprises a given API endpoint to access a target service of a computing system;
determine if the received API request is valid, 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.

### Claim 19 (depends on 18)

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 the 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.

### Claim 20 (depends on 18)

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 one of (i) an automation test performed by a system integration testing tool and (ii) a registered end-user of the computing system.
