Distributed Virtual Machine Thread Execution Across Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As applications grow in size, they require additional computing resources, which can be costly and inefficient to manage with traditional single-host virtual machine environments, especially since data transfer between different computing devices is slower than within the same device.

Innovation Solution

A distributed virtual machine environment across multiple computing devices is implemented, allowing applications to execute across multiple devices with minimal latency and increased data transfer speeds through a high-speed network connection, such as gigabit Ethernet, while being transparent to the application and users, with a machine manager routing communications and balancing workloads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If applications execute across multiple computing devices, then computing resource capacity increases, but data transfer speed decreases

Engineering Contradiction:
Improvecomputing resource capacityVSAvoiddata transfer speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent divides the virtual machine environment into distributed segments across multiple computing devices. Each device hosts portions of the virtual machine, allowing applications to execute across multiple devices while maintaining the illusion of a single unified environment. This segmentation enables increased computing resource capacity while managing data transfer through coordinated communication protocols.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a communication fabric and virtual machine manager as intermediaries between distributed computing devices. These intermediaries coordinate data transfer and synchronization, managing the complexity of multi-device communication while enabling applications to access distributed resources transparently.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If traditional single-host virtual machine environments are used, then data transfer speed is maintained, but computing resource capacity is limited

Engineering Contradiction:
Improvedata transfer speedVSAvoidcomputing resource capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent transitions from a single-host vertical resource model to a multi-device horizontal distributed model. By adding the dimension of spatial distribution across multiple computing devices connected via high-speed networks, the system achieves both increased resource capacity and maintained data transfer speeds through parallel processing and distributed architecture.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Quantity of substance

If distributed virtual machine environment is implemented, then computing resource capacity increases, but system complexity increases

Engineering Contradiction:
Improvecomputing resource capacityVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent creates a universal distributed virtual machine environment that presents a unified interface to applications regardless of the underlying distributed complexity. The virtual machine manager and communication fabric provide multi-functional capabilities including resource allocation, synchronization, and coordination, hiding the distributed system complexity from applications while enabling access to expanded resources.

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

4Speed

If high-speed network connections are used, then data transfer speed increases, but implementation cost increases

Engineering Contradiction:
Improvedata transfer speedVSAvoidimplementation cost
Core Design Contradiction:
SpeedVSEase of manufacture

Solution Approach 1:

The patent optimizes network communication parameters and protocols for the distributed virtual machine environment. By adjusting communication frequencies, data packet sizes, and synchronization intervals, the system achieves high effective data transfer speeds using existing network infrastructure, reducing the need for expensive specialized high-speed hardware while maintaining performance.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10733030B2Executing threads of an application across multiple computing devices in a distributed virtual machine environment
Publication Date: 2020.08.04 AMAZON TECH INC
  • US10733030B2 patent drawing
  • US10733030B2 patent drawing
  • US10733030B2 patent drawing

AI summary

According to one embodiment, a computer-implemented method includes executing code for an application using a computing resource of a first computing device. The application requests execution of a first thread and a second thread. The first thread is executed using the computing resource of the first computing device. A second computing device is selected from a plurality of computing devices. The second computing device has an available computing resource to execute the second thread. The second thread is assigned to the second computing device. The second computing device is operable to execute the second thread using the available computing resource.