IP Library Granted Patent US 9,307,018
Granted Patent B2
US 9,307,018 · App. 14/024,497 · Granted Apr 5, 2016

Workload deployment with real-time consideration of global network congestion

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,307,018
App. No.
14/024,497
Granted
Apr 5, 2016
Kind
B2
Abstract

In one embodiment, a system includes a switch controller configured to communicate with each of a plurality of network devices in a network, the switch controller including a processor and logic integrated with and/or executable by the processor, the logic being configured to: receive a request to instantiate a new workload or to move a current workload in the network, determine a throughput associated with the new or current workload, and select an optimum location to place the new workload or to move the current workload in the network based on the throughput associated with the new or current workload. According to another embodiment, a method includes receiving a request at a switch controller to instantiate or move a workload, determining a throughput associated with the workload, and selecting an optimum location to place or move the workload based on the throughput associated with the workload.

Claims (48)

1. A system, comprising:

a switch controller configured to communicate with each of a plurality of network devices in a network, the switch controller comprising a hardware processor and logic integrated with and/or executable by the processor, the logic being configured to:

receive a request to instantiate a new workload or to move a current workload in the network;

determine a throughput associated with the new or current workload; and

select an optimum location to place the new workload or to move the current workload in the network based on the throughput associated with the new or current workload,

wherein the logic configured to select the optimum location to place the new workload or to move the current workload based on the throughput associated with the new workload or the current workload is configured to:

determine one or more most frequent communication partners for the new or current workload in the network;

determine a plurality of possible locations to instantiate the new workload or to move the current workload;

determine a plurality of possible paths between each possible location and the one or more most frequent communication partners; and

determine which of the plurality of possible paths are capable of handling the throughput associated with the new or current workload.

2. The system as recited in claim 1 , wherein the logic configured to select the optimum location to place the new workload or to move the current workload based on the throughput associated with the new or current workload is further configured to:

determine a possible location which has one or more shortest paths from the plurality of possible paths that are capable of handling the throughput; and

select the possible location associated with the one or more shortest paths to be the optimum location.

3. The system as recited in claim 2 , wherein the logic is further configured to determine a latency associated with the new workload or the current workload, wherein the logic configured to determine which of the plurality of possible paths are capable of handling the throughput associated with the new or current workload is further configured to determine which of the plurality of possible paths are capable of providing the latency associated with the new workload or the current workload, and wherein the logic configured to select the optimum location to place the new workload or to move the current workload is further based on the latency associated with the new workload or the current workload.

4. The system as recited in claim 1 , wherein the logic is further configured to receive statistics from a plurality of ports in the network describing at least; throughput associated with each of the plurality of ports in the network, and a latency of each of the plurality of ports in the network.

5. The system as recited in claim 4 , wherein the logic is further configured to build a construct that represents at least latency and throughput for at least one port on a plurality of network devices within a physical fabric of the network.

6. The system as recited in claim 4 , wherein the throughput is either a current real-time throughput or a current average throughput measured over a predetermined period of time.

7. A computer program product for deploying a workload in a network, the computer program product comprising a computer readable hardware storage device having program code embodied therewith, the program code readable/executable by a processor to:

receive, using the processor, a request to instantiate a new workload or to move a current workload in a network;

determine a throughput associated with the new or current workload; and

select an optimum location to place the new workload or to move the current workload in the network based on the throughput associated with the new or current workload,

wherein the program code readable/executable by the processor to select the optimum location to place the new workload or to move the current workload based on the throughput associated with the new workload or the current workload is configured to:

determine one or more most frequent communication partners for the new or current workload in the network;

determine a plurality of possible locations to instantiate the new workload or to move the current workload;

determine a plurality of possible paths between each possible location and the one or more most frequent communication partners; and

determine which of the plurality of possible paths are capable of handling the throughput associated with the new or current workload.

8. The computer program product as recited in claim 7 , wherein the program code readable/executable by the processor to select the optimum location to place the new workload or to move the current workload based on the throughput associated with the new or current workload is further configured to:

determine a possible location which has one or more shortest paths from the plurality of possible paths that are capable of handling the throughput; and

select the possible location associated with the one or more shortest paths to be the optimum location.

9. The computer program product as recited in claim 8 , wherein the program code is further readable/executable by the processor to determine a latency associated with the new workload or the current workload, wherein the program code readable/executable by the processor to determine which of the plurality of possible paths are capable of handling the throughput associated with the new or current workload is further configured to determine which of the plurality of possible paths are capable of providing the latency associated with the new workload or the current workload, and wherein the program code readable/executable by the processor to select the optimum location to place the new workload or to move the current workload is further based on the latency associated with the new workload or the current workload.

10. The computer program product as recited in claim 7 , wherein the program code readable/executable by the processor is further configured to receive statistics from a plurality of ports in the network describing at least throughput associated with each of the plurality of ports in the network.

11. The computer program product as recited in claim 10 , wherein the statistics further describe a latency of each of the plurality of ports in the network.

12. The computer program product as recited in claim 10 , wherein the throughput is either a current real-time throughput or a current average throughput measured over a predetermined period of time.

13. A method for deploying a workload in a network, the method comprising:

receiving a request at a switch controller to instantiate a new workload or to move a current workload in a network;

determining a throughput associated with the new or current workload; and

selecting an optimum location to place the new workload or to move the current workload based on the throughput associated with the new or current workload by:

determining one or more most frequent communication partners for the new or current workload in the network;

determining a plurality of possible locations to instantiate the new workload or to move the current workload;

determining a plurality of possible paths between at least one possible location and the one or more most frequent communication partners; and

determining which of the plurality of possible paths are capable of handling the throughput associated with the new or current workload.

14. The method as recited in claim 13 , further comprising building a construct that represents at least latency and throughput for at least one port on a plurality of network devices within a physical fabric of the network.

15. The method as recited in claim 13 , wherein the selecting the optimum location to place the new workload or to move the current workload based on the throughput associated with the new or current workload further comprises:

determining a possible location which has one or more shortest paths from the plurality of possible paths that are capable of handling the throughput; and

selecting the possible location associated with the one or more shortest paths to be the optimum location.

16. The method as recited in claim 15 , further comprising determining a latency associated with the new workload or the current workload, wherein the determining which of the plurality of possible paths are capable of handling the throughput associated with the new or current workload further comprises determining which of the plurality of possible paths are capable of providing the latency associated with the new workload or the current workload, and wherein the selecting the optimum location to place the new workload or to move the current workload is further based on the latency associated with the new workload or the current workload.

17. The method as recited in claim 13 , further comprising receiving statistics from a plurality of ports in the network describing at least throughput associated with each of the plurality of ports in the network.

18. The method as recited in claim 17 , wherein the statistics further describe a latency of each of the plurality of ports in the network, and wherein the throughput is either a current real-time throughput or a current average throughput measured over a predetermined period of time.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 057885/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2013
From: DECUSATIS, CASIMER M.; GUSAT, MIRCEA; JAIN, VINIT; KAMBLE, KESHAV G.; RECIO, RENATO J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 031187/0330 →