Virtualization Failover Mechanism Without Intermediate Drivers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtualization in computer systems complicates networking by introducing complexity and overhead when providing failover capabilities through multiple paths, often requiring intermediate driver components that reduce system throughput and increase maintenance efforts.
Innovation Solution
A failover mechanism is implemented without an intermediate driver component, allowing direct communication between the networking stack and miniports, enabling seamless switching between direct and synthetic paths to maintain connectivity and throughput, while minimizing configuration and maintenance overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If an intermediate driver component is introduced to provide failover capability between multiple paths, then reliability is improved, but device complexity increases and system throughput decreases
Solution Approach 1:
The patent extracts and eliminates the intermediate driver component from the network path, allowing the networking stack to directly communicate with miniports. This removal simplifies the overall system architecture while maintaining failover capability through direct binding relationships between the networking stack and multiple miniports, thereby resolving the contradiction between reliability and device complexity
Solution Approach 2:
The patent merges the failover functionality directly into the networking stack's binding mechanism, eliminating the need for a separate intermediate driver. The networking stack directly manages multiple paths (direct and synthetic) through binding relationships, combining path selection and failover capabilities in a single integrated approach, thus reducing complexity while preserving reliability
2Reliability
If an intermediate driver component is introduced to provide failover capability, then reliability is improved, but system throughput decreases
Solution Approach 1:
By removing the intermediate driver component that processed all network traffic, the patent eliminates the processing overhead and bottlenecks it introduced. The networking stack directly binds to miniports without intermediate processing, allowing faster data transmission while maintaining failover capability through direct path switching, thus improving system throughput while preserving reliability
Solution Approach 2:
The networking stack performs failover and path selection autonomously through direct binding relationships with miniports, eliminating the need for intermediate driver processing. This self-service approach reduces processing latency and improves system throughput by removing unnecessary intermediate processing steps while maintaining reliable failover capability
3Adaptability or versatility
If multiple paths are implemented for virtual machine networking, then adaptability is improved, but device complexity increases
Solution Approach 1:
The patent implements a universal binding mechanism that handles multiple paths (direct and synthetic) through a single unified interface. The networking stack's binding relationships with miniports provide multi-functionality, supporting both direct networking and synthetic routing without requiring separate configuration mechanisms, thus reducing complexity while maintaining adaptability
Solution Approach 2:
The binding relationship acts as an intermediary mechanism that simplifies the management of multiple paths. Instead of requiring complex configuration of individual paths, the binding mechanism provides a unified abstraction layer that automatically manages path selection and failover, reducing configuration and maintenance overhead while preserving adaptability
Data Source
AI summary
Some embodiments of the invention provide a failover capability in a computer system that employs multiple paths to transfer information to and from a network, such as a computer system that performs virtualization, without introducing a new driver component to provide this capability. For example, some embodiments of the invention provide a networking virtual switch client capable of direct communication between a networking stack implemented by a virtual machine operating system and components comprising either a direct path or a synthetic path to a network interface controller coupled to a network. The networking virtual switch client may be capable of determining which of the paths to employ for a given communication, such as by determining that a synthetic path should be employed if a direct path is not available.


