Dynamic throttling systems and services
First Claim
1. A computer-implemented method for determining access to a resource in an electronic environment, comprising:
- receiving a request for access to a resource;
parsing the request to determine a token associated with the request, the token being associated with at least a parameter of the request and the token being associated with a source of access requests to the resource;
receiving one or more instances of request data associated with the token from one or more throttling components associated with a server group;
tracking an amount of requests associated with the token over time based at least in part on the received one or more instances of request data;
determining whether to indicate the source associated with the token as a candidate for throttling based at least in part on the amount of requests associated with the token;
requesting an approval to throttle the source based at least in part on determining that the amount of requests associated with the token over time exceeds a limit;
receiving a response to the request for approval; and
throttling the source based at least in part on the response to the request for approval.
1 Assignment
0 Petitions
Accused Products
Abstract
A lightweight throttling mechanism allows for dynamic control of access to resources in a distributed environment. Each request received by a server of a server group is parsed to determine tokens in the request, which are compared with designated rules to determine whether to process or reject the request based on usage data associated with an aspect of the request, the token values, and the rule(s) specified for the request. The receiving of each request can be broadcast to throttling components for each server such that the global state of the system is known to each server. The system then can monitor usage and dynamically throttle requests based on real time data in a distributed environment.
31 Citations
20 Claims
-
1. A computer-implemented method for determining access to a resource in an electronic environment, comprising:
-
receiving a request for access to a resource; parsing the request to determine a token associated with the request, the token being associated with at least a parameter of the request and the token being associated with a source of access requests to the resource; receiving one or more instances of request data associated with the token from one or more throttling components associated with a server group; tracking an amount of requests associated with the token over time based at least in part on the received one or more instances of request data; determining whether to indicate the source associated with the token as a candidate for throttling based at least in part on the amount of requests associated with the token; requesting an approval to throttle the source based at least in part on determining that the amount of requests associated with the token over time exceeds a limit; receiving a response to the request for approval; and throttling the source based at least in part on the response to the request for approval. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer-readable medium storing computer-executable instructions that direct one or more computer systems to collectively, at least:
-
receive a request for access to a resource; parse the request to determine a token associated with the request, the token being associated with at least a parameter of the request and the token being associated with a source of access requests to the resource; receive one or more instances of request data associated with the token from one or more throttling components associated with a server group; track an amount of requests associated with the token over time based at least in part on the received one or more instances of request data; determine whether to indicate the source associated with the token as a candidate for throttling based at least in part on the amount of requests associated with the token; request an approval to throttle the source based at least in part on determining that the amount of requests associated with the token over time exceeds a limit; receive a response to the request for approval; and throttle the source based at least in part on the response to the request for approval. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A computerized system for determining access in an electronic environment, comprising:
-
one or more computing resources having one or more processors and memory including executable instructions that, when executed by the processor, cause the computerized system to, at least; maintain a resource for which a request for access is received; parse the request for access to the resource to determine a token associated with the request, the token being associated with at least a parameter of the request; receive one or more instances of request data associated with the token across a server group at one or more throttling components associated with the server group; track an amount of requests associated with the token over time based at least in part on the received one or more instances of request data; determine whether to indicate the source associated with the token as a candidate for throttling based at least in part on the amount of requests associated with the token; request an approval to throttle the source based at least in part on determining that the amount of requests associated with the token over time exceeds a limit; receive a response to the request for approval; and throttle the source based at least in part on the response to the request for approval. - View Dependent Claims (17, 18, 19, 20)
-
Specification