Electrical computers and digital processing systems: memory – Storage accessing and control – Hierarchical memories
Reexamination Certificate
2001-08-04
2004-08-31
Vital, Pierre M. (Department: 2188)
Electrical computers and digital processing systems: memory
Storage accessing and control
Hierarchical memories
C711S133000, C711S146000, C709S203000, C709S232000
Reexamination Certificate
active
06785769
ABSTRACT:
BACKGROUND
This invention relates to the field of computer systems. More particularly, a system and methods are provided for selecting and serving one of multiple versions of a set of data.
In traditional caching systems and methods, one version or copy of a set of data (e.g., a web page, web page component, database object) is typically cached and served in response to all requests for that data. Often, however, different requests may be better served with different versions of the data. The different versions may be in different languages, different protocols or formats (e.g., with frames or without frames), etc. For example, while a native speaker of a particular language may be able to fully enjoy a web page presented in that language, another user having a different native language may not be able to fully appreciate the same version of the web page.
Traditional cache systems generally look at just the data identifier (e.g., URL or Uniform Resource Locator) to identify the set of data to serve. If the cache system stores a set of data matching that identifier, it will serve it, even if a different version of the data is available and may be more responsive. More particularly, traditional cache systems cannot disambiguate a request for a multiversion data item to determine which version is most suitable for the request.
Thus, what is needed is a system and method for selecting and serving, from multiple versions of a set of data, a cached version that is most appropriate for a particular request.
SUMMARY
In one embodiment of the invention a cache system and a method of serving one of multiple versions of a data item are provided. In this embodiment, a request for a data item (e.g., a web page, an object component of a web page, a collection of data) is received at a cache. An initial lookup is performed on the cache using a data identifier extracted from the request. The data identifier may identify the data item with a URL (Uniform Resource Locator), address, file name, etc.
If the initial lookup fails, a cache miss has occurred and the request may be forwarded to an origin server (e.g., web server, data server, application server) for handling. If the initial lookup is successful, it may return either the data item or, if disambiguation of the data request is necessary (i.e., to select one of multiple versions of the data item), a policy identifying additional information needed to select the most responsive of multiple versions of the data. The additional information is retrieved (e.g., from the request, the client, the origin server) and another lookup is performed using that information. If the lookup is successful, the data item is identified, retrieved from cache (if available) and served to the client.
In an embodiment of the invention, the extra information needed to disambiguate a request for a multi-version data item may include one or more cookies or parameters included in the request. Such parameters may identify a user agent (e.g., a browser), a version of a user agent, a country or language (e.g., of the client that submitted the request), etc. A disambiguation policy may be generated with an administrative interface configured to allow an administrator to identify a particular data item or set of data items (e.g., a specific jpeg image, all .html files in a given directory) and specify the additional information needed to select an appropriate version of the data item(s).
REFERENCES:
patent: 5611049 (1997-03-01), Pitts
patent: 5931904 (1999-08-01), Banga et al.
patent: 6029175 (2000-02-01), Chow et al.
patent: 6085234 (2000-07-01), Pitts et al.
patent: 6112278 (2000-08-01), Ellis et al.
patent: 6138141 (2000-10-01), DeSimone et al.
patent: 6209003 (2001-03-01), Mattis et al.
patent: 6292880 (2001-09-01), Mattis et al.
patent: 6360249 (2002-03-01), Courts et al.
patent: 6389460 (2002-05-01), Stewart et al.
patent: 6507891 (2003-01-01), Challenger et al.
patent: 6542964 (2003-04-01), Scharber
patent: 6553411 (2003-04-01), Dias et al.
patent: 6640240 (2003-10-01), Hoffman et al.
Candan, et al., Enabling Dynamic Content Caching for Database-Driven Web Sites. ACM SIGMOD May 21-24, 2000, Santa Barbara, CA, Copyright 2001 ACM.
Challenger, et al., A Scalable System for Consistently Caching Dynamic Web Data. IBM Research, Yorktown Heights, NY.
Challenger, et al., A Publishing System for Efficiently Creating Dynamic Web Content. IBM Research, Yorktown Heights, NY.
Datta, et al., A Comparative Study of Alternative Middle Tier Caching Solutions to Support Dynamic Web Content Acceleration. Proceedings of the 27thVLDB Conference, Roma, Italy, 2001.
Degenaro, et al., A Middleware System Which Intelligently Caches Query Results. IBM Research, Yorktown Heights, NY, Copyright 2000, Springer-Verlag.
Wessels, et al., ICP and the Squid Web Cache, pp. 1-25. Aug. 13, 1997.
Wessels, et al., Internet Cache Protocol (ICP), version 2, pp. 1-9. National Laboratory for Applied Network Research/UCSD, Sep. 1997.
Akamai white paper: Turbo-Charging Dynamic Web Site with Akamai EdgeSuite, pp. 1-16. www.akamai. com, Sep. 23, 2002. Copyright 2001, Akamai Technologies, Inc.
Edge Sides Includes (ESI) Overview, pp. 1-7. www.esi.org, Sep. 23, 2002. Copyright 2001, Oracle Corporation, Akamai Technologies, Inc.
Tsimelzon, et al., Edge Sides Includes ESI-Accelerating E-Business Applications: Language Specification 1.0, pp. 1-12. www.esi.org/language _spec_1-0.html, Sep. 23, 2002. Copyright 2001, Akamai Technologies, Oracle Corporation.
Nottingham, et al., Edge Side Includes ESI-Accelerating E-Business Applications: Edge Architecture Specification, pp. 1-6. www.esi.org/architecture_spec_1-0.html, Sep. 23, 2002. Copyright 2001, Akamai Technologies, Oracle Corporation.
Jacobs, et al., Edge Side Includes ESI-Accelerating E-Business Applications: ESI Invalidation Protocol 1.0, pp. 1-13. www.esi.org/invalidation protocol 1-0.html, Sep. 23, 2002. Copyright 2001, Oracle Corporation.
Basu, et al., Edge Side Includes ESI-Accelerating E-Business Applications: JESI Tag Library 1.0 Specification: Tags for Edge-Side Includes in JSP, pp. 1-19. www.esi.org/jesit_tag _lib_1-0.html, Sep. 23, 2002. Copyright 2001, Oracle Corporation, Akamai Technologies, Inc.
Jacobs Lawrence
Liu Xiang
Mishra Rajiv
Nakhoda Shehzaad
Zeng Zheng
Oracle International Corporation
Park Vaughan & Fleming LLP
Vital Pierre M.
LandOfFree
Multi-version data caching does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Multi-version data caching, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Multi-version data caching will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3309692