Network Span Determination for SDN Configuration Dependencies
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Determining spans for network configuration dependencies in software-defined networking is challenging due to the complexity of rules and interdependencies, which places significant demands on memory and CPU resources, and often results in unnecessary transmission of configuration messages across the network.
Innovation Solution
A computer-implemented approach that generates a tree graph representing configuration dependencies, adds and prunes links and nodes to determine real spans, allowing only necessary hosts to receive configuration messages from a central controller, thereby minimizing network bandwidth and traffic impact.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a central controller generates tree graphs for individual rules and merges them into a resulting span graph to determine spans, then the spans can be determined for configuration dependencies, but the memory and CPU resources are heavily consumed due to the enormous count of nodes and links in the graph
Solution Approach 1:
The patent segments the configuration dependencies into separate dependency graphs for each configuration object (firewall rule, load balancing rule, etc.) rather than creating one large merged graph. Each dependency graph contains only the nodes and links relevant to that specific configuration object, dividing the overall problem into smaller, manageable segments that consume fewer resources individually.
Solution Approach 2:
The patent extracts and removes unnecessary nodes and links from the dependency graphs during traversal. By identifying and eliminating redundant elements (such as nodes that don't affect the span determination for a particular configuration object), the system reduces the computational burden while maintaining accurate span determination.
2Reliability
If configuration messages are transmitted to all hosts based on complex rule interdependencies, then comprehensive coverage is achieved, but network bandwidth and traffic are unnecessarily consumed
Solution Approach 1:
The patent segments the network hosts into different spans based on the traversal results of individual dependency graphs. Each configuration object is assigned to specific spans that contain only the hosts that actually need to receive configuration messages for that object, rather than broadcasting to all hosts. This segmentation eliminates unnecessary network traffic while ensuring reliable delivery to relevant hosts.
3Adaptability or versatility
If the span graph includes all nodes and links representing dependencies between rules and GroupingObjects, then complete dependency analysis is possible, but the device complexity increases significantly
Solution Approach 1:
The patent creates separate, simplified dependency graphs for each configuration object type (firewall rules, load balancing rules, IPSec rules, etc.) rather than one monolithic graph. Each graph contains only the nodes and links relevant to that configuration type, reducing structural complexity while maintaining the ability to analyze all dependencies across different configuration objects.
Solution Approach 2:
The patent extracts only the essential nodes and links needed for determining spans of configuration objects. By removing redundant or irrelevant elements from each dependency graph, the system maintains complete dependency analysis capability while significantly reducing the overall graph structure complexity.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In an embodiment, a computer-implemented method for determining spans for network configuration dependencies is described. In an embodiment, the method comprises: receiving, by a central controller implemented in a computer network, graph data that represents a graph having nodes and first-type links. The nodes comprise first-type nodes, second-type nodes, and third-type nodes. A plurality of second-type links between a subset of the nodes is determined. For each first-type link, a first-type link between two nodes connected by the first-type link is removed if the two nodes are also connected by a second-type link. For each second-type node, a second-type node is removed and an incoming link and an outcoming link for the second-type node are concatenated. Initial spans and real spans for the first-type nodes and the third-type nodes are determined. For each first/second-type node, configuration messages are generated and transmitted according to a real-span determined for the node.