Method and apparatus for dynamic data flow control using prioritization of data requests
First Claim
1. A method for data processing comprising:
- receiving from a cache server in a data center an initial request message, the initial request message including a request for data and requesting permission to forward the request for data to an origin server;
determining whether the origin server is available to process the request;
determining a state associated with the request for data in response to the origin server not being available to process the request for data;
assigning a priority to the request for data according to the state and according to priority criteria associated with the state in response to the origin server not being available to process the request for data;
queuing the request for data as a function of the priority associated with the request in response to the origin server not being available to process the request for data;
determining that the origin server becomes available to process the request for data;
returning the request for data and a permission indicator to the cache server in order to retrieve data associated with the request for data from the origin server for delivery to a client computer.
5 Assignments
0 Petitions
Accused Products
Abstract
A data center (14) receives a request (22) for content from a browser (12) on a client (11). The data center determines whether the requested content is available at the data center. The content is available when the content is both present at the data center and current. The content may be expired and marked as non-available in response to an expiration command (24). When the requested content is available at the data center, the data center returns the requested content to the data center. When the requested content is locally unavailable at the data center, the requested content is retrieved from an origin server (18). The retrieval of the content from the origin server may be delayed based on the processing load at the origin server. When retrieval of the content is delayed, the request is prioritized and placed in a queue for handling by the origin server based on the priority of the request. Also, when retrieval of the content is delayed, a status page may be communicated to the browser to inform a user of the delay and provide alternate content (139) and status information related to the request determined as a function of the request or the current state of the origin server.
536 Citations
43 Claims
-
1. A method for data processing comprising:
-
receiving from a cache server in a data center an initial request message, the initial request message including a request for data and requesting permission to forward the request for data to an origin server; determining whether the origin server is available to process the request; determining a state associated with the request for data in response to the origin server not being available to process the request for data; assigning a priority to the request for data according to the state and according to priority criteria associated with the state in response to the origin server not being available to process the request for data; queuing the request for data as a function of the priority associated with the request in response to the origin server not being available to process the request for data; determining that the origin server becomes available to process the request for data; returning the request for data and a permission indicator to the cache server in order to retrieve data associated with the request for data from the origin server for delivery to a client computer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A system for dynamic flow control comprising:
-
a cache server operable to receive a request for content and retrieve content from an origin server in response thereto, the request received from a client computer requesting the content; and a flow control server having an associated queue and coupled to the cache server, the flow control server operable to; receive an initial request message from the cache server, the initial request message including a request for data and requesting permission to forward the request for data to an origin server; determine whether the origin server is available to process the request; determine a state associated with the request for data in response to the origin server not being available to process the request for data; assign a priority to the request for data according to the state associated with the request for data and according to priority criteria associated with the state in response to the origin server not being available to process the request for data; store the prioritized request for data in the queue as a function of the priority associated with the request for data in response to the origin server not being available to process the request for data; determine that the origin server becomes available to process the request for data; return the request for data and a permission indicator to the cache server in order to retrieve data associated with the request for data from the origin server for delivery to a client computer. - View Dependent Claims (25, 26, 27, 28)
-
-
29. A method for dynamic flow control comprising:
-
receiving a request for data, the request for data received from a client computer requesting data; determining a state associated with the request for data in response to a protected source not being available to process the request for data; associating a priority with the request for data according to the state associated with the request for data and according to priority criteria associated with the state in response to the protected source not being available to process the request for data; storing the request for data in a queue as a function of the priority associated with the request for data in response to the protected source not being available to process the request for data; and returning the request for data and a permission indicator for retrieving the data requested by the request for data from the protected resource in response to the protected source becoming available to process the request for data. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
Specification