IP Library Granted Patent US 10,445,129
Granted Patent B2
US 10,445,129 · App. 15/799,423 · Granted Oct 15, 2019

Virtual computing instance transfer path selection

Inventors: Siddharth Ekbote (San Jose, CA); Leon Cui (Beijing, CN)
Assignee: VMware, Inc.
G06F9/45558H04L41/147H04L43/045H04L43/0888G06F2009/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,445,129
App. No.
15/799,423
Granted
Oct 15, 2019
Kind
B2
Abstract

The disclosure provides an approach for selecting a path to use in transferring a virtual computing instance such as a virtual machine (VM), across data centers. In one embodiment, throughput and throttling information are sampled (e.g., per second) when VMs are transferred from a source data center to a destination data center, and the sampled information is used to construct histograms that provide performance profiles of the VM transfers. Such histogram information across a number of VM transfers can then be mined to determine trends. In turn, trends determined from historical histogram information may be extrapolated into the future to predict performance of a subsequent VM transfer operation and to select a path and/or destination storage and host pair to use for the VM transfer operation.

Claims (56)

1. A computer-implemented method of transferring a first virtual computing instance from a first data center to a second data center, comprising:

determining at least one of throughput and throttling information associated with transfers of one or more virtual computing instances over a plurality of paths from a host and a storage unit in the first data center to one or more hosts and one or more storage units in the second data center;

generating, for each of the transfers of the one or more virtual computing instances, one or more histograms using the at least one of throughput and throttling information that is determined for the transfer;

predicting, for each of the plurality of paths, a corresponding likelihood of success if the first virtual computing instance were transferred over the path based, at least in part, on one or more distributions of samples in the histograms generated for transfers of virtual computing instances over the path; and

transferring the first virtual computing instance over one of the plurality of paths based, at least in part, on the predicted likelihood of success corresponding to the one of the plurality of paths.

2. The computer-implemented method of claim 1 , wherein the predicting, for each of the plurality of paths, the corresponding likelihood of success includes:

dividing each of the histograms generated for transfers of the one or more virtual computing instances over the path into a plurality of zones;

tagging each of the one or more histograms with one or more zone tags based, at least in part, on distributions of samples across the plurality of zones;

determining a confidence weight for each histogram of the one or more histograms based, at least in part, on the one or more zone tags the histogram is tagged with; and

determining a confidence score for the path based, at least in part, on the confidence weights of each of the one or more histograms.

3. The computer-implemented method of claim 1 , wherein the predicting, for each of the plurality of paths, the corresponding likelihood of success includes:

determining a corresponding confidence score reflecting throughput and/or reliability of the path based, at least in part, on the one or more distributions of samples in the histograms generated for transfers of virtual computing instances over the path;

determining a current state of a network connection in the path; and

determining the corresponding likelihood of success based on the corresponding confidence score determined for the path and the current state of the network connection in the path.

4. The computer-implemented method of claim 1 , further comprising, subsequent to the transfer of the first virtual computing instance:

determining at least one of throughput and throttling information associated with the transfer of the first virtual computing instance; and

storing the determined at least one of throughput and throttling information associated with the transfer of the first virtual computing instance in one or more databases.

5. The computer-implemented method of claim 4 , further comprising, prior to the storing:

completing the transfer of the first virtual computing instance over the one of the plurality of paths; and

determining that a duration of the transfer of the first virtual computing instance over the one of the plurality of paths is longer than a predefined duration.

6. The computer-implemented method of claim 1 , wherein the transfers of the one or more virtual computing instances over the plurality of paths includes transfers of dummy virtual computing instances used to test the plurality of paths.

7. The computer-implemented method of claim 1 , further comprising, prior to initiating the transfer of the first virtual computing instance over the one of the plurality of paths, transferring a dummy virtual computing instance test over the one of the plurality of paths.

8. The computer-implemented method of claim 1 , wherein the determined at least one of throughput and throttling information includes at least one of data insertion rate information, data delivery rate information, throttling events information, and window slam events information.

9. The computer-implemented method of claim 1 , wherein the one of the plurality of paths is one of a wide area network and a direct connect network.

10. The computer-implemented method of claim 1 , further comprising, predicting, for each of the plurality of paths, a corresponding likelihood of high throughput if the first virtual computing instance were transferred over the path based, at least in part, on one or more distributions of samples in the histograms generated for transfers of virtual computing instances over the path.

11. The computer-implemented method of claim 1 , wherein the virtual computing instance is a virtual machine.

12. A non-transitory computer-readable storage medium comprising instructions, which when executed by a computing system, causes the computing system to carry out operations for transferring a first virtual computing instance from a first data center to a second data center, the operations comprising:

determining at least one of throughput and throttling information associated with transfers of one or more virtual computing instances over a plurality of paths from a host and a storage unit in the first data center to one or more hosts and one or more storage units in the second data center;

generating, for each of the transfers of the one or more virtual computing instances, one or more histograms using the at least one of throughput and throttling information that is determined for the transfer;

predicting, for each of the plurality of paths, a corresponding likelihood of success if the first virtual computing instance were transferred over the path based, at least in part, on one or more distributions of samples in the histograms generated for transfers of virtual computing instances over the path; and

transferring the first virtual computing instance over one of the plurality of paths based, at least in part, on the predicted likelihood of success corresponding to the one of the plurality of paths.

13. The computer-readable storage medium of claim 12 , wherein the predicting, for each of the plurality of paths, the corresponding likelihood of success includes:

dividing each of the histograms generated for transfers of the one or more virtual computing instances over the path into a plurality of zones;

tagging each of the one or more histograms with one or more zone tags based, at least in part, on distributions of samples across the plurality of zones;

determining a confidence weight for each histogram of the one or more histograms based, at least in part, on the one or more zone tags the histogram is tagged with; and

determining a confidence score for the path based, at least in part, on the confidence weights of each of the one or more histograms.

14. The computer-readable storage medium of claim 12 , wherein the predicting, for each of the plurality of paths, the corresponding likelihood of success includes:

determining a corresponding confidence score reflecting throughput and/or reliability of the path based, at least in part, on the one or more distributions of samples in the histograms generated for transfers of virtual computing instances over the path;

determining a current state of a network connection in the path; and

determining the corresponding likelihood of success based on the corresponding confidence score determined for the path and the current state of the network connection in the path.

15. The computer-implemented method of claim 12 , the operations further comprising, subsequent to the transfer of the first virtual computing instance:

determining at least one of throughput and throttling information associated with the transfer of the first virtual computing instance; and

storing the determined at least one of throughput and throttling information associated with the transfer of the first virtual computing instance in one or more databases.

16. The computer-readable storage medium of claim 15 , the operations further comprising, prior to the storing:

completing the transfer of the first virtual computing instance over the one of the plurality of paths; and

determining that a duration of the transfer of the first virtual computing instance over the one of the plurality of paths is longer than a predefined duration.

17. The computer-implemented method of claim 12 , wherein the transfers of the one or more virtual computing instances over the plurality of paths includes transfers of dummy virtual computing instances used to test the plurality of paths.

18. The computer-implemented method of claim 12 , the operations further comprising, prior to initiating the transfer of the first virtual computing instance over the one of the plurality of paths, transferring a dummy virtual computing instance test over the one of the plurality of paths.

19. The computer-implemented method of claim 12 , wherein the determined at least one of throughput and throttling information includes at least one of data insertion rate information, data delivery rate information, throttling events information, and window slam events information.

20. A system, comprising:

a memory; and

a processor storing one or more applications, which, when executed on the processor, perform operations for transferring a first virtual computing instance from a first data center to a second data center, the operations comprising:

determining at least one of throughput and throttling information associated with transfers of one or more virtual computing instances over a plurality of paths from a host and a storage unit in the first data center to one or more hosts and one or more storage units in the second data center,

generating, for each of the transfers of the one or more virtual computing instances, one or more histograms using the at least one of throughput and throttling information that is determined for the transfer,

predicting, for each of the plurality of paths, a corresponding likelihood of success if the first virtual computing instance were transferred over the path based, at least in part, on one or more distributions of samples in the histograms generated for transfers of virtual computing instances over the path, and

transferring the first virtual computing instance over one of the plurality of paths based, at least in part, on the predicted likelihood of success corresponding to the one of the plurality of paths.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2017
From: EKBOTE, SIDDHARTH; CUI, LEON
To: VMWARE, INC.
Reel/Frame 044079/0121 →
Continuity (1)
Related Publication 20190129738A1 · May 2, 2019