Container-Based Elastic Compute Cloud for Underutilized Server Resources
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Server utilization in enterprises and public clouds is low due to various challenges, leading to underutilization of computing resources, which can be leveraged to create an elastic compute cloud framework that optimizes resource allocation and utilization.
Innovation Solution
The framework employs lightweight, platform-agnostic containers to virtualize operating systems on multiple devices, allowing secondary applications to run on underutilized resources while prioritizing incumbent applications, using both internal and external resource monitors to dynamically adjust resource allocation in real-time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If virtual machines are used to isolate and execute secondary applications on compute resources, then application isolation and security are improved, but system overhead and resource consumption increase significantly
Solution Approach 1:
The patent uses containerization technology to create lightweight virtualization environments that copy only the necessary application runtime components rather than full operating systems. This allows multiple secondary applications to run in isolated containers on the same compute resource, providing application isolation similar to virtual machines but with dramatically reduced overhead since containers share the host OS kernel and do not require separate hypervisors or full OS instances for each application.
2Reliability
If compute resources are allocated to incumbent applications with high priority, then service level agreements are met, but resource utilization decreases when incumbent applications are idle
Solution Approach 1:
The patent implements dynamic resource allocation where the compute resource automatically adjusts the allocation of CPU, memory, and other resources between incumbent and secondary applications based on real-time utilization metrics. When incumbent applications are idle or using resources below their allocated thresholds, the system dynamically makes those resources available to secondary applications. This dynamic adjustment ensures service level agreements are met while maximizing overall resource utilization through automated resource sharing.
3Power
If dedicated clusters are deployed to provide cloud computing services, then computing performance is improved, but infrastructure cost and device complexity increase
Solution Approach 1:
The patent enables compute resources to serve multiple functions by allowing them to simultaneously host incumbent applications and secondary applications from cloud marketplaces. The same physical server or virtual machine can function as both an enterprise application host and a cloud computing resource, eliminating the need for separate dedicated clusters. This multi-functionality approach provides cloud computing capabilities without requiring additional infrastructure, thereby maintaining computing performance while reducing device complexity and infrastructure costs.
4Productivity
If secondary applications are allowed to execute on compute resources, then resource utilization increases, but risk of interfering with incumbent applications increases
Solution Approach 1:
The patent introduces containerization as an intermediary layer between the host operating system and secondary applications. This container layer provides isolation mechanisms that prevent secondary applications from directly accessing or interfering with incumbent applications while still allowing controlled resource sharing. The container acts as a mediator that enforces resource boundaries, manages application lifecycles, and ensures that secondary applications cannot harm the host system or other applications, thereby enabling increased resource utilization without the risk of application interference.
Data Source
AI summary
Described are computer-based methods and apparatuses, including computer program products, for leveraging available compute resources from a plurality of computing devices using containers. Each computing device from the plurality of computing devices executes a container that virtualizes a portion of an operating system executing on the computing device such that the container can execute one or more secondary applications in isolation from any incumbent applications being executed by the operating system on the computing device that have priority over the one or more secondary applications.


