IP Library Granted Patent US 7,797,147
Granted Patent B2
US 7,797,147 · App. 11/107,339 · Granted Sep 14, 2010

Model-based system monitoring

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,797,147
App. No.
11/107,339
Granted
Sep 14, 2010
Kind
B2
Abstract

Model-based system monitoring includes accessing a model of a system that includes multiple components and identifying relationships among the multiple components based on the model of the system. A proposed change to at least one of the multiple components is identified. A determination is made regarding an expected impact on the system caused by the proposed change. This determination is made, at least in part, based on the model of the system.

Claims (52)

1. A method to determine whether one or more performance criteria of one or more service level agreements would be satisfied after implementing a proposed change to a software component, the method comprising:

accessing a scalable model of a system that includes a plurality of components, the scalable model expressed at least in part in an extensible language and adhering to a system definition model, the plurality of components comprising software components, and the scalable model comprising:

one or more service level agreement information pages accessible during operation of the system;

a plurality of associated pages of data for each of the plurality of components, and wherein the plurality of associated pages comprises:

an installation page;

a constraints page;

a monitoring page; and

a description page, wherein the description page comprises data describing characteristics of a component, wherein the characteristics comprise:

name of the component;

manufacturer of the component;

installation date of the component; and

performance characteristics of the component;

identifying relationships among the plurality of components based on the model of the system wherein the relationships comprise parent-child relationships wherein a parent component represents a roll-up of its child components;

providing one or more rules that use at least some of the identified relationships to express logic of the scalable model of the system;

identifying a proposed change to at least one of the software components;

determining an expected impact on performance of the system caused by the proposed change, the determination being made at least in part based on the logic of the scalable model of the system and at least in part based on expected impact on performance for one or more parent components of the system based on cumulative expected impact on performance of related child components wherein expected impact on performance comprises one or more causes other than component failure; and

based on the expect impact on performance of the system, determining whether one or more performance criteria of the one or more service level agreements information pages would be satisfied after implementing the proposed change wherein one or more performance criteria of a parent component depend on performance of the parent component's child components.

2. A method as recited in claim 1 , further comprising determining whether to implement the proposed change based on the expected impact on the system.

3. A method as recited in claim 1 , wherein determining an expected impact on the system caused by the proposed change includes determining an expected impact on one or more of the plurality of components.

4. A method as recited in claim 1 , wherein determining an expected impact on the system caused by the proposed change includes determining potential problems caused by implementing the proposed change.

5. A method as recited in claim 1 , wherein the proposed change is the removal of a particular component from the system.

6. A method as recited in claim 1 , wherein the proposed change is the addition of a new component to the system.

7. A method as recited in claim 1 , further comprising:

identifying a second proposed change to another of the plurality of components; and

determining an expected impact on the system caused by the proposed changes.

8. A method to determine whether one or more performance criteria of one or more service level agreements would be satisfied after implementing a proposed change to a software component, the method comprising:

accessing a scalable model of a system that defines a plurality of components and defines relationships between those components, the scalable model expressed at least in part in an extensible language and adhering to a system definition model, the plurality of components comprising software components, and the scalable model comprising one or more service level agreement information pages accessible during operation of the system;

providing one or more rules that use at least some of the defined relationships to express logic of the scalable model of the system;

identifying a proposed change to at least one of the software components;

determining an expected impact on performance of a particular parent component in the system caused by the proposed change, the determination being made at least in part based on the logic of the scalable model of the system and being made at least in part based on cumulative expected impact on performance of the particular parent component's related child components;

determining an expected impact on performance of the system caused by the proposed change, the determination being made at least in part based on the logic of the scalable model of the system and being made at least in part based on the expected impact on performance of the particular parent component wherein expected impact on performance comprises one or more causes other than component failure; and

based on the expect impact on performance of the particular parent component or based on the expected impact on performance of the system, determining whether one or more performance criteria of the one or more service level agreements information pages, associated with the particular parent component or the system, would be satisfied after implementing the proposed change wherein one or more performance criteria of the particular parent component depend on performance of the particular parent component's child components.

9. A method as recited in claim 8 , wherein determining an expected impact on performance of the system caused by the proposed change includes determining expected changes in a health of the system.

10. A method as recited in claim 8 , further comprising determining whether to implement the proposed change based on the determined impact on the particular component and the determined impact on the performance of the system.

11. A method as recited in claim 8 , further comprising:

identifying a second proposed change to another of the plurality of components; and

determining an expected impact on the system caused by the proposed changes.

12. A method as recited in claim 8 , further comprising:

identifying a second proposed change to another of the plurality of components; and

determining an expected impact on a plurality of other components in the system caused by the proposed changes.

13. One or more computer readable storage media having stored thereon a plurality of instructions to determine whether one or more performance criteria of one or more service level agreements would be satisfied after implementing a proposed change to a software component that, when executed by one or more processors, causes the one or more processors:

identify a plurality of components in a system based in part on a system definition model wherein the plurality of components comprise software components and wherein the system definition model comprises one or more service level agreement information pages accessible during operation of the system;

express the identified components in an extensible language as a scalable model of the system that adheres to the system definition model;

identify relationships among the plurality of components;

provide one or more rules that use at least some of the identified relationships to express logic of the system;

define a proposed change to at least one of the software components;

determine an expected result of implementing the proposed change based at least in part on the logic of the system, wherein the expected result includes:

performance changes associated with at least one parent component of the plurality of components, the performance changes based on cumulative expected impact on performance of related child components wherein expected impact on performance comprises one or more causes other than component failure; and

performance changes associated with the system; and

based on the performance changes associated with the at least one parent component of the plurality of components or the performance changes associated with the system, determine whether one or more performance criteria of the one or more service level agreement information pages, associated with the at least one parent component of the plurality of components or the system, would be satisfied after implementing the proposed change wherein one or more performance criteria of a parent component depend on performance of the parent component's child components.

14. One or more computer readable media as recited in claim 13 , wherein the relationships among the plurality of components are identified based on the scalable model of the system.

15. One or more computer readable media as recited in claim 13 , wherein the one or more processors further determine whether to implement the proposed change based on the expected result of implementing the proposed change.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE RECORDAL TO REMOVE INADVERTENTLY RECOREDED PROPERTIES SHOWN IN ATTACHED SHEET PREVIOUSLY RECORDED AT REEL: 047681 FRAME: 0916. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 18, 2019
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: SERVICENOW, INC.
Reel/Frame 049797/0119 →
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 Aug 17, 2005
From: VINBERG, ANDERS B.; LAKSHMINARAYANAN, ANAND; SANGHVI, ASHVINKUMAR J.; RAJARAJAN, VIJ; VOLOSHIN, VITALY; TABBARA, BASSAM; GREALISH, KEVIN; MENSCHING, ROB; OUTHRED, GEOFFREY; HUNT, GALEN C.; HYDRIE, AAMER; WELLAND, ROBERT V.
To: MICROSOFT CORPORATION
Reel/Frame 016645/0635 →