System and method for performing an image-based update
AssigneeDatto, Inc.
InventorsJohn ROLAND, Chad KOSIE, Philipp HECKEL
Life of this patent
Estimating the term…
Abstract
A target device operating on a first operating system can receive an incremental update for a second operating system and store in a first data set a snapshot of the second the second operating system based on the incremental update. The target device may then export an image of the second operating system to a second data set and boot into the second image. The target device may receive operating system updates, build operating system images in the background, and boot into the updated operating system when the process is complete. Storing snapshots of the incremental updates and previous operating system images allows for reversion to old operating systems.
Claims33
A method of updating an operating system on a target device using incremental updates, comprising:
- storing, in a target device memory a first operating system image according to a first file system on the target device;
- storing, in the target device memory, a snapshot of the first operating system image in a target-device-held series of snapshots according to a second file system on the target device that is snapshot capable;
- receiving, by the target device and from a remote storage device, data equivalent to a snapshot of a second operating system image, the second operating system image being an image of an updated version of the first operating system image;
- forming the snapshot of second operating system image from the data equivalent to the snapshot of the second operating system image;
- storing, in the target device, the snapshot of the second operating system image in the target-device-held series of snapshots according to the second file system on the target device;
- exporting, to the target device memory, a second operating system image containing data representative of the snapshot of the second operating system image;
- storing, in the target device memory the second operating system image according to the first file system on the target device;
- and
- booting the target device using the second operating system image.
A method of updating an operating system on a target device using incremental updates, comprising:
- storing, in a target device first data set a first operating system image;
- storing, in a target device second data set, a snapshot of the first operating system image comprising a first set of data blocks representing the first operating system image and information pointing to the first set of data blocks;
- receiving, by the target device and from a remote storage device, data equivalent to a snapshot of a second operating system image, wherein the second operating system image is an image of an updated version of the first operating system image and wherein the data equivalent to a snapshot of the second operating system image includes at least one additional data block representing one or more pairwise differences between the snapshot of the first operating system image and the snapshot of the second operating system image;
- forming the snapshot of second operating system image from the data equivalent to the snapshot of the second operating system image, wherein the snapshot of the second operating system image comprises at least one of the blocks in the first set of data blocks and the at least one additional data block;
- storing, in the target device second data set, the snapshot of the second operating system image;
- exporting, to the target device first data set, a second operating system image containing data representative of the snapshot of the second operating system image;
- storing, in the target device first data set the second operating system image;
- and
- booting the target device using the second operating system image.
A method of updating operating systems on a fleet of target devices using incremental updates, comprising:
- storing, a first operating system image in a first data set on at least one target device of the fleet of target devices;
- storing, a snapshot of the first operating system image comprising a first set of data blocks representing the first operating system image and information pointing to the first set of data blocks in a second data set on the at least one target device of the fleet of target devices;
- receiving, by the at least one target device of the fleet of target devices and from a remote storage device, first data equivalent to a snapshot of a second operating system image, wherein the second operating system image is an image of an updated version of the first operating system image and wherein the data equivalent to a snapshot of the second operating system image includes at least one additional data block representing one or more pairwise differences between the snapshot of the first operating system image and the snapshot of the second operating system image;
- forming the snapshot of second operating system image from the first data equivalent to the snapshot of the second operating system image, wherein the snapshot of the second operating system image comprises at least one of the blocks in the first set of data blocks and the at least one additional data block;
- storing, in the second data set on the at least one target device of the fleet of target devices, the snapshot of the second operating system image;
- exporting, to the first data set on the at least one target device of the fleet of target devices, a second operating system image containing data representative of the snapshot of the second operating system image;
- storing, in the first data set on the at least one target device of the fleet of target devices the second operating system image;
- and
- booting the at least one target device of the fleet of target devices using the second operating system image.
Dependencies are inferred from the claim text.