IP Library › Granted Patent US 10,530,867
Granted Patent B2
US 10,530,867 · App. 15/437,004 · Granted Jan 7, 2020

Software-defined networking proxy gateway

Inventors: Guo Xing He (Suzhou, CN); Shi X. Ruan (Wuxi, CN); Gang Tang (Nanjing, CN); Na Zhu (Wuxi, CN)
Assignee: International Business Machines Corporation
H04L67/141H04L12/4633H04L12/4641H04L67/10H04L67/28
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,530,867
App. No.
15/437,004
Filed
Feb 20, 2017
Granted
Jan 7, 2020
Kind
B2
Examiner
ZONG, RUOLEI
Art Unit
2441
USPC
709/228
Abstract

Aspects of the present invention provide an approach for improving communications between a software-defined networking (SDN) controller and a hardware gateway in a SDN. In an embodiment, a SDN proxy gateway is installed. The SDN proxy gateway communicates with the SDN controller on behalf of the hardware gateway. To accomplish this, the SDN proxy gateway processes a communication sent from the SDN controller to the hardware gateway. This communication includes a request from a computing node to establish a network communication channel. The SDN proxy gateway translates these instructions (e.g., the logical network and endpoint information), which are in the native format of the SDN controller, into a standardized hardware gateway protocol. The translated information that the hardware gateway can use to establish the network connection is then pushed to the hardware gateway by the proxy gateway.

Claims (54)

1. A software-defined networking (SDN) communication system, comprising:

a server computer system in a networked computing environment;

a plurality of computing nodes operating within the server system;

a hardware gateway that connects the server computer system to a network,

a SDN controller; and

a SDN proxy gateway operating outside of an operation of the SDN controller and being an intermediary between the hardware gateway and the SDN controller, the SDN proxy gateway having:

a SDN controller driver that processes a communication between the SDN controller and the hardware gateway using a set of application programmer interfaces (APIs) that includes a plurality of APIs corresponding to each of plurality of different types of SDN controllers, the communication including a request from a computing node of the plurality of computing nodes to establish a connection to the network;

a SDN proxy gateway translator that transforms instructions within the communication that are in a first format of the SDN controller into translated instructions in a standardized hardware gateway protocol; and

a SDN gateway driver that pushes the translated instructions for establishing the connection to the network to the hardware gateway.

2. The system of claim 1 , wherein the instructions include logical network information and endpoint information.

3. The system of claim 1 , the controller driver further comprising:

a driver manager that manages a plurality of different drivers and selects a proper driver to process the incoming communication from the SDN controller.

4. The system of claim 1 , the SDN proxy gateway translator further comprising:

a layer 2 gateway translator that bridges a SDN network with a physical LAN network; and

a layer 3 gateway translator that provides routing between subnets in the SDN network and subnets in the physical LAN network.

5. The system of claim 1 , the gateway driver further comprising:

a set of physical network APIs for physical network configurations corresponding to different types of hardware gateways; and

a hardware driver manager that manages a plurality of different hardware drivers and selects a proper hardware driver to communicate with the hardware gateway.

6. The system of claim 1 , further comprising a connection establisher that establishes, in response to the receipt of the translated instructions, the connection to the network by building a direct data path from the hardware gateway to a hypervisor on which the computing node is running, wherein the direct data path is a Virtual eXtensible Local Area Network (VXLAN) tunnel.

7. The system of claim 1 , wherein the networked computing environment is a cloud computing environment, wherein the SDN proxy gateway is a stand-alone utility included within a hypervisor in the cloud computing environment, and wherein the computing node is a cloud resource selected from a group, comprising: a virtual machine instance and a container virtual machine.

8. A method for establishing a software-defined networking (SDN) connection to a network in a networked computing environment, comprising:

processing a communication between a SDN controller and a hardware gateway using a set of application programmer interfaces (APIs) that includes a plurality of APIs corresponding to each of plurality of different types of SDN controllers on a SDN proxy gateway that operates outside of an operation of the SDN controller and is an intermediary between the hardware gateway and the SDN controller, the communication including a request from a computing node of a plurality of computing nodes on a server computer system to establish a connection to the network;

transforming, by the SDN proxy gateway, instructions within the communication that are in a first format of the SDN controller into translated instructions in a standardized hardware gateway protocol; and

pushing, by the SDN proxy gateway, the translated instructions for establishing the connection to the network to the hardware gateway.

9. The method of claim 8 , wherein the instructions include logical network information and endpoint information.

10. The method of claim 8 , the processing further comprising:

managing a plurality of different drivers corresponding to the different types of SDN controllers; and

selecting, from the plurality of different drivers, a proper driver to process the incoming communication from the SDN controller.

11. The method of claim 8 , wherein the translated instructions include:

a set of layer 2 gateway translations that bridge a SDN network with a physical LAN network; and

a set of layer 3 gateway translations that provide routing between subnets in the SDN network and subnets in the physical LAN network.

12. The method of claim 8 , the pushing further comprising:

providing a set of physical application programmer interfaces (APIs) for physical network configurations corresponding to different types of hardware gateways;

managing a plurality of different hardware drivers corresponding to the different types of hardware gateways; and

selecting, from the plurality of different hardware drivers, a proper hardware driver to communicate with the hardware gateway.

13. The method of claim 8 , further comprising establishing, in response to the receipt of the translated instructions, the connection to the network by building a direct data path from the hardware gateway to a hypervisor on which the computing node is running, wherein the direct data path is a Virtual eXtensible Local Area Network (VXLAN) tunnel.

14. The method of claim 8 , wherein the networked computing environment is a cloud computing environment, wherein the SDN proxy gateway is a stand-alone utility included within a hypervisor in the cloud computing environment, and wherein the computing node is a cloud resource selected from a group, comprising: a virtual machine instance and a container virtual machine.

15. A computer program product embodied in a computer readable storage medium that, when executed by a computer device, performs a method for establishing a software-defined networking (SDN) connection to a network in a networked computing environment, the method comprising:

processing a communication between a SDN controller and a hardware gateway using a set of application programmer interfaces (APIs) that includes a plurality of APIs corresponding to each of plurality of different types of SDN controllers on a SDN proxy gateway that operates outside of an operation of the SDN controller and is an intermediary between the hardware gateway and the SDN controller, the communication including a request from a computing node of a plurality of computing nodes on a server computer system to establish a connection to the network;

transforming, by the SDN proxy gateway, instructions within the communication that are in a first format of the SDN controller into translated instructions in a standardized hardware gateway protocol; and

pushing, by the SDN proxy gateway, the translated instructions for establishing the connection to the network to the hardware gateway.

16. The program product of claim 15 , the processing further comprising:

providing a set of logical application programmer interfaces (APIs) for logical network configurations corresponding to different types of SDN controllers;

managing a plurality of different drivers corresponding to the different types of SDN controllers; and

selecting, from the plurality of different drivers, a proper driver to process the incoming communication from the SDN controller.

17. The program product of claim 15 , wherein the translated instructions include:

a set of layer 2 gateway translations that bridge a SDN network with a physical LAN network; and

a set of layer 3 gateway translations that provide routing between subnets in the SDN network and subnets in the physical LAN network.

18. The program product of claim 15 the pushing further comprising:

providing a set of physical application programmer interfaces (APIs) for physical network configurations corresponding to different types of hardware gateways;

managing a plurality of different hardware drivers corresponding to the different types of hardware gateways; and

selecting, from the plurality of different hardware drivers, a proper hardware driver to communicate with the hardware gateway.

19. The program product of claim 15 , the method further comprising establishing, in response to the receipt of the translated instructions, the connection to the network by building a direct data path from the hardware gateway to a hypervisor on which the computing node is running, wherein the direct data path is a Virtual eXtensible Local Area Network (VXLAN) tunnel.

20. The program product of claim 15 , wherein the networked computing environment is a cloud computing environment, wherein the SDN proxy gateway is a stand-alone utility included within a hypervisor in the cloud computing environment, and wherein the computing node is a cloud resource selected from a group, comprising: a virtual machine instance and a container virtual machine.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2017
From: HE, GUO XING; RUAN, SHI X.; TANG, GANG; ZHU, NA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041299/0938 →
Continuity (1)
Related Publication 20180241824A1 · Aug 23, 2018