IP Library Granted Patent US 9,729,401
Granted Patent B2
US 9,729,401 · App. 14/592,877 · Granted Aug 8, 2017

Automatic remediation of poor-performing virtual machines for scalable applications

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 9,729,401
App. No.
14/592,877
Granted
Aug 8, 2017
Kind
B2
Abstract

A management system and method for remediating poor-performing clients running in a distributed computer system uses a machine learning technique to automatically detect one or more poor-performing clients among a plurality of clients running in the distributed computer based on at least performance data and resource usage data of the clients. An action is then initiated to mitigate the effects of the poor-performing clients.

Claims (270)

1. A method for remediating poor-performing clients running in a distributed computer system, the method comprising:

automatically detecting a poor-performing client among a plurality of clients running in the distributed computer using a machine learning technique based on performance data and resource usage data of the clients, including

applying an outlier detection machine learning technique on the clients running in the distributed computer system to identify any outlier client among the clients with respect to the performance and resource usage data to identify the poor-performing client, wherein the applying the outlier detection machine learning technique includes executing a local outlier factor algorithm to compute an outlier factor for each of the clients by dividing an average local reachability density of neighbors of a client by the client's own local reachability density to determine whether each of the clients is an outlier or is not an outlier; and

initiating an action to mitigate effects of the poor-performing client.

2. The method of claim 1 , wherein the automatically detecting the poor-performing client includes applying a classification machine learning technique on the clients running in the distributed computer system to classify the clients into a poor-performing client class and a healthy client class to identify the poor-performing client.

3. The method of claim 1 , wherein the automatically detecting the poor-performing client includes applying a clustering machine learning technique on the clients running in the distributed computer system to cluster the clients into a poor-performing client cluster and a healthy client cluster class to identify the poor-performing client.

4. The method of claim 1 , wherein the outlier factor for each of the clients is defined as:

lof

k

(

A

)

=

B

N

k

(

A

)

lrd

(

B

)

lrd

(

A

)

)

N

k

(

A

)

,

where N k (A) is a set of k-nearest neighbors of object A, lrd(A) is a local reachability density of object A and lrd(B) is a local reachability density of object B, wherein the object B is an element of N k (A).

5. The method of claim 4 , wherein the local reachability density of the object A is defined as the quotient of the average reachability distance of the object A from its k-nearest neighbors,

lrd

(

A

)

=

1

/

(

B

N

k

(

A

)

reach

-

dist

k

(

A

,

B

)

N

k

(

A

)

)

,

where reach-dist k (A,B) is defined as:

reach-dist k ( A,B )=max{ k -dist( B ), d ( A,B )},

where d(A,B) is the distance of the object A from the object B.

6. The method of claim 1 , wherein the initiating the action includes initiating restarting of the poor-performing client or restarting of a program running in the poor-performing client.

7. The method of claim 1 , wherein the initiating the action includes initiating shutting down of the poor-performing client as part of an application scaling recommendation.

8. A non-transitory computer-readable storage medium containing program instructions for method for remediating poor-performing clients running in a distributed computer system, wherein execution of the program instructions by one or more processors of a computer system causes the one or more processors to perform steps comprising:

automatically detecting a poor-performing client among a plurality of clients running in the distributed computer using a machine learning technique based on performance and resource usage data of the clients, including

applying an outlier detection machine learning technique on the clients running in the distributed computer system to identify any outlier client among the clients with respect to the performance and resource usage data to identify the poor-performing client, wherein the applying the outlier detection machine learning technique includes executing a local outlier factor algorithm to compute an outlier factor for each of the clients by dividing an average local reachability density of neighbors of a client by the client's own local reachability density to determine whether each of the clients is an outlier or is not an outlier; and

initiating an action to mitigate effects of the poor-performing client.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the automatically detecting the poor-performing client includes applying a classification machine learning technique on the clients running in the distributed computer system to classify the clients into a poor-performing client class and a healthy client class to identify the poor-performing client.

10. The non-transitory computer-readable storage medium of claim 8 , wherein the automatically detecting the poor-performing client includes applying a clustering machine learning technique on the clients running in the distributed computer system to cluster the clients into a poor-performing client cluster and a healthy client cluster class to identify the poor-performing client.

11. The non-transitory computer-readable storage medium of claim 8 , wherein the outlier factor for each of the clients is defined as:

lof

k

(

A

)

=

B

N

k

(

A

)

lrd

(

B

)

lrd

(

A

)

)

N

k

(

A

)

,

where N k (A) is a set of k-nearest neighbors of object A, lrd(A) is a local reachability density of object A and lrd(B) is a local reachability density of object B, wherein the object B is an element of N k (A).

12. The non-transitory computer-readable storage medium of claim 11 , wherein the local reachability density of the object A is defined as the quotient of the average reachability distance of the object A from its k-nearest neighbors,

lrd

(

A

)

=

1

/

(

B

N

k

(

A

)

reach

-

dist

k

(

A

,

B

)

N

k

(

A

)

)

,

where reach-dist k (A,B) is defined as:

reach-dist k ( A,B )=max{ k -dist( B ), d ( A,B )},

where d(A,B) is the distance of the object A from the object B.

13. The non-transitory computer-readable storage medium of claim 8 , wherein the initiating the action includes initiating restarting of the poor-performing client or restarting of a program running in the poor-performing client.

14. The non-transitory computer-readable storage medium of claim 8 , wherein the initiating the action includes initiating shutting down of the poor-performing client as part of an application scaling recommendation.

15. A management system supported by hardware in a distributed computer system comprising:

a poor-performing client detector configured to automatically detect a poor-performing client among a plurality of clients running in the distributed computer using a machine learning technique based on performance data and resource usage data of the clients,

wherein the poor-performing client detector is configured to apply an outlier detection machine learning technique on the clients running in the distributed computer system to identify any outlier client among the clients with respect to the performance and resource usage data to identify the poor-performing client, wherein the poor-performing client detector is configured to execute a local outlier factor algorithm to compute an outlier factor for each of the clients by dividing an average local reachability density of neighbors of a client by the client's own local reachability density to determine whether each of the clients is an outlier or is not an outlier; and

a poor-performing client mitigator configured to initiate an action to mitigate effects of the poor-performing client.

16. The management system of claim 15 , wherein the poor-performing client detector is configured to apply a classification machine learning technique on the clients running in the distributed computer system to classify the clients into a poor-performing client class and a healthy client class to identify the poor-performing client.

17. The management system of claim 15 , wherein the poor-performing client detector is configured to apply a clustering machine learning technique on the clients running in the distributed computer system to cluster the clients into a poor-performing client cluster and a healthy client cluster class to identify the poor-performing client.

18. The management system of claim 15 , wherein the outlier factor for each of the clients is defined as:

lof

k

(

A

)

=

B

N

k

(

A

)

lrd

(

B

)

lrd

(

A

)

)

N

k

(

A

)

,

where N k (A) is a set of k-nearest neighbors of object A, lrd(A) is a local reachability density of object A and lrd(B) is a local reachability density of object B, wherein the object B is an element of N k (A).

19. The management system of claim 18 , wherein the local reachability density of the object A is defined as the quotient of the average reachability distance of the object A from its k-nearest neighbors,

lrd

(

A

)

=

1

/

(

B

N

k

(

A

)

reach

-

dist

k

(

A

,

B

)

N

k

(

A

)

)

,

where reach-dist k (A,B) is defined as:

reach-dist k ( A,B )=max{ k -dist( B ), d ( A,B )},

where d(A,B) is the distance of the object A from the object B.

20. The management system of claim 15 , wherein the poor-performing client mitigator is configured to initiate restarting of the poor-performing client or restarting of a program running in the poor-performing client.

21. The management system of claim 15 , wherein the poor-performing client mitigator is configured to initiate shutting down of the poor-performing client as part of an application scaling recommendation.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2015
From: GUPTA, VISHAL; PADALA, PRADEEP; HOLLER, ANNE; DESAI, AALAP
To: VMWARE, INC.
Reel/Frame 034668/0979 →