US 12,487,816 B2
Software updating
Eric Bainville, Sunnyvale, CA (US); and Ali Sazegari, Cupertino, CA (US)
Assigned to Apple Inc., Cupertino, CA (US)
Filed by Apple Inc., Cupertino, CA (US)
Filed on Nov. 16, 2020, as Appl. No. 16/949,828.
Application 16/949,828 is a continuation of application No. 14/941,229, filed on Nov. 13, 2015, granted, now 10,860,310, issued on Dec. 8, 2020.
Claims priority of provisional application 62/235,457, filed on Sep. 30, 2015.
Prior Publication US 2021/0132942 A1, May 6, 2021
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 8/71 (2018.01); G06F 8/65 (2018.01); G06F 8/658 (2018.01)
CPC G06F 8/71 (2013.01) [G06F 8/65 (2013.01); G06F 8/658 (2018.02)] 16 Claims
OG exemplary drawing
 
1. A method for updating a target file stored on a device, the method comprising:
receiving update data for a plurality of sections that are part of a target file without requiring storage on the device of a new version of the target file and old version of the target file and the target file is a component of an operating system of the device;
receiving a segmentation map specifying an update method for each section in the plurality of sections in the target file, wherein the segmentation map is configured to specify at least one of a patch section update to be applied to at least one section or a copy section update to be applied to at least one section, and an archive section update to be applied to at least one section; and
updating each section in the plurality of sections in the target file according to the update method specified in the segmentation map for each section, wherein a segment space identified for an archive section update is updated by vacating the segment space as free space and performing an in-place update in the segment space with one of a patch section update or a full section update.