p2pc ast : a peer-to-peer multi-cast scheme for streaming data antonio nicolosi...

15
P2PCAST: A Peer-to-Peer Multi- Cast Scheme for Streaming Data Antonio NICOLOSI {nicolosi,siddhart}@cs.nyu.edu New York University Siddhartha ANNAPUREDDY August 10 th , 2003 Cambridge, MA, USA 1 st IRIS Student Workshop

Post on 20-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

P2PCAST: A Peer-to-Peer Multi-Cast

Scheme for Streaming Data

Antonio NICOLOSI

{nicolosi,siddhart}@cs.nyu.edu

New York University

Siddhartha ANNAPUREDDY

August 10th, 2003 Cambridge, MA, USA

1st IRIS Student Workshop

August 10, 2003 ISW '03 — Antonio Nicolosi — NYU

2

Motivation: Streaming media

unfair!

• Multicast with homogeneously limited bandwidth– Stream 256-kbps audio to 1000’s of users– Typical DSL/cable out-bandwidth: 384 kbps

Need a forest of multicast trees

August 10, 2003 ISW '03 — Antonio Nicolosi — NYU

3

Striping the Data

2

3

4

6

1

5

7

3

1

2

7

4

5

6

• Each stripe carries a fraction of the stream

• Peers occur once in each tree• Maintenance doesn’t disrupt

data delivery (fault-tolerance)– Path independence

1

3

4

5

2

6

7

August 10, 2003 ISW '03 — Antonio Nicolosi — NYU

4

(Most) Related Work

SplitStream:• Stripes content over multiple trees• Exploits heterogeneous bandwidth scenarios• Limitations

– Trade-off: link stress vs. path independence

– Can achieve both only with “[…] sufficient excess forwarding capacity” (unsuitable for our DSL scenario)

– Number of stripes in the multicast forest bound to Pastry/Scribe’s parameters

August 10, 2003 ISW '03 — Antonio Nicolosi — NYU

5

Design Guidelines, or: the P2PCAST cookbook

• Stripe the content over a forest of multicast trees

• Build a multicast forest with a regular structure– Upstream link stress should never exceed 1– Path independence (fault tolerance)

• Join by contacting an arbitrary peer

• Correlate peer reliability with its position(s) in the forest

• Trees are repaired locally upon node failures

August 10, 2003 ISW '03 — Antonio Nicolosi — NYU

6

The P2PCAST ProtocolThe Multicast Forest

• Goal: build forest with a regular structure

– Use f complete trees

of arity f (every node has either f children or none)

1

3

4

5

2

6

7

2

3

4

6

1

5

7

3

1

2

7

4

5

6

• But … that’s too rigid!

August 10, 2003 ISW '03 — Antonio Nicolosi — NYU

7

The P2PCAST ProtocolThe Multicast Forest (cont’d)

SplitStream: uses arbitrary (irregular) trees P2PCAST: confines “anomalies” to bottom of

trees

6 1 2

3

1 2 7

4

1

3 4 5

6 7

2

3 4 6

5 7 5

Gains flexibility while preserving a regular structure

2

2

8

1

1

8

6

6

8

8

August 10, 2003 ISW '03 — Antonio Nicolosi — NYU

8

• proper vs. improper peers

• Proper peers are leaves in all trees but one (e.g., 1) – In each stripe, a proper peer

can occur as complete node, regular leaf or lonely leaf

• Improper peers have a single leaf-child in each tree (e.g., 5)

The P2PCAST ProtocolTerminology 1

3

4

5 2

2

1

4

5 3

3

2

4

5 1

August 10, 2003 ISW '03 — Antonio Nicolosi — NYU

9

• New users join as improper peers, in the next-to-last level of each tree

• If a (distinct) regular leaf is given in each tree, then can join as shown before

The P2PCAST ProtocolInsertion — joining the system

6 1 2

3

1 2 7

4

1

3 4 5

6 7

2

3 4 6

5 7 5

1

1

8

6

6

8

2

2

8

August 10, 2003 ISW '03 — Antonio Nicolosi — NYU

10

7 1

1 7

1 7

The P2PCAST ProtocolConsolidation — lazy fix-up of the multicast trees

6

3

1 2 7

10 9 8

5 4

1

10 4 5

9 7 8 3

6 2

2

9 4 6

5 3 8

3

3

10

What if there are not enough regular leaves?

August 10, 2003 ISW '03 — Antonio Nicolosi — NYU

11

2

8

The P2PCAST ProtocolDeleting an improper peer

3

1 2 7

4

1

3 4 5

7

2

3 4 6

5 7 5

8

2 6

Deleting node 8

8

2

1

8

8

1

8

1

6

8

8

6

8

6

August 10, 2003 ISW '03 — Antonio Nicolosi — NYU

12

The P2PCAST ProtocolDeleting a proper peer

3

1 2 7

4

1

3 4 5

6 7

2

3 6

5 7

2

8

1

8 5

6

8

6

2

6

2

8

2

8

2 2

8

2

8

2

8 8

2

Deleting node 2

4 Back to the previous case

August 10, 2003 ISW '03 — Antonio Nicolosi — NYU

13

• Details left uncovered in this talk– How joining peer finds out f regular leaves

– How improper peers find each other before running consolidation

– How deletion completes if no children of failed node is improper peer (“expansion”)

• See the paper for full algorithms

The P2PCAST ProtocolThe devil is in details

August 10, 2003 ISW '03 — Antonio Nicolosi — NYU

14

Conclusions

Participants join/leave dynamically

Users donate as much bandwidth as they take

Fault Tolerance

Regular structure

Scale to 1000’s of peers—work in progress

Security—future work

August 10, 2003 ISW '03 — Antonio Nicolosi — NYU

15

Any questions?

Thank you!

Sources available at:http://www.cs.nyu.edu/~nicolosi/P2PCast/