System and method for cacheing web files
AssigneeAdobe Systems Incorporated
InventorLee Thomason
Life of this patent
Estimating the term…
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.
Claims18
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.
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.
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.
Dependencies are inferred from the claim text.