streaming in peer-to-peer networks 2002/1/2. outline the problem assumption network model / node...

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

Post on 21-Dec-2015

220 views

Category:

Documents


1 download

TRANSCRIPT

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

• 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

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)

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.

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),(

A Graph Example

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

Construction

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

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

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

Leaves-broadcast

• Only the non-child nodes can broadcast messages.

1

64

5

2

3

1

64

5

2

3

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.

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

How to Simulation (1)

• Main loop :for i = 1 to NUM_OF_NODES do

ResetMessageParent()SetBroadcastNodes(BROADCASTWAY)

SetInStream()

How to Simulation (2)

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

null (clear history)– To avoid broadcasting messages back

How to Simulation (3)

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

messages to others.– BROADCASTWAY:

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

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

How to Simulation (5)

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

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.

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.

How to Simulation (8)

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

server to connect with if it had received messages before.

Simulation Result (1)

Flood-broadcast

Simulation Result (2)

Leaves-broadcast

Simulation Result (3)

Tail-3-broadcast

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

Future Work

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