Dynamic Capability Negotiation in Virtual Function Drivers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing communication methods between virtual machines (VMs) and physical hardware devices lack flexibility and scalability, particularly in datacenters where a large number of VMs are executed, as they have a fixed message structure that limits the number of capabilities that can be negotiated, hindering performance and compatibility.

Innovation Solution

A dynamic message format is introduced that allows for the negotiation of any number of capabilities, with a first dynamic indication denoting the total number of capabilities and multiple second dynamic indications associated with each capability, enabling the message format to adapt in size and allowing for easy extension and backwards compatibility, using a type-version-length-value (TVLV) format for efficient data processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a fixed message structure is used for communication between VF drivers and PF drivers, then the message format is simple and easy to process, but the number of capabilities that can be negotiated is limited

Engineering Contradiction:
Improvenumber of negotiable capabilitiesVSAvoidmessage format structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The message format transitions from a fixed structure to a dynamic structure where the number of capability fields is determined by a count indicator (e.g., N) in the message header. This allows the message to adapt its size and content based on the number of capabilities being negotiated, resolving the contradiction between versatility and complexity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The capability negotiation message is segmented into a header portion containing the count indicator and a variable portion containing N capability fields. Each capability field can be independently processed, allowing the system to handle any number of capabilities while maintaining structured processing through clear segmentation.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If a fixed-size message format is used, then processing is efficient and predictable, but the system cannot easily extend to support new capabilities

Engineering Contradiction:
Improveextensibility of capability setVSAvoidmessage processing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The message format uses dynamic sizing based on the capability count indicator, allowing the system to process only the necessary number of capability fields. This maintains processing efficiency by avoiding overhead from fixed-size allocations while enabling extensibility as new capabilities can be added by simply incrementing the count and including additional fields.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The message format structure serves multiple functions: it efficiently processes current capabilities while simultaneously providing a framework for future extensions. The universal structure with variable-length capability arrays allows the same message format to handle both existing and new capabilities without requiring format changes.

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

3Productivity

If more capabilities are negotiated between VF and PF drivers, then VM performance and functionality are enhanced, but the communication overhead and message size increase

Engineering Contradiction:
ImproveVM performanceVSAvoidmessage data volume
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The message size dynamically adjusts to the number of capabilities being negotiated. When few capabilities are needed, the message remains compact. When more capabilities are required for enhanced VM performance, the message expands accordingly. This dynamic sizing ensures that message data volume matches the actual information needs rather than being constrained by fixed-size allocations.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP4121853B1Coordinated pliant capabilities attestation between virtual function drivers and a physical function driver in a virtualized environment
Publication Date: 2024.09.11 HUAWEI TECH CO LTD
  • EP4121853B1 patent drawingFigure 1
  • EP4121853B1 patent drawingFigure 2
  • EP4121853B1 patent drawingFigure 3

AI summary

A computing device configured to receive first message type(s), transmitted from a virtual function (VF) driver to a physical function (PF) driver, formatted in a dynamic message format that includes: a first dynamic indication denoting a number of capabilities, and second dynamic indications associated with respective capabilities denoting a size of data stored in the respective message that is associated with the corresponding respective capability, wherein the first message type(s) includes a set of requested capabilities supported by the VF driver for enablement on or by the I/O device, transmit second message type(s) from the PF driver to the VF driver that includes a set of supported capabilities selected from the requested capabilities that are supported by the I/O device and PF driver for implementation thereon, and enable the set of supported capabilities by the I/O device and the PF driver for use by the VF driver.