Download
streaming in peer to peer networks n.
Skip this Video
Loading SlideShow in 5 Seconds..
Streaming in Peer-to-peer Networks PowerPoint Presentation
Download Presentation
Streaming in Peer-to-peer Networks

Streaming in Peer-to-peer Networks

120 Vues Download Presentation
Télécharger la présentation

Streaming in Peer-to-peer Networks

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

  1. Streaming in Peer-to-peer Networks 2002/1/2

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

  3. 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

  4. 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)

  5. 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.

  6. 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.

  7. A Graph Example

  8. 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. Construction • The ways to connect all the nodes: • Flood-broadcast • Tail-broadcast • Leave-broadcast

  10. 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.

  11. 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

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

  13. 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. Leaves-broadcast Vs. Tail-broadcast (2) Tail-broadcast j 1 n-1 n … i n+1 Leave-broadcast j 1 n-1 n … i n+1

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

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

  17. How to Simulation (3) • SetBroadcastNodes(BROADCASTWAY): • To setup which nodes to broadcast messages to others. • BROADCASTWAY: • Flood-broadcast • Leaves-broadcast • Tail-broadcast

  18. 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

  19. How to Simulation (5) • Node’s function: • BroadcastMessage() • ReceiveMessage() • ResponseMessage()

  20. 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.

  21. 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.

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

  23. Simulation Result (1) Flood-broadcast

  24. Simulation Result (2) Leaves-broadcast

  25. Simulation Result (3) Tail-3-broadcast

  26. Simulation Result (4)

  27. Future Work • Other construction ways • Different graph, ex: hierarchical graph • History messages