Mechanism for safe and reversible rolling upgrades

US9710250B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9710250-B2
Application numberUS-201313928871-A
CountryUS
Kind codeB2
Filing dateJun 27, 2013
Priority dateMar 15, 2013
Publication dateJul 18, 2017
Grant dateJul 18, 2017

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.

Methods, systems, and computer storage media for updating instances of a service application within nodes of a data center are provided. The system includes a state machine equipped for designating an earlier version of software running on some instances as a basement version and a newer version of software running on other instances as a latest version. The system also includes a compatibility mechanism responsible for allowing the basement version, the latest version, and other versions of the service application therebetween to interact using a data structure associated within the earlier version, or lowest common version of the service application. The compatibility mechanism is located apart from core logic of the service application. The activities of the state machine and the compatibility mechanism allow the instances to communicate with each other (using the lowest common version) while exposing just the validated version(s) of the service application to the client.

First claim

Opening claim text (preview).

What is claimed is: 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. 2. The media of claim 1 , wherein the compatibility mechanism resides within a data-access layer of the cloud-computing infrastructure and is capable of writing information from the first and second role instances to the fields in the data store. 3. The media of claim 1 , wherein the first and second set of role instances run on nodes, respectively, distributed within the cloud-computing infrastructure, and wherein the nodes include at least one of computing devices, processing units, or servers. 4. The media of claim 3 , the method further comprising validating the second set of role instances running the second version of the service application functions properly within the cloud-computing infrastructure. 5. The media of claim 4 , the method further comprising: upon conducting the validation of the second set of role instances, initiating downgrading the second set of role instances from the second version to the first version of the service application when a failure is detected; and designating the first version as the latest version within the state machine. 6. The media of claim 4 , the method further comprising: upon conducting the validation of the second set of role instances, initiating upgrading the first set of role instances from the first version to the second version of the service application when no failure is detected; and designating the second version as the basement version within the state machine. 7. The media of claim 6 , wherein the upgrade of the first set of role instances to the second version is transparent to the client until after the second version is validated. 8. The media of claim 7 , the method further comprising validating the first set of role instances running the second version of the service application functions properly within the cloud-computing infrastructure. 9. The media of claim 8 , the method further comprising: upon conducting the validation of the first set of role instances, initiating downgrading the first and second set of role instances from the second version to the first version of the service application when a failure is detected; and performing a clean-up operation to remove schema specific to the second version. 10. The media of claim 9 , wherein the downgrade of the first and second set of role instances to the first version is apparent to the client. 11. The media of claim 9 , the method further comprising designating the first version as the basement version within the state machine. 12. The media of claim 8 , the method further comprising, upon conducting the validation of the first set of role instances, performing a clean-up operation to remove schema specific to the first version when no failure is detected. 13. A computerized method for isolating a data structure transformation between versions of role instances of a cloud-computing infrastructure, the method comprising: receiving at a compatibility mechanism information from a first set of role instances of a service application, wherein the first set of role instances reside at a first version of the service application and format the information according to a first data structure, 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 service application versions; writing the information from the first set of role instances to a first field; receiving at the compatibility mechanism information from a second set of role instances of the service application, wherein the second set of role instances are upgraded to a second version of the service application and format the information according to the first data structure and a second data structure in parallel, 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; and writing the information from the second set of role instances to the first field and a second field, respectively, according to the first and second data structure. 14. The computerized method of claim 13 , wherein the compatibility mechanism allows the first and second set of role instances to interact using information in the first data structure. 15. The computerized method of claim 13 , wherein the first and second set of role instances respectively represent a replication of at least one role, which resembles a component program that supports particular functional aspects of the service application. 16. The computerized method of claim 13 , wherein core logic of the service application is programmed for carrying out core operations. 17. The computerized method of claim 13 , wherein the second version running on the second set of role instances is transparent to the client. 18. A system for performing a method that upgrades a service application in a manner transparent to a client of a cloud-computing infrastructure, the system comprising a processing unit coupled to a computer storage medium, the computer storage medium having stored thereon a plurality of computer software components executable by the processing unit, the computer software components comprising: a first set of role instances running a first version of the service application upon one or more nodes, respectively, within the cloud-computing infrastructure, a second set of role instances running a second ver

Assignees

Inventors

Classifications

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

  • Uninstallation · CPC title

  • Installation · CPC title

  • Software deployment · CPC title

  • G06F8/65Primary

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

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 US9710250B2 cover?
Methods, systems, and computer storage media for updating instances of a service application within nodes of a data center are provided. The system includes a state machine equipped for designating an earlier version of software running on some instances as a basement version and a newer version of software running on other instances as a latest version. The system also includes a compatibility…
Who is the assignee on this patent?
Microsoft Corp, Microsoft Technology Licensing Llc
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 Jul 18 2017 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).