IP Library Granted Patent US 9,729,582
Granted Patent B2
US 9,729,582 · App. 15/236,165 · Granted Aug 8, 2017

Methods, systems, and computer readable media for generating software defined networking (SDN) policies

Inventors: Boon Thau Loo (Cherry Hill, NJ); Yifei Yuan (Philadelphia, PA); Rajeev Alur (Wynnewood, PA)
Assignee: The Trustees of the University of Pennsylvania
H04L63/20H04L29/06986
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,729,582
App. No.
15/236,165
Granted
Aug 8, 2017
Kind
B2
Abstract

Methods, systems, and computer readable media for generating SDN policies are disclosed. One system includes a processor and a memory. The system also includes an SDN policy synthesizer (SPS) implemented using the processor and the memory. The SPS is configured to receive scenario based information indicating one or more behaviors for at least one SDN policy, to use a synthesis algorithm for generating the at least one SDN policy based on the scenario based information, and to provide the at least one SDN policy to an SDN controller.

Claims (34)

1. A system for generating SDN policies, the system comprising:

a processor;

a memory; and

an SDN policy synthesizer (SPS) implemented using the processor and the memory, wherein the SPS is configured to receive scenario based information indicating one or more behaviors for at least one SDN policy, to execute, using the processor, a synthesis algorithm for generating the at least one SDN policy based on the scenario based information, and to provide, via an SDN communications interface, the at least one SDN policy to an SDN controller, wherein the synthesis algorithm generates the at least one SDN policy by deriving potential rules for the at least one SDN policy based on a number of possible reads and writes to at least one state table associated with the scenario based information, testing each of the potential rules using one or more concrete values to determine whether an outcome is consistent with the scenario based information; and selecting, from the potential rules, one or more rules that are consistent with the scenario based information for the at least one SDN policy.

2. The system of claim 1 wherein the scenario based information includes one or more timing diagrams.

3. The system of claim 1 wherein the SPS is configured to identify conflicts associated with the scenario based information.

4. The system of claim 1 wherein the at least one SDN policy includes at least one policy rule and at least one state information rule.

5. The system of claim 1 wherein the at least one SDN policy has the smallest number of rules among SDN policies that are consistent with the scenario based information.

6. The system of claim 1 comprising:

a second processor;

a second memory; and

an SDN policy interpreter (SPI) implemented using the second processor and the second memory, wherein the SDN policy interpreter (SPI) is at the SDN controller and is configured to interpret the at least one SDN policy and perform at least one action.

7. The system of claim 6 wherein the at least one action includes executing the at least one SDN policy, processing packets at the SDN controller, instructing a network node, or installing a rule at a network node.

8. The system of claim 7 wherein the network node includes a switch, a router, a learning switch, a deep packet inspection (DPI) node, a firewall, a stateful firewall, a transmission control protocol (TCP) firewall, or an address resolution (ARP) proxy.

9. A method for generating SDN policies, the method comprising:

at an SDN policy synthesizer (SPS) implemented using a processor and a memory:

receiving scenario based information indicating one or more behaviors for at least one SDN policy;

executing, using the processor, a synthesis algorithm for generating the at least one SDN policy based on the scenario based information, wherein the synthesis algorithm generates the at least one SDN policy by deriving potential rules for the at least one SDN policy based on a number of possible reads and writes to at least one state table associated with the scenario based information, testing each of the potential rules using one or more concrete values to determine whether an outcome is consistent with the scenario based information; and selecting, from the potential rules, one or more rules that are consistent with the scenario based information for the at least one SDN policy; and

providing, via an SDN communications interface, the at least one SDN policy to an SDN controller.

10. The method of claim 9 wherein the scenario based information includes one or more timing diagrams.

11. The method of claim 9 wherein receiving scenario based information indicating one or more behaviors for at least one SDN policy includes identifying conflicts associated with the scenario based information.

12. The method of claim 9 wherein the at least one SDN policy includes at least one policy rule and at least one state information rule.

13. The method of claim 9 wherein the at least one SDN policy has the smallest number of rules among SDN policies that are consistent with the scenario based information.

14. The method of claim 9 wherein providing the at least one SDN policy to the SDN controller includes interpreting, by an SDN policy interpreter (SPI) implemented at the SDN controller and using a second processor and a second memory, the at least one SDN policy and performing at least one action.

15. The method of claim 14 wherein the at least one action includes executing the at least one SDN policy, processing packets at the SDN controller, instructing a network node, or installing a rule at a network node.

16. The method of claim 15 wherein the network node includes a switch, a router, a learning switch, a deep packet inspection (DPI) node, a firewall, a stateful firewall, a transmission control protocol (TCP) firewall, or an address resolution (ARP) proxy.

17. A non-transitory computer readable medium having stored thereon executable instructions that when executed by a processor of a computer causes the computer to perform steps comprising:

at an SDN policy synthesizer (SPS) implemented using a processor and the memory:

receiving scenario based information indicating one or more behaviors for at least one SDN policy;

executing, using the processor, a synthesis algorithm for generating the at least one SDN policy based on the scenario based information, wherein the synthesis algorithm generates the at least one SDN policy by deriving potential rules for the at least one SDN policy based on a number of possible reads and writes to at least one state table associated with the scenario based information, testing each of the potential rules using one or more concrete values to determine whether an outcome is consistent with the scenario based information; and selecting, from the potential rules, one or more rules that are consistent with the scenario based information for the at least one SDN policy; and

providing, via an SDN communications interface, the at least one SDN policy to an SDN controller.

18. The non-transitory computer readable medium of claim 17 wherein the scenario based information includes one or more timing diagrams.

19. The non-transitory computer readable medium of claim 17 wherein receiving scenario based information indicating one or more behaviors for at least one SDN policy includes identifying conflicts associated with the scenario based information.

20. The non-transitory computer readable medium of claim 17 wherein the at least one SDN policy includes at least one policy rule and at least one state information rule.

Assignments (1)
CONFIRMATORY LICENSE Recorded Dec 14, 2016
From: UNIVERSITY OF PENNSYLVANIA
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 040939/0961 →
Continuity (2)
Provisional Application 62234613 · Sep 29, 2015
Related Publication 20170093924A1 · Mar 30, 2017