Virtual Function Pool Management for SR-IOV Fault Tolerance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems managing virtual functions lack efficient fault tolerance mechanisms to maintain access without loss in the event of failures, leading to potential disruptions and inefficiencies in network connectivity.

Innovation Solution

A method for generating a virtual function pool with fault tolerance indicators to accommodate failures, selecting active and backup virtual functions dynamically, and recreating control paths to ensure continuous access to target networks, utilizing a hypervisor to manage SR-IOV adapters and client partitions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple virtual functions are configured for redundancy to ensure continuous network access, then fault tolerance is improved, but device complexity and configuration requirements increase

Engineering Contradiction:
Improvefault toleranceVSAvoidconfiguration requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system pre-creates a pool of virtual functions before failures occur, storing them in the hypervisor. When a failure is detected, the system can immediately activate a backup virtual function from the pool without requiring complex real-time configuration or manual intervention, thus achieving fault tolerance while simplifying the operational complexity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The virtual function pool serves multiple purposes: it acts as both the primary network interface and the backup mechanism. The same pool of virtual functions is used for normal operation and for fault recovery, eliminating the need for separate dedicated backup configurations and reducing overall system complexity

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

2Reliability

If a pool of virtual functions is generated and maintained for backup purposes, then fault tolerance is improved, but the number of virtual functions required increases

Engineering Contradiction:
Improvefault toleranceVSAvoidnumber of virtual functions
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system merges the primary and backup virtual function management into a single unified pool. Instead of maintaining separate primary and backup virtual functions, all virtual functions are pooled together in the hypervisor, and the system dynamically selects and activates appropriate functions from the pool based on operational needs and failure conditions, thereby reducing the total number of virtual functions required

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system dynamically manages the virtual function pool, where virtual functions can be activated or deactivated based on real-time conditions. This dynamic approach allows the system to use a smaller pool of virtual functions efficiently, activating backups only when needed rather than maintaining all backups in active state, thus reducing the quantity requirement

Inventive Principle:
Principle #15Dynamics

3Reliability

If manual configuration of backup virtual functions is performed, then fault tolerance is improved, but ease of operation deteriorates due to increased configuration needs

Engineering Contradiction:
Improvefault toleranceVSAvoidconfiguration simplicity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The hypervisor automatically manages the virtual function pool and performs self-healing operations. When a failure is detected, the system automatically selects and activates a backup virtual function from the pool without requiring manual configuration or intervention. This self-service capability maintains fault tolerance while significantly improving ease of operation by eliminating complex manual setup requirements

Inventive Principle:
Principle #25Self-service

4Ease of operation

If virtual function failures are not quickly recovered from, then operational simplicity is maintained, but productivity decreases due to network access interruptions

Engineering Contradiction:
Improveoperational simplicityVSAvoidnetwork throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system implements a feedback mechanism that continuously monitors the health and status of active virtual functions. When a failure is detected, the system receives feedback about the failure condition and automatically triggers the activation of a backup virtual function from the pool. This closed-loop feedback system maintains operational simplicity while ensuring rapid recovery and continuous productivity without network access interruptions

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10884878B2Managing a pool of virtual functions
Publication Date: 2021.01.05 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10884878B2 patent drawing
  • US10884878B2 patent drawing
  • US10884878B2 patent drawing

AI summary

Managing a pool of virtual functions including generating a virtual function pool comprising a plurality of virtual functions for at least one single root input/output virtualization (SR-IOV) adapter; creating a control path from a client virtual network interface controller (VNIC) driver in a first client partition to a target network using an active virtual function; receiving a failure alert indicating that the control path from the client VNIC driver in the first client partition to the target network using the active virtual function has failed; selecting, from the virtual function pool, a backup virtual function for the first client partition based on the failure alert; and recreating the control path from the client VNIC driver in the first client partition to the target network using the backup virtual function.