Virtual Machine Message Passing via Intermediary

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for inter-process communication between virtual machines, such as Java RMI, require cumbersome setup and are not compatible across different underlying operating systems, making it difficult for programs to communicate securely and efficiently.

Innovation Solution

A method that constructs messages on behalf of a first virtual machine, communicates security information to a second virtual machine, and processes messages without requiring the first program to participate in the transfer, allowing communication through an intermediate process or inter-process communication mechanisms, even if the operating systems are different.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If Java RMI is used for virtual machine communication, then method invocation between virtual machines is enabled, but existing classes must be altered to work within a stub/skeleton paradigm which is cumbersome for programmers

Engineering Contradiction:
Improveease of programmingVSAvoidcommunication mechanism complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary message passing mechanism that operates between virtual machines without requiring changes to existing class structures. Instead of using RMI's stub/skeleton paradigm, the system uses a message-based intermediary approach where messages are constructed and passed between virtual machines, allowing existing classes to remain unchanged while enabling communication.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If inter-process communication mechanisms are used between virtual machines on different operating systems, then communication is enabled, but compatibility issues arise between different operating systems' communication mechanisms

Engineering Contradiction:
Improvecross-operating system compatibilityVSAvoidcommunication compatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent creates a universal message passing interface that works across different operating systems. The message construction and passing mechanism is designed to be OS-agnostic, allowing the same communication protocol to function reliably whether the virtual machines are running on Windows, Linux, or other operating systems, thus achieving both versatility and reliability.

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

3Reliability

If security information is communicated between virtual machines, then secure message processing is enabled, but additional communication overhead is introduced

Engineering Contradiction:
ImprovesecurityVSAvoidcommunication time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent incorporates security information into the message structure itself, performing security checks as part of the natural message processing flow. By embedding security credentials and permissions within the message and validating them during standard message handling operations, the system achieves secure communication without requiring separate security verification steps, thus minimizing additional time overhead.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8505029B1Virtual machine communication
Publication Date: 2013.08.06 ADOBE INC
  • US8505029B1 patent drawing
  • US8505029B1 patent drawing
  • US8505029B1 patent drawing

AI summary

The present disclosure includes, among other things, systems, methods and program products for virtual machine communication. For example, one or more aspects of the subject matter described in this disclosure can be embodied in one or more methods that include constructing a first message on behalf of a first program executing in a first virtual machine. A second virtual machine is selected from one or more virtual machines. Security information for the first program is communicated to the second virtual machine. The first message is communicated from the first virtual machine to the second virtual machine, the first message to be processed by the second virtual machine with regard to the security information.