Shared Network Adapter Queue Management for Priority Inversion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In systems with shared network adapters, contention for limited queue space can reduce the effectiveness of quality of service and traffic management technologies, particularly due to unawareness of data priorities by the network adapter until data is queued, leading to priority inversion issues where lower priority streams may preempt higher priority ones.

Innovation Solution

The technology selectively transfers data to a shared network adapter based on availability indications from the adapter, controlling transfer rates and prioritizing data streams to prevent priority inversion by communicating queuing resource availability and using feedback to manage data transmission efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple data streams are allowed to contend for queue space in a shared network adapter, then the network adapter can serve multiple applications and virtual stations, but quality of service and traffic management effectiveness deteriorate due to priority inversion

Engineering Contradiction:
ImproveAbility to serve multiple applications and virtual stationsVSAvoidQuality of service and traffic management effectiveness
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the queue management into multiple hierarchical levels: virtual adapter queues at the upper level and physical network adapter queues at the lower level. This segmentation allows independent priority management at each level, preventing priority inversion by ensuring that higher-priority virtual adapters can preempt lower-priority ones before data reaches the shared physical queue.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary queueing structure (virtual adapter queues and driver queues) between the multiple data streams and the shared network adapter queue. This intermediary layer implements priority management logic that prevents lower-priority streams from preempting higher-priority ones, while still allowing all streams to access the shared physical adapter resources.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If network adapter virtualization technology is used to enable multiple virtual adapters to share a physical network adapter, then resource sharing is improved, but contention for queue space increases and reduces traffic management effectiveness

Engineering Contradiction:
ImproveResource sharing capabilityVSAvoidTraffic management effectiveness
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the shared queue access by creating separate virtual adapter queue structures for each virtual adapter. Each virtual adapter maintains its own queue or set of queues, allowing independent traffic management and priority control. This segmentation enables multiple virtual adapters to share the physical network adapter while maintaining effective traffic management through hierarchical priority enforcement.

Inventive Principle:
Principle #1Segmentation

3Device complexity

If the network adapter is unaware of data priorities until data is queued, then the adapter structure remains simple, but priority-based traffic management cannot be effectively implemented

Engineering Contradiction:
ImproveNetwork adapter structure simplicityVSAvoidPriority-based traffic management capability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent applies preliminary action by assigning priority information to data packets at the upper layers (virtual adapters or network adapter driver) before the data reaches the physical network adapter. This preliminary priority tagging allows the simple physical adapter to efficiently manage queues based on pre-assigned priorities without requiring complex priority awareness logic within the adapter itself.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary layer (virtual adapter or driver) that handles priority information and queue management logic. This intermediary translates high-level priority requirements into low-level queue management commands that the simple physical network adapter can execute efficiently, maintaining adapter simplicity while enabling sophisticated priority-based traffic management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10530713B2Management of multilevel queues for shared network adapters
Publication Date: 2020.01.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10530713B2 patent drawing
  • US10530713B2 patent drawing
  • US10530713B2 patent drawing

AI summary

Technology for managing queuing resources of a shared network adapter is disclosed. The technology includes selectively transferring data from data transmission sources to a queue of the shared network adapter based on status indications from the shared network adapter regarding availability of queuing resources at the shared network adapter. In addition, the technology also includes features for selectively controlling transfer rates of data to the shared network adapter from applications, virtual network stations, other virtual adapters, or other data transmission sources. As one example, this selective control is based on how efficiently data from these data transmission sources are transmitted from the shared network adapter.