×

Software updates using client self-reporting and a hierarchical data structure

  • US 10,042,626 B2
  • Filed: 06/29/2015
  • Issued: 08/07/2018
  • Est. Priority Date: 06/29/2015
  • Status: Active Grant
First Claim
Patent Images

1. A method comprising:

  • receiving, by a processor associated with a first device, first data from a second device, wherein the first data identifies one or more attributes associated with the second device;

    selecting, by the processor and based on the one or more attributes, a software update from a repository that includes a plurality of software updates, wherein the repository further includes a plurality of versions of the software update;

    determining, by the processor, metadata associated with the plurality of versions of the software update, wherein the metadata identifies two or more versions of the software update of the plurality of versions of the software update that are marked as usable based on update attributes for identifying the two or more versions and logic rules for selecting usable versions of the plurality of versions of the software update, wherein the two or more versions of the software update includes a first version of the software update and a second version of the software update, wherein the first version of the software update is generated before the second version of the software update;

    selecting, by the processor, a version of the two or more versions of the software update for the second device, wherein selecting the version for the second device includes;

    performing a lookup in a table, wherein the table stores information about each version of each software update of the plurality of software updates in a plurality of metadata columns, wherein the plurality of metadata columns comprise an update identifier column, a version identifier column, a version time identifier column, a usability indicator column, a use logic column, and an other metadata column, wherein the other metadata column includes entries indicating whether a selected version of a software update must be installed with an additional software update without requiring subsequent use of the additional software update;

    navigating an update hierarchy in the use logic column to determine whether the second device is specifically identified in the use logic column of a third version of the software update of the plurality of versions of the software update;

    if the second device is specifically identified in the use logic column of the third version of the software update and complies with all other criteria in the plurality of metadata columns, selecting the third version of the software update as the selected version for use by the second device;

    if the second device is not specifically identified in the use column of the third version of the software update, selecting a fourth version of the software update as the selected version for use by the second device, wherein the fourth version of the software update matches the second device at a root or hardware group level and complies with all the other criteria of the plurality of metadata columns;

    determining, by the processor and based on the table, whether the additional software update is to be used by the second device when installing the selected version of the software update;

    andforwarding, by the processor, second data to the second device, wherein the second data identifies the selected version of the software update, wherein the second device uses the second data to obtain the selected version of the software update, and wherein the second data includes information identifying the additional software update when the additional software update is to be used by the second device when installing the third version of the software update or installing the fourth version of the software update.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×