System and method for cacheing web files
First Claim
1. A computer-implemented method comprising:
- receiving, at a computer system, a file request from a program on the computer system, the file request comprising a first message digest and a location;
determining whether a file having a second message digest corresponding to the first message digest is available in a storage area of the computer system;
when the second message digest corresponds to the first message digest;
producing a fourth message digest of the file in the storage area using a hash function,comparing the fourth message digest with the first message digest, andresponsive to the fourth message digest corresponding to the first message digest, providing the file from the storage area; and
when the second message digest does not correspond to the first message digest;
retrieving the file from the location;
storing the retrieved file in the storage area;
producing a third message digest from the retrieved file;
comparing the third message digest with the first message digest;
responsive to the third message digest corresponding to the first message digest, providing the retrieved file; and
providing an error message when the third message digest does not correspond to the first message digest.
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.
40 Citations
18 Claims
-
1. A computer-implemented method comprising:
-
receiving, at a computer system, a file request from a program on the computer system, the file request comprising a first message digest and a location; determining whether a file having a second message digest corresponding to the first message digest is available in a storage area of the computer system; when the second message digest corresponds to the first message digest; producing a fourth message digest of the file in the storage area using a hash function, comparing the fourth message digest with the first message digest, and responsive to the fourth message digest corresponding to the first message digest, providing the file from the storage area; and when the second message digest does not correspond to the first message digest; retrieving the file from the location; storing the retrieved file in the storage area; producing a third message digest from the retrieved file; comparing the third message digest with the first message digest; responsive to the third message digest corresponding to the first message digest, providing the retrieved file; and providing an error message when the third message digest does not correspond to the first message digest. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
an input device; an output device; a storage area; and a processor configured to perform operations comprising; receiving a file request comprising a first message digest and a location; determining whether a file having a second message digest corresponding to the first message digest is available in a storage area; when the second message digest corresponds to the first message digest; producing a fourth message digest of the file in the storage area using a hash function, comparing the fourth message digest with the first message digest, and responsive to the fourth message digest corresponding to the first message digest, providing the file from the storage area; and when the second message digest does not correspond to the first message digest; retrieving the file from the location; storing the retrieved file in the storage area; producing a third message digest from the retrieved file; comparing the third message digest with the first message digest; responsive to the third message digest corresponding to the first message digest, providing the retrieved file; and providing an error message when the third message digest does not correspond to the first message digest. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that when executed by data processing apparatus cause the data processing apparatus to perform operations comprising:
-
receiving, at the data processing apparatus, a file request comprising a first message digest and a location; determining whether a file having a second message digest corresponding to the first message digest is available in a storage area; when the second message digest corresponds to the first message digest; producing a fourth message digest from the file in the storage area using a hash function, comparing the fourth message digest with the first message digest, and responsive to the fourth message digest corresponding to the first message digest, providing the file from the storage area; and when the second message digest does not correspond to the first message digest; retrieving the file from the location; storing the retrieved file in the storage area; producing a third message digest from the retrieved file; comparing the third message digest with the first message digest; responsive to the third message digest corresponding to the first message digest, providing the retrieved file; and providing an error message when the third message digest does not correspond to the first message digest. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification