Virtual Machine Resource Allocation for Multicomponent Software

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The installation, configuration, and maintenance of multicomponent software applications are complex and inefficient, requiring significant resources and time due to the need for multiple components to communicate and interact, leading to underutilization of computing resources and increased complexity in managing workloads and failures.

Innovation Solution

A method and system for executing multicomponent software applications in a virtual computer system, where multiple components run within multiple virtual machines, allowing for dynamic allocation and adjustment of computing resources based on performance and availability, with automated provisioning, monitoring, and distribution across physical computers to enhance resource utilization and availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple components are executed concurrently in a virtualized environment, then resource utilization is improved, but system complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the multicomponent software application into multiple independent virtual machines, each hosting one or more components. This segmentation allows concurrent execution while isolating complexity within manageable virtualized containers, thereby improving resource utilization without proportionally increasing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a virtual machine monitor (VMM) as an intermediary layer between the physical hardware and the multicomponent software application. The VMM manages resource allocation, component interaction, and failure isolation, enabling concurrent component execution while abstracting away the complexity of direct hardware management and inter-component communication.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If dynamic resource allocation is implemented among VMs, then adaptability is improved, but control complexity increases

Engineering Contradiction:
Improveresource allocation flexibilityVSAvoidcontrol complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic resource allocation where the VMM continuously monitors system state and automatically adjusts resource distribution among virtual machines based on current workload demands. This dynamic approach allows the system to adapt to changing conditions without manual intervention, improving flexibility while the automated nature of the control mechanism prevents exponential growth in control complexity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent incorporates feedback mechanisms where the VMM monitors performance metrics and resource usage of each virtual machine, then uses this information to make real-time allocation decisions. This closed-loop control enables adaptive resource distribution while maintaining manageable complexity through systematic, data-driven management rather than complex predetermined rules.

Inventive Principle:
Principle #23Feedback

3Productivity

If automated monitoring and adjustment is implemented, then productivity is improved, but measurement and detection difficulty increases

Engineering Contradiction:
Improvemanagement efficiencyVSAvoidperformance monitoring complexity
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements a universal monitoring framework within the VMM that handles multiple measurement tasks (CPU usage, memory allocation, I/O operations, network traffic) through a single integrated system. This multi-functional approach improves management efficiency by automating resource adjustment while avoiding the complexity of multiple separate monitoring systems by consolidating measurement functions into one standardized interface.

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

Data Source

PatentUS10908967B2Modifying resource allocation among pools supporting a VM set executing a multicomponent software application including nested components
Publication Date: 2021.02.02 VMWARE INC
  • US10908967B2 patent drawing
  • US10908967B2 patent drawing
  • US10908967B2 patent drawing

AI summary

A virtualized computer platform is established and maintained by virtualization software on one or more physical computers. A multicomponent software application may execute on the virtualized computer platform, with different components of the application executing in different virtual machines, which are supported by the virtualization software. The virtualization software may also provide the provision of one or more services that may be beneficial to the operation of the multicomponent software application, such as automated provisioning, resource allocation, VM distribution, performance monitoring, resource management, high availability, backup, disaster recovery, alarms, security, etc. In some embodiments of the invention, some of these services are provided through coordinated efforts of a system resource manager, a VM manager, an application monitor and an application resource manager. In some of these embodiments, an application monitor and an application manager may be included with a multicomponent software application in a single installation package.