Back to results
US 11,456,965 B2Granted
Network service request throttling system
AssigneeAmazon Technologies, Inc.
InventorDavid L. Holcombe
Life of this patent
Estimating the term…
Abstract
Disclosed are various embodiments for throttling requests for a network service. A request for a network service is received from a client application and parameters are extracted from the request. Throttling policies applicable to the parameters are identified and retrieved, and it is determined whether the request should be processed based at least upon the throttling policies and the request parameters.
Claims20
A method, comprising:
- receiving, by a request throttling client, authorization from a request throttling server to make a determination to process a network service request received by a network service device corresponding to a network service independent of consulting the request throttling server, the network service request being received over a network on behalf of a client;
- extracting, by the request throttling client, at least one request parameter from the network service request, wherein the at least one request parameter describes at least one of:
- a user or customer identifier associated with the client, a name or identifier of the network service, an API or function within the network service, or a marketplace identifier;
- identifying, by the request throttling client, at least one throttling policy applicable to the at least one request parameter cached within the request throttling client, the at least one throttling policy obtained from the request throttling server with the authorization to make the determination to process the network service request;
- identifying, by the request throttling client, usage data of the network service, the usage data cached within the request throttling client;
- determining, by the request throttling client, whether the network service request should be granted based at least in part upon the at least one throttling policy and the usage data of the network service cached within the request throttling client, wherein the at least one throttling policy defines a particular amount of capacity to allocate to the network service device, wherein the usage data comprises data related to the at least one request parameter;
- in response to determining that the at least one request parameter does not violate the at least one throttling policy, generating, by the request throttling client, a value indicating that the network service device should process the network service request;
- and
- processing, by the network service device, the network service request.
6 more elements
A system, comprising:
- at least one computing device;
- and
- a request throttling client executable in the at least one computing device, the request throttling client causing the at least one computing device to:
- receive authorization from a request throttling server to make a determination to process a network service request received by a network service device corresponding to a network service independent of consulting the request throttling server, the network service request being received over a network on behalf of a client;
- extract at least one request parameter from the network service request, wherein the at least one request parameter describes at least one of:
- a user or customer identifier associated with the client, a name or identifier of the network service, an API or function within the network service, or a marketplace identifier;
- identify at least one throttling policy applicable to the at least one request parameter, the at least one throttling policy defining at least one policy for the at least one request parameter cached within the request throttling client, the at least one throttling policy obtained from the request throttling server with the authorization to make the determination to process the network service request;
- retrieve the at least one throttling policy applicable to the at least one request parameter;
- determine whether the network service request should be processed based at least in part upon the at least one throttling policy and usage data of the network service cached within the request throttling client, wherein the usage data comprises data related to the at least one request parameter;
- and
- in response to determining that the at least one request parameter does not violate the at least one throttling policy, generate a value indicating that the network service device should process the network service request.
8 more elements
A method, comprising:
- receiving, by a request throttling client executed in a computing device, a request to access a network service on behalf of a client independent of consulting the request throttling server, the request throttling client invoked by a network service device corresponding to the network service;
- determining, by the request throttling client, that the request throttling client is authorized to make a throttling determination with respect to the request;
- extracting, by the request throttling client, at least one request parameter from the request, wherein the at least one request parameter describes at least one of:
- a user or customer identifier associated with the client, a name or identifier of the network service, an API or function within the network service, or a marketplace identifier;
- identifying, by the request throttling client, at least one throttling policy applicable to the at least one request parameter, the at least one throttling policy defining at least one policy for the at least one request parameter cached within the request throttling client, the at least one throttling policy obtained from the request throttling server with an authorization to make the determination to process the network service request;
- determining, by the request throttling client, that the at least one throttling policy is cached in the request throttling client;
- in response to determining that the at least one throttling policy is cached in the request throttling client, retrieving the at least one throttling policy from a cache in the request throttling client;
- determining, by the request throttling client, whether the request should be granted based at least in part upon the at least one throttling policy and usage data of the network service cached within the request throttling client, wherein the usage data comprises data related to the at least one request parameter;
- and
- in response to determining that the request should be granted, generating, by the request throttling client, a value indicating that the network service device should process the network service request.
7 more elements
Dependencies are inferred from the claim text.