Flow Controller Automatically Throttling Rate of Service Provided by Web API
AssigneeInternational Business Machines Corporation
InventorsRafah A. Hosn, Carl P. Zetie
Life of this patent
Estimating the term…
Abstract
A mechanism is provided in a data processing system for automatically throttling the rate of service provided by a Web application programming interface (API) for a software service. A flow controller executing on the data processing system assigns a queue to each consumer of the software service. Responsive to receiving a current request for the software service from a given consumer of the software service, a flow controller executing on the data processing system adds the current request to a given queue assigned to the given consumer. The flow controller sends a next request from the given queue to the Web API based on a licensed rate of service of the given consumer.
Claims20
A method, in a data processing system, for automatically throttling the rate of service provided by a Web application programming interface (API) for a software service, the method comprising:
- assigning, by a flow controller executing on the data processing system, a queue to each consumer of the software service;
- responsive to receiving a current request for the software service from a given consumer of the software service, adding, by the flow controller, the current request to a given queue assigned to the given consumer;
- and
- sending, by the flow controller, a next request from the given queue to the Web API based on a licensed rate of service of the given consumer.
The method of claim I, wherein sending the next request based on the licensed rate of service comprises:
- setting, by the flow controller, a timer associated with the given queue based on the licensed rate of service of the given consumer;
- and
- responsive to expiration of the timer, notifying the Web API that a request is ready in the given queue.
A computer program product comprising a computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to implement a flow controller for automatically throttling the rate of service provided by a Web application programming interface (API) for a software service, wherein executing the computer readable program causes the computing device to:
- assign a queue to each consumer of the software service;
- responsive to receiving a current request for the software service from a given consumer of the software service, add the current request to a given queue assigned to the given consumer;
- and
- send a next request from the queue to the Web API based on a licensed rate of service of the given consumer.
An apparatus comprising:
- a processor;
- and
- a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to implement a flow controller for automatically throttling the rate of service provided by a Web application programming interface (API) for a software service, wherein executing the instructions causes the processor to:
- assign, by a flow controller executing on the data processing system, a queue to each consumer of the software service;
- responsive to receiving a current request for the software service from a given consumer of the software service, add the current request to a given queue assigned to the given consumer;
- and
- send a next request from the given queue to the Web API based on a licensed rate of service of the given consumer.
Dependencies are inferred from the claim text.