SYSTEM AND METHOD FOR PERFORMING FLASH CROWD CACHING OF DYNAMICALLY GENERATED OBJECTS IN A DATA COMMUNICATION NETWORK
First Claim
1. A method for responding, by a device intermediary to a server and a plurality of clients,to a plurality of requests from different clients using a single response from the server, the method comprising:
- (a) forwarding, by a device intermediary to a server and a plurality of clients, a first request for a dynamically generated object from a first client to the server;
(b) receiving, by the device prior to transmitting to the first client a response to the first request from the server, a plurality of requests from different clients for the dynamically generated object requested by the first request;
(c) holding, by the device, the plurality of requests while waiting for the response to the first request for the dynamically generated object;
(d) transmitting, by the device responsive to the receiving the response from the server to the first request, the response to the first client, the response comprising the dynamically generated object; and
(e) transmitting, by the device responsive to the receiving the response from the server to the first request, responses to each of the plurality of requests using the dynamically generated object from the response to the first request.
7 Assignments
0 Petitions
Accused Products
Abstract
The present invention is directed towards a “flash crowd” technique for handling situations where the cache receives additional requests, e.g., nearly simultaneous requests, for the same object during the time the server is processing and returning the response object for a first requestor. Once all such nearly simultaneous requests are responded to by the cache, the object is flushed from the cache, with no additional expiry time or invalidation action needed. This technique of the present invention enables data to be cached and served for very small amounts of time for objects that would otherwise be considered non-cacheable. As such, this technique yields a significant improvement in applications that serve fast changing data to a large volume of concurrent users, such, for example, as real time stock quotes, or a fast evolving news story.
115 Citations
20 Claims
-
1. A method for responding, by a device intermediary to a server and a plurality of clients,
to a plurality of requests from different clients using a single response from the server, the method comprising: -
(a) forwarding, by a device intermediary to a server and a plurality of clients, a first request for a dynamically generated object from a first client to the server; (b) receiving, by the device prior to transmitting to the first client a response to the first request from the server, a plurality of requests from different clients for the dynamically generated object requested by the first request; (c) holding, by the device, the plurality of requests while waiting for the response to the first request for the dynamically generated object; (d) transmitting, by the device responsive to the receiving the response from the server to the first request, the response to the first client, the response comprising the dynamically generated object; and (e) transmitting, by the device responsive to the receiving the response from the server to the first request, responses to each of the plurality of requests using the dynamically generated object from the response to the first request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for responding to a plurality of requests from different clients using a single response from a server, the system comprising:
-
a device intermediary to a server and a plurality of clients, a packet engine of the device forwarding a first request for a dynamically generated object from a first client to the server; wherein the device receives prior to transmitting to the first client a response to the first request from the server, a plurality of requests from different clients for the dynamically generated object requested by the first request; and wherein the packet engine holds the plurality of requests while waiting for the response to the first request for the dynamically generated object and wherein the packet engine responsive to receiving the response comprising the dynamically generated object from the server to the first request, transmits the response to the first client and transmits responses to each of the plurality of requests using the dynamically generated object from the response to the first request. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification