SDN Policy Compilation for Local Packet Forwarding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Software-Defined Networks (SDNs) face challenges in providing a convenient and expressive programming environment that allows for a wide variety of network behaviors while maintaining high performance, as current systems require complex and error-prone manipulation of network element configurations and often suffer from inefficient rule set implementations leading to performance bottlenecks.

Innovation Solution

The method involves allowing users to define packet-processing policies in general-purpose programming languages, which are then translated into forwarding configurations for network elements, using automated algorithms to optimize and generate rule sets, enabling local packet processing and reducing reliance on centralized controllers, thus improving network performance and scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If users directly manipulate network element configurations in SDN, then network behavior can be customized, but programming complexity and error-proneness increase

Engineering Contradiction:
Improvenetwork behavior customizationVSAvoidprogramming convenience
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent introduces a high-level programming interface that acts as an intermediary between users and network element configurations. This interface allows users to specify network behaviors using simple, expressive commands without directly manipulating complex forwarding rules, thereby maintaining customization capability while dramatically improving ease of use.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical process of manually configuring network elements with an automated compilation system. The high-level program is automatically translated into low-level forwarding configurations through a compilation process, eliminating the need for users to directly handle complex configuration details and reducing errors.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Ease of operation

If centralized controllers manage all packet forwarding decisions, then network policies can be centrally controlled, but processing performance and scalability deteriorate

Engineering Contradiction:
Improvecentralized controlVSAvoidpacket processing performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the packet processing function by dividing responsibilities between centralized controllers and distributed network elements. The controller handles high-level policy decisions while network elements execute local forwarding rules, enabling parallel processing and improving overall system performance and scalability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-computing and installing forwarding rules in network elements based on high-level policies. This allows packets to be forwarded locally using pre-installed rules without requiring real-time controller intervention, significantly improving processing speed while maintaining centralized policy control.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If complex rule sets are installed in network elements, then detailed packet control is achieved, but rule set size and configuration complexity increase

Engineering Contradiction:
Improvepacket control capabilityVSAvoidrule set complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the complexity from the network elements by moving detailed rule generation to an external compilation system. Network elements only need to store and execute simplified forwarding rules, while the complex rule synthesis is performed externally by the compilation system, reducing device complexity while maintaining control capability.

Inventive Principle:
Principle #2Taking out (Extraction)

4Reliability

If frequent controller communication occurs for packet forwarding, then centralized policy enforcement is maintained, but network latency increases

Engineering Contradiction:
Improvepolicy enforcementVSAvoidforwarding latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent uses preliminary action by pre-installing forwarding rules in network elements based on centralized policies. This allows the majority of packets to be forwarded locally using pre-computed rules without real-time controller communication, dramatically reducing latency while maintaining policy enforcement through the initial rule installation process.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10361918B2Managing network forwarding configurations using algorithmic policies
Publication Date: 2019.07.23 YALE UNIVERSITY
  • US10361918B2 patent drawing
  • US10361918B2 patent drawing
  • US10361918B2 patent drawing

AI summary

Techniques for managing forwarding configurations in a data communications network include accessing, at least one controller, a packet-processing policy defined by a user in a general-purpose programming language other than a programming language of data forwarding element forwarding rules, the packet-processing policy specifying how data packets are to be processed through the data communications network via the at least one controller. A forwarding configuration for at least one data forwarding element in the data communications network may be derived from the user-defined packet-processing policy, and may be applied to the at least one data forwarding element.