IP Library Granted Patent US 10,341,226
Granted Patent B2
US 10,341,226 · App. 15/678,956 · Granted Jul 2, 2019

Integrated heterogeneous software-defined network

Inventors: Eswara S. P. Chinthalapati (San Jose, CA); Nikunj Vaidya (Milpitas, CA)
Assignee: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
H04L45/24H04L45/52H04L45/64H04L45/38
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,341,226
App. No.
15/678,956
Granted
Jul 2, 2019
Kind
B2
Abstract

One embodiment of the present invention provides a switch in a software-defined network. The switch includes at least one port, a flow management module, and forwarding circuitry. The port is capable of receiving a frame belonging to a software-defined data flow and a frame belonging to a regular data flow. The flow management module logically partitions the port for the frame belonging to the software-defined data flow from the frame belonging to the regular data flow. The forwarding circuitry forwards the frame belonging to the software-defined data flow based on a flow definition in a local flow table. The flow definition indicates how the software-defined data flow is processed in a software-defined network.

Claims (61)

1. A switch, comprising:

a port partitioned into a first partition for a software-defined data flow and a second partition for a regular data flow;

flow management circuitry configured to:

examine an identifier included in a header of a frame, the frame being received via the port;

determine, based on the identifier, whether the frame belongs to the software-defined data flow or to the regular data flow;

allocate the frame to the first partition in response to the frame belonging to the software-defined data flow; and

allocate the frame to the second partition in response to the frame belonging to the regular data flow; and

forwarding circuitry configured to:

in response to the frame being allocated to the first partition, determine a first output port for the frame based on a flow definition in a local flow table and forward the frame via the first output port; and

in response to the frame being allocated to the second partition, determine a second output port for the frame based on a forwarding entry in a local forwarding table and forward the frame via the second output port.

2. The switch of claim 1 , wherein the software-defined network is an OpenFlow-enabled network.

3. The switch of claim 1 , wherein the identifier includes one or more of:

a virtual local area network (VLAN) tag or identifier;

a type of a frame; and

a flag in a header of a received frame.

4. The switch of claim 1 , wherein bandwidth of the port is allocated for the first and second partitions.

5. The switch of claim 1 , further comprising:

arbitration circuitry configured to determine, in response to another frame belonging to a second software-defined flow, an order based on which the switch uses the flow table and the forwarding table for processing frames.

6. The switch of claim 5 , wherein the order for the frames is based on a priority value associated with the second software-defined data flow.

7. The switch of claim 5 , wherein using the flow table comprises providing, to the another frame, one or more of:

access control;

backup forwarding;

policy based routing;

network management; and

a service that includes one or more of: firewall, load balancing, network access control, intrusion detection/protection, network analysis, and network virtualization.

8. The switch of claim 1 , wherein the flow definition is received from a controller of a software-defined network and the flow definition indicates how the software-defined data flow is processed in the software-defined network.

9. The switch of claim 8 , further comprising:

information management circuitry configured to construct a message comprising network state information, wherein

the message is destined for the controller of the software-defined network, and

the network state information includes one or more of: topology discovery information, traffic statistics, and link status information.

10. The switch of claim 1 , wherein the forwarding circuitry is further configured to drop another frame allocated to the first partition in response to determining that a flow definition corresponding to the another frame indicates the drop operation or no flow definition corresponding to the another frame exists in the local flow table.

11. A method, comprising:

partitioning a port of a switch into a first partition for a software-defined data flow and a second partition for a regular data flow;

examining, by flow management circuitry, an identifier included in a header of a frame, the frame being received via the port;

determining, by the flow management circuitry and based on the identifier, whether the frame belongs to the software-defined data flow or to the regular data flow;

allocating the frame to the first partition in response to the frame belonging to the software-defined data flow;

allocating the frame to the second partition in response to the frame belonging to the regular data flow;

in response to the frame being allocated to the first partition, determining a first output port for the frame based on a flow definition in a local flow table and forwarding the frame via the first output port; and

in response to the frame being allocated to the second partition, determining a second output port for the frame based on a forwarding entry in a local forwarding table and forwarding the frame via the second output port.

12. The method of claim 11 , wherein the software-defined network is an OpenFlow-enabled network.

13. The method of claim 11 , wherein the identifier includes one or more of:

a virtual local area network (VLAN) tag or identifier;

a type of a frame; and

a flag in a header of a received frame.

14. The method of claim 11 , wherein bandwidth of the port is allocated for the first and second partitions.

15. The method of claim 11 , further comprising:

determining, in response to another frame belonging to a second software-defined flow, an order based on which the switch uses the flow table and the forwarding table for processing frames.

16. The method of claim 15 , wherein the order for the frames is based on a priority value associated with the second software-defined data flow.

17. The method of claim 15 , wherein using the flow table comprises providing, to the another frame, one or more of:

access control;

backup forwarding;

policy based routing;

network management; and

a service that includes one or more of: firewall, load balancing, network access control, intrusion detection/protection, network analysis, and network virtualization.

18. The method of claim 11 , wherein the flow definition is received from a controller of a software-defined network and the flow definition indicates how the software-defined data flow is processed in the software-defined network.

19. The method of claim 18 , further comprising:

constructing a message comprising network state information, wherein

the message is destined for the controller of the software-defined network, and

the network state information includes one or more of: topology discovery information, traffic statistics, and link status information.

20. The method of claim 11 , further comprising:

dropping another frame allocated to the first partition in response to determining that a flow definition corresponding to the another frame indicates the drop operation or no flow definition corresponding to the another frame exists in the local flow table.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047270/0247 →
CHANGE OF NAME Recorded Dec 13, 2017
From: BROCADE COMMUNICATIONS SYSTEMS, INC.
To: BROCADE COMMUNICATIONS SYSTEMS LLC
Reel/Frame 044891/0536 →
Continuity (4)
Continuation 13851026 · Mar 26, 2013
Provisional Application 61785625 · Mar 14, 2013
Provisional Application 61650945 · May 23, 2012
Related Publication 20180019941A1 · Jan 18, 2018