IP Library Granted Patent US 8,626,897
Granted Patent B2
US 8,626,897 · App. 12/463,497 · Granted Jan 7, 2014

Server farm management

Inventors: Wei-Qiang Michael Guo (Bellevue, WA); Ajay Wadhawan (Yarrow Point, WA); Lin Huang (Redmond, WA); Jacek T. Dudziak (Bellevue, WA)
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,626,897
App. No.
12/463,497
Granted
Jan 7, 2014
Kind
B2
Abstract

Techniques and systems are disclosed that can measure capacity of a server farm, and project capacity needs based on traffic and resources. Server farm system information is collected for managing the server farm by identifying a list of servers in the server farm. Performance metrics are collected from identified servers and stored in a collection database. The stored performance metrics are analyzed in accordance with a server farm management request.

Claims (62)

1. A method for collecting and analyzing server farm information for managing a server farm, comprising:

identifying a list of servers running in the server farm;

collecting performance metrics from respective identified servers and storing the performance metrics in a collection database, comprising:

determining that at least some performance metrics are not available for at least a part of a first server;

responsive to determining that at least some performance metrics are not available, determining a hardware configuration for lab tested hardware;

determining that the lab tested hardware is comparable to at least the part of the first server; and

responsive to determining that the lab tested hardware is comparable, collecting performance metrics associated with the lab tested hardware and storing the performance metrics associated with the lab tested hardware in the collection database in association with the first server; and

analyzing the performance metrics stored in the collection database in accordance with a server farm management request to create an expansion resource capacity plan associated with one or more available hardware upgrades for one or more existing servers within the server farm, the analyzing comprising evaluating a function curve indicative of requests to a server and hardware resource costs of the server to create the expansion resource capacity plan.

2. The method of claim 1 , collecting performance metrics comprising one or more of:

collecting one or more hardware configuration metrics for the server; or

collecting one or more server usage metrics for the server.

3. The method of claim 2 , collecting one or more hardware configuration metrics comprising collecting data traffic routing information for the server.

4. The method of claim 2 , collecting one or more server usage metrics comprising one or more of:

collecting incoming traffic counts over time to the server;

collecting response counts over time from the server; or

collecting transaction types for the server.

5. The method of claim 1 , identifying a list of servers comprising identifying two or more servers in the server farm comprising heterogeneous hardware configurations.

6. The method of claim 1 , analyzing the performance metrics comprising one or more of:

determining a resource cost on a second server per request based upon request data obtained from a request pipe-line; or

determining a traffic trend of requests per service over time to determine peak usage of a service.

7. The method of claim 1 , comprising creating the expansion resource capacity plan based on one or more of:

server farm traffic patterns;

forecasted server farm traffic patterns associated with the one or more available hardware upgrades; or

future releases of application services for the server farm.

8. The method of claim 1 , identifying a list of servers running in the server farm comprising one of more of:

detecting when a second server is added to the server farm; or

detecting when a third server is removed from the server farm.

9. The method of claim 1 , storing the performance metrics in a collection database comprising storing current and historical performance metrics for the respective servers.

10. The method of claim 1 , comprising determining that the lab tested hardware is comparable based upon a comparison of the hardware configuration with the part of the first server.

11. The method of claim 1 , comprising activating an alert that is triggered when a desired resource capacity threshold is forecasted based at least in part upon the analyzing.

12. The method of claim 1 , analyzing the performance metrics comprising determining a forecast of traffic trends for hardware upgrades that have yet to be added to the server farm.

13. A system for collecting and analyzing server farm information for managing a server farm, comprising:

a capacity collector disposed on one or more servers in the server farm and configured to collect a list of servers running in the server farm;

a performance collector operably coupled to the capacity collector and configured to collect performance metrics from at least some of the servers on the list;

a resource consumption repository operably coupled to the performance collector and configured to store performance metrics collected by the performance collector; and

a data analyzer operably coupled to the resource consumption repository and configured to:

analyze performance metrics stored in the resource consumption repository in accordance with a server farm management request to create an expansion resource capacity plan associated with one or more available hardware upgrades for one or more existing servers within the server farm;

evaluate a function curve indicative of requests to a server and hardware resource costs of the server to create the expansion resource capacity plan; and

Identify a bottle neck in at least one of a front end associated with the server farm or a back end associated with the server farm to create the expansion resource capacity plan.

14. The system of claim 13 , the capacity collector comprising a server service determination component configured to determine whether a server is in-service in the server farm.

15. The system of claim 13 , comprising a server farm configuration updater configured to update information for hardware and services running in the server farm.

16. The system of claim 13 , comprising a performance metric aggregator configured to aggregate performance metrics collected by the performance collector.

17. The system of claim 13 , the data analyzer comprising one or more of:

a service trend analyzer configured to determine server farm user requests per service type trend information;

a hardware trend analyzer configured to determine server farm user requests per hardware type trend information; or

a resource capacity forecaster configured to determine a resource capacity for the server farm based on trend information.

18. The system of claim 13 , the data analyzer utilizing a hardware unit cost per request per second for capacity determination.

19. The system of claim 13 , comprising a user interface configured to provide a server farm administrator with an ability to request server farm data analysis.

20. A tangible computer readable storage device comprising computer executable instruction that when executed via a processor on a computer perform a method for collecting and analyzing server farm information for managing a server farm, comprising:

identifying a list of servers running in the server farm, comprising:

detecting when a first server is added to the server farm; or

detecting when a second server is removed from the server farm;

collecting performance metrics from respective identified servers and storing the performance metrics in a collection database, at least some of the performance metrics corresponding to at least two of a central processing unit type, a central processing unit speed, a storage disk size, a storage disk speed, bus weed, a number of one or more connections, a Woe of one or more connections, a number of applications concurrently running on one or more servers, a type of an application comprised in one or more servers, a bandwidth, or a number of databases, collecting performance metrics and storing a performance metrics comprising:

determining that at least some performance metrics are not available for at least a part of a third server;

responsive to determining a that at least some performance metrics are not available, determining lab tested hardware,

determining a that the lab tested hardware is comparable to at least the part of the third server; and

responsive to determining a that the lab tested hardware is comparable, collecting performance metrics associated with the lab tested hardware and storing a the performance metrics associated with the lab tested hardware in the collection database in association with the third server; and

analyzing the performance metrics stored in the collection database in accordance with a server farm management request to create an expansion resource capacity plan associated with one or more available hardware upgrades for one or more existing servers within the server farm, the analyzing comprising evaluating a function curve indicative of requests to a server and hardware resource costs of the server to create the expansion resource capacity plan, the expansion resource capacity plan at least one of created or modified based upon at least two of:

an identification of a bottle neck in at least one of a front end associated with the server farm or a back end associated with the server farm;

server farm traffic patterns;

forecasted server farm traffic patterns associated with the one or more available hardware upgrades; or

future releases of application services for the server farm.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2009
From: GUO, WEI-QIANG MICHAEL; WADHAWAN, AJAY; HUANG, LIN; DUDZIAK, JACEK T.
To: MICROSOFT CORPORATION
Reel/Frame 023033/0972 →
Continuity (1)
Related Publication 20100287019A1 · Nov 11, 2010