Network Device Resource Synchronization via DAG Topological Sorting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current network management systems face inefficiencies in configuring and managing multiple network devices due to the complexity of dependencies between resources, leading to increased memory consumption and query times, especially when handling parallel queries.
Innovation Solution
A network management system constructs a directed acyclic graph (DAG) representing dependencies between network device resources, sorts nodes using a topological sort, and submits queries in parallel to nodes at common hierarchical levels, optimizing configuration updates and reducing memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If configuration queries are submitted to multiple network devices simultaneously, then query processing time is reduced, but memory consumption increases due to handling all device responses at once
Solution Approach 1:
The patent segments the configuration query process by dividing network devices into groups based on their dependency levels in the DAG. Queries are submitted to devices at the same hierarchical level in parallel batches, rather than querying all devices simultaneously. This segmentation reduces peak memory consumption while maintaining parallel processing benefits, as each batch handles only the memory requirements for that specific group of devices.
Solution Approach 2:
The patent performs preliminary actions by constructing the DAG and determining dependency relationships before submitting configuration queries. Devices are pre-sorted into hierarchical levels based on their resource dependencies, allowing the system to plan query batches in advance. This preliminary organization enables efficient memory management during query execution without requiring all device responses to be held in memory simultaneously.
2Productivity
If all network device resources are queried and configured simultaneously, then overall configuration speed is improved, but system complexity increases due to managing inter-resource dependencies
Solution Approach 1:
The patent segments resources into hierarchical levels within a DAG structure, where each level represents a group of resources that can be configured independently of other levels. This segmentation transforms the complex problem of managing all resource dependencies simultaneously into a series of simpler, level-by-level configuration tasks, reducing system complexity while maintaining configuration speed.
Solution Approach 2:
The patent introduces dynamic adaptability by allowing the configuration system to adjust query batches based on real-time feedback from device responses. The system dynamically determines which devices to query next based on completed configurations and remaining dependencies, optimizing configuration speed while managing complexity through adaptive rather than rigid batch processing.
3Loss of time
If configuration updates are applied to network devices in parallel, then configuration time is reduced, but risk of dependency violations increases
Solution Approach 1:
The patent segments devices into hierarchical levels based on their position in the dependency DAG, ensuring that configuration updates are applied in the correct topological order. Devices at lower levels (with fewer dependencies) are configured before devices at higher levels, maintaining dependency integrity while still enabling parallel configuration within each level. This segmentation prevents dependency violations while maximizing parallel processing benefits.
Solution Approach 2:
The DAG structure acts as an intermediary between the configuration system and network devices, mediating the parallel configuration process. The DAG's topological ordering provides a natural sequencing mechanism that ensures dependency constraints are satisfied while allowing parallel execution of independent configuration tasks. This intermediary structure reconciles the conflict between parallelism and dependency integrity.
Data Source
AI summary
An example controller device that manages a plurality of network devices includes one or more processors implemented in circuitry and configured to: determine that configuration of one or more network devices of the plurality of network devices is to be updated; determine dependencies between types of resources provided by the network devices; construct a directed acyclic graph (DAG) representing the dependencies, the DAG having nodes representing the corresponding types of resources of the network devices of the plurality of network devices; sort the nodes of the DAG according to a grouped topological sort into a plurality of hierarchical levels according to the dependencies; and submit queries for two or more resources of the network devices at a common level of the plurality of hierarchical levels in parallel to determine resources of the determined types of resources of the two or more resources to configure the two or more network devices.


