Virtual Machine Job Allocation via Uptime Modulo Attributes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current virtual machine management systems lack an efficient method to allocate jobs among virtual machines based on their attributes, leading to suboptimal resource utilization and increased costs.

Innovation Solution

A system that determines attributes for each virtual machine based on uptime and a predetermined time increment, selecting the virtual machine with the highest or lowest attribute value to execute jobs, thereby optimizing resource allocation and reducing costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If virtual machines are allocated based on simple round-robin or first-available methods, then the allocation process is simple and fast, but resource utilization is suboptimal and costs increase

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

Solution Approach 1:

The patent changes the allocation parameter from simple time-based round-robin to attribute-based selection where each virtual machine has an attribute value derived from uptime modulo time increment. This parameter transformation enables more intelligent resource utilization while maintaining computational efficiency.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements feedback by continuously tracking virtual machine uptime and using it to dynamically adjust allocation decisions. The attribute calculation (uptime % time_increment) provides feedback about virtual machine state that guides subsequent allocation choices, creating a closed-loop system that improves resource utilization over time.

Inventive Principle:
Principle #23Feedback

2Reliability

If virtual machines with longer uptime are preferred for job execution, then system stability improves, but newer virtual machines may remain underutilized

Engineering Contradiction:
Improvesystem stabilityVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the virtual machine pool into different groups based on the modulo operation result. Virtual machines are divided into categories (0 to time_increment-1) based on their uptime, allowing the system to select from different segments rather than always preferring the oldest or newest machines. This segmentation balances stability and utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The modulo operation creates a periodic pattern in allocation where virtual machines are selected in cycles through the time_increment periods. This periodic action ensures that both older and newer virtual machines get selected systematically over time, preventing any single group from being consistently underutilized while maintaining systematic stability.

Inventive Principle:
Principle #19Periodic action

3Measurement precision

If the system tracks detailed uptime information for each virtual machine, then allocation accuracy improves, but computational overhead and memory usage increase

Engineering Contradiction:
Improveallocation accuracyVSAvoidcomputational overhead
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent extracts only the necessary information from the full uptime value by applying the modulo operation. Instead of using complete uptime data which would require complex comparisons, the system extracts just the remainder value (uptime % time_increment), which is sufficient for allocation decisions but requires minimal computational resources and memory.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9575808B1Managing virtual machines
Publication Date: 2017.02.21 SAS INSTITUTE INC
  • US9575808B1 patent drawing
  • US9575808B1 patent drawing
  • US9575808B1 patent drawing

AI summary

Management of virtual machines can include receiving a request associated with a job that is to be executed using one or more virtual machines from among multiple virtual machines. For each virtual machine of the multiple virtual machines, a respective attribute can be determined. The respective attribute can be determined based on a modulo of an uptime of the respective virtual machine and a predetermined time increment. The particular virtual machine of the multiple virtual machines that is to be used to execute the job can be determined based on the respective attribute associated with the particular virtual machine having a highest value or a lowest value among multiple attributes corresponding to the multiple virtual machines. Based on determining that the particular virtual machine is to be used to execute the job, the particular virtual machine can execute the job.