IP Library Granted Patent US 9,521,071
Granted Patent B2
US 9,521,071 · App. 14/664,913 · Granted Dec 13, 2016

Federation of controllers management using packet context

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,521,071
App. No.
14/664,913
Filed
Mar 22, 2015
Granted
Dec 13, 2016
Kind
B2
Art Unit
2473
USPC
370/392
Abstract

In a network control system, a method for managing traffic flow in a distributed controller environment includes stamping a packet to be forwarded between data forwarding units with flow control information based on an action set associated with a flow entry pushed by a logical controller. The packet is stamped by one or more of the data forwarding units. The flow control information is used to forward the packet between data forwarding units, thereby defining a datapath packet flow.

Claims (35)

1. A network control system, comprising:

a plurality of logical controllers, wherein each logical controller is configured to push a flow entry to one or more data forwarding units, wherein the flow entry is associated with a set of actions for forwarding a data packet;

a data forwarding unit of the one or more data forwarding units that stamps flow control information to the data packet based on the set of actions, wherein each of the one or more data forwarding units is managed by one of the logical controllers;

a controller manager in communication with the plurality of logical controllers for managing the plurality of logical controllers; and

a communication channel that enables communication between the plurality of logical controllers and the controller manager,

wherein the stamped flow control information comprises a logical port receiving the data packet, a physical port receiving the data packet, an identification (ID) of the plurality of logical controllers creating the flow entry, and an ID assigned to the flow entry.

2. The network control system of claim 1 , wherein the controller manager updates each of the logical controllers regarding addition and removal of one or more logical controllers from the network control system.

3. The network control system of claim 2 , wherein the controller manager registers and assigns a controller ID to each of the logical controllers.

4. The network control system of claim 1 , wherein the plurality of logical controllers includes a transaction table, a socket and a controller database.

5. The network control system of claim 4 , wherein the transaction table stores transaction details of one or messages transmitted to and received by the plurality of logical controllers with respect to a request for a flow entry.

6. The network control system of claim 4 , wherein the controller database stores at least one of a controller ID, a remote IP, a remote port, a connection status, and a flow cache.

7. The network control system of claim 1 , wherein the communication channel includes a Transmission Control Protocol (TCP) channel to enable the communication.

8. A network control system, comprising:

a plurality of logical controllers, wherein each logical controller is configured to push a flow entry to one or more data forwarding units, wherein the flow entry is associated with a set of actions for forwarding a data packet;

a data forwarding unit of the one or more data forwarding units that stamps flow control information to the data packet based on the set of actions, wherein the stamped flow control information comprises a logical port receiving the data packet, a physical port receiving the data packet, an identification (ID) of the plurality of logical controllers creating the flow, and an ID assigned to the flow entry, and wherein each of the one or more data forwarding units is managed by one of the logical controllers;

a controller manager in communication with the plurality of logical controllers for managing the plurality of logical controllers, wherein the controller manager updates each of the logical controllers regarding addition and removal of one or more logical controllers from the network control system, and registers and assigns a controller ID to each of the logical controllers, and wherein:

(a) the plurality of logical controllers includes a transaction table and a controller database,

(b) the transaction table stores transaction details of one or messages transmitted to and received by the plurality of logical controllers with respect to a request for a flow entry, and

(c) the controller database stores at least one of a controller ID, a remote IP, a remote port, a connection status, and a flow cache; and

a communication channel that enables communication between the plurality of logical controllers and the controller manager.

9. A method for managing traffic flow in a distributed controller environment, the method comprising:

pushing, by a logical controller of a plurality of logical controllers, a flow entry to one or more data forwarding units, wherein the flow entry is associated with a set of actions for forwarding a data packet, and wherein the data forwarding units are managed by the logical controller;

stamping, by one of the one or more data forwarding units, flow control information to the data packet based on the set of actions; and

forwarding the data packet by the one or more data forwarding units to other ones of the data forwarding units,

wherein the stamped flow control information comprises a logical port receiving the data packet, a physical port receiving the data packet, an identification (ID) of the logical controller creating the flow entry, and an ID assigned to the flow entry.

10. The method of claim 9 , wherein the flow control information is masked with a controller ID, and an action to set a controller ID in an IP option in order to identify the logical controller that created the flow entry for the data packet.

11. The method of claim 9 , wherein said forwarding comprises:

identifying a logical controller from the plurality of logical controllers based on the stamped flow control information;

requesting the identified logical controller provide flow entry details;

pushing the flow entry details to the one or more data forwarding units; and

forwarding the packet based on the flow entry details.

12. The method of claim 9 , wherein said forwarding comprises:

identifying a flow entry based on cache details; and

forwarding the packet in accordance with the identified flow entry.

13. The method of claim 12 , wherein the cache details identify the logical controller that pushed the flow entry to the one or more data forwarding units.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →