Papers
Topics
Authors
Recent
Search
2000 character limit reached

Scalable peer-to-peer streaming for live entertainment content

Published 27 Mar 2013 in cs.NI | (1303.6887v1)

Abstract: We present a system for streaming live entertainment content over the Internet originating from a single source to a scalable number of consumers without resorting to centralised or provider- provisioned resources. The system creates a peer-to-peer overlay network, which attempts to optimise use of existing capacity to ensure quality of service, delivering low start-up delay and lag in playout of the live content. There are three main aspects of our solution. Firstly, a swarming mechanism that constructs an overlay topology for minimising propagation delays from the source to end consumers. Secondly, a distributed overlay anycast system that uses a location-based search algorithm for peers to quickly find the closest peers in a given stream. Finally, a novel incentives mechanism that encourages peers to donate capacity even when the user is not actively consuming content.

Citations (17)

Summary

  • The paper demonstrates a scalable QoS-based overlay swarming method that segments live streams into chunks and uses network coordinates to minimize delay.
  • The paper introduces a decentralized peer discovery mechanism employing DOAT and local trackers to efficiently connect peers with minimal startup delay.
  • The paper proposes a trust shifting incentive model with non-consuming peers to enhance upload capacity and mitigate freeloading in dynamic P2P environments.

The paper "Scalable peer-to-peer streaming for live entertainment content" (1303.6887) presents a decentralized system for live video streaming over the internet, aiming to achieve scalability and quality of service without relying on dedicated infrastructure or centralized servers beyond the initial content source (peercaster). It addresses the limitations of traditional client/server models and existing P2P approaches like tree-based multicast (sensitive to churn) and file-sharing-based swarming (high start-up delay and playout lag for live content).

The system is built upon three main practical components designed to enable efficient and robust live streaming in a dynamic P2P environment:

  1. QoS-Based Overlay Swarming: Instead of rigid tree structures, the system uses a mesh/pull (swarming) approach similar to BitTorrent but adapted for real-time delivery. The live stream is segmented into small data units called chunks. Peers independently request chunks from multiple other peers in the swarm.
    • Real-time Constraint: Unlike file sharing, chunks must be delivered sequentially and in time for playout. Peers maintain a playout buffer to absorb variations in reception delay, balancing start-up delay, playout lag, and playout continuity.
    • Overlay Construction: Peers select connections based on estimated network delay to optimize both individual QoE (low playout lag, high continuity) and overall network efficiency (reducing traffic over expensive inter-domain links).
    • Network Coordinates: To estimate network delays without probing every peer, the system leverages decentralized network coordinate systems (like Vivaldi [4]). Peers measure delays to a few reference points (or existing peers) and compute synthetic coordinates in a multi-dimensional "delay space." The distance between coordinates approximates the network delay between peers.
    • Peer Selection Logic: Peers use their delay space coordinates to identify potentially low-delay neighbors. The paper notes that while favoring short-delay connections is beneficial, peers also need some "long-distance" connections to reach parts of the network (or peers closer to the peercaster) necessary to obtain timely chunks. This implies a practical peer selection algorithm would need to balance proximity with chunk availability and source distance.
    • Implementation Note: Implementing a network coordinate system requires peers to periodically exchange delay measurements and update their coordinates. This adds computational and bandwidth overhead, but avoids the need for exhaustive probing.
  2. Scalable Peer Discovery (DOAT and Local Trackers): A key challenge is enabling a joining peer to quickly find peers in the swarm that are both available and topologically "close" (in terms of network delay).
    • Local Trackers (LTs): Ordinary peers can volunteer to act as LTs for a specific stream. An LT maintains a list of peers participating in that stream within its local network area (defined dynamically based on peer density in delay space).
    • Distributed Overlay Anycast Table (DOAT): To find a suitable LT for a given stream, the system employs a DOAT, inspired by DHTs like Chord [5]. Peers map their multi-dimensional delay coordinates to a single dimension using a space-filling curve (specifically, the H curve [6]). This 1D value is used as the peer's identifier in the DOAT ring structure.
    • Anycast Lookup: When a peer needs an LT for a stream, it queries its closest DOAT node. The query is routed through the DOAT ring towards the DOAT node numerically closest to the querying peer's H-curve value. DOAT nodes maintain routing tables with next-hop pointers at exponentially increasing distances along the curve. To know which streams are available via which paths, routing entries include Bloom filters [7] representing the set of stream identifiers available through the corresponding next hop. The query is forwarded along the path indicated by the Bloom filters until it reaches a DOAT node that locally knows an LT for the requested stream. This process efficiently routes the query towards an LT that is network-proximate to the querying peer.
    • Implementation Note: Implementing DOAT involves managing the DHT-like structure, handling peer joins/leaves (churn), maintaining routing tables, generating and updating Bloom filters, and performing coordinate mapping via the H curve. This adds significant distributed system complexity. Peers need a bootstrap mechanism to find an initial DOAT node.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Simplified process for a peer joining a stream
func JoinStream(streamId):
    // 1. Position in delay space
    coords = MeasureNetworkCoordinates()

    // 2. Find closest DOAT node
    myHValue = MapCoordinatesToHCurve(coords)
    closestDOATNode = FindClosestDOATNode(myHValue, initialKnownDOATNode)

    // 3. Query DOAT for closest Local Tracker (LT) for streamId
    ltAddress = QueryDOATForLT(closestDOATNode, myHValue, streamId)

    // 4. Connect to LT and get list of local peers
    localPeers = ConnectToLT(ltAddress, myHValue, streamId, myUploadCapacity)

    // 5. Select peers from localPeers list based on QoS criteria (delay, chunk availability, capacity)
    selectedPeers = SelectStreamingPeers(localPeers, coords)

    // 6. Start requesting chunks and streaming
    StartChunkStreaming(selectedPeers)

func QueryDOATForLT(currentNode, targetHValue, streamId):
    if currentNode has LT for streamId in its local area:
        return Address of local LT for streamId
    else:
        // Find routing entry in currentNode's table whose Bloom filter matches streamId
        // and whose next hop is closest to targetHValue
        nextHopDOAT = FindNextHop(currentNode.routingTable, targetHValue, streamId)
        return QueryDOATForLT(nextHopDOAT, targetHValue, streamId)

  1. Distributed Capacity Provisioning and Incentives: Maintaining sufficient upload capacity in a P2P system, especially for popular streams, is critical but challenging due to freeloading.
    • Non-Consuming Peers (NCPs): The system encourages peers to act as NCPs – peers that download and upload chunks without actively consuming the stream content. NCPs perform "bandwidth multiplication" by uploading chunks more times than they download. This increases overall upload capacity in the swarm.
    • Incentives Mechanism: To incentivize NCPs and prevent freeloading, a distributed incentives mechanism is proposed, avoiding central currency. Peers track contributions (chunks uploaded) and receptions (chunks downloaded) with their immediate neighbors using signed pseudonyms to prevent identity spoofing. This builds a localized "trust" relationship.
    • Trust Shifting: The key innovation is allowing peers to "shift" this locally accumulated trust to other peers they haven't directly interacted with. This is achieved by finding paths through the trust network of interconnected peers using algorithms like MaxFlow-MinCut [10] to determine the maximum transferable trust. Trust shift requests are source-routed along these paths, exchanging trust hop-by-hop. This allows a peer acting as an NCP in one stream (building trust with local peers) to use that accumulated trust to "pay" for chunks in a different stream later, or even when connecting to new peers in the same stream. Trust propagation favors paths with higher existing trust, probabilistically ensuring that truthful contribution records are propagated.
    • Implementation Note: The incentives mechanism is complex. It requires secure peer identification (signed pseudonyms, public keys), local state management for trust accounts with neighbors, periodic advertisement of local trust states, a distributed algorithm for discovering trust paths (e.g., truncated random walks), and executing trust shifts (requiring atomic multi-hop exchanges or a robust compensation mechanism for failures). Running MaxFlow-MinCut on a peer's local view of the trust graph adds computational load.

Putting it together:

When a peer wants to watch a live stream, it first uses a network coordinate system to position itself in delay space. It then contacts a known DOAT node (bootstrap) to find its closest DOAT node based on its delay coordinates. Using this closest DOAT node, the peer queries the DOAT system (which uses H-curve mapping and Bloom filters for routing) to find the address of the closest Local Tracker (LT) for the desired stream. The peer contacts the LT, registers itself, and receives a list of other peers participating in that stream in its local area, including their attributes (coordinates, capacity). The peer then selects a subset of these local peers to download chunks from, using the QoS-based overlay strategy. Chunk exchange builds local trust. Peers can act as NCPs, build trust, and shift it to pay for content later, potentially in other streams, enhancing overall system capacity and performance.

Implementation Considerations:

  • Complexity: Implementing all three components (QoS overlay with network coordinates, DOAT with H-curve and Bloom filters, and the distributed incentives/trust-shifting) is highly complex and requires robust handling of peer churn, network dynamics, and security (preventing manipulation of coordinates, Bloom filters, or trust).
  • Computational Overhead: Calculating network coordinates, maintaining DOAT routing tables, running MaxFlow/trust path discovery, and managing signed communications/trust accounts require significant CPU and memory resources on each peer compared to simple P2P downloaders.
  • Network Overhead: Coordinate measurement probes, DOAT routing updates, Bloom filter synchronization, trust advertisements, and trust shift messages add background network traffic, which must be managed carefully to avoid impacting streaming performance.
  • Bootstrap Problem: Peers need a way to find an initial DOAT node or a few reference points for network coordinates.
  • Security: Protecting against malicious peers trying to manipulate network coordinates, forge identities, lie about trust, or disrupt DOAT operations is critical. The paper addresses identity attacks via signed pseudonyms, but other attacks on the distributed protocols (e.g., Sybil attacks against the trust network structure, or denial-of-service against LTs or DOAT nodes) would need careful consideration.
  • Performance Tuning: Balancing the playout buffer size (start-up delay vs. continuity), peer selection strategies (local vs. remote connections), and parameters for the incentives mechanism would require extensive simulation and real-world testing.

Despite the complexity, the paper presents a practical framework for building a truly decentralized live streaming system that aims to overcome the key limitations of prior approaches by integrating QoS-aware overlay construction, scalable decentralized peer discovery, and a novel distributed incentives mechanism. The use of network coordinates, space-filling curves in DHTs, and trust shifting via graph algorithms are key technical enablers for this architecture.

Paper to Video (Beta)

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Collections

Sign up for free to add this paper to one or more collections.