Guest Transmit Descriptor Intermediate State Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computing environments, the limited number of guest transmit descriptors can lead to resource starvation due to long latencies in receiving transmit complete notifications for data transmissions via physical NICs, causing delays or drops in data transmissions to local hosts or other guest OSs.

Innovation Solution

Introducing an intermediate state for guest transmit descriptors allows them to be freed and reused before receiving a transmit complete notification, by copying memory information to a tracking data structure and reassigning the descriptor to the free pool, thus alleviating bottlenecks and preventing resource starvation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If guest transmit descriptors are held in busy state until transmit complete notification is received, then transmission reliability is ensured, but resource availability deteriorates causing resource starvation

Engineering Contradiction:
Improvetransmission reliabilityVSAvoidavailable transmit descriptors
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent introduces an intermediate state between busy and free states for transmit descriptors. This intermediate state acts as a mediator that allows descriptors to be released from the busy state without waiting for transmit complete notifications, while still maintaining tracking of the ongoing transmissions. The intermediate state enables other transmit operations to proceed using freed descriptors, thus resolving the resource starvation problem while preserving transmission reliability through the tracking mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If transmit descriptors are freed before receiving transmit complete notification, then resource availability improves, but tracking accuracy deteriorates

Engineering Contradiction:
Improveavailable transmit descriptorsVSAvoidtransmission status information
Core Design Contradiction:
Quantity of substanceVSLoss of information

Solution Approach 1:

The patent implements a tracking data structure that copies and stores references to transmit descriptors in an intermediate state. When a descriptor moves to the intermediate state, its information is copied to the tracking data structure, allowing the system to maintain accurate transmission status information even after the original descriptor is freed and reused. This copying mechanism prevents information loss while enabling resource reuse.

Inventive Principle:
Principle #26Copying

3Productivity

If intermediate state tracking is implemented, then resource utilization improves, but system complexity increases

Engineering Contradiction:
Improvetransmit descriptor utilizationVSAvoidstate management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the transmit descriptor management into distinct states (free, busy, intermediate) with clear transition rules. By dividing the state management into discrete, well-defined segments, the system can track descriptor status more efficiently despite the added complexity. The segmentation allows for systematic handling of each state transition, making the complexity manageable and the resource utilization improvements achievable.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10372470B2Copy of memory information from a guest transmit descriptor from a free pool and assigned an intermediate state to a tracking data structure
Publication Date: 2019.08.06 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10372470B2 patent drawing
  • US10372470B2 patent drawing
  • US10372470B2 patent drawing

AI summary

Examples include the copy of memory information from a transmit descriptor to a tracking data structure. Some examples include the memory information being copied from a guest transmit descriptor to a tracking data structure of the guest OS and assignment of the guest transmit descriptor back to a free pool, in response to a determination that the guest transmit descriptor is assigned to an intermediate state.