IP Library Granted Patent US 10,564,998
Granted Patent B1
US 10,564,998 · App. 15/693,244 · Granted Feb 18, 2020

Load balancing using predictive VM-based analytics

Inventors: Mark G. Gritter (Eagan, MN); Satya Vempati (Cupertino, CA); Siva Popuri (Mountain View, CA)
Assignee: Tintri by DDN, Inc.
G06F9/45558G06N5/04G06F2009/4557G06F2009/45583G06F2009/45595
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,564,998
App. No.
15/693,244
Granted
Feb 18, 2020
Kind
B1
Abstract

Load balancing using predictive VM-based analytics is disclosed, including: determining a plurality of storage device specific predicted metric data structures corresponding to respective ones of a plurality of storage devices; and combining the plurality of storage device specific predicted metric data structures corresponding to respective ones of the plurality of storage devices into a combined predicted metric data structure.

Claims (57)

1. A system, comprising:

a processor configured to:

determine a plurality of storage device specific predicted metric data structures corresponding to respective ones of a plurality of storage devices, wherein the plurality of storage device specific predicted metric data structures includes a first storage device specific predicted metric data structure corresponding to a first storage device and a second storage device specific predicted metric data structure corresponding to a second storage device, wherein the first storage device specific predicted metric data structure includes a first predicted metric corresponding to a metric type and the second storage device specific predicted metric data structure includes a second predicted metric corresponding to the metric type, wherein the metric type comprises a specified event;

combine the plurality of storage device specific predicted metric data structures corresponding to respective ones of the plurality of storage devices into a combined predicted metric data structure, wherein to combine the plurality of storage device specific predicted metric data structures comprises to determine a combined predicted metric corresponding to the metric type based at least in part on combining the first predicted metric and the second predicted metric, wherein the combined predicted metric corresponding to the metric type corresponds to a predicted probability that the specified event associated with the metric type will occur with respect to any storage device within the plurality of storage devices; and

use the combined predicted metric data structure to determine a virtual machine (VM) to move from the first storage device included in the plurality of storage devices to the second storage device included in the plurality of storage devices to potentially improve at least a portion of the combined predicted metric data structure; and

a memory coupled to the processor and configured to provide the processor with instructions.

2. The system of claim 1 , wherein the processor is configured to receive user selections of one or more storage devices to include in the plurality of storage devices.

3. The system of claim 1 , wherein the processor is configured to:

determine for the first storage device a plurality of predicted metrics corresponding to respective ones of a plurality of metric types based at least in part on aggregated effective historical VM data stored at the first storage device; and

include the plurality of predicted metrics into the first storage device specific predicted metric data structure corresponding to the first storage device.

4. The system of claim 3 , wherein the processor is further configured to:

determine the aggregated effective historical VM data stored at the first storage device based at least in part on adding to aggregated historical VM data storage at the first storage device historical data associated with an added VM from a source storage device associated with the added VM.

5. The system of claim 3 , wherein the processor is further configured to:

determine the aggregated effective historical VM data stored at the first storage device based at least in part on subtracting historical data associated with a removed VM from aggregated historical VM data storage at the first storage device.

6. The system of claim 1 , wherein the combined predicted metric data structure includes a plurality of combined predicted metrics, wherein the plurality of combined predicted metrics corresponds to respective ones of a plurality of priorities.

7. The system of claim 1 , wherein the processor is further configured to select a combined predicted metric to improve from the combined predicted metric data structure.

8. The system of claim 7 , wherein the combined predicted metric data structure includes a plurality of combined predicted metrics and wherein the processor is further configured to:

compare each of at least a subset of the plurality of combined predicted metrics with a corresponding metric type threshold value; and

select the combined predicted metric included in the combined predicted metric data structure that is to be improved based at least in part on the comparison.

9. The system of claim 7 , wherein the processor is further configured to:

use the selected combined predicted metric to select the VM to move off the first storage device;

determine the second storage device as a destination storage device to which to move the selected VM such that the selected combined predicted metric is predicted to improve subsequent to the selected VM being moved;

present a recommendation associated with moving the selected VM from the first storage device to the second storage device; and

update a recommendation history in response to whether the recommendation is user selected to be implemented.

10. The system of claim 7 , wherein to use the selected combined predicted metric to select the VM to move off the first storage device comprises to:

receive the selected combined predicted metric;

determine a plurality of available VMs associated with the plurality of storage devices; and

search for a set of VMs, including the selected VM, wherein a removal of the set of VMs from one or more source storage devices associated with the set of VMs is predicted to improve the selected combined predicted metric.

11. The system of claim 1 , wherein to combine the plurality of storage device specific predicted metric data structures corresponding to respective ones of the plurality of storage devices into the combined predicted metric data structure comprises to determine a joint probability based at least in part on predicted metrics associated with each metric type included across the plurality of storage device specific predicted metric data structures.

12. A method, comprising:

determining a plurality of storage device specific predicted metric data structures corresponding to respective ones of a plurality of storage devices, wherein the plurality of storage device specific predicted metric data structures includes a first storage device specific predicted metric data structure corresponding to a first storage device and a second storage device specific predicted metric data structure corresponding to a second storage device, wherein the first storage device specific predicted metric data structure includes a first predicted metric corresponding to a metric type and the second storage device specific predicted metric data structure includes a second predicted metric corresponding to the metric type, wherein the metric type comprises a specified event;

combining the plurality of storage device specific predicted metric data structures corresponding to respective ones of the plurality of storage devices into a combined predicted metric data structure, wherein to combine the plurality of storage device specific predicted metric data structures comprises to determine a combined predicted metric corresponding to the metric type based at least in part on combining the first predicted metric and the second predicted metric, wherein the combined predicted metric corresponding to the metric type corresponds to a predicted probability that the specified event associated with the metric type will occur with respect to any storage device within the plurality of storage devices; and

using the combined predicted metric data structure to determine a virtual machine (VM) to move from the first storage device included in the plurality of storage devices to the second storage device included in the plurality of storage devices to potentially improve at least a portion of the combined predicted metric data structure.

13. The method of claim 12 , further comprising:

determining for the first storage device a plurality of predicted metrics corresponding to respective ones of a plurality of metric types based at least in part on aggregated effective historical VM data stored at the first storage device; and

including the plurality of predicted metrics into the first storage device specific predicted metric data structure corresponding to the first storage device.

14. The method of claim 13 , further comprising:

determining the aggregated effective historical VM data stored at the first storage device based at least in part on adding to aggregated historical VM data storage at the first storage device historical data associated with an added VM from a source storage device associated with the added VM.

15. The method of claim 13 , further comprising:

determining the aggregated effective historical VM data stored at the first storage device based at least in part on subtracting historical data associated with a removed VM from aggregated historical VM data storage at the first storage device.

16. The method of claim 12 , further comprising selecting a combined predicted metric to improve from the combined predicted metric data structure.

17. The method of claim 16 , wherein the combined predicted metric data structure includes a plurality of combined predicted metrics and further comprising:

comparing each of at least a subset of the plurality of combined predicted metrics with a corresponding metric type threshold value; and

selecting the combined predicted metric included in the combined predicted metric data structure that is to be improved based at least in part on the comparison.

18. The method of claim 16 , further comprising:

using the selected combined predicted metric to select the VM to move off the first storage device;

determining the second storage device as a destination storage device to which to move the selected VM such that the selected combined predicted metric is predicted to improve subsequent to the selected VM being moved;

presenting a recommendation associated with moving the selected VM from the first storage device to the second storage device; and

updating a recommendation history in response to whether the recommendation is user selected to be implemented.

19. The method of claim 16 , wherein using the selected combined predicted metric to select the VM to move off the first storage device comprises:

receiving the selected combined predicted metric;

determining a plurality of available VMs associated with the plurality of storage devices; and

searching for a set of VMs, including the selected VM, wherein a removal of the set of VMs from one or more source storage devices associated with the set of VMs is predicted to improve the selected combined predicted metric.

20. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

determining a plurality of storage device specific predicted metric data structures corresponding to respective ones of a plurality of storage devices, wherein the plurality of storage device specific predicted metric data structures includes a first storage device specific predicted metric data structure corresponding to a first storage device and a second storage device specific predicted metric data structure corresponding to a second storage device, wherein the first storage device specific predicted metric data structure includes a first predicted metric corresponding to a metric type and the second storage device specific predicted metric data structure includes a second predicted metric corresponding to the metric type, wherein the metric type comprises a specified event;

combining the plurality of storage device specific predicted metric data structures corresponding to respective ones of the plurality of storage devices into a combined predicted metric data structure, wherein to combine the plurality of storage device specific predicted metric data structures comprises to determine a combined predicted metric corresponding to the metric type based at least in part on combining the first predicted metric and the second predicted metric, wherein the combined predicted metric corresponding to the metric type corresponds to a predicted probability that the specified event associated with the metric type will occur with respect to any storage device within the plurality of storage devices; and

using the combined predicted metric data structure to determine a virtual machine (VM) to move from the first storage device included in the plurality of storage devices to the second storage device included in the plurality of storage devices to potentially improve at least a portion of the combined predicted metric data structure.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2019
From: TINTRI INC.
To: TI ACQUISITION CORP.
Reel/Frame 048201/0666 →
CHANGE OF NAME Recorded Jan 31, 2019
From: TI ACQUISITION CORP.
To: TINTRI BY DDN, INC.
Reel/Frame 048211/0685 →
SECURITY INTEREST Recorded Oct 13, 2018
From: TI ACQUISITION CORP.
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 047229/0463 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2017
From: GRITTER, MARK G.; VEMPATI, SATYA; POPURI, SIVA
To: TINTRI INC.
Reel/Frame 044058/0248 →
Continuity (1)
Provisional Application 62448251 · Jan 19, 2017
Cited By (2)
US 12,282,793 US 12,348,583