1 / 27

Streaming in Peer-to-peer Networks

Streaming in Peer-to-peer Networks. 2002/1/2. Outline. The problem Assumption Network model / Node Construction Flood-broadcast Tail-broadcast Leave-broadcast Simulation Future work. The Problem.

margot
Download Presentation

Streaming in Peer-to-peer Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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

More Related