IP Library Granted Patent US 9,998,365
Granted Patent B2
US 9,998,365 · App. 15/047,539 · Granted Jun 12, 2018

Network feedback in software-defined networks

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,998,365
App. No.
15/047,539
Filed
Feb 18, 2016
Granted
Jun 12, 2018
Kind
B2
Art Unit
2478
USPC
370/235
Abstract

One embodiment of the present invention provides a computing system capable of providing feedback to a controller in a software-defined network. The computing system includes a policy management module and a communication module coupled to the policy management module. During operation, the policy management module recognizes a local policy indicating how a data flow is to be processed and identifies a data flow associated with the policy. The communication module constructs a request for a flow definition from a controller in a software-defined network. A flow definition indicates how the data flow is processed in the software-defined network.

Claims (42)

1. A computing system, comprising:

management circuitry configured to:

inspect a packet belonging to a data flow for providing a service; and

determine whether the data flow is a candidate for offloading from the computing system to a new data path, which is different from a current data path of the data flow, based on the inspection and a bandwidth requirement of the data flow;

and

communication circuitry configured to, in response to determining that the data flow is a candidate for offloading, construct a feedback message requesting a flow definition for offloading the data flow from the computing system to the new data path, wherein the flow definition indicates how the data flow is processed in a software-defined network.

2. The computing system of claim 1 , wherein the current data path is a downstream data path of the data flow, and wherein the feedback message identifies the downstream flow path.

3. The computing system of claim 1 , wherein the management circuitry is further configured to determine the bandwidth requirement of the data flow based on one or more of:

a port number associated with the data flow; and

a header of the packet.

4. The computing system of claim 1 , wherein the feedback message further indicates that the offloading is for payload packets, which are distinct from control packets, of the data flow, thereby precluding the controller from offloading the control packets of the data flow from the computing system.

5. The computing system of claim 1 , wherein the computing system further comprising enforcement circuitry configured to facilitate additional services based on inspecting a packet belonging to a downstream data path of the data flow.

6. The computing system of claim 1 , wherein the management circuitry is further configured to detect a termination of the data flow; and

wherein the communication circuitry is further configured to construct a notification message, which is destined for the controller and indicates a termination of the data flow, thereby requesting a flow definition for terminating the offloaded data flow.

7. The computing system of claim 1 , wherein the management circuitry is further configured to clear states associated with the data flow in response to detecting a termination of the data flow.

8. A computer-executable method, comprising:

inspecting, by a computer system, a packet belonging to a data flow for providing a service; and

determining whether the data flow is a candidate for offloading from the computing system to a new data path, which is different from a current data path of the data flow, based on the inspection and a bandwidth requirement of the data flow; and

in response to determining that the data flow is a candidate for offloading, construct a feedback message requesting a flow definition for offloading the data flow from the computer system to the new data path, wherein the flow definition indicates how the data flow is processed in a software-defined network.

9. The method of claim 8 , wherein the current data path is a downstream data path of the data flow, and wherein the feedback message identifies the downstream flow path.

10. The method of claim 8 , further comprising determining the bandwidth requirement of the data flow based on one or more of:

a port number associated with the data flow; and

a header of the packet.

11. The method of claim 8 , wherein the feedback message further indicates that the offloading is for payload packets, which are distinct from control packets, of the data flow, thereby precluding the controller from offloading the control packets of the data flow from the computer system.

12. The method of claim 8 , further comprising facilitating additional services based on inspecting a packet belonging to a downstream data path of the data flow.

13. The method of claim 8 , further comprising:

detecting a termination of the data flow; and

constructing a notification message, which is destined for the controller and indicates a termination of the data flow, thereby requesting a flow definition for terminating the offloaded data flow.

14. The method of claim 8 , further comprising clearing states associated with the data flow in response to detecting a termination of the data flow.

15. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method, the method comprising:

inspecting, by a computer system, a packet belonging to a data flow for providing a service; and

determining whether the data flow is a candidate for offloading from the computing system to a new data path, which is different from a current data path of the data flow, based on the inspection and a bandwidth requirement of the data flow; and

in response to determining that the data flow is a candidate for offloading, construct a feedback message requesting a flow definition for offloading the data flow from the computer system to the new data path, wherein the flow definition indicates how the data flow is processed in a software-defined network.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the current data path is a downstream data path of the data flow, and wherein the feedback message identifies the downstream flow path.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the method further comprises determining the bandwidth requirement of the data flow based on one or more of:

a port number associated with the data flow; and

a header of the packet.

18. The non-transitory computer-readable storage medium of claim 15 , wherein the feedback message further indicates that the offloading is for payload packets, which are distinct from control packets, of the data flow, thereby precluding the controller from offloading the control packets of the data flow from the computer system.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the method further comprises:

detecting a termination of the data flow; and

constructing a notification message, which is destined for the controller and indicates a termination of the data flow, thereby requesting a flow definition for terminating the offloaded data flow.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the method further comprises clearing states associated with the data flow in response to detecting a termination of the data flow.