Proxy Caching Strategies for Internet Media Streaming

5 downloads 0 Views 1010KB Size Report
Media streaming consists in the viewing of dynamic media information while being downloaded by clients. With the explosive growth of the Web and the mature ...
3166

Category: Multimedia Technology

Proxy Caching Strategies for Internet Media Streaming Manuela Pereira University of Beira Interior, Portugal Mário M. Freire University of Beira Interior, Portugal

IntroductIon Media streaming consists in the viewing of dynamic media information while being downloaded by clients. With the explosive growth of the Web and the mature of digital video technology, media streaming has received a great deal of interest as a promising solution for multimedia delivery services. This approach allows that media objects can be accessed in a similar way to conventional text and images using a download-and-play mode. However, unlike static text-based content, proxy caching has difficulty in delivering streaming media content because media objects are usually very large and its transmission consumes a great amount of network resources, prolongs startup latency, and threatens the playback continuity. The size of a conventional Web object is typically on the order of 1–100 kbytes and, therefore, a decision regarding either caching or not an object in its totality is an easy task (Liu & Xu, 2004). However, the size of media objects is very large, reaching a size on the order of several hundreds of Mbytes or even Gbytes. Therefore, caching a whole media object at a Web proxy optimized for delivering conventional small-size Web objects is not feasible, since large streams would quickly exhaust the capacity of the proxy cache. Besides, the streaming of media objects requires a significant amount of resources such as disk space and network bandwidth, which need to be maintained during a long period of time. Moreover, the long playback duration of a streaming may allow several client-server interactions. Therefore, access rates might be different for different parts of a stream, which makes cache management potentially more complex, as pointed out by Liu and Xu (2004). On the other hand, a download-beforeplaying solution provides continuous playback, but it also introduces a large startup delay. An effective solution to reduce client-perceived latencies and network congestion is to cache data at proxies widely deployed across the Internet. This solution, besides inexpensive, also leads to an improvement of both availability of objects and packet losses since redundant network transmission decreases while transmission efficiency increases. However, proxies are generally optimized for delivering

conventional small-size Web objects, which may not satisfy the requirements of streaming applications. Due to these particular features of media objects, novel caching strategies have been proposed. With the evolution of the Internet as the dominant architecture for applications, contents, and services, these are gradually migrating from the client-­server paradigm to the edge services paradigm and to the peer-to-peer (P2P) computing paradigm. Recently, P2P system has received a great amount of interest as a promising scalable and costeffective solution for next-generation multimedia content distribution. This kind of systems have advantages regarding systems based on the client-server paradigm, namely improved scalability and reliability, cheaper infrastructures due to direct communication among peers, and easiness of resource aggregation in order to provide, for instance, massive processing power (Ye, Makedon, & Ford, 2004). However, P2P systems also have some drawbacks, namely the considerably more complex searching and node organization and security issues (Aberer, Punceva, Hauswirth, & Schmidt., 2002). Therefore, this article limits the discussion to low-cost proxy caching strategies for media streaming over Internet.

Background As discussed earlier, media caching has different requisites regarding conventional Web caching due to the special features of media streaming. Since the content of a media object is rarely updated, management issues like cache consistency and coherence are less critical in media caching. However, it requires an effective management of proxy cache resources due to the resource requirements of media objects (Liu & Xu, 2004). Roughly, there are two main types of caching strategies: the strategies focused on homogeneous clients and the strategies focused on heterogeneous clients. Most of the proposed strategies are focused on homogeneous clients, which have identical or similar configurations and capabilities behind a proxy. Figure 1 presents an overview of caching strategies

Copyright © 2009, IGI Global, distributing in print or electronic forms without written permission of IGI Global is prohibited.

Proxy Caching Strategies for Internet Media Streaming

for media streaming. A brief description of these strategies is provided in the next sections.

cacHIng StratEgIES For HoMogEnEouS cLIEntS Strategies for homogeneous clients can be classified, regarding the parts of media objects to cache, as prefix caching, sliding-interval caching, segment-­based caching, and rate-split caching. A brief description of these strategies follows.

Prefix Caching According to this strategy, the media object is divided into two parts: the prefix and the suffix. The prefix is cached at a proxy. After the reception of a client request, the proxy immediately delivers the prefix to the client and fetches the suffix from the source server to be further delivered to the client. This strategy leads to a significant reduction of the startup delay for a playback since the proxy is generally closer to the clients than the source server (Liu & Xu, 2004; Miao & Ortega, 1999; Sen, Rexford, & Towsley, 1999 ). In this strategy, the prefix size is a key issue for the system performance. In general, this strategy leads to a moderate bandwidth reduction but to a high startup latency reduction.

Sliding-Interval caching According to this strategy, a sliding interval of a media object is cached in order to exploit the sequential access of a streaming media. For instance, if two consecutive requests for the same object are received, the first request may access the object from the server and incrementally store it into the proxy cache, while the other request only needs to access the cached portion and release it after the access. In general, if multiple requests for a given object are received in a short period of time, a set of adjacent intervals may be grouped to form a run, of which the cached portion will be released only after the satisfaction of the last request. This strategy can substantially reduce the consumption of network bandwidth and the startup delay for subsequent accesses. However, it involves high disk bandwidth utilization because the cached portion is dynamically updated with the playback. Besides, the effectiveness of the sliding-interval caching strategy diminishes with increased access intervals. Moreover, in the case of the access interval of a given object be longer than the duration of the playback, it degenerates to the case of full-object caching (Liu & Xu, 2004; Tewari, 1998). These limitations may be mitigated if the cached content is retained over a relatively long period of time. Nevertheless, for a good cache design, this strategy may lead to a high bandwidth reduction and to a high startup latency reduction.

Figure 1. Overview of caching strategies for media streaming

caching Strategies for Streaming Media

caching for Homogeneous clients

Prefix caching

Sliding-Interval caching

Fixed Segmentation

Segment caching

Pyramid Segmentation

caching for Heterogeneous clients

rate-Split caching

Skyscraper Segmentation

3167

P

Proxy Caching Strategies for Internet Media Streaming

Segment-Based caching Segment-based caching is a generalization of the prefix caching strategy by partitioning a media object into a set of segments, differentiating their respective utilities, and making a caching decision accordingly (Liu & Xu, 2004). Several segment-based caching approaches have been proposed (Chen, Wang, Zhang, Shen, & Wee, 2005; Wu, Yu, & Wolf, 2004 ). Here, we consider the fixed segmentation (also called uniform segmentation), the pyramid segmentation (also called exponential segmentation), and the skyscraper. In the fixed segmentation approach, the size of segments is fixed. In the pyramid segmentation (Viswanathan & Imielinsky, 1996; Wu, Yu, & Wolf, 2004), segment size increases exponentially from the first segment. For instance, objects are segmented in a form that the size of a succeeding segment can double the size of its preceding one. Therefore, in this approach, the size of segments increases exponentially. This approach favors the caching of first segments of media objects due to the following reasons (Wu, Yu, & Wolf, 2004): First, the last portion of a media object is generally the least valuable for caching; second, it is more cost effective to quickly remove a large portion of a cached media object whose caching priority typically decreased from the beginning of the viewing. A hybrid approach taking into account both uniform lengths and exponentially increasing lengths has been considered by Chae, Guo, Buddhikot, Suri, and Zegura (2002). The skyscraper segmentation approach (Wu, Yu, & Wolf, 2004) is a variation of the pyramid segmentation, in which the segment size increases more slowly. For example, the size of a given segment is either the same as or twice of the previous segment. Skyscraper segmentation leads to a larger number of segments than pyramid segmentation, but it has less segments than fixed segmentation. Using event-driven simulation, Wu, Yu, and Wolf (2004) evaluated the three segmentation approaches and have compared them with a full-object approach and with a prefix caching approach. They have shown that: 1) the three segment-based caching strategies are more effective in not only increasing the byte-hit ratio (i.e., reducing total traffic) but also lowering the fraction of requests that require delayed start; 2) pyramid segmentation is the best approach among the three segment-based caching strategies; and 3) segment-based caching strategies are particularly effective when the cache size is limited, when the set of hot media objects changes over time, when requests spread over a large number of media objects, when the size of the media file is large, and when there are a large number of distinct media objects (Wu, Yu, & Wolf, 2004).

rate-Split caching Unlike the previously discussed caching strategies, in which the partition of a media object occurs horizontally along the 3168

time axis, the rate-split caching strategy partitions it vertically along the rate axis. It is established as a cutoff rate, whose part above the cutoff rate will be cached at the proxy, while the part below the cutoff rate will remain stored at the origin server. This type of partitioning is particularly attractive for variable bit rate streaming, since only the lower part of a nearly constant rate has to be delivered through the entire network path. A critical issue in this strategy is the selection of the cutoff rate (Liu & Xu, 2004; Zhang, Wang, Du, & Su, 2000). In general, this strategy leads to a moderate bandwidth reduction and to a moderate startup latency reduction.

cacHIng StratEgIES For HEtErogEnEouS cLIEntS Due to diversity of network environments and device configurations, clients behind the same proxy often have quite different requirements for the same media object in terms of streaming rates or encoding formats. In order to accommodate such heterogeneity, a simple solution is to produce replicated streams of different rates or formats, each targeting the requirements of a subset of clients. Although widely used in commercial streaming systems, this approach is unattractive due to the storage and bandwidth demands (Liu, Chu, & Xu, 2004). An alternative strategy is based on the transcoding of a media object from one form to another of a lower rate or a different encoding format on demand (Tang, Zhang, & Chanson, 2002). However, the large computational overhead of transcoding limits the capability of the proxy to support a large and diverse client population (Liu & Xu, 2004). A more efficient approach to this problem is based on the use of layered encoding and transmission. A layered coder compresses a media object into some layers. The most significant layer, the base layer, contains the data representing the most important features of the object, whereas additional enhancement layers contain data that can progressively refine the quality. Thus, a client can subscribe to a subset of cumulative layers to reconstruct a stream according to its capability or according to the desired quality (Kangasharju, Haranto, Reisslein, & Ross, 2002; Liu & Xu, 2004).

FuturE trEndS Recently, two new approaches for segment-based caching have been reported: adaptive and lazy segmentation and active prefetching (Chen et al., 2005). However, those approaches need to be improved in a cost-effective way. Proxy caching strategies discussed earlier are focused on unicast delivery. Although the discussed strategies can effectively reduce access latencies and network bandwidth, the scalability of proxy caching strategies is limited for media

Proxy Caching Strategies for Internet Media Streaming

content delivery. One strategy to alleviate this problem is the use of proxy caching with multicasting (Ramesh, Rhee, & Guo, 2001). However, this approach may lead to larger startup latencies and is geographically limited (Liu & Xu, 2004). Recently, Xu, Guo, Pan, and Wang (2004) proposed a dynamic cache-multicast algorithm for streaming media, which seems to effectively reduce the utilization of network resources and enhances the byte hit ratio of a proxy cache. An alternative to overcome these limitations is to purchase the services of proprietary content delivery networks (CDNs). However, besides expensive, this solution may have a limited performance for large-scale multimedia distribution services (Xiang, Zhang, Zhu, Zhang, & Zhang, 2004). An alternative approach is based on the peer-to-peer content distribution in which a proxy and its clients can be structured into a peer-to-peer system (Guo et al., 2004) or where clients cooperate to distribute content (Padmanabhan, Wang, Chow, & Sripanidkulchai, 2002) using advanced video coding schemes such as multiple description coding (Pereira, Antonini, & Barlaud, 2003).

concLuSIon A discussion about particular requirements of media objects for media streaming was presented. Proxy caching strategies for media streaming have been discussed for both homogenous and heterogeneous clients. Regarding homogeneous clients, particular attention was paid to the following approaches: prefix caching, sliding-interval caching, segment-based caching, and rate-split caching. Advantages and limitations of these strategies were pointed out. A discussion about limitations of caching strategies and their evolution was also provided.

rEFErEncES Aberer, K., Punceva, M., Hauswirth, M., & Schmidt, R. (2002). Improving data access in P2P systems. IEEE Internet Computing, 6(1), 58-67. Chae, Y., Guo, K., Buddhikot, M. M., Suri, S., & Zegura, E. W. (2002). Silo, rainbow, and caching token: schemes for scalable fault tolerant stream caching. IEEE Journal on Selected Areas in Communications, 20(7), 1328-1344. Chen, S. Wang, H., Zhang, X., Shen, B.,& Wee, S. (2005). Segment-based proxy caching for Internet streaming media delivery. IEEE Multimedia, 12(3), 59-67. Guo, L, Chen, S., Ren, S., Chen, X., & Jiang, S. (2004). PROP: A scalable and reliable P2P assisted proxy streaming system. In Proceedings of the 24th International Conference

on Distributed Computing Systems (ICDCS’04), Tokyo, Japan. Kangasharju, J., Hartanto, F., Reisslein, M., & Ross, K.W. (2002). Distributing layered encoded video through caches. IEEE Transactions on Computers, 51(6), 622-36. Liu, J., Chu, X., & Xu, J. (2004). Proxy cache management for fine-grained scalable video streaming. Proceedings of IEEE INFOCOM 2004, Hong Kong, China. Liu, J., & Xu, J. (2004). Proxy caching for media streaming over the Internet. IEEE Communications Magazine, 42(8), 88-94. Miao, Z., & Ortega, A. (1999, March 31-April 2). Proxy caching for efficient video services over the Internet. Proceedings of International Web Caching Workshop, San Diego. Padmanabhan, V. N., Wang, H. J., Chou, P. A., & Sripanidkulchai, K. (2002, May 12-14). Distributing streaming media content using cooperative networking. Proceedings of NOSSDAV’02, Miami, FL. Pereira, M., Antonini, M., & Barlaud, M. (2003). Multiple description coding for Internet video streaming. Proccedings of IEEE International Conference on Image Processing (ICIP 2003), Barcelona, Spain. Ramesh, S., Rhee, I., & Guo, K. (2001, April). Multicast with cache (Mcache): An adaptive zero-delay video-ondemand service. Proceedings of IEEE INFOCOM 2001, Anchorage, AK. Sen, S., Rexford, J., & Towsley, D. (1999). Proxy prefix caching for multimedia streams. Proceedings of IEEE INFOCOM 1999, New York. Tang, X., Zhang, F., & Chanson, S. T. (2002). Streaming media caching algorithms for transcoding proxies. Proceedings of the 31st International Conference on Parallel Processing (ICPP) (pp. 287-295). IEEE Computer Society Press. Tewari, R. (1998, January). Resource-based caching for web servers. Proceedings of MMCN ’98, San Jose, CA. Viswanathan, S., & Imielinski, T. (1996). Metropolitan area video-on-demand service using pyramid broadcasting. Multimedia Systems, 4(4), 197-208. Wu, K. L., Yu, P. S., & Wolf, J. L. (2004). Segmentation of multimedia streams for proxy caching. IEEE Transactions on Multimedia, 6(5), 770-780. Xiang, Z., Zhang, Q., Zhu, W., Zhang, Z., & Zhang, Y. (2004). Peer-to-peer based multimedia distribution service. IEEE Transactions on Multimedia, 6(2), 343- 355. Xu, Z., Guo, X., Pang, Y., & Wang, Z. (2004, October ). The dynamic cache-multicast algorithm for streaming me3169

P

Proxy Caching Strategies for Internet Media Streaming

dia. In P. Chemouil, M. M. Freire, A. Gravey, & P. Lorenz (Eds.), Universal Multiservice Networks, Lecture Notes in Computer Science, LNCS 3262 (pp. 275-284). Berlin Heidelberg: Springer-Verlag. Ye, S., Makedon, F., & Ford, J. (2004). Collaborative automated trust negotiation in peer-to-peer systems. Proceedings of the Fourth International Conference on Peer-­to-­Peer Computing (P2P2004). Zhang, Z.-L., Wang, Y., Du, D.H.C., & Su, D. (2000). Video staging: A proxy-server-based approach to end-to-end video delivery over wide-area networks. IEEE/ACM Trans. Net., 8(4), 429-42.

kEy tErMS Content Delivery Networks (or Content Distribution Networks (CDNs): In this kind of networks, the origin server is replicated and placed locally close to the clients or remotely in suitable geographical or network spaces. Media Streaming: Consists in the viewing of dynamic media information while being downloaded by clients MPEG: Moving Picture Experts Group. Multicast: The sender generates only a single data stream that will be transmitted to selected multiple receivers who have joined the appropriate multicast group. A multicast-enabled router will forward a multicast message to a particular network only if there are multicast receivers on that network. Peer-to-Peer System: This term refers to any exchange system characterized by direct interaction and data exchange between its peers. ProxyCache: Memory to store media objects. Web: Also referred as World Wide Web, it is a multimedia system based on hypertext applications that use the client/server model to access to Internet resources.

3170

Suggest Documents