Virtualized I/O Resource Discovery Table for Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer systems face challenges in efficiently sharing and protecting I/O hardware resources among multiple processes, where each process must have isolated access to its allocated resources without knowledge of sharing with others, while ensuring data protection and efficient resource utilization.

Innovation Solution

A virtualized I/O device system that includes a storage for a resource discovery table, programmed I/O configuration registers, and a service processor to allocate and manage hardware resources, allowing each process to discover and access its allocated resources through a common device driver, while preventing access to other processes' resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If I/O hardware resources are shared among multiple processes to increase utilization, then resource utilization efficiency is improved, but data protection and access isolation between processes become more difficult to ensure

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoiddata protection and access isolation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the shared I/O device into multiple virtualized functions, with each function allocated to a specific process. The resource discovery table is segmented into separate entries for each function, allowing isolated resource allocation and discovery while maintaining physical sharing of the underlying hardware resources.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a resource discovery table as an intermediary data structure that mediates between the shared I/O device and multiple processes. This table stores resource allocation information for each virtualized function and enables the device driver to discover allocated resources through controlled read access, ensuring isolation without requiring separate physical hardware for each process.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If separate physical I/O devices are allocated to each process to ensure data protection, then data protection and access isolation are improved, but hardware resource utilization efficiency deteriorates

Engineering Contradiction:
Improvedata protection and access isolationVSAvoidhardware resource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges multiple virtualized functions into a single shared physical I/O device. By combining multiple functions that can be independently allocated to different processes into one physical device, the system achieves both data protection (through virtualization isolation) and efficient resource utilization (through physical sharing).

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent makes the single I/O device universal by enabling it to serve multiple processes simultaneously through virtualization. The device can perform multiple functions for different processes at the same time, with each process seeing only its allocated resources, thus achieving multi-functionality without requiring multiple separate physical devices.

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

3Ease of operation

If a resource discovery table is implemented to enable process discovery of allocated resources, then resource discovery capability is improved, but device complexity increases

Engineering Contradiction:
Improveresource discovery capabilityVSAvoiddevice complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent creates a logical copy of resource allocation information in the resource discovery table, which mirrors the actual resource allocation without duplicating the physical hardware complexity. The device driver discovers resources by reading this table rather than directly probing complex hardware configurations, simplifying the discovery process while maintaining accurate resource information.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8312461B2System and method for discovering and protecting allocated resources in a shared virtualized I/O device
Publication Date: 2012.11.13 ORACLE AMERICAN INC
  • US8312461B2 patent drawing
  • US8312461B2 patent drawing
  • US8312461B2 patent drawing

AI summary

A system includes a virtualized I/O device coupled to one or more processing units. The virtualized I/O device includes a storage for storing a resource discovery table, and programmed I/O (PIO) configuration registers corresponding to hardware resources. A system processor may allocate the plurality of hardware resources to one or more functions, and to populate each entry of the resource discovery table for each function. The processing units may execute one or more processes. Given processing units may further execute OS instructions to allocate space for an I/O mapping of a PIO configuration space in a system memory, and to assign a function to a respective process. Processing units may execute a device driver instance associated with a given process to discover allocated resources by requesting access to the resource discovery table. The virtualized I/O device protects the resources by checking access requests against the resource discovery table.