Partition Bus for Virtual Machine Device Sharing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtual machine environments, existing technologies face challenges in efficiently sharing devices and transferring data between multiple operating systems running on different partitions, leading to issues like device corruption and high processing costs due to the lack of standardized programming models and integration mechanisms.

Innovation Solution

The introduction of a partition bus that utilizes ring buffers, synthetic devices, and address space manipulation to enable inter-partition device sharing and data transfer, along with a policy decision agent for channel management, allowing for efficient data transport and device ownership assignment without incurring context switching costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the virtualizing software processes device sharing and data transfer between partitions, then device sharing and data transfer are enabled, but processing overhead and context switching costs increase significantly

Engineering Contradiction:
Improvedevice sharing capabilityVSAvoidprocessor cycle consumption
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent introduces a partition bus as an intermediary mechanism that enables direct communication between partitions for device sharing and data transfer. This bypasses the need for the virtualizing software to process each device sharing operation individually, thereby reducing processor cycle consumption while maintaining adaptability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the device sharing functionality by creating dedicated partition bus channels and synthetic devices for each partition. This allows independent device sharing operations to proceed in parallel without requiring centralized processing by the virtualizing software, reducing overall processing overhead.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If multiple operating systems share the same device simultaneously, then integration and data movement between OSes are improved, but device corruption risks increase due to conflicting programming models

Engineering Contradiction:
Improveinter-OS integrationVSAvoiddevice data integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The partition bus acts as an intermediary layer between multiple operating systems and shared devices. It implements a standardized programming model that mediates access requests, ensuring that devices are accessed in a controlled manner that prevents corruption while enabling integration between OSes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal synthetic device interface through the partition bus that can be used by multiple operating systems with different programming models. This universal interface translates diverse OS requests into standardized device operations, preventing conflicts while maintaining interoperability.

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

3Reliability

If a standardized programming model is implemented for device sharing, then device sharing safety and efficiency are improved, but system complexity increases due to additional virtualization layers

Engineering Contradiction:
Improvedevice sharing safetyVSAvoidvirtualization architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The partition bus enables partitions to self-configure device sharing relationships through automated channel establishment and synthetic device creation. This reduces the need for complex manual configuration and management of the virtualization architecture, lowering operational complexity while maintaining safety through standardized protocols.

Inventive Principle:
Principle #25Self-service

4Adaptability or versatility

If context switching is used for data transfer between partitions, then data transfer is enabled, but transfer speed and efficiency decrease due to processing overhead

Engineering Contradiction:
Improvedata transfer capabilityVSAvoiddata transfer speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The partition bus enables continuous data transfer between partitions through dedicated communication channels and ring buffers. Data can flow continuously without interruption from context switching, as the partition bus maintains persistent connections and handles transfers in a streamlined manner that eliminates repeated context switch overhead.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS7689800B2Partition bus
Publication Date: 2010.03.30 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7689800B2 patent drawing
  • US7689800B2 patent drawing
  • US7689800B2 patent drawing

AI summary

A method and system are provided for integrating partitions in a virtual machine environment. Specifically, a partition bus is provided, where the partition bus operatively connects partitions in such a way that it functions as a data transport mechanism allowing for data transfer and device sharing between partitions. The partition bus relies on virtualizing software in order to establish itself and to establish channels of communication between partitions and to inject interrupts to partitions where it is appropriate to do so. Furthermore, the partition bus employs such mechanisms ring buffers, transfer pages, and memory map changes to transfer information (requests and data). Furthermore, it uses policy agents to decide when information should be transferred or when devices should be shared among partitions. Lastly, it employs various mechanisms to ensure smooth integration between partitions, which includes remote services that have proxy devices and device versioning functionalities.