IP Library › Granted Patent US 12,639,077
Granted Patent B2
US 12,639,077 · App. 18/192,051 · Granted May 26, 2026

Bootable system image delta generator

Inventors: Leigh Griffin (Waterford, IE); Pierre-Yves Chibon (Puteaux, FR)
Assignee: Red Hat, LLC
G06F9/4401
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,639,077
App. No.
18/192,051
Granted
May 26, 2026
Kind
B2
Abstract

A request is received from a fleet device to be provided with a delta system image that includes differences between a system image currently residing on the fleet device and a most recent revised system image. It is determined that a first revised system image has been generated, and a second revised system image has been generated, wherein the second revised system image is the most recent revised system image. It is determined that the system image currently residing on the fleet device is the first system image. A first delta system image that includes differences between the first system image and the second revised system image is accessed. The first delta system image is sent to the fleet device.

Claims (73)

1 . A method comprising:

determining, by a computing device in communication with a first fleet device of a plurality of fleet devices, that a delta system image that includes differences between a system image currently residing on the first fleet device and a most recent revised system image stored in a repository external to the first fleet device can be generated;

responsive to determining that the delta system image can be generated, determining, by the computing device, that a first revision has been made to a first system image to generate a first revised system image;

responsive to determining that the delta system image can be generated, determining, by the computing device, that a second subsequent revision has been made to the first revised system image to generate a second revised system image, wherein the second revised system image comprises the most recent revised system image;

determining, by the computing device, that the system image currently residing on the first fleet device comprises the first system image;

accessing, by the computing device, a first delta system image that comprises differences between the first system image and the second revised system image; and

sending, by the computing device to the first fleet device, the first delta system image or a reference to the first delta system image.

2 . The method of claim 1 , wherein determining, by the computing device, that the system image currently residing on the first fleet device comprises the first system image comprises receiving, by the computing device from the first fleet device, information that indicates that the first system image currently resides on the first fleet device.

3 . The method of claim 1 , wherein determining, by the computing device, that the system image currently residing on the first fleet device comprises the first system image comprises:

accessing, by the computing device, a data structure that contains information indicating that the first system image currently resides on the first fleet device; and

modifying, by the computing device, the data structure to contain information indicating that the second revised system image currently resides on the first fleet device.

4 . The method of claim 1 further comprising:

generating, by the computing device, the first delta system image that comprises differences between the first system image and the second revised system image; and

storing, by the computing device, the first delta system image in a memory.

5 . The method of claim 4 further comprising:

receiving, by the computing device, a request from a second fleet device to be provided with a delta that includes differences between a system image currently residing on the second fleet device and the most recent revised system image;

determining, by the computing device, that the system image currently residing on the second fleet device comprises the first system image; and

sending, by the computing device to the second fleet device, the first delta system image stored in the memory or a reference to the first delta system image stored in the memory.

6 . The method of claim 1 , further comprising:

subsequent to determining that the second revised system image has been generated, accessing, by the computing device, a data structure that identifies a third fleet device, and identifies a current system image currently residing on the third fleet device;

accessing, by the computing device, information that indicates that, upon a generation of a revised system image, a delta system image is to be generated that comprises differences between a system image currently residing on the third fleet device and the revised system image; and

generating, by the computing device, the delta system image that comprises the differences between the system image currently residing on the third fleet device and the revised system image.

7 . The method of claim 6 further comprising:

determining, by the computing device, that the system image currently residing on the third fleet device is the first revised system image; and

wherein generating, by the computing device, the delta system image that comprises the differences between the system image currently residing on the third fleet device and the revised system image comprises generating, by the computing device, a second delta system image that comprises differences between the first revised system image and the second revised system image.

8 . The method of claim 7 further comprising:

subsequent to generating the second delta system image, receiving, by the computing device from the third fleet device, a request for a delta system image; and

sending, by the computing device to the third fleet device, the second delta system image.

9 . The method of claim 8 further comprising:

modifying, by the computing device, the data structure to contain information indicating that the second revised system image currently resides on the third fleet device.

10 . A computing device, comprising:

a memory; and

a processor device coupled to the memory to:

determine, for a first fleet device of a plurality of fleet devices, that a delta system image that includes differences between a system image currently residing on the first fleet device and a most recent revised system image stored in a repository external to the first fleet device can be generated;

responsive to determining that the delta system image can be generated, determine that a first revision has been made to a first system image to generate a first revised system image;

responsive to determining that the delta system image can be generated, determine that a second subsequent revision has been made to the first revised system image to generate a second revised system image, wherein the second revised system image comprises the most recent revised system image;

determine that the system image currently residing on the first fleet device comprises the first system image;

access a first delta system image that comprises differences between the first system image and the second revised system image; and

send, to the first fleet device, the first delta system image or a reference to the first delta system image.

11 . The computing device of claim 10 , wherein to determine that the system image currently residing on the first fleet device comprises the first system image, the processor device is further to:

access a data structure that contains information indicating that the first system image currently resides on the first fleet device; and

modify the data structure to contain information indicating that the second revised system image currently resides on the first fleet device.

12 . The computing device of claim 10 wherein the processor device is further to store, by the computing device, the first delta system image in a memory.

13 . The computing device of claim 12 wherein the processor device is further to:

receive a request from a second fleet device to be provided with a delta that includes differences between a system image currently residing on the second fleet device and the most recent revised system image;

determine that the system image currently residing on the second fleet device comprises the first system image; and

send, to the second fleet device, the first delta system image stored in the memory or a reference to the first delta system image stored in the memory.

14 . The computing device of claim 10 , wherein the processor device is further to:

subsequent to determining that the second revised system image has been generated, access a data structure that identifies a third fleet device, and identifies a current system image currently residing on the third fleet device;

access information that indicates that, upon a generation of a revised system image, a delta system image is to be generated that comprises differences between a system image currently residing on the third fleet device and the revised system image; and

generate the delta system image that comprises the differences between the system image currently residing on the third fleet device and the revised system image.

15 . The computing device of claim 14 wherein the processor device is further to:

determine that the system image currently residing on the third fleet device is the first revised system image; and

wherein to generate the delta system image that comprises the differences between the system image currently residing on the third fleet device and the revised system image, the processor device is further to generate a second delta system image that comprises differences between the first revised system image and the second revised system image.

16 . A non-transitory computer-readable storage medium that includes executable instructions to cause a processor device to:

determine, for a first fleet device of a plurality of fleet devices, that a delta system image that includes differences between a system image currently residing on the first fleet device and a most recent revised system image stored in a repository external to the first fleet device can be generated;

responsive to determining that the delta system image can be generated, determine that a first revision has been made to a first system image to generate a first revised system image

responsive to determining that the delta system image can be generated, determine that a second subsequent revision has been made to the first revised system image to generate a second revised system image, wherein the second revised system image comprises the most recent revised system image;

determine that the system image currently residing on the first fleet device comprises the first system image;

access a first delta system image that comprises differences between the first system image and the second revised system image; and

send, to the first fleet device, the first delta system image or a reference to the first delta system image.

17 . The non-transitory computer-readable storage medium of claim 16 , wherein to determine that the system image currently residing on the first fleet device comprises the first system image, the instructions further cause the processor device to:

access a data structure that contains information indicating that the first system image currently resides on the first fleet device; and

modify the data structure to contain information indicating that the second revised system image currently resides on the first fleet device.

18 . The non-transitory computer-readable storage medium of claim 16 wherein the instructions further cause the processor device to store the first delta system image in a memory.

19 . The non-transitory computer-readable storage medium of claim 18 wherein the instructions further cause the processor device to:

receive a request from a second fleet device to be provided with a delta that includes differences between a system image currently residing on the second fleet device and the most recent revised system image;

determine that the system image currently residing on the second fleet device comprises the first system image; and

send, to the second fleet device, the first delta system image stored in the memory or a reference to the first delta system image stored in the memory.

20 . The non-transitory computer-readable storage medium of claim 16 , wherein the instructions further cause the processor device to:

subsequent to determining that the second revised system image has been generated, access a data structure that identifies a third fleet device, and identify a current system image currently residing on the third fleet device;

access information that indicates that, upon a generation of a revised system image, a delta system image is to be generated that comprises differences between a system image currently residing on the third fleet device and the revised system image; and

generate the delta system image that comprises the differences between the system image currently residing on the third fleet device and the revised system image.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded May 1, 2026
From: RED HAT, INC.; RED HAT, LLC
To: RED HAT, LLC
Reel/Frame 075352/0548 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2023
From: GRIFFIN, LEIGH; CHIBON, PIERRE-YVES
To: RED HAT, INC.
Reel/Frame 063143/0093 →
Continuity (1)
Related Publication 20240330002A1 · Oct 3, 2024
References Cited (19)
US 8255361B2 · Igouchkine · 2012 [cited by examiner]
US 10931746B2 · Scrivano · 2021 [cited by applicant]
US 20180088926A1 · Abrams · 2018 [cited by examiner]
US 20180349129A1 · Ju · 2018 [cited by examiner]
US 20190146772A1 · Griffin · 2019 [cited by examiner]
US 20190310872A1 · Griffin · 2019 [cited by examiner]
US 20200026524A1 · Roland · 2020 [cited by examiner]
US 20210279052A1 · Nabar · 2021 [cited by examiner]
US 20230384750A1 · Fox · 2023 [cited by examiner]
US 20240340279A1 · Horowitz · 2024 [cited by examiner]
CN 114764335A · 2022 [cited by applicant]
WO 2022216752A1 · 2022 [cited by applicant]
Boccassi, Luca, et al., “A report from the 2022 Image-Based Linux Summit,” LMN.net, https://lwn.net/Articles/912774/, Nov. 3, 2022, 10 pages. [cited by applicant]
Breard, Ben, et al., “RHEL for Edge: update infrastructure quickstart,” Red Hat Blog, https://www.redhat.com/en/blog/thel-edge-update-infrastructure-quickstart, Jun. 28, 2021, 9 pages. [cited by applicant]
Larsson, Alexander, “Introducing flat-manager,” https://blogs.gnome.org/alexl/2019/03/19/introducing-flat-manager/, Mar. 19, 2019, 5 pages. [cited by applicant]
Author Unknown, “Deployment Management using hawkBit,” Apertis.org, https://www.apertis.org/guides/deployment-management/, Aug. 4, 2021, 9 pages. [cited by applicant]
Author Unknown, “Edge Management 2022—Create RHEL for Edge images and configure automated management,” Red Hat Customer Portal, Nov. 16, 2022, 15 pages. [cited by applicant]
Author Unknown, “OSTree,” Toradex, https://developer.toradex.com/torizon/in-depth/ostree/, Jul. 15, 2020, 10 pages. [cited by applicant]
Author Unknown, “Using OSTree images—Automotive SIG documentation, Short primer on OSTree,” centOS, https://sigs.centos.org/automotive/building/updating_ostree/, accessed online Nov. 28, 2022, 6 pages. [cited by applicant]