Shared Resource Allocation for Cloud Application Deployment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In platform as a service (PAAS) cloud environments, deploying applications with shared utility modules is inefficient due to duplicate copies of modules being installed across multiple runtime instances, leading to wasteful disk and memory usage, as well as increased loading and CPU cycles.
Innovation Solution
A method is implemented to identify and select an existing runtime instance with the greatest number of shared resources matching the required application modules, allowing for installation of new applications to utilize these shared resources, thereby reducing duplicate copies and optimizing resource usage by converting utility modules from 'by value' to 'by reference' and linking them to existing shared resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If application modules are installed with their own copies of utility modules, then installation and deployment is simple and straightforward, but disk space and memory usage increases significantly due to duplicate copies
Solution Approach 1:
The patent merges duplicate utility modules across multiple application modules by installing them once as shared resources in a common bundle repository. The OSGi framework enables multiple application modules to reference and share the same utility module instances, eliminating redundant copies while maintaining installation simplicity through automated resource sharing mechanisms.
Solution Approach 2:
Utility modules are transformed into universal shared resources that can be instantiated once and shared across multiple application modules. The bundle repository creates universal access points that serve multiple applications simultaneously, allowing a single utility module to fulfill the needs of many different application modules without requiring separate copies.
2Reliability
If multiple copies of utility modules are stored on hard disk for different application modules, then each application module has dedicated resources, but memory usage increases when multiple versions are loaded into runtime instances
Solution Approach 1:
The patent combines multiple instances of the same utility module into a single shared instance in the bundle repository. The OSGi runtime framework manages resource sharing by allowing multiple application modules to reference the same utility module in memory, ensuring that only one copy resides in memory at a time while maintaining reliable access for all applications.
Solution Approach 2:
Instead of copying utility modules to multiple locations on disk, the patent uses symbolic references and imports in the bundle manifest that point to the shared resource in the bundle repository. This creates lightweight references rather than heavy duplications, allowing multiple applications to access the same in-memory instance without actual copying.
3Ease of manufacture
If utility modules are packaged as part of each application module, then deployment is straightforward, but loading time and CPU cycles increase due to repeated loading of duplicate modules
Solution Approach 1:
The patent performs preliminary action by pre-installing shared utility modules in the common bundle repository before application modules are deployed. When application modules are installed, they automatically reference the pre-existing shared resources, eliminating the need to load utility modules repeatedly during deployment. The OSGi framework handles the referencing automatically through bundle manifest configuration.
4Quantity of substance
If shared resources are used in a common bundle repository, then disk and memory usage is reduced, but it requires coordination between application module developers and framework administrators in advance
Solution Approach 1:
The patent implements self-service by enabling application module developers to automatically declare their utility module requirements in the bundle manifest without needing manual coordination with framework administrators. The OSGi runtime framework automatically resolves these declarations, matches them with available shared resources in the bundle repository, and configures the references automatically. This eliminates the need for advance planning meetings and manual resource allocation.
Data Source
AI summary
Methods, computer program products, and systems for installing an application at a runtime instance. A method includes receiving a request to install an application and accessing data defining shared resources required by the application. Data that defines shared resources already installed at existing runtime instances is accessed. An existing runtime instance with the greatest number of installed shared resources common to the shared resources required by the application is selected. The application is installed at the selected runtime instance.


