Software-defined networking physical controller

US9906451B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9906451-B2
Application numberUS-201414501356-A
CountryUS
Kind codeB2
Filing dateSep 30, 2014
Priority dateDec 12, 2013
Publication dateFeb 27, 2018
Grant dateFeb 27, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments include a method, system, and computer program product for managing data flows in a network. A software-defined network controller obtains one or more attributes associated with one or more devices, such as physical layer devices. The obtained attribute(s) are stored in a table. A flow of data in the network is controlled based on the table.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer implemented method for managing data flows in a network, the method comprising: obtaining, by a software-defined network controller, attributes associated with at least one physical layer device among a plurality of physical layer devices, the attributes obtained from the at least one physical layer device by at least one application programming interface (API) in response to a query generated by the at least one API to the at least one physical layer device to receive the attributes, wherein the attributes being at least one device attribute among a plurality of device attributes comprising a plurality of supported wavelength channels, a maximum data rate for each wavelength, wavelength time-division multiplexing (TDM) support capability, a number of supported channels of TDM, channel availability, channel amplification, optical amplifier gain, a type of the devices present, a manufacturer of the devices, and model of the device; storing, by the controller, attributes in a table; and retrieving, by the controller, the attributes, in relation to at least one corresponding device among the plurality of devices, based on a received incoming data frame that is utilized as an index to the table; and controlling, by the controller, a flow of data including the incoming data frame in the network based on the table, wherein controlling the flow of data includes selecting an output port that outputs data to the at least one corresponding device based on the attributes, and virtualizing at least one data flow with respect to at least one of the physical layer devices to generate an optimal reconfigurable traffic flow path through at least one of the physical layer devices, and wherein the software-defined network controller is installed on a separate server and in signal communication with the at least one physical layer device via an encrypted communications link so as to obtain the attributes from the at least one device and control the data flow based on the attributes to balance a data load of the network, the encrypted communication link is established between a first endpoint of a first application programming interface (API) that interfaces with at least one application, and a second endpoint of a second API that interfaces with the at least one physical layer device, the physical layer device including at least one of a wavelength-division multiplexing (WDM) enabled device, an optical amplifier, and an electronic dispersion compensation system. 2. The method of claim 1 , wherein the controller and the physical layer device are coupled to one another via a secure channel. 3. The method of claim 1 , wherein the controller comprises an application programming interface that couples to the physical layer device. 4. The method of claim 1 , further comprising: polling, by the controller, the physical layer device to obtain the attributes. 5. The method of claim 1 , wherein controlling the flow of data further comprises: receiving, by the controller, an indication that the physical layer device receives an incoming data frame; and selecting, by the controller, an action associated with the flow of data in the network based on the incoming data frame and the attributes in the table. 6. The method of claim 5 , wherein the action comprises causing, by the controller, the incoming data frame to be routed to an output port of the physical layer device. 7. The method of claim 1 , wherein the controller controls the flow of data in the network based on a virtual flow. 8. The method of claim 7 , wherein the virtual flow is based on a sharing of a physical medium using a time-division multiplexing technique. 9. The method of claim 7 , wherein the virtual flow is based on a use of data packets encapsulated with a header, the data packets conveyed on a physical medium. 10. The method of claim 1 , wherein the controller controls the flow of data in the network using an out-of-band management network. 11. The method of claim 1 , further comprising: providing, by the controller, load balancing in the network based on the table. 12. A computer program product for managing data flows in a network, the computer program product comprising: a non-transitory tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising: obtaining, by a software-defined network controller, attributes associated with at least one physical layer device among a plurality of physical layer devices, the attributes obtained from the at least one physical layer device by at least one application programming interface (API) in response to a query generated by the at least one API to the at least one physical layer device to receive the attributes, wherein the attributes being at least one device attribute among a plurality of device attributes comprising a plurality of supported wavelength channels, a maximum data rate for each wavelength, wavelength time-division multiplexing (TDM) support capability, a number of supported channels of TDM, channel availability, channel amplification, optical amplifier gain, a type of the devices present, a manufacturer of the devices, and model of the device; storing, by the controller, the attributes obtained by the at least one API in a table; and retrieving the attributes, in relation to at least one corresponding device among the plurality of devices, based on a received incoming data frame that is utilized as an index to the table; and controlling, by the controller, a flow of data including the incoming data frame in the network based on the table, wherein controlling the flow of data includes selecting an output port that outputs data to the at least one corresponding device based on the attributes, and virtualizing at least one data flow with respect to at least one of the physical layer devices to generate an optimal reconfigurable traffic flow path through at least one of the physical layer devices, and wherein the software-defined network controller is installed on a separate server and in signal communication with the at least one physical layer device via an encrypted communications link so as to obtain the attributes from the at least one device and control the data flow based on the at least one attribute to balance a data load of the network, the encrypted communication link is established between a first endpoint of a first application programming interface (API) among the at least API that interfaces with at least one application, and a second endpoint of a second API among the at least one API that interfaces with the at least one physical layer device, the physical layer device including at least one of a wavelength-division multiplexing (WDM) enabled device, an optical amplifier, and an electronic dispersion compensation system. 13. The computer program product of claim 12 , wherein the controller and the physical layer device are coupled to one another via an encrypted channel. 14. The computer program product of claim 12 , wherein the controller comprises an application programming interface that couples to the physical layer device. 15. The computer program product of claim 12 , wherein the method performed by the processing circuit further comprises: polling, by the controller, the physical layer device to obtain the attributes. 16. The computer program product of claim 12 , wherein the method performed by the processing circuit further comprises: receiving, by the controller, an indication that the physical layer device receives an incoming data frame; an

Assignees

Inventors

Classifications

  • H04L47/10Primary

    Flow control; Congestion control · CPC title

  • by actively collecting configuration information or by backing up configuration information · CPC title

  • End to end · CPC title

  • using tables for routing · CPC title

  • Flow based routing · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9906451B2 cover?
Embodiments include a method, system, and computer program product for managing data flows in a network. A software-defined network controller obtains one or more attributes associated with one or more devices, such as physical layer devices. The obtained attribute(s) are stored in a table. A flow of data in the network is controlled based on the table.
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification H04L47/10. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Feb 27 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).