×

Rolling upgrade of distributed software with automatic completion

  • US 7,360,208 B2
  • Filed: 05/17/2004
  • Issued: 04/15/2008
  • Est. Priority Date: 05/17/2004
  • Status: Active Grant
First Claim
Patent Images

1. A method of facilitating a rolling upgrade of a distributed software program executing on multiple computers, wherein a plurality of different versions of the software are installed on the multiple computers, the method comprising:

  • in a shared storage area, maintaining parameter values which include;

    an acting version, a lowest supported version, a software version parameter for each of the multiple computers, and a reference to the Master node, wherein the shared storage area is accessible to each of the multiple computers;

    iteratively performing the rolling upgrade of the distributed software program executing on the multiple computers by performing;

    operating the software at the acting version on each of the multiple computers, wherein said acting version matches a lowest version of the software installed on the computers;

    designating a Master node;

    identifying a first computer which has the acting version installed;

    upgrading the software on the first computer from the acting version to a newer version;

    updating the software version parameter in the shared storage area corresponding to the first computer, wherein updating of the software version parameter is coordinated by a synchronization service executing on each of the multiple computing devices;

    automatically identifying the lowest version by the Master node based on the parameter values stored in the shared storage area;

    updating the acting version to the lowest version by the Master node;

    automatically operating the software at the updated acting version on each of the multiple computers, wherein the update is published or broadcasted by the Master node; and

    automatically updating the existing data in the shared storage area to the newer format of the updated acting version;

    wherein the method further comprises automatically terminating the rolling upgrade when the acting version matches the highest version of the software installed on any of the multiple computers, thereby allowing the computers to be upgraded one at a time while running the software on computers which are not being upgraded;

    wherein each installed version of the distributed software has the capability to support some or all of the functionality of older versions.

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