FAIR DECENTRALIZED THROTTLING IN DISTRIBUTED CLOUD-BASED SYSTEMS
First Claim
1. A method of managing a computing instance, comprising:
- registering with a central application programming interface (API) gateway a plurality of component APIs of management components within a computing system, wherein the plurality of component APIs includes a first component API;
generating, for each tenant of the computing system, a first queue for synchronous requests to the plurality of component APIs and a second queue for asynchronous requests to the plurality of component APIs;
receiving, at the central API gateway, an API request associated with a first tenant; and
forwarding the request to the first component API based on a state of the first queue and the second queue associated with the first tenant.
2 Assignments
0 Petitions
Accused Products
Abstract
A cloud availability manager configured to execute a recovery workflow that fails over one or more virtual machines (VMs) to and from a cloud computing system. In doing so, the cloud availability manager typically performs multiple operations for each VMs. The operations involve making several application programming interface (API) calls to component APIs of management components within the cloud computing system. To avoid bringing down the entire cloud infrastructure, the cloud availability manager throttles the API calls to other components while executing a recovery workflow. The throttling spans multiple instances (nodes) of the cloud availability manager and involves cooperation from the other management components to ensure the throttling is fair across all tenants of the cloud computing system.
-
Citations
20 Claims
-
1. A method of managing a computing instance, comprising:
-
registering with a central application programming interface (API) gateway a plurality of component APIs of management components within a computing system, wherein the plurality of component APIs includes a first component API; generating, for each tenant of the computing system, a first queue for synchronous requests to the plurality of component APIs and a second queue for asynchronous requests to the plurality of component APIs; receiving, at the central API gateway, an API request associated with a first tenant; and forwarding the request to the first component API based on a state of the first queue and the second queue associated with the first tenant. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer system, comprising:
-
memory configured to store code; and one or more processors configured to execute the code to; register with a central application programming interface (API) gateway a plurality of component APIs of management components within a computing system, wherein the plurality of component APIs includes a first component API; generate, for each tenant of the computing system, a first queue for synchronous requests to the plurality of component APIs and a second queue for asynchronous requests to the plurality of component APIs; receive, at the central API gateway, an API request associated with a first tenant; and forward the request to the first component API based on a state of the first queue and the second queue associated with the first tenant. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory computer readable medium comprising instructions, which when executed in a computer system, causes the computer system to carry out a method of managing API requests, comprising:
-
registering with a central application programming interface (API) gateway a plurality of component APIs of management components within a computing system, wherein the plurality of component APIs includes a first component API; generating, for each tenant of the computing system, a first queue for synchronous requests to the plurality of component APIs and a second queue for asynchronous requests to the plurality of component APIs; receiving, at the central API gateway, an API request associated with a first tenant; and forwarding the request to the first component API based on a state of the first queue and the second queue associated with the first tenant.
-
Specification