Virtualization Failover Mechanism Without Intermediate Drivers

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvefailover capabilityVSAvoidintermediate driver component
Core Design Contradiction:
ReliabilityVSDevice complexity

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

Inventive Principle:
Principle #2Taking out (Extraction)

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

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If an intermediate driver component is introduced to provide failover capability, then reliability is improved, but system throughput decreases

Engineering Contradiction:
Improvefailover capabilityVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

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

Inventive Principle:
Principle #2Taking out (Extraction)

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

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If multiple paths are implemented for virtual machine networking, then adaptability is improved, but device complexity increases

Engineering Contradiction:
Improvemultiple pathsVSAvoidconfiguration and maintenance overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9753820B2Failover mechanism
Publication Date: 2017.09.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9753820B2 patent drawing
  • US9753820B2 patent drawing
  • US9753820B2 patent drawing

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.