IP Library Patent Application 11170700
Patent Application
App. No. 11/170,700

Model-Based system management

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 None
App. No.
11/170,700
Abstract

A model of a system is generated and used as a basis for managing the system. As the system is managed, the system model can be updated to reflect changes to the system. Managing of the system can include one or more of provisioning applications in the system, provisioning applications in virtual systems, provisioning test environments, monitoring the configuration of the system, monitoring the system including the health of the system, performing capacity planning for the system, and propagating attributes to different components in the system.

Claims (104)

1 . A method comprising:

accessing a set of one or more models, the one or more models including:

a model of an application, the model of the application including one or more information pages for each of one or more components or relationships in the model of the application; or

a model of a system, the model of the system representing one or more managed systems and including characteristics and relationships of the one or more managed systems;

performing, with the set of one or more models, at least two of:

provisioning systems based on the set of one or more models;

provisioning virtual systems based on the set of one or more models;

provisioning test environments based on the set of one or more models;

updating the set of one or more models based on deployments made in the system;

predicting system capacity based on the set of one or more models;

monitoring health of the system based on the set of one or more models;

managing configurations of the system based on the set of one or more models; or

updating the set of one or more models by propagating attributes.

2 . A method as recited in claim 1 , wherein the set of one or more models includes both the model of the application and the model of the system.

3 . A method as recited in claim 1 , wherein the performing comprises:

performing at least one of:

the provisioning systems based on the set of one or more models;

the provisioning virtual systems based on the set of one or more models; or

the provisioning test environments based on the set of one or more models; and

performing at least one of:

the updating the set of one or more models based on deployments made in the system;

the predicting system capacity based on the set of one or more models;

the monitoring health of the system based on the set of one or more models;

the managing configurations of the system based on the set of one or more models; or

the updating the set of one or more models by propagating attributes.

4 . A method as recited in claim 3 , wherein the performing at least one of the updating, the predicting, the monitoring, the managing, or the updating comprises performing each of:

the updating the set of one or more models based on deployments made in the system;

the predicting system capacity based on the set of one or more models;

the monitoring health of the system based on the set of one or more models;

the managing configurations of the system based on the set of one or more models; and

the updating the set of one or more models by propagating attributes.

5 . A method as recited in claim 1 , wherein the model of the system includes a plurality of components, and wherein the predicting system capacity comprises:

identifying relationships among the plurality of components based on the model of the system;

identifying transactions to be performed by the system;

identifying a cost associated with each of the identified transactions; and

simulating operation of the system using the model of the system and the identified costs.

6 . A method as recited in claim 1 , wherein the updating the set of one or more models by propagating attributes comprises:

identifying a plurality of attributes associated with the system;

determining a manner in which the plurality of attributes are to be propagated throughout the system; and

propagating the plurality of attributes to a plurality of components of the system based on information contained in the model of the system.

7 . One or more computer readable media having stored thereon a plurality of instructions that, when executed by one or more processors, causes the one or more processors to:

create one or more of:

an application model, the application model including one or more information pages for each of one or more components or relationships in the application model; or

a system model, the system model representing one or more managed systems and including characteristics and relationships of the one or more managed systems;

do two or more of:

provision systems based on the created one or more models;

provision virtual systems based on the created one or more models;

provision test environments based on the created one or more models;

update the created one or more models based on deployments made in the system;

predict system capacity based on the created one or more models;

monitor health of the system based on the created one or more models;

manage configurations of the system based on the created one or more models; or

update the created one or more models by propagating attributes.

8 . One or more computer readable media as recited in claim 7 , wherein to create one or more of the application model and the system model is to create both the application model and the system model.

9 . One or more computer readable media as recited in claim 7 , wherein the plurality of instructions further causes the one or more processors to:

do one or more of:

provision systems based on the created one or more models;

provision virtual systems based on the created one or more models; or

provision test environments based on the created one or more models; and

do one or more of:

update the created one or more models based on deployments made in the system;

predict system capacity based on the created one or more models;

monitor health of the system based on the created one or more models;

manage configurations of the system based on the created one or more models; or

update the created one or more models by propagating attributes.

10 . One or more computer readable media as recited in claim 9 , wherein to do one or more of update the created one or more models based on deployments made in the system, predict system capacity based on the created one or more models, monitor health of the system based on the created one or more models, manage configurations of the system based on the created one or more models, or update the created one or more models by propagating attributes is to do each of update the created one or more models based on deployments made in the system, predict system capacity based on the created one or more models, monitor health of the system based on the created one or more models, manage configurations of the system based on the created one or more models, or update the created one or more models by propagating attributes.

11 . One or more computer readable media as recited in claim 7 , wherein the one or more managed systems comprises a plurality of computing devices and a plurality of software applications installed on the plurality of computing devices.

12 . One or more computer readable media as recited in claim 7 , wherein the plurality of instructions further cause the one or more processors to:

receive notification of a problem from a first component of the system;

determine a cause of the problem, the determination being made at least in part based on the created one or more models; and

identify at least one component associated with the cause of the problem.

13 . One or more computer readable media as recited in claim 7 , wherein the plurality of instructions further cause the one or more processors to:

identify relationships among a plurality of components of the system based on the created one or more models;

identify a proposed change to at least one of the plurality of components; and

determine an expected impact on the system caused by the proposed change, the determination being made at least in part based on the created one or more models.

14 . A system comprising:

means for accessing one or more of an application model and a system model, the application model including one or more information pages for each of one or more components or relationships in the application model, and the system model representing one or more managed systems and including characteristics and relationships of the one or more managed systems;

two or more of:

means for provisioning systems based on one or more of the application model and the system model;

means for provisioning virtual systems based on one or more of the application model and the system model;

means for provisioning test environments based on one or more of the application model and the system model;

means for updating one or more of the application model and the system model based on deployments made in the system;

means for predicting system capacity based on one or more of the application model and the system model;

means for monitoring health of the system based on one or more of the application model and the system model;

means for managing configurations of the system based on one or more of the application model and the system model; or

means for updating one or more of the application model and the system model by propagating attributes.

15 . A system as recited in claim 14 , wherein the means for accessing comprises means for accessing both the application model and the system model.

16 . A system as recited in claim 14 , further comprising:

at least one of:

the means for provisioning systems based on one or more of the application model and the system model;

the means for provisioning virtual systems based on one or more of the application model and the system model;

the means for provisioning test environments based on one or more of the application model and the system model; and

at least one of:

the means for updating one or more of the application model and the system model based on deployments made in the system;

the means for predicting system capacity based on one or more of the application model and the system model;

the means for monitoring health of the system based on one or more of the application model and the system model;

the means for managing configurations of the system based on one or more of the application model and the system model; or

the means for updating one or more of the application model and the system model by propagating attributes.

17 . A system as recited in claim 16 , further comprising all of:

the means for updating one or more of the application model and the system model based on deployments made in the system;

the means for predicting system capacity based on one or more of the application model and the system model;

the means for monitoring health of the system based on one or more of the application model and the system model;

the means for managing configurations of the system based on one or more of the application model and the system model; or

the means for updating one or more of the application model and the system model by propagating attributes.

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 Jan 15, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034766/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2005
From: VINBERG, ANDERS B.; COPELAND, BRUCE W.; FRIES, ROBERT M.; GREALISH, KEVIN; HARDWICK, JONATHAN C.; HEALY, MICHAEL J.; HUNT, GALEN C.; HYDRIE, AAMER; JAMES, DAVID C.; LAKSHMINARAYANAN, ANAND; MENSCHING, ROB; NARAYANAN, RAJAGOPALAN BADRI; OUTHRED, GEOFFREY; PAN, KEN; PAPAEFSTATHIOU, EFSTATHIOS; PARCHEM, JOHN M.; RAJARAJAN, VIJ; SANGHVI, ASHVINKUMAR J.; TABBARA, BASSAM; VEGA, RENE ANTONIO; VOLOSHIN, VITALY; WWLLAND, ROBERT V.; WINNER, ERIC J.; WOOLSEY, JEFFREY A.
To: MICROSOFT CORPORATION
Reel/Frame 016918/0800 →