IP Library Granted Patent US 11,513,982
Granted Patent B2
US 11,513,982 · App. 17/038,041 · Granted Nov 29, 2022

Techniques for recommending configuration changes using a decision tree

Inventors: Owen Martin (Hopedale, MA); Fatemeh Azmandian (Raynham, MA); Peter Beale (Acton, MA)
Assignee: EMC IP Holding Company LLC
G06F13/20G06N5/022G06N20/00G06F2213/40
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 11,513,982
App. No.
17/038,041
Granted
Nov 29, 2022
Kind
B2
Abstract

Recommending configuration changes may include: receiving a decision tree comprising levels of nodes, wherein the decision tree includes leaf nodes each representing a different one of a plurality of hardware configurations, wherein a first leaf represents a first hardware configuration and the first leaf node is associated with a set of I/O workload features denoting a I/O workload of a first system having the first hardware configuration, wherein the set of I/O workload features is associated with an action from the first leaf node to a second leaf node, wherein the second leaf node represents a second hardware configuration and the action represents a hardware configuration change made to transition from the first to the second hardware configuration; and performing processing that determines, using the decision tree, a recommendation for a hardware configuration change for a second system having the first hardware configuration represented by the first leaf node.

Claims (81)

1. A method of recommending configuration changes comprising:

receiving a decision tree that is a structure comprising a plurality of levels of nodes, wherein the decision tree includes a plurality of leaf nodes of the structure and each of the plurality of leaf nodes represents a different one of a plurality of hardware configurations, wherein each non-leaf node of the decision tree represents a test on an attribute or property, and each branch from one node at one of the plurality of levels to another node at another of the plurality of levels denotes an outcome or decision of a test associated with the one node, wherein a plurality of paths from a root of the decision tree to the plurality of leaf nodes represent a plurality of classification rules, wherein a first of the plurality of leaf nodes represents a first hardware configuration and the first leaf node is associated with a first set of I/O workload features denoting a first I/O workload of a first system having the first hardware configuration, wherein the first set of I/O workload features is associated with a first action from the first leaf node to a second leaf node, wherein the second leaf node represents a second hardware configuration and the first action represents a first hardware configuration change made to transition from the first hardware configuration to the second hardware configuration; and

performing first processing that determines, using the decision tree, a recommendation for a hardware configuration change for a second system currently having the first hardware configuration represented by the first leaf node.

2. The method of claim 1 , wherein the first processing includes:

searching the decision tree for one of the plurality of leaf nodes having an associated one of the plurality of hardware configurations that matches a current hardware configuration of the second system, wherein said searching determines the first leaf node represents the first hardware configuration that matches the current hardware configuration of the second system; and

ranking a plurality of hardware configuration changes represented by a plurality of actions associated with the first leaf node, wherein the plurality of hardware configuration changes includes the first hardware configuration change and wherein the plurality of actions includes the first action.

3. The method of claim 1 , wherein the first processing is performed responsive to an occurrence of a trigger condition.

4. The method of claim 1 , further comprising:

associating a new set of I/O workload features with the first leaf node.

5. The method of claim 2 , wherein said ranking the plurality of hardware configuration changes is performed in accordance with one or more criteria.

6. The method of claim 5 , wherein the first processing includes:

selecting the first hardware configuration change from the plurality of hardware configuration changes in accordance with the one or more criteria.

7. The method of claim 6 , further comprising:

implementing the first hardware configuration change for the second system resulting in the second system having the second hardware configuration represented by the second leaf node.

8. A method of recommending configuration changes comprising:

receiving a decision tree comprising a plurality of levels of nodes, wherein the decision tree includes a plurality of leaf nodes and each of the plurality of leaf nodes represents a different one of a plurality of hardware configurations, wherein a first of the plurality of leaf nodes represents a first hardware configuration and the first leaf node is associated with a first set of I/O workload features denoting a first I/O workload of a first system having the first hardware configuration, wherein the first set of I/O workload features is associated with a first action from the first leaf node to a second leaf node, wherein the second leaf node represents a second hardware configuration and the first action represents a first hardware configuration change made to transition from the first hardware configuration to the second hardware configuration; and

performing first processing that determines, using the decision tree, a recommendation for a hardware configuration change for a second system currently having the first hardware configuration represented by the first leaf node, wherein the first processing includes:

searching the decision tree for one of the plurality of leaf nodes having an associated one of the plurality of hardware configurations that matches a current hardware configuration of the second system, wherein said searching determines the first leaf node represents the first hardware configuration that matches the current hardware configuration of the second system; and

ranking a plurality of hardware configuration changes represented by a plurality of actions associated with the first leaf node, wherein the plurality of hardware configuration changes includes the first hardware configuration change and wherein the plurality of actions includes the first action, wherein said ranking the plurality of hardware configuration changes is performed in accordance with one or more criteria, and wherein the one or more criteria includes any one or more of: a plurality of costs associated with the plurality of hardware configuration changes, a plurality of expected I/O response times for the plurality of hardware configuration changes, and a plurality of percentages each denoting a percentage of time that one of the plurality of configuration changes has been previously selected and performed.

9. A method of recommending configuration changes comprising:

receiving a decision tree comprising a plurality of levels of nodes, wherein the decision tree includes a plurality of leaf nodes and each of the plurality of leaf nodes represents a different one of a plurality of hardware configurations, wherein a first of the plurality of leaf nodes represents a first hardware configuration and the first leaf node is associated with a first set of I/O workload features denoting a first I/O workload of a first system having the first hardware configuration, wherein the first set of I/O workload features is associated with a first action from the first leaf node to a second leaf node, wherein the second leaf node represents a second hardware configuration and the first action represents a first hardware configuration change made to transition from the first hardware configuration to the second hardware configuration; and

performing first processing that determines, using the decision tree, a recommendation for a hardware configuration change for a second system currently having the first hardware configuration represented by the first leaf node, wherein the first processing is performed responsive to an occurrence of a trigger condition, and wherein the trigger condition includes any one or more of the following:

determining that the second system has allocated a current percentage of physical storage and the current percentage is greater than a specified threshold;

determining that the second system has a current I/O response time that exceeds a specified threshold; and

determining that the second system has current I/O rate that exceeds a specified threshold.

10. A method of recommending configuration changes comprising:

receiving a decision tree comprising a plurality of levels of nodes, wherein the decision tree includes a plurality of leaf nodes and each of the plurality of leaf nodes represents a different one of a plurality of hardware configurations, wherein a first of the plurality of leaf nodes represents a first hardware configuration and the first leaf node is associated with a first set of I/O workload features denoting a first I/O workload of a first system having the first hardware configuration, wherein the first set of I/O workload features is associated with a first action from the first leaf node to a second leaf node, wherein the second leaf node represents a second hardware configuration and the first action represents a first hardware configuration change made to transition from the first hardware configuration to the second hardware configuration; and

performing first processing that determines, using the decision tree, a recommendation for a hardware configuration change for a second system currently having the first hardware configuration represented by the first leaf node, and wherein the method further comprises:

associating a new set of I/O workload features with the first leaf node; and

clustering a plurality of I/O workload data points and associated sets of I/O workload features, wherein said clustering includes forming one or more clusters of I/O workload data points having associated sets of I/O workload features.

11. The method of claim 10 , wherein said clustering clusters the plurality of I/O workload data points along a plane of average I/O size and percentage of write I/O operations.

12. The method of claim 11 , further comprising binning the plurality of I/O workload data points.

13. The method of claim 12 , wherein a first axis of the plane corresponding to the average I/O size is partitioned into a first plurality of bins and a second axis of the plane corresponding to the percentage of write I/O operations is partitioned into second plurality of bins.

14. The method of claim 13 , wherein each of the plurality of I/O workload data points is located in one of the first plurality of bins and in one of the second plurality of bins.

15. The method of claim 14 , wherein said clustering includes determining a plurality of counts wherein each of the plurality of counts is associated with a first particular one of the first plurality of bins and a second particular one of the second plurality of bins, and wherein said each count denotes a total quantity of the plurality of I/O workload data points located in the first particular one of the first plurality of bins and also located in the second particular one of the second plurality of bins.

16. A system comprising:

one or more processors; and

a memory comprising code stored thereon that, when executed, performs a method of recommending configuration changes comprising:

receiving a decision tree that is a structure comprising a plurality of levels of nodes, wherein the decision tree includes a plurality of leaf nodes of the structure and each of the plurality of leaf nodes represents a different one of a plurality of hardware configurations, wherein each non-leaf node of the decision tree represents a test on an attribute or property, and each branch from one node at one of the plurality of levels to another node at another of the plurality of levels denotes an outcome or decision of a test associated with the one node, wherein a plurality of paths from a root of the decision tree to the plurality of leaf nodes represent a plurality of classification rules, wherein a first of the plurality of leaf nodes represents a first hardware configuration and the first leaf node is associated with a first set of I/O workload features denoting a first I/O workload of a first system having the first hardware configuration, wherein the first set of I/O workload features is associated with a first action from the first leaf node to a second leaf node, wherein the second leaf node represents a second hardware configuration and the first action represents a first hardware configuration change made to transition from the first hardware configuration to the second hardware configuration; and

performing first processing that determines, using the decision tree, a recommendation for a hardware configuration change for a second system currently having the first hardware configuration represented by the first leaf node.

17. A non-transitory computer readable medium comprising code stored thereon that, when executed, performs a method of recommending configuration changes comprising:

receiving a decision tree that is a structure comprising a plurality of levels of nodes, wherein the decision tree includes a plurality of leaf nodes of the structure and each of the plurality of leaf nodes represents a different one of a plurality of hardware configurations, wherein each non-leaf node of the decision tree represents a test on an attribute or property, and each branch from one node at one of the plurality of levels to another node at another of the plurality of levels denotes an outcome or decision of a test associated with the one node, wherein a plurality of paths from a root of the decision tree to the plurality of leaf nodes represent a plurality of classification rules, wherein a first of the plurality of leaf nodes represents a first hardware configuration and the first leaf node is associated with a first set of I/O workload features denoting a first I/O workload of a first system having the first hardware configuration, wherein the first set of I/O workload features is associated with a first action from the first leaf node to a second leaf node, wherein the second leaf node represents a second hardware configuration and the first action represents a first hardware configuration change made to transition from the first hardware configuration to the second hardware configuration; and

performing first processing that determines, using the decision tree, a recommendation for a hardware configuration change for a second system currently having the first hardware configuration represented by the first leaf node.

18. A system comprising:

one or more processors; and

a memory comprising code stored thereon that, when executed, performs a method of recommending configuration changes comprising:

receiving a decision tree comprising a plurality of levels of nodes, wherein the decision tree includes a plurality of leaf nodes and each of the plurality of leaf nodes represents a different one of a plurality of hardware configurations, wherein a first of the plurality of leaf nodes represents a first hardware configuration and the first leaf node is associated with a first set of I/O workload features denoting a first I/O workload of a first system having the first hardware configuration, wherein the first set of I/O workload features is associated with a first action from the first leaf node to a second leaf node, wherein the second leaf node represents a second hardware configuration and the first action represents a first hardware configuration change made to transition from the first hardware configuration to the second hardware configuration; and

performing first processing that determines, using the decision tree, a recommendation for a hardware configuration change for a second system currently having the first hardware configuration represented by the first leaf node, wherein the first processing includes:

searching the decision tree for one of the plurality of leaf nodes having an associated one of the plurality of hardware configurations that matches a current hardware configuration of the second system, wherein said searching determines the first leaf node represents the first hardware configuration that matches the current hardware configuration of the second system; and

ranking a plurality of hardware configuration changes represented by a plurality of actions associated with the first leaf node, wherein the plurality of hardware configuration changes includes the first hardware configuration change and wherein the plurality of actions includes the first action, wherein said ranking the plurality of hardware configuration changes is performed in accordance with one or more criteria, and wherein the one or more criteria includes any one or more of: a plurality of costs associated with the plurality of hardware configuration changes, a plurality of expected I/O response times for the plurality of hardware configuration changes, and a plurality of percentages each denoting a percentage of time that one of the plurality of configuration changes has been previously selected and performed.

19. A non-transitory computer readable medium comprising code stored thereon that, when executed, performs a method of recommending configuration changes comprising:

receiving a decision tree comprising a plurality of levels of nodes, wherein the decision tree includes a plurality of leaf nodes and each of the plurality of leaf nodes represents a different one of a plurality of hardware configurations, wherein a first of the plurality of leaf nodes represents a first hardware configuration and the first leaf node is associated with a first set of I/O workload features denoting a first I/O workload of a first system having the first hardware configuration, wherein the first set of I/O workload features is associated with a first action from the first leaf node to a second leaf node, wherein the second leaf node represents a second hardware configuration and the first action represents a first hardware configuration change made to transition from the first hardware configuration to the second hardware configuration; and

performing first processing that determines, using the decision tree, a recommendation for a hardware configuration change for a second system currently having the first hardware configuration represented by the first leaf node, wherein the first processing includes:

searching the decision tree for one of the plurality of leaf nodes having an associated one of the plurality of hardware configurations that matches a current hardware configuration of the second system, wherein said searching determines the first leaf node represents the first hardware configuration that matches the current hardware configuration of the second system; and

ranking a plurality of hardware configuration changes represented by a plurality of actions associated with the first leaf node, wherein the plurality of hardware configuration changes includes the first hardware configuration change and wherein the plurality of actions includes the first action, wherein said ranking the plurality of hardware configuration changes is performed in accordance with one or more criteria, and wherein the one or more criteria includes any one or more of: a plurality of costs associated with the plurality of hardware configuration changes, a plurality of expected I/O response times for the plurality of hardware configuration changes, and a plurality of percentages each denoting a percentage of time that one of the plurality of configuration changes has been previously selected and performed.

20. A system comprising:

one or more processors; and

a memory comprising code stored thereon that, when executed, performs a method of recommending configuration changes comprising:

receiving a decision tree comprising a plurality of levels of nodes, wherein the decision tree includes a plurality of leaf nodes and each of the plurality of leaf nodes represents a different one of a plurality of hardware configurations, wherein a first of the plurality of leaf nodes represents a first hardware configuration and the first leaf node is associated with a first set of I/O workload features denoting a first I/O workload of a first system having the first hardware configuration, wherein the first set of I/O workload features is associated with a first action from the first leaf node to a second leaf node, wherein the second leaf node represents a second hardware configuration and the first action represents a first hardware configuration change made to transition from the first hardware configuration to the second hardware configuration; and

performing first processing that determines, using the decision tree, a recommendation for a hardware configuration change for a second system currently having the first hardware configuration represented by the first leaf node, wherein the first processing is performed responsive to an occurrence of a trigger condition, and wherein the trigger condition includes any one or more of the following:

determining that the second system has allocated a current percentage of physical storage and the current percentage is greater than a specified threshold;

determining that the second system has a current I/O response time that exceeds a specified threshold; and

determining that the second system has current I/O rate that exceeds a specified threshold.

21. A non-transitory computer readable medium comprising code stored thereon that, when executed, performs a method of recommending configuration changes comprising:

receiving a decision tree comprising a plurality of levels of nodes, wherein the decision tree includes a plurality of leaf nodes and each of the plurality of leaf nodes represents a different one of a plurality of hardware configurations, wherein a first of the plurality of leaf nodes represents a first hardware configuration and the first leaf node is associated with a first set of I/O workload features denoting a first I/O workload of a first system having the first hardware configuration, wherein the first set of I/O workload features is associated with a first action from the first leaf node to a second leaf node, wherein the second leaf node represents a second hardware configuration and the first action represents a first hardware configuration change made to transition from the first hardware configuration to the second hardware configuration; and

performing first processing that determines, using the decision tree, a recommendation for a hardware configuration change for a second system currently having the first hardware configuration represented by the first leaf node, wherein the first processing is performed responsive to an occurrence of a trigger condition, and wherein the trigger condition includes any one or more of the following:

determining that the second system has allocated a current percentage of physical storage and the current percentage is greater than a specified threshold;

determining that the second system has a current I/O response time that exceeds a specified threshold; and

determining that the second system has current I/O rate that exceeds a specified threshold.

22. A system comprising:

one or more processors; and

a memory comprising code stored thereon that, when executed, performs a method of recommending configuration changes comprising:

receiving a decision tree comprising a plurality of levels of nodes, wherein the decision tree includes a plurality of leaf nodes and each of the plurality of leaf nodes represents a different one of a plurality of hardware configurations, wherein a first of the plurality of leaf nodes represents a first hardware configuration and the first leaf node is associated with a first set of I/O workload features denoting a first I/O workload of a first system having the first hardware configuration, wherein the first set of I/O workload features is associated with a first action from the first leaf node to a second leaf node, wherein the second leaf node represents a second hardware configuration and the first action represents a first hardware configuration change made to transition from the first hardware configuration to the second hardware configuration; and

performing first processing that determines, using the decision tree, a recommendation for a hardware configuration change for a second system currently having the first hardware configuration represented by the first leaf node, and wherein the method further comprises:

associating a new set of I/O workload features with the first leaf node; and

clustering a plurality of I/O workload data points and associated sets of I/O workload features, wherein said clustering includes forming one or more clusters of I/O workload data points having associated sets of I/O workload features.

23. A non-transitory computer readable medium comprising code stored thereon that, when executed, performs a method of recommending configuration changes comprising:

receiving a decision tree comprising a plurality of levels of nodes, wherein the decision tree includes a plurality of leaf nodes and each of the plurality of leaf nodes represents a different one of a plurality of hardware configurations, wherein a first of the plurality of leaf nodes represents a first hardware configuration and the first leaf node is associated with a first set of I/O workload features denoting a first I/O workload of a first system having the first hardware configuration, wherein the first set of I/O workload features is associated with a first action from the first leaf node to a second leaf node, wherein the second leaf node represents a second hardware configuration and the first action represents a first hardware configuration change made to transition from the first hardware configuration to the second hardware configuration; and

performing first processing that determines, using the decision tree, a recommendation for a hardware configuration change for a second system currently having the first hardware configuration represented by the first leaf node, and wherein the method further comprises:

associating a new set of I/O workload features with the first leaf node; and

clustering a plurality of I/O workload data points and associated sets of I/O workload features, wherein said clustering includes forming one or more clusters of I/O workload data points having associated sets of I/O workload features.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2020
From: MARTIN, OWEN; AZMANDIAN, FATEMEH; BEALE, PETER
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053929/0616 →
Cited By (1)
US 12,470,461