Hash-Based Application Allocation for Cached Virtual Environments
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for allocating applications to virtualized computing environments in cloud computing environments result in long loading times, increased power consumption, and uneven wear leveling due to random or fixed assignment of applications, negatively impacting user experience and resource efficiency.
Innovation Solution
A provisioning manager organizes virtualized computing environments into a ring structure based on application characteristics, such as popularity, and stores application data in respective caches, allowing instances to be executed quickly from these environments, while activating and deactivating environments based on demand and time parameters.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If applications are allocated to virtualized computing environments using random or fixed assignment, then the allocation process is simple, but loading times are long and user experience deteriorates
Solution Approach 1:
The system performs preliminary actions by pre-loading application data into caches of virtualized computing environments before users request the applications. The provisioning manager proactively allocates applications to VCEs based on predicted demand patterns, so that when users request an application, it is already available in the cache, dramatically reducing loading time from minutes to seconds
Solution Approach 2:
The allocation system dynamically adjusts the distribution of applications to virtualized computing environments based on real-time demand patterns, user behavior analysis, and cache hit rates. The provisioning manager continuously monitors system state and re-balances allocations, transitioning from static random/fixed assignment to dynamic adaptive allocation that optimizes loading times while managing complexity through automation
2Reliability
If all virtualized computing environments are kept active to ensure availability, then user access is improved, but power consumption increases
Solution Approach 1:
The system implements periodic activation and deactivation of virtualized computing environments based on predicted demand cycles and historical usage patterns. The provisioning manager activates VCEs in advance of predicted demand periods and deactivates them during low-demand periods, maintaining service reliability through periodic availability while significantly reducing power consumption during off-peak times
Solution Approach 2:
The provisioning manager implements feedback loops that monitor cache hit rates, user request patterns, and system load to dynamically adjust which VCEs remain active. The system uses feedback from actual usage data to optimize the balance between availability and power consumption, keeping only the necessary number of VCEs active at any given time while maintaining service reliability
3Productivity
If applications are distributed unevenly across virtualized computing environments, then some environments can be optimized for specific applications, but wear leveling becomes uneven and resource efficiency decreases
Solution Approach 1:
The system dynamically re-balances application distributions across virtualized computing environments to achieve both optimization and wear leveling. The provisioning manager continuously monitors cache utilization, access patterns, and wear metrics, adjusting allocations in real-time to distribute wear evenly while maintaining high resource efficiency through intelligent caching strategies and load balancing
Data Source
AI summary
Apparatuses, systems, and techniques for allocating application hosting platforms in a virtualized computing environment. A method can include assigning a first set of virtualized computing environments to a first application based on one or more characteristics of the first application, and assigning a second set of virtualized computing environments to a second application of the plurality of applications based on one or more characteristics of the second application, the second set of virtualized computing environments being different than the first set of virtualized computing environments. The method can include causing, in response to a request to execute the first application, an instance of the first application to be executed on a virtualized computing environment of the first set of virtualized computing environments using data stored in a cache of the virtualized computing environment.


