IP Library Granted Patent US 9,621,478
Granted Patent B2
US 9,621,478 · App. 14/501,198 · Granted Apr 11, 2017

Software-defined networking single-source enterprise workload manager

Inventors: Casimer M. DeCusatis (Poughkeepsie, NY); Rajaram B. Krishnamurthy (Wappingers Falls, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
H04L47/70H04L41/0893H04L41/0896H04L41/5054H04L43/08H04L47/76H04L47/781H04L47/803H04L47/805H04L67/10H04L41/5025H04L43/087H04L43/0858
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,621,478
App. No.
14/501,198
Granted
Apr 11, 2017
Kind
B2
Abstract

Embodiments relate to a software-defined networking (SDN) single-source enterprise workload manager. An aspect includes a computer-implemented method for SDN single-source enterprise workload management. A network flow graph of a workload is received at an SDN controller in an enterprise network from a workload compiler of the enterprise network. The network flow graph defines interactions between a plurality of subprograms distributed in the enterprise network based on compile-time information of the workload. The SDN controller analyzes the network flow graph to identify the interactions between the subprograms as prompts. The SDN controller allocates network resources to define a plurality of flows through the enterprise network based on the prompts and characteristics of the enterprise network. Network traffic in the enterprise network is controlled based on the flows.

Claims (40)

1. A computer-implemented method for software-defined networking (SDN) single-source enterprise workload management, the method comprising:

receiving, at an SDN controller in an enterprise network, a network flow graph of a workload from a workload compiler of the enterprise network, the network flow graph defining interactions between a plurality of subprograms distributed in the enterprise network based on compile-time information of the workload determined by the workload compiler responsive to compiling a plurality of source code files of the workload, the workload comprising a distributed application formed from the subprograms executing on a plurality of servers distributed across the enterprise network to implement portions of the distributed application;

creating a local copy of the network flow graph within the SDN controller;

analyzing, by the SDN controller, the local copy of the network flow graph to identify the interactions between the subprograms as prompts;

expanding the local copy of the network flow graph to include currently known characteristics of the enterprise network;

allocating network resources, by the SDN controller, to define a plurality of flow tables for a plurality of flows through the enterprise network based on the prompts and the currently known characteristics of the enterprise network, wherein the flow tables are defined for a plurality of switches in the enterprise network and are deployed from the SDN controller to the switches;

controlling network traffic in the enterprise network based on the flows;

monitoring network traffic performance metrics for the flows at run-time; and

reallocating the network resources based on determining that at least one of the network traffic performance metrics does not meet at least one of a plurality of quality-of-service requirements, wherein the reallocating comprises updating one or more of the flow tables.

2. The method of claim 1 , wherein the quality-of-service requirements are defined on an end-to-end and per-link basis.

3. The method of claim 1 , further comprising:

monitoring network traffic locally at one or more network endpoints and intermediate nodes to determine the network traffic performance metrics; and

returning the network traffic performance metrics to the SDN controller.

4. The method of claim 1 , wherein reallocating the network resources further comprises remapping flows across a plurality of quality-of-service traffic classes.

5. The method of claim 1 , wherein reallocating the network resources further comprises reallocating one or more network endpoints of the flows on compute nodes to apply additional network traffic processing to the flows based on determining that insufficient bandwidth has been allocated.

6. The method of claim 1 , wherein reallocating the network resources further comprises allocating additional buffers at one or more nodes based on determining that jitter requirements are not met by the current allocation.

7. The method of claim 1 , further comprising:

providing hints about network resource allocation from the SDN controller to one or more workload managers at one or more network endpoints to enable the one or more workload managers to increase an allocation of processing resources at the one or more network endpoints to align with the network resource allocation to meet a service level agreement.

8. A computer program product for software-defined networking (SDN) single-source enterprise workload management, the computer program product comprising:

a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:

receiving, at an SDN controller in an enterprise network, a network flow graph of a workload from a workload compiler of the enterprise network, the network flow graph defining interactions between a plurality of subprograms distributed in the enterprise network based on compile-time information of the workload determined by the workload compiler responsive to compiling a plurality of source code files of the workload, the workload comprising a distributed application formed from the subprograms executing on a plurality of servers distributed across the enterprise network to implement portions of the distributed application;

creating a local copy of the network flow graph within the SDN controller;

analyzing, by the SDN controller, the local copy of the network flow graph to identify the interactions between the subprograms as prompts;

expanding the local copy of the network flow graph to include currently known characteristics of the enterprise network;

allocating network resources, by the SDN controller, to define a plurality of flow tables for a plurality of flows through the enterprise network based on the prompts and the currently known characteristics of the enterprise network, wherein the flow tables are defined for a plurality of switches in the enterprise network and are deployed from the SDN controller to the switches;

controlling network traffic in the enterprise network based on the flows;

monitoring network traffic performance metrics for the flows at run-time; and

reallocating the network resources based on determining that at least one of the network traffic performance metrics does not meet at least one of a plurality of quality-of-service requirements, wherein the reallocating comprises updating one or more of the flow tables.

9. The computer program product of claim 8 , wherein the quality-of-service requirements are defined on an end-to-end and per-link basis.

10. The computer program product of claim 8 , further comprising:

monitoring network traffic locally at one or more network endpoints and intermediate nodes to determine the network traffic performance metrics; and

returning the network traffic performance metrics to the SDN controller.

11. The computer program product of claim 8 , wherein reallocating the network resources further comprises remapping flows across a plurality of quality-of-service traffic classes.

12. The computer program product of claim 8 , wherein reallocating the network resources further comprises reallocating one or more network endpoints of the flows on compute nodes to apply additional network traffic processing to the flows based on determining that insufficient bandwidth has been allocated.

13. The computer program product of claim 8 , wherein reallocating the network resources further comprises allocating additional buffers at one or more nodes based on determining that jitter requirements are not met by the current allocation.

14. The computer program product of claim 8 , further comprising:

providing hints about network resource allocation from the SDN controller to one or more workload managers at one or more network endpoints to enable the one or more workload managers to increase an allocation of processing resources at the one or more network endpoints to align with the network resource allocation to meet a service level agreement.

15. The method of claim 1 , wherein the workload compiler generates the network flow graph based on a source code analysis of the workload to determine enterprise network connections between the subprograms of the workload that are distributed across the enterprise network.

16. The method of claim 1 , further comprising:

reallocating the network resources at anticipated peak demand times based on observed patterns in the network traffic performance metrics.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2014
From: DECUSATIS, CASIMER M.; KRISHNAMURTHY, RAJARAM B.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 033847/0336 →
Continuity (2)
Continuation 14101393 · Dec 10, 2013
Related Publication 20150163159A1 · Jun 11, 2015