Streaming in Peer-to-peer Networks

# Streaming in Peer-to-peer Networks

Télécharger la présentation

## Streaming in Peer-to-peer Networks

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
##### Presentation Transcript

1. Outline • The problem • Assumption • Network model / Node • Construction • Flood-broadcast • Tail-broadcast • Leave-broadcast • Simulation • Future work

2. The Problem • Given a graph G = (V,E) with order-vertexes and a distinguished source vertex s, we find a way to connect all the vertexes without violating the order, which means we have to connect the smaller order vertexes before the larger ones. • Constraints: • Minimize the maximum of order-difference • Minimize the sum of order-difference • Minimize the construction cost

3. 1 1 1 1 2 2 2 2 4 4 4 4 6 6 6 6 3 3 3 3 5 5 5 5 An Example 1 2 2 1 Step 1 Step 2 Step 3 Step 4 MAX：2SUM：1+2+2 Order-difference: ID – Max(Children’s ID)

4. Assumption • Without messages, all nodes knows nothing about other nodes’ condition except the paths to connect to its neighbor nodes. • Only in-stream nodes can actively tell other nodes to join the stream. • If a node receives a message, it can directly response the message or forward the message to its neighbors according to the message’s TTL attribute.

5. Network Model • Distributing n nodes across a Cartesian coordinate grid. • The edge probability function is ,where d(u,v) is the Euclidean distance, L is the maximum possible distance between two nodes.

6. A Graph Example

7. Node • A node has following attributes: • (x,y) • Neighbor nodes’ ID • ID (also used as joined order) • Stream parent ID • Stream child IDs (order-difference) • Message parent ID • Message TTL • The sent messages number

9. 1 1 2 2 4 4 6 6 3 3 5 5 Flood-broadcast • Every node in the stream can broadcast messages to all its neighbor nodes.

10. 1 1 1 2 2 2 4 4 4 6 6 6 3 3 3 5 5 5 Tail-broadcast • Only the lastly in-stream nodes can broadcast messages. Tail-1 case Tail-2 case

11. 1 1 2 2 4 4 6 6 3 3 5 5 Leaves-broadcast • Only the non-child nodes can broadcast messages.

12. Leaves-broadcast Vs. Tail-broadcast (1) • Tail-broadcast has local problem and does not spread well. • Leaves-broadcast has a trend to result in a tree graph but at the same time occurs larger maximum and sum of order-difference.

14. How to Simulation (1) • Main loop：for i = 1 to NUM_OF_NODES do ResetMessageParent() SetBroadcastNodes(BROADCASTWAY) SetInStream()

15. How to Simulation (2) • ResetMessageParent()： • Reset every node’s message server to null (clear history) • To avoid broadcasting messages back

17. How to Simulation (4) • SetInStream()： • To set the node which wants to join the movie into the chaining stream • Select a parent node to join

18. How to Simulation (5) • Node’s function： • BroadcastMessage() • ReceiveMessage() • ResponseMessage()

19. How to Simulation (6) • BroadcastMessage()： • If the node is set to broadcast message, the node call this function to broadcast messages to all its neighbor nodes.

20. How to Simulation (7) • ReceiveMessage()： • If a node receive a message, it first store the message server’s ID, and see if it want to join the movie. • If a node want to join the movie, it stores the stream parent ID. • If not, it looks the TTL field and compare the value received last time to determine if it need to broadcast messages forward.

21. How to Simulation (8) • ResponseMessage()： • A node can determine which movie server to connect with if it had received messages before.