×

Mechanism for safe and reversible rolling upgrades

  • US 9,710,250 B2
  • Filed: 06/27/2013
  • Issued: 07/18/2017
  • Est. Priority Date: 03/15/2013
  • Status: Active Grant
First Claim
Patent Images

1. One or more computer storage media having computer-executable instructions embodied thereon that, when executed, perform a method for performing an upgrade to a service application that is transparently reversible to a client of a cloud-computing infrastructure, the method comprising:

  • receiving instructions to upgrade the service application running on top of the cloud-computing infrastructure, wherein the service application includes core logic for carrying out core operations and supportive code that is distinct from the core logic;

    maintaining a first set of role instances at an earlier first version of the service application, wherein the role instances respectively represent a replication of at least one role, wherein the service application includes protocol definitions that expose features of the earlier first version to the client, the protocol definitions are shared between versions of the service application;

    designating the first version as a basement version within a state machine;

    upgrading a second set of role instances to a newer second version of the service application, wherein the protocol definitions prevent exposure of features specific to the second version to the client;

    designating the second version as a latest version, wherein a compatibility mechanism located in a subset of the supportive code is responsible for allowing the basement version, the latest version, and other versions of the service application there between to interact, wherein the compatibility mechanism maintains a mapping to a data store to organize information communicated to the data store, from role instances, based on corresponding data structures associated with service application versions, wherein writing information from the second role instances to the fields in the data store is based on an output from the second role instances, the output comprising a plurality of parallel streams for corresponding data structures associated with service application version information.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×