Claims
- 1. A method for managing data stored in a cache comprising the computer-implemented steps of:
providing a first version of data in response to receiving a first request for data; detecting, independent of any request for the data, that a second more recent version of the data is available; in response to detecting that the second more recent version of the data is available, retrieving and storing in the cache the second more recent version of the data; receiving a second request for the data; and in response to receiving the second request for the data, retrieving the second more recent version of the data from the cache, and providing the second more recent version of the data.
- 2. The method as recited in claim 1, further comprising the step of deleting the first version of the data from the cache.
- 3. The method as recited in claim 2, further comprising the steps of:
storing, in a location other than the first cache, a request to delete the first version of the data from the cache, and if the request to delete the first version of the data from the cache cannot be successfully processed, then after expiration of a specified period of time,
retrieving from the location other than the first cache, the request to delete the first version of the data from the cache, and processing again the request to delete the first version of the data from the cache.
- 4. The method as recited in claim 1, further comprising the step of if the second more recent version of the data cannot be retrieved and stored in the cache, then after a specified period of time, attempting to again retrieve and store in the cache the second more recent version of the data.
- 5. The method as recited in claim 1, further comprising the step of if, after expiration of a specified period of time from a time when the second more recent version of the data is stored in the cache, no further requests for the second more recent version of the data are received, then deleting the second more recent version of the data from the cache.
- 6. The method as recited in claim 1, further comprising the steps of:
storing, in a location other than the first cache, a request to retrieve and store in the cache the second more recent version of the data, and if the request to retrieve and store in the cache the second more recent version of the data cannot be processed successfully, then after expiration of a specified period of time,
retrieving from the location other than the first cache, the request to retrieve and store in the cache the second more recent version of the data, and processing the request to retrieve and store in the cache the second more recent version of the data.
- 7. The method as recited in claim 1, further comprising providing data that indicates whether the second more recent version of the data was successfully retrieved and stored in the cache.
- 8. The method as recited in claim 1, further comprising causing a copy of the second more recent version of the data to be stored at the second cache.
- 9. The method as recited in claim 1, wherein the step retrieving and storing in the cache the second more recent version of the data is performed in response to processing one or more requests from an authorized entity.
- 10. The method as recited in claim 1, further comprising generating, based upon a set of logging criteria, log data that indicates one or more activities of the cache.
- 11. The method as recited in claim 10, wherein the set of logging criteria includes the size of the first version of data provided.
- 12. The method as recited in claim 10, wherein the set of logging criteria includes an amount of time required to provide the first version of data.
- 13. A computer-readable medium carrying one or more sequences of one or more instructions for managing data stored in a cache, wherein execution of the one or more sequences of one or more instructions by one or more processors cause the one or more processors to perform the steps of:
providing a first version of data in response to receiving a first request for data; detecting, independent of any request for the data, that a second more recent version of the data is available; in response to detecting that the second more recent version of the data is available, retrieving and storing in the cache the second more recent version of the data; receiving a second request for the data; and in response to receiving the second request for the data, retrieving the second more recent version of the data from the cache, and providing the second more recent version of the data.
- 14. The computer-readable medium as recited in claim 13, further comprising one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of deleting the first version of the data from the cache.
- 15. The computer-readable medium as recited in claim 14, further comprising one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the steps of:
storing, in a location other than the first cache, a request to delete the first version of the data from the cache, and if the request to delete the first version of the data from the cache cannot be successfully processed, then after expiration of a specified period of time,
retrieving from the location other than the first cache, the request to delete the first version of the data from the cache, and processing again the request to delete the first version of the data from the cache.
- 16. The computer-readable medium as recited in claim 13, further comprising one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of if the second more recent version of the data cannot be retrieved and stored in the cache, then after a specified period of time, attempting to again retrieve and store in the cache the second more recent version of the data.
- 17. The computer-readable medium as recited in claim 13, further comprising one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of if, after expiration of a specified period of time from a time when the second more recent version of the data is stored in the cache, no further requests for the second more recent version of the data are received, then deleting the second more recent version of the data from the cache.
- 18. The computer-readable medium as recited in claim 13, further comprising one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the steps of:
storing, in a location other than the first cache, a request to retrieve and store in the cache the second more recent version of the data, and if the request to retrieve and store in the cache the second more recent version of the data cannot be processed successfully, then after expiration of a specified period of time,
retrieving from the location other than the first cache, the request to retrieve and store in the cache the second more recent version of the data, and processing the request to retrieve and store in the cache the second more recent version of the data.
- 19. The computer-readable medium as recited in claim 13, further comprising one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of providing data that indicates whether the second more recent version of the data was successfully retrieved and stored in the cache.
- 20. The computer-readable medium as recited in claim 13, further comprising one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of causing a copy of the second more recent version of the data to be stored at the second cache.
- 21. The computer-readable medium as recited in claim 13, wherein the step retrieving and storing in the cache the second more recent version of the data is performed in response to processing one or more requests from an authorized entity.
- 22. The computer-readable medium as recited in claim 13, further comprising one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of generating, based upon a set of logging criteria, log data that indicates one or more activities of the cache.
- 23. The computer-readable medium as recited in claim 22, wherein the set of logging criteria includes the size of the first version of data provided.
- 24. The computer-readable medium as recited in claim 22, wherein the set of logging criteria includes an amount of time required to provide the first version of data.
- 25. A method for managing data stored in a cache comprising the computer-implemented steps of:
providing, from a cache, a first version of data in response to receiving a first request for data; detecting that a second more recent version of the data is available; in response to detecting that the second more recent version of the data is available, deleting the first version of the data from the cache.
- 26. The method as recited in claim 25, further comprising:
retrieving and storing in the cache the second more recent version of the data; receiving a second request for the data; and in response to receiving the second request for the data,
retrieving the second more recent version of the data from the cache, and providing the second more recent version of the data.
- 27. The method as recited in claim 25, further comprising the steps of:
storing, in a location other than the first cache, a request to delete the first version of the data from the cache, and if the request to delete the first version of the data from the cache cannot be successfully processed, then after expiration of a specified period of time,
retrieving from the location other than the first cache, the request to delete the first version of the data from the cache, and processing again the request to delete the first version of the data from the cache.
- 28. The method as recited in claim 26, further comprising the step of if the second more recent version of the data cannot be retrieved and stored in the cache, then after a specified period of time, attempting to again retrieve and store in the cache the second more recent version of the data.
- 29. The method as recited in claim 26, further comprising the step of if, after expiration of a specified period of time from a time when the second more recent version of the data is stored in the cache, no further requests for the second more recent version of the data are received, then deleting the second more recent version of the data from the cache.
- 30. The method as recited in claim 26, further comprising the steps of:
storing, in a location other than the first cache, a request to retrieve and store in the cache the second more recent version of the data, and if the request to retrieve and store in the cache the second more recent version of the data cannot be processed successfully, then after expiration of a specified period of time,
retrieving from the location other than the first cache, the request to retrieve and store in the cache the second more recent version of the data, and processing the request to retrieve and store in the cache the second more recent version of the data.
- 31. The method as recited in claim 25, further comprising providing data that indicates whether the first recent version of the data was successfully deleted from the cache.
- 32. The method as recited in claim 26, further comprising causing a copy of the second more recent version of the data to be stored at a second cache.
- 33. The method as recited in claim 26, wherein the step retrieving and storing in the cache the second more recent version of the data is performed in response to processing one or more requests from an authorized entity.
- 34. The method as recited in claim 25, further comprising generating, based upon a set of logging criteria, log data that indicates one or more activities of the cache.
- 35. The method as recited in claim 34, wherein the set of logging criteria includes the size of the first version of data provided.
- 36. The method as recited in claim 34, wherein the set of logging criteria includes an amount of time required to provide the first version of data.
- 37. A computer-readable medium carrying one or more sequences of instructions for managing data stored in a cache, wherein execution of the one or more sequences of one or more instructions by one or more processors cause the one or more processors to perform the steps of:
providing, from a cache, a first version of data in response to receiving a first request for data; detecting that a second more recent version of the data is available; in response to detecting that the second more recent version of the data is available, deleting the first version of the data from the cache.
- 38. The computer-readable medium as recited in claim 37, further comprising one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the steps of:
retrieving and storing in the cache the second more recent version of the data; receiving a second request for the data; and in response to receiving the second request for the data,
retrieving the second more recent version of the data from the cache, and providing the second more recent version of the data.
- 39. The computer-readable medium as recited in claim 37, further comprising one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the steps of:
storing, in a location other than the first cache, a request to delete the first version of the data from the cache, and if the request to delete the first version of the data from the cache cannot be successfully processed, then after expiration of a specified period of time,
retrieving from the location other than the first cache, the request to delete the first version of the data from the cache, and processing again the request to delete the first version of the data from the cache.
- 40. The computer-readable medium as recited in claim 38, further comprising one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of if the second more recent version of the data cannot be retrieved and stored in the cache, then after a specified period of time, attempting to again retrieve and store in the cache the second more recent version of the data.
- 41. The computer-readable medium as recited in claim 38, further comprising one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of if, after expiration of a specified period of time from a time when the second more recent version of the data is stored in the cache, no further requests for the second more recent version of the data are received, then deleting the second more recent version of the data from the cache.
- 42. The computer-readable medium as recited in claim 38, further comprising one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the steps of:
storing, in a location other than the first cache, a request to retrieve and store in the cache the second more recent version of the data, and if the request to retrieve and store in the cache the second more recent version of the data cannot be processed successfully, then after expiration of a specified period of time,
retrieving from the location other than the first cache, the request to retrieve and store in the cache the second more recent version of the data, and processing the request to retrieve and store in the cache the second more recent version of the data.
- 43. The computer-readable medium as recited in claim 37, further comprising one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of providing data that indicates whether the first recent version of the data was successfully deleted from the cache.
- 44. The computer-readable medium as recited in claim 38, further comprising one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of causing a copy of the second more recent version of the data to be stored at a second cache.
- 45. The computer-readable medium as recited in claim 38, wherein the step retrieving and storing in the cache the second more recent version of the data is performed in response to processing one or more requests from an authorized entity.
- 46. The computer-readable medium as recited in claim 37, further comprising one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of generating, based upon a set of logging criteria, log data that indicates one or more activities of the cache.
- 47. The computer-readable medium as recited in claim 46, wherein the set of logging criteria includes the size of the first version of data provided.
- 48. The computer-readable medium as recited in claim 46, wherein the set of logging criteria includes an amount of time required to provide the first version of data.
- 49. A method for managing data stored in a cache comprising the computer-implemented steps of:
selecting, based upon one or more selection criteria, one or more data items from a plurality of data items stored on the cache; determining, for each of the one or more data items, independent of any request for any of the one or more data items, whether a newer version of the data item is available; and for each of the one or more data items where a newer version of the data item is available,
deleting the data item from the cache, and retrieving and storing in the cache the newer version of the data item.
- 50. The method as recited in claim 49, wherein the one or more selection criteria include a source of each of the plurality of data items.
- 51. The method as recited in claim 49, wherein the one or more selection criteria include a type of each of the plurality of data items.
- 52. The method as recited in claim 49, wherein the one or more selection criteria include one or more users of the plurality of data items.
- 53. The method as recited in claim 49, wherein the one or more selection criteria include a size of each of the plurality of data items.
- 54. The method as recited in claim 49, wherein the one or more selection criteria include an age of each of the plurality of data items.
- 55. The method as recited in claim 49, further comprising:
storing a request to delete the data item from the cache, if the request to delete the data from the cache is not successfully processed, then processing the stored request to delete the data from the cache.
- 56. The method as recited in claim 49, further comprising:
storing a request to retrieve and store in the cache the newer version of the data item, if the request to retrieve and store in the cache the newer version of the data item is not successfully processed, then processing the stored request to retrieve and store in the cache the newer version of the data item.
- 57. The method as recited in claim 49, further comprising for each of the one or more data items where a newer version of the data item is available,
deleting the data item from the second cache, and retrieving and storing in a second cache the newer version of the data item.
- 58. The method as recited in claim 49, wherein the steps of deleting the data item from the cache, and retrieving and storing in the cache the newer version of the data item are preformed in response to processing one or more requests from an authorized entity.
- 59. A computer-readable medium carrying one or more sequences of one or more instructions for managing data stored in a cache, wherein execution of the one or more sequences of one or more instructions cause one or more processors to perform the steps of:
selecting, based upon one or more selection criteria, one or more data items from a plurality of data items stored on the cache; determining, for each of the one or more data items, independent of any request for any of the one or more data items, whether a newer version of the data item is available; and for each of the one or more data items where a newer version of the data item is available,
deleting the data item from the cache, and retrieving and storing in the cache the newer version of the data item.
- 60. The computer-readable medium as recited in claim 59, wherein the one or more selection criteria include a source of each of the plurality of data items.
- 61. The computer-readable medium as recited in claim 59, wherein the one or more selection criteria include a type of each of the plurality of data items.
- 62. The computer-readable medium as recited in claim 59, wherein the one or more selection criteria include one or more users of the plurality of data items.
- 63. The computer-readable medium as recited in claim 59, wherein the one or more selection criteria include a size of each of the plurality of data items.
- 64. The computer-readable medium as recited in claim 59, wherein the one or more selection criteria include an age of each of the plurality of data items.
- 65. The computer-readable medium as recited in claim 59, further comprising one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the steps of:
storing a request to delete the data item from the cache, if the request to delete the data from the cache is not successfully processed, then processing the stored request to delete the data from the cache.
- 66. The computer-readable medium as recited in claim 59, further comprising one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the steps of:
storing a request to retrieve and store in the cache the newer version of the data item, if the request to retrieve and store in the cache the newer version of the data item is not successfully processed, then processing the stored request to retrieve and store in the cache the newer version of the data item.
- 67. The computer-readable medium as recited in claim 59, further comprising one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of for each of the one or more data items where a newer version of the data item is available,
deleting the data item from the second cache, and retrieving and storing in a second cache the newer version of the data item.
- 68. The computer-readable medium as recited in claim 59, wherein the steps of deleting the data item from the cache, and retrieving and storing in the cache the newer version of the data item are preformed in response to processing one or more requests from an authorized entity.
- 69. A method for managing a cache comprising the computer-implemented steps of:
detecting, independent of any request for data, that new data that is not stored in the cache is available; in response to detecting that the new data is available, retrieving and storing the new data in the cache; receiving from a user a request for the new data; and in response to receiving the request for the new data,
retrieving the new data from the cache, and providing the new data to the user.
- 70. A computer-readable medium carrying one or more sequences of one or more instructions for managing a cache, wherein execution of the one or more sequences of one or more instructions by one or more processors cause the one or more processors to perform the steps of:
detecting, independent of any request for data, that new data that is not stored in the cache is available; in response to detecting that the new data is available, retrieving and storing the new data in the cache; receiving from a user a request for the new data; and in response to receiving the request for the new data,
retrieving the new data from the cache, and providing the new data to the user.
- 71. A method for determining an amount of uncompressed data that is provided to a user, the method comprising the computer-implemented steps of:
generating, based upon uncompressed data, compressed data; adding to the compressed data size data that indicates the size of uncompressed data; providing the compressed data to the user; and determining, based upon the size data from the compressed data, the amount of uncompressed data provided to the user.
- 72. The method as recited in claim 71, further comprising the step of if not all of the compressed data can be provided to the user, then
determining an amount of the compressed data that was provided to the user, determining the amount of uncompressed data that was provided to the user based upon a size of the compressed data, the amount of compressed data was provided to the user and the size data.
- 73. The method as recited in claim 71, wherein:
the uncompressed data is uncompressed HTTP data, the compressed data is compressed HTTP data, and the step of adding to the compressed data size data that indicates the size of uncompressed data includes adding to a header of the compressed HTTP data size data that indicates the size of uncompressed HTTP data.
- 74. A computer-readable medium carrying one or more sequences of one or more instructions for determining an amount of uncompressed data that is provided to a user, wherein execution of the one or more sequences of one or more instructions by one or more processors cause the one or more processors to perform the steps of:
generating, based upon uncompressed data, compressed data; adding to the compressed data size data that indicates the size of uncompressed data; providing the compressed data to the user; and determining, based upon the size data from the compressed data, the amount of uncompressed data provided to the user.
- 75. The computer-readable medium as recited in claim 74, further comprising the step of if not all of the compressed data can be provided to the user, then
determining an amount of the compressed data that was provided to the user, determining the amount of uncompressed data that was provided to the user based upon a size of the compressed data, the amount of compressed data was provided to the user and the size data.
- 76. The computer-readable medium as recited in claim 74, wherein:
the uncompressed data is uncompressed HTTP data, the compressed data is compressed HTTP data, and the step of adding to the compressed data size data that indicates the size of uncompressed data includes adding to a header of the compressed HTTP data size data that indicates the size of uncompressed HTTP data.
- 77. A method for managing content comprising the computer-implemented steps of:
retrieving from an origin server a first version of content; storing the first version of the content on a storage medium at a traffic server; in response to a first request for the content, retrieving the first version of the content from the storage medium and providing the first version of the content; detecting, independent of any request for the content, that a second more recent version of the content is available on the origin server; in response to detecting that the second more recent version of the content is available on the origin server,
deleting the first version of the content from the storage medium, retrieving the second more recent version of the content from the origin server, and storing the second more recent version of the content on the storage medium; in response to a second request for the content, retrieving the second more recent version of the content from the storage medium and providing the second more recent version of the content.
- 78. A computer-readable medium carrying one or more sequences of one or more instructions for managing content, wherein execution of the one or more sequences of one or more instructions by one or more processors cause the one or more processors to perform the steps of:
retrieving from an origin server a first version of content; storing the first version of the content on a storage medium at a traffic server; in response to a first request for the content, retrieving the first version of the content from the storage medium and providing the first version of the content; detecting, independent of any request for the content, that a second more recent version of the content is available on the origin server; in response to detecting that the second more recent version of the content is available on the origin server,
deleting the first version of the content from the storage medium, retrieving the second more recent version of the content from the origin server, and storing the second more recent version of the content on the storage medium; in response to a second request for the content, retrieving the second more recent version of the content from the storage medium and providing the second more recent version of the content.
- 79. An apparatus for managing content on a cache comprising:
a communications interface configured to communicate with the cache; and a differencing mechanism communicatively coupled to the communications interface and configured to
detect, independent of any request for content, that a second more recent version of the content is available, in response to detecting that the second more recent version of the content is available,
retrieve the second more recent version of the content, and cause the second more recent version of the content to be stored on the cache.
- 80. The apparatus as recited in claim 79, wherein the differencing mechanism is further configured to delete from the cache a first older version of the content.
- 81. The apparatus as recited in claim 80, wherein the differencing mechanism is further configured to:
store a request to delete the first older version of the content from the cache, and if the request to delete the first older version of the content from the cache cannot be successfully processed, then after expiration of a specified period of time,
retrieving the request to delete the first older version of the content from the cache, and processing the request to delete the first older version of the content from the cache.
- 82. The apparatus as recited in claim 79, wherein the differencing mechanism is further configured to if the second more recent version of the content cannot be retrieved and stored in the cache, then after a specified period of time, attempt to again retrieve and store in the cache the second more recent version of the content.
- 83. The apparatus as recited in claim 79, wherein the differencing mechanism is further configured to if, after expiration of a specified period of time from a time when the second more recent version of the content is stored in the cache, no further requests for the second more recent version of the content are received, then deleting the second more recent version of the content from the cache.
- 84. The apparatus as recited in claim 79, wherein the differencing mechanism is further configured to:
store a request to retrieve and store in the cache the second more recent version of the content, and if the request to retrieve and store in the cache the second more recent version of the content cannot be processed successfully, then after expiration of a specified period of time,
retrieving the request to retrieve and store in the cache the second more recent version of the content, and processing the request to retrieve and store in the cache the second more recent version of the content.
- 85. The apparatus as recited in claim 79, wherein the differencing mechanism is further configured to generate data that indicates whether the second more recent version of the content was successfully retrieved and stored in the cache.
- 86. The apparatus as recited in claim 79, wherein the differencing mechanism is further configured to cause a copy of the second more recent version of the content to be stored at a second cache.
- 87. The apparatus as recited in claim 79, wherein the retrieving and storing in the cache the second more recent version of the content is performed in response to processing one or more requests from an authorized entity.
- 88. The apparatus as recited in claim 79, wherein the differencing mechanism is further configured to generate, based upon a set of logging criteria, log data that indicates one or more activities of the cache.
- 89. The apparatus as recited in claim 84, wherein the set of logging criteria includes the size of the first version of content provided.
- 90. An apparatus for managing a cache comprising:
a communications interface configured to communicate with the cache; and a differencing mechanism communicatively coupled to the communications interface and configured to
detect, independent of any requests for data stored in the cache, that a second more recent version of the data is available; in response to detecting that the second more recent version of the data is available, causing a first older version of the data to be deleted from the cache.
RELATED APPLICATION
[0001] This application claims priority to U.S. Provisional Patent Application No. 60/176,666 filed Jan. 18, 2000 and entitled “Content Exchange,” the entire contents of which are incorporated herein for all purposes.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60176666 |
Jan 2000 |
US |