Proxy-Assisted Periodic Broadcast for Video Streaming with Multiple Servers



Similar documents
A Novel Framework for Improving Bandwidth Utilization for VBR Video Delivery over Wide-Area Networks

QUALITY OF SERVICE METRICS FOR DATA TRANSMISSION IN MESH TOPOLOGIES

A Proxy-based Architecture for Multimedia Transmission

On the Feasibility of Prefetching and Caching for Online TV Services: A Measurement Study on Hulu

IN THIS PAPER, we study the delay and capacity trade-offs

Bandwidth Usage Distribution of Multimedia Servers using Patching

A Power Efficient QoS Provisioning Architecture for Wireless Ad Hoc Networks

International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November ISSN

AN OVERVIEW OF QUALITY OF SERVICE COMPUTER NETWORK

A Slow-sTart Exponential and Linear Algorithm for Energy Saving in Wireless Networks

Establishing a Mobile Conference Call Under Delay and Bandwidth Constraints

Improving HTTP-based Video Performance using Network Flow Buffering

2004 Networks UK Publishers. Reprinted with permission.

Offline sorting buffers on Line

A Network Flow Approach in Cloud Computing

VCDN: A CONTENT DISTRIBUTION NETWORK FOR HIGH QUALITY VIDEO DISTRIBUTION. Adrian J. Cahill and Cormac J. Sreenan

CHARACTERIZING OF INFRASTRUCTURE BY KNOWLEDGE OF MOBILE HYBRID SYSTEM

Intelligent Content Delivery Network (CDN) The New Generation of High-Quality Network

A Novel Load Balancing Optimization Algorithm Based on Peer-to-Peer

How To Balance Network Load In A Wireless Sensor Network

HPAM: Hybrid Protocol for Application Level Multicast. Yeo Chai Kiat

Security-Aware Beacon Based Network Monitoring

Energy Benefit of Network Coding for Multiple Unicast in Wireless Networks

Detecting Anomalies Using End-to-End Path Measurements

Factors to Consider When Designing a Network

Distributed Caching Algorithms for Content Distribution Networks

Computing Load Aware and Long-View Load Balancing for Cluster Storage Systems

Stability of QOS. Avinash Varadarajan, Subhransu Maji

An Efficient Primary-Segmented Backup Scheme for Dependable Real-Time Communication in Multihop Networks

IMPROVING QUALITY OF VIDEOS IN VIDEO STREAMING USING FRAMEWORK IN THE CLOUD

On the Interaction and Competition among Internet Service Providers

Performance of networks containing both MaxNet and SumNet links

%WILEY TELEVISION, MOBILE AND CONVERGED NETWORKS DIGITAL VIDEO DISTRIBUTION IN BROADBAND, TRENDS, CHALLENGES AND SOLUTIONS. Sanjoy Paul, Ph.

Los Angeles, CA, USA [kunfu,

Optimization in Content Distribution Networks

Cloud Computing is NP-Complete

Forced Low latency Handoff in Mobile Cellular Data Networks

Efficient and low cost Internet backup to Primary Video lines

Performance Evaluation of AODV, OLSR Routing Protocol in VOIP Over Ad Hoc

Improving Wireless Access of Video Over the Internet

VoIP Network Dimensioning using Delay and Loss Bounds for Voice and Data Applications

Load Balancing in Fault Tolerant Video Server

A Locality Enhanced Scheduling Method for Multiple MapReduce Jobs In a Workflow Application

Xiaoqiao Meng, Vasileios Pappas, Li Zhang IBM T.J. Watson Research Center Presented by: Payman Khani

Latency on a Switched Ethernet Network

International Journal of Advanced Research in Computer Science and Software Engineering

EFFECTIVE DATA RECOVERY FOR CONSTRUCTIVE CLOUD PLATFORM

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

A NETWORK CONSTRUCTION METHOD FOR A SCALABLE P2P VIDEO CONFERENCING SYSTEM

How To Improve Performance On A Ccdn (Dns)

Datagram-based network layer: forwarding; routing. Additional function of VCbased network layer: call setup.

Peer to Peer Proxy based IPTV Services

Bistro: a Framework for Building Scalable Wide-Area Upload Applications

CHAPTER 7 SUMMARY AND CONCLUSION

Semi-Continuous Transmission for Cluster-Based Video Servers

International Journal of Innovative Research in Advanced Engineering (IJIRAE) ISSN: Issue 1, Volume 2 (January 2015)

Lecture 3: Scaling by Load Balancing 1. Comments on reviews i. 2. Topic 1: Scalability a. QUESTION: What are problems? i. These papers look at

Introduction to IP v6

A Survey on Content Delivery of Web-Pages

Dynamic Load Balancing and Node Migration in a Continuous Media Network

Dynamic Load Balance Algorithm (DLBA) for IEEE Wireless LAN

A Novel Multi Ring Forwarding Protocol for Avoiding the Void Nodes for Balanced Energy Consumption

Flexible Deterministic Packet Marking: An IP Traceback Scheme Against DDOS Attacks

MINIMIZING STORAGE COST IN CLOUD COMPUTING ENVIRONMENT

Performance analysis and comparison of virtualization protocols, RDP and PCoIP

Performance Analysis of a Finite Duration Multichannel Delivery Method in IPTV

The necessity of multicast for IPTV streaming

Load Balancing Mechanisms in Data Center Networks

A Topology-Aware Relay Lookup Scheme for P2P VoIP System

Locality Based Protocol for MultiWriter Replication systems

Multiobjective Multicast Routing Algorithm

Multi-service Load Balancing in a Heterogeneous Network with Vertical Handover

Online Scheduling for Cloud Computing and Different Service Levels

Dynamic Scalable Model for Video Conferencing (DSMVC) using Request Routing

Hierarchical Content Routing in Large-Scale Multimedia Content Delivery Network

Load Balanced Optical-Network-Unit (ONU) Placement Algorithm in Wireless-Optical Broadband Access Networks

Log-Likelihood Ratio-based Relay Selection Algorithm in Wireless Network

AN INITIAL PEER CONFIGURATION ALGORITHM

An Energy Efficient Location Service for Mobile Ad Hoc Networks

Scheduling using Optimization Decomposition in Wireless Network with Time Performance Analysis

Data Caching in Networks with Reading, Writing and Storage Costs

Design and Implementation of an On-Chip timing based Permutation Network for Multiprocessor system on Chip

A Scalable Monitoring Approach Based on Aggregation and Refinement

A hierarchical multicriteria routing model with traffic splitting for MPLS networks

Performance Analysis of AQM Schemes in Wired and Wireless Networks based on TCP flow

A Catechistic Method for Traffic Pattern Discovery in MANET

How To Provide Qos Based Routing In The Internet

SAN Conceptual and Design Basics

THE Internet in recent years has migrated from the best-effort. Multipath Routing for Video Delivery Over Bandwidth-Limited Networks

Peer-to-Peer Networks. Chapter 6: P2P Content Distribution

The Optimistic Total Order Protocol

Content Distribution Scheme for Efficient and Interactive Video Streaming Using Cloud

Web DNS Peer-to-peer systems (file sharing, CDNs, cycle sharing)

CHAPTER 5 WLDMA: A NEW LOAD BALANCING STRATEGY FOR WAN ENVIRONMENT

Scheduling Allowance Adaptability in Load Balancing technique for Distributed Systems

VMware Virtual SAN Backup Using VMware vsphere Data Protection Advanced SEPTEMBER 2014

2013 IEEE 14th International Conference on High Performance Switching and Routing

Minimum Latency Server Selection for Heterogeneous Cloud Services

HYBRID GENETIC ALGORITHMS FOR SCHEDULING ADVERTISEMENTS ON A WEB PAGE

Transcription:

1 Proxy-Assisted Periodic Broadcast for Video Streaming with Multiple Servers Ewa Kusmierek and David H.C. Du Digital Technology Center and Department of Computer Science and Engineering University of Minnesota kusmiere, du @cs.umn.edu Abstract Large scale video streaming over Internet requires a large amount of resources such as server I/O bandwidth, network bandwidth. A number of video delivery techniques can be used to lower these requirements. Periodic broadcast by a central server combined with proxy caching offers a significant reduction of the aggregate network and server I/O bandwidth usage. However, the resources available to a single server are still limited. In this paper we propose a system with multiple geographically distributed servers. Multiple servers beside offering increased resources and service availability, allow a further reduction of network bandwidth usage. The challenge is how to use multiple servers efficiently. We first analyze the dependence of the resource requirements on the number and locations of the servers in a proxyassisted periodic broadcast video delivery system. Based on the character of the function describing such a dependence, we formulate and solve the problem of video location and delivery in a way that minimizes resource usage. We explore the trade-offs between network and I/O bandwidth requirements. We evaluate our proposed solutions through a number of tests. Keywords: video streaming, periodic broadcast, proxy caching, distributed servers. I. INTRODUCTION Many multimedia applications such as distance learning and video-conferencing rely on video streaming techniques. However, large scale video delivery requires a large amount of resources such as storage space, server I/O bandwidth and network bandwidth. A number of techniques have been proposed to reduce these requirement and to address the scalability of video delivery system. Periodic broadcast [1] reduces server I/O bandwidth and network bandwidth requirements for popular videos by segmenting a video and repeatedly broadcasting these video segments over a fixed number of channels. The network bandwidth requirement reduction can be also achieved by employing proxy servers to cache data [2] at close proximity to the clients. The two approaches are combined into a proxy-assisted periodic broadcast [3, 4]. By caching partial video content at a proxy and broadcasting the remaining content at a central server we can achieve a significant resource requirement usage reduction. However, in a large scale of the video delivery system, these requirements can still be considerably large. In this paper we propose to employ multiple video servers to further reduce the resource requirement. Multiple server system offers three major benefits: 1) an increase in the amount of resources available such as I/O bandwidth and storage space, 2) increased service availability and fault tolerance due to replication, and 3) further reduction of resource requirement such as WAN bandwidth. The challenge in efficient utilization of multiple server system lies in how to characterize the dependence of the aggregate I/O bandwidth and WAN bandwidth requirements on the number and locations of servers employed. WAN bandwidth usage can be intuitively reduced be deploying multiple distributed servers due to the reduction of distance between clients and servers. I/O bandwidth on the other hand, exhibits different and more complex behavior. We first show that the minimum I/O bandwidth usage is obtained with a small number of servers and how the distribution of client requests impacts I/O bandwidth usage. We then formulate the problem for distributing videos and client requests for these videos among a number of potential servers that allows to reach any desirable level of I/O bandwidth usage. We consider settings with a number of video servers available (Figure 1). The clients are grouped into communities according to their locations, and are generally connected to the same LAN, the same cable head-end or the same Internet Service Provider. Communities are spread geographically over the Internet. Each community has a proxy server providing caching service. The client requests that cannot be satisfied by the proxy are directed to one of the geographically distributed servers. The problem we address is video placement, i.e., deciding which servers each video is available from, and video delivery, i.e., distributing client requests for a video among a number of available servers. The goal is to minimize the resource requirements while maximizing the number of accepted requests. We explore the tradeoffs involved in video replication among a number of servers, namely the influence the replication has on the I/O bandwidth and network bandwidth requirements. Based on the findings we propose a schemes for video location and delivery. The paper is organized as follows. In Section II we summarize the related work. In Section III we present the results of the analysis of resource dependence on the number and locations of servers. We formulate the optimization problem for video placement and delivery in Section IV. In Section V we present heuristic solution to the optimization problem. The test results and evaluation of the heuristic are given in Section VI. We conclude the paper in Section VII.

2 server prefix proxy prefix server suffix COMMUNITY Local Area Network Video Proxy Server Wide Area Network Central Video Server proxy unicast server unicast video length server broadcast Local Area Network (a) proxy prefix server prefix Central Video Server Video Proxy Server COMMUNITY server prefix proxy prefix server suffix Fig. 1. Video delivery architecture proxy unicast server broadcast II. RELATED WORK A number of schemes have been proposed to address video streaming resource requirements at the server. Bandwidth reduction is achieved by exploiting data sharing among clients. Batching and patching [5,6] group clients to share one transmission by delaying earlier requests, and allowing a client to joinon an on-going transmission while receiving the missed video part on a separate channel. Periodic Broadcast (PB) schemes [1] partition a video into a number of segments. All segments are repeatedly accessed and transmitted by a central server over a number of broadcast channels. Catching [7] and MPatch [8] combine PB with patching and batching. Selective catching explores potential reduction based on the video popularity. Another approach to resource requirement reduction is based on video caching by a proxy [2,9]. A proxy server caches a part of a video so that the amount of data that has to be delivered by a central server is reduced. Among a number of ways to choose a part of the video to be cached [10,11], prefix caching offers an additional advantage of reducing start-up delay. Proxy caching has been combined with PB in [3, 12]. All of the above-mentioned schemes target minimization of the resource requirement under the assumption that the video set is provided by one central server. In our approach we take one of the techniques, proxy-assisted PB, one step further to explore the possible resource reduction with multiple servers. In the rest of this section we describe proxy-assisted PB in more details. First we present a simple scenario of cooperation between a single proxy (or a set of homogeneous proxies) and a single central server introduced in [3]. Next we present a system with multiple heterogeneous proxies and a central server introduced in [12]. In the third step we extend the system to include multiple heterogeneous servers with heterogeneous proxies, which is the subject of this paper. a) One Proxy - One Server: In a system consisting of a single proxy and single central server, a set of popular videos is considered. Each video is partitioned into two parts: a prefix and a suffix. The central server uses a PB scheme as a transmission mode for the suffix of the video. Proxy caches some prefix of the video in order to reduce the number of channels broadcasted by the servers. Since the storage space and I/O bandwidth at the proxy are limited, the available space is optimally partitioned among videos in such a way that the number of channels broadcasted by the server is minimized. video length (b) proxy prefix server prefix Fig. 2. Video transmission modes b) Multiple Proxies - One Server: In a system with multiple proxies, we assume that the proxies differ from each other with respect to the storage space and I/O bandwidth available at each proxy. In addition to proxy heterogeneity, also video popularity varies from one community to another and the video set contains videos of various popularities. A proxy chooses the prefix for each video in such a way that the total amount of data that has to be transferred by the central server is minimized, subject to the I/O bandwidth and buffer size constraints at the proxy. A central server delivers video in one of two modes: either through unicast or through periodic broadcast depending on the video popularity. Due to the fact that different proxies may cache different prefixes of a video, global popularity may vary for different segments of a video. In order to achieve maximum I/O bandwidth requirement reduction at the server the video is divided into a server prefix delivered through unicast transmission and server suffix delivered through broadcast transmission. Note that if the server prefix is smaller than a proxy prefix, the required data is already cached at the proxy and no data needs to be delivered by the server. If the server prefix is larger than the proxy prefix, only the difference needs to be delivered by the server via unicast. The suffix portion of a video is periodically broadcasted to all clients. A number of combinations of video delivery modes are possible (Figure 2). c) Multiple Proxies - Multiple Servers: We now extend this framework by including multiple geographically distributed servers. The way proxy servers operate and choose video prefixes is unchanged. Their role is to minimize the total amount of video data transferred over WAN. The requests for the part of the video not cached at the proxies have to be directed to one of the multiple available servers. The set of videos is partition among the servers in such a way that each video has to be stored in at least one server. On the other hand, there can be multiple replicas of a single video present in the system. Hence, there are two problems to solve. One is the video location problem, which includes assigning each video to one or

3 more servers. The other is partitioning the requests for a given video among the servers that have a replica of this video. III. SERVER NUMBER AND LOCATION INFLUENCE ON RESOURCE REQUIREMENTS We now examine how resource requirements depend on the number and location of the servers. We investigate what number of servers yields the optimal I/O bandwidth and network bandwidth requirements and how changing the locations of the servers (or selection of a subset of the server locations) affects these requirements. A. I/O Bandwidth in Distributed Server System We first concentrate on the I/O bandwidth consumption and its dependence on the number of servers. We show that the total I/O bandwidth consumption is a non-decreasing function of the number of servers employed. Let the video set at a server consists of videos and assume that the requests come from clients in different communities. The I/O bandwidth requirement at the server is defined as follows: (1) is the length of video,is length of server prefix where: for this video selected by server and!is the number of segments in server suffix. "is equal to the number of broadcast channels and constitutes I/O bandwidth consumption due to PB transmission.is a number of concurrent accesses to videofrom community#. is the relative size of a part of video %$'& delivered through if(*) a +-,.0/21,3 unicast transmission from a server to community#and is formally 4, defined as: (2) otherwise where(is the size of prefix selected for video Then by a proxy in community#and is the server number. interpreted as I/O bandwidth requirement due to unicast transmission by a server. For simplicity and without loss of generality, we assume that the transmission rate of each of the segments and the playback rate of each video is equal to 1. Server prefix is selected in such a way that for a given set of proxy prefixes, the I/O bandwidth requirement at the server (Equation 1) is and65 minimized. Consider two servers receiving requests for videofrom different communities. Since we concentrate for now on a single video we drop the superscript to simplify the notation. Let denote server prefixes for this video. The total I/O 5 bandwidth consumption < =65> 5 for both servers is expressed as: is 87:9 ;?7:9A@ where:b andb 5 5are the sets of communities sending requests GF. to servercand serverd, respectively, and such thatb >EB We show that there exists a server prefix such that the I/O bandwidth requirement after consolidation of requests at one server is no larger than the aggregate requirement for two servers. Assume that the server after consolidation is equal to the smaller of two server prefixes: 5 #IHJ5. Then, the I/O bandwidth consumption due to this video after consolidation is =?7:9;K9@?L50M equal to: by that*p Notice that the I/O bandwidth consumption due to broadcast transmission ONJ65or of the video after consolidation is reduced unchanged if ONJ65 O5.. Assume now RQ Then the total I/O bandwidth consumption due to unicast transmission of this video at both servers is equal to : RQ 5 13TS+;?7:9 ; ( 13IS+@ 87:9A@ ) 87:9 ;K9A@ 13US+; ( < RQ 5 if We observe that, the unicast I/O 5. bandwidth consumption is reduced, or unaffected Since neither unicast nor broadcast I/O bandwidth requirements increase, we conclude that the total requirements do not increase when the number of servers decreases. Moreover, the I/O bandwidth usage decreases if ONJ5WV and/oryx 5. This result is fairly intuitive. For communities whose proxy prefix is larger than, but smaller thanz5, the unicast transmission from serverd is now replaced with the broadcast transmission from serverc. We conclude that the I/O bandwidth requirement are always optimal in a single server system and independent of that server s location. B. WAN Bandwidth in Distributed Server System 65 ( We examine how network bandwidth \] requirements depend on the number and locations of servers. WAN bandwidth for a single server is defined in the following way: where^is the distance from community#to the server.] is [ _^ (3) the relative size of the part of video ] not cached by a proxy in community#. It is determined ( by the size of the proxy prefix and is formally defined as: (4) where( is the proxy prefix selected for video by proxy# (` ` ] in such a way that the amount of data delivered to clients by a server ) is minimized. WAN bandwidth is proportional to the amount of data that has to be transmitted by a server to each community and to the distance between

C if` the community and the server. Due to its dependence on the distance, WAN bandwidth requirement is a decreasing function of the number of servers. It exhibits such behavior if we assume each community is assigned to the closest server available. Otherwise, it is possible that a smaller number of servers results in smaller network bandwidth requirements. The total WAN bandwidth consumed depends very strongly not only on the number of servers, but also on their locations. minimize ` IV. PROBLEM FORMULATION We first describe briefly video delivery framework under consideration and then proceed to formally formulate the problem. We consider a set of videos available from a set of geographically distributed servers. The possible server locations are placed strategically among communities. The distance between each community and each server is given by a metric expressing network delay or the number of routers along the path, for example. The goal is to choose locations for a fixed number of servers out of all available locations, distribute the video set among the selected servers and distribute requests for each video among all serves holding this video in such a way that resource requirements are minimized. Each video has to be stored on at least one server but there may be multiple replicas of a given video available in the system. Since all clients within one community have the same distance to a given server and for simplicity we assume that all requests for a given video from a single community are directed to a single server. It is possible, on the other hand, that different videos are delivered to a given community by different servers. We approach the problem by assigning clients to servers on a per-video basis at the community level, i.e., we choose a server for each (video, community) pair. Notice that such assignment determines not only the request distribution, but also the video location, i.e., the number of replicas for each video and their locations. If a server is not selected to accept requests for a given video from any community, it does not keep a copy of that video. Otherwise, a replica of the video is stored at that server. Let be the number of possible locations for geographically distributed servers. The distance between each server location and each community is captured by the distance matrix^.we introduce a set of variables to denote is the server selection for each video and each community: equal tocif community #requests video from server and is equal to& otherwise. Our objective is to minimize the total I/O bandwidth and WAN bandwidth consumption. 5` ` ] ^ ` More formally: ` s.t. 1)` 2)` C=# CJ J and CJ J 3) &JC (5) The first component of the optimization function, the network bandwidth consumption, depends on two factors: the amount of data transmitted from the server (not cached at the proxy) and the distance at which it is transferred. The second component accounts for the total I/O bandwidth consumption at servers. For details on proxy prefix(and server prefix selection see [12]. The magnitude of the WAN bandwidth consumption may be very different from that of I/O bandwidth consumption. Hence, two parameters, and 5are used to scale their values. By adjusting the values of and 5more weight can be put on either network or I/O bandwidth requirements. The constraints ensure that: 1) the total number of servers selected is, 2) for a given community and a given video only one server is selected, and 3) all requests for a video from a community are directed to a selected ` server. in the first constraint indicates whether location was selected for a server or not, that is, if the requests from at least one community & for any video are directed to that location, and is formally defined as: (6) &#"! The second constraint ensures also that every video which is requested by at least one community is available in at least one location. This condition is covered by a stronger requirement that all requests are directed to some server. Since the request distribution determines the videos distribution, the video availability condition is satisfied automatically. V. HEURISTIC SOLUTION The constrained problem of selecting a fixed number of servers from all available locations is NP-complete [13]. Thus, we devise a heuristic solution. Our solution consists of two steps. Proxy prefix for each proxy and each video(is selected in the first step in such a way that the total amount of data that has to be transferred from a server to a client is minimized, subject to the buffer size and I/O bandwidth constraints at the proxy. Then, given proxy prefixes we choose a server for each video and each community in such a way that the total I/O and network bandwidth requirements of all servers are optimized. In the following description we concentrate on the second step, i.e., video location problem assuming that the proxy prefixes for each video are already selected. In order to direct requests for each video from each community to servers we propose a greedy approach. I/O bandwidth is not a good criterion for a greedy selection of servers, since the optimal I/O bandwidth consumption is achieved with only one server. Thus, we perform greedy server selection based on the WAN bandwidth consumption first, and then adjust the solution by redirecting some of requests to control the I/O bandwidth consumption. A. Greedy Server Selection! The greedy algorithm constructs a solution by choosing one server at a time making a locally optimal decision. The first server denoted by is selected in such a way that if all requests were directed to a single server, the network bandwidth requirement would be optimal for!. Next, another server!5is added in such a way that the network bandwidth consumption for a pair!j!5is equal to the minimum over all pairs!_j, CJ J X and!.in a similar way we choose!# and the 4

5 consecutive servers until the number of servers is equal to. At each step the requests from each community are directed to the closest server in the selected server group. B. I/O Bandwidth Adjustment Levels The greedy algorithm yields a solution whose I/O bandwidth requirements may be quite far from optimal. Depending on the relative importance of I/O bandwidth requirements, the solution can be adjusted to lower these requirements at the cost of potentially increase of the total WAN bandwidth consumption. The adjustment can be made at two levels of granularity. We can redirect all requests for a given video from one server to another. Or we can redirect requests for a video from some communities only from one server to another. We refer to the server from which requests are redirected as a source server, while a server to which requests are redirected as destination server. 1) Coarse level of adjustment: redirecting all requests for a video from one server to another. The I/O bandwidth consumption at the source decreases after consolidation while the I/O bandwidth consumption at the destination may increase. Recall that consolidating requests at one server cannot increase the total I/O bandwidth consumption. 2) Fine level of adjustment: redirecting requests originating in one community for a given video from one server to another. In contrast to the more coarse level of adjustment granularity, such change may yield an increase of the total I/O bandwidth consumption. Thus, we formulate now the necessary and sufficient conditions for such a redirection to reduce the total I/O bandwidth consumption. Consider requests for video originating in community#. The effect of redirecting these requests from server on the I/O bandwidth consumption at this server depends on the relation between the video proxy prefix size(for community#and the server prefix size. The I/O bandwidth consumption at server due to transmission of the video suffix in broadcast mode does not change, since it does not depend on the number of clients. It is possible however, that the I/O requirement can be lowered by choosing a different server prefix size for video. If the proxy prefix is larger than the server prefix for this video, the optimal I/O bandwidth consumption at the server is obtained with the same prefix size. The proof of such behavior is presented in [14]. Hence, the necessary condition for the redirection to decrease the I/O bandwidth requirement at the source is that proxy prefix is no larger than the server prefix. Similarly when the requests for a video originating in a given community are redirected to server from another server, the I/O bandwidth consumption at the destination increases only if the proxy prefix is smaller than the server prefix. In summary, the total I/O bandwidth consumption may be reduced only if we redirect requests for a video from a server whose prefix is larger than the proxy prefix. If in addition the destination server has prefix smaller than the proxy prefix, the total I/O bandwidth consumption is reduced. C. I/O Bandwidth Adjustment Heuristic Based on these observations, we can lower the total I/O bandwidth requirements. The heuristic algorithm consists of two operations: selecting the source and destination servers and selecting the object, video or (video, community) pair, to be redirected. We consider all videos that are available on at least two servers. From this set we choose the video whose global popularity is the highest and consolidate requests for this video from two servers with the largest I/O bandwidth consumption due to this video. We choose the server for which the increase in network bandwidth consumption is the smallest as the destination. Such operation is repeated until a desired I/O bandwidth requirement value is reached. Note that after a sufficiently large number of steps the minimal value can be reached when each video is available at one server only. A more precise adjustment is performed at a finer level of granularity by choosing a (video, community) pair, which satisfies the necessary condition for the reduction of the total I/O bandwidth at the source and has the largest I/O bandwidth requirement. VI. NUMERICAL TEST RESULTS We have conducted a number of tests to examine the properties! of the proposed heuristic algorithm. We first describe the test settings. There are 100 communities whose locations determining the distance from the server locations are selected at random. The set of video contains 100 videos. The popularity for each video is drawn from a Zipf distribution: & /, where D [15],!is the size of community# (i.e., the number of clients) drawn from a normal distribution and is the popularity rank of video in community#. The ranks for all 100 videos are changed for each community by a permutation. More precisely we divide the set of videos into 4 groups and apply permutation to each group separately. We assume that there are videos, which are generally popular, although their exact ranks may still vary from one community to another. We choose 10 locations at random as potential server locations. A. Video Selection Criterion We first examine how the selection of a video, and the source and destination servers affect the I/O bandwidth requirements. We use the global popularity of a video and the I/O bandwidth consumption due to a video as the two possible criteria for the video selection. Figure 3(a) shows how the total I/O bandwidth consumption changes with the number of redirections for the maximum and minimum version of both criteria. We have included also a random video selection for the comparison. In each case two servers with the maximum I/O bandwidth consumption due to the selected video are chosen as the source and destination servers. Figure 3(b) presents the corresponding increase in the network bandwidth requirements. After examining a number of cases, we conclude that the fastest reduction of I/O bandwidth is obtained either with the highest popularity used as a criterion or the highest I/O bandwidth requirements. The difference between different criteria, however, is not large. We observe also that changing the criteria for the selection of the source and destination servers does not have a significant influence on the speed of I/O bandwidth requirements reduction.

6 2000 1800 max popularity min popularity max I/O ocnsumption random 2000 1800 max popularity min popularity max I/O ocnsumption random 1000 900 greedy server selection optimal solution heuristic solution 800 1600 1600 700 WAN bandwidth 1400 1200 WAN bandwidth 1400 1200 I/O bandwidth 600 500 400 300 1000 1000 200 100 800 0 50 100 150 200 250 300 350 400 number of redirections 800 0 50 100 150 200 250 300 350 400 number of redirections 0 1 2 3 4 5 6 7 8 9 10 server number (a) I/O bandwidth (b) WAN bandwidth Fig. 3. Influence of video choice on the resource requirements I/O bandwidth distribution compari- Fig. 4. son B. Network Bandwidth Requirement Increase Each redirection increases network bandwidth consumption. The heuristic makes a greedy choice of destination server for each redirection. Therefore, the solution may not reach the lowest possible network bandwidth requirement. In order to evaluate the solution given by the heuristic w.r.t. network bandwidth, we compare this solution with the lowest network requirements obtainable without increasing the I/O bandwidth consumption. Figure 4 presents the comparison between resource requirements at each server for the greedy server selection, the optimal I/O solution with the lowest network bandwidth requirements and the optimal I/O solution obtained with the heuristic. We observe that servers 2, 3, 7, 8 and 10 are selected by the greedy approach. The I/O bandwidth adjustment heuristic reduces this set to only two servers 7 and 10. The same servers are chosen for the optimal solution with minimal WAN bandwidth consumption. Although these two solutions differ in distribution of requests among servers, their total resource requirements are very close to each other. We conclude that the heuristic solution allows us to adjust the I/O bandwidth to an arbitrary level limited only by the minimum I/O bandwidth requirements while controlling the increase in network bandwidth requirements. VII. CONCLUSIONS We have introduced a proxy-assisted periodic broadcast system with multiple geographically distributed servers. Proxy servers cache part of each video to minimize the amount of data delivered by the servers. Given a set of video and the requests coming from a number of communities, each server chooses a mode of transmission, either unicast or broadcast to minimize the I/O bandwidth requirements. We have analyzed how distributing requests for a given video among a number of servers affects the aggregate I/O and WAN bandwidth usage. We found that WAN bandwidth usage decreases with the number of servers and strongly depends on the locations of the servers as expected. I/O bandwidth requirement on the other hand, reaches its optimal value in a single server system. The I/O bandwidth function shows more complex behavior than that of WAN bandwidth. We have defined a solution to the video placement and delivery problem that explores this trade-off between WAN and I/O bandwidth requirements. Our heuristics allows to reach a desirable value of the aggregate I/O bandwidth requirement, bounded only by the optimal value while controlling WAN bandwidth usage. We are further exploring this area of research by considering video delivery in the wireless environment. Additional constraints such as bandwidth availability, power management and client mobility introduce another dimension to the problem of video streaming. REFERENCES [1] A. Hu, Video-on-demand broadcasting protocols: A comprehensive study, in Proceedings of IEEE Infocom, vol. 1, April 2001. [2] S. Sen, J. Rexford, and D. F. Towsley, Proxy prefix caching for multimedia streams, in Proceedings of INFOCOM, vol. 3, 1999, pp. 1310 1319. [3] Y. Guo, S. Sen, and D. Towsley, Prefix caching assisted periodic broadcast: Framework and techinques to support streaming for popular videos, in Proceedings of IEEE International Conference on Communications, vol. 4, 2002, pp. 2607 2612. [4] E. Kusmierek, D. Du, and Y. Dong, Proxy-assisted periodic broadcast architecture for large-scale video streaming, University of Minnesota, Tech. Rep., 2003. [5] L. Gao and D. F. Towsley, Supplying instantaneous video-ondemand services using controlled multicast, in IEEE International Conference on Multimedia Computing and Systems, vol. 2, 1999, pp. 117 121. [6] S. Ramesh, I. Rhee, and K. Guo, Multicast with cache (Mcache): An adaptive zero delay video-on-demand service, in Proceedings of INFO- COM, vol. 1, 2001, pp. 85 94. [7] L. Gao, Z.-L. Zhang, and D. F. Towsley, Catching and selective catching: efficient latency reduction techniques for delivering continuous multimedia streams, in ACM Multimedia (1), 1999, pp. 203 206. [8] B. Wang, S. Sen, M. Adler, and D. Towsley, Optimal proxy cache allocation for efficient streaming media distribution, in Proceedings of IN- FOCOM, vol. 3, 2002, pp. 1726 1735. [9] W. Ma and D. H. Du, Reducing bandwidth requirement for delivering video over wide area networks with proxy server, IEEE Transactions on Multimedia, vol. 4, no. 4, pp. 539 550, Dec 2002. [10] Z.-L. Zhang, Y. Wang, D. H. C. Du, and D. Shu, Video staging: a proxyserver-based approach to end-to-end video delivery over wide-area networks, IEEE/ACM Transactions on Networking, vol. 8, no. 4, pp. 429 442, 2000. [11] W. Ma and D. H. Du, Design a progressive video caching policy for video proxy servers, in IEEE Transactions of Multimedia, To appear. [12] E. Kusmierek, D. Du, and Y. Dong, A proxy-assisted period broadcast framework for large-scale video streaming, in submission, 2003. [13] M. R. Garey and D. S. Johnson, Computer and intractability. A guide to the Theory of NP-Completness. W.H. Freeman and Company, 1979. [14] E. Kusmierek and D. H. Du, Proxy-assisted periodic broadcast with multiple servers, University of Minnesota, Tech. Rep., 2003. [15] S. Acharya, B. Smith, and P. Parnes, Characterizing user access to videos on the world wide web, in Multimedia Conferencing And Networking, 2000.