Quality-Adaptive Proxy Caching for Peer-to-Peer Video
Streaming Using Multiple Description Coding
*JEN-WEN DINGAND SHI-YUAN LAN
Department of Information Management National Kaohsiung University of Applied Sciences
Kaohsiung, 807 Taiwan E-mail: [email protected]
In the past few years, video streaming has been one of the most prominent applica-tions in the Internet. There are basically two types of approaches to deliver on-demand video streams: infrastructure-based and infrastructure-less. The infrastructure-based ap-proach, also known as the content delivery network (CDN) apap-proach, employs numerous replicate servers and proxies to assist video streaming. The main drawback of this ap-proach is that it is costly to deploy numerous servers and proxies. The infrastructure-less approach, also known as the peer-to-peer (P2P) approach, employs numerous peers to relay video streams. The main drawback of the P2P approach is its instability due to fre-quent joining/leaving of peers. The state-of-the-art development is to combine the two types of approaches. In this paper, we employ multiple description coding (MDC) to de-velop a novel P2P-assisted proxy caching scheme, called MP3, for on-demand video streaming. Our simulation results show that with the use of MDC, MP3 can effectively provide adaptive video quality for clients in a heterogeneous network environment. Keywords: adaptive video streaming, peer-to-peer computing, multimedia proxy, cache replacement algorithm, multiple description coding
1. INTRODUCTION
With the rapid development of the Internet and multimedia technology, real-time video streaming has become a very popular service. There are two main challenges con-cerning the delivery of real-time streams. First, because the size of video data is very large, real-time streaming usually imposes a heavy load on servers [6, 14]. Secondly, real-time streaming imposes both a heavy load and a strict QoS requirement on networks. Much research has been devoted to delivering real-time streams over wired/wireless net-works [3-5, 7, 13, 15]. Real-time streaming can be divided into two types of categories: live streaming and on-demand streaming. Live streaming is usually employed to broad-cast an ongoing event, such as news, sports, weather, or a TV channel. On-demand streaming is usually used to deliver personalized content, such as movies and dramas. Live streaming is much simpler than on-demand streaming since the users of live stream-ing request the same content at the same time. Therefore, live streamstream-ing is usually im-plemented by network-layer or application-layer multicast or broadcast. On the other hand, on-demand streaming is more challenging since each user may request different content at the same time, which imposes a much heavier load on both the servers and the underlying networks.
Received February 1, 2008; accepted November 28, 2008.
Previous research has shown that two types of delivery approaches can effectively reduce the server/network loads imposed by on-demand streaming: infrastructure-based approach and infrastructure-less approach. The infrastructure-based approach, also known as the content delivery network (CDN) approach, employs numerous replicate servers and proxies to assist video streaming. The main disadvantage of this approach is that it is expensive to deploy numerous servers and proxies. The infrastructure-less approach, also known as the peer-to-peer (P2P) approach, employs users (peers) to relay video streams. The main disadvantage of the P2P approach is its unstableness due to the frequent join-ing/leaving of peers. The state-of-the-art development for on-demand video streaming is to combine both types of approaches, such as the PROP system [11], COPACC system [16], and the scheme proposed in [20, 26]. Besides the two types of approaches, it is worth noting that in wireless networks, broadcasting techniques is usually employed to deliver hot on-demand streams [8, 18, 19, 28].
However, in most of the combined approaches, it is assumed that all clients request the same video quality, which, unfortunately, is an oversimplified assumption in practice, especially in a heterogeneous network environment. To deal with the client heterogeneity problem, scalable video coding is usually employed. Scalable video coding can be clas-sified into three categories: cumulative layered coding, find-grained scalability (FGS) coding, and multiple description coding (MDC). In cumulative layered coding, a video file is encoded into one base substream (also called layer) and one or many enhancement substreams. Each enhancement substream must be completely received in order to be successfully decoded. In FGS coding, a video stream is encoded into one base substream and one enhancement substream. The salient feature of FGS coding is that the enhance-ment substream can be successfully decoded without being completely received. In MDC coding, a video stream is encoded into several independent substremas [10]. The main feature of MDC coding is that each substream can be successfully decoded without the existence of the base layer. In this paper, we do not consider cumulative layered coding and FGS coding since both coding methods require the clients to have the base layer. However, it is possible that the peers holding the base layer quit the system due to the frequent joining/leaving behavior of peers. This phenomenon, unfortunately, makes other peers difficult to decode the required video even though they have received one or many enhancement substreams. In this paper, we employ MDC to develop a novel cach-ing scheme for P2P-based video proxy, called MP3 (MDC-based P2P video Proxy). The main feature of MP3 caching scheme is that it can provide video streams with adaptive quality for heterogeneous clients.
The rest of this paper is organized as follows. Section 2 provides an overview of the recent development of video proxies. Section 3 describes our proposed scheme, MP3. Section 4 presents the performance evaluation results of MP3. Finally, section 5 con-cludes this paper.
2. PREVIOUS WORK
Over the past decade, there have been many studies proposed to reduce server/net- work loads caused by on-demand streaming. In this section, we briefly review recent related works in the literature. Three types of delivery approaches are reviewed: proxy- based approach, P2P-based approach, and the hybrid approach.
2.1 Proxy-Based Approach
Recent works on the proxy-based approach take advantage of scalable video coding or transcoding to develop caching mechanisms for adaptive on-demand streaming. In [29], Zhang et al. developed a cost-based caching algorithm for single server and multi-ple servers. Their work employs cumulative layered video, and their cost-based caching algorithm considers multiple objectives, such as video quality, network throughput, net-work utilization, and client startup latency. In [21], Liu et al. developed a novel adaptive video caching framework that enables low-cost and fine-grained adaptation. Their work employs MPEG-4 FGS video with post-encoding rate control. With their caching algo-rithm, heterogeneous streaming rates can be supported and the backbone bandwidth con-sumption can be adaptively controlled. In [17], Kao and Lee employed transcoding to design a novel proxy caching algorithm. The proposed scheme can provide multi-rate streaming services for heterogeneous clients. The main idea of their work is that when a client requests a simplified version of a video object and the proxy has a more detailed version of the object, then the proxy will perform transcoding without forwarding the request to the server, thereby reducing the load imposed on both the servers and net-works.
2.2 P2P-Based Approach
In the past few years, some researchers start to investigate how to employ P2P relay to assist on-demand video streaming. Compared to the proxy-based approach, the de-ployment cost of the P2P-based approach is very low. Well-known P2P approaches in-clude P2Cast [12] and P2VoD [9]. To deal with the client heterogeneity problem, Liu et al. [22] develops a P2P-based low-cost video-on-demand system for heterogeneous re-ceivers using category overlay architecture. However, the P2P-based approach is intrin-sically unstable due to the frequent joining/leaving of peers.
2.3 Hybrid Approach
The hybrid approach is to combine video proxies and P2P relay to assist on-demand streaming. A few hybrid approaches have been proposed. Two prominent schemes are briefly reviewed. In 2006, Guo et al. proposed a scalable and reliable P2P assisted proxy architecture and developed a new caching algorithm [11]. In their work, an ideal redun-dant cache model is first developed. The cache model can find out the optimal distribu-tion of video segments, i.e., the optimal number of replicas of each video segment that should be cached in the system in order to minimize the overall missed requests (i.e., the requests that cannot obtain the required data segment in the system). However, in prac-tice, it is difficult to carry out the ideal model. Therefore, they present a heuristic distrib-uted algorithm, called PROP, which employs a utility function to approach the optimal distribution. In 2007, Ip et al. propose a COPACC system, which employs a P2P-based multi-proxy architecture [16]. COPACC can effectively reduce the communication costs of on-demand streaming. In their approach, each video file is divided into three parts: prefix, prefix-of-suffix, and suffix. The prefix part is stored in the proxies; the prefix-of- suffix part is stored in the clients; and the remaining part is directly retrieved from the
server. The main feature of COPACC system is that it can derive the optimal partition of each video (i.e., the optimal size of the prefix part and prefix-of-suffix part) and can ob-tain the optimal allocation of prefix and prefix-of-suffix. However, their work does not consider the problem of heterogeneous clients. Neither PROP nor COPACC considers the use of scalable video coding, which, however, is an important design issue for adap-tive video streaming in heterogeneous network environments.
3. MP3 CACHING ALGORITHMS
3.1 System Overview
Fig. 1 shows the main components of our system architecture: video server (or server cluster), video proxy, and video clients (peers). A client plays three roles. First, it is a requester, sending requests to other peers or the proxy. Secondly, it is a provider, send-ing cached video object to other requesters. Thirdly, it is also an index server, helpsend-ing to relay requests to other peers and keeping the access information of the cached video ob-jects used by the MP3 caching algorithms.
Fig. 1. Architecture and operation of the MP3 system.
In MP3, the basic data unit for caching is called “data chunk”. A data chunk is a video segment of an MDC description, as shown in Fig. 2. The size of a video segment is an adjustable parameter. All clients can make use of distributed hash table (DHT) to search the required data chunks among peers using some DHT schemes, such as CAN and Chord [23]. DHT supports three main functions, Put(key, data), Get(key), and Re-move(key), where “data” represents the data object to be stored and retrieved among peers and “key” represents the identifiers of the data objects. In this paper, data objects refer
REFERENCES
1. L. Breslau, C. Pei, F. Li, G. Phillips, and S. Shenker, “Web caching and Zipf-like dis-tributions: Evidence and implications,” in Proceedings of the 18th Annual Joint Con-ference of the IEEE Computer and Communications Societies, 1999, pp. 126-134. 2. S. Chen, B. Shen, S. Wee, and X. Zhang, “Adaptive and lazy segmentation based
proxy caching for streaming media delivery,” in Proceedings of the 13th Interna-tional Workshop on Network and Operating Systems Support for Digital Audio and Video, 2003, pp. 22-31.
3. D. J. Deng and H. C. Yen, “Quality-of-service provisioning system for multimedia transmission in IEEE 802.11 wireless LANs,” IEEE Journal on Selected Areas in Communications, Vol. 23, 2005, pp. 1240-1252.
4. D. J. Deng, L. W. Chang, T. Y. Wu, and C. C. Hu, “Guaranteed QoS provision scheduling mechanism for CBR traffic in IEEE 802.16 BWA systems,” Journal of Internet Technology, Vol. 9, 2008, pp. 403-409.
5. D. J. Deng, C. H. Ke, Y. M. Huang, and H. H. Chen, “Delay analysis and perform-ance evaluation of a guaranteed QoS provisioning mechanism for real-time traffic in IEEE 802.16e BWA systems,” in Proceedings of International Wireless Communica-tions and Mobile Computing Conference, 2008, pp. 326-331.
6. J. W. Ding and Y. M. Huang, “Resource-based striping: An efficient striping strategy for video servers using heterogeneous disk-subsystems,” Multimedia Tools and Ap-plications, Vol. 19, 2003, pp. 29-51.
7. J. W. Ding, S. Y. Tseng, and Y. M. Huang, “Packet permutation: A robust transmis-sion scheme for continuous media streams over the Internet,” Multimedia Tools and Applications, Vol. 21, 2003, pp. 281-305.
8. J. W. Ding, C. T. Lin, and S. Y. Lan, “A unified approach to heterogeneous video-on- demand broadcasting,” IEEE Transactions on Broadcasting, Vol. 54, 2008, pp. 14- 23.
9. T. T. Do, K. A. Hua, and M. A. Tantaoui, “P2VoD: Providing fault tolerant video-on- demand streaming in peer-to-peer environment,” in Proceedings of IEEE Interna-tional Conference on Communications, 2004, pp. 1467-1472.
10. F. H. P. Fitzek, B. Can, R. Prasad, M. Katz, and D. S. Park, “Traffic analysis of mul-tiple description coding of video services over IP networks,” in Proceedings of the 7th International Symposium on Wireless Personal Multimedia Communications, 2004, pp. 266-270.
11. L. Guo, S. Chen, and X. Zhang, “Design and evaluation of a scalable and reliable P2P assisted proxy for on-demand streaming media delivery,” IEEE Transactions on Knowledge and Data Engineering, Vol. 18, 2006, pp. 669-682.
12. Y. Guo, K. Suh, J. Kurose, and D. Towsley, “P2Cast: Peer-to-peer patching scheme for VoD service,” in Proceedings of the 12th International Conference on World Wide Web, 2003, pp. 301-309.
13. M. Y. Hsieh, Y. M. Huang, and T. C. Chiang, “Transmission of layered video stream-ing via multi-path on ad hoc networks,” Multimedia Tools and Applications, Vol. 34, 2007, pp. 155-177.
14. Y. M. Huang, J. W. Ding, and S. L. Tsao, “Constant time permutation: An efficient block allocation strategy for VBR continuous media data,” The VLDB Journal, Vol.
8, 1999, pp. 44-54.
15. Y. M. Huang, M. Y. Hsieh, and M. S. Wang, “Reliable transmission of multimedia streaming using a connection prediction scheme in cluster-based ad hoc networks,” Computer Communications, Vol. 30, 2007, pp. 440-452.
16. A. T. S. Ip, J. Liu, and J. C. S. Lui, “COPACC: An architecture of cooperative proxy- client caching system for on-demand media streaming,” IEEE Transactions on Par-allel and Distributed Systems, Vol. 18, 2007, pp. 70-83.
17. C. F. Kao and C. N. Lee, “Aggregate profit-based caching replacement algorithms for streaming media transcoding proxy systems,” IEEE Transactions on Multimedia, Vol. 9, 2007, pp. 221-230.
18. C. W. Kong and Y. B. Lee, “Slice-and-patch − An algorithm to support VBR video streaming in a multicast-based video-on-demand system,” Journal of Information Science and Engineering, Vol. 19, 2003, pp. 517-530.
19. C. T. Lin and J. W. Ding, “CAR: A low latency video-on-demand broadcasting scheme for heterogeneous receivers,” IEEE Transactions on Broadcasting, Vol. 52, 2006, pp. 336-349.
20. J. Liu, S. C. Yang, H. F. Yu, and L. M. Tseng, “Content delivery network with hot- video broadcasting and peer-to-peer approach,” Journal of Information Science and Engineering, Vol. 20, 2004, pp. 1125-1139.
21. J. Liu, X. Chu, and J. Xu, “Proxy cache management for fine-grained scalable video streaming,” in Proceedings of the 23rd Annual Joint Conference of the IEEE Com-puter and Communications Societies, 2004, pp. 1490-1500.
22. X. Liu, and S. T. Vuong, “Supporting low-cost video-on-demand in heterogeneous peer-to-peer networks,” in Proceedings of the 7th IEEE International Symposium on Multimedia, 2005, pp. 523-533.
23. E. K. Lua, J. Crowcroft, M. Pias, R. Sharma, and S. Lim, “A survey and comparison of peer-to-peer overlay network schemes,” IEEE Communications Surveys and Tu-torials, Vol. 7, 2005, pp. 72-93.
24. P. Seeling, M. Reisslein, and B. Kulapala, “Network performance evaluation using frame size and quality traces of single-layer and two-layer video: A tutorial,” IEEE Communications Surveys and Tutorials, Vol. 6, 2004, pp. 58-78.
25. Z. Xiang, Q. Zhang, W. Zhu, Z. Zhang, and Y. Q. Zhang, “Peer-to-peer based mul-timedia distribution service,” IEEE Transactions on Mulmul-timedia, Vol. 6, 2004, pp. 343-355.
26. D. Xu, S. S. Kulkarni, C. Rosenberg, and H. K. Chai, “Analysis of a CDN-P2P hy-brid architecture for cost-effective streaming media distribution,” Multimedia Sys-tems, Vol. 11, 2006, pp. 383-399.
27. W. P. K. Yiu, J. Xing, and S. H. G. Chan, “VMesh: Distributed segment storage for peer-to-peer interactive video streaming,” IEEE Journal on Selected Areas in Com-munications, Vol. 25, 2007, pp. 1717-1731.
28. H. C. Yang, H. F. Yu, and L. M. Tseng, “Adaptive live broadcasting for highly-de-mand video,” Journal of Information Science and Engineering, Vol. 19, 2003, pp. 531-549.
29. Q. Zhang, Z. Xiang, W. Zhu, and L. Gao, “Cost-based cache replacement and server selection for multimedia proxy across wireless Internet,” IEEE Transactions on Mul-timedia, Vol. 6, 2004, pp. 587-598.
Jen-Wen Ding (丁建文) received his B.S., M.S., and Ph.D. degrees in Engineering Science from National Cheng Kung Uni-versity, Tainan, Taiwan, in 1996, 1998, and 2001, respectively. He joined National Kaohsiung University of Applied Sciences from 2004. He is currently an Assistant Professor of Department of Information Management, National Kaohsiung University of Applied Sciences, Kaohsiung, Taiwan. His research interests in-clude multimedia communications, peer-to-peer computing, and mobile computing.
Shi-Yuan Lan (籃士淵) received his B.B.A. and M.B.A. degrees in Information Management from National Kaohsiung University of Applied Sciences, Kaohsiung, Taiwan, in 2005 and 2007, respectively. His research interests include computer net-works and multimedia communications.