Virtual Machine Cloning for Parallel Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional MapReduce frameworks for large-scale data processing are costly and inefficient for users with light to medium data processing needs, as they require large clusters of hardware servers and are prone to machine failures, making them unorthodox and expensive.

Innovation Solution

A system and method for parallel data processing using a dynamically created cluster of virtual machines distributed over a server farm, where a parent virtual machine clones itself to create child VMs, dividing the data set into chunks and processing each chunk to generate intermediate results, which are then reduced using the entire server farm's resources without the need for additional software implementations like Apache Hadoop.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a large cluster of hardware servers is used for MapReduce processing, then data processing capability is improved, but cost and complexity increase

Engineering Contradiction:
Improvedata processing capabilityVSAvoidcluster complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses virtual machine cloning to create multiple worker nodes from a single template VM. Instead of deploying numerous physical servers, the system creates virtual copies that can be rapidly instantiated and managed, reducing hardware complexity while maintaining processing capability.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent implements a unified VM template that can serve multiple functions - acting as both a worker node for data processing and a potential master node. This multi-functionality reduces the need for specialized hardware configurations and simplifies cluster management.

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

2Speed

If hardware servers with directly-attached storage are used, then data processing speed is improved, but fault tolerance decreases

Engineering Contradiction:
Improvedata processing speedVSAvoidfault tolerance
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent introduces network-attached storage as an intermediary between the VMs and the data. This allows VMs to access data over the network while maintaining fast processing speeds, and simultaneously provides centralized storage that can be replicated and recovered, improving fault tolerance without sacrificing performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If a dynamic VM cluster is created, then resource utilization is improved, but system complexity increases

Engineering Contradiction:
Improveresource utilization flexibilityVSAvoidcluster management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements self-service mechanisms where the master VM automatically manages the creation, configuration, and coordination of worker VMs. The system autonomously handles resource allocation and task distribution, reducing the need for manual intervention and simplifying management despite the dynamic nature of the cluster.

Inventive Principle:
Principle #25Self-service

4Productivity

If iterative VM cloning is performed, then parallel processing capability is improved, but overhead time increases

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidcloning overhead time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-configuring the VM template with all necessary software, libraries, and configurations before cloning. This allows worker VMs to be rapidly instantiated without requiring post-creation setup, significantly reducing cloning overhead time while maintaining full parallel processing capability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10776148B1System and method for utilizing computational power of a server farm
Publication Date: 2020.09.15 PARALLELS INT GMBH
  • US10776148B1 patent drawing
  • US10776148B1 patent drawing
  • US10776148B1 patent drawing

AI summary

Disclosed are systems and methods for parallel processing an input data set. During a map stage of a computation, starting with a first virtual machine (VM) acting as a parent VM and an input data set, the system clones the parent VM to generate at least one linked clone child VM. The system further divides the input data set into a first chunk for the parent VM and a second chunk for the at least one child VM by determining a starting pointer for each chunk. Each chunk is processed by a VM to generate an intermediate data result, which is stored in a network storage device. The plurality of VMs then perform a reduce stage on the plurality of intermediate data results stored in the network storage device.