Shared Application Instances for Virtualized Partition Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current virtualization environments face inefficiencies due to the need for continuous resource allocation, even when applications are idle, leading to high resource utilization and scalability challenges, as they require dedicated VM instances for each tenant, resulting in low resource elasticity and slow response times.
Innovation Solution
Implementing a virtualized environment with shared application instances and dynamic data loading, where common program/data is maintained and only tenant-specific data is loaded when needed, allowing for efficient resource utilization and scalability without increasing dedicated resources, and enabling rapid failover and recovery mechanisms.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If dedicated VM instances are provided for each tenant, then application availability and reliability are improved, but resource utilization efficiency deteriorates
Solution Approach 1:
The patent segments the application into a common base program shared by all tenants and tenant-specific dynamic data. This segmentation allows the heavy common program to be loaded once and shared, while only the lightweight tenant data is instantiated per tenant, resolving the contradiction between availability and resource utilization.
Solution Approach 2:
The common base program serves multiple tenants simultaneously, making it a universal component. This multi-functionality eliminates the need for separate dedicated VM instances for each tenant, improving resource utilization while maintaining application availability through shared access.
2Speed
If full application instances are loaded continuously, then rapid response to events is improved, but resource consumption increases
Solution Approach 1:
The patent extracts the tenant-specific dynamic data from the full application instance, separating it as a small, optional component. Only this extracted data is loaded when needed, allowing rapid response without consuming resources for the complete application continuously.
Solution Approach 2:
Instead of loading the complete application instance, the system loads only the necessary partial component (tenant-specific data) when an event occurs. This partial action approach provides sufficient response capability while dramatically reducing resource consumption.
3Productivity
If large application processes are loaded, then processing capability is improved, but initialization time increases
Solution Approach 1:
The application is segmented into a permanent common base program and transient tenant data. The common program is loaded once and remains in memory, providing immediate processing capability. Tenant-specific data is loaded only when needed, minimizing initialization time while maintaining full processing capability.
Solution Approach 2:
The common base program is loaded in advance and maintained in memory, performing preliminary action before actual tenant-specific processing is needed. This ensures processing capability is immediately available when events occur, without requiring re-initialization of the entire application.
4Adaptability or versatility
If multiple tenant instances are supported simultaneously, then service versatility is improved, but system complexity increases
Solution Approach 1:
The system complexity is segmented into a shared common base program layer and separate tenant data layers. This segmentation allows multiple tenants to be supported simultaneously through a unified architecture, improving versatility while managing complexity through clear separation of concerns.
Solution Approach 2:
The common base program acts as an intermediary layer between the virtualization infrastructure and tenant-specific requirements. This intermediary simplifies the system by providing a standardized interface and data structure that all tenants share, reducing overall system complexity while maintaining multi-tenant versatility.
Data Source
AI summary
The system includes a virtualized environment having at least one partition. An instance of an application executes in the partition. The application instance is not dedicated to a single user or element. Rather, the application instance may be shared or parsed out to two or more users or elements. To accomplish this sharing, the static data (which is common to all the elements or users) may be maintained in the partition or is loaded at runtime. The dynamic data (the data which is unique to each instantiation and associated with the element requesting the application) can be loaded when an instance is dedicated to execute for a particular element or user. Thus, various elements can share instances of an application and there need not be instances dedicated to particular elements.


