7509635

Software and Data File Updating Process

PublishedMarch 24, 2009
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
19 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

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.

2

2. The computer-implemented method of claim 1 , wherein said target file checking data and said seed file checking data each comprise weak level checking data and strong level checking data, and wherein said comparing comprises comparing said weak level checking data and next comparing strong level checking data only if a match is identified in said weak level checking data.

3

3. The computer-implemented method of claim 1 , wherein said target file checking data and said seed file checking data each comprise a 32-bit checksum and a 128-bit checksum.

4

4. The computer-implemented method of claim 1 , wherein said target file checking data and said seed file checking data each comprise weak level checking data and strong level checking data, and wherein said storing comprises storing said weak level checking data associated with said target file and storing only said strong level checking data associated with said target file expected to match strong level checking data associated with said seed file.

5

5. The computer-implemented method of claim 1 , wherein said target file checking data and said seed file checking data each comprise a checksum.

6

6. The computer-implemented method of claim 1 , wherein said target file checking data stored in a cache are used with multiple updating requests received from a plurality of clients.

7

7. The computer-implemented method of claim 1 , wherein said seed file is decompressed prior to said generating, wherein said seed file blocks are revised in accordance with said transmitted information to match said target file blocks, and wherein said revised seed file blocks are recompressed after revising.

8

8. The computer-implemented method of claim 7 , wherein said seed file comprises a compressed payload, previously separated from a compound file, and wherein said revised seed file is appended to a header file after said recompressing to constitute a revised compound file.

9

9. The computer-implemented method of claim 8 , wherein said compound file and said revised compound file comport with an RPM Package Manager format.

10

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.

11

11. The computer-implemented method of claim 10 , wherein said compound file and said revised compound file comport with an RPM Package Manager format.

12

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.

13

13. The computer program product of claim 12 , wherein said target file checking data and said seed file checking data each comprise weak level checking data and strong level checking data, and wherein said computer program product further comprises instructions for causing said computer to compare said weak level checking data and to compare said strong level checking data only if a match is identified in said weak level checking data.

14

14. The computer program product of claim 12 , wherein said target file checking data and said seed file checking data each comprise weak level checking data and strong level checking data, and wherein said computer program product further comprises instructions for causing said computer to store said weak level checking data associated with said target file and to store only said strong level checking data associated with said target file expected to match strong level checking data associated with said seed file.

15

15. The computer program product of claim 12 , wherein said target file checking data and said seed file checking data each comprise a checksum.

16

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.

17

17. The computer-implemented method of claim 10 , wherein said step of constructing said seed file utilizes data that is locally stored.

18

18. The computer-implemented method of claim 17 , wherein said seed file is a compound file comprising existing versions of individual files.

19

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.

Patent Metadata

Filing Date

Unknown

Publication Date

March 24, 2009

Inventors

David Woodhouse

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “SOFTWARE AND DATA FILE UPDATING PROCESS” (7509635). https://patentable.app/patents/7509635

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.