Software updating
First Claim
Patent Images
1. A method of updating files stored in a data storage of a device, the method comprising:
- receiving an update package for updating a file stored in the data storage of the device, the file comprising a plurality of segments, each segment requiring update by one of copying and archiving, segments updated by archiving having their content replaced entirely by compressed data from the update package, segments updated by copying having their content updated based on a pre-update content of the segment;
removing the segments requiring update by archiving from the file to open free space inside the file;
utilizing the free space inside the file, moving the segments requiring update by copying from a first location to a second location inside the file; and
for each segment requiring update by archiving, expanding a corresponding segment in the update package and storing the expanded data into the free space inside the file.
1 Assignment
0 Petitions
Accused Products
Abstract
A novel method for updating a bundle of files from an update package that minimize the free space requirement on disk is provided. The method segments the update of the entire package and performs the update in multiple passes. The method divide the archive payload of the entire update package into pieces and expand one piece of the archive in each pass. At the end of each pass, some embodiments remove from the disk the archive piece expanded in that pass in order to free additional space for the next pass.
30 Citations
19 Claims
-
1. A method of updating files stored in a data storage of a device, the method comprising:
-
receiving an update package for updating a file stored in the data storage of the device, the file comprising a plurality of segments, each segment requiring update by one of copying and archiving, segments updated by archiving having their content replaced entirely by compressed data from the update package, segments updated by copying having their content updated based on a pre-update content of the segment; removing the segments requiring update by archiving from the file to open free space inside the file; utilizing the free space inside the file, moving the segments requiring update by copying from a first location to a second location inside the file; and for each segment requiring update by archiving, expanding a corresponding segment in the update package and storing the expanded data into the free space inside the file. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computing device comprising:
-
a data storage; a set of processing units; and a non-transitory machine readable medium storing a program for execution by at least one of the processing units, the program for updating files stored in the data storage, the program comprising sets of instructions for; receiving an update package for updating a file stored in the data storage, the file comprising a plurality of segments, each segment requiring update by one of copying and archiving, segments updated by archiving having their content replaced entirely by compressed data from the update package, segments updated by copying having their content updated based on a pre-update content of the segment; removing the segments requiring update by archiving from the file to open free space inside the file; utilizing the free space inside the file, moving the segments requiring update by copying from a first location to a second location inside the file; and for each segment requiring update by archiving, expanding a corresponding segment in the update package and storing the expanded data into the free space inside the file. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable medium storing a program for updating files stored on a data storage of a client device, the program executable by a processing unit, the program comprising sets of instructions for:
-
receiving an update package for updating a file stored in the data storage of the device, the file comprising a plurality of segments, each segment requiring update by one of copying and archiving, segments updated by archiving having their content replaced entirely by compressed data from the update package, segments updated by copying having their content updated based on a pre-update content of the segment; removing the segments requiring update by archiving from the file to open free space inside the file; utilizing the free space inside the file, moving the segments requiring update by copying from a first location to a second location inside the file; and for each segment requiring update by archiving, expanding a corresponding segment in the update package and storing the expanded data into the free space inside the file. - View Dependent Claims (16, 17, 18, 19)
-
Specification