Subject: Re: [ppsp] Pull or Pushed-based P2P Streaming?

From: Martin Stiemerling <[email-masked]>
Date: Wed, 3 Nov 2010 12:38:36 +0000

Hi Fabio, all,

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]] On Behalf Of
> Fabio Hecht
> Sent: Friday, October 29, 2010 10:24 AM
> To: zhangyunfei
> Cc: [email-masked]
> Subject: Re: [ppsp] Pull or Pushed-based P2P Streaming?
> 
> 
> Push only works if you can make reasonable QoS assumptions and there is
> an obvious way for peers to coordinate what they subscribe to.
> Normally,
> multiple trees are used. This makes the distribution not very flexible,
> as the source needs to define how many trees there will be beforehand.

That's one view, but there are push-based approaches based on network coding (in paper work, but also deployed). 

However, I vaguely remember one p2p streaming system that uses a combination of pull at startup and push afterwards. 

> 
> Pull works better in environments which may change constantly (churn,
> user started a download etc.), since peers may request different chunks
> to different peers freely. Churn or a sudden change in available
> bandwidth are not special cases. Yes, there are extra messages that
> need
> to be exchanged, but they are very small compared with the bitrate of
> the video stream.

What is small in that context? 20 % of the total traffic?

Anyhow, it is tough to discuss about pros and cons of pull or push as this may be in the eye of the beholder ;)

> 
> So, in my opinion, PPSP should implement a pull protocol. Perhaps the
> ability of switching to push could be added as an additional (optional)
> feature.

Optional feature does typically mean that it is not implemented. 

I would argue for letting the peers to figure out when they join the system what scheme is used for the chunk diffusion. 

There could a be "session/system join" where the other peers (or the tracker) announce whether push, pull, push/pull is used. This would also support the case where a system supports a special vanilla flavor of pull. 

  Martin 

[email-masked]

NEC Laboratories Europe - Network Research Division
NEC Europe Limited | Registered Office: NEC House, 1 Victoria Road, London W3 6BL | Registered in England 2832014

---

From: Fabio Hecht <[email-masked]>
Date: Wed, 03 Nov 2010 14:18:50 +0100

Hi Martin,

> That's one view, but there are push-based approaches based on network coding (in paper work, but also deployed). 

True, that's also possible. Do you have a reference to a deployed one?

> What is small in that context? 20 % of the total traffic?

No, much less. A request for a chunk will be a few bytes, while the
chunk itself will be several kilobytes.

> Anyhow, it is tough to discuss about pros and cons of pull or push as this may be in the eye of the beholder ;)

It could be, but it's probably accurate to say that currently most (if
not all) widely deployed systems use pull.

> There could a be "session/system join" where the other peers (or the tracker) announce whether push, pull, push/pull is used. This would also support the case where a system supports a special vani…

I think this may be complicated, since there are several ways to combine
push and pull.

Regards

Fabio

-- 
Fabio Hecht

University of Zurich - Department of Informatics (IfI)
Binzmühlestrasse 14 CH-8050 Zürich, Switzerland
Ph.: +41 44 6357129 / 6350892  Fax: +41 44 6356809
VoIP sip:[email-masked]

---

From: Riccardo Bernardini <[email-masked]>
Date: Wed, 03 Nov 2010 14:38:35 +0100

Quoting Fabio Hecht <[email-masked]>:

>> That's one view, but there are push-based approaches based on  
>> network coding (in paper work, but also deployed).
>

Well... not really "deployed," but maybe close enough...

Let me point you to
http://tools.ietf.org/html/draft-bernardini-ppetp-00  It is an I-D  
relative to a "pure transport" protocol of "push type" based on  
network coding.  We have a   working  software implementation of it,  
hosted on SourceForge (http://corallo.sourceforge.net).  The current  
version is working, but not clean enough for public release.  We are  
currently doing some code reorganization and we plan to make the first  
public release soon (hopefully).

So, it is not really "deployed," but we are working to make it.

>
>>
>> However, I vaguely remember one p2p streaming system that uses a  
>> combination of pull at startup and push afterwards.
>>
>> >
>> Anyhow, it is tough to discuss about pros and cons of pull or push  
>> as this may be in the eye of the beholder ;)
>
>> I would argue for letting the peers to figure out when they join  
>> the system what scheme is used for the chunk diffusion.
>>
>> There could a be "session/system join" where the other peers (or  
>> the tracker) announce whether push, pull, push/pull is used. This  
>> would also support the case where a system supports a special  
>> vanilla flavor of pull.
>
>> NEC Europe Limited | Registered Office: NEC House, 1 Victoria Road,  
>> London W3 6BL | Registered in England 2832014
>
> --
> Fabio Hecht
>
> _______________________________________________
> ppsp mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/ppsp
>

-- 
Riccardo Bernardini
DIEGM -- University of Udine
via delle Scienze 208
33100 Udine
Tel: +39-0432-55-8271
Fax: +39-0432-55-8251

----------------------------------------------------------------------
SEMEL (SErvizio di Messaging ELettronico) - CSIT -Universita' di Udine

---

From: Martin Stiemerling <[email-masked]>
Date: Fri, 5 Nov 2010 09:09:23 +0000

Hi Fabian,

> From: Fabio Hecht [mailto:[email-masked]]
> Sent: Wednesday, November 03, 2010 2:19 PM
> To: Martin Stiemerling
> Cc: zhangyunfei; [email-masked]
> Subject: RE: [ppsp] Pull or Pushed-based P2P Streaming?
> 
> Hi Martin,
> 
> 
> > That's one view, but there are push-based approaches based on network
> coding (in paper work, but also deployed).
> 

Sorry for taking so long, it took a while to find this again:
http://www.ravy.com/

However, it seems that the web site is gone. 

[...]

> > I would argue for letting the peers to figure out when they join the
> system what scheme is used for the chunk diffusion.
> >
> > There could a be "session/system join" where the other peers (or the
> tracker) announce whether push, pull, push/pull is used. This would
> also support the case where a system supports a special vanilla flavor
> of pull.
> 

Right, but PPSP just needs to define a mechanism how the peers learn which is used, i.e., a tag or a field in the protocol.

  Martin

---

From: Omer Luzzatti <[email-masked]>
Date: Fri, 5 Nov 2010 12:48:33 +0200

Hey Martin and Fabio,
Sorry for not following this thread before.
We at RayV are indeed combining push-pull protocols utilizing
Network-coding/PET techniques.
Generally speaking the way it works is that the peers push only among
themselves, however to guarantee SLAs the reliable sources, based in our
own POPs, are being called with a Pull protocol to provide the missing
data (e.g. the base vectors).
We have a few millions downloads, providing services to several Tier-1
customers, and reached more than 100,000 concurrent viewers watching in
high qualities (1.2Mpbs and 2.0Mpbs).

Would love to describe more, however, due to other meetings I won't be
coming this time to Beijing.

Please feel free to contact me
Omer Luzzatti
RayV co-founder and CTO

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of
Martin Stiemerling
Sent: Friday, November 05, 2010 11:09 AM
To: Fabio Hecht
Cc: [email-masked]
Subject: Re: [ppsp] Pull or Pushed-based P2P Streaming?

Hi Fabian,

[...]

> I think this may be complicated, since there are several ways to

Right, but PPSP just needs to define a mechanism how the peers learn which
is used, i.e., a tag or a field in the protocol.

  Martin

NEC Laboratories Europe - Network Research Division
NEC Europe Limited | Registered Office: NEC House, 1 Victoria Road, London
W3 6BL | Registered in England 2832014
_______________________________________________
ppsp mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/ppsp