Peer-to-Peer Task Distribution via Volunteer Bidding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing distributed compilation systems face inefficiencies in task assignment due to round-robin schemes and the need for constant resource verification, leading to mismatched workload and resource utilization, resulting in potential errors and prolonged compilation times.
Innovation Solution
A method for assigning tasks in a distributed system that involves multicasting task requests to remote systems, allowing capable systems to volunteer and request necessary resources, with checksum verification to ensure task completion accuracy, and enabling peer-to-peer resource sharing to optimize task distribution and resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a round-robin scheme is used for task assignment, then the task distribution is simple to implement, but the workload does not match system capabilities leading to inefficiency
Solution Approach 1:
The patent implements a reverse auction mechanism where volunteer machines actively bid for tasks by declaring their capabilities and availability. Instead of the client machine assigning tasks unilaterally, the volunteer machines self-advocate for task assignment based on their current state, creating a self-service system that matches workload to capability without complex centralized scheduling
Solution Approach 2:
The system dynamically adjusts task assignment based on real-time machine capabilities and availability. Volunteer machines can change their status and bid for different tasks based on their current workload, resource availability, and processing power, making the task assignment flexible and adaptive rather than static
2Productivity
If the client machine constantly gathers information about volunteer machines, then task assignment can be optimized, but the overhead and complexity increase significantly
Solution Approach 1:
The patent inverts the traditional information gathering approach by having volunteer machines proactively provide information about their capabilities and availability to the client machine. Instead of the client machine continuously querying and monitoring volunteer machines, the volunteer machines self-report their status, reversing the information flow and eliminating the need for complex centralized monitoring
Solution Approach 2:
The system implements a feedback mechanism where volunteer machines provide updates about their current state, resource availability, and task completion status. This continuous feedback loop allows the client machine to make informed task assignment decisions without actively gathering information, as the volunteer machines automatically keep the system updated about their capabilities
3Reliability
If resource verification is performed before task assignment, then task completion accuracy improves, but the time required for compilation increases
Solution Approach 1:
The patent performs resource verification as a preliminary action during the reverse auction phase, before task assignment is finalized. Volunteer machines declare their resource availability and capability as part of their bid, allowing the client machine to verify resources in advance and assign tasks only to machines that have been pre-verified to have the necessary resources, eliminating the need for time-consuming verification after task assignment
Solution Approach 2:
The system maintains continuous resource verification through the feedback mechanism, where volunteer machines continuously report their resource status and capability. This allows resource verification to be an ongoing process rather than a discrete pre-task step, ensuring that resource availability is always current without adding discrete verification delays to the compilation process
Data Source
AI summary
A method, apparatus, and system are provided for assigning tasks and/or providing resources in a distributed system. An indication of a task being available for processing is provided to one or more remote systems in a distributed system based on a distribution list. At least one response from one of the remote systems capable of performing the task is received in response to the indication. The response includes a request for a resource for performing the task. The resource for performing the task is provided to the remote systems.


