IP Library Granted Patent US 9,749,402
Granted Patent B2
US 9,749,402 · App. 15/054,085 · Granted Aug 29, 2017

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,749,402
App. No.
15/054,085
Granted
Aug 29, 2017
Kind
B2
Abstract

In one embodiment, a system includes a switch controller configured to communicate with a plurality of network devices in a network. The switch controller includes a processor and logic integrated with and/or executable by the processor. The logic is configured to determine a throughput associated with a workload in the network and select an optimum location for the workload in the network based on the throughput associated with the workload. In another embodiment, a computer program product includes a computer readable storage medium having program code embodied therewith. The embodied program code is readable/executable by a processor to cause the processor to determine a throughput associated a workload in a network. The embodied program code is also readable/executable by the processor to cause the processor to select an optimum location for the workload in the network based on the throughput associated with the workload.

Claims (49)

1. A system, comprising:

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

determine a throughput associated with a workload in the network; and

select an optimum location for the workload in the network based on the throughput associated with the workload and based on determining one or more most frequent communication partners for the workload in the network; and

instantiate the workload on the selected optimum location.

2. The system as recited in claim 1 , wherein the logic configured to determine the throughput associated with the workload in the network determines the throughput in response to a request to instantiate the workload.

3. The system as recited in claim 1 , wherein the logic configured to determine the throughput associated with the workload in the network determines the throughput in response to a request to move the workload in the network.

4. The system as recited in claim 1 , wherein the logic configured to select the optimum location for the workload in the network based on the throughput associated with the workload is configured to:

determine a plurality of possible locations for instantiation of the workload;

determine a plurality of possible paths between each possible instantiation 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 workload.

5. The system as recited in claim 4 , wherein the logic is further configured to determine a latency associated with the workload, wherein the logic configured to determine which of the plurality of possible paths are capable of handling the throughput associated with the workload is further configured to determine which of the plurality of possible paths are capable of providing the latency associated with the workload, and wherein the logic configured to select the optimum location for the workload is further configured to select the optimum location based further on the latency associated with the workload in addition to the throughput associated with the workload and the one or more most frequent communication partners for the workload in the network.

6. The system as recited in claim 1 , wherein the logic configured to select the optimum location for the workload based on the throughput associated with the workload is further configured to:

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

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

7. 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 the plurality of ports in the network.

8. The system as recited in claim 7 , wherein the statistics further describe a latency of the plurality of ports in the network.

9. The system as recited in claim 7 , wherein the throughput is one of: a current throughput or an average throughput.

10. A computer program product comprising a computer readable storage device having program code embodied therewith, the embodied program code read/executed by a processor to cause the processor to:

determine a throughput associated a workload in a network;

select an optimum location for the workload in the network based on the throughput associated with the workload and based on determining one or more most frequent communication partners for the workload in the network; and

instantiate the workload on the selected optimum location.

11. The computer program product as recited in claim 10 , wherein the program code read/executed by the processor to select the optimum location for the workload in the network based on the throughput associated with the workload is further readable/executable by the processor to:

determine a plurality of possible locations for instantiation of the workload;

determine a plurality of possible paths between each possible instantiation 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 workload.

12. The computer program product as recited in claim 11 , wherein the program code is further

read/executed by the processor to determine a latency associated with the workload, wherein the program code read/executed by the processor to determine which of the plurality of possible paths are capable of handling the throughput associated with the workload is further read/executed by the processor to determine which of the plurality of possible paths are capable of providing the latency associated with the workload, and wherein the program code read/executed by the processor to select the optimum location for the workload in the network comprises program code read/executed by the processor to select the optimum location based further on the latency associated with the workload in addition to the throughput associated with the workload and the determining one or more most frequent communication partners for the workload in the network.

13. The computer program product as recited in claim 10 , wherein the program code read/executed by the processor to select the optimum location for the workload based on the throughput associated with the workload is further

read/executed by the processor to:

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

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

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

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

16. The computer program product as recited in claim 12 , wherein the throughput is one of: a current throughput or an average throughput.

17. A method comprising:

a switch controller determining a throughput associated with a workload in a network; and

selecting an optimum location for the workload in the network based on the throughput associated with workload and based on determining one or more most frequent communication partners for the workload in the network; and

instantiating the workload on the selected optimum location.

18. The method as recited in claim 17 , wherein the selecting the optimum location for the workload in the network based on the throughput associated with the workload comprises:

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

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

19. The method as recited in claim 17 , wherein the selecting the optimum location for the workload in the network based on the throughput associated with the workload comprises:

determining a plurality of possible locations for instantiation of the workload;

determining a plurality of possible paths between each possible instantiation 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 workload.

20. The method as recited in claim 19 , further comprising determining a latency associated with the workload, wherein the determining which of the plurality of possible paths are capable of handling the throughput associated with the workload comprises determining which of the plurality of possible paths are capable of providing the latency associated with the workload, and wherein the selecting the optimum location for the workload is based further on the latency associated with the workload in addition to the throughput associated with the workload and the one or more most frequent communication partners for the workload in the network.

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

22. The method as recited in claim 21 , wherein the statistics further describe a latency of the plurality of ports in the network, and wherein the throughput is one of: a current throughput or an average throughput.

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 Feb 25, 2016
From: DECUSATIS, CASIMER M.; GUSAT, MIRCEA; JAIN, VINIT; KAMBLE, KESHAV G.; RECIO, RENATO J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 037834/0198 →