Virtualization Layer for Java Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current virtual machine environments lack effective hardware virtualization and resource management, limiting the ability to efficiently allocate processing power and resources across multiple Java Virtual Machines (JVMs) on lower-cost PC-based servers, which hinders the deployment of high-performance Java applications.

Innovation Solution

A system and method that introduces a software layer between the virtual machine and hardware to provide hardware virtualization and resource management, comprising a lower-level execution environment replacing the operating system and a higher-level resource broker to allocate and monitor resources, allowing for machine-independent processing allocation and supporting multiple JVMs on a single physical machine.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a software layer is introduced between the virtual machine and hardware to provide hardware virtualization and resource management, then resource allocation efficiency and server utilization are improved, but system complexity increases

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a virtualization layer as an intermediary component between the hardware and the Java Virtual Machines. This layer includes virtual device drivers and resource management modules that mediate resource allocation, providing hardware virtualization capabilities without requiring changes to the existing JVM or application code. The intermediary layer abstracts hardware resources and presents virtualized interfaces, thereby improving resource allocation efficiency while managing system complexity through modular design.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If hardware virtualization is implemented to support multiple JVMs on PC-based servers, then cost-effectiveness and platform versatility are improved, but performance and reliability may deteriorate

Engineering Contradiction:
Improveplatform versatilityVSAvoidperformance reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements local quality by providing hardware-specific virtual device drivers tailored to each type of physical hardware resource (CPU, memory, I/O devices). These drivers are optimized for their specific hardware targets while maintaining a unified virtualization interface. This approach allows the system to support multiple JVMs across different PC-based server platforms with varying hardware configurations, achieving platform versatility while maintaining performance reliability through hardware-optimized driver implementations.

Inventive Principle:
Principle #3Local quality

3Ease of operation

If resource management is centralized at the virtual machine level, then resource allocation control is improved, but system overhead and processing time increase

Engineering Contradiction:
Improveresource allocation controlVSAvoidprocessing time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-configuring resource allocation parameters and virtual device driver settings during system initialization and JVM startup. Resource management policies, including CPU time slices, memory allocation limits, and I/O priorities, are established in advance rather than being determined dynamically during runtime. This approach provides centralized resource allocation control while minimizing processing time overhead during actual JVM execution, as the virtualization layer can directly apply pre-determined resource allocation decisions without extensive runtime computation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2485146B1System and method for providing hardware virtualization in a virtual machine environment
Publication Date: 2021.03.17 ORACLE INT CORP
  • EP2485146B1 patent drawingFigure 1~2
  • EP2485146B1 patent drawingFigure 3~4
  • EP2485146B1 patent drawingFigure 5~6

AI summary

A system and method for providing hardware virtualization and resource management in a virtual machine environment. In accordance with an embodiment, an application server environment includes a computer system, application server, and virtual machine (for example, a Java Virtual Machine or JVM). In accordance with an embodiment, a virtualization layer is provided at each physical machine, including a hypervisor for partitioning virtual machines over the machine. An execution layer runs a single Java-based application, focusing on running that application as efficiently as possible. In accordance with another embodiment, the system comprises two main components: a lower-level, execution environment that replaces the usual operating system; and a higher-level, resource broker that is responsible for handing out new virtual machines to the above layers, and for monitoring the current resource usage of the running virtual machines.