Distributed Datastore Architecture for Scalable Network Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network computing systems face challenges in efficiently storing and managing network routing information, particularly in large networks, where manual construction of routing tables is unfeasible and dynamic routing can be computationally expensive, with few safeguards against system failures.
Innovation Solution
Implementing a datastore architecture that offloads network routing information to an independent storage system, which can be deployed as a single node or multiple nodes, supporting structured and unstructured data, and leveraging a publish-subscribe infrastructure for efficient data management and scalability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If dynamic routing is used to automatically construct routing tables, then network autonomy and adaptability are improved, but computational expense and processing time increase
Solution Approach 1:
The patent extracts the routing table storage function from the router's volatile memory and places it in an external non-volatile datastore. This separation allows the router to maintain automation capabilities while reducing its computational and memory burden, as the datastore passively stores routing information without requiring active processing.
Solution Approach 2:
The patent implements preliminary action by pre-populating the external datastore with routing table information before the router needs it for operation. This allows the router to quickly load routing data into volatile memory without performing complex computations at runtime, thus reducing computational expense while maintaining automation.
2Speed
If routing information is stored in volatile memory, then fast access is achieved, but data loss occurs during system failures
Solution Approach 1:
The patent introduces an intermediary external datastore between the router and the routing information. This datastore acts as a mediator that provides both the persistence of non-volatile storage and fast access capabilities, allowing the router to quickly retrieve routing data while the datastore ensures data survival across system failures through its non-volatile nature.
Solution Approach 2:
The patent implements beforehand cushioning by storing routing table data in advance in the external non-volatile datastore. This creates a cushion or backup that protects against data loss during system failures, allowing the router to recover quickly by reloading data from the datastore rather than losing it entirely.
3Device complexity
If manual routing table configuration is used, then system complexity is reduced, but network scalability and adaptability deteriorate
Solution Approach 1:
The patent implements self-service by enabling the network system to automatically populate and update the external datastore with routing information from routing protocols. This eliminates the need for manual configuration while keeping system complexity low, as the automated population occurs in the background without requiring complex router processing or user intervention.
4Speed
If routing data is stored locally in the router, then data access speed is improved, but system resilience and fault tolerance worsen
Solution Approach 1:
The patent applies segmentation by dividing the routing data storage function into two separate components: the router's volatile memory for fast access and an external non-volatile datastore for resilience. This segmentation allows each component to specialize in its strength while working together, achieving both fast data access and system resilience through the distributed architecture.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Systems, methods, and devices for offloading network data to a datastore. A system includes a plurality of instances of a datastore node in a single networking device, each of the plurality of instances of the datastore node comprising: a datastore; a publisher independent of the datastore for publishing data to the datastore; a subscriber independent of the datastore for receiving information from the datastore; a replicator agent configured to connect to the datastore as a publisher or a subscriber; and a persistent storage agent configured to connect to the datastore as a publisher or a subscriber.