Special Purpose Virtual Machines for Parallel Job Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems lack efficient methods for executing complex jobs in a distributed manner, leading to suboptimal performance, security isolation, and increased costs due to inefficient hardware utilization.

Innovation Solution

The use of special purpose virtual machines (VMs) to receive job requests, select parent VMs, instantiate child VMs, partition tasks, and execute them in parallel, enhancing performance and security through distributed processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If complex jobs are executed using traditional single-system methods, then system simplicity is maintained, but performance and execution efficiency deteriorate

Engineering Contradiction:
Improvejob execution performanceVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments complex jobs into multiple independent tasks that can be executed in parallel across multiple virtual machines. Each task is assigned to a separate VM instance, enabling concurrent processing while maintaining system manageability through modular task-VM mapping.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from single-system sequential execution to multi-VM parallel execution by adding the dimension of virtualization. Multiple VMs run simultaneously on physical hardware, creating a parallel processing dimension that大幅提升 execution performance without proportionally increasing physical system complexity.

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

2Reliability

If multiple virtual machines are used for parallel processing, then performance and security isolation are improved, but device complexity increases

Engineering Contradiction:
Improvesecurity isolationVSAvoidvirtual machine management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a job execution system as an intermediary layer between the user and the virtual machines. This intermediary automatically handles VM selection, task partitioning, and execution coordination, reducing the management burden on users while maintaining the security and performance benefits of multiple VMs.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements self-service capabilities where the job execution system automatically selects appropriate parent VMs, instantiates child VMs as needed, and manages their lifecycle. This automation reduces manual intervention and simplifies operations while maintaining strong security isolation between VMs.

Inventive Principle:
Principle #25Self-service

3Productivity

If traditional hardware utilization methods are used, then system simplicity is maintained, but capital and operating costs increase due to inefficient resource usage

Engineering Contradiction:
Improvehardware utilization efficiencyVSAvoidhardware resources required
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent enables single physical hardware to serve multiple functions by running multiple virtual machines simultaneously. Each VM can execute different tasks or job types, allowing the same hardware resources to be universally utilized across multiple workloads, thereby improving overall hardware utilization efficiency and reducing the need for additional physical hardware.

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

Data Source

PatentUS11429442B2Parallel and distributed computing using multiple virtual machines
Publication Date: 2022.08.30 VMWARE INC
  • US11429442B2 patent drawing
  • US11429442B2 patent drawing
  • US11429442B2 patent drawing

AI summary

Systems and techniques are described for using virtual machines to write parallel and distributed applications. One of the techniques includes receiving a job request, wherein the job request specifies a first job to be performed by a plurality of a special purpose virtual machines, wherein the first job includes a plurality of tasks; selecting a parent special purpose virtual machine from a plurality of parent special purpose virtual machines to perform the first job; instantiating a plurality of child special purpose virtual machines from the selected parent special purpose virtual machine; partitioning the plurality of tasks among the plurality of child special purpose virtual machines by assigning one or more of the plurality of tasks to each of the child special purpose virtual machines; and performing the first job by causing each of the child special purpose virtual machines to execute the tasks assigned to the child special purpose virtual machine.