Distributed Cloud Architecture Leveraging Idle PC Resources
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Datacenters face resource insufficiency during peak loads due to inefficient utilization of processing resources, while end-user PCs often remain underutilized, leading to a mismatch in resource allocation and performance needs.
Innovation Solution
A cloud computing architecture where client virtual machines register and de-register processing resources with a cloud controller, allowing selective task dispatch based on availability and workload, enabling the use of idle PC resources to supplement datacenter capacity without user intervention or data exposure.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If datacenter resources are increased to meet peak load demands, then processing capacity is improved, but resource utilization efficiency deteriorates due to idle capacity during non-peak periods
Solution Approach 1:
The patent merges datacenter computing resources with distributed client PC resources into a unified cloud computing system. The cloud controller combines available processing power from both datacenter servers and idle client machines to form a pooled resource pool, allowing dynamic task distribution that maximizes overall utilization while meeting peak demands without permanent over-provisioning of datacenter capacity.
Solution Approach 2:
The system implements dynamic resource allocation where the cloud controller continuously monitors and adjusts task distribution based on real-time availability. Client PCs dynamically register and de-register their processing resources based on local workload conditions, and the controller dynamically assigns tasks to available nodes, transforming a static infrastructure into a flexible, adaptive system.
2Power
If client PCs are used for cloud computing tasks, then datacenter resource insufficiency is resolved, but system complexity increases due to distributed resource management
Solution Approach 1:
The cloud controller serves as an intermediary between task requesters and distributed computing resources. It abstracts the complexity of managing heterogeneous client PCs and datacenter servers, presenting a unified interface for task submission and handling all resource allocation, monitoring, and coordination logic centrally while allowing distributed execution.
Solution Approach 2:
The system creates a universal task execution environment that can run on both datacenter servers and client PCs through virtualized containers. The same task image can be deployed universally across different hardware platforms, and the cloud controller universally manages both types of nodes through standardized protocols, reducing the complexity of managing diverse resources.
3Power
If client PCs participate in cloud computing, then processing capacity is improved, but reliability deteriorates due to potential abrupt shutdowns and service interruptions
Solution Approach 1:
The system uses containerized task images that can be copied and deployed to multiple client PCs simultaneously. When a task is assigned, the controller creates copies of the task container and distributes them to selected client nodes. This allows redundant execution and facilitates graceful handoff if a node becomes unavailable, improving reliability through replication.
Solution Approach 2:
The cloud controller performs preliminary actions by pre-selecting and pre-preparing target client PCs for task execution based on their current resource availability and historical reliability. Tasks are assigned in advance to specific nodes rather than reactively, and the controller monitors node status continuously to detect potential failures before they impact ongoing tasks, allowing for proactive resource reassignment.
Data Source
AI summary
Availability of processing resources of client computing systems can be registered by a client virtual machine on each of the plurality of client computing systems with a cloud controller. Thereafter, the cloud controller selectively dispatches tasks to at least one of the client virtual machines based on availability of corresponding processing resources and a level of workload in at least one datacenter coupled to the cloud controller. Related apparatus, systems, techniques and articles are also described.


