Resource Balancing Engine for Hybrid Virtualized Applications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing information handling systems managing virtualized, distributed applications face challenges in resource balancing and flexibility, particularly with hybrid virtualization applications, due to constraints in relocating application components across disparate endpoint environments with different runtime technologies.
Innovation Solution
Implementing a method that defines distributed applications with component information, including type and collocation requirements, and uses a resource balancing engine to identify and relocate components to alternative endpoints based on user-defined intent and constraints, such as external dependency compliance, in response to triggering events like maintenance or workload thresholds.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If virtualized applications are deployed using hybrid virtualization with VMs and containers on disparate endpoint environments, then application deployment flexibility is improved, but resource balancing and relocation capability deteriorates due to constraints in moving components across different runtime technologies
Solution Approach 1:
The patent introduces a resource balancing engine as an intermediary component that sits between the hybrid virtualized application components (VMs and containers) and the disparate endpoint environments. This engine translates relocation requests into technology-specific operations, enabling seamless movement of application components across different runtime platforms without requiring direct integration between incompatible systems.
Solution Approach 2:
The resource balancing engine is designed with multi-functionality to handle both VM and container relocation across heterogeneous endpoints. It provides a universal interface for resource balancing operations while supporting multiple runtime technologies, allowing the same system to manage diverse virtualized workloads without requiring separate management mechanisms for each technology type.
2Adaptability or versatility
If application components are relocated across disparate endpoint environments with different runtime technologies, then system adaptability is improved, but operational complexity increases due to technology-specific constraints
Solution Approach 1:
The resource balancing engine serves as a mediating layer that abstracts away the operational complexity of technology-specific constraints. It translates high-level relocation intentions into technology-appropriate operations, handling the complexity of different runtime environments internally while presenting a simplified interface to users and system administrators.
Solution Approach 2:
The system segments the complexity management by separating the resource balancing engine from the actual relocation execution. The engine handles the complex decision-making and constraint evaluation, while the underlying virtualization platforms execute the actual moves. This segmentation isolates complexity within the engine, making the overall system easier to operate despite supporting multiple technologies.
3Productivity
If resource balancing is performed across heterogeneous environments, then system efficiency is improved, but the ability to handle technology-specific constraints deteriorates
Solution Approach 1:
The resource balancing engine applies local quality by evaluating and enforcing technology-specific constraints at the appropriate level for each component type. It considers VM-specific constraints when relocating virtual machines and container-specific constraints when moving containers, ensuring that each relocation operation complies with the requirements of its target runtime environment while maintaining overall system efficiency.
Data Source
AI summary
A disclosed method provides a structured definition for a distributed application comprising two or more component applications. The definition may identify each component and a component type, e.g. VM or container, collocation information indicative of collocation requirements for one or more of the components, and external dependency information indicating constraints the alternative environment must comply with. The distributed application may be deployed to one or more endpoints. Responsive to detecting a triggering event for evaluation of component relocation alternatives, disclosed methods may invoke a resource balancing engine to identify a viable alternative endpoint for one or more component applications. Responsive to identifying a viable alternative endpoint for a particular component application, disclosed methods may relocate the particular component application to the alternative endpoint. The distributed application may be an HV application including one or more VM components and one or more container components.

