Software Updating
First Claim
1. A method of specifying an update file for updating a target file stored on a device, the method comprising:
- dividing the target file into a plurality of sections;
for each section of the file;
identifying a patch section update and a full section update for the section;
comparing sizes of the patch section update and the full section update to select one of the section update for inclusion in the update file;
including the selected section update in the update file for the section,wherein the specified update file comprises a plurality of patch section updates for a first plurality of sections and a plurality of full section updates for a second plurality of sections.
1 Assignment
0 Petitions
Accused Products
Abstract
A novel software updating method is provided. A target file is divided into segments, where some segments are updated by patching, while other segments are updated by archiving. The segmentation of the update allows very large files such as DYLD shared caches to be patched in-place, i.e., by using free space available within the file to perform patching rather than requiring enough free space on disk to store both the new version and the old version of the file. The segmentation of the update also allows each segment to be updated individually by the most optimal update method (copy, patch, or archive) so that the size of the update file can be minimized.
-
Citations
20 Claims
-
1. A method of specifying an update file for updating a target file stored on a device, the method comprising:
-
dividing the target file into a plurality of sections; for each section of the file; identifying a patch section update and a full section update for the section; comparing sizes of the patch section update and the full section update to select one of the section update for inclusion in the update file; including the selected section update in the update file for the section, wherein the specified update file comprises a plurality of patch section updates for a first plurality of sections and a plurality of full section updates for a second plurality of sections. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computing device comprising:
-
a set of processing units; and a machine readable medium storing a program for execution by at least one of the processing units, the program for specifying an update file for updating a target file stored on a client device, the program comprising sets of instructions for; dividing the target file into a plurality of sections; for each section of the file; identifying a patch section update and a full section update for the section; comparing sizes of the patch section update and the full section update to select one of the section update for inclusion in the update file; including the selected section update in the update file for the section, wherein the specified update file comprises a plurality of patch section updates for a first plurality of sections and a plurality of full section updates for a second plurality of sections. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable medium storing an update file for updating a target file stored on a client device, the update file comprising:
-
update data for a plurality of sections that are divided from a target file; and a segmentation map specifying an update method of each section, wherein the update method of a section can be patch section update or full section update, wherein a section is specified as being updated by an update method that result in a smaller update data size for the section in the update file than the other update method. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification