COPACC: A Cooperative Proxy-Client Caching System for On-demand Media Streaming

Similar documents
The Transmitted Strategy of Proxy Cache Based on Segmented Video

Proxy Caching for Media Streaming over the Internet

Impact of Frequency-Based Cache Management Policies on the Performance of Segment Based Video Caching Proxies

Using Multicast for Streaming Videos across Wide Area Networks

Improving VoD System Efficiency with Multicast and Caching

Optimal Proxy Cache Allocation for Efficient Streaming Media Distribution

A Hybrid Overlay Network for Video-on-Demand

Using Multicast for Streaming Videos across Wide Area Networks

RECURSIVE PATCHING An Efficient Technique for Multicast Video Streaming

An Energy-Efficient Client Pre-Caching Scheme with Wireless Multicast for Video-on-Demand Services

Towards Low-Redundancy Push-Pull P2P Live Streaming

Reduction of Periodic Broadcast Resource Requirements with Proxy Caching

OPTIMIZING VIDEO-ON-DEMAND WITH SOURCE CODING

Clustering-Based Distributed Precomputation for Quality-of-Service Routing*

The Strategy of Batch Using Dynamic Cache for Streaming Media

Optimal Proxy Cache Allocation for Efficient Streaming Media Distribution

Loopback: Exploiting Collaborative Caches for Large-Scale Streaming

Enhancing Downloading Time By Using Content Distribution Algorithm

A Survey of Streaming Media Caching

SECURED SOCIAL TUBE FOR VIDEO SHARING IN OSN SYSTEM

On a Unified Architecture for Video-on-Demand Services

HSM: A Hybrid Streaming Mechanism for Delay-tolerant Multimedia Applications Annanda Th. Rath 1 ), Saraswathi Krithivasan 2 ), Sridhar Iyer 3 )

Bayeux: An Architecture for Scalable and Fault Tolerant Wide area Data Dissemination

On Minimizing Packet Loss Rate and Delay for Mesh-based P2P Streaming Services

Joint Optimization of Content Replication and Server Selection for Video-On-Demand

Optimal Cache Allocation for Content-Centric Networking

A Proxy Caching Scheme for Continuous Media Streams on the Internet

A COOPERATIVE DISTRIBUTION PROTOCOL FOR VIDEO-ON-DEMAND

Min-Cost Multicast Networks in Euclidean Space

Load Sharing in Peer-to-Peer Networks using Dynamic Replication

Chunk Scheduling Strategies In Peer to Peer System-A Review

A Scalable Content- Addressable Network

Robust Wireless Delivery of Scalable Videos using Inter-layer Network Coding

Wireless Sensor Architecture GENERAL PRINCIPLES AND ARCHITECTURES FOR PUTTING SENSOR NODES TOGETHER TO

sflow: Towards Resource-Efficient and Agile Service Federation in Service Overlay Networks

On the Power of Cooperation in Multimedia Caching

QUANTIZER DESIGN FOR EXPLOITING COMMON INFORMATION IN LAYERED CODING. Mehdi Salehifar, Tejaswi Nanjundaswamy, and Kenneth Rose

Overlay Multicast. Application Layer Multicast. Structured Overlays Unstructured Overlays. CAN Flooding Centralised. Scribe/SplitStream Distributed

PRIVACY AND TRUST-AWARE FRAMEWORK FOR SECURE ROUTING IN WIRELESS MESH NETWORKS

Early Measurements of a Cluster-based Architecture for P2P Systems

Live P2P Streaming with Scalable Video Coding and Network Coding

Scalability And The Bandwidth Efficiency Of Vod Systems K.Deepathilak et al.,

Ad hoc and Sensor Networks Chapter 3: Network architecture

Secure Routing and Transmission Protocols for Ad Hoc Networks

SIPCache: A Distributed SIP Location Service for Mobile Ad-Hoc Networks

Analysis of Resource Sharing and Cache Management in Scalable Video-on-Demand

A Scalable Framework for Content Replication in Multicast-Based Content Distribution Networks

Protocol for Tetherless Computing

An Overlay solution to IP-Multicast Address Collision Prevention

Multipath Routing for Video Unicast over Bandwidth-Limited Networks

Peer Clustering and Firework Query Model

IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 8, NO. 2, APRIL Segment-Based Streaming Media Proxy: Modeling and Optimization

Performance Analysis of WLANs Under Sporadic Traffic

Reliable Caching-A Novel Approach to Caching Web Pages

Performance Evaluation of Distributed Prefetching for Asynchronous Multicast in P2P Networks

CptS 464/564 Lecture 18

Video Streaming Over the Internet

Replicate It! Scalable Content Delivery: Why? Scalable Content Delivery: How? Scalable Content Delivery: How? Scalable Content Delivery: What?

Quadratic Residue Based Address Allocation for Mobile Ad Hoc Networks

A Connection between Network Coding and. Convolutional Codes

An Cross Layer Collaborating Cache Scheme to Improve Performance of HTTP Clients in MANETs

IMPROVING THE DATA COLLECTION RATE IN WIRELESS SENSOR NETWORKS BY USING THE MOBILE RELAYS

Architecture for Cooperative Prefetching in P2P Video-on- Demand System

Constructing Communication Subgraphs and Deriving an Optimal Synchronization Interval for Distributed Virtual Environment Systems

Chapter 3: Naming Page 38. Clients in most cases find the Jini lookup services in their scope by IP

White Paper. Nexenta Replicast

IN recent years, the amount of traffic has rapidly increased

Providing NPR-Style Time-Shifted Streaming in P2P Systems

IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 6, NO. 1, FEBRUARY

Small World Overlay P2P Networks

Unequal Error Recovery Scheme for Multimedia Streaming in Application-Level Multicast

A Transpositional Redundant Data Update Algorithm for Growing Server-less Video Streaming Systems

A Top Catching Scheme Consistency Controlling in Hybrid P2P Network

Scalable Middleware Environment for Agent-Based Internet Applications]

AOTO: Adaptive Overlay Topology Optimization in Unstructured P2P Systems

Cooperation in Open Distributed Systems. Stefan Schmid

AVALANCHE: A NETWORK CODING ANALYSIS

2013 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media,

Overlay Networks for Multimedia Contents Distribution

Topology-Aware Peer-to-Peer On-demand Streaming

An Empirical Study of Flash Crowd Dynamics in a P2P-based Live Video Streaming System

ANewRoutingProtocolinAdHocNetworks with Unidirectional Links

Surveying Formal and Practical Approaches for Optimal Placement of Replicas on the Web

Peer-to-Peer Media Streaming

P2PSIP, ICE, and RTCWeb

Distributed Coordination Protocols to Realize Scalable Multimedia Streaming in Peer-to-Peer Overlay Networks

Evolved Multimedia Broadcast/Multicast Service (embms) in LTE-advanced

Chapter 18: Parallel Databases

Chapter 18: Parallel Databases. Chapter 18: Parallel Databases. Parallelism in Databases. Introduction

IP Multicast. Overview. Casts. Tarik Čičić University of Oslo December 2001

CSC8223 Wireless Sensor Networks. Chapter 3 Network Architecture

Analysis of a Multiple Content Variant Extension of the Multimedia Broadcast/Multicast Service

Delayed reservation decision in optical burst switching networks with optical buffers

COOCHING: Cooperative Prefetching Strategy for P2P Video-on-Demand System

Overlay and P2P Networks. Introduction and unstructured networks. Prof. Sasu Tarkoma

Peer-to-Peer Systems. Network Science: Introduction. P2P History: P2P History: 1999 today

HTRC Data API Performance Study

Small-World Overlay P2P Networks: Construction and Handling Dynamic Flash Crowd

A Proposed Peer Selection Algorithm for Transmission Scheduling in P2P-VOD Systems

Coordinated Robust Routing by Dual Cluster Heads in Layered Wireless Sensor Networks

Transcription:

COPACC: A Cooperative - Caching System for On-demand Media Streaming Alan T.S. Ip 1, Jiangchuan Liu 2, and John C.S. Lui 1 1 The Chinese University of Hong Kong, Shatin, N.T., Hong Kong {tsip, cslui}@cse.cuhk.edu.hk 2 Simon Fraser University, Vancouver, BC, Canada csljc@ieee.org Abstract. caching is a key technique to reduce transmission cost for on-demand multimedia streaming. However, its effectiveness is limited by the insufficient storage space and weak cooperations among proxies and their clients. In this paper, we propose COPACC, a novel cooperative proxy-and-client caching system that combines the advantages of both proxy caching and peer-to-peer (P2P) client communications. We propose a comprehensive suite of protocols to facilitate the interactions among different network entities in COPACC. We also develop an efficient cache allocation algorithm to minimize the aggregated transmission cost of the whole system. Simulation results demonstrate that COPACC achieves remarkably lower transmission cost. Moreover, it is much more robust than a pure P2P system in the presence of node failures. 1 Introduction Today s Internet has been increasingly used for carrying multimedia traffic, and on-demand streaming for clients is amongst the most popular networked media services. The limited server capacity, however, make efficient and scalable ondemand media streaming a challenging task. To reduce server/network loads, frequently used data is cached at proxies close to clients[1]. Streaming media, particularly those with asynchronous demands, could benefit with a significant performance improvement from proxy caching given their static nature in content and highly localized access interests. Another approach is to generalize the proxy functionalities into every client [2]. Such a P2P paradigm allows economical clients to contribute their storages for streaming. Video data originally provided by a server are spread among clients, thus amplifying the system capacity. In this paper, we propose COPACC, a novel cooperative proxy-and-client caching system. We leverage the client-side caching to amplify the aggregated cache space and rely on dedicated proxies to effectively coordinate the communications. We develop an efficient cache allocation algorithm together with a comprehensive protocols suite to distribute video segments among the proxies This work is supported in part by the RGC Earmarked Grant. R. Boutaba et al. (Eds.): NETWORKING 2005, LNCS 3462, pp. 1383 1387, 2005. c IFIP International Federation for Information Processing 2005

1384 A.T.S. Ip, J. Liu, and J.C.S. Lui and clients such that the aggregated transmission cost is minimized. As most operations are executed by dedicated proxies, the system is resilient to client failures. We also embed an efficient indexing and searching algorithm for video contents cached across different proxies or clients. COPACC also makes effective use of multicast delivery, which further reduces the cost. The simulation results demonstrate that COPACC achieves remarkably lower transmission cost as compared to proxy-based caching with limited storage space. With the assistance from dedicated proxies, it is much more robust than a pure P2P system. Moreover, It scales well to larger networks, and the cost generally reduces when more proxies and clients cooperate with each other. Fig. 1 depicts a generic architecture of COPACC. A cluster of proxies are logically connected to form overlay. The proxies and their clients are closely located with relatively low communication costs, while the proxies and the video server are located far away and incur higher costs. The video data are cached across proxies and clients of limited storage. As shown in Fig. 2, a video stream is partitioned into prefix and prefix-of-suffix. The proxies are responsible to cache the prefix of video, whereas the clients cache the prefix-of-suffix. Similar to [3], this setting helps to minimize the initial playback latency. When a client expects to play a video, it initiates a playback request to its home proxy, which intercepts the request and computes a streaming schedule. It then fetches the prefix, prefixof-suffix, as well as the remaining part of suffix, and relays them to the client. overlay Server 0 Playback time cache cache Fig. 1. The COPACC architecture Fig. 2. Illustration of different portions of a video stream. The prefix is to be cached by proxies, while the prefix-of-suffix by clients There are two key issues to be addressed: How to partition each video and allocate the prefixes and prefix-of-suffixes to different proxy and client? How to manage, search, and retrieve the cached data in different proxies and clients? 2 Optimal Cache Allocation Problem (CAP) The optimal cache allocation problem (CAP) can be formulated as CAP : min Cost({p i j }, {qi j,k }), s.t. p i j,qi j,k 0,j [1...H],k [1...K j]; Hj=1 p i j + H Kj j=1 k=1 qi j,k V i, Ni=1 p i j sp j ; Ni=1 q i j,k sc j,k ;

COPACC: A Cooperative - Caching System 1385 where Cost({p i j }, {qi j,k }) is the total transmission cost given prefix allocation {p i j } and prefix-of-suffix allocation {qi j,k }; the second and third constraints follow the cache space limit of proxy j and that of client k of proxy j, respectively. 2.1 Single with Caching We first consider a single proxy and multiple clients system. Since the transmission cost depends only on how the video are partitioned, we can assume that the caches of all the clients form an aggregated cache space, and derive the minimum transmission cost by finding the optimal values of {P i } and {Q i } subject to cache space constraints S p and S c. We define an auxiliary cost function C i (P i,q i ), which is the cost for delivering video i with prefix size P i and prefix-of-suffix size Q i. Note that Cost({p i j }, {qi j,k }) is now equal to N i=1 C i (P i,q i ). The problem can then be solved by dynamic programming. It is applicable with arbitrary cost function C i (P i,q i ), which can be instantiated given a specific transmission scheme. As an example, assume both a server-to-client and a client-to-client transmissions are unicast-based and relayed by a proxy, C i (P i,q i ) can be derived as λf i [w c p P i +2w c p Q i +(w s p +w c p )(V i P i Q i )+w in (P i +Q i )], where the first four terms in the square bracket represent the costs for retrieving prefix, prefix-of-suffix, the remaining suffix, and the internal cost of the proxy. 2.2 Multiple Proxies with Caching We now consider the general COPACC system consisting multiple proxies and their respective clients. It involves interactions among several proxies and clients, and the unit transmission costs for the proxy-to-proxy and client-to-proxy links can be heterogeneous. In fact, we formally prove that CAP is NP-hard in this general case (see [4]). We thus resort to a practically efficient heuristics, which consists of two phases: first, it partitions the prefix and prefix-of-suffix for each video; second, given the partitions, it allocates the segments of prefixes and prefix-of-suffixes to the proxies and clients. 1) Partitioning of prefix and prefix-of-suffix: In this phase, we approximate the system by a single proxy system with aggregated proxy cache space S p and aggregated client cache space S c. An approximate solution of {P i } and {Q i } can be directly obtained using the dynamic programming algorithm. 2) Allocation to proxy and client caches: In this phase, we further partition the prefix and prefix-of-suffix, and allocate them to the proxies and clients. Since the allocation for prefixes to proxy caches is independent from that for prefixof-suffixes to client caches, we separate the two allocation problems and solve them individually. The optimal prefix allocation problem (PA) is formulated as PA : min N Hj=1 i=1 W p (i, j, p i j ) s.t. Hj=1 p i j = P i,i [1...N]; Ni=1 p i j sp j,j [1...H]. As W p (i, j, p i j ) can be instantiated as H j =1 pi j [wp p j,j + wc p j ]λ j fi j for unicast delivery, PA can be relaxed as a linear programming problem by re-writing it to min N Hj=1 i=1 W p (i, j) p i j.

1386 A.T.S. Ip, J. Liu, and J.C.S. Lui We should also consider the optimal suffix-of-prefix allocation problem (SA) for client cache. Obviously, both the problem SA and the cost function itself have similar structure as that of problem PA. Thus, we omit the derivation of SA here. Note that the linear programming relaxation also applies for SA. The optimizations shown above can also be applied to multicast delivery (see [4]). 3 The Cooperative - Caching Protocol As shown in Fig. 1, COPACC operates as a two-level overlay, where the first level consists of all the proxies, and the second level consists of each proxy and its own clients. The interactions among different entities in this two-level overlay are specified by a cooperative proxy-client caching protocol, which consists of three subprotocols. 1) Cache allocation and organization protocol specifies the election of proxy coordinator, which executes the optimal cache allocation algorithm and disseminates the lookup information using simplest hashing. 2) Cache lookup and retrieval protocol defines the discovery and retrieval of cache between proxies. 3) access and integrity verification protocol performs verification operation, which detects forged video data through a simple yet effective signature-based verification algorithm. The details of this protocol suite can be found in [4]. Normalized transmission cost 1 0.8 0.6 0.4 0.2 Unicast w/o proxy cooperation Multicast w/o proxy cooperation Unicast w/ proxy cooperation Multicast w/ proxy cooperation Normalized transmission cost 1 0.8 0.6 0.4 0.2 r = 0% r = 25% r = 50% r = 100% 0 0 0.2 0.4 0.6 0.8 1 Total cache space Fig. 3. Transmission cost as a function of the total proxy-client cache space 0 0 0.2 0.4 0.6 0.8 1 failure probability Fig. 4. Transmission cost versus client failure probability 4 Performance Evaluation A primary design objective of COPACC is to reduce the transmission cost. Fig. 3 plots the transmission cost as a function of the total cache space, where the proxies and clients respectively contribute half of the total cache size. The cache sizes are normalized by the total size of the video repository, and the transmission costs are normalized by the corresponding cost of a system with no cache. Not surprisingly, increasing the total space reduces transmission cost. With unicast, the cost decreases linearly, while with suffix multicast, it decreases much faster. When the total cache space is 0.2, the cost with suffix multicast has been

COPACC: A Cooperative - Caching System 1387 reduced to 0.2; in other words, a 20% cache space leads to a 80% cost reduction, which implies that batching the requests from local clients can avoid a significant amount of remote transmissions. It is also clear that the cost with cooperative proxies is much lower, particularly when multicast is also enabled in local paths. The robustness in the presence of client failures is also a critical concern in COPACC. In Fig. 4, we show the transmission cost as a function of different client failure probabilities. We vary, r, the fraction of the total proxy cache space in the total cache space from 0% to 100%. When r = 0%, COPACC degenerates to a pure P2P system, and, when r = 100%, it degenerates to a pure proxy-based system. We can see that, when there is no client failure, the costs for different r are quite close if there are certain cache existed in proxies. More importantly, the cost of the pure proxy-based system remains unchanged when increasing client failures, and that for 0% <r<100% is also very stable. For illustration, even if r is 25%, the transmission cost only slightly increases with an increase of failure probability; when the failure probability is 1, the cost remains a low as 0.22. To the contrary, the cost of the pure P2P system quickly increases and reaches 1 (the cost of a zero-cache system), when all clients fail. Such results demonstrate that the use of dedicated proxies with suffix batching remarkably improves the robustness and resilience of COPACC in the presence of client failures. In summary, COPACC effectively utilizes the client-side cache space and realizes a low-cost video streaming system. Yet with the assistance of dedicated proxies, it is quite robust to accomodate dyanmic and even malicious clients. More results supporting such arguments as well as the behavior of COPACC under diverse network configurations can be found in [4]. References 1. Liu, J., Xu, J.: Caching for Media Streaming over the Internet. IEEE Communications (2004) 2. Cui, Y., Li, B., Nahrstedt, K.: ostream: Asynchronous Streaming Multicast in Application-Layer Overlay Networks. IEEE JSAC 22 (2004) 3. Wang, B., Sen, S., Adler, M., Towsley, D.: Optimal Cache Allocation for Efficient Streaming Media Distribution. In: Proc. IEEE INFOCOM 02, NY (2002) 4. Ip, A.T.S., Liu, J., Lui, J.C.S.: COPACC: A Cooperative - Caching System for On-Demand Media Streaming. Technical Report (2004, CUHK, http://www.cs.sfu.ca/ jcliu/papers/tr-copacc-final/tr-copacc.pdf)