Updating electronic files using byte-level file differencing and updating algorithms
First Claim
1. A system for updating electronic files, comprising:
- a first device including a processor coupled to a first component of a byte-level file differencing and updating system that generates a delta file, wherein the delta file includes an operation array that codes byte-level differences between an original file and a new file using a variable length integer format, wherein the first device is accessible by at least one provider of the original file;
a second device coupled to the first device via at least one coupling, wherein the second device includes a second component of the byte-level file differencing and updating system, wherein the second device is configured to perform a file update by,receiving at least one block of the delta file and store the delta file block in a first memory area;
writing a copy of at least one block of the original file from an original memory area to a second memory area, wherein the original file block corresponds to the delta file block;
generating a copy of at least one block of the new file using the stored delta file block and the copy of the original file block, wherein the new file block corresponds to the original file block;
writing the generated copy of the new file block to a third memory area; and
updating the original file block by writing the copy of the new file block over the corresponding original file block in the original memory area.
4 Assignments
0 Petitions
Accused Products
Abstract
A system and method for updating electronic files and file components are provided. An upgrade client of a remote device receives a delta file block that codes differences between an original and a new version of a file. The upgrade client stores the delta file block in a first memory area. The upgrade client writes an original file block corresponding to the delta file block from an original memory area to a second memory area. A file updating algorithm generates an updated file block in the host device using the received delta file block and the original file block. This updated file block corresponds to the original file block, and is stored in a third memory area. The upgrade client updates the original file block of the remote device by writing the updated file block over the original file block in the original memory area of the remote device.
-
Citations
28 Claims
-
1. A system for updating electronic files, comprising:
-
a first device including a processor coupled to a first component of a byte-level file differencing and updating system that generates a delta file, wherein the delta file includes an operation array that codes byte-level differences between an original file and a new file using a variable length integer format, wherein the first device is accessible by at least one provider of the original file; a second device coupled to the first device via at least one coupling, wherein the second device includes a second component of the byte-level file differencing and updating system, wherein the second device is configured to perform a file update by, receiving at least one block of the delta file and store the delta file block in a first memory area; writing a copy of at least one block of the original file from an original memory area to a second memory area, wherein the original file block corresponds to the delta file block; generating a copy of at least one block of the new file using the stored delta file block and the copy of the original file block, wherein the new file block corresponds to the original file block; writing the generated copy of the new file block to a third memory area; and updating the original file block by writing the copy of the new file block over the corresponding original file block in the original memory area. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for updating electronic files and file components, comprising:
-
receiving and decompressing at least one block of a delta file, wherein the delta file includes an operation array that codes byte-level differences between an original file and a new file using a variable length integer format; storing the delta file block in a first memory area; writing a copy of at least one block of the original file from an original memory area of a host device to a second memory area, wherein the original file block corresponds to the delta file block; generating a copy of at least one block of the new file in the host device using the stored delta file block and the copy of the original file block, wherein the new file block corresponds to the original file block; writing the generated copy of the new file block to a third memory area; and updating the original file block of the host device by writing the copy of the new file block over the corresponding original file block in the original memory area of the host device. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method for using difference files to update electronic files, comprising:
-
writing a copy of an original file from an original area of flash read-only memory (ROM) to a reserved flash ROM in a host device; receiving at least one block of a delta file, wherein the delta file includes an operation array that codes byte-level differences between the original file and a new file using a variable length integer format; storing the delta file block in random access memory (RAM); writing a copy of at least one block of the original file from the reserved flash ROM to the RAM, wherein the original file block corresponds to the delta file block; generating a copy of at least one block of the new file in the host device using the stored delta file block and the copy of the original file block, wherein the new file block corresponds to the original file block; writing the generated copy of the new file block to the RAM; writing the generated copy of the new file block from the RAM to the corresponding location in the reserved flash ROM; updating the original file of the host device by writing the generated copy of the new file block from the reserved flash ROM over the corresponding original file block in the flash ROM upon determining that processing is complete on all blocks of the delta file.
-
-
26. A method for updating electronic files, comprising:
-
writing a copy of an original file from an original area of flash read-only memory (ROM) to a reserved random access memory (RAM) in a host device; receiving at least one block of a delta file, wherein the delta file includes an operation array that codes byte-level differences between the original file and a new file using a variable length integer format; storing the delta file block in RAM; writing a copy of at least one block of the original file from the reserved RAM to the RAM, wherein the original file block corresponds to the delta file block; generating a copy of at least one block of the new file in the host device using the stored delta file block and the copy of the original file block, wherein the new file block corresponds to the original file block; writing the generated copy of the new file block to the RAM; writing the generated copy of the new file block from the RAM to the corresponding location in the reserved RAM; updating the original file of the host device by writing the generated copy of the new file block from the reserved RAM over the corresponding original file block in the flash ROM upon determining that processing is complete on all blocks of the delta file.
-
-
27. An apparatus including at least one processor configured to update hosted electronic files, comprising:
-
means for receiving and decompressing at least one block of a delta file, wherein the delta file includes an operation array that codes byte-level differences between an original file and a new file using a variable length integer format; means for storing the delta file block in a first memory area; means for writing a copy of at least one block of the original file from an original memory area of a host device to a second memory area, wherein the original file block corresponds to the delta file block; means for generating a copy of at least one block of the new file in the host device using the stored delta file block and the copy of the original file block, wherein the new file block corresponds to the original file block; means for writing the generated copy of the new file block to a third memory area; and means for updating the original file block of the host device by writing the copy of the new file block over the corresponding original file block in the original memory area of the host device.
-
-
28. A computer readable storage medium including executable instructions which, when executed in a processing system, updates electronic files and file components by:
-
receiving and decompressing at least one block of a delta file, wherein the delta file includes an operation array that codes byte-level differences between an original file and a new file using a variable length integer format; storing the delta file block in a first memory area; writing a copy of at least one block of the original file from an original memory area of a host device to a second memory area, wherein the original file block corresponds to the delta file block; generating a copy of at least one block of the new file in the host device using the stored delta file block and the copy of the original file block, wherein the new file block corresponds to the original file block; writing the generated copy of the new file block to a third memory area; and updating the original file block of the host device by writing the copy of the new file block over the corresponding original file block in the original memory area of the host device.
-
Specification