Virtual Switch API for Network Packet Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computer network technologies face inefficiencies in packet transfer between management applications and NIC drivers due to the limitations of source routing paradigms, which require complex device driver logic and restrict functionality, especially in managing multiple applications over shared networks.
Innovation Solution
An electronic system with an application programming interface (API) for a virtual switch, allowing source routing to be extended into user applications, enabling packet-forwarding logic and management functions to be implemented as user-mode applications rather than device drivers, and facilitating modular and distributed management across network interfaces.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If source routing paradigm is used with NIC device drivers, then packet routing functionality is achieved, but device driver complexity increases and functionality is limited
Solution Approach 1:
The patent introduces a virtual switch as an intermediary component that mediates between applications and the NIC device driver. The virtual switch receives source-routed packets from applications, performs the routing logic, and forwards packets to the NIC driver, thereby eliminating the need for complex routing functionality within the device driver itself while maintaining adaptability and versatility.
Solution Approach 2:
The patent segments the packet routing functionality by separating it from the NIC device driver and placing it in the user-mode application space through the virtual switch. This segmentation allows the device driver to remain simple while routing capabilities are implemented independently in user space, resolving the contradiction between functionality and complexity.
2Adaptability or versatility
If multiple management applications share a source routed network, then network sharing is enabled, but additional device driver functionality is required which limits functionality or increases driver complexity
Solution Approach 1:
The virtual switch provides universal functionality by serving as a common platform that multiple management applications can share. Instead of requiring each application to have its own device driver functionality, the virtual switch handles routing for all applications uniformly, enabling network sharing without increasing device driver complexity.
Solution Approach 2:
The virtual switch acts as an intermediary that manages multiple applications' access to the network. It receives packets from any application, applies source routing logic, and forwards to the NIC driver, enabling multiple applications to share the network infrastructure without requiring additional device driver functionality.
3Reliability
If source routing logic resides in NIC device driver, then packet routing is implemented, but efficiency of packet transfer between management applications and NIC drivers decreases
Solution Approach 1:
The virtual switch serves as an intermediary that optimizes packet transfer efficiency by handling routing logic in user space. This eliminates the inefficiency of context switching between kernel space (device driver) and user space (applications), as the virtual switch operates in user mode and can directly interact with applications without requiring kernel involvement for each routing decision.
Data Source
AI summary
An electronic system may include an application programming interface for use in conjunction with a virtual switch. In some embodiments, the electronic system may comprise a processor; a network interface controller including a hardware port, a virtual switch comprising software executed by the processor, and an application programming interface (“API”) running on the processor and usable by a application to interface with the virtual switch.


