IP Library › Granted Patent US 8,874,733
Granted Patent B2
US 8,874,733 · App. 13/325,883 · Granted Oct 28, 2014

Providing server performance decision support

Inventors: Kent Mitchell (Denver, CO); Jason Heintz (Centennial, CO); Hollie McCurdy (Seattle, WA); Carroll Moon (Alta Vista, VA); Mark Miller (Flower Mound, TX); Brian Feck (Charlotte, NC); Lou Nikodym (Golden, CO)
Assignee: Microsoft Corporation
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 8,874,733
App. No.
13/325,883
Granted
Oct 28, 2014
Kind
B2
Abstract

An application provides server performance decision support to end-users. The application monitors the transaction data of servers. The transaction data includes network communications as well as server specific information such as resource utilization. The application captures a sample of the transaction data. The captured sample can be random or predetermined. The sample is limited in length according to a preset time value. The application analyzes the sample to determine performance metrics for the server. The application presents the performance metrics within a business intelligence data structure to enable an end-user to data mine the performance metrics according to additional variables.

Claims (63)

1. A method executed at least in part in a computing device for providing server performance decision support, the method comprising:

monitoring transaction data of a server;

capturing a sample of the transaction data of the server according to a predetermined scheme;

analyzing the captured sample to determine performance metrics for the server, wherein lowered responsiveness parameters are applied to the performance metrics for the server in response to a determination that the server has a mission critical role; and

presenting the performance metrics in a business intelligence data structure.

2. The method of claim 1 , wherein analyzing the captured sample comprises:

executing an in-depth data mining analysis to determine the performance metrics.

3. The method of claim 2 , further comprising:

predicting a resource depletion event by comparing at least one server utilization metric from the performance metrics against a predetermined threshold value.

4. The method of claim 3 , further comprising:

triggering a messaging process to alert a responsive entity associated with the resource depletion event, the responsive entity including at least one from a set of: an end-user, a monitoring server, and another application about the resource depletion event.

5. The method of claim 2 , further comprising:

comparing at least one server behavior metric from the performance metrics against a predetermined normal server behavior range to determine an operational status of the server including at least one from a set of: a normal operation and an abnormal operation.

6. The method of claim 1 , wherein analyzing the sample comprises:

employing a data structure technology analysis to generate high performance queries; and

analyzing the captured sample of the transaction data according to one or more scalable algorithms through the high performance queries.

7. The method of claim 6 , further comprising:

providing self-service business intelligence to end users through the high performance queries, wherein the performance metrics are generated dynamically based on at least one of a business intelligence need of an end user and according to one or more analysis parameters provided by the end user.

8. The method of claim 1 , further comprising:

determining key server performance issues from the performance metrics; and

presenting the key server performance issues through a reporting service for cloud computing analysis.

9. The method of claim 8 , wherein the key server performance issues include at least one from a set of: a server health analysis, a server performance analysis, and a server resource analysis for the server.

10. The method of claim 1 , further comprising:

grouping the server with one or more other servers according to an operations category including at least one of: a service and a role; and

analyzing the captured sample using additional control management business logic associated with the operations category of the server.

11. A computing device for providing server performance decision support, the computing device comprising:

a memory;

a processor coupled to the memory, the processor executing an application and causing services associated with the application to analyze server performance, wherein the processor is configured to:

monitor transaction data of a server;

capture a sample of the transaction data of the server;

analyze the sample to determine performance metrics for the server by:

applying lowered responsiveness parameters to the performance metrics for the server in response to a determination that the server has a mission critical role;

aggregating performance metrics based on instances of algorithms measuring the performance metrics, wherein the algorithms include one or more from a set of: a maximum memory utilization algorithm, a server categorization algorithm, and a server classification algorithm;

employing a data-structure technology analysis to generate high performance queries; and

providing self-service business intelligence for managing server performance monitoring to end users through the high performance queries;

determine key server performance issues from the performance metrics of the server, wherein the key performance issues indicate one or more underperforming servers or groups of servers based on a comparison of the performance metrics against predetermined threshold values;

in response to a determination that the one or more servers or groups of servers are underperforming, trigger a messaging process from the processor executing the application to alert a responsive entity associated with the one or more underperforming servers or groups of servers; and

present the performance metrics in a business intelligence data structure.

12. The computing device of claim 11 , wherein the processor is further configured to:

employ a star schema utilizing key dimensions to analyze the sample.

13. The computing device of claim 12 , wherein the key dimensions include at least one from a set of: objects, counters, and instances for the performance metrics.

14. The computing device of claim 12 , wherein the processor is further configured to:

provide aggregation and report design functionality for the performance metrics to the end users through utilization of the key dimensions.

15. The computing device of claim 11 , wherein the business intelligence data structure is at least one from a set of: an online analytical processing (OLAP) cube and a pivot table.

16. The computing device of claim 11 , wherein the server is one from a set of:

a local server and a remote server.

17. A computer-readable memory device with instructions stored thereon for providing server performance decision support, the instructions comprising:

monitoring transaction data of a server;

capturing a grain of the transaction data of the server, wherein the grain is a sample of the transaction data captured according to a predefined length of the grain;

analyzing the grain to determine performance metrics for the server by:

applying lowered responsiveness parameters to the performance metrics for the server in response to a determination that the server has a mission critical role;

aggregating performance metrics based on instances of algorithms measuring the performance metrics, wherein the algorithms include one or more from a set of: a maximum memory utilization algorithm, a server categorization algorithm, and a server classification algorithm;

utilizing a data-structure technology analysis to generate high performance queries; and

providing self-service business intelligence to end users through the high performance queries;

determining key server performance issues from the performance metrics of the server, wherein the key performance issues indicate one or more underperforming servers or groups of servers based on a comparison of the performance metrics against predetermined threshold values;

in response to another determination that the one or more servers or groups of servers are underperforming, triggering a messaging process to alert a responsive entity associated with the one or more underperforming servers or groups of servers; and

presenting the performance metrics in a business intelligence data structure.

18. The computer-readable memory device of claim 17 , wherein the instructions further comprise:

retaining the grain for a predetermined time period based on the predefined length of the grain.

19. The computer-readable memory device of claim 18 , wherein the instructions further comprise:

providing historical trend analysis for the performance metrics determined from the retained grain.

20. The computer-readable memory device of claim 17 , wherein the instructions further comprise:

upon conclusion of the analysis, removing the captured grain of the transaction data based on one of the length of the grain and a predetermined expiration period.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2011
From: MITCHELL, KENT; HEINTZ, JASON; MCCURDY, HOLLIE; MOON, CARROLL; MILLER, MARK; FECK, BRIAN; NIKODYM, LOU
To: MICROSOFT CORPORATION
Reel/Frame 027401/0449 →
Continuity (1)
Related Publication 20130159493A1 · Jun 20, 2013