Transparent session persistence management by a cache server in a content delivery network
First Claim
Patent Images
1. A method of managing session persistence through a cache server in a content distribution network, comprising:
- receiving, via a user interface and from an operator of an origin server associated with a domain name in a content distribution network, a selection of at least one persistence option from among a plurality of persistence options that include;
cache-server-based persistence, in which one or more cache servers in the content distribution network are responsible for establishing persistence, and origin-server-based persistence, in which one or more origin servers are responsible for establishing persistence;
wherein, for the selection by the operator of the origin server comprising cache-server-based-persistence, the one or more cache servers establishes an association between a client and an origin server by performing at least one action selected from a group of actions that are;
(i) with the one or more cache servers, sending a cookie to the client, the cookie including both an identifier indicating use of session persistence and an address associated with the origin server;
(ii) with the one or more cache servers, sending a URL to the client, the URL including both an identifier indicating use of session persistence and an address associated with the origin server;
(iii) with the one or more cache servers, entering a client IP address and the origin server address in a look-up table that associates the client with the origin server so as to establish session persistence; and
(iv) with the one or more cache servers, entering a SSL session identifier and the origin server address in a look-up table that associates the session with the origin server so as to establish session persistence;
wherein, for the selection by the operator of the origin server comprising origin-server-based persistence, the one or more origin servers establishes an association between a client and an origin server by performing at least one action selected from a group of actions that are;
(i) with the one or more origin servers, sending a cookie to the client via one or more cache servers, the cookie including both an identifier indicating use of session persistence and an address associated with the origin server; and
(ii) with the one or more origin servers, sending a URL to the client via one or more cache servers, the URL including both an identifier indicating use of session persistence and an address associated with the origin server;
receiving a first content request from the client at a cache server;
sending the first content request to an origin server selected by the cache server upon determining that the first content request cannot be satisfied by content in a cache associated with the cache server, wherein the cache server selects the origin server based on the association between the client and the origin server established according to the at least one persistence option selected by the operator of the origin server;
receiving first content at the cache server from the origin server in response to the first content request; and
sending the first content from the cache server to the client.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for establishing session persistence between a client and an origin server are provided. The session persistence can be managed by an intermediate cache server. The persistence is established by inserting an identifier and origin server address in a cookie or URL. Alternatively, the persistence is established by a table mapping a source IP address or a session ID to a specific origin server. Subsequent requests from the same client are mapped to the same origin server using these methods of establishing persistence.
-
Citations
45 Claims
-
1. A method of managing session persistence through a cache server in a content distribution network, comprising:
-
receiving, via a user interface and from an operator of an origin server associated with a domain name in a content distribution network, a selection of at least one persistence option from among a plurality of persistence options that include;
cache-server-based persistence, in which one or more cache servers in the content distribution network are responsible for establishing persistence, and origin-server-based persistence, in which one or more origin servers are responsible for establishing persistence;wherein, for the selection by the operator of the origin server comprising cache-server-based-persistence, the one or more cache servers establishes an association between a client and an origin server by performing at least one action selected from a group of actions that are;
(i) with the one or more cache servers, sending a cookie to the client, the cookie including both an identifier indicating use of session persistence and an address associated with the origin server;
(ii) with the one or more cache servers, sending a URL to the client, the URL including both an identifier indicating use of session persistence and an address associated with the origin server;
(iii) with the one or more cache servers, entering a client IP address and the origin server address in a look-up table that associates the client with the origin server so as to establish session persistence; and
(iv) with the one or more cache servers, entering a SSL session identifier and the origin server address in a look-up table that associates the session with the origin server so as to establish session persistence;wherein, for the selection by the operator of the origin server comprising origin-server-based persistence, the one or more origin servers establishes an association between a client and an origin server by performing at least one action selected from a group of actions that are;
(i) with the one or more origin servers, sending a cookie to the client via one or more cache servers, the cookie including both an identifier indicating use of session persistence and an address associated with the origin server; and
(ii) with the one or more origin servers, sending a URL to the client via one or more cache servers, the URL including both an identifier indicating use of session persistence and an address associated with the origin server;receiving a first content request from the client at a cache server; sending the first content request to an origin server selected by the cache server upon determining that the first content request cannot be satisfied by content in a cache associated with the cache server, wherein the cache server selects the origin server based on the association between the client and the origin server established according to the at least one persistence option selected by the operator of the origin server; receiving first content at the cache server from the origin server in response to the first content request; and sending the first content from the cache server to the client. - View Dependent Claims (2, 3, 4, 5, 6, 43)
-
-
7. A method of operating cache servers in a content distribution network comprising:
-
receiving, via a user interface and from an operator of an origin server associated with a domain name in a content distribution network, a selection of a persistence option that comprises cache-server-based persistence, in which one or more cache servers in the content distribution network are responsible for establishing persistence by sending a client at least one of (i) a cookie including an identifier indicating use of session persistence and an address associated with an origin server, and (ii) a URL including an identifier indicating use of session persistence and an address associated with an origin server; receiving a first request for content from a client at a first cache server in a content distribution network; sending the first request for content to an origin server upon determining that the first request for content from the client cannot be satisfied with content stored in a first cache associated with the first cache server; receiving and storing first content from the origin server at the first cache server; sending the first content received from the origin server to the client; sending the identifier and the origin server'"'"'s address to the client; receiving a second request for content from the client at a second cache server in the content distribution network; sending a second request for content to the origin server upon determining that the second request for content from the client cannot be satisfied with content in a second cache associated with the second cache server and upon determining from the identifier that persistence is being used; receiving second content at the second cache server from the origin server; sending the second content received from the origin server to the client; and upon detection of a failure condition of the origin server by the second cache server, selecting, by the second cache server, a new origin server and sending, by the second cache server, the new origin server address to the client. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 44)
-
-
17. A method of operating cache servers in a content distribution network comprising:
-
receiving, via a user interface and from an operator of an origin server associated with a domain name in a content distribution network, a selection of a persistence option that comprises cache-server-based persistence, in which one or more cache servers in the content distribution network are responsible for establishing persistence by performing at least one action selected from a group of actions that are;
(i) entering a client IP address and an origin server address in a look-up table; and
(ii) entering a SSL session identifier and an origin server address in a look-up table;receiving a first request for content from a client at a first cache server in a content distribution network; sending the first request for content to an origin server upon determining that the first request for content from the client cannot be satisfied with content stored in a first cache associated with the first cache server; receiving, at the first cache server, first content from the origin server; sending the first content received from the origin server to the client; inserting the origin server'"'"'s address and at least one of a client IP address and a SSL session identifier in a table on the cache server; distributing the table to at least one other cache server in the content distribution network; receiving a second request for content from the client at a second cache server in the content distribution network; sending a second request for content to the origin server upon determining that the second request for content from the client cannot be satisfied with content in a second cache associated with the second cache server and upon determining from the table that persistence is being used; receiving second content at the second cache server from the origin server; and sending the second content received from the origin server to the client; and upon detection of a failure condition of the origin server by a cache server in the content distribution network, selecting, by the cache server that detected the origin server failure, a new origin server and inserting, by the cache server that detected the origin server failure, a new origin server address in the table. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A cache server in a content distribution network, comprising:
-
a subsystem that receives, via a user interface and from an operator of an origin server associated with a domain name in a content distribution network, a selection of at least one persistence option from among a plurality of persistence options that includes;
cache-server-based persistence in which one or more cache servers in the content distribution network are responsible for establishing persistence, and origin-server-based persistence, in which one or more origin servers are responsible for establishing persistence;wherein, for the selection by the operator of the origin server comprising cache-server-based-persistence, the one or more cache server'"'"'s subsystems establishes an association between a client and an origin server by performing at least one action selected from a group of actions that are;
(i) with the one or more of the cache server'"'"'s subsystems, sending a cookie to the client, the cookie including both an identifier indicating use of session persistence and an address associated with the origin server;
(ii) with the one or more of the cache server'"'"'s subsystems, sending a URL to the client, the URL including both an identifier indicating use of session persistence and an address associated with the origin server;
(iii) with one or more of the cache server'"'"'s subsystems, entering a client IP address and the origin server address in a look-up table that associates the client with the origin server so as to establish session persistence; and
(iv) with the one or more cache servers, entering a SSL session identifier and the origin server address in a look-up table that associates the session with the origin server so as to establish session persistence;wherein, for the selection by the operator of the origin server comprising origin-server-based persistence, the one or more origin server'"'"'s subsystems establishes an association between a client and an origin server by performing at least one action selected from a group of actions that are;
(i) with the one or more origin server'"'"'s subsystems, sending a cookie to the client via one or more cache servers, the cookie including both an identifier indicating use of session persistence and an address associated with an origin server; and
(ii) with the one or more origin server'"'"'s subsystems, sending a URL to the client via one or more cache servers, the URL including both an identifier indicating use of session persistence and an address associated with an origin server;a subsystem that receives a first content request from the client at a cache server; a subsystem that sends the first content request to an origin server upon determining that the first content request cannot be satisfied by content in a cache associated with the cache server, wherein the cache server selects the origin server based on the association between the client and the origin server established according to the at least one persistence option selected by the operator of the origin server; a subsystem that receives first content at the cache server from the origin server in response to the first content request; and a subsystem that sends the first content to the client. - View Dependent Claims (25, 26, 27, 28, 29, 45)
-
-
30. A content distribution network having a plurality of cache servers, comprising:
-
a subsystem that receives, via a user interface and from an operator of an origin server associated with a domain name in a content distribution network, a selection of a persistence option that comprises cache-server-based persistence, in which one or more cache servers in the content distribution network are responsible for establishing persistence by sending a client at least one of (i) a cookie including both an identifier indicating use of session persistence and an address associated with an origin server, and (ii) a URL including both an identifier indicating use of session persistence and an address associated with an origin server; a subsystem that receives a first request for content from a client at a first cache server; a subsystem that sends the first request for content to an origin server upon determining that the first request for content from the client cannot be satisfied with content stored in a first cache associated with the first cache server; a subsystem that receives and stores first content from the origin server at the first cache server; a subsystem that sends the first content received from the origin server to the client; a subsystem that sends the identifier and the origin server'"'"'s address to the client; a subsystem that receives a second request for content from the client at a second cache server in the content distribution network; a subsystem that sends a second request for content to the origin server upon determining that the second request for content from the client cannot be satisfied with content in a second cache associated with the second cache server and upon determining from the identifier that persistence is being used; a subsystem that receives second content at the second cache server from the origin server; a subsystem that sends the second content received from the origin server to the client; and a subsystem that, upon detection of a failure condition of the origin server by the second cache server, selects, with the second cache server, a new origin server and sends, with the second cache server, the new origin server address to the client. - View Dependent Claims (31, 32, 33, 34, 35)
-
-
36. A content distribution network having a plurality of cache servers, comprising:
-
a subsystem that receives, via a user interface and from an operator of an origin server associated with a domain name in a content distribution network, a selection of a persistence option that comprises cache-server-based persistence, in which one or more cache servers in the content distribution network are responsible for establishing persistence by performing at least one action selected from a group of actions that are;
(i) entering a client IP address and an origin server address in a look-up table; and
(ii) entering a SSL session identifier and an origin server address in a look-up table;a subsystem that receives a first request for content from a client at the first cache server; a subsystem that sends first request for content to an origin server upon determining that the first request for content from the client cannot be satisfied with content stored in a first cache associated with the first cache server; a subsystem that receives, at the first cache server, first content from the origin server; a subsystem that sends the first content received from the origin server to the client; a subsystem that inserts the origin server'"'"'s address and at least one of a client IP address and a SSL session identifier in a table on the cache server; a subsystem that distributes the table to at least one other cache server in the content distribution network; a subsystem that receives a second request for content from the client at a second cache server that is in the set of cache servers in the content distribution network; a subsystem that sends a second request for content to the origin server upon determining that the second request for content from the client cannot be satisfied with content in a second cache associated with the second cache server and upon determining from the table that persistence is being used; a subsystem that receives second content at the second cache server from the origin server; and a subsystem that sends the second content received from the origin server to the client; and a subsystem that, upon detection of a failure condition of the origin server by a cache server in the content distribution network, selects, by the cache server that detected the origin server failure, a new origin server and inserts, by the cache server that detected the origin server failure, a new origin server address in the table. - View Dependent Claims (37, 38, 39, 40, 41, 42)
-
Specification