IP Library Granted Patent US 7,565,275
Granted Patent B2
US 7,565,275 · App. 11/222,514 · Granted Jul 21, 2009

Model and system state synchronization

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,565,275
App. No.
11/222,514
Granted
Jul 21, 2009
Kind
B2
Abstract

Embodiments of model and system state synchronization are presented herein. An exemplary model of a distributed system includes a plurality of instances where an instance includes an instantiation of a type that includes property values and relationships in the model of the distributed system and includes an associated version history to link each version of an instance to a change request for the distributed a system. Other exemplary methods, systems, devices, etc. are also disclosed.

Claims (46)

1. A method comprising:

receiving an input, associated with a change request, which describes a revision to at least one of a plurality of instances in a model of an actual physical distributed system that comprises an application layer and a host layer, wherein:

an instance, of the plurality of instances, comprises an instantiation of a type that comprises property values and relationships in the model of the distributed system and comprises an associated version history that links each version of an instance to a change request;

an instance, of the plurality of instances, comprises associated code that allows a state of an instance to affect a configuration of the model of the distributed system;

the plurality of instances form an instance space which describes a configuration of the model of the distributed system wherein the plurality of instances comprise one or more hosting relationships that allow for identification of one or more bindings between the application layer and the host layer; and

the revision pertains to a change to the at least one said plurality of instances; and

synchronizing the model with the distributed system such that the revision, when applied to the model, is propagated to the distributed system to thereby change the distributed system.

2. A method as described in claim 1 , wherein the distributed system includes one or more applications being executed by a plurality of computing devices.

3. A method as described in claim 1 , wherein one or more said instances are described as a series of revisions in the model.

4. A method as described in claim 1 , wherein the revision describes a state transition of the at least one of said plurality of instances.

5. A method as described in claim 1 , wherein the revision is defined with respect to a previous revision of the at least one of said plurality of instances.

6. A method as described in claim 1 , wherein during the synchronizing, the revision is placed in an in progress state that locks the at least one of said plurality of instances from modification by another revision.

7. A method as described in claim 1 , wherein:

the revision is included as a part of a change that includes a plurality of revisions to the model; and

the synchronizing fails for each said revision when the synchronizing of any one said revisions fails.

8. A method as described in claim 1 , wherein:

the revision is in a planned state before the synchronizing is performed;

the revision is in a current state after the synchronizing is performed; and

another revision which is previous to the revision is in a current state before the synchronizing is performed is in a history state after the synchronizing is performed.

9. A method as described in claim 1 , wherein:

the revision is defined with respect to a previous revision of the at least one said instance;

the previous revision is set in a current state and the revision is set in a planned state before the synchronizing;

during the synchronizing, the revision is placed in an in progress state that locks the at least one said instance from modification by another revision; and

after the synchronizing, the previous revision is set in a history state and the revision is set in a current state.

10. A method comprising:

applying a change to a model of an actual, physical distributed system that comprises an application layer and a host layer, wherein:

the change describes a plurality of revisions to a plurality of instances in the model of the distributed system;

an instance, of the plurality of instances, comprises an instantiation of a type that comprises property values and relationships in the model of the distributed system and comprises an associated version history that links each version of an instance to a change request;

an instance, of the plurality of instances, comprises associated code that allows a state of an instance to affect a configuration of the model of the distributed system;

the plurality of instances form an instance space which describes a configuration of the model of the distributed system wherein the plurality of instances comprise one or more hosting relationships that allow for identification of one or more bindings between the application layer and the host layer; and

each revision of said plurality of revisions pertains to a change of a respective said instance; and

executing code of the model to apply the change to the distributed system.

11. A method as described in claim 10 , wherein the change is successfully applied to the model when each revision of said plurality of revisions is successfully applied to the respective said instance of said plurality of instances.

12. A method as described in claim 10 , wherein at least one said instance is described through a series of revisions having a historical state, a current state and a planned state, respectively.

13. A method as described in claim 10 , wherein at least one of the plurality of revisions is defined in relation to a previous revision of a said instance of said plurality of instances.

14. A method as described in claim 10 , wherein when the applying of the change fails, each of the plurality of instances are reverted to a respective previous revision.

15. One or more computer readable storage media comprising computer executable instructions that, when executed, direct a computer to maintain a model of hardware and software resources of an actual, physical distributed system that comprises an application layer and a host layer, wherein:

the model is defined through use of a plurality of instances wherein an instance, of the plurality of instances, comprises an instantiation of a type that comprises property values and relationships in the model of the distributed system and comprises an associated version history that links each version of an instance to a change request wherein the plurality of instances comprise one or more hosting relationships that allow for identification of one or more bindings between the application layer and the host layer, one or more of the plurality of instances are described through a series of revisions which describe a historical, current and planned state of a respective said instance and an instance, of the plurality of instances, comprises associated code that allows a state of an instance to affect a configuration of the model of the distributed system; and

the state of the revisions in the model affects configuration of the distributed system.

16. One or more computer readable storage media as described in claim 15 , wherein each said instance describes property values and identifies members and relationships in which the instance participates.

17. One or more computer readable storage media as described in claim 15 , wherein:

the current revision is defined with respect to the historical revision; and

the planned revision is defined with respect to the current revision.

18. One or more computer readable storage media as described in claim 15 , wherein the computer executable instructions maintain the model by propagating state changes of the revisions to the distributed system such that configuration changes made to the model are synchronized with the distributed system.

19. One or more computer readable storage media as described in claim 15 , wherein the computer executable instructions maintain the model by discovering configuration changes made to the distributed system and applying the discovered changes to the model.

20. One or more computer readable storage media as described in claim 15 , wherein each said revision describes a change in property values, members of a respective said instance and a relationship, in which, the respective said instance participates.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE NULLIFICATION TO CORRECT BY REMOVAL PREVIOUSLY RECORDED AT REEL: 050117 FRAME: 0259. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 19, 2019
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: SERVICENOW, INC.
Reel/Frame 050442/0064 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNMENT CORRECTION PREVIOUSLY RECORDED ON REEL 047681 FRAME 0916. ASSIGNOR(S) HEREBY CONFIRMS THE REMOVAL OF MULTIPLE APPLICATIONS FROM ASSIGNMENT INADVERTENTLY RECORDED.. Recorded Sep 19, 2019
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: SERVICENOW, INC.
Reel/Frame 050467/0347 →
CORRECTIVE BY NULLIFICATION TO CORRECT INCORRECTLY RECORDED APPLICATION NUMBERS AT REEL 047681 FRAME 0916. ASSIGNOR(S) HEREBY CONFIRMS THE TABLE 2 ATTACHMENT AS NOT TO BE RECORDED. Recorded Aug 16, 2019
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: SERVICENOW, INC.
Reel/Frame 050117/0259 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2018
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: SERVICENOW, INC.
Reel/Frame 047681/0916 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034543/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2005
From: OUTHRED, GEOFFREY; HAN, ERIC K.; GREALISH, KEVIN D.J.; BROWN, MATHILDE C.; GUSTIN, REID B.; MENSCHING, ROB; NIELSEN, STEVEN T.
To: MICROSOFT CORPORATION
Reel/Frame 016979/0909 →