Search

US-20260126987-A1 - PER-HOST DELTA-DIFFERENCE GENERATION IN UPDATE MANAGEMENT SYSTEMS

US20260126987A1US 20260126987 A1US20260126987 A1US 20260126987A1US-20260126987-A1

Abstract

A processing device receives, from each of a plurality of nodes, a list of one or more packages for utilization of a delta-difference generation service by the node. In response to receiving an updated version of a package included in a list received from any of the plurality of nodes, the processing device generates a delta-difference between a current version and the updated version of the package. The processing device transmits the delta-difference to each of the plurality of nodes that included the package in a respective list.

Inventors

  • Pierre-Yves Chibon
  • Leigh Griffin

Assignees

  • RED HAT, INC.

Dates

Publication Date
20260507
Application Date
20251229

Claims (20)

  1. 1 . A method comprising: receiving, from each of a plurality of nodes, a list of one or more packages for utilization of a delta-difference generation service by the node; in response to receiving an updated version of a package included in a list received from any of the plurality of nodes, generating, by a processing device, a delta-difference between a current version and the updated version of the package; and transmitting the delta-difference to each of the plurality of nodes that included the package in a respective list.
  2. 2 . The method of claim 1 , wherein the delta-difference generation service is integrated within an update management tool that monitors the plurality of nodes.
  3. 3 . The method of claim 2 , further comprising: transmitting, using the update management tool, to each of the plurality of nodes, an update frequency of the package executing on the node.
  4. 4 . The method of claim 1 , further comprising: determining, for each of the plurality of nodes, a corresponding list of one or more packages based on one or more of: an update frequency of the package executing on the node, a resource availability of the node, or a type of services provided by the node.
  5. 5 . The method of claim 1 , further comprising: deleting a previous delta-difference generated based on a previous version of the package and in response to one or more deletion criteria, the deletion criteria comprising one or more of: receiving the updated version of the package, a threshold amount of time having passed since generation of the previous delta-difference, the previous delta-difference being downloaded a threshold number of times, or the previous delta-difference not being downloaded a minimum number of times over a predefined time period.
  6. 6 . The method of claim 5 , wherein the one or more deletion criteria is based at least in part on resource needs of the plurality of nodes.
  7. 7 . The method of claim 1 , further comprising: determining, for each of the plurality of nodes, an updated list of one or more packages for subscription to the delta-difference generation service by the node based on one or more of: a modified update frequency of the package executing on the node, a modified resource availability of the node, or a type of services provided by the node.
  8. 8 . A system comprising: a memory; and a processing device operatively coupled to the memory, the processing device to: receive, from each of a plurality of nodes, a list of one or more packages for utilization of a delta-difference generation service by the node; in response to receiving an updated version of a package included in a list received from any of the plurality of nodes, generate a delta-difference between a current version and the updated version of the package; and transmit the delta-difference to each of the plurality of nodes that included the package in a respective list.
  9. 9 . The system of claim 8 , wherein the delta-difference generation service is integrated within an update management tool that monitors the plurality of nodes.
  10. 10 . The system of claim 9 , wherein the processing device is further to: transmit, using the update management tool, to each of the one or more nodes, an update frequency of the package executing on the node.
  11. 11 . The system of claim 8 , wherein the processing device is further to: determine, for each of the plurality of nodes, a corresponding list of one or more packages based on one or more of: an update frequency of the package executing on the node, a resource availability of the node, or a type of services provided by the node.
  12. 12 . The system of claim 8 , wherein the processing device is further to: delete a previous delta-difference generated based on a previous version of the package and in response to one or more deletion criteria, the deletion criteria comprising one or more of: receiving an updated version of the package, a threshold amount of time having passed since generation of the previous delta-difference, the previous delta-difference being downloaded a threshold number of times, or the previous delta-difference not being downloaded a minimum number of times over a predefined time period.
  13. 13 . The system of claim 12 , wherein the processing device determines the one or more deletion criteria based on resource needs of the plurality of nodes.
  14. 14 . The system of claim 11 , wherein the processing device is further to: determine, for each of the plurality of nodes, an updated list of one or more packages for which the node wishes to subscribe to the delta-difference generation service based on one or more of: a modified update frequency of the package executing on the node, a modified resource availability of the node, or a type of services provided by the node.
  15. 15 . A non-transitory computer-readable medium having instructions stored thereon which, when executed by a processing device, cause the processing device to: receive, from each of a plurality of nodes, a list of one or more packages for utilization of a delta-difference generation service by the node; in response to receiving an updated version of a package included in a list received from any of the plurality of nodes, generate, by the processing device, a delta-difference between a current version and the updated version of the package; and transmit the delta-difference to each of the plurality of nodes that included the package in a respective list.
  16. 16 . The non-transitory computer-readable medium of claim 15 , wherein the delta-difference generation service is integrated within an update management tool that monitors the plurality of nodes.
  17. 17 . The non-transitory computer-readable medium of claim 16 , wherein the instructions cause the processing device to: transmit, using the update management tool, to each of the one or more nodes, an update frequency of the package executing on the node.
  18. 18 . The non-transitory computer-readable medium of claim 15 , wherein the instructions cause the processing device to: determine, for each of the plurality of nodes, a corresponding list of one or more packages based on one or more of: an update frequency of the package executing on the node, a resource availability of the node, or a type of services provided by the node.
  19. 19 . The non-transitory computer-readable medium of claim 15 , wherein the instructions cause the processing device to: delete a previous delta-difference generated based on a previous version of the package and in response to one or more deletion criteria, the deletion criteria comprising one or more of: receiving an updated version of the package, a threshold amount of time having passed since generation of the previous delta-difference, the previous delta-difference being downloaded a threshold number of times, or the previous delta-difference not being downloaded a minimum number of times over a predefined time period.
  20. 20 . The non-transitory computer-readable medium of claim 19 , wherein the instructions cause the processing device to determine the one or more deletion criteria based on resource needs of the plurality of nodes

Description

CROSS REFERENCE TO RELATED APPLICATIONS This application is a continuation application of U.S. patent application Ser. No. 17/579,805, filed on Jan. 20, 2022, the content of which is incorporated herein by reference. TECHNICAL FIELD Aspects of the present disclosure relate to package management systems, and more particularly, to on-demand generation of delta-difference for packages utilized by an operating system to run various applications on containers across a domain. BACKGROUND Containers are one example of an environment in an operating system where applications may run, while being isolated from any other components of a host machine, network, or data center etc. Multiple containers may execute on a single operating system kernel and share the resources of the hardware the operating system is running on. All of the files, libraries and dependencies necessary to run applications in a container may be provided by an image file(s). An image file may be comprised of a set of base layers that define the runtime environment, as well as the packages and utilities necessary for a containerized application to run. A container may include the base layers from an image file as well as an in-memory layer in which the containerized application may write/modify data. BRIEF DESCRIPTION OF THE DRAWINGS The described embodiments and the advantages thereof may best be understood by reference to the following description taken in conjunction with the accompanying drawings. These drawings in no way limit any changes in form and detail that may be made to the described embodiments by one skilled in the art without departing from the spirit and scope of the described embodiments. FIG. 1A is a block diagram that illustrates an example system, in accordance with some embodiments of the present disclosure. FIG. 1B is a block diagram that illustrates an example system, in accordance with some embodiments of the present disclosure. FIG. 2A is a block diagram that illustrates packages executing on each node of a domain and an update monitoring tool that monitors the domain, in accordance with some embodiments of the present disclosure. FIG. 2B is a block diagram that illustrates a delta-difference generation service integrated into an update monitoring tool, in accordance with some embodiments of the present disclosure. FIG. 3A is a block diagram that illustrates various nodes of a domain subscribing to a delta-difference generation service in an on-demand basis, in accordance with some embodiments of the present disclosure. FIG. 3B is a block diagram that illustrates various nodes of a domain subscribing to a delta-difference generation service in an on-demand basis, in accordance with some embodiments of the present disclosure. FIG. 4 is a flow diagram of a method of generating delta-differences in an on-demand fashion, in accordance with some embodiments of the present disclosure. FIG. 5 is a flow diagram of a method of updating tags and promoting tags at a global level, in accordance with some embodiments of the present disclosure. FIG. 6 is a block diagram of an example computing device that may perform one or more of the operations described herein, in accordance with some embodiments of the present disclosure. DETAILED DESCRIPTION There are numerous contexts in which applications are often developed, tested, and delivered in containers using a container orchestration platform such as the Red Hat OpenShiftTM platform. One example is the use of such platforms to automate and push software as containers to small-scale edge and Internet-of-Things (IoT) gateway devices in a domain. A domain may include of a group of devices that share the same configuration, policies, and identity stores. Containers may be created by stacking layers on top of each other to build an image file which may be used to create a container in which an application may run. Certain layers of an image file may correspond to various packages and libraries required to run the application, while other layers may correspond to various operating system packages via which applications are delivered and which are often shared among different applications. The packages and libraries used to run applications (referred to as an application ecosystem) may be managed by a package manager such as Dandified YUM (DNF) or the RPM package manager. Package management may refer to a method of installing, updating, removing, and keeping track of versions/software updates for packages in e.g., a Linux system. For example, the packager manager decides what packages should be grouped together and a basis on which they will update (e.g., packages in a particular group will not update except for necessary bug fixes and/or security fixes). Different Linux distributions may utilize different package managers. In certain scenarios, such as a domain comprising a fleet of IoT devices, the devices/nodes of the domain can be bandwidth constrained either in time (because they are so act