IP Library Granted Patent US 10,892,985
Granted Patent B2
US 10,892,985 · App. 15/997,862 · Granted Jan 12, 2021

Method and system for performing state-aware software defined networking

Inventors: Fabian Schneider (Heidelberg-Bahnstadt, DE); Faqir Zarrar Yousaf (Leimen, DE)
Assignee: NEC CORPORATION
H04L45/38H04L45/02
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,892,985
App. No.
15/997,862
Granted
Jan 12, 2021
Kind
B2
Abstract

A forwarding element includes a control engine and a forwarding table. The control engine includes a command template that includes a stateful interaction instruction. The forwarding table includes a rule entry that defines a match description and an action instruction. The forwarding element is configured to: receive a packet; determine packet attributes based on the packet; compare the packet attributes to the match description to determine whether there is a rule match, execute the action instruction in response to determining there is the rule match, which includes causing a trigger signal to be sent to the control engine, the trigger signal corresponding to the command template, and perform a stateful interaction on the packet according to the stateful interaction instruction in response to receiving the trigger signal.

Claims (47)

1. A forwarding element comprising:

a control engine including a command template, the command template including a stateful interaction instruction, and

a forwarding table, the forwarding table including a rule entry, the rule entry defining a match description and an action instruction,

wherein the forwarding element is configured to:

receive a packet;

determine packet attributes based on the packet;

compare the packet attributes to the match description to determine whether there is a rule match,

execute the action instruction in response to determining there is the rule match, which includes causing a trigger signal to be sent to the control engine, the trigger signal corresponding to the command template, and

perform a stateful interaction on the packet according to the stateful interaction instruction in response to receiving the trigger signal.

2. The forwarding element according to claim 1 , wherein the forwarding table is configured to send the trigger signal to the control engine.

3. The forwarding element according to claim 1 , wherein the control engine is configured to manipulate a flow rule entry of the forwarding table as part of performing the stateful interaction, the flow rule defining how the packet should be forwarded by the forwarding device.

4. The forwarding element according to claim 3 , wherein the control engine is configured to manipulate the flow rule entry by sending a control signal to the forwarding table, the control signal containing instructions for the forwarding table to manipulate the flow rule entry.

5. The forwarding element according to claim 1 , wherein the control engine is configured to:

receive a command template modification command from a controller, and

modify the command template based on the command template modification command.

6. The forwarding element according to claim 5 further comprising a packet template table including a packet template entry,

wherein the packet template table is configured to:

receive a template trigger signal,

determine whether the template trigger signal corresponds to the packet template entry, and

in response to determining the template trigger signal corresponds to the packet template entry, generate and send a template packet based on the packet template entry, the template packet corresponding to the template trigger signal, and

wherein the command template modification command is based on the template packet.

7. The forwarding element according to claim 1 , wherein the forwarding element is a switch or a router.

8. The forwarding element according to claim 1 , wherein the forwarding element is configured to operate in an OpenFlow based system.

9. The forwarding element according to claim 1 , wherein the stateful interaction corresponds to a local state of the forwarding element.

10. The forwarding element according to claim 1 ,

wherein the control engine includes a plurality of command templates, which include the command template,

wherein the forwarding table includes a plurality of rule entries, each rule entry defining a corresponding match description and a corresponding action instruction, the rule entries including the rule entry,

wherein the forwarding element is configured to compare the packet attributes to the corresponding match description of at least two of the rule entries to determine whether there is the rule match, and

wherein the control engine is configured to determine which of the command templates corresponds to the trigger signal.

11. A method of performing state-aware software defined networking with a forwarding element capable of communicating with a controller, the forwarding element comprising a control engine, which includes a command template having a stateful interaction instruction, and a forwarding table, which includes a rule entry defining a match description and an interaction instruction, the method comprising:

receiving, by the forwarding element, a packet;

determining, by the forwarding element, packet attributes based on the packet;

comparing, by the forwarding element, the packet attributes to the match description to determine whether there is a rule match,

executing, by the forwarding element, the action instruction in response to determining there is the rule match, which includes causing a trigger signal to be sent to the control engine, the trigger signal corresponding to the command template, and

performing, by the forwarding element, a stateful interaction on the packet according to the stateful interaction instruction in response to receiving the trigger signal.

12. The method according to claim 11 , wherein the forwarding table sends the trigger signal to the control engine.

13. The method according to claim 11 further comprising:

manipulating, by the control engine, a flow rule entry in the forwarding table, the flow rule defining how the packet is to be forwarded by the forwarding device; and

forwarding, by the forwarding element, the packet according to the flow rule.

14. The method according to claim 11 further comprising:

receiving, by the control engine, a command template modification command from the controller, and

modifying, by the control engine, the command template based on the command template modification command.

15. The method according to claim 14 , wherein the forwarding element comprises a packet template table including a packet template entry, the method further comprising:

receiving, by the packet template table, a template trigger signal,

determining, by the packet template table, whether the template trigger signal corresponds to the packet template entry, and

in response to determining the template trigger signal corresponds to the packet template entry, generating and sending, by the packet template table, a template packet based on the packet template entry, the template packet corresponding to the template trigger signal,

wherein the command template modification command is based on the template packet.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2026
From: NEC CORPORATION
To: NEC ASIA PACIFIC PTE LTD.
Reel/Frame 074916/0414 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2026
From: NEC ASIA PACIFIC PTE LTD.
To: CBS INTERACTIVE INC.
Reel/Frame 074916/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2020
From: NEC LABORATORIES EUROPE GMBH
To: NEC CORPORATION
Reel/Frame 054523/0534 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2018
From: SCHNEIDER, FABIAN; YOUSAF, FAQIR ZARRAR
To: NEC LABORATORIES EUROPE GMBH
Reel/Frame 046836/0302 →
Continuity (1)
Related Publication 20190372894A1 · Dec 5, 2019