Dynamic Application Retention in Distributed Servers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing application hosting systems face inefficiencies in managing fluctuating workloads due to unpredictable popularity of applications, leading to inefficient allocation and reallocation of computing resources, resulting in suboptimal user experiences and resource waste.

Innovation Solution

An application server system with an application master that dynamically distributes and undistributes applications based on usage metrics, using non-volatile and volatile storage to optimize resource allocation, retaining applications in volatile storage when usage criteria are met and removing them otherwise, ensuring efficient resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If computing resources are pre-allocated to handle load spikes, then system reliability is improved, but resource waste increases due to unused pre-allocated resources

Engineering Contradiction:
Improvesystem reliabilityVSAvoidresource waste
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system dynamically adjusts the allocation of computing resources based on real-time demand conditions. Application servers can allocate resources to handle load spikes when needed, then release those resources when demand decreases, transforming the static pre-allocation model into a dynamic adaptive model that matches resource availability with actual workload requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of resource allocation from fixed to variable based on workload conditions. By monitoring system state and adjusting resource allocation parameters dynamically, the system can optimize between reliability (having resources available) and efficiency (not wasting resources), allowing resource levels to fluctuate according to actual demand patterns.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If computing resources are increased to handle unpredictable popularity fluctuations, then service quality is improved, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improveservice qualityVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The application servers autonomously monitor their own workload conditions and automatically allocate or release computing resources as needed. This self-service mechanism allows each server to independently optimize its resource utilization based on actual demand, improving both service quality during high load and resource efficiency during low load without external intervention.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements feedback loops where application servers continuously monitor workload conditions and adjust resource allocation accordingly. This feedback mechanism ensures that resource allocation responds to actual demand patterns, maintaining service quality when needed while avoiding resource waste during low-utilization periods, thereby improving overall resource utilization efficiency.

Inventive Principle:
Principle #23Feedback

3Stability of the object's composition

If computing capacity is allocated for prolonged periods, then system stability is improved, but adaptability to sudden load changes deteriorates

Engineering Contradiction:
Improvesystem stabilityVSAvoidadaptability to load changes
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The system transitions from static long-term resource allocation to dynamic short-term allocation that can adapt quickly to changing conditions. By allowing resource allocation to be adjusted in shorter timeframes based on current demand, the system maintains stability through consistent service delivery while simultaneously improving adaptability to sudden load changes and popularity fluctuations.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7877482B1Efficient application hosting in a distributed application execution system
Publication Date: 2011.01.25 GOOGLE LLC
  • US7877482B1 patent drawing
  • US7877482B1 patent drawing
  • US7877482B1 patent drawing

AI summary

In a distributed application execution system having an application master and a plurality of application servers, each application server includes one or more processors and memory storing one or more programs. The one of more programs include instructions for storing in non-volatile storage a plurality of applications distributed to the application server by the application master, for loading into volatile storage and executing a respective application in response to a received request, and for returning a result to the request. In addition, the one of more programs include instructions for conditionally retaining the respective application in volatile storage, for responding to a future request, when criteria, including at least predefined usage level criteria, are met by the respective application, and otherwise removing the respective application from volatile storage upon returning the result to the request.