Electrical computers and digital processing systems: memory – Storage accessing and control – Hierarchical memories
Reexamination Certificate
1997-10-28
2002-05-21
Kim, Matthew (Department: 2186)
Electrical computers and digital processing systems: memory
Storage accessing and control
Hierarchical memories
C711S141000, C709S213000
Reexamination Certificate
active
06393526
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to caches.
2. Related Art
When presenting and reviewing data using a web browser or web client, that is, a client program for the web (the “World Wide Web”) such as Netscape Corporation's “Navigator” product or Microsoft Corporation's “Internet Explorer” product, it is desirable to present the data with as little delay as possible. If the user of the web client has to wait too long for the data to be displayed, this can lead to user dissatisfaction.
Some web clients access the web using a proxy cache, that is, a device for requesting web documents on behalf of the web client and for caching those web documents for possible later use. The proxy cache acts to reduce the amount of communication bandwidth used between the web client and web servers. A proxy cache can be shared by more than one web client, in which case it acts to reduce the total amount of communication bandwidth used between all of its web clients and web servers. One advantage of the proxy cache is that web documents stored in cache can be accessed more quickly than re-requesting those web documents from their originating web server.
One problem in the art is that a document requested by the web client (a “web document”) can include, in addition to text and directions for display, embedded objects which are to be displayed with the web document. Embedded objects can include pictures, such as data in GIF or JPEG format, other multimedia data, such as animation, audio (such as streaming audio), movies, video (such as streaming video), program fragments, such as Java, Javascript, or ActiveX, or other web documents, such as when using frames. The web client must parse the web document to determine the embedded objects, and then request the embedded objects from the web server.
While using a proxy cache ameliorates this problem somewhat, the problem persists. If there are many embedded objects in the web document, it can take substantial time to identify, request, communicate, and display all of them. Parsing and requesting embedded objects by the web client is serial, and most web clients are set to request only a small number of embedded objects at a time. Web clients requesting embedded objects perform this task in parallel with rendering those objects for display, further slowing operation.
Moreover, known proxy caches use a two-level memory having both primary memory and secondary mass storage. Even those embedded objects already maintained in the cache, and thus accessible by the web client without requesting them from the web server, may have been dropped out of the primary memory to secondary mass storage, possibly delaying communication of the embedded objects from the proxy cache to the web client and thus delaying display of those embedded objects to the user.
Accordingly, it would be advantageous to provide a method and system for reducing latency in reviewing and presenting web documents to the user. This advantage is achieved in a system in which web documents are parsed by a cache for references to embedded objects, and those embedded objects are pre-fetched from the web server or pre-loaded from secondary mass storage by the cache before they are requested by the web client.
Teachings of the art include (1) the known principle of computer science that devices work better when they are indifferent to the nature of the data they process, and (2) the known principle of client-server systems that it is advantageous to assign processing-intensive tasks to clients, rather than to servers, whenever possible. The invention is counter to the first teaching, as the cache alters its behavior in response to its parsing of the web documents it receives for communication to the client. The invention is also counter to the second teaching, as the cache takes on the additional processing tasks of parsing the web document for embedded objects and, if necessary, independently requesting those embedded objects from the web server.
SUMMARY OF THE INVENTION
The invention provides a method and system for reducing latency in reviewing and presenting web documents to the user. A cache coupled to one or more web clients request web documents from web servers on behalf of those web clients and communicates those web documents to the web clients for display. The cache parses the web documents as they are received from the web server, identifies references to any embedded objects, and determines if those embedded objects are already maintained in the cache. If those embedded objects are not in the cache, the cache automatically pre-fetches those embedded objects from the web server without need for a command from the web client.
In a preferred embodiment, the cache maintains a two-level memory including primary memory and secondary mass storage. At the time the web document is received, the cache determines if any embedded objects are maintained in the cache but are not in primary memory. If those embedded objects are not in primary memory, the cache automatically pre-loads those embedded objects from secondary mass storage to primary memory without need for a request from the web client.
In a preferred embodiment, web documents maintained in the cache are periodically refreshed, so as to assure those web documents are not “stale” (changed at the web server but not at the cache). The invention is applied both to original requests to communicate web documents and their embedded objects from the web server to the web client, and to refresh requests to communicate web documents and their embedded objects from the web server to the cache.
REFERENCES:
patent: 5452440 (1995-09-01), Salsburg
patent: 5452447 (1995-09-01), Nelson et al.
patent: 5596774 (1997-01-01), Dao et al.
patent: 5649154 (1997-07-01), Kumar et al.
patent: 5696932 (1997-12-01), Smith
patent: 5696948 (1997-12-01), Cruz et al.
patent: 5715445 (1998-02-01), Wolfe
patent: 5737635 (1998-04-01), Daines et al.
patent: 5752022 (1998-05-01), Chiu et al.
patent: 5778168 (1998-07-01), Fuller
patent: 5781785 (1998-07-01), Rowe et al.
patent: 5787470 (1998-07-01), DeSimone et al.
patent: 5802292 (1998-09-01), Mogul
patent: 5819045 (1998-10-01), Raman et al.
patent: 5822539 (1998-10-01), Hoff
patent: 5822757 (1998-10-01), Chi
patent: 5826253 (1998-10-01), Bredenberg
patent: 5852717 (1998-12-01), Bhide et al.
patent: 5860106 (1999-01-01), Domen et al.
patent: 5864837 (1999-01-01), Maimone
patent: 5864852 (1999-01-01), Loutonen
patent: 5870769 (1999-02-01), Freund
patent: 5878218 (1999-03-01), Maddalozzo et al.
patent: 5878223 (1999-03-01), Becker et al.
patent: 5884046 (1999-03-01), Antonov
patent: 5887151 (1999-03-01), Raz et al.
patent: 5892937 (1999-04-01), Caccavate
patent: 5896506 (1999-04-01), Ali et al.
patent: 5905999 (1999-05-01), Liu et al.
patent: 5913033 (1999-06-01), Grout
patent: 5918013 (1999-06-01), Mighdoll et al.
patent: 5931904 (1999-08-01), Banga et al.
patent: 5933849 (1999-08-01), Srbljic et al.
patent: 5935213 (1999-08-01), Rananand et al.
patent: 5946682 (1999-08-01), Wolfe
patent: 5948062 (1999-09-01), Tzelnic
patent: 5950205 (1999-09-01), Aviani, Jr.
patent: 5954795 (1999-09-01), Tomita et al.
patent: 5961602 (1999-10-01), Thompson et al.
patent: 5964830 (1999-10-01), Durett
patent: 5974430 (1999-10-01), Mutschler, III et al.
patent: 5978848 (1999-11-01), Maddalozzo, Jr. et al.
patent: 6009466 (1999-12-01), Axberg et al.
patent: 6012085 (2000-01-01), Yohe et al.
patent: 6012126 (2000-01-01), Aggarwal et al.
patent: 6014671 (2000-01-01), Castelli et al.
patent: 6016512 (2000-01-01), Huitema
patent: 6026474 (2000-02-01), Carter et al.
patent: 6085193 (2000-07-01), Malkin et al.
patent: 6098096 (2000-08-01), Tsirigotis et al.
patent: 6282542 (2001-08-01), Carneal et al.
patent: 2001/0000083 (2001-03-01), Crowe et al.
patent: 0 836 145 (1998-04-01), None
patent: WO 97 30539 (1997-08-01), None
Glassman, S. “A Caching Relay for the World Wide Web”, Computer Network and ISDN Systems, vol. 27 pp. 165-173, Nov. 1994.*
Braun, H et al., “Web traffic Characterization: an Assessme
Bonkowski Bert
Crow Doug
Czegledi Harold
Jenks Tim
Bataille Pierre-Michel
Cache Plan, Inc.
Kim Matthew
Swernofsky Law Group PC
LandOfFree
Shared cache parsing and pre-fetch does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Shared cache parsing and pre-fetch, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Shared cache parsing and pre-fetch will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2845270