# US 10,484,285 B2 · System, method and article of manufacture for using control plane for critical data communications in software-defined networks

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,484,285 B2
- Document ID: US10484285B2
- Status: Granted
- Kind: B2
- Application number: 14/984,928
- Filed: 2015-12-30
- Published: 2017-07-06
- Granted: 2019-11-19
- Earliest claimed: 2015-12-30
- Assignees: Argela Yazilim Ve Bilisim Teknolojileri San. Ve Tic. A.S.
- Applicants: Argela Yazilim Ve Bilisim Teknolojileri San. Ve Tic. A.S.
- Inventors: Aydin Ulas; Erhan Lokman; Sinan Tatlicioglu; Seyhan Civanlar; Metin Balci; Burak Gorkemli; Bulent Kaytaz
- Web page: https://patentgrep.com/patent/US10484285B2

## CPC

- H04L 47/122: by diverting traffic away from congested entities
- H04L 47/24: Traffic characterised by specific attributes, e.g. priority or QoS
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A novel system and a new data communication method are invented in a software-defined (SDN) network to provide delivery of certain types of critical data flows with certain QoS and/or extra security requirements in a congested network. The method of invention allows such critical data not to traverse the data plane, as it normally would, but instead to go from the ingress switch directly to the egress switch, thereby always in two hops using the control channels. By shortcutting all other switches along the traditional data path computed by normal routing, it potentially provides guaranteed throughput, lower latency/jitter or higher level of security.

## Claims

### Claim 1

A software defined network (SDN) controller in an SDN communicating via a control plane and a data plane, the SDN controller comprising:
a user interface receiving critical data flow requests; and
an application logic processing the data flow requests and determining status and availability of capacity in the SDN to carry out each data flow request, and when status and/or availability of capacity in the SDN does not allow for a given data flow request to be completed and when the given data flow request is determined to be a critical data flow, the application logic utilizing a control channel in the control plane of the SDN to complete the critical data flow, and when status and/or availability of capacity in the SDN does allow for the given data flow request to be completed, the application logic utilizing a data channel in the data plane of the SDN to complete the given data flow request,
wherein the SDN controller further comprises a switch that is a layer-2 hub to connect control channels between the SDN controller and other switches of the SDN forming a star topology, and
wherein the critical data flow is moved from a data channel to the control channel in the control plane of the SDN when status and/or availability of capacity in the SDN does not allow for the given data flow request to be completed.

### Claim 2 (depends on 1)

The SDN controller of claim 1, wherein the status and availability of capacity in the SDN is determined according to a requested Quality of Service (QoS).

### Claim 3 (depends on 1)

The SDN controller of claim 1, wherein the status and availability of capacity in the SDN is determined by computing latency/jitter and throughput along viable data paths in the SDN for the critical data flow.

### Claim 4 (depends on 1)

The SDN controller of claim 1, wherein the SDN controller further comprises a user database storing user profiles and authentication information.

### Claim 5 (depends on 1)

The SDN controller of claim 1, wherein the SDN controller further comprises a policy database storing general routing and charging policies pertaining to operators as well as specific routing and charging policies at regions/connections.

### Claim 6 (depends on 1)

The SDN controller of claim 1, wherein the SDN controller further comprises a requests database storing one or more of the following: critical data path requests, data originator/destination IP addresses, originator/destination MAC addresses, originator/destination host names, application types associated with data to be transmitted, required bandwidth associated with data to be transmitted, transmission begin/end times associated with data to be transmitted, latency associated with data to be transmitted, jitter associated with data to be transmitted, periodicity associated with data to be transmitted, and security associated with data to be transmitted.

### Claim 7 (depends on 1)

The SDN controller of claim 1, wherein utilizing the control channel in the control plane of the SDN is billed differently than utilizing the data channel in the data plane of the SDN.

### Claim 8 (depends on 1)

The SDN controller of claim 1, wherein the control channel uses an OpenFlow channel.

### Claim 9 (depends on 1)

The SDN controller of claim 1, wherein when the control channel is unable to complete the critical data flow request, the SDN controller sends the critical data flow request via an out-of-band channel.

### Claim 10 (depends on 9)

The SDN controller of claim 9, wherein the out-of-band channel is any of the following: a tunnel, an MPLS tunnel, or a Virtual Circuit (VC).

### Claim 11

A method as implemented in a software defined network (SDN) controller in an SDN, the SDN controller communicating via a control plane and a data plane, the method comprising:
receiving critical data flow requests; and
processing the data flow requests and determining status and availability of capacity in the SDN to carry out each data flow request, and when status and/or availability of capacity in the SDN does not allow for a given data flow request to be completed and when the given data flow request is determined to be a critical data flow, the application logic utilizing a control channel in the control plane of the SDN to complete the critical data flow, and when status and/or availability of capacity in the SDN does allow for the given data flow request to be completed, the application logic utilizing a data channel in the data plane of the SDN to complete the given data flow request,
wherein the SDN controller further comprises a switch that is a layer-2 hub to connect control channels between the SDN controller and other switches of the SDN forming a star topology, and
wherein the critical data flow is moved from a data channel to the control channel in the control plane of the SDN when status and/or availability of capacity in the SDN does not allow for the given data flow request to be completed.

### Claim 12 (depends on 11)

The method of claim 11, wherein the status and availability of capacity in the SDN is determined according to a requested Quality of Service (QoS).

### Claim 13 (depends on 11)

The method of claim 11, wherein the status and availability of capacity in the SDN is determined by computing latency/jitter and throughput along viable data paths in the SDN for the critical data flow.

### Claim 14 (depends on 11)

The method of claim 11, wherein the method further comprises storing user profiles and authentication information in a database.

### Claim 15 (depends on 11)

The method of claim 11, wherein the method further comprises storing, in a database, general routing and charging policies pertaining to operators as well as specific routing and charging policies at regions/connections.

### Claim 16 (depends on 11)

The method of claim 11, wherein the method further comprises storing, in a database, one or more of the following: critical data path requests, data originator/destination IP addresses, originator/destination MAC addresses, originator/destination host names, application types associated with data to be transmitted, required bandwidth associated with data to be transmitted, transmission begin/end times associated with data to be transmitted, latency associated with data to be transmitted, jitter associated with data to be transmitted, periodicity associated with data to be transmitted, and security associated with data to be transmitted.

### Claim 17 (depends on 11)

The method of claim 11, wherein utilizing the control channel in the control plane of the SDN is billed differently than utilizing the data channel in the data plane of the SDN.

### Claim 18 (depends on 11)

The method of claim 11, wherein the control channel uses an OpenFlow channel.

### Claim 19 (depends on 11)

The method of claim 11, wherein when the control channel is unable to complete the critical data flow request, the method further comprises sending the critical data flow request via an out-of-band channel.

### Claim 20 (depends on 19)

The method of claim 19, wherein the out-of-band channel is any of the following:
a tunnel, an MPLS tunnel, or a Virtual Circuit (VC).

### Claim 21

An article of manufacture having non-transitory computer readable storage medium comprising computer readable program code executable by a processor to implement a method as implemented in a software defined network (SDN) controller in an SDN, the SDN controller communicating via a control plane and a data plane, the non-transitory medium comprising:
computer readable program code receiving critical data flow requests; and
computer readable program code processing the data flow requests and determining status and availability of capacity in the SDN to carry out each data flow request, and when status and/or availability of capacity in the SDN does not allow for a given data flow request to be completed and when the given data flow request is determined to be a critical data flow, the application logic utilizing a control channel in the control plane of the SDN to complete the critical data flow, and when status and/or availability of capacity in the SDN does allow for the given data flow request to be completed, the application logic utilizing a data channel in the data plane of the SDN to complete the given data flow request,
wherein the SDN controller further comprises a switch that is a layer-2 hub to connect control channels between the SDN controller and other switches of the SDN forming a star topology, and
wherein the critical data flow is moved from a data channel to the control channel in the control plane of the SDN when status and/or availability of capacity in the SDN does not allow for the given data flow request to be completed.
