+ All Categories
Home > Documents > Streaming in Peer-to-peer Networks

Streaming in Peer-to-peer Networks

Date post: 04-Jan-2016
Category:
Upload: margot
View: 42 times
Download: 6 times
Share this document with a friend
Description:
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. - PowerPoint PPT Presentation
Popular Tags:
27
Streaming in Peer-to-peer Networks 2002/1/2
Transcript
Page 1: Streaming in Peer-to-peer Networks

Streaming in Peer-to-peer Networks

2002/1/2

Page 2: Streaming in Peer-to-peer Networks

Outline

• The problem• Assumption• Network model / Node• Construction

– Flood-broadcast– Tail-broadcast– Leave-broadcast

• Simulation• Future work

Page 3: Streaming in Peer-to-peer Networks

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

Page 4: Streaming in Peer-to-peer Networks

An Example

1

64

5

2

3

1

64

5

2

3

1

64

5

2

3

1

64

5

2

3

Step 1 Step 2 Step 3 Step 4

MAX : 2SUM :1+2+2

1

2

1

2

Order-difference: ID – Max(Children’s ID)

Page 5: Streaming in Peer-to-peer Networks

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.

Page 6: Streaming in Peer-to-peer Networks

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.

L

vudvuP

),(

exp),(

Page 7: Streaming in Peer-to-peer Networks

A Graph Example

Page 8: Streaming in Peer-to-peer Networks

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

Page 9: Streaming in Peer-to-peer Networks

Construction

• The ways to connect all the nodes:– Flood-broadcast– Tail-broadcast– Leave-broadcast

Page 10: Streaming in Peer-to-peer Networks

Flood-broadcast

• Every node in the stream can broadcast messages to all its neighbor nodes.

1

64

5

2

3

1

64

5

2

3

Page 11: Streaming in Peer-to-peer Networks

Tail-broadcast

• Only the lastly in-stream nodes can broadcast messages.

1

64

5

2

3

Tail-1 case

1

64

5

2

3

Tail-2 case

1

64

5

2

3

Page 12: Streaming in Peer-to-peer Networks

Leaves-broadcast

• Only the non-child nodes can broadcast messages.

1

64

5

2

3

1

64

5

2

3

Page 13: Streaming in Peer-to-peer Networks

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.

Page 14: Streaming in Peer-to-peer Networks

Leaves-broadcast Vs. Tail-broadcast (2)

1 n-1 n…

i

j

n+1

Tail-broadcast

1 n-1 n…

i

j

n+1

Leave-broadcast

Page 15: Streaming in Peer-to-peer Networks

How to Simulation (1)

• Main loop :for i = 1 to NUM_OF_NODES do

ResetMessageParent()SetBroadcastNodes(BROADCASTWAY)

SetInStream()

Page 16: Streaming in Peer-to-peer Networks

How to Simulation (2)

• ResetMessageParent() :– Reset every node’s message server to

null (clear history)– To avoid broadcasting messages back

Page 17: Streaming in Peer-to-peer Networks

How to Simulation (3)

• SetBroadcastNodes(BROADCASTWAY) :– To setup which nodes to broadcast

messages to others.– BROADCASTWAY:

• Flood-broadcast• Leaves-broadcast• Tail-broadcast

Page 18: Streaming in Peer-to-peer Networks

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

Page 19: Streaming in Peer-to-peer Networks

How to Simulation (5)

• Node’s function :– BroadcastMessage()– ReceiveMessage()– ResponseMessage()

Page 20: Streaming in Peer-to-peer Networks

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.

Page 21: Streaming in Peer-to-peer Networks

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.

Page 22: Streaming in Peer-to-peer Networks

How to Simulation (8)

• ResponseMessage() :– A node can determine which movie

server to connect with if it had received messages before.

Page 23: Streaming in Peer-to-peer Networks

Simulation Result (1)

Flood-broadcast

Page 24: Streaming in Peer-to-peer Networks

Simulation Result (2)

Leaves-broadcast

Page 25: Streaming in Peer-to-peer Networks

Simulation Result (3)

Tail-3-broadcast

Page 26: Streaming in Peer-to-peer Networks

Simulation Result (4)In-stream node number (total 100 nodes)

TTL 1 2 3 4

Flood 52 81 99 100

Leaves 10 25 49 95

Tail-3 19 45 74 89

Messages cost

TTL 1 2 3 4

Flood 19,478 273,941 3,094,249 27,166,605

Leaves 956 7,801 27,260 148,592

Tail-3 2,634 20,518 58,193 108,506

Max/Sum of order-difference

TTL 1 2 3 4

Flood 19/256 19/283 19/287 9/171

Leaves 1/9 1/24 9/64 19/262

Tail-3 3/24 3/65 14/130 12/139

Page 27: Streaming in Peer-to-peer Networks

Future Work

• Other construction ways• Different graph, ex: hierarchical graph• History messages


Recommended