Virtual Machine Bus Pipe Mode Data Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual machine bus protocols are cumbersome and unnecessary for non-performance-sensitive services, particularly those using user-mode code for user interface integration, as they require specialized modes and custom protocols, which are not efficient for simple data transfer and security.

Innovation Solution

A virtual machine bus (VM bus) operates in pipe mode, allowing all incoming data to be passed directly between source and sink, with a distributed computing object system enabling calls and responses between virtual machines, supporting constructs like Remote Procedure Calls (RPCs) for secure and efficient data transfer without the need for a general-purpose bus stack.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a general purpose bus stack is used for data transfer between virtual machines, then versatility and adaptability are improved, but device complexity and protocol overhead increase

Engineering Contradiction:
Improveprotocol versatilityVSAvoidbus stack complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts and removes the general purpose bus stack from the data transfer path between virtual machines. Instead of using a full bus stack with multiple protocol layers, the invention directly connects VMs through a simplified mechanism that bypasses the complex bus stack, keeping only the essential data transfer functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Rather than having data transfer go through the traditional bus stack hierarchy (VM -> bus stack -> physical bus), the patent inverts the approach by establishing direct VM-to-VM communication channels that eliminate the intermediate bus stack layer, simplifying the data path while maintaining versatility.

Inventive Principle:
Principle #13The other way round (Inversion)

2Reliability

If specialized modes and custom protocols are used for data transfer, then manufacturing precision and reliability are improved, but ease of operation and simplicity worsen

Engineering Contradiction:
Improvedata transfer reliabilityVSAvoidprotocol simplicity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent creates a universal data transfer mechanism that can handle multiple types of data and communication patterns through a single simplified protocol. Instead of requiring different custom protocols for different scenarios, the invention uses one versatile interface that maintains reliability across various use cases while keeping the interface simple.

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

3Productivity

If all data is transmitted without restriction, then productivity and data flow efficiency are improved, but security and control worsen

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidsecurity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces an intermediary filtering mechanism that sits between the data source and destination VMs. This intermediary selectively allows or blocks data based on predefined security rules, maintaining high data flow efficiency for authorized transfers while providing robust security control without requiring complex protocols.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7941800B2Transferring data between virtual machines by way of virtual machine bus in pipe mode
Publication Date: 2011.05.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7941800B2 patent drawing
  • US7941800B2 patent drawing
  • US7941800B2 patent drawing

AI summary

A computing device has a virtual machine bus (VM bus) operable in a pipe mode where all incoming data written to the VM bus from a source is passed through to be read from the VM bus by a sink, and a plurality of instantiated virtual machines (VMs). Each VM hosts an instance of an operating system upon an application may be instantiated. Each VM includes a computing object for issuing a call to a component object of another VM, and a VM bus system object for receiving the call and communicating same to a VM bus system object of the another VM by way of the VM bus. The VM bus system object is also for receiving the call from the VM bus system object of the another VM by way of the VM bus and for communicating the received call to the computing object.