IP Library › Granted Patent US 10,223,193
Granted Patent B2
US 10,223,193 · App. 15/392,387 · Granted Mar 5, 2019

Proactive failure handling in data processing systems

Inventors: Hao Xia (Kirkland, WA); Todd F. Pfleiger (Seattle, WA); Mark C. Benvenuto (Seattle, WA); Ajay Kalhan (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F11/079G06F11/004G06F11/076G06F11/0709G06F11/0751G06F11/0769G06F11/0787G06F11/2257G06F11/3006G06F11/3055G06F11/3065G06F11/324H04L43/065G06F2201/865
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 10,223,193
App. No.
15/392,387
Granted
Mar 5, 2019
Kind
B2
Abstract

Embodiments are directed to predicting the health of a computer node using health report data and to proactively handling failures in computer network nodes. In an embodiment, a computer system monitors various health indicators for multiple nodes in a computer network. The computer system accesses stored health indicators that provide a health history for the computer network nodes. The computer system then generates a health status based on the monitored health indicators and the health history. The generated health status indicates the likelihood that the node will be healthy within a specified future time period. The computer system then leverages the generated health status to handle current or predicted failures. The computer system also presents the generated health status to a user or other entity.

Claims (53)

1. A computer system for predicting the health of a plurality of nodes by using health report data, the computer system comprising one or more processors executing computer executable instructions which cause the computer system to perform the following:

monitors one or more health indicators for a plurality of nodes;

accesses one or more stored health indicators that provide a health history for one or more of the monitored plurality of nodes;

based on both the monitored health indicators and the stored health history, predicts a health status, wherein the predicted health status indicates for at least one of the monitored plurality of nodes that the at least one monitored node will be healthy or unhealthy in the future; and

presents the predicted health status to a specified entity.

2. The computer system of claim 1 , wherein the monitored nodes are nodes of a data processing system, and wherein the predicted health status comprises a determination that there is a probability that the at least one monitored node will be healthy, and wherein the determination is below a threshold level; and

transfers one or more portions of data stored on the at least one monitored node to one or more other nodes of the data processing system.

3. The computer system of claim 2 , wherein the computer system further performs the following:

prevents the at least one monitored node from storing new data.

4. The computer system of claim 2 , wherein making the determination that the probability that the at least one monitored node will be healthy, and wherein the determination is below a threshold level, comprises determining that the at least one monitored node is in a critical state.

5. The computer system of claim 2 , wherein making the determination that the probability that the at least one monitored node will be healthy, and wherein the determination is below a threshold level, comprises determining that the at least one monitored node has experienced one or more failures within a specified time period.

6. The computer system of claim 5 , wherein the computer system further performs the following:

assigns an error level to each of the failures.

7. The computer system of claim 6 , wherein the computer system further performs the following:

determines that a threshold number of the failures are beyond a specified error level, such that the at least one monitored node is blacklisted.

8. The computer system of claim 7 , wherein any monitored node that has a threshold number of failures beyond a specified error level are blacklisted, regardless of a monitored node's health history.

9. The computer system of claim 7 , wherein blacklisted nodes are put on probation for a specified amount of time to determine whether errors occur during probation.

10. The computer system of claim 9 , wherein the computer system further performs the following:

upon determining for a monitored node that was blacklisted that the probationary period is complete and that no further errors have occurred, allowing the monitored node that was blacklisted to continue storing new data and removing the monitored node from the blacklist.

11. The computer system of claim 9 , wherein the computer system further performs the following:

upon determining for a monitored node that was blacklisted that the probationary period is complete and that one or more further errors have occurred, preventing the monitored node that was blacklisted from storing new data.

12. The computer system of claim 11 , wherein the computer system further performs the following:

relocates data portions that are hosted on the monitored node that is prevented from storing new data.

13. The computer system of claim 1 , wherein the predicted health status indicates for at least one of the monitored plurality of nodes that there is a probability that the at least one monitored node will be healthy in the future.

14. The computer system of claim 1 , wherein the predicted health status indicates for at least one of the monitored plurality of nodes that there is a probability that at least one monitored node will be healthy within a specified future time period.

15. The computer system of claim 1 , wherein the predicted health status indicates for at least one of the monitored plurality of nodes that there is a probability that at least one monitored node will be unhealthy in the future.

16. A computer-implemented method for proactively handling failures in a distributed processing system comprising a plurality of nodes, the computer-implemented method being performed by one or more processors executing computer executable instructions for the computer-implemented method, and the computer-implemented method comprising:

monitoring one or more health indicators for a plurality of nodes of a distributed processing system;

accessing one or more stored health indicators that provide a health history for the one or more of the monitored nodes of the distributed processing system;

predicting a health status based on the monitored health indicators and the health history, wherein the predicted health status indicates that at least one of the one or more monitored nodes of the distributed processing system will be healthy or unhealthy in the future;

determining, for at least one of the monitored nodes of the distributed processing system, that a threshold number of failures have occurred that are beyond a specified error level;

based on the determination, blacklisting the at least one monitored node for which the determination was made;

transferring one or more portions of data stored from the at least one monitored node that is blacklisted to one or more of other nodes of the distributed processing system; and

preventing the node that was blacklisted from storing new data.

17. The computer-implemented method of claim 16 , wherein the node that is blacklisted is categorized as up and blacklisted, such that the blacklisted node remains used for storing data while the data is transferred to other nodes of the distributed processing system, and no new data is stored on the node that is up and blacklisted.

18. The computer-implemented method of claim 16 , wherein the node that is blacklisted is categorized as down and blacklisted, such that the blacklisted node is no longer used for storing data, and data is transferred from the blacklisted node to other nodes of the distributed processing, and no new data is stored on the node that is down and blacklisted.

19. The computer-implemented method of claim 18 , wherein the data is transferred without waiting for a probationary period.

20. The computer-implemented method of claim 16 , wherein the predicted health status indicates for at least one of the monitored plurality of nodes that there is a probability that the at least one monitored node will be healthy in the future.

21. The computer-implemented method of claim 16 , wherein the predicted health status indicates for at least one of the monitored plurality of nodes that there is a probability that the at least one monitored node will be healthy within a specified future time period.

22. The computer-implemented method of claim 16 , wherein the predicted health status indicates for at least one of the monitored plurality of nodes that there is a probability that the at least one monitored node will be unhealthy in the future.

23. A system comprising:

a processing system comprised of a plurality of nodes;

one or more computer-readable storage hardware media, excluding transmission media, having stored thereon computer-executable instructions that, when executed by one or more processors, cause the system to be configured with an architecture that proactively handles failures in the plurality of nodes by using health indicators, and wherein the architecture is configured to perform the following:

monitor one or more health indicators for a plurality of nodes of a processing system;

access one or more stored health indicators that provide a health history for one or more of the monitored plurality of nodes;

based on both the monitored health indicators and the stored health history, predict a health status, wherein the predicted health status indicates for at least one of the monitored plurality of nodes that the at least one monitored node will be healthy or unhealthy in the future; and

present the predicted health status to a specified entity.

24. The system of claim 23 , wherein the architecture is further configured to blacklist at least one of the monitored nodes upon determining that a threshold number of failures have occurred that are beyond a specified error level.

25. The system of claim 24 , wherein the architecture is further configured to transfer one or more portions of data stored on the monitored node that is blacklisted to one or more other nodes of the processing system.

26. The system of claim 25 , wherein the node that is blacklisted is categorized as up and blacklisted, such that the categorized node remains used for storing data while the data is transferred to other nodes of the processing systems, and no new data is stored on the node that is up and blacklisted.

27. The system of claim 23 , wherein the predicted health status indicates for at least one of the monitored plurality of nodes that there is a probability that the at least one monitored node will be healthy in the future.

28. The system of claim 23 , wherein the predicted health status indicates for at least one of the monitored plurality of nodes that there is a probability that the at least one monitored node will be healthy within a specified future time period.

29. The system of claim 23 , wherein the predicted health status indicates for at least one of the monitored plurality of nodes that there is a probability that the at least one monitored node will be unhealthy in the future.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2016
From: XIA, HAO; PFLEIGER, TODD F.; BENVENUTO, MARK C.; KALHAN, AJAY
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 040786/0809 →
Continuity (4)
Continuation 15088377 · Apr 1, 2016
Continuation 14537130 · Nov 10, 2014
Continuation 13079750 · Apr 4, 2011
Related Publication 20170109225A1 · Apr 20, 2017