Remote Socket API for Virtual Router Memory Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing router technologies face challenges in efficiently separating routing and forwarding elements, particularly in implementing virtual routers that support Layer-3 VPNs, as they require distinct separation and often result in high memory usage and complex testing processes.
Innovation Solution
A routing device with an external virtual router, a router manager, and an IP stack running in user space, along with a socket layer and remote socket API, allows dynamic interaction between applications, virtual routers, and the operating system kernel, enabling separate IP and routing protocol stacks for each virtual router, and using dynamic libraries to conserve memory.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If virtual routers are implemented with distinct separation of routing and forwarding elements, then Layer-3 VPN support and network separation are achieved, but memory usage increases and device complexity increases
Solution Approach 1:
The patent merges multiple virtual router instances into a single operating system kernel address space, allowing shared memory resources while maintaining logical separation of routing and forwarding functions. This consolidation reduces overall memory consumption compared to completely separate processes for each virtual router.
Solution Approach 2:
The invention creates a universal routing device architecture that can host multiple virtual routers with different configurations and protocols within a single system. The common address space and shared kernel resources enable this multi-functionality while reducing redundant memory usage across virtual router instances.
2Productivity
If multiple virtual routers are implemented on a single system, then resource utilization improves, but device complexity and testing complexity increase
Solution Approach 1:
Multiple virtual routers are merged into a single address space with shared kernel resources, reducing the complexity of managing completely separate systems. This consolidation simplifies testing by providing a unified environment while still maintaining the functional independence needed for multiple virtual router operations.
3Adaptability or versatility
If IP stack resides external to operating system kernel, then virtual router flexibility and porting ease improve, but system complexity increases
Solution Approach 1:
The patent introduces a socket layer as an intermediary between the user-space IP stack and the kernel, providing a standardized interface that simplifies porting while managing the complexity of external IP stack implementation. This mediator layer handles protocol details and abstraction, making the system easier to port across different platforms.
Data Source
AI summary
A routing device including an operating system kernel, a virtual router residing external to the kernel, a router manager configured to manage the virtual router, an application residing external to the virtual router, and a number of physical interfaces is disclosed. The application selectively interacts with the virtual router and the kernel on a dynamic basis, which perform a number of tasks for the application. The virtual router includes a routing protocol stack configured to handle a number of routing protocols, a number of interface drivers configured to communicate with corresponding physical interfaces, an IP stack configured to interact with the routing protocol stack and perform a forwarding function via the interface drivers, the IP stack having a forwarding information table used to perform the forwarding function; and a socket layer having a corresponding socket API configured to facilitate interactions between the IP stack and one or more socket applications.


