SYSTEMS AND METHODS FOR OBJECT RATE LIMITING IN MULTI-CORE SYSTEM
First Claim
1. A method for determining if a rate limit for an object has been reached via a multi-core device, the method comprising:
- (a) identifying, by a device comprising a plurality of cores and intermediary to a plurality of clients and a server, a rate limit for an application layer object served by the server, the rate limit comprising a predetermined number of requests for the application layer object over a predetermined time period;
(b) tracking, by the plurality of cores, via a counter stored in shared memory accessible by the plurality of cores, a number of requests for the application layer object traversing the device; and
(c) determining, by a first core of the plurality of cores responsive to receiving a request for the application layer object, whether the rate limit for the application layer object has been reached based on the number of requests identified by the counter.
8 Assignments
0 Petitions
Accused Products
Abstract
The present invention is directed towards systems and methods for managing a rate of request for an object transmitted between a server and one or more clients via a multi-core intermediary device. A first core of the intermediary device can receive a request for an object and assume ownership of the object. The first core can store the object in shared memory along with a rate-related counter for the object and generate a hash to the object and counter. Other cores can obtain the hash from the first core and access the object and counter in shared memory. Policy engines and throttlers in operation on each core can control the rate of access to the stored object.
-
Citations
20 Claims
-
1. A method for determining if a rate limit for an object has been reached via a multi-core device, the method comprising:
-
(a) identifying, by a device comprising a plurality of cores and intermediary to a plurality of clients and a server, a rate limit for an application layer object served by the server, the rate limit comprising a predetermined number of requests for the application layer object over a predetermined time period; (b) tracking, by the plurality of cores, via a counter stored in shared memory accessible by the plurality of cores, a number of requests for the application layer object traversing the device; and (c) determining, by a first core of the plurality of cores responsive to receiving a request for the application layer object, whether the rate limit for the application layer object has been reached based on the number of requests identified by the counter. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for determining if a rate limit for an object has been reached via a multi-core device, the system comprising:
-
a device comprising a plurality of cores and intermediary to a plurality of clients and a server, wherein the device is configured to identify a rate limit for an application layer object served by the server, the rate limit comprising a predetermined number of requests for the application layer object over a predetermined time period; wherein the plurality of cores of the device configured to track via a counter stored in shared memory accessible by the plurality of cores, a number of requests for the application layer object traversing the device; and a first core of the plurality of cores configured to determine responsive to receiving a request for the application layer object, whether the rate limit for the application layer object has been reached based on the number of requests identified by the counter. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification