Software and data file updating process
First Claim
1. A computer-implemented method for updating a seed file to match a target file, said method comprising:
- separating said target file into a header portion and a target file payload;
generating target file checking data for one or more blocks of said target file payload, wherein the generating includes, for each of the one or more blocks of said target file payload, retrieving the block from memory, decompressing the block of said target file payload, and calculating file checking data based on the decompressed block of said target file payload;
storing at least a portion of said target file checking data in a cache, wherein the cache is part of a non-volatile storage device;
receiving seed file checking data corresponding to one or more blocks of said seed file, wherein said seed file checking data is based on a decompressed version of the one or more blocks of said seed file;
comparing said seed file checking data with said target file checking data to identify differences in blocks of said seed file and blocks of said target file; and
transmitting information for revising seed file blocks which are different from target file blocks such that said seed file blocks match said target file blocks.
1 Assignment
0 Petitions
Accused Products
Abstract
A file updating process where a seed file is to be updated or revised to match a target file utilizes cached checking data to increase efficiency. Initially, target file checking data for one or more blocks of the target file are generated. These target file checking data are then stored to cache memory. In a similar manner, seed file checking data corresponding to one or more blocks of the seed file are generated. Then, during the updating process, the seed file checking data are compared with the target file checking data stored in memory to identify any differences between blocks of the seed file and blocks of the target file. If any differences are identified, the old seed file blocks are replaced with newly downloaded target file blocks. Alternatively, the old seed file blocks may be reconstructed in a manner such that they match the target file blocks.
-
Citations
19 Claims
-
1. A computer-implemented method for updating a seed file to match a target file, said method comprising:
-
separating said target file into a header portion and a target file payload; generating target file checking data for one or more blocks of said target file payload, wherein the generating includes, for each of the one or more blocks of said target file payload, retrieving the block from memory, decompressing the block of said target file payload, and calculating file checking data based on the decompressed block of said target file payload; storing at least a portion of said target file checking data in a cache, wherein the cache is part of a non-volatile storage device; receiving seed file checking data corresponding to one or more blocks of said seed file, wherein said seed file checking data is based on a decompressed version of the one or more blocks of said seed file; comparing said seed file checking data with said target file checking data to identify differences in blocks of said seed file and blocks of said target file; and transmitting information for revising seed file blocks which are different from target file blocks such that said seed file blocks match said target file blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method for updating a seed file to match a target file, wherein said seed file comprises a compressed payload, previously separated from a compound file, said method comprising:
-
constructing said seed file to maximize similarities with said target file; decompressing said seed file; generating seed file checking data for one or more blocks of said seed file, wherein said seed file checking data is based on a decompressed version of the one of the one or more blocks of said seed file; transmitting said seed file checking data for comparison against cached target file checking data corresponding to one or more blocks of said target file to identify differences in blocks of said seed file and blocks of said target file, wherein the cached target file checking data is cached in a cache that is part of a non-volatile storage device; and receiving information for revising seed file blocks which are different from target file blocks such that said seed file blocks match said target file blocks; revising said seed file blocks in accordance with said information to match said target file blocks; recompressing said revised seed file blocks, and appending said revised seed file blocks to a header file after said recompressing to constitute a revised compound file. - View Dependent Claims (11, 17, 18)
-
-
12. A computer program product, residing on a computer-readable medium, for use in updating a seed file to match a target file, said computer program product comprising instructions for causing a computer to:
-
separate said target file into a header portion and a target file payload; generate target file checking data for one or more blocks of said target file payload, wherein the generating includes, for each of the one or more blocks of said target file payload, retrieving the block from memory, decompressing the block of said target file payload, and calculating file checking data based on the decompressed block of said target file payload; store at least a portion of said target file checking data in a cache, wherein the cache is part of a non-volatile storage device; receive seed file checking data corresponding to one or more blocks of said seed file; compare said seed file checking data with said target file checking data to identify differences in blocks of said seed file and blocks of said target file; and transmit information for revising seed file blocks which are different from target file blocks such that said seed file blocks match said target file blocks. - View Dependent Claims (13, 14, 15)
-
-
16. A computer program product, residing on a computer-readable medium, for use in updating a seed file to match a target file, wherein said seed file comprises a compressed payload, previously separated from a compound file, said computer program product comprising instructions for causing a computer to:
-
construct said seed file to maximize similarities with said target file; decompress said seed file; generate seed file checking data for one or more blocks of said seed file; transmit said seed file checking data for comparison against cached target file checking data corresponding to one or more blocks of said target file to identify differences in blocks of said seed file and blocks of said target file, wherein the cached target file checking data is cached in a cache that is part of a non-volatile storage device; and receive information for revising seed file blocks which are different from target file blocks such that said seed file blocks match said target file blocks; revise said seed file blocks in accordance with said information to match said target file blocks; recompress said revised seed file blocks, and append said revised seed file blocks to a header file after said recompressing to constitute a revised compound file.
-
-
19. A system for updating a seed file to match a target file, wherein said seed file comprises a compressed payload, previously separated from a compound file, said system comprising:
-
a client computer that constructs said seed file to maximize similarities with said target file, (ii) decompresses said seed file, and (iii) generates seed file checking data corresponding to one or more blocks of said seed file; a server that generates target file checking data for one or more blocks of said target file, receives said seed file checking data, compares said seed file checking data with said target file checking data to identify differences in blocks of said seed file and blocks of said target file and transmits information to said client computer for revising seed file blocks which are different from target file blocks such that said seed file blocks match said target file blocks; and
a non-volatile storage device associated with said server to store at least a portion of said target file checking data in a cache;wherein the client computer (i) receives the information for revising seed file blocks, (ii) revises said seed file blocks in accordance with said information to match said target file blocks;
(iii) recompresses said revised seed file blocks, and (iv) appends said revised seed file blocks to a header file after said recompressing to constitute a revised compound file.
-
Specification