Peer-to-Peer Connection Scheduling via Distributed State Machine

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In peer-to-peer file sharing environments, existing technologies face challenges in efficiently managing connections between nodes to prevent connection saturation while ensuring all users can synchronize their files, particularly in scenarios with multiple sharing relationships and varying network loads.

Innovation Solution

A distributed solution utilizing scheduling software and a synchronization negotiation manager with an innovative state machine to make scheduling decisions based on parameters like load, network proximity, synchronization history, and connection priority, ensuring efficient connection management and minimizing staleness of shared content.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If nodes in a peer-to-peer system accept multiple connection requests simultaneously, then the system can achieve higher synchronization throughput, but nodes may become overwhelmed and experience connection saturation

Engineering Contradiction:
Improvesynchronization throughputVSAvoidnode overload prevention
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically adjusts connection acceptance based on real-time node load conditions. The scheduling software monitors node capacity and dynamically decides whether to accept incoming connection requests, transitioning the system from a static to a dynamic connection management approach that prevents overload while maximizing throughput

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The scheduling software implements feedback mechanisms by continuously monitoring node load status and using this information to make informed decisions about connection acceptance. This feedback loop ensures that nodes do not become overwhelmed while maintaining high synchronization throughput by adjusting connection policies based on current system state

Inventive Principle:
Principle #23Feedback

2Productivity

If the system prioritizes connections for users with multiple sharing relationships, then synchronization efficiency improves, but other users may experience starvation and delayed synchronization

Engineering Contradiction:
Improvesynchronization efficiencyVSAvoiduser starvation delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The scheduling software applies partial action by giving priority to certain connections based on sharing relationship count, but not exclusively. It processes connections in rounds, allowing high-priority connections to be served first in each round while ensuring that lower-priority connections eventually get served in subsequent rounds, preventing complete starvation

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system uses periodic action by implementing round-based connection processing. In each round, the scheduler evaluates and processes connections based on current priorities, then moves to the next round where priorities may have changed. This periodic re-evaluation ensures that all users eventually receive synchronization service while maintaining efficiency for high-priority users

Inventive Principle:
Principle #19Periodic action

3Productivity

If the scheduling software makes detailed scheduling decisions for all connections, then connection management optimality improves, but system complexity and computational overhead increase

Engineering Contradiction:
Improveconnection management optimalityVSAvoidscheduling software complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The scheduling software operates autonomously at each node, making local scheduling decisions based on simple rules and parameters. Each node independently evaluates incoming connection requests and decides whether to accept them based on its current load and the user's sharing relationship characteristics, eliminating the need for complex centralized scheduling

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7643491B2Scheduling connections between peers in a peer-to-peer file sharing environment
Publication Date: 2010.01.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7643491B2 patent drawing
  • US7643491B2 patent drawing
  • US7643491B2 patent drawing

AI summary

Various embodiments can utilize a distributed solution for scheduling connections between peers in a file sharing environment. In accordance with at least some embodiments, individual nodes in a peer-to-peer system include scheduling software that enables the nodes to make scheduling decisions with regard to how, when and where connections are made with other peers. Scheduling decisions can be based on a number of different parameters. In at least some embodiments, a synchronization negotiation manager is embodied with logic that drives the negotiation and scheduling process. This logic is represented by an innovative state machine that is designed to implement the negotiation and synchronization process.