IP Library Granted Patent US 9,736,043
Granted Patent B2
US 9,736,043 · App. 14/593,326 · Granted Aug 15, 2017

Optimization of resource utilization in a collection of devices

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,736,043
App. No.
14/593,326
Granted
Aug 15, 2017
Kind
B2
Abstract

Technologies are described herein for optimizing resource utilization in a collection of devices having hierarchical network layers. Some example technologies may identify packets exchanged between processes executed on collections of server computers. The hierarchical network layers may couple the collections of server computers. The technologies may determine virtual machine groups based on the identified packets. Each of the virtual machine groups may identify one or more virtual machines configured on the collections of server computers to execute one or more processes. The virtual machine groups may be configured to increase data traffic in a lower layer in the hierarchical network layers and to decrease the data traffic in a higher layer in the hierarchical network layers. The technologies may relocate the virtual machines between the collections of server computers according to the virtual machine groups.

Claims (39)

1. A method to manage data traffic in a data center that includes servers configured in communication over a hierarchical network with a plurality of layers, the method comprising:

monitoring a first packet transfer of first packets over the hierarchical network between a first virtual machine under execution by a first server and a second virtual machine under execution by a second server, wherein individual ones of the first packets include a first identifier that corresponds to the first virtual machine and a second identifier that corresponds to the second virtual machine;

based, at least in part, on the monitoring the first packet transfer, determining that the first packet transfer utilizes a higher layer of the hierarchical network; and

relocating the first virtual machine to a third server such that a second packet transfer of second packets over the hierarchical network between the first virtual machine under execution by the third server and the second virtual machine under execution by the second server utilizes a layer of the hierarchical network other than the higher layer of the hierarchical network, wherein the relocating the first virtual machine is based on at least a level of data traffic at the higher layer, and wherein the level of data traffic at the higher layer indicates whether the relocating the first virtual machine occurs:

during execution of one or more processes such that the execution of the one or more processes is configured to pause for the relocating, or

while the first virtual machine sleeps such that disruption to the execution of the one or more processes is reduced.

2. The method of claim 1 , wherein the determining that the first packet transfer utilizes the higher layer of the hierarchical network includes determining that the first packet transfer utilizes a core layer.

3. The method of claim 1 , wherein the second packet transfer utilizes one or more of an edge layer or an aggregation layer of the hierarchical network.

4. The method of claim 1 , further comprising:

calculating a total data size of the first packet transfer, based on a first data size of each of the first packets; and

determining that the total data size exceeds a data size threshold.

5. The method of claim 1 , wherein the relocating the first virtual machine to the third server includes relocating the first virtual machine to a server that is in a same rack of the data center as the second server.

6. The method of claim 1 , wherein the third server and the second server are coupled to a network element of an edge layer of the hierarchical network.

7. The method of claim 1 , wherein the third server and the second server are coupled to a network element of an aggregation layer of the hierarchical network.

8. A system, comprising:

a data center that includes servers configured in communication over a hierarchical network with a plurality of layers, wherein at least one of the servers is configured with a module operative to perform actions that cause one or more of the servers to:

monitor a first packet transfer of a first plurality of packets over the hierarchical network between a first virtual machine under execution by a first server and a second virtual machine under execution by a second server, wherein individual ones of the first plurality of packets comprises a first identifier that corresponds to the first virtual machine and a second identifier that corresponds to the second virtual machine;

based, at least in part, on the monitored first packet transfer of the first plurality of packets, determine that the first packet transfer utilizes a higher layer of the hierarchical network; and

in response to the determination, relocate the first virtual machine to the second server, wherein the relocation of the first virtual machine is based on at least a level of data traffic at the higher layer, the level of data traffic at the higher layer being indicative of whether the relocation of the first virtual machine occurs:

during execution of one or more processes such that the execution of the one or more processes is configured to pause for the relocation, or

while the first virtual machine sleeps such that disruption to the execution of the one or more processes is reduced.

9. The system of claim 8 , wherein the higher layer of the hierarchical network includes a core layer.

10. The system of claim 8 , wherein after the relocation of the first virtual machine to the second server, a second packet transfer utilizes one or more of an edge layer or an aggregation layer of the hierarchical network, rather than the higher layer of the hierarchical network.

11. The system of claim 8 , wherein the module is further configured to calculate a total data size of the first packet transfer and determine that the total data size exceeds a data size threshold.

12. The system of claim 8 , wherein the second server is in a different rack of the data center than the first server.

13. A non-transitory computer-readable medium having stored thereon computer-executable instructions that, in response to execution by at least one server of a plurality of servers of a data center, cause the at least one server to perform operations comprising:

monitor a first packet transfer of first packets over a hierarchical network between a first virtual machine under execution by a first server and a second virtual machine under execution by a second server, wherein individual ones of the first packets include a first identifier that corresponds to the first virtual machine and a second identifier that corresponds to the second virtual machine;

determine, based at least in part on the monitored first packet transfer, that the first packet transfer utilizes a higher layer of the hierarchical network; and

relocate the first virtual machine to a third server such that a second packet transfer of second packets over the hierarchical network between the first virtual machine under execution by the third server and the second virtual machine under execution by the second server utilizes a layer of the hierarchical network other than the higher layer of the hierarchical network, wherein the relocation of the first virtual machine is based on at least a level of data traffic at the higher layer, the level of data traffic at the higher layer being indicative of whether the relocation of the first virtual machine occurs:

during execution of one or more processes such that the execution of the one or more processes is configured to pause for the relocation, or

while the first virtual machine sleeps such that disruption to the execution of the one or more processes is reduced.

14. The non-transitory computer-readable medium of claim 13 , wherein the higher layer of the hierarchical network includes a core layer.

15. The non-transitory computer-readable medium of claim 13 , wherein the second packet transfer utilizes one or more of an edge layer or an aggregation layer of the hierarchical network.

16. The non-transitory computer-readable medium of claim 13 , wherein the operations further comprise:

calculate a total data size of the first packet transfer, based on a first data size of each of the first packets; and

determine that the total data size exceeds a data size threshold.

17. The non-transitory computer-readable medium of claim 13 , wherein the third server is in a same rack of the data center as the second server.

18. The non-transitory computer-readable medium of claim 13 , wherein the third server and the second server are coupled to a network element of an edge layer of the hierarchical network.

19. The non-transitory computer-readable medium of claim 13 , wherein the third server and the second server are coupled to a network element of an aggregation layer of the hierarchal network.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2021
From: EMPIRE TECHNOLOGY DEVELOPMENT LLC
To: INVINCIBLE IP LLC
Reel/Frame 055594/0500 →
RELEASE OF SECURITY INTEREST Recorded Oct 21, 2020
From: CRESTLINE DIRECT FINANCE, L.P.
To: EMPIRE TECHNOLOGY DEVELOPMENT LLC
Reel/Frame 054129/0627 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2020
From: KRUGLICK, EZEKIEL
To: ARDENT RESEARCH CORPORATION
Reel/Frame 053848/0066 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2020
From: ARDENT RESEARCH CORPORATION
To: EMPIRE TECHNOLOGY DEVELOPMENT LLC
Reel/Frame 053848/0133 →
SECURITY INTEREST Recorded Jan 29, 2019
From: EMPIRE TECHNOLOGY DEVELOPMENT LLC
To: CRESTLINE DIRECT FINANCE, L.P.
Reel/Frame 048373/0217 →