System and method for cacheing web files
First Claim
1. A method of providing a file in response to a request, comprising:
- receiving, on a first computer system, the request for the file, the request comprising a message digest and a location corresponding to a second computer system other than the first computer system, the first computer system coupled to the second computer system over a network;
determining whether a file having a hash result corresponding to the message digest was stored in a storage area prior to the receiving of said request step;
responsive to the file having the hash result corresponding to the message digest being stored in the storage area prior to the receiving of said request step, providing the file from the storage area in response to the request; and
responsive to no file having the hash result corresponding to the message digest being stored in the storage area prior to the receiving of said request step;
retrieving the file from the second computer system responsive to the location;
storing the file retrieved in the storage area;
hashing the file using a hash function to produce a hash result;
comparing the hash result with the message digest; and
responsive to the hash result corresponding to the message digest, providing the file in response to the request.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method receives a request for a file containing an identifier of the requested file and a message digest, containing an expected hash result of the requested file. The system and method identifies whether it has already stored a file having that identifier and a hash result matching the message digest. If so, the file is provided, optionally after being checked for authenticity via rehashing and comparing again to the message digest. If the file is not stored in the cache, it may be retrieved from a location included in the identifier, hashed and compared to the message digest to authenticate it, and provided to the requesting program if the hash result matches the message digest.
-
Citations
21 Claims
-
1. A method of providing a file in response to a request, comprising:
-
receiving, on a first computer system, the request for the file, the request comprising a message digest and a location corresponding to a second computer system other than the first computer system, the first computer system coupled to the second computer system over a network; determining whether a file having a hash result corresponding to the message digest was stored in a storage area prior to the receiving of said request step; responsive to the file having the hash result corresponding to the message digest being stored in the storage area prior to the receiving of said request step, providing the file from the storage area in response to the request; and responsive to no file having the hash result corresponding to the message digest being stored in the storage area prior to the receiving of said request step; retrieving the file from the second computer system responsive to the location; storing the file retrieved in the storage area; hashing the file using a hash function to produce a hash result; comparing the hash result with the message digest; and responsive to the hash result corresponding to the message digest, providing the file in response to the request. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for providing a file in response to a request, comprising:
-
a file request receiver on a first computer system, the file request receiver having a first input operatively coupled for receiving the request for the file, the request comprising a message digest and a location corresponding to a second computer system other than the first computer system, the first computer system coupled to the second computer system over a network, the file request receiver for providing at a first input/output the message digest; a cache manager having a first input/output coupled to the file request receiver input/output for receiving the message digest, the cache manager for determining via a second input/output coupled to a storage area whether a file having a hash result corresponding to the message digest was stored in the storage area and for providing at the first input/output at least one selected from the group comprising; an identifier of said file responsive to the file being stored in the storage area; and an indication that said file is not stored in the storage area; wherein the file request receiver is additionally for; receiving the identifier of the file or the indication via the request receiver first input/output, responsive to the identifier of the file, retrieving the file from the storage area via a second input/output in response to the request and providing the file at a first output; and responsive to the indication, providing the identifier of the file and the message digest at a second output; and additionally comprising; a file retriever having an input coupled to the request receiver second output, the file retriever for retrieving the file via a first input/output from the second computer system responsive to identifier, storing the file retrieved in the storage area via a second input/output and providing an identifier of the file at an output; a file hasher having an input coupled to the file retriever output for receiving the identifier of the file, the file hasher for hashing the file using a hash function to produce a hash result and for providing the hash result at an output; a hash compare manager having an input coupled to the request receiver second output for receiving the message digest and to the file hasher output for receiving the hash result, the hash compare manager for comparing the hash result with the message digest and providing at an output an indication of the result of said comparison; and wherein the file request receiver additionally comprises a second input coupled to the hash compare manager output for receiving the indication, and the file request receiver additionally provides the file at the file request receiver first output responsive to the indication indicating the hash result corresponds to the message digest. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer program product comprising a computer useable medium having computer readable program code embodied therein for providing a file in response to a request, the computer program product comprising computer readable program code devices configured to cause a computer system to:
-
receive, on a first computer system, the request for the file, the request comprising a message digest and a location corresponding to a second computer system other than the first computer system, the first computer system coupled to the second computer system over a network; determine whether a file having a hash result corresponding to the message digest was stored in a storage area prior to the receiving of said request step; responsive to the file having the hash result corresponding to the message digest being stored in the storage area prior to the receiving of said request step, provide the file from the storage area in response to the request; and responsive to no file having the hash result corresponding to the message digest being stored in the storage area prior to the receiving of said request step; retrieve the file from the second computer system responsive to the location; store the file retrieved in the storage area; hash the file using a hash function to produce a hash result; compare the hash result with the message digest; and responsive to the hash result corresponding to the message digest, provide the file in response to the request. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification