System and method for session-aware caching
First Claim
1. A method of operating a cache to serve data in response to a data request, comprising:
- receiving at a cache a first request from a first client for a first set of data;
determining whether service of said first set of data is restricted to data requests having session identifiers;
determining whether said first request includes a session identifier; and
if said service of said first set of data is restricted and said first request does not include a session identifier, forwarding said first request to a data server.
2 Assignments
0 Petitions
Accused Products
Abstract
A session-aware system and method for caching and serving data. A session-aware cache system stores data that may be designated or restricted for service to registered sessions or data requests that include session identifiers. A request for a restricted set of cached data that omits a session identifier is passed to an origin server (e.g., web server, data server) so that a session may be established and a session identifier assigned. The session-aware cache system may determine whether a session identifier of a data request is near expiration. If so, the request may be passed to the origin server so that the session lifetime may be extended.
-
Citations
33 Claims
-
1. A method of operating a cache to serve data in response to a data request, comprising:
-
receiving at a cache a first request from a first client for a first set of data;
determining whether service of said first set of data is restricted to data requests having session identifiers;
determining whether said first request includes a session identifier; and
if said service of said first set of data is restricted and said first request does not include a session identifier, forwarding said first request to a data server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
receiving a response from the data server, wherein said response includes a first session identifier; and
serving said first set of data with said first session identifier to the first client.
-
-
3. The method of claim 2, wherein said response further includes said first set of data, the method further comprising:
storing said first set of data in a cache memory.
-
4. The method of claim 2, further comprising:
-
receiving at the cache a second request from the first client, wherein said second request includes said first session identifier and said first session identifier has an expiration;
determining whether said expiration should be extended; and
if said expiration should be extended, forwarding said second request to the data server.
-
-
5. The method of claim 4, wherein said determining whether said expiration should be extended comprises requesting said expiration from the data server.
-
6. The method of claim 4, wherein said determining whether said expiration should be extended comprises retrieving said expiration from a memory of the cache.
-
7. The method of claim 4, wherein said determining whether said expiration should be extended comprises identifying a time interval that has passed since a previous request from the first client was forwarded to the data server.
-
8. The method of claim 2, further comprising:
-
receiving at the cache a second request from the first client, wherein said second request includes said first session identifier and said first session identifier has an expiration;
determining whether said expiration should be extended; and
if said expiration should be extended, notifying the data server of said second request so that the data server may extend said expiration.
-
-
9. The method of claim 1, further comprising:
if said service of said first set of data is restricted and said first request includes said session identifier, serving said first set of data to the first client in response to said first request.
-
10. The method of claim 1, further comprising prior to said receiving a first request:
-
receiving from the data server said first set of data; and
storing an indicator configured to indicate that said first set of data is only to be served in response to requests that include session identifiers.
-
-
11. The method of claim 10, wherein said determining whether service of said first set of data is restricted comprises examining said indicator.
-
12. A method of operating a cache system, comprising:
-
receiving at the cache system a first request for a first set of data;
determining whether said first set of data may be served in response to a request that does not include a session identifier;
examining said first request to determine if said first request includes a session identifier;
obtaining a first session identifier if said first set of data is only servable in response to a request that includes a session identifier and said first request does not include a session identifier; and
serving said first set of data in response to said first request. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
serving said first session identifier with said first set of data.
-
-
14. The method of claim 13, wherein said obtaining comprises:
forwarding said first request to a data server configured to maintain said first set of data.
-
15. The method of claim 14, wherein said obtaining further comprises:
receiving from the data server said first session identifier.
-
16. The method of claim 13, wherein said obtaining comprises generating said first session identifier at the cache system.
-
17. The method of claim 12, further comprising:
-
receiving at the cache a second request from the first client, wherein said second request includes said first session identifier and said first session identifier has an expiration;
determining whether said expiration should be extended; and
if said expiration should be extended, forwarding said second request to the data server.
-
-
18. The method of claim 17, wherein said determining whether said expiration should be extended comprises requesting said expiration from the data server.
-
19. The method of claim 17, wherein said determining whether said expiration should be extended comprises retrieving said expiration from a memory of the cache.
-
20. The method of claim 17, wherein said determining whether said expiration should be extended comprises identifying a time interval that has passed since a previous request from the first client was forwarded to the data server.
-
21. The method of claim 12, further comprising:
-
receiving at the cache a second request from the first client, wherein said second request includes said first session identifier and said first session identifier has an expiration;
determining whether said expiration should be extended; and
if said expiration should be extended, notifying the data server of said second request so that the data server may extend said expiration.
-
-
22. A computer readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method of operating a cache to serve data in response to a data request, the method comprising:
-
receiving at a cache a first request from a first client for a first set of data;
determining whether service of said first set of data is restricted to data requests having session identifiers;
determining whether said first request includes a session identifier; and
if said service of said first set of data is restricted and said first request does not include a session identifier, forwarding said first request to a data server.
-
-
23. A computer readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method of operating a cache to serve data in response to a data request, the method comprising:
-
receiving at the cache system a first request for a first set of data;
determining whether said first set of data may be served in response to a request that does not include a session identifier;
examining said first request to determine if said first request includes a session identifier;
obtaining a first session identifier if said first set of data is only servable in response to a request that includes a session identifier and said first request does not include a session identifier; and
serving said first set of data in response to said first request.
-
-
24. A cache system, comprising:
-
a memory configured to store a first data item;
an indicator configured to indicate, in a first state, that said first data item may only be served in response to data requests that include session identifiers; and
a processor configured to forward a first data request for said first data item to a data server if said indicator is in said first state and said first data request does not include a session identifier. - View Dependent Claims (25, 26, 27, 28, 30)
a parser configured to parse said first data request to determine if said first data request includes a first session identifier.
-
-
26. The cache system of claim 25, further comprising:
means for determining whether said first session identifier has an expiration.
-
27. The cache system of claim 26, wherein said processor is further configured to forward said first data request to the data server if said first session identifier is configured to expire within a predetermined period of time.
-
28. The cache system of claim 24, further comprising:
a timing module configured to determine, if said first data request includes a first session identifier having an expiration, whether said expiration should be extended.
-
30. The cache system of claim 28, further comprising:
a communication module configured to notify the data server of said first data request if said expiration should be extended.
-
29. The cache system of claim 29, further comprising:
a communication module configured to forward said first data request to the data server if said expiration should be extended.
-
31. A cache system, comprising:
-
storage means for caching a first set of data from a data server;
indicating means for indicating whether said first set of data may be served only for data requests having session identifiers;
parsing means for parsing a first data request to determine whether said first data request includes a first session identifiers means for forwarding said first data request to the data server if said first set of data may be served only for data requests having session identifiers;
means for determining whether a session identifier has an expiration; and
means for determining whether an extension is needed for a session identifier having an expiration. - View Dependent Claims (32, 33)
means for forwarding to the data server a second data request if the second data request has a second session identifier and said second session identifier has an expiration.
-
-
33. The cache system of claim 31, further comprising:
means for forwarding to the data server a notification of a second session identifier if said second session identifier has an expiration and needs an extension.
Specification