IP Library Granted Patent US 7,103,714
Granted Patent B1
US 7,103,714 · App. 09/923,102 · Granted Sep 5, 2006

System and method for serving one set of cached data for differing data requests

Assignee: Oracle International Corp.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,103,714
App. No.
09/923,102
Granted
Sep 5, 2006
Kind
B1
Abstract

A system and method for enabling a cache system, operating on behalf of a data server (e.g., web server, application server, database server), to serve one set of data in response to multiple requests that differ in content or form. In particular, the requests may include different session identifiers for identifying different users, clients or sessions, but they target the same basic set of data (e.g., a web page). When a set of data is cached in response to a request having one session identifier, it can also be served in response to another request having a second session identifier because the session identifiers are deleted, masked, replaced or otherwise ignored when searching the cache system for data responsive to the second request. Also, the cache system may include a requestor's session identifier as part of a data identifier (e.g., URI, hyperlink) within data served to the requester.

Claims (61)

1. A method of operating a cache system to serve one set of cached data in response to multiple different data requests, comprising:

receiving a first request for a first set of data, said first request comprising a first session identifier configured to identify a first client session, wherein said first set of data is identifiable by a data identifier, and wherein said first session identifier identifies a first client to an application;

serving said first set of data from the cache system in response to said first request;

receiving a second request for said first set of data, said second request comprising a second session identifier different from said first session identifier, wherein each of said first request and said second request comprise said data identifier, and wherein said second session identifier identifies a second client to the application;

caching said first set of data;

associating a portion of said first request with said cached first set of data; and

serving said first set of data from the cache system in response to said second request, wherein said serving said first set of data in response to said second request comprises:

searching the cache system for a set of data responsive to said second request, wherein said searching comprises comparing said associated portion of said first request to said second request, and wherein said searching involves replacing one or more of said first session identifier and said second session identifier with a default session identifier,

customizing the set of data responsive to said second request based upon an identifier of custom data in the second request, and

matching said first set of data with said second request.

2. The method of claim 1 , wherein said data identifier is a URI (Uniform Resource Identifier).

3. The method of claim 1 , wherein said first session identifier is combined with said data identifier in said first request; and

wherein said second session identifier is combined with said data identifier in said second request.

4. The method of claim 1 , wherein said portion comprises a combination of said data identifier and said first session identifier.

5. The method of claim 1 , wherein said associating comprises replacing said first session identifier with a default session identifier.

6. The method of claim 1 , further comprising, prior to said serving said first set of data in response to said second request:

inserting said second session identifier into one or more data identifiers within said first set of data.

7. The method of claim 6 , wherein said inserting comprises replacing said first session identifier in a first data identifier with said second session identifier.

8. A method of serving one set of cached data, from a cache system, in response to a plurality of different data requests, wherein each data request comprises a different session identifier, the method comprising:

receiving a first request for a first set of data from a first client session, wherein said first request comprises:

a data identifier identifying said first set of data; and

a first session identifier identifying said first client session, wherein said first session identifier identifies a first client to an application;

receiving said first set of data from a data server;

caching said first set of data, wherein said first set of data is identifiable in the cache system by information included in said first request;

receiving a second request for said first set of data from a second client session, wherein said second request comprises:

said data identifier; and

a second session identifier identifying said second client session;

retrieving said first set of data from a cache, wherein said retrieving involves searching for a previous request for which said first set of data was cached, and wherein said second session identifier identifies a second client to the application; and

serving said first set of data in response to said second request, wherein said serving said first set of data in response to said second request comprises:

searching the cache system for a set of data responsive to said second request, wherein said searching comprises comparing said associated portion of said first request to said second request, and wherein said searching involves replacing one of said first session identifier and said second identifier with a default value,

customizing the set of data responsive to said second request based upon an identifier of custom data in the second request, and

matching said first set of data with said second request.

9. The method of claim 8 , wherein in said first request, said data identifier is combined with said first session identifier.

10. The method of claim 8 , wherein said searching comprises comparing a portion of said second request with said information included in said first request.

11. The method of claim 8 , further comprising, prior to said serving:

extracting said second session identifier from said second request; and

combining said second session identifier with a first data identifier in said first set of data.

12. The method of claim 11 , wherein said combining comprises replacing said first session identifier with said second session identifier.

13. A cache system for caching data from a data server, comprising:

a first cache memory configured to store a first data item, wherein said first data item is retrieved from a data server for serving in response to a first data request comprising a first session identifier, wherein said first session identifier identifies a first client to an application; and

a parser configured to parse a second data request comprising a second session identifier different from said first session identifier, wherein said second session identifier identifies a second client to the application;

wherein said first data item is served in response to said second data request, wherein said serving said first set of data in response to said second request comprises:

searching the cache system for a set of data responsive to said second request, wherein said searching comprises comparing said associated portion of said first request to said second request, and wherein said searching involves replacing one of said first session identifier and said second identifier with a default value,

customizing the set of data responsive to said second request based upon an identifier of custom data in the second request, and

matching said first set of data with said second request.

14. The cache system of claim 13 , wherein said first data request comprises a combination of a first data identifier of said first data item and said first session identifier and said second data request comprises a combination of said first data identifier and said second session identifier; and

wherein said parser is configured to extract said second session identifier from said second data request.

15. The cache system of claim 13 , wherein said first data item comprises a data identifier of another data item; and

wherein said second session identifier is combined with said data identifier of said other data item prior to serving said first data item.

16. The cache system of claim 13 , further comprising:

a second cache memory configured to store a first portion of said first data request, wherein said portion may be compared to a second portion of said second data request to determine if said first data item is responsive to said second data request;

wherein said first session identifier and said second session identifier are ignored during said comparison.

17. A cache system for serving one set of data in response to different data requests, comprising:

parsing means configured to examine a data request to identify a requested set of data;

retrieval means configured to retrieve a session identifier from said data request, wherein said session identifier identifies a first client to an application; and

search means configured to search a cache for said requested set of data, wherein said search means is further configured to disregard said session identifier and a session identifier of a previous request in response to which said request set of data was served, and wherein said session identifier of the previous request identifies a second client to the application, and

serving means configured to serve said first set of data from the cache system in response to said second request, wherein said serving means comprises:

searching means configured to search the cache system for a set of data responsive to said second request, wherein said searching comprises comparing said associated portion of said first request to said second request, and wherein said searching involves replacing one of said first session identifier and said second identifier with a default valued,

customizing means for customizing the set of data responsive to said second request based upon an identifier of custom data in the second request, and

matching means for matching said first set of data with said second request.

18. The cache system of claim 17 , further comprising update means configured to update one or more data identifiers in said requested set of data to include said session identifier.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2003
From: ORACLE CORPORATION
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 013737/0276 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2001
From: JACOBS, LAWRENCE; LIU, XIANG; NAKHODA, SHEHZAAD; MISHRA, RAJIV; ZENG, ZHENG; DESAI, SACHIN
To: ORACLE CORPORATION
Reel/Frame 012249/0867 →