Domain-Specific Language Compiler for SDN Network Behavior
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software-defined networks (SDNs) face challenges in ensuring end-to-end network architecture behaves according to desired operation due to distributed programming models, requiring complex skills and leading to issues like message latency and behavioral consistency.
Innovation Solution
A domain-specific language (DSL) is used to describe network-level behavior, which is compiled into executable code and deployed to network devices, allowing for centralized management and optimization of network functions without specifying specific devices, enabling efficient implementation of overall network behaviors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If SDN controllers use distributed programming models to program network devices, then network functions can be implemented across multiple devices, but the system complexity increases and issues like message latency and behavioral consistency arise
Solution Approach 1:
The patent introduces a centralized SDN controller as an intermediary between the network administrator and distributed network devices. The controller translates high-level network behavior specifications into device-specific configurations, eliminating the need for administrators to directly program distributed devices and avoiding the complexities of distributed systems programming.
Solution Approach 2:
The patent extracts the control plane functions from individual network devices and consolidates them in a centralized SDN controller. This separation allows the data plane devices to focus on forwarding operations while the controller handles the complexity of network-wide behavior coordination, reducing device complexity.
2Ease of operation
If SDN controllers directly program network devices using protocols like OpenFlow or P4, then fine-grained control over network functions is achieved, but ensuring end-to-end network behavior consistency becomes difficult
Solution Approach 1:
The patent implements a feedback mechanism where the SDN controller continuously monitors network device states and adjusts configurations to maintain desired end-to-end behavior. The controller receives status information from devices and dynamically modifies network behavior to ensure consistency with the specified network-level requirements.
Solution Approach 2:
The patent employs a model-driven approach where the desired end-to-end network behavior is specified in advance using domain-specific languages or models. The SDN controller uses these pre-defined models to generate and enforce consistent configurations across all network devices before deployment, ensuring behavior consistency from the outset.
3Manufacturing precision
If network administrators specify detailed device configurations for each network device, then precise control over individual devices is achieved, but the complexity of managing distributed systems increases significantly
Solution Approach 1:
The patent creates a universal abstraction layer that allows network administrators to specify network behavior in terms of high-level functional requirements rather than device-specific configurations. This universal model can be translated to multiple different network device types and configurations, reducing management complexity while maintaining configuration precision.
Data Source
AI summary
Techniques and mechanisms for using a domain-specific language (DSL) to express overall network behaviors by describing what network-level behavior is desired. A compiler breaks down the DSL into portions of executable code that are to be run at different network devices and locations of the network architecture. In some instances, the executable code output from the compiler may be used to determine what network functions, network devices, and/or network topology is required to implement the overall network behavior that is desired. In other examples, an inventory and/or topology of available network devices may be fed into the compiler, and the compiler may compile the DSL into executable code that is able to be supported by the inventory and/or topology of available network devices. Thus, the DSL can be used to describe overall network behaviors to easily generate executable code that is used to implement a desired network-level behavior.


