Dynamic Service Allocation Across Computing Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems for allocating applications across computing resources lack dynamic adjustment and optimization, leading to inefficiencies in resource utilization and performance, particularly in response to changes in computing device availability and workload.
Innovation Solution
A computer-implemented method that retrieves resource requirements and computing device information, dynamically allocates services across available devices, detects events such as overloading, and re-allocates services to maintain optimal performance by executing a sharding algorithm and re-sharding processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If applications are pre-loaded on servers or hosted on third-party servers, then application availability is ensured, but resource utilization efficiency deteriorates due to static allocation and inability to dynamically adjust to changing workload and device availability
Solution Approach 1:
The patent implements dynamic application allocation by continuously monitoring computing device availability, workload conditions, and resource requirements, then automatically reassigning applications between devices based on current system state. This transforms the static pre-loaded server model into a dynamic distributed system that adapts to changing conditions, improving resource utilization while maintaining application availability.
Solution Approach 2:
The system employs feedback mechanisms by monitoring events such as device overloading, device addition/removal, and workload changes, then using this information to trigger reallocation decisions. The feedback loop continuously adjusts application placement based on system performance and resource availability, resolving the contradiction between static allocation and dynamic adaptability.
2Productivity
If applications are statically allocated across computing devices, then system complexity is reduced, but performance optimization deteriorates due to inability to respond to workload changes and device events
Solution Approach 1:
The system implements self-service by enabling automated application reallocation based on monitored system conditions. The allocation manager automatically detects device events, evaluates resource requirements, and reassigns applications without manual intervention, achieving performance optimization while managing complexity through automation rather than manual processes.
Solution Approach 2:
The patent changes the allocation parameters dynamically by adjusting application placement based on varying system conditions such as device load, available resources, and workload characteristics. This allows performance optimization through parameter adaptation while keeping the underlying allocation mechanism relatively simple and rule-based.
3Adaptability or versatility
If computing devices are added or removed from the system, then system flexibility is improved, but resource allocation efficiency deteriorates due to lack of automatic re-balancing capability
Solution Approach 1:
The system performs preliminary actions by pre-establishing the allocation management framework and event monitoring infrastructure before devices are added or removed. When devices join or leave the system, the pre-configured mechanisms automatically detect these changes and trigger appropriate reallocation actions, maintaining efficiency while supporting system flexibility.
Solution Approach 2:
The system uses feedback from device availability events to automatically trigger reallocation processes. When devices are added or removed, the allocation manager receives feedback about the changed system state and automatically re-balances resource allocation, thereby maintaining efficiency despite system flexibility and dynamic composition changes.
Data Source
AI summary
A computer-implemented method includes retrieving, from a data repository, one or more resource requirements associated with a plurality of services; receiving computing resource information associated with a group of available computing devices; determining, at least partly based on the one or more resource requirements for the plurality of services and the computing resource information for the group of available computing devices, an allocation of the plurality of services across the group of available computing devices; detecting an occurrence of an event in a computing device associated with the group of available computing devices; removing, based on detecting, the computing device from the group of available computing devices to generate an updated group of available computing devices; and re-allocating the plurality of services across the updated group of available computing devices.


