Peer to Peer Overlay Networks for Multimedia Distribution

The main goal of this research effort is designing and implementing the technologies that will enable efficient and scalable audio/video distribution over IP. In order to reach such goal several fundamental building blocks have to be carefully designed and implemented:

  • End-to-end transport protocol (implemented at application layer) over UDP/IP
  • Scalable audio/video codecs in order to pursue quality adaptation when available bandwidth varies.
  • Quality Adaptation Layer that serves as a communication layer between scalable video codecs and end-to-end transport protocol.
  • Peer to Peer overlay network to enable multicast content delivery.

The figure shown below depicts the fundamental building blocks of the multimedia distribution system.

System building blocks

End-to-end transport protocol

The end to end transport protocol is a key component of the system. We address the problem of congestion control of multimedia contents which is still a very active research topic. The ever increasing amount of data traffic due to VoIP and video on demand applications poses a potential challenge to the stability of the Internet, that has been guaranteed by the TCP congestion control developed by V. Jacobson. Applications as Skype, RealNetwork don't employ a responsive congestion control algorithm and they do not compete fairly with TCP flows (see this page)

Multimedia congestion control differs from bulk data congestion protocols in several aspects:

  • In many applications, i.e.conferencing, retransmissions are not useful.
  • The quality of service depends not only on throughput but also on end to end delay.
  • The throughput produced by the congestion control algorithm should be as smooth as possible in order not require large buffers (very important for embedded devices)
  • The algorithm must maintain fairness with TCP competing flows

Several congestion control algorithms for multimedia transport have been proposed in the last years such as TEAR and TFRC (TCP Friendly Rate Control), and recently DCCP which is a kernel space implementation of TFRC.

However it has been shown in recent literature [Balan] that TFRC (even using the small packet version) does not perform well when used in VoIP scenarios, achieving worse performance with respect to TCP.

Our purpose is to design and implement in user space a protocol a-la Westwood+ which will be able to scale from low bandwidth links (few Kbps such as GSM) to very high bandwidth links (such as gigabit networks).

As we aim at seamless multimedia delivery over a wide range of link capacities and technologies (wired and wireless), the transport protocol must guarantee its functioning even in the case of lossy links.

Moreover we aim at integrating the congestion control algorithm with a quality adaptation layer which is in charge of adapting the quality in the underlying encoder in order to get the maximum audio/video quality without congesting the network and losing packets.

References

  • L. A. Grieco and S. Mascolo
    Performance evaluation and comparison of Westwood+, New Reno and Vegas TCP congestion control
    ACM Computer Communication Review, Vol. 34(2), April 2004 (PDF)
  • M. Handley, S. Floyd, J. Pahdye, J. Widmer
    TCP Friendly Rate control (TFRC): Protocol Specification
    RFC 3448, Jan 2003
  • M. Handley, E. Kohler, S. Floyd
    Datagram Congestion Control Protocol (DCCP)
    RFC 4340, Mar 2006
  • S. Floyd, E. Kohler
    TCP Friendly Rate Control (TFRC): the Small-Packet (SP) Variant
    IETF Draft, Mar 2006
  • [Balan] Vlad Balan
    An Experimental Evaluation of Voice-over-IP Quality over the Datagram Congestion Control Protocol (PDF)
    master thesis, also to appear in INFOCOM 07 proceedings

Quality Adaptation Layer

The task of the Quality Adaptation Layer is to serve as a communication layer between Adaptive Codecs and the E2E Transport protocol.

The estimated available bandwidth, RTT, Jitter and Loss Rate are the input of this sub-block, which are passed by the E2E protocol. Based on the charateristics of the codecs this module is able to set the correct parameters in the scalable codecs in order to adapt the quality to match the available bandwidth and pursue congestion avoidance and packet loss.

Quality Adaptation Layer

Each supported codec must have a "Codec Controller" which takes the feedback of the E2E protocol in order to evaluate the quality parameter(s) to be set in the codec and pursue quality adaptation.

Adaptive audio/video codecs

Streaming of live contents requires low packet latency. This can be accomplished reducing buffer levels on sender, so the audio/video encoding level should be adapted to the transport sending rate.

Adaptive audio and video codecs can accomplish this task. Some audio/video codecs used in our researches are the following:

  • Speex: is an Open Source/Free Software patent-free audio compression format that allows to change the encoding rate on fly
  • H.264/AVC (and his free implementation X264): is a video codec standard that can achieve both high data compression at low bitrates (~100 Kbit/s) and high video quality at high bitrates (~4 Mbit/s).
  • Dirac (here an optimized and portable implementation): is a free and open source video codec producing very high image quality video developed by BBC Research and Development. We have modified the schrodinger implementation in order to customize the encoded bitstream: the required bitrate is achieved at the server side selecting a subset of the encoded video subbands.

Video scalability can be assured by using two different techniques:

  • Multiple Description Coding (MDC): video stream is encoded into different substreams (descriptions) that can be sent partly or fully, depending on rate requirements. When a full set of descriptions is received, the maximum video quality is achieved.
  • Fine Grained Scalabiliy (FGS): video stream is encoded into a base layer, that contains the minimum quality substream, and several enhancement layers. Each enhancement layer adds a level of quality to the base layer. FGS aims to encode the enhancement layers as close as possible with each other in order to follow network bandwidth variations.
FGS video streaming

We use the GStreamer development platform for the implementation of test client/server applications.

References

  • Ugur, K. and Nasiopoulos, P. and Ward, R.
    An efficient H. 264 based fine-granular-scalable video coding system
    Signal Processing Systems Design and Implementation, 2005. IEEE Workshop on, 2005 (PDF)

P2P Overlay Network for content delivery

Nowadays the popularity of multimedia content distribution over Internet is increasing. Providing live stream or video on demand services over Internet is a challenging problem for providers because:

  • video streaming is an high bandwidth demand service
  • there are scalability issues due to the large number of clients to serve (Multicasting)

In order to reduce the bandwidth requirements for content providers, the best solution is using End System Multicasting over Peer-To-Peer (P2P) networks.

Overlay.png

End System Multicasting is a solution for one-to-many and many-to-many distribution services. Classical (IP) Multicast is based on minimal functionalities offered by IP level and it lacks of flow and congestion control, session management, and so on. End System Multicasting implements advanced distribution services at application level, so that each node being involved in the distribution should forward the stream to several other nodes using an unicast protocol (TCP or UDP). P2P topologies would help reducing this flow duplication.

The presentation (Overlay Networks) describes the state of art of IP Multicasting. The main issues involved in this research field are the following:

  • How does node informations ought to be sent from one peer to the others?
  • How does the peers ought to be organized in the overlay network?
    • Is it better to use tree-based...
    • ...or mesh based topologies?
  • Routing:
    • Use a central node in order to organize peers join/leave?
    • Use Distributed Hash Tables (DHT) routing in order to reduce paths depth?
  • What parameters should be used in order to organize the topology?
    • Bandwidth (using Westwood estimation)
    • Latency
  • Fragmentation:
    • In the case of file download, more fragments can be received and reordered
    • In the live stream case, fragmentation is impossible
    • Use Multiple Description Coding (MDC)?
    • Use cache fragmentation?

References

  • Chu, Y. and Rao, SG and Seshan, S. and Zhang, H.
    A case for end system multicast
    Selected Areas in Communications, IEEE Journal on, 2002 (PDF)
  • Jannotti, J. and Gifford, D.K. and Johnson, K.L. and Kaashoek, M.F. and O'Toole, J.
    Overcast: Reliable multicasting with an overlay network
    Proc. OSDI 2000 (PDF)
  • Guo, Y. and Suh, K. and Kurose, J. and Towsley, D.
    P2Cast: peer-to-peer patching scheme for VoD service
    Proceedings of the twelfth international conference on World Wide Web - ACM Press New York, NY, USA, 2003 (PDF
  • Deshpande, H. and Bawa, M. and Garcia-Molina, H.
    Streaming Live Media over a Peer-to-Peer Network
    , 2002
  • Padmanabhan, V.N. and Wang, H.J. and Chou, P.A. and Sripanidkulchai, K.
    Distributing streaming media content using cooperative networking
    Proceedings of the 12th international workshop on Network and operating systems support for digital audio and video - ACM Press New York, NY, USA, 2002 (PDF)
  • Zhuang, S.Q. and Zhao, B.Y. and Joseph, A.D. and Katz, R.H. and Kubiatowicz, J.D.
    Bayeux: an architecture for scalable and fault-tolerant wide-area data dissemination
    ACM Press New York, NY, USA, 2001 (PDF)
  • Castro, M. and Druschel, P. and Kermarrec, A.M. and Rowstron, AIT
    Scribe: a large-scale and decentralized application-level multicast infrastructure
    Selected Areas in Communications, IEEE Journal on, 2002 (PDF)
  • Bharambe, A. and Rao, S. and Padmanabhan, V. and Seshan, S. and Zhang, H.
    The Impact of Heterogeneous Bandwidth Constraints on DHT-Based Multicast
    , 2005 (PDF)
  • Sripanidkulchai, K. and Ganjam, A. and Maggs, B. and Zhang, H.
    The feasibility of supporting large-scale live streaming applications with dynamic application end-points
    Proceedings of the SIGCOMM 2004 conference on Applications, technologies, architectures, and protocols for computer communications, ACM Press New York, NY, USA, 2004 (PDF)