HTTP Streaming
▶ Introduction

HTTP streaming is a mechanism for sending mediadata/file, which is divided into several chunks/fragments and supplythem in order to user through port 80/8080. According to this mechanism the end-user can use the contents of an event as it happens, that means the data on the server is still transmitting or even generating. HTTP Streaming is suitable for real-time applications like, live video streaming or voice/video conversation.
HTTP streaming offers two advantages as below:

  1. Media protocols often have difficulty getting around firewalls androuters because they are commonly based on UDP sockets over unusual port numbers. HTTP-based media delivery has no such problems because firewalls and routers know to pass HTTP downloads through port 80.
  2. HTTP media delivery has the ability to use standard HTTP serversand standard HTTP caches (or cheap servers in general) to deliver the content, so that it doesn't require special proxies or caches.Additionally, most Content Delivery Network (CDN) make use of HTTP to redirect request, retrieve cached multimedia object, and communicate policy servers.
HTTP streaming is also known as push technology because in it the request for a given transaction is initiated by the server. While in traditional HTTP (also termed as pull) the request for the transmission of information is initiated by the receiver or client.
Communication scenario of the HTTP streaming is shown in the following diagram.

Fig. 1. HTTP Streaming Architecture [8]

▶ Research Issues

  A good streaming system should be characterized by providing mediaservice to users with satisfied viewing quality and that having the capability of adaptation to changing conditions. Some open research areas in the HTTP streaming are as follow.

  • Delay: HTTP contents are delivered through TCP. It is much more likely to cause greater delay due to the TCP characteristic of tryingto resend the lost packet before sending anything further. Thus HTTP streaming suffers from the inefficient communication established byTCP's design and they are not well suited for delivering nearly the same amount of streams as UDP transmission.
  • Dealing with Congestion: The first challenge is the potential network degrading such ascongestion caused by many concurrent HTTP streaming connections.
  • Scalability and Efficiency: Another potential problem of HTTP is the poor scalability and efficiency due to the fact that TCP doesn't support multicast, which is regarded as a scalable and efficient way for media transmission.
  • QoS Monitoring: There is no such transmission qualitymonitoring mechanism like RTCP in current HTTP streaming system. To provide a high-quality service for the user, monitoring and analyzing the system's overall performance is extremely important.
  • Pull Requests Management: The current HTTP streaming is based on pull mode that is, the HTTP client pulls the chunk one after another by issuing HTTP requests, one for each chunk. Although the pull mode gives better control of content delivery to the client and provides the capability of better handling of chunk scheduling, buffer management on the client's side, a potential problem is that there will be too many HTTP requests during the long presentation. Consider the case that hundreds of million people watch a popular live event (e.g. Olympic game) through the HTTP streaming sessions, there will be a huge number of concurrent (or nearly concurrent) HTTP requests, which in turn occupy a large portion of bandwidth. HTTP server push, on the other hand, enable the client to continuously push chunks to the HTTP client without waiting for the later request, once it receives an initial request. In this scene, push mode could be more efficient in transmission of a long sequence of media chunk.
  • Cross Layer Optimization: Providing a mechanism to allow the underlying network to be involved in HTTP streaming adaptation through some negotiation mechanisms between network layer and HTTP streaming applications can boost the HTTP streaming performance.

  • ▶ References

    1. NingZong, “http streaming: Survey and Gap Analysis Draft”, IETF draft, 16 Oct 2010
    2. OIPF, "HTTP Adaptive Streaming (Release 2)", September 2010
    3. Apple, "HTTP Live Streaming Overview", November 2009
    4. C. Liu, I. Bouazizi, M. Gabbouj, "Rate adaptation for adaptive HTTP streaming," ACM MMSys 2011, Special Session: Modern Media Transport, Dynamic Adaptive Streaming over HTTP (DASH), San Jose, California, Feb. 23-25, 2011.
    5. Liu, C., Bouazizi, I., Gabbouj, M.: Parallel Adaptive HTTP Media Streaming. In: Proc. of 20th International Conference on Computer Communications and Networks (ICCCN), 2011
    6. Wu, Q., "Problem Statement for HTTP Streaming", draft-wu-http-streaming-optimization-ps-02.txt (work in progress), September 2010.
    7. Wikipedia, “Push technology”
    8. Thomas Stockhammer, “Dynamic adaptive streaming over HTTP --: standards and design principles”, Proceedings of the second annual ACM conference on Multimedia systems, February 23-25, 2011, San Jose, CA, USA
    9. T. Schierl , Y. Sanchez de la Fuente , R. Globisch , C. Hellge and T. Wiegand "Priority-based media delivery using SVC with RTP and HTTP streaming", Springer Multimedia Tools Appl., 2010

    ▶ Achievements