Peer-to-Peer Task Distribution via Volunteer Bidding

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvetask assignment simplicityVSAvoidcompilation efficiency
Core Design Contradiction:
Ease of operationVSProductivity

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

Inventive Principle:
Principle #25Self-service

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

Inventive Principle:
Principle #15Dynamics

2Productivity

If the client machine constantly gathers information about volunteer machines, then task assignment can be optimized, but the overhead and complexity increase significantly

Engineering Contradiction:
Improvetask assignment optimizationVSAvoidinformation gathering overhead
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #13The other way round (Inversion)

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

Inventive Principle:
Principle #23Feedback

3Reliability

If resource verification is performed before task assignment, then task completion accuracy improves, but the time required for compilation increases

Engineering Contradiction:
Improvetask completion accuracyVSAvoidcompilation time
Core Design Contradiction:
ReliabilityVSLoss of time

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9667511B2Peer to peer component distribution
Publication Date: 2017.05.30 APPLE INC
  • US9667511B2 patent drawing
  • US9667511B2 patent drawing
  • US9667511B2 patent drawing

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.