US20010000083A1 - Shared cache parsing and pre-fetch - Google Patents
Shared cache parsing and pre-fetch Download PDFInfo
- Publication number
- US20010000083A1 US20010000083A1 US09/726,679 US72667900A US2001000083A1 US 20010000083 A1 US20010000083 A1 US 20010000083A1 US 72667900 A US72667900 A US 72667900A US 2001000083 A1 US2001000083 A1 US 2001000083A1
- Authority
- US
- United States
- Prior art keywords
- web
- cache
- embedded objects
- documents
- shared cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Definitions
- This invention relates to caches.
- 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.
- a document requested by the web client 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.
- 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, might 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.
- 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.
- 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.
- 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.
- 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.
- FIG. 1 shows a block diagram of a system for shared cache parsing and pre-fetch.
- FIG. 2 shows a flow diagram of a method for shared cache parsing and pre-fetch.
- FIG. 1 shows a block diagram of a system for shared cache parsing and pre-fetch.
- a system 100 includes a cache 110 , at least one client device 120 , and at least one server device 130 .
- Each client device 120 is coupled to the cache 110 using a client communication path 121 , such as a dial-up connection, a LAN (local area network), a WAN (wide area network), or some combination thereof.
- each server device 130 is also coupled to the cache 110 using a server communication path 131 , such as a dial-up connection, a LAN (local area network), a WAN (wide area network), or some combination thereof.
- the client communication path 121 includes a LAN
- the server communication path 131 includes a network of networks such as an internet or intranet.
- client and server refer to a relationship between the client or server and the cache 110 , not necessarily to particular physical devices.
- one “client device” 120 or one “server device” 130 can comprise any of the following: (a) a single physical device capable of executing software which bears a client or server relationship to the cache 110 ; (b) a portion of a physical device, such as a software process or set of software processes capable of executing on one hardware device, which portion of the physical device bears a client or server relationship to the cache 110 ; or (c) a plurality of physical devices, or portions thereof, capable of cooperating to form a logical entity which bears a client or server relationship to the cache 110 .
- the phrases “client device” 120 and “server device” 130 refer to such logical entities and not necessarily to particular individual physical devices.
- the server device 130 includes memory or storage 132 having a web document 133 , the web document 133 including references to at least one embedded object 134 .
- the web document 133 can include text and directions for display.
- the embedded object 134 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 cache 110 includes a processor 111 , program and data memory 112 , and mass storage 113 .
- the cache 110 maintains a first set of web objects 114 in the memory 112 and a second set of web objects 114 in the storage 113 .
- Web objects 114 can comprise web documents 133 or embedded objects 134 or both.
- the cache 110 includes a cache device such as described in the Cache Disclosures defined herein, hereby incorporated by reference as if fully set forth therein.
- the cache 110 receives requests from the client device 120 for a web object 114 and determines if that web object 114 is present at the cache 110 , either in the memory 112 or in the storage 113 . If the web object 114 is present in the memory 112 , the cache 110 transmits the web object 114 to the client device 120 using the client communication path 121 . If the web object 114 is present in the storage 113 but not in the memory 112 , the cache 110 loads the web object 114 into the memory 112 from the storage 113 , and proceeds as in the case when the web object 114 was originally present in the memory 112 .
- the cache 110 retrieves the web object 114 from the appropriate server device 130 , places the web object 114 in the memory 112 and the storage 113 , and proceeds as in the case when the web object 114 was originally present in the memory 112 .
- the cache 110 will achieve a substantial “hit rate,” in which many requests from the client device 120 for web objects 114 will be for those web objects 114 already maintained by the cache 110 , reducing the need for requests to the server device 130 using the server communication path 131 .
- the cache 110 parses each web object 114 as it is received from the server device 130 , separately and in parallel to any web client program operating at the client device 120 . If the web object 114 is a web document 133 that includes at least one reference to embedded objects 134 , the cache 110 identifies those references and those embedded objects 134 , and determines if those embedded objects 134 are already maintained in the cache 110 , either in the memory 112 or the storage 113 .
- the cache 110 automatically, without need for a command from the web client, requests those embedded objects 134 from the server device 130 .
- the cache 110 has a relatively numerous set of connections to the server communication path 131 , and so is able to request a relatively numerous set of embedded objects 134 in parallel from the server device 130 . Moreover, the cache 110 parses the web document 133 and requests embedded objects 134 in parallel with the web client at the client device 120 also parsing the web document 133 and requesting embedded objects 134 . The embedded objects 134 are available to the cache 110 , and thus to the client device 120 , much more quickly.
- the cache 110 automatically, without need for a command from the web client, loads those embedded objects 134 from the storage 113 into the memory 112 .
- those web objects 114 maintained in the cache 110 are periodically refreshed, so as to assure those web objects 114 are not “stale” (changed at the server device 130 but not at the cache 110 ).
- the cache 110 selects one web object 114 for refresh and transmits a request to the server device 130 for that web object 114 .
- the server device 130 can respond with a copy of the web object 114 , or can respond with a message that the web object 114 has not changed since the most recent copy of the web object 114 was placed in the cache 110 . If the web object 114 has in fact changed, the cache 110 proceeds as in the case when a client device 120 requested a new web object 114 not maintained in the cache 110 at all. If the web object 114 has in fact not changed, the cache 110 updates its information on the relative freshness of the web object 114 , as further described in the Cache Disclosures.
- FIG. 2 shows a flow diagram of a method for shared cache parsing and pre-fetch.
- a method 200 includes a set of flow points to be noted, and steps to be executed, cooperatively by the system 100 , including the cache 110 , the client device 120 , and the server device 130 .
- the client device 120 is ready to request a web document 133 from the server device 130 .
- the web document 133 can comprise an HTML page having a set of embedded objects 134 .
- the client device 120 transmits a request for the web document 133 , using the client communication path 121 , to the cache 110 .
- the cache 110 determines if that web document 133 is located in the memory 112 at the cache 110 . If so, the cache 110 proceeds with the step 225 . Otherwise, the cache 110 proceeds with the step 223 .
- the cache 110 determines if that web document 133 is located in the storage 113 at the cache 110 (but not in the memory 112 ). If so, the cache 110 loads the web document 133 from the storage 113 into the memory 112 , and proceeds with the step 225 . Otherwise, the cache 110 proceeds with the step 224 .
- the cache 110 transmits a request to the server device 130 for the web document 133 .
- the server device 130 receives the request and transmits the web document 133 to the cache 110 .
- the cache 110 stores the web document 133 in the memory 112 and the storage 113 and proceeds with the step 225 .
- the cache 110 transmits the web document 133 to the client device 120 for display.
- the cache 110 parses the web document 133 and determines if there are any references to embedded objects 134 . If not, the cache 110 proceeds with the flow point 230 . Otherwise, the cache proceeds with the step 226 .
- the cache 110 identifies the embedded documents 134 and repeats the steps 222 through 226 inclusive (including repeating this step 226 ) for each such embedded document 134 .
- Web documents 133 in “frame” format can refer to embedded documents 134 that are themselves web documents 133 and themselves refer to embedded documents 134 , and so on. There is no prospect of an infinite loop if web document 133 is self-referential because the cache 110 will simply discover at the second reference that the web document 133 is already maintained in the cache 110 .
- the web document 133 and all its embedded objects 134 have been transmitted to the client device 120 for display.
- the cache 110 refreshes a web object 114
- the cache 110 performs the steps 222 through 226 inclusive (including repeating the step 226 ) for the web object 114 and for each identified embedded object 134 associated with the web object 114 .
Abstract
Description
- 1. 1. Field of the Invention
- 2. This invention relates to caches.
- 3. 2. Related Art
- 4. 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.
- 5. 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.
- 6. 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.
- 7. 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.
- 8. 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, might 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.
- 9. 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.
- 10. 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.
- 11. 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.
- 12. 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.
- 13. 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.
- 14.FIG. 1 shows a block diagram of a system for shared cache parsing and pre-fetch.
- 15.FIG. 2 shows a flow diagram of a method for shared cache parsing and pre-fetch.
- 16. In the following description, a preferred embodiment of the invention is described with regard to preferred process steps and data structures. Those skilled in the art would recognize after perusal of this application that embodiments of the invention can be implemented using one or more general purpose processors or special purpose processors or other circuits adapted to particular process steps and data structures described herein, and that implementation of the process steps and data structures described herein would not require undue experimentation or further invention.
- 17. Inventions disclosed herein can be used in conjunction with inventions disclosed in one or more of the following patent applications:
- 18. Provisional U.S. Application 60/048,986, filed Jun. 9, 1997, in the name of inventors Michael Malcolm and Robert Zarnke, titled “Network Object Cache Engine”, assigned to CacheFlow, Inc., attorney docket number CASH-001.
- 19. U.S. application Ser. No. 08/959,058, filed this same day, in the name of inventors Michael Malcolm and Ian Telford, titled “Adaptive Active Cache Refresh”, assigned to CacheFlow, Inc., attorney docket number CASH-003.
- 20. These applications are referred to herein as the “Cache Disclosures,” and are hereby incorporated by reference as if fully set forth herein.
- 21. System Elements
- 22.FIG. 1 shows a block diagram of a system for shared cache parsing and pre-fetch.
- 23. A system 100 includes a
cache 110, at least one client device 120, and at least oneserver device 130. Each client device 120 is coupled to thecache 110 using a client communication path 121, such as a dial-up connection, a LAN (local area network), a WAN (wide area network), or some combination thereof. Similarly, eachserver device 130 is also coupled to thecache 110 using aserver communication path 131, such as a dial-up connection, a LAN (local area network), a WAN (wide area network), or some combination thereof. In a preferred embodiment, the client communication path 121 includes a LAN, while theserver communication path 131 includes a network of networks such as an internet or intranet. - 24. As used herein, the terms “client” and “server” refer to a relationship between the client or server and the
cache 110, not necessarily to particular physical devices. As used herein, one “client device” 120 or one “server device” 130 can comprise any of the following: (a) a single physical device capable of executing software which bears a client or server relationship to thecache 110; (b) a portion of a physical device, such as a software process or set of software processes capable of executing on one hardware device, which portion of the physical device bears a client or server relationship to thecache 110; or (c) a plurality of physical devices, or portions thereof, capable of cooperating to form a logical entity which bears a client or server relationship to thecache 110. The phrases “client device” 120 and “server device” 130 refer to such logical entities and not necessarily to particular individual physical devices. - 25. The
server device 130 includes memory or storage 132 having aweb document 133, theweb document 133 including references to at least one embeddedobject 134. In a preferred embodiment, theweb document 133 can include text and directions for display. The embeddedobject 134 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. - 26. The
cache 110 includes a processor 111, program anddata memory 112, andmass storage 113. Thecache 110 maintains a first set of web objects 114 in thememory 112 and a second set of web objects 114 in thestorage 113. (Web objects 114 can compriseweb documents 133 or embeddedobjects 134 or both.) - 27. In a preferred embodiment, the
cache 110 includes a cache device such as described in the Cache Disclosures defined herein, hereby incorporated by reference as if fully set forth therein. - 28. The
cache 110 receives requests from the client device 120 for a web object 114 and determines if that web object 114 is present at thecache 110, either in thememory 112 or in thestorage 113. If the web object 114 is present in thememory 112, thecache 110 transmits the web object 114 to the client device 120 using the client communication path 121. If the web object 114 is present in thestorage 113 but not in thememory 112, thecache 110 loads the web object 114 into thememory 112 from thestorage 113, and proceeds as in the case when the web object 114 was originally present in thememory 112. If the web object 114 is not present in either thememory 112 or thestorage 113, thecache 110 retrieves the web object 114 from theappropriate server device 130, places the web object 114 in thememory 112 and thestorage 113, and proceeds as in the case when the web object 114 was originally present in thememory 112. - 29. Due to the principle of locality of reference, it is expected that the
cache 110 will achieve a substantial “hit rate,” in which many requests from the client device 120 for web objects 114 will be for those web objects 114 already maintained by thecache 110, reducing the need for requests to theserver device 130 using theserver communication path 131. - 30. The
cache 110 parses each web object 114 as it is received from theserver device 130, separately and in parallel to any web client program operating at the client device 120. If the web object 114 is aweb document 133 that includes at least one reference to embeddedobjects 134, thecache 110 identifies those references and those embeddedobjects 134, and determines if those embeddedobjects 134 are already maintained in thecache 110, either in thememory 112 or thestorage 113. - 31. If those embedded
objects 134 are not in thecache 110 at all, thecache 110 automatically, without need for a command from the web client, requests those embeddedobjects 134 from theserver device 130. - 32. The
cache 110 has a relatively numerous set of connections to theserver communication path 131, and so is able to request a relatively numerous set of embeddedobjects 134 in parallel from theserver device 130. Moreover, thecache 110 parses theweb document 133 and requests embeddedobjects 134 in parallel with the web client at the client device 120 also parsing theweb document 133 and requesting embeddedobjects 134. The embedded objects 134 are available to thecache 110, and thus to the client device 120, much more quickly. - 33. If those embedded
objects 134 are maintained in thecache 110, but they are in thestorage 113 and not in thememory 112, thecache 110 automatically, without need for a command from the web client, loads those embeddedobjects 134 from thestorage 113 into thememory 112. - 34. In a preferred embodiment, those web objects 114 maintained in the
cache 110 are periodically refreshed, so as to assure those web objects 114 are not “stale” (changed at theserver device 130 but not at the cache 110). To refresh web objects 114, thecache 110 selects one web object 114 for refresh and transmits a request to theserver device 130 for that web object 114. Theserver device 130 can respond with a copy of the web object 114, or can respond with a message that the web object 114 has not changed since the most recent copy of the web object 114 was placed in thecache 110. If the web object 114 has in fact changed, thecache 110 proceeds as in the case when a client device 120 requested a new web object 114 not maintained in thecache 110 at all. If the web object 114 has in fact not changed, thecache 110 updates its information on the relative freshness of the web object 114, as further described in the Cache Disclosures. - 35. Method of Operation
- 36.FIG. 2 shows a flow diagram of a method for shared cache parsing and pre-fetch.
- 37. A
method 200 includes a set of flow points to be noted, and steps to be executed, cooperatively by the system 100, including thecache 110, the client device 120, and theserver device 130. - 38. At a flow point 210, the client device 120 is ready to request a
web document 133 from theserver device 130. For example, theweb document 133 can comprise an HTML page having a set of embeddedobjects 134. - 39. At a step 221, the client device 120 transmits a request for the
web document 133, using the client communication path 121, to thecache 110. - 40. At a
step 222, thecache 110 determines if thatweb document 133 is located in thememory 112 at thecache 110. If so, thecache 110 proceeds with thestep 225. Otherwise, thecache 110 proceeds with thestep 223. - 41. At a
step 223, thecache 110 determines if thatweb document 133 is located in thestorage 113 at the cache 110 (but not in the memory 112). If so, thecache 110 loads theweb document 133 from thestorage 113 into thememory 112, and proceeds with thestep 225. Otherwise, thecache 110 proceeds with thestep 224. - 42. At a
step 224, thecache 110 transmits a request to theserver device 130 for theweb document 133. Theserver device 130 receives the request and transmits theweb document 133 to thecache 110. Thecache 110 stores theweb document 133 in thememory 112 and thestorage 113 and proceeds with thestep 225. - 43. At a
step 225, thecache 110 transmits theweb document 133 to the client device 120 for display. In parallel, thecache 110 parses theweb document 133 and determines if there are any references to embeddedobjects 134. If not, thecache 110 proceeds with the flow point 230. Otherwise, the cache proceeds with thestep 226. - 44. At a
step 226, thecache 110 identifies the embeddeddocuments 134 and repeats thesteps 222 through 226 inclusive (including repeating this step 226) for each such embeddeddocument 134.Web documents 133 in “frame” format can refer to embeddeddocuments 134 that are themselvesweb documents 133 and themselves refer to embeddeddocuments 134, and so on. There is no prospect of an infinite loop ifweb document 133 is self-referential because thecache 110 will simply discover at the second reference that theweb document 133 is already maintained in thecache 110. - 45. At a flow point 230, the
web document 133 and all its embeddedobjects 134 have been transmitted to the client device 120 for display. - 46. When the
cache 110 refreshes a web object 114, thecache 110 performs thesteps 222 through 226 inclusive (including repeating the step 226) for the web object 114 and for each identified embeddedobject 134 associated with the web object 114. - 47. Alternative Embodiments
- 48. Although preferred embodiments are disclosed herein, many variations are possible which remain within the concept, scope, and spirit of the invention, and these variations would become clear to those skilled in the art after perusal of this application.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/726,679 US6442651B2 (en) | 1997-10-28 | 2000-11-29 | Shared cache parsing and pre-fetch |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/959,313 US6393526B1 (en) | 1997-10-28 | 1997-10-28 | Shared cache parsing and pre-fetch |
US09/726,679 US6442651B2 (en) | 1997-10-28 | 2000-11-29 | Shared cache parsing and pre-fetch |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/959,313 Continuation US6393526B1 (en) | 1997-10-28 | 1997-10-28 | Shared cache parsing and pre-fetch |
Publications (2)
Publication Number | Publication Date |
---|---|
US20010000083A1 true US20010000083A1 (en) | 2001-03-29 |
US6442651B2 US6442651B2 (en) | 2002-08-27 |
Family
ID=25501906
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/959,313 Expired - Lifetime US6393526B1 (en) | 1997-10-28 | 1997-10-28 | Shared cache parsing and pre-fetch |
US09/726,679 Expired - Lifetime US6442651B2 (en) | 1997-10-28 | 2000-11-29 | Shared cache parsing and pre-fetch |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/959,313 Expired - Lifetime US6393526B1 (en) | 1997-10-28 | 1997-10-28 | Shared cache parsing and pre-fetch |
Country Status (2)
Country | Link |
---|---|
US (2) | US6393526B1 (en) |
WO (1) | WO1999022316A1 (en) |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6393526B1 (en) | 1997-10-28 | 2002-05-21 | Cache Plan, Inc. | Shared cache parsing and pre-fetch |
US6715037B2 (en) | 1998-07-31 | 2004-03-30 | Blue Coat Systems, Inc. | Multiple cache communication and uncacheable objects |
US20050120061A1 (en) * | 2003-12-02 | 2005-06-02 | Kraft Frank M. | Updating and maintaining data in a multi-system network using asynchronous message transfer |
EP1540498A2 (en) * | 2002-09-16 | 2005-06-15 | Network Appliance, Inc. | Apparatus and method for proxy cache |
US20060123425A1 (en) * | 2004-12-06 | 2006-06-08 | Karempudi Ramarao | Method and apparatus for high-speed processing of structured application messages in a network device |
US20060129650A1 (en) * | 2004-12-10 | 2006-06-15 | Ricky Ho | Guaranteed delivery of application layer messages by a network element |
USRE39306E1 (en) * | 2000-04-26 | 2006-09-26 | Matsushita Electric Industrial Co., Ltd. | Optical disc device |
US20060288208A1 (en) * | 2005-06-21 | 2006-12-21 | Vinod Dashora | Method and apparatus for adaptive application message payload content transformation in a network infrastructure element |
US20070005801A1 (en) * | 2005-06-21 | 2007-01-04 | Sandeep Kumar | Identity brokering in a network element |
US7552223B1 (en) | 2002-09-16 | 2009-06-23 | Netapp, Inc. | Apparatus and method for data consistency in a proxy cache |
US20100094945A1 (en) * | 2004-11-23 | 2010-04-15 | Cisco Technology, Inc. | Caching content and state data at a network element |
US20100235473A1 (en) * | 2009-03-10 | 2010-09-16 | Sandisk Il Ltd. | System and method of embedding second content in first content |
US20110185004A1 (en) * | 2000-12-06 | 2011-07-28 | Parallel Networks, Llc | Method and system for adaptive prefetching |
US8463802B2 (en) | 2010-08-19 | 2013-06-11 | Sandisk Il Ltd. | Card-based management of discardable files |
US8549229B2 (en) | 2010-08-19 | 2013-10-01 | Sandisk Il Ltd. | Systems and methods for managing an upload of files in a shared cache storage system |
WO2014085728A1 (en) * | 2012-11-28 | 2014-06-05 | Microsoft Corporation | Unified search result service and cache update |
US8788849B2 (en) | 2011-02-28 | 2014-07-22 | Sandisk Technologies Inc. | Method and apparatus for protecting cached streams |
US20140317230A1 (en) * | 2006-08-07 | 2014-10-23 | Unwired Planet, Llc | Cache based enhancement to optimization protocol |
US20150007057A1 (en) * | 2013-07-01 | 2015-01-01 | Cisco Technlogy, Inc. | System and Method for Application Sharing |
US9015209B2 (en) | 2008-12-16 | 2015-04-21 | Sandisk Il Ltd. | Download management of discardable files |
US9020993B2 (en) | 2008-12-16 | 2015-04-28 | Sandisk Il Ltd. | Download management of discardable files |
US9104686B2 (en) | 2008-12-16 | 2015-08-11 | Sandisk Technologies Inc. | System and method for host management of discardable objects |
US20150256642A1 (en) * | 2008-08-25 | 2015-09-10 | Google Inc. | Parallel, Side-Effect Based DNS Pre-Caching |
US10097616B2 (en) | 2012-04-27 | 2018-10-09 | F5 Networks, Inc. | Methods for optimizing service of content requests and devices thereof |
US20180324272A1 (en) * | 2017-05-08 | 2018-11-08 | Salesforce.Com, Inc. | System and method of providing web content using a proxy cache |
US10187317B1 (en) | 2013-11-15 | 2019-01-22 | F5 Networks, Inc. | Methods for traffic rate control and devices thereof |
US10230566B1 (en) | 2012-02-17 | 2019-03-12 | F5 Networks, Inc. | Methods for dynamically constructing a service principal name and devices thereof |
US10721269B1 (en) | 2009-11-06 | 2020-07-21 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
US11258820B2 (en) | 2015-07-06 | 2022-02-22 | Shape Security, Inc. | Request modification for web security challenge |
CN115361448A (en) * | 2022-10-19 | 2022-11-18 | 北京挪拉斯坦特芬通信设备有限公司 | Data processing method, HSS, electronic device and computer storage medium |
US11537575B1 (en) * | 2019-02-04 | 2022-12-27 | Amazon Technologies, Inc. | Real-time database performance tuning |
Families Citing this family (118)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7007072B1 (en) * | 1999-07-27 | 2006-02-28 | Storage Technology Corporation | Method and system for efficiently storing web pages for quick downloading at a remote device |
US20020138640A1 (en) * | 1998-07-22 | 2002-09-26 | Uri Raz | Apparatus and method for improving the delivery of software applications and associated data in web-based systems |
US20010044850A1 (en) | 1998-07-22 | 2001-11-22 | Uri Raz | Method and apparatus for determining the order of streaming modules |
US7197570B2 (en) * | 1998-07-22 | 2007-03-27 | Appstream Inc. | System and method to send predicted application streamlets to a client device |
WO2000077999A2 (en) * | 1999-06-10 | 2000-12-21 | Cacheflow, Inc. | Method and apparatus for dynamic proxy reflecting of streaming content |
JP3485252B2 (en) * | 1999-06-16 | 2004-01-13 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Information processing method, information terminal support server, collaboration system, storage medium for storing information processing program |
US6832222B1 (en) * | 1999-06-24 | 2004-12-14 | International Business Machines Corporation | Technique for ensuring authorized access to the content of dynamic web pages stored in a system cache |
US7343412B1 (en) * | 1999-06-24 | 2008-03-11 | International Business Machines Corporation | Method for maintaining and managing dynamic web pages stored in a system cache and referenced objects cached in other data stores |
GB2394816B (en) * | 1999-10-18 | 2004-08-11 | Fisher Rosemount Systems Inc | Accessing and updating a configuration database from distributed physical locations within a process control system |
US6687698B1 (en) | 1999-10-18 | 2004-02-03 | Fisher Rosemount Systems, Inc. | Accessing and updating a configuration database from distributed physical locations within a process control system |
EP1096755A1 (en) * | 1999-10-28 | 2001-05-02 | Alcatel | Method to provide information in an internet telecommunication network |
US7127674B1 (en) * | 1999-11-30 | 2006-10-24 | International Business Machines Corporation | System and method for managing documents having formula based documents links |
US7340499B1 (en) * | 1999-12-03 | 2008-03-04 | Sun Microsystems, Inc. | Dynamic embedding of literal object data in supplied instance of information object |
US8291007B2 (en) * | 2000-02-22 | 2012-10-16 | Flash Networks Ltd | System and method to accelerate client/server interactions using predictive requests |
GB0005653D0 (en) * | 2000-03-09 | 2000-05-03 | Avantis Ltd | Computer network |
US6854018B1 (en) * | 2000-03-20 | 2005-02-08 | Nec Corporation | System and method for intelligent web content fetch and delivery of any whole and partial undelivered objects in ascending order of object size |
EP1143350A1 (en) * | 2000-04-03 | 2001-10-10 | Koninklijke KPN N.V. | A method and a system for retrieving data of a data network |
US6965924B1 (en) * | 2000-04-26 | 2005-11-15 | Hewlett-Packard Development Company, L.P. | Method and system for transparent file proxying |
US7007237B1 (en) * | 2000-05-03 | 2006-02-28 | Microsoft Corporation | Method and system for accessing web pages in the background |
US6675212B1 (en) * | 2000-06-12 | 2004-01-06 | Gateway, Inc. | Method and apparatus for efficient data browsing |
US20050055426A1 (en) * | 2000-06-12 | 2005-03-10 | Kim Smith | System, method and computer program product that pre-caches content to provide timely information to a user |
JP2002002140A (en) * | 2000-06-22 | 2002-01-08 | Riso Kagaku Corp | Microporous stencil paper and its application |
US6848076B1 (en) * | 2000-06-22 | 2005-01-25 | International Business Machines Corporation | Automatic fetching and storage of requested primary and related documents or files at receiving web stations after repeated failures to access such documents or files from the World Wide Web |
US7571217B1 (en) | 2000-08-16 | 2009-08-04 | Parallel Networks, Llc | Method and system for uniform resource locator transformation |
EP1410215A4 (en) * | 2000-08-22 | 2006-10-11 | Akamai Tech Inc | Dynamic content assembly on edge-of-network servers in a content delivery network |
US7266503B2 (en) * | 2001-03-22 | 2007-09-04 | International Business Machines Corporation | System and method for generating a company group user profile |
US7039683B1 (en) | 2000-09-25 | 2006-05-02 | America Online, Inc. | Electronic information caching |
US7051315B2 (en) | 2000-09-26 | 2006-05-23 | Appstream, Inc. | Network streaming of multi-application program code |
JP2002140309A (en) * | 2000-11-02 | 2002-05-17 | Hitachi Ltd | Service system |
US6795848B1 (en) * | 2000-11-08 | 2004-09-21 | Hughes Electronics Corporation | System and method of reading ahead of objects for delivery to an HTTP proxy server |
US7313622B2 (en) * | 2000-11-08 | 2007-12-25 | [X+1] Solutions, Inc. | Online system and method for dynamic segmentation and content presentation |
KR100407206B1 (en) * | 2000-11-29 | 2003-11-28 | 링크플러스(주) | Pre-processor and method and apparatus for processing web documents using the same |
EP1342172A1 (en) * | 2000-12-13 | 2003-09-10 | Fabio Palumbo | A method for delivering data or code segments to a local computer in a distributed computer network |
KR20020093908A (en) * | 2001-02-12 | 2002-12-16 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | Method and device for outputting audio-visual signals |
JP4028187B2 (en) * | 2001-05-07 | 2007-12-26 | 本田技研工業株式会社 | A computer system that provides web pages suitable for users. |
CA2447555A1 (en) * | 2001-06-04 | 2002-12-12 | Nct Group, Inc. | System and method for increasing the effective bandwidth of a communications network |
US7159014B2 (en) * | 2001-06-04 | 2007-01-02 | Fineground Networks | Method and system for efficient and automated version management of embedded objects in web documents |
US7444662B2 (en) * | 2001-06-28 | 2008-10-28 | Emc Corporation | Video file server cache management using movie ratings for reservation of memory and bandwidth resources |
US7610357B1 (en) * | 2001-06-29 | 2009-10-27 | Cisco Technology, Inc. | Predictively responding to SNMP commands |
KR100935586B1 (en) * | 2001-08-27 | 2010-01-07 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | Cache method |
US6892277B1 (en) * | 2001-09-28 | 2005-05-10 | Lsi Logic Corporation | System and method for optimizing remote data content distribution |
DE10151116A1 (en) * | 2001-10-15 | 2003-05-08 | Siemens Ag | Procedure for commissioning an operating and monitoring system for field devices |
US7444393B2 (en) * | 2001-10-30 | 2008-10-28 | Keicy K. Chung | Read-only storage device having network interface, a system including the device, and a method of distributing files over a network |
US20030110218A1 (en) * | 2001-12-12 | 2003-06-12 | Stanley Randy P. | Local caching of images for on-line conferencing programs |
US20040044731A1 (en) * | 2002-03-22 | 2004-03-04 | Kailai Chen | System and method for optimizing internet applications |
US7340521B1 (en) * | 2002-04-02 | 2008-03-04 | Blue Coat Systems, Inc. | Method for routing a request over a network to a content source that can most advantageous serve the request |
US6751709B2 (en) * | 2002-05-15 | 2004-06-15 | Sun Microsystems, Inc. | Method and apparatus for prefetching objects into an object cache |
FR2841079B1 (en) | 2002-06-14 | 2005-02-25 | Canal Plus Technologies | HTML APPLICATION BROADCASTING METHOD |
GB2391963B (en) * | 2002-08-14 | 2004-12-01 | Flyingspark Ltd | Method and apparatus for preloading caches |
US7284030B2 (en) * | 2002-09-16 | 2007-10-16 | Network Appliance, Inc. | Apparatus and method for processing data in a network |
US7975043B2 (en) | 2003-02-25 | 2011-07-05 | Hewlett-Packard Development Company, L.P. | Method and apparatus for monitoring a network |
US20040167981A1 (en) * | 2003-02-25 | 2004-08-26 | Douglas Christopher Paul | Method and system for monitoring relationships between content devices in a content delivery network |
US20040167977A1 (en) * | 2003-02-25 | 2004-08-26 | Douglas Christopher Paul | Method and system for monitoring streaming media flow |
US20040255008A1 (en) * | 2003-04-21 | 2004-12-16 | International Business Machines Corporation | System for low power operation of wireless LAN |
US7260539B2 (en) * | 2003-04-25 | 2007-08-21 | At&T Corp. | System for low-latency animation of talking heads |
US7069351B2 (en) * | 2003-06-02 | 2006-06-27 | Chung Keicy K | Computer storage device having network interface |
WO2004114529A2 (en) * | 2003-06-16 | 2004-12-29 | Mentat Inc. | Pre-fetch communication systems and methods |
US8020086B2 (en) * | 2003-11-12 | 2011-09-13 | Canon Kabushiki Kaisha | Information processing method, information processing machine, and storage medium for processing document data that includes link information |
US20050198395A1 (en) * | 2003-12-29 | 2005-09-08 | Pradeep Verma | Reusable compressed objects |
US7624160B2 (en) * | 2004-05-04 | 2009-11-24 | International Business Machines Corporation | Methods, systems, and computer program products for client side prefetching and caching of portlets |
US7752203B2 (en) | 2004-08-26 | 2010-07-06 | International Business Machines Corporation | System and method for look ahead caching of personalized web content for portals |
CN1783117A (en) * | 2004-11-29 | 2006-06-07 | 国际商业机器公司 | Cooperative system and method |
US20060168151A1 (en) * | 2005-01-04 | 2006-07-27 | Umberto Caselli | Method, system and computer program for retrieving information with reduced age in a periodic process |
US8131647B2 (en) | 2005-01-19 | 2012-03-06 | Amazon Technologies, Inc. | Method and system for providing annotations of a digital work |
US9275052B2 (en) | 2005-01-19 | 2016-03-01 | Amazon Technologies, Inc. | Providing annotations of a digital work |
US8001456B2 (en) * | 2005-02-28 | 2011-08-16 | International Business Machines Corporation | Methods for maintaining separation between markup and data at a client |
US7694008B2 (en) * | 2005-05-04 | 2010-04-06 | Venturi Wireless | Method and apparatus for increasing performance of HTTP over long-latency links |
US8583827B2 (en) | 2005-05-26 | 2013-11-12 | Citrix Systems, Inc. | Dynamic data optimization in data network |
US8572495B2 (en) * | 2005-12-15 | 2013-10-29 | Microsoft Corporation | Providing electronic distribution of filtered calendars |
US20070143242A1 (en) * | 2005-12-15 | 2007-06-21 | Microsoft Corporation | Disk-based cache |
EP1971930A4 (en) * | 2005-12-30 | 2012-03-28 | Akamai Tech Inc | Site acceleration with content prefetching enabled through customer-specific configurations |
US7647417B1 (en) * | 2006-03-15 | 2010-01-12 | Netapp, Inc. | Object cacheability with ICAP |
US8352449B1 (en) | 2006-03-29 | 2013-01-08 | Amazon Technologies, Inc. | Reader device content indexing |
US8078673B2 (en) * | 2006-08-08 | 2011-12-13 | Wayport, Inc. | Automated acquisition and maintenance of web-servable content via enhanced “404:not found” handler |
US8725565B1 (en) | 2006-09-29 | 2014-05-13 | Amazon Technologies, Inc. | Expedited acquisition of a digital item following a sample presentation of the item |
US9672533B1 (en) | 2006-09-29 | 2017-06-06 | Amazon Technologies, Inc. | Acquisition of an item based on a catalog presentation of items |
US8942182B2 (en) * | 2006-11-21 | 2015-01-27 | Blackberry Limited | Adjustable download rate for a portable electronic device |
US9070114B2 (en) * | 2006-11-21 | 2015-06-30 | Blackberry Limited | Method for receiving email attachment on a portable electronic device |
US7865817B2 (en) | 2006-12-29 | 2011-01-04 | Amazon Technologies, Inc. | Invariant referencing in digital works |
US7751807B2 (en) | 2007-02-12 | 2010-07-06 | Oomble, Inc. | Method and system for a hosted mobile management service architecture |
US8024400B2 (en) | 2007-09-26 | 2011-09-20 | Oomble, Inc. | Method and system for transferring content from the web to mobile devices |
US20080201332A1 (en) * | 2007-02-20 | 2008-08-21 | Souders Steven K | System and method for preloading content on the basis of user context |
US8224769B2 (en) * | 2007-03-05 | 2012-07-17 | Microsoft Corporation | Enterprise data as office content |
US7716224B2 (en) | 2007-03-29 | 2010-05-11 | Amazon Technologies, Inc. | Search and indexing on a user device |
US9665529B1 (en) | 2007-03-29 | 2017-05-30 | Amazon Technologies, Inc. | Relative progress and event indicators |
US7921309B1 (en) | 2007-05-21 | 2011-04-05 | Amazon Technologies | Systems and methods for determining and managing the power remaining in a handheld electronic device |
US8145766B2 (en) * | 2007-08-08 | 2012-03-27 | Research In Motion Limited | Method for pre-fetching data chunks of an email attachment on a portable electronic device |
US8042185B1 (en) | 2007-09-27 | 2011-10-18 | Netapp, Inc. | Anti-virus blade |
US8769185B2 (en) * | 2007-10-23 | 2014-07-01 | Keicy Chung | Computer storage device having separate read-only space and read-write space, removable media component, system management interface, and network interface |
NZ566291A (en) * | 2008-02-27 | 2008-12-24 | Actionthis Ltd | Methods and devices for post processing rendered web pages and handling requests of post processed web pages |
US9087032B1 (en) | 2009-01-26 | 2015-07-21 | Amazon Technologies, Inc. | Aggregation of highlights |
US8378979B2 (en) | 2009-01-27 | 2013-02-19 | Amazon Technologies, Inc. | Electronic device with haptic feedback |
US8832584B1 (en) | 2009-03-31 | 2014-09-09 | Amazon Technologies, Inc. | Questions on highlighted passages |
US20100281224A1 (en) * | 2009-05-01 | 2010-11-04 | International Buisness Machines Corporation | Prefetching content from incoming messages |
US8692763B1 (en) | 2009-09-28 | 2014-04-08 | John T. Kim | Last screen rendering for electronic book reader |
JP4915824B2 (en) * | 2009-12-04 | 2012-04-11 | シャープ株式会社 | Network system, content providing method, server, communication terminal, and content acquisition method |
US8473688B2 (en) | 2010-03-26 | 2013-06-25 | Microsoft Corporation | Anticipatory response pre-caching |
CN102331985B (en) | 2010-07-12 | 2013-09-25 | 阿里巴巴集团控股有限公司 | Method and device for fragment nested caching of webpage |
US9495322B1 (en) | 2010-09-21 | 2016-11-15 | Amazon Technologies, Inc. | Cover display |
JP6329766B2 (en) | 2010-11-05 | 2018-05-23 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | Cache controller, image client, image server, workstation, imaging apparatus, cache method, and computer program |
US9465885B2 (en) * | 2010-12-03 | 2016-10-11 | Salesforce.Com, Inc. | Method and system for providing information to a mobile handheld device from a database system |
US9454607B1 (en) * | 2010-12-10 | 2016-09-27 | A9.Com, Inc. | Image as database |
CN102375882B (en) * | 2011-09-19 | 2014-10-15 | 奇智软件(北京)有限公司 | Method, device and browser for rapidly accessing webpage |
US9158741B1 (en) | 2011-10-28 | 2015-10-13 | Amazon Technologies, Inc. | Indicators for navigating digital works |
US9860332B2 (en) | 2013-05-08 | 2018-01-02 | Samsung Electronics Co., Ltd. | Caching architecture for packet-form in-memory object caching |
US9542274B2 (en) | 2013-06-21 | 2017-01-10 | Lexmark International Technology Sarl | System and methods of managing content in one or more networked repositories during a network downtime condition |
US9826054B2 (en) | 2013-06-21 | 2017-11-21 | Kofax International Switzerland Sarl | System and methods of pre-fetching content in one or more repositories |
EP3011488B8 (en) * | 2013-06-21 | 2020-09-30 | Hyland Switzerland Sàrl | System and methods of managing content in one or more repositories |
US9819721B2 (en) | 2013-10-31 | 2017-11-14 | Akamai Technologies, Inc. | Dynamically populated manifests and manifest-based prefetching |
US11256858B2 (en) * | 2013-12-02 | 2022-02-22 | Airbnb, Inc. | Third party assets merging for embedment into web pages |
WO2015153677A1 (en) * | 2014-03-31 | 2015-10-08 | Open Garden Inc. | System and method for improving webpage loading speeds |
KR101768181B1 (en) | 2014-06-26 | 2017-08-16 | 구글 인코포레이티드 | Optimized browser rendering process |
JP6386089B2 (en) | 2014-06-26 | 2018-09-05 | グーグル エルエルシー | Optimized browser rendering process |
RU2659481C1 (en) | 2014-06-26 | 2018-07-02 | Гугл Инк. | Optimized architecture of visualization and sampling for batch processing |
US9948709B2 (en) | 2015-01-30 | 2018-04-17 | Akamai Technologies, Inc. | Using resource timing data for server push in multiple web page transactions |
US10313463B2 (en) | 2015-02-19 | 2019-06-04 | Akamai Technologies, Inc. | Systems and methods for avoiding server push of objects already cached at a client |
CN107436910B (en) * | 2017-04-14 | 2020-08-18 | 阿里巴巴集团控股有限公司 | Data query method and device |
US11843682B1 (en) * | 2022-08-31 | 2023-12-12 | Adobe Inc. | Prepopulating an edge server cache |
Family Cites Families (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0496439B1 (en) | 1991-01-15 | 1998-01-21 | Koninklijke Philips Electronics N.V. | Computer system with multi-buffer data cache and method therefor |
US5649154A (en) * | 1992-02-27 | 1997-07-15 | Hewlett-Packard Company | Cache memory system having secondary cache integrated with primary cache for use with VLSI circuits |
US5452447A (en) | 1992-12-21 | 1995-09-19 | Sun Microsystems, Inc. | Method and apparatus for a caching file server |
US5596744A (en) | 1993-05-20 | 1997-01-21 | Hughes Aircraft Company | Apparatus and method for providing users with transparent integrated access to heterogeneous database management systems |
US5664106A (en) | 1993-06-04 | 1997-09-02 | Digital Equipment Corporation | Phase-space surface representation of server computer performance in a computer network |
US5452440A (en) | 1993-07-16 | 1995-09-19 | Zitel Corporation | Method and structure for evaluating and enhancing the performance of cache memory systems |
US5598581A (en) | 1993-08-06 | 1997-01-28 | Cisco Sytems, Inc. | Variable latency cut through bridge for forwarding packets in response to user's manual adjustment of variable latency threshold point while the bridge is operating |
US5594911A (en) | 1994-07-13 | 1997-01-14 | Bell Communications Research, Inc. | System and method for preprocessing and delivering multimedia presentations |
US5715445A (en) * | 1994-09-02 | 1998-02-03 | Wolfe; Mark A. | Document retrieval system employing a preloading procedure |
US5802292A (en) * | 1995-04-28 | 1998-09-01 | Digital Equipment Corporation | Method for predictive prefetching of information over a communications network |
US5696932A (en) | 1995-05-16 | 1997-12-09 | International Business Machines Corporation | Method and system for estimating minumun requirements on a cache in a computer based storage system |
US5596774A (en) | 1995-06-15 | 1997-01-28 | Howard; Frederick T. | Self cleaning toilet |
US5860106A (en) | 1995-07-13 | 1999-01-12 | Intel Corporation | Method and apparatus for dynamically adjusting power/performance characteristics of a memory subsystem |
US5826253A (en) | 1995-07-26 | 1998-10-20 | Borland International, Inc. | Database system with methodology for notifying clients of any additions, deletions, or modifications occurring at the database server which affect validity of a range of data records cached in local memory buffers of clients |
US5752022A (en) * | 1995-08-07 | 1998-05-12 | International Business Machines Corp. | Method for creating a hypertext language for a distributed computer network |
US5964830A (en) | 1995-08-22 | 1999-10-12 | Durrett; Charles M. | User portal device for the world wide web to communicate with a website server |
US5778168A (en) | 1995-09-11 | 1998-07-07 | Sun Microsystems, Inc. | Transaction device driver technique for a journaling file system to ensure atomicity of write operations to a computer mass storage device |
JPH09231242A (en) | 1995-09-14 | 1997-09-05 | Sony Corp | Terminal equipment placed in network and information recording medium that can be read by the terminal equipment |
US5781785A (en) | 1995-09-26 | 1998-07-14 | Adobe Systems Inc | Method and apparatus for providing an optimized document file of multiple pages |
US5948062A (en) | 1995-10-27 | 1999-09-07 | Emc Corporation | Network file server using a cached disk array storing a network file directory including file locking information and data mover computers each having file system software for shared read-write file access |
US6012085A (en) | 1995-11-30 | 2000-01-04 | Stampede Technolgies, Inc. | Apparatus and method for increased data access in a network file object oriented caching system |
US5822539A (en) * | 1995-12-08 | 1998-10-13 | Sun Microsystems, Inc. | System for adding requested document cross references to a document by annotation proxy configured to merge and a directory generator and annotation server |
US5819045A (en) | 1995-12-29 | 1998-10-06 | Intel Corporation | Method for determining a networking capability index for each of a plurality of networked computers and load balancing the computer network using the networking capability indices |
US5859971A (en) | 1996-02-15 | 1999-01-12 | International Business Machines Corp. | Differencing client/server communication system for use with CGI forms |
US5864852A (en) | 1996-04-26 | 1999-01-26 | Netscape Communications Corporation | Proxy server caching mechanism that provides a file directory structure and a mapping mechanism within the file directory structure |
US5905999A (en) * | 1996-04-29 | 1999-05-18 | International Business Machines Corporation | Cache sub-array arbitration |
US5935213A (en) | 1996-05-02 | 1999-08-10 | Fore Systems, Inc. | System and method for generating explicit rate value information for flow control in ATAM network |
US5896506A (en) | 1996-05-31 | 1999-04-20 | International Business Machines Corporation | Distributed storage management system having a cache server and method therefor |
US5918013A (en) * | 1996-06-03 | 1999-06-29 | Webtv Networks, Inc. | Method of transcoding documents in a network environment using a proxy server |
US5870769A (en) * | 1996-06-07 | 1999-02-09 | At&T Corp. | Internet access system and method with active link status indicators |
US5864837A (en) | 1996-06-12 | 1999-01-26 | Unisys Corporation | Methods and apparatus for efficient caching in a distributed environment |
US5931904A (en) | 1996-10-11 | 1999-08-03 | At&T Corp. | Method for reducing the delay between the time a data page is requested and the time the data page is displayed |
US5787470A (en) * | 1996-10-18 | 1998-07-28 | At&T Corp | Inter-cache protocol for improved WEB performance |
US5884046A (en) | 1996-10-23 | 1999-03-16 | Pluris, Inc. | Apparatus and method for sharing data and routing messages between a plurality of workstations in a local area network |
US6012126A (en) | 1996-10-29 | 2000-01-04 | International Business Machines Corporation | System and method for caching objects of non-uniform size using multiple LRU stacks partitions into a range of sizes |
US5852717A (en) | 1996-11-20 | 1998-12-22 | Shiva Corporation | Performance optimizations for computer networks utilizing HTTP |
US6026474A (en) * | 1996-11-22 | 2000-02-15 | Mangosoft Corporation | Shared client-side web caching using globally addressable memory |
US6098096A (en) * | 1996-12-09 | 2000-08-01 | Sun Microsystems, Inc. | Method and apparatus for dynamic cache preloading across a network |
US5913033A (en) * | 1996-12-20 | 1999-06-15 | International Business Machines Corporation | Apparatus and method for retrieving information using standard objects |
US5961602A (en) * | 1997-02-10 | 1999-10-05 | International Business Machines Corporation | Method for optimizing off-peak caching of web data |
US5978848A (en) | 1997-03-14 | 1999-11-02 | International Business Machines Corporation | Web browser method and system for backgrounding a link access during slow link access time periods |
US5878218A (en) | 1997-03-17 | 1999-03-02 | International Business Machines Corporation | Method and system for creating and utilizing common caches for internetworks |
US5933849A (en) * | 1997-04-10 | 1999-08-03 | At&T Corp | Scalable distributed caching system and method |
US5878223A (en) | 1997-05-07 | 1999-03-02 | International Business Machines Corporation | System and method for predictive caching of information pages |
US5887151A (en) * | 1997-07-10 | 1999-03-23 | Emc Corporation | Method and apparatus for performing a modified prefetch which sends a list identifying a plurality of data blocks |
CN1108685C (en) * | 1997-08-06 | 2003-05-14 | 塔奇勇公司 | Distributed system and method for prefetching objects |
US6157942A (en) * | 1997-08-13 | 2000-12-05 | Microsoft Corporation | Imprecise caching of directory download responses for dynamic directory services |
US5950205A (en) | 1997-09-25 | 1999-09-07 | Cisco Technology, Inc. | Data transmission over the internet using a cache memory file system |
US6085193A (en) * | 1997-09-29 | 2000-07-04 | International Business Machines Corporation | Method and system for dynamically prefetching information via a server hierarchy |
US5974430A (en) * | 1997-09-30 | 1999-10-26 | Unisys Corp. | Method for dynamically embedding objects stored in a web server within HTML for display by a web browser |
US6393526B1 (en) | 1997-10-28 | 2002-05-21 | Cache Plan, Inc. | Shared cache parsing and pre-fetch |
US6128701A (en) * | 1997-10-28 | 2000-10-03 | Cache Flow, Inc. | Adaptive and predictive cache refresh policy |
US6009466A (en) | 1997-10-31 | 1999-12-28 | International Business Machines Corporation | Network management system for enabling a user to configure a network of storage devices via a graphical user interface |
US6016512A (en) | 1997-11-20 | 2000-01-18 | Telcordia Technologies, Inc. | Enhanced domain name service using a most frequently used domain names table and a validity code table |
US6014671A (en) | 1998-04-14 | 2000-01-11 | International Business Machines Corporation | Interactive retrieval and caching of multi-dimensional data using view elements |
-
1997
- 1997-10-28 US US08/959,313 patent/US6393526B1/en not_active Expired - Lifetime
-
1998
- 1998-10-02 WO PCT/US1998/021008 patent/WO1999022316A1/en active Application Filing
-
2000
- 2000-11-29 US US09/726,679 patent/US6442651B2/en not_active Expired - Lifetime
Cited By (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6393526B1 (en) | 1997-10-28 | 2002-05-21 | Cache Plan, Inc. | Shared cache parsing and pre-fetch |
US6715037B2 (en) | 1998-07-31 | 2004-03-30 | Blue Coat Systems, Inc. | Multiple cache communication and uncacheable objects |
USRE39306E1 (en) * | 2000-04-26 | 2006-09-26 | Matsushita Electric Industrial Co., Ltd. | Optical disc device |
US20110185004A1 (en) * | 2000-12-06 | 2011-07-28 | Parallel Networks, Llc | Method and system for adaptive prefetching |
US9264510B2 (en) | 2000-12-06 | 2016-02-16 | Parallel Networks, Llc | Method and system for adaptive prefetching |
US8775440B2 (en) | 2000-12-06 | 2014-07-08 | Parellel Networks, LLC | Method and system for adaptive prefetching |
US8275778B2 (en) * | 2000-12-06 | 2012-09-25 | Parallel Networks, Llc | Method and system for adaptive prefetching |
US7631078B2 (en) * | 2002-09-16 | 2009-12-08 | Netapp, Inc. | Network caching device including translation mechanism to provide indirection between client-side object handles and server-side object handles |
EP1540498A2 (en) * | 2002-09-16 | 2005-06-15 | Network Appliance, Inc. | Apparatus and method for proxy cache |
EP1540498A4 (en) * | 2002-09-16 | 2005-12-07 | Network Appliance Inc | Apparatus and method for proxy cache |
US7552223B1 (en) | 2002-09-16 | 2009-06-23 | Netapp, Inc. | Apparatus and method for data consistency in a proxy cache |
US20070192444A1 (en) * | 2002-09-16 | 2007-08-16 | Emmanuel Ackaouy | Apparatus and method for a proxy cache |
US7383289B2 (en) * | 2003-12-02 | 2008-06-03 | Sap Aktiengesellschaft | Updating and maintaining data in a multi-system network using asynchronous message transfer |
US20050120061A1 (en) * | 2003-12-02 | 2005-06-02 | Kraft Frank M. | Updating and maintaining data in a multi-system network using asynchronous message transfer |
US8799403B2 (en) | 2004-11-23 | 2014-08-05 | Cisco Technology, Inc. | Caching content and state data at a network element |
US20100094945A1 (en) * | 2004-11-23 | 2010-04-15 | Cisco Technology, Inc. | Caching content and state data at a network element |
US9380008B2 (en) | 2004-12-06 | 2016-06-28 | Cisco Technology, Inc. | Method and apparatus for high-speed processing of structured application messages in a network device |
US8312148B2 (en) | 2004-12-06 | 2012-11-13 | Cisco Technology, Inc. | Performing message payload processing functions in a network element on behalf of an application |
US20110208867A1 (en) * | 2004-12-06 | 2011-08-25 | Tefcros Anthias | Performing Message Payload Processing Functions In A Network Element On Behalf Of An Application |
US20060123425A1 (en) * | 2004-12-06 | 2006-06-08 | Karempudi Ramarao | Method and apparatus for high-speed processing of structured application messages in a network device |
US8549171B2 (en) | 2004-12-06 | 2013-10-01 | Cisco Technology, Inc. | Method and apparatus for high-speed processing of structured application messages in a network device |
US8082304B2 (en) | 2004-12-10 | 2011-12-20 | Cisco Technology, Inc. | Guaranteed delivery of application layer messages by a network element |
US20060129650A1 (en) * | 2004-12-10 | 2006-06-15 | Ricky Ho | Guaranteed delivery of application layer messages by a network element |
US20070005801A1 (en) * | 2005-06-21 | 2007-01-04 | Sandeep Kumar | Identity brokering in a network element |
US8458467B2 (en) | 2005-06-21 | 2013-06-04 | Cisco Technology, Inc. | Method and apparatus for adaptive application message payload content transformation in a network infrastructure element |
US20070005786A1 (en) * | 2005-06-21 | 2007-01-04 | Sandeep Kumar | XML message validation in a network infrastructure element |
US8266327B2 (en) | 2005-06-21 | 2012-09-11 | Cisco Technology, Inc. | Identity brokering in a network element |
US20060288208A1 (en) * | 2005-06-21 | 2006-12-21 | Vinod Dashora | Method and apparatus for adaptive application message payload content transformation in a network infrastructure element |
US8090839B2 (en) | 2005-06-21 | 2012-01-03 | Cisco Technology, Inc. | XML message validation in a network infrastructure element |
US20140317230A1 (en) * | 2006-08-07 | 2014-10-23 | Unwired Planet, Llc | Cache based enhancement to optimization protocol |
US10887418B1 (en) | 2008-08-25 | 2021-01-05 | Google Llc | Parallel, side-effect based DNS pre-caching |
US10165078B1 (en) | 2008-08-25 | 2018-12-25 | Google Llc | Parallel, side-effect based DNS pre-caching |
US9621670B2 (en) * | 2008-08-25 | 2017-04-11 | Google Inc. | Parallel, side-effect based DNS pre-caching |
US20150256642A1 (en) * | 2008-08-25 | 2015-09-10 | Google Inc. | Parallel, Side-Effect Based DNS Pre-Caching |
US9020993B2 (en) | 2008-12-16 | 2015-04-28 | Sandisk Il Ltd. | Download management of discardable files |
US9104686B2 (en) | 2008-12-16 | 2015-08-11 | Sandisk Technologies Inc. | System and method for host management of discardable objects |
US9015209B2 (en) | 2008-12-16 | 2015-04-21 | Sandisk Il Ltd. | Download management of discardable files |
US20100235473A1 (en) * | 2009-03-10 | 2010-09-16 | Sandisk Il Ltd. | System and method of embedding second content in first content |
US10721269B1 (en) | 2009-11-06 | 2020-07-21 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
US11108815B1 (en) | 2009-11-06 | 2021-08-31 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
US8463802B2 (en) | 2010-08-19 | 2013-06-11 | Sandisk Il Ltd. | Card-based management of discardable files |
US8549229B2 (en) | 2010-08-19 | 2013-10-01 | Sandisk Il Ltd. | Systems and methods for managing an upload of files in a shared cache storage system |
US8788849B2 (en) | 2011-02-28 | 2014-07-22 | Sandisk Technologies Inc. | Method and apparatus for protecting cached streams |
US10230566B1 (en) | 2012-02-17 | 2019-03-12 | F5 Networks, Inc. | Methods for dynamically constructing a service principal name and devices thereof |
US10097616B2 (en) | 2012-04-27 | 2018-10-09 | F5 Networks, Inc. | Methods for optimizing service of content requests and devices thereof |
WO2014085728A1 (en) * | 2012-11-28 | 2014-06-05 | Microsoft Corporation | Unified search result service and cache update |
US20150007057A1 (en) * | 2013-07-01 | 2015-01-01 | Cisco Technlogy, Inc. | System and Method for Application Sharing |
US10187317B1 (en) | 2013-11-15 | 2019-01-22 | F5 Networks, Inc. | Methods for traffic rate control and devices thereof |
US11258820B2 (en) | 2015-07-06 | 2022-02-22 | Shape Security, Inc. | Request modification for web security challenge |
US20180324272A1 (en) * | 2017-05-08 | 2018-11-08 | Salesforce.Com, Inc. | System and method of providing web content using a proxy cache |
US11082519B2 (en) * | 2017-05-08 | 2021-08-03 | Salesforce.Com, Inc. | System and method of providing web content using a proxy cache |
US11537575B1 (en) * | 2019-02-04 | 2022-12-27 | Amazon Technologies, Inc. | Real-time database performance tuning |
CN115361448A (en) * | 2022-10-19 | 2022-11-18 | 北京挪拉斯坦特芬通信设备有限公司 | Data processing method, HSS, electronic device and computer storage medium |
Also Published As
Publication number | Publication date |
---|---|
WO1999022316A1 (en) | 1999-05-06 |
US6393526B1 (en) | 2002-05-21 |
US6442651B2 (en) | 2002-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6393526B1 (en) | Shared cache parsing and pre-fetch | |
US6542911B2 (en) | Method and apparatus for freeing memory from an extensible markup language document object model tree active in an application cache | |
US6144996A (en) | Method and apparatus for providing a guaranteed minimum level of performance for content delivery over a network | |
US7636792B1 (en) | Methods and systems for dynamic and automatic content creation for mobile devices | |
US7979509B1 (en) | Clustered network acceleration devices having shared cache | |
US6973546B2 (en) | Method, system, and program for maintaining data in distributed caches | |
US6128701A (en) | Adaptive and predictive cache refresh policy | |
US6182125B1 (en) | Methods for determining sendable information content based on a determined network latency | |
US6766422B2 (en) | Method and system for web caching based on predictive usage | |
US6021426A (en) | Method and apparatus for dynamic data transfer on a web page | |
TW444167B (en) | Internet convolution audio/video server | |
US20020147849A1 (en) | Delta encoding using canonical reference files | |
US7778987B2 (en) | Locally storing web-based database data | |
US9294553B1 (en) | Predictive rendering of current content versions | |
US20040088375A1 (en) | Method for prefetching Web pages to improve response time networking | |
US20110185004A1 (en) | Method and system for adaptive prefetching | |
JP6484667B2 (en) | Structured document pagelet caching | |
EP1480131A2 (en) | Post-cache substitution of blocks in cached content | |
US6807606B2 (en) | Distributed execution coordination for web caching with dynamic content | |
CN1234086C (en) | System and method for high speed buffer storage file information | |
US9723053B1 (en) | Pre-fetching a cacheable network resource based on a time-to-live value | |
US6532492B1 (en) | Methods, systems and computer program products for cache management using admittance control | |
US6687792B2 (en) | Method and system for selectively caching web elements | |
US7636769B2 (en) | Managing network response buffering behavior | |
US7418660B2 (en) | Method and system for caching and adapting dynamic display pages for small display devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: BLUE COAT SYSTEMS, INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:CACHEFLOW, INC.;REEL/FRAME:013081/0212 Effective date: 20020820 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: JEFFERIES FINANCE LLC, NEW YORK Free format text: SECOND LIEN PATENT SECURITY AGREEMENT;ASSIGNOR:BLUE COAT SYSTEMS, INC.;REEL/FRAME:027727/0178 Effective date: 20120215 Owner name: JEFFERIES FINANCE LLC, NEW YORK Free format text: FIRST LIEN PATENT SECURITY AGREEMENT;ASSIGNOR:BLUE COAT SYSTEMS, INC.;REEL/FRAME:027727/0144 Effective date: 20120215 |
|
AS | Assignment |
Owner name: BLUE COAT SYSTEMS, INC., CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL RECORDED AT R/F 027727/0178;ASSIGNOR:JEFFERIES FINANCE LLC, AS COLLATERAL AGENT;REEL/FRAME:029140/0170 Effective date: 20121016 |
|
AS | Assignment |
Owner name: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT, NEW YO Free format text: SECOND LIEN PATENT SECURITY AGREEMENT;ASSIGNOR:BLUE COAT SYSTEMS, INC.;REEL/FRAME:030740/0181 Effective date: 20130628 |
|
FPAY | Fee payment |
Year of fee payment: 12 |
|
AS | Assignment |
Owner name: JEFFERIES FINANCE LLC, AS THE COLLATERAL AGENT, NE Free format text: SECURITY INTEREST;ASSIGNOR:BLUE COAT SYSTEMS, INC.;REEL/FRAME:035751/0348 Effective date: 20150522 |
|
AS | Assignment |
Owner name: BLUE COAT SYSTEMS, INC., CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 30740/0181;ASSIGNOR:JEFFERIES FINANCE LLC;REEL/FRAME:035797/0280 Effective date: 20150522 Owner name: BLUE COAT SYSTEMS, INC., CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 27727/0144;ASSIGNOR:JEFFERIES FINANCE LLC;REEL/FRAME:035798/0006 Effective date: 20150522 |
|
AS | Assignment |
Owner name: BLUE COAT SYSTEMS, INC., CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JEFFERIES FINANCE LLC;REEL/FRAME:039516/0929 Effective date: 20160801 |
|
AS | Assignment |
Owner name: SYMANTEC CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BLUE COAT SYSTEMS, INC.;REEL/FRAME:039851/0044 Effective date: 20160801 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: CA, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SYMANTEC CORPORATION;REEL/FRAME:051144/0918 Effective date: 20191104 |