Managing software version upgrades in a multiple computer system environment

US9880827B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9880827-B2
Application numberUS-201514840030-A
CountryUS
Kind codeB2
Filing dateAug 30, 2015
Priority dateAug 30, 2015
Publication dateJan 30, 2018
Grant dateJan 30, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An independent product upgrade function is associated with each of multiple software products installed in a set of multiple computing devices. Responsive to a triggering event, each upgrade function determines whether the corresponding product can be updated based on rules for the corresponding product. Upgrade may be dependent on other products, but the upgrade function need not know the conditions for upgrading other products. If a product can be updated, update is performed and all other products are notified. Each of the other product upgrade functions then determines whether its corresponding product can be upgraded as a result of the recent upgrade to the first product, and if so, another set of notifications is sent. This cycle continues until all dependent products have been updated. Upgrade functions preferably operate in a peer-to-peer relationship, and upgrade can be initiated in any node.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product for managing versions of a plurality of software products executing on a set of multiple digital data computing devices, the computer program product comprising computer-executable instructions recorded on non-transitory computer-readable media, wherein the instructions, when executed, cause at least one computer system to perform: (a) for each software product of said plurality of software products, detecting a respective trigger condition; (b) for each software product of said plurality of software products, responsive to the respective trigger condition, independently determining whether a currently executing version of the respective software product can be upgraded to a newer version of the respective software product, wherein said independently determining is performed without determining whether a currently executing version of any software product other than the respective software product can be upgraded; (c) responsive to independently determining, in said (b), that an eligible software product of said plurality of software products can be upgraded, upgrading the eligible software product; (d) responsive to the upgrading the eligible software product, generating a respective first trigger condition for each of one or more software products of said plurality of software products other than said eligible software product, the respective first trigger condition triggering said independently determining whether a currently executing version of the respective software product can be upgraded to a newer version of the respective software product; and (e) iteratively repeating said (b), (c) and (d), by repeating (b) and (c) for each of the one or more software products of said plurality of software products other than said eligible software product for which the respective trigger condition was the respective first generated trigger condition in the previous iteration of (d), and repeating (d) if an eligible software product was upgraded in (c), until said independently determining whether a currently executing version of the respective software product can be upgraded into a newer version of the respective software product determines, with respect to each software product for which a first trigger was generated, that it cannot be upgraded. 2. The computer program product of claim 1 , wherein said set of multiple digital data computing devices is a cluster of digital data computing devices. 3. The computer program product of claim 1 , wherein said computer program product comprises one of a plurality of peer-to-peer functions, each for location in a respective digital data computing device of said set of digital data computing devices, and wherein said independently determining whether a currently executing version of the respective software product can be upgraded to a newer version of the respective software product comprises: determining, in the peer-to-peer functions, whether the respective digital data computing device is eligible to execute the newer version of the respective software product; and communicating a result of determining whether the respective digital data computing device is eligible to execute the newer version of the respective software product to each of the peer-to-peer functions located in digital data computing devices of said set of digital data computing devices other than the respective digital data computing device. 4. The computer program product of claim 3 , wherein said independently determining whether a currently executing version of the respective software product can be upgraded to a newer version of the respective software product determines that the currently executing version of the respective software product can be upgraded to a newer version only if each of said plurality of peer-to-peer functions determines that the respective digital data computing device in which the respective peer-to-peer function is located is eligible to execute the newer version of the respective software product. 5. The computer program product of claim 1 , wherein said independently determining whether a currently executing version of the respective software product can be upgraded to a newer version of the respective software product comprises: determining whether the newer version of the respective software product is installed in each digital data computing device on which the respective software product executes; and determining whether the currently executing version of each software product upon which the respective software product is dependent is sufficient to support the newer version of the respective software product. 6. The computer program product of claim 1 , wherein each software product of said plurality of software products is installed in a respective subset of digital data computing devices contained in said set of multiple digital data computing devices, wherein for at least one software product of said plurality of software products, the respective subset contains at least one and fewer than all digital data computing devices in said set of multiple digital data computing devices. 7. The computer program product of claim 2 , wherein said plurality of software products includes a base cluster software product for enabling each digital data computing device in which the base cluster software product is installed to function as a node of said cluster. 8. A digital data computing device, comprising: a memory; at least one processor communicatively coupled to said memory and executing code instructions storable in said memory; a plurality of software products embodied as code storable in said memory and executable on said at least one processor, each product being executable on multiple digital data computing devices of a set of digital data computing devices, said set supporting execution of a respective current version of each of said plurality of software products; wherein a respective product upgrade protocol is associated with each of said plurality of software products, each product upgrade protocol supporting upgrade of the corresponding current version of the corresponding software product for which said set of digital data computing devices supports execution, each product upgrade protocol updating the current version of its corresponding software product by detecting a trigger condition, and thereafter iteratively (a) determining, responsive to the respective trigger condition, whether the current version of the corresponding software product can be upgraded to a newer version based on respective one or more upgrade rules associated with the corresponding software product, without reference to rules governing the upgrade of other software products, (b) responsive to determining that a current version of the corresponding software product can be upgraded to a newer version, causing the current version of the corresponding software product to be upgraded to the newer version thereof, (c) responsive to the upgrading the current version of the corresponding software product to the newer version thereof, generating a respective first trigger condition for each software product of said plurality of software products other than the corresponding software product, the respective first trigger condition triggering said (a) in the upgrade protocol associated with each software product of said plurality of software products other than the corresponding software product, and (d) repeating (a), (b) and (c) until each product upgrade protocol of the respective product upgrade protocols associated with each of said plurality of software products determines in (a) for which the respective trigger condition was the respective first generated trigger condition that the current version

Assignees

Inventors

Classifications

  • Incremental updates; Differential updates · CPC title

  • G06F8/65Primary

    Updates (security arrangements therefor G06F21/57) · CPC title

  • Version control (security arrangements therefor G06F21/57); Configuration management · CPC title

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9880827B2 cover?
An independent product upgrade function is associated with each of multiple software products installed in a set of multiple computing devices. Responsive to a triggering event, each upgrade function determines whether the corresponding product can be updated based on rules for the corresponding product. Upgrade may be dependent on other products, but the upgrade function need not know the cond…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F8/65. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 30 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).