IP Library Granted Patent US 9,374,301
Granted Patent B2
US 9,374,301 · App. 13/890,150 · Granted Jun 21, 2016

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,374,301
App. No.
13/890,150
Granted
Jun 21, 2016
Kind
B2
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 (43)

1. A computing system, comprising:

a policy management apparatus configured to:

recognize a local policy indicating how a data flow is to be processed in a network condition; and

identify a data flow associated with the policy; and

a communication apparatus configured to, in response to detecting the network condition, construct a request for a flow definition for the data flow based on the local policy from a controller in a software-defined network, wherein the flow definition indicates how the data flow is processed in the software-defined network.

2. The computing system of claim 1 , wherein the communication apparatus is further configured to identify a packet as belonging to the data flow; and

wherein the policy management apparatus is further configured to:

determine whether the packet matches the policy; and

instruct the communication apparatus to construct the request in response to the packet matching the policy.

3. The computing system of claim 1 , wherein the software-defined network is an OpenFlow-enabled network.

4. The computing system of claim 1 , wherein the computing system is an appliance providing a service to the software-defined network; and

wherein the policy is associated with the service.

5. The computing system of claim 1 , further comprising a policy enforcement apparatus configured to mark the request as enforced, indicating a compulsory enforcement of the request.

6. The computing system of claim 5 , further comprising a scripting engine configured to identify a policy, wherein the identified policy is in a format recognizable by the scripting engine.

7. The computing system of claim 5 , further comprising a control apparatus configured to operate the computing system as a controller of the software-defined network.

8. A computer-executable method, comprising:

recognizing, by a computer, a local policy indicating how a data flow is to be processed in a network condition;

identifying a data flow associated with the policy; and

in response to detecting the network condition, constructing a request for a flow definition for the data flow based on the local policy from a controller in a software-defined network, wherein the flow definition indicates how the data flow is processed in the software-defined network.

9. The method of claim 8 , further comprising:

identifying a packet as belonging to the data flow;

determining whether the packet matches the policy; and

constructing the request in response to the packet matching the policy.

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

11. The method of claim 8 , wherein the computer is an appliance providing a service to the software-defined network; and

wherein the policy is associated with the service.

12. The method of claim 8 , further comprising marking the request as enforced, indicating a compulsory enforcement of the request.

13. The method of claim 12 , further comprising identifying a policy expressed in a locally recognizable script.

14. The method of claim 12 , further comprising operating the computer as a controller of the software-defined network.

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:

recognizing a local policy indicating how a data flow is to be processed in a network condition;

identifying a data flow associated with the policy; and

in response to detecting the network condition, constructing a request for a flow definition for the data flow based on the local policy from a controller in a software-defined network, wherein the flow definition indicates how the data flow is processed in the software-defined network.

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

identifying a packet as belonging to the data flow;

determining whether the packet matches the policy; and

constructing the request in response to the packet matching the policy.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the software-defined network is an OpenFlow-enabled network.

18. The non-transitory computer-readable storage medium of claim 15 , wherein the computer is an appliance providing a service to the software-defined network; and

wherein the policy is associated with the service.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the method further comprises marking the request as enforced, indicating a compulsory enforcement of the request.

20. The non-transitory computer-readable storage medium of claim 19 , wherein the method further comprises identifying a policy expressed in a locally recognizable script.

21. The non-transitory computer-readable storage medium of claim 19 , wherein the method further comprises operating the computer as a controller of the software-defined network.