# US 8,788,958 B2 · Modeling, monitoring, and analysis of computer services

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,788,958 B2
- Document ID: US8788958B2
- Status: Granted
- Kind: B2
- Application number: 11/755,939
- Filed: 2007-05-31
- Published: 2008-12-04
- Granted: 2014-07-22
- Earliest claimed: 2007-05-31
- Assignees: Microsoft Corporation
- Applicants: Ashvinkumar J Sanghvi; Baelson B Duque; Thomas F Theiner
- Inventors: Ashvinkumar J Sanghvi; Baelson B Duque; Thomas F Theiner
- Web page: https://patentgrep.com/patent/US8788958B2

## CPC

- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0484: for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F 11/3466: {Performance evaluation by tracing or monitoring}
- G06F 16/26: Visual data mining; Browsing structured data
- G06F 16/9577: {Optimising the visualization of content, e.g. distillation of HTML documents}
- G06F 2201/865: Monitoring of software
- G06F 2201/875: Monitoring of systems including the internet
- G16B 40/00: ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
- G16B 45/00: ICT specially adapted for bioinformatics-related data visualisation, e.g. displaying of maps or networks
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G16B: BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY

## Abstract

Computer services and other computer entities may be monitored and evaluated by using a model that defines the services and relationships between the services. The model may be used during discovery for finding entities and creating instances of the entities and instances of the relationships between entities. After discovery, data may be collected and stored in a database by monitoring or instrumenting the entity. Analysis of the data may include tracking performance and monitoring the health of a service or other entity. The relationships may be used to graphically display various entities in many useful manners, including graphical representations of the health of various entities.

## Claims

### Claim 1

A method comprising:
accessing information of entities in a model comprising said entities and relationships between said entities;
searching a computer network to discover an object;
matching the object to more than one entity defined in said model;
determining a set of relationships between the object and the entities in the model;
analyzing the relationships for each entity in the model that matches the object, with the set of relationships for the object, to determine that the object should be classified as a first entity in the model;
classifying said object as a first entity instance of the first entity;
traversing said model to discover and communicate with a second entity instance of a second entity and a relationship instance of a first relationship between said first entity instance and said second entity instance;
monitoring entity instances for activities;
storing said activities in a database;
displaying a graphical representation of said first entity instance, said second entity instance, and said relationship instance, said graphical representation being based on said model, and further including perspective icons and problem indicators associated with each instance.

### Claim 2 (depends on 1)

The method of claim 1 further comprising:
analyzing said activities to create summary data; and
displaying said summary data in said graphical representation.

### Claim 3 (depends on 2)

The method of claim 2, said summary data comprising a health status.

### Claim 4 (depends on 3)

The method of claim 3, said health status for said first entity instance comprising a health status for said second entity instance.

### Claim 5 (depends on 1)

The method of claim 1, said entity comprising at least one of a group composed of:
a computer service;
a computer device;
a component of a computer device;
a network component;
an interface;
a subnet;
a group of said entities; and
a cluster of said computer devices.

### Claim 6 (depends on 1)

The method of claim 1 further comprising instrumenting said first entity instance by placing code on the first entity instance allowing the first entity instance to provide activity and performance data.

### Claim 7 (depends on 1)

A computer readable storage medium comprising computer executable instructions adapted to perform the method of claim 1.

### Claim 8

A system comprising:
a database adapted to store entity instances, relationship instances, and activity information about said entity instances, said entity instances and said relationship instances being based on a model of entities and relationships between said entities, said entities comprising computer services;
a discoverer adapted to search a computer device to discover and communicate with a first of said instances and traverse said model to discover said relationship instances and said entity instances, said first of said instances being matched with at least one entity instance defined in said model, said discoverer further adapted to classify said first of said instances to a stored entity instance when said first of said instances matches more than one entity instance defined in said model, by analyzing said relationships between each of the more than one entity instance that was matched;
a monitor adapted to collect said activity information; and
a display adapted to show a plurality of said entity instances and said relationship instances, said display including icons illustrating relationships between said plurality of entity instances and a problem indicator associated with each of the instances.

### Claim 9 (depends on 8)

The system of claim 8, said entities further comprising at least one of a group composed of:
a computer service;
a computer device;
a component of a computer device;
a network component;
an interface;
a subnet;
a group of said entities; and
a cluster of said computer devices.

### Claim 10 (depends on 8)

The system of claim 8 further comprising:
an analyzer adapted to analyze said activities.

### Claim 11 (depends on 10)

The system of claim 10, said analyzer adapted to determine a health status for at least one of said entities.

### Claim 12 (depends on 11)

The system of claim 11, said display adapted to show said health status through said problem dicators.

### Claim 13 (depends on 11)

The system of claim 11, said health status being an aggregation of health status of a plurality of said entities.

### Claim 14

A method comprising:
instrumenting a first entity instance by placing code on the first entity instance allowing the first entity instance to provide activity and performance data;
collecting activity and performance data relating to said first entity instance and a second entity instance, said first entity instance being related to said second entity instance to form a relationship instance; said first entity instance, said second entity instance, and said relationship instance being based on a model having entities and relationships between entities, said entities comprising computer services, said data being collected by communicating with said first entity instance and said second entity instance, said first entity instance being matched with at least one entity defined in said model;
storing said data in a database; and
displaying said first entity instance, said second entity instance, and said relationship instance in a graphical representation including perspective icons and problem indicators.

### Claim 15 (depends on 14)

The method of claim 14 further comprising:
analyzing said data to create summary data; and
displaying said summary data in said graphical representation.

### Claim 16 (depends on 15)

The method of claim 15, said summary data comprising a health status.

### Claim 17 (depends on 16)

The method of claim 16, said health status for said first entity instance comprising a health status for said second entity instance.

### Claim 18 (depends on 14)

The method of claim 14, said entity further comprising at least one of a group composed of:
a computer service;
a computer device;
a component of a computer device;
a network component;
an interface;
a subnet;
a group of said entities; and
a cluster of said computer devices.

### Claim 19 (depends on 14)

A computer readable storage medium comprising computer executable instructions adapted to perform the method of claim 14.
