Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
Design and analysis of server scheduling for video -on -demand systems
(USC Thesis Other)
Design and analysis of server scheduling for video -on -demand systems
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
Design and Analysis of Server Scheduling for Video-on-Demand Systems by Yinqing Zhao A Dissertation Presented to the FACULTY OF THE GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulfillment of the Requirements for the Degree DOCTOR OF PHILOSOPHY (ELECTRICAL ENGINEERING) A ugust 2005 Copyright 2005 Yinqing Zhao R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. UMI Number: 3196925 INFORMATION TO USERS The quality of this reproduction is dependent upon the quality of the copy submitted. Broken or indistinct print, colored or poor quality illustrations and photographs, print bleed-through, substandard margins, and improper alignment can adversely affect reproduction. In the unlikely event that the author did not send a complete manuscript and there are missing pages, these will be noted. Also, if unauthorized copyright material had to be removed, a note will indicate the deletion. ® UMI UMI Microform 3196925 Copyright 2006 by ProQuest Information and Learning Company. All rights reserved. This microform edition is protected against unauthorized copying under Title 17, United States Code. ProQuest Information and Learning Company 300 North Zeeb Road P.O. Box 1346 Ann Arbor, Ml 48106-1346 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. D edication To my beloved mother, father and Huisheng. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. A cknow ledgem ents First, I would like to show an immense gratitude to my advisor, Dr. C.-C. Jay Kuo, for his generous support and intelligent guidance. His patience and encouragement gave me confidence to keep striving for solutions, and his insights and advices helped me to stay focus on the key points th at we could make contributions. I also would like to express my deep appreciation to Dr. Bhaskar Krishna- mamachari, Dr. Antonio Ortega, Dr. Shrikanth S. Narayanan and Dr. Roger Zimmermann for serving as my Ph.D. committee members and providing valu able feedback. I especially thank Dr. Bhaskar Krishnamamachari and Dr. Roger Zimmermann for their precious time to further serve on my defense committee. This research has been funded by the Integrated Media Systems Center, a Na tional Science Foundation Engineering Research Center, Cooperative Agreement No. EEC-9529152. Any opinions, findings and conclusions or recommendations expressed in this m aterial are those of the authors and do not necessarily reflect those of the National Science Foundation. R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Contents D edication ii Acknowledgem ents iii List of Tables vi List of Figures vii Abstract xi 1 Introduction 1 1.1 Significance of the R e s e a r c h .................................................................. 2 1.2 Review of Previous W o rk .......................................................................... 5 1.2.1 Video Content Allocation .......................................................... 5 1.2.2 Request Migration among Media S e rv e rs ............................... 7 1.2.3 Performance Analysis of VoD S y s te m ...................................... 8 1.2.4 Dynamic Content Update for Distributed VoD System . . 10 1.3 Contributions of This Research ........................................................... 12 1.4 Organization of the P ro p o sal.................................................................. 16 2 V ideo-on-dem and Techniques 17 2.1 VoD System Architecture ...................................................................... 18 2.2 Video Content Allocation ...................................................................... 21 2.3 Disk Scheduling A lgorithm ...................................................................... 28 2.4 Video Stream Delivery Techniques......................................................... 31 2.4.1 Client Pull D elivery....................................................................... 32 2.4.2 Server Push D e liv ery .................................................................... 37 2.5 Interactive Video-on-Demand T echniques............................................. 41 3 M edia Server Scheduling in Video-on-Dem and Service 46 3.1 Video Content Allocation ...................................................................... 48 3.1.1 Video Copy A p p o rtio n m e n t...................................................... 48 3.1.2 Video Content Allocation ......................................................... 52 iv R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 3.2 Random Early Migration A lg o rith m .................................................... 59 3.3 Dynamic Video Content U p d a te ........................................................... 68 3.4 Experiment Result and A n a ly sis............................................................. 71 4 Perform ance Analysis for R equest M igration 80 4.1 State M atrix Structure of VoD S y ste m s............................................... 81 4.1.1 State M atrix and M igration P a t h ........................................... 82 4.1.2 State M atrix Space (S M S )......................................................... 85 4.2 Media Server System F o rm alizatio n .................................................... 89 4.3 SMS-based Performance Analysis on Request M ig ratio n............... 92 4.3.1 Traditional Migration Algorithm .......................................... 97 4.3.2 Proposed REM A lg o rith m ......................................................... 101 4.4 State Transition-based Performance Analysis on Request Migration 102 4.4.1 Shortest Migration P ath C a lc u la tio n .................................... 103 4.4.2 State M atrix Transition ........................................................... 106 4.5 Experiment Result and A n aly sis........................................................... 108 4.6 Migration Intensity A n a ly sis.................................................................. I l l 5 Server Scheduler Design for D istributed VoD System 119 5.1 Cost-aware Random Early M ig ra tio n .................................................. 121 5.1.1 Request Migration D e c is io n ..................................................... 122 5.1.2 Migration P ath S electio n ........................................................... 123 5.2 Dynamic Content R econfiguration........................................................ 127 5.3 Experiment Result and A n aly sis............................................................ 134 5.3.1 System C onfiguration.................................................................. 134 5.3.2 Performance Evaluation and C om parison.............................. 136 6 Conclusion and Future Work 144 6.1 C onclusion.................................................................................................... 144 6.2 Future W o rk ................................................................................................. 148 6.2.1 XML Based Interactive Video-on-Demand D e s ig n ............. 148 6.2.2 Proxy Caching for Multimedia S tre a m s ................................. 152 References 156 v R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. List of Tables 1.1 Storage space requirements for common multimedia [29]........ 4 2.1 Comparison of the centralized and the distributed architectures given in [65]......................................................................................... 20 2.2 The client requirements for different broadcasting protocols, where b is the playback rate at clients..................................................... 40 3.1 Summary of key variables................................................................. 49 5.1 Key param eters used in performance evaluation........................ 136 vi R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. List of Figures 1.1 Illustration of a video-on-demand system ............................................ 3 2.1 The VoD system configuration: (a) the centralized architecture and (b) the distributed architecture................................................................ 18 2.2 RAID-3 and RAID-5 data configurations............................................. 24 2.3 Disk scheduling algorithms: (1) FCFS (2) SCAN (3) GSS [17]. . . 29 2.4 Illustration of the patching algorithm .................................................... 36 2.5 Illustration of the pyramid broadcasting scheme................................ 39 3.1 Examples of request migration: (a) a new request for video A ar rives and a migration path is found, (b) a new request is held on Server 1 and a request for video C is migrated from Server 2 to 3, and (c) a request for video B is m igrated from Server 1 to 2 and a new request is served in Server 1 ............................................................ 60 3.2 The relationship between the migration probability and the current load: (a) the traditional migration algorithm and (b) REM .... 63 3.3 The request failure rates plotted as a function of the service load (30 req u ests/d isk )....................................................................................... 76 3.4 The load variance measurements along simulation time (30 re quests/disk) ................................................................................................ 76 3.5 The average load balance as a function of the service arrival rate (30 req u ests/d isk )....................................................................................... 77 vii R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 3.6 The average service request delay as a function of the service arrival rate (30 re q u e s ts /d is k )............................................................................. 77 3.7 The request failure rates plotted as a function of the service load (10 req u ests/d isk )........................................................................................ 78 3.8 The average service request delay as a function of the service arrival rate (10 re q u e s ts /d is k )............................................................................. 78 3.9 The request failure rates plotted as a function of the service load (60 req u ests/d isk )....................................................................................... 79 3.10 The average service request delay as a function of the service arrival rate (60 re q u e s ts /d is k )............................................................................. 79 4.1 Request migration with the state m atrix re p re se n ta tio n ............... 85 4.2 Illustration of the state m atrix space ( S M S ) .................................... 87 4.3 The request failure rates plotted as a function of the service load, where the solid and dotted lines represent numerical and SMS- based theoretical results, respectively..................................................... 112 4.4 The average service delay plotted as a function of the request arrival rate, where the solid and dotted lines represent numerical and SMS- based theoretical results, respectively..................................................... 113 4.5 The request failure rates plotted as a function of the service load, where the solid and dotted lines represent numerical and ST-based theoretical results, respectively................................................................. 114 4.6 The average service delay plotted as a function of the request arrival rate, where the solid and dotted lines represent numerical and ST- based theoretical results, respectively..................................................... 115 4.7 Param eter impact on the failure rate in REM ..................................... 116 4.8 Param eter impact on service delay in REM......................................... 117 4.9 The relationship between the migration probability and the current load: (a) the traditional migration algorithm, (b) REM and (c) TMES117 4.10 Comparison of the average cost for TM, REM and TM ES...................118 viii R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 4.11 Comparison of the instant migration cost for REM and TM ES. . . 118 5.1 The failure rate comparison for dynamic content update schemes with the exponential request arrival interval, the Zipf-like region popularity and a random network topology........................................... 139 5.2 The system bandw idth performance comparison for dynamic con tent update schemes with the exponential request arrival interval, the Zipf-like region popularity and a random network topology. . . 140 5.3 The performance comparison of three scheduling algorithms (tra ditional migration, REM, CAREM) in term s of the failure rate with the exponential request arrival interval, the Zipf-like region popularity and a random network topology........................................... 141 5.4 The performance comparison of three scheduling algorithms (tra ditional migration, REM, CAREM) in term s of the system band width consumption with the exponential request arrival interval, the Zipf-like region popularity and a random network topology. . . 141 5.5 The failure rate comparison for dynamic content update schemes with the exponential request arrival interval, the Zipf-like region popularity and a power law graph............................................................ 142 5.6 The system bandwidth comparison for dynamic content update schemes with the exponential request arrival interval, the Zipf-like region popularity and a power law graph............................................... 142 5.7 The performance comparison of three scheduling algorithms (tra ditional migration, REM, CAREM) in term s of the failure rate w ith the exponential request arrival interval, the Zipf-like region popularity and a power law graph............................................................ 143 5.8 The performance comparison of three scheduling algorithms (tra ditional migration, REM, CAREM) in term s of the system band width consumption with the exponential request arrival interval, the Zipf-like region popularity and a power law graph....................... 143 6.1 M PEG hierarchy structure......................................................................... 150 6.2 Mapping from MPEG tree structure to the XML document [72]. 151 ix R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 6.3 The flowchart of the XML/IVoD system R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. A bstract Recent advances in computing and networking technology make real time mul tim edia delivery such as video-on-demand (VoD) a reality. In such a system, multiple media servers can be integrated together to serve user requests. As com pared to the large file size and the high bandwidth requirements of on-demand video, the storage capacity and the service capacity for each server appear to be very limited. It is therefore a great challenge to solve the media server scheduling problem th at involves video file allocation and load balancing among media servers to improve aggregate resource utilization and the overall system performance. This research mainly focuses on the development of server scheduling algo rithms and performance study of request migration among media servers. We first present a greedy content allocation algorithm to assign video copies to servers given the potion of each video object in the total system storage capacity. It is proved th at the proposed algorithm assigns video copies in the fastest way to con nect all servers together and achieve the connectivity in term s of server cliques. Then, we consider the design and analysis of a random early migration (REM) scheme for user requests. When a new request is dispatched to a video server, the xi R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. REM-based scheduler decides whether request migration is needed with a certain probability, which is a function of the service load. We develop two methods based on the state m atrix to calculate performance metrics: the service failure rate and the system delay in service migration. Simulation results show th at the REM scheme outperforms both the DASD dancing algorithm [84] and the traditional migration scheme adopted in [79,52] with shorter service delay and lower failure rates. It is also confirmed th a t our theoretical results match well with experimental results. Finally, we extend the server scheduling algorithms to a distributed VoD system. By improving the REM scheme, we propose a cost- aware REM (CAREM) scheme to reduce the network bandw idth consumption due to the migration process. To accommodate the change in video popularity and/or client population, we present a concept called the server-video affinity and apply it to online video content reconfiguration. Simulation results show that CAREM together with the dynamic content update strategy can improve the system per formance by reducing the request failure rate as well as the server bandwidth consumption. X ll R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Chapter 1 Introduction Recent advances in computing and networking technology make real-time on- dem and multimedia services a reality. Those multimedia services cover a wide range of spectrum, including news-on-demand, video-on-demand, distance educa tion, and potentially 3-D Internet video games. The architecture of such services consists of multimedia servers th at are connected to clients via networks (in most cases WAN). Multimedia servers must be properly configured to provide inte grated handling of multimedia contents to satisfy the requirements imposed by different multimedia applications. M ultimedia contents stored on the servers usu ally consume a large amount of storage space and require timely delivery. The research work in this thesis is concerned with the media server design in terms of multim edia content allocation and request migration scheduling. 1 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 1.1 Significance o f th e R esearch Among various on-demand multimedia services, video-on-demand (VoD) has gained more and more interest and may become one of the potential services for prof itability in the near future. The latest findings from Jupiter Research reveal th at the VOD service will drive profits and attract customers to new digital premium services. According to their latest report, “The Impact of On-Demand Content on Cable Revenues in the U.S.”1, the video on demand market will grow 47% annually, from $293 million in 2003 to $1.4 billion in 2007. The VoD system is a multimedia system providing interactivity between end users and media servers. In such a system, multiple media servers can be integrated together to serve user requests, and users can select a movie from a large video database and execute VCR-like control functions such as fast-forward (FF), review and pause [71]. One can view the VoD system as a video rental shop brought into the home. Figure 1.1 illustrates two main components of a VoD system: (1) multimedia servers with video files (streams) cached on providing real-time user request services and (2) networks (in most cases WAN) connecting the VoD system with end users. Media servers in a VoD system can be organized into two configurations: cen tralized architecture and distributed architecture. In a centralized configuration, there is a single server (called the scheduler as shown in the dashed line box in 1Copyright, 2003 Jupitermedia All rights reserved. Reprinted with permission from http: / /www. internet, com. 2 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Video Server Video Server r _ --------------------------------------------------------- .----------------------------------------------------------.--------------------------- 7 -----------------------------1 I Scheduler (centralized architecture) / High-speed Switch Network (distributed architecture) | Wide Area Network LAN LAN Client Proxy Client Proxy Figure 1.1: Illustration of a video-on-demand system. Figure 1.1) th a t accepts incoming user requests and dispatches them to one of the media servers. The scheduler itself provides all administrative tasks such as admission control, user request scheduling and video stream allocation. The me dia servers mainly perform I/O operations to deliver multiple streams of different video contents simultaneously to users based on the scheduled result. Another system architecture adopts the distributed configuration. In this configuration, each video server performs part of the adm inistration besides the video stream access. They are inter-connected with a high-speed switch network to minimize the delay of the whole system update and request migration. The object th at a VoD system deals with is mainly digital video and audio data, which have two fundamental characteristics compared with traditional text and numeric data [29]. First, audio and video data are often called the “continu ous media” , because they are composed of a sequence of data units (such as video frames or audio samples) and usually accessed sequentially (Note th at users may 3 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. fast-forward, review or pause. However, these operations occur rarely compared to normal playback). In contrast, random access occurs very frequently for text and numeric data. Moreover, multim edia data may consist of several media com ponents. For example, movie contains both video and audio so th a t its playback needs strict synchronization. Second, multimedia objects usually contain a large amount of data. For example, a 10-minute video sequence of reasonable quality requires about 1.5GB of storage without compression. Even after compression, it still requires about 100-600MB of storage. Table 1.1 lists the storage space requirements for common multim edia data types. Media Type D ata Rate Voice quality audio 1 channel, 8 bit samples at 8kHz 64 Kbits/sec M PEG encoded audio Equivalent to CD quality 384 K bits/sec CD quality audio 2 channels, 16 bit samples at 44.1 kHz 1.4 M bits/sec MPEG-2 encoded video 0.42 M Bytes/sec NTSC quality video 640 x 480 pixels, 24 bits/pixel 27 M Bytes/sec HDTV quality video 1280 x 720 pixels, 24 bits/pixel 81 M Bytes/sec Table 1.1: Storage space requirements for common multimedia [29]. Due to the large size of video objects and limited storage capacity, each server can only store a very limited number of video streams. Moreover, the number of concurrent video streams th at a server can serve is also limited considering the I/O bandwidth constraint. It is therefore a great challenge to solve the server R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. scheduling problem th a t involves proper allocation of video files and balancing the load among media servers to improve aggregate resource utilization and the overall system performance. 1.2 R eview o f P revious W ork Media server scheduling in VOD services includes video content allocation and request migration among servers. Video content allocation deals with assigning video copies to media servers given the portion of each video in the total system storage capacity. W ith a good initial allocation, the chance of finding appro priate paths for later request migration increases. Request migration is another im portant issue in media server scheduling. Due to the highly skewed access prob abilities of video contents, media servers with hot video copies receive much more client requests than other servers and are most likely to be overloaded. Request migration re-distributes system load among servers to achieve a certain kind of load balance, which in turn reduces the service failure rate. 1.2.1 V id eo C ontent A llocation One possible solution to video content allocation is to use the RAID-type disks and stripe a video file evenly over all servers [77,78,11]. The VoD system under this configuration is called parallel video servers [44], Striping can transparently distribute data over multiple disks and give users the appearance of a single large 5 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. and fast disk [19]. The load generated by each user request is balanced across disks regardless of the skew in video popularity. However, it is difficult to synchronize the video delivery among striping servers. Due to delay variations in processing, networking, and scheduling, the servers will start transm itting data at different times. The first stripe unit of d ata may even arrive at the client later th an the following stripe units. Consequently, the client needs to buffer the out-of-order video data and wait for the first stripe unit, which increases the client buffer requirement and startup delay. User’s access probability varies for different video streams, and frequently accessed (or “hot”) movies need more copies than seldom accessed (or “cold”) movies. Another m ethod is to put one whole video file in one media server, and make several extra copies of hot movies. This method is referred to as replication. Little et al. [49] explored the probability-based data replication policy. Serpanos et al. [66] proposed a data replication scheme called “Mmpacking” in distributed media servers. One limitation with replication is capacity. Since the whole video is put on one disk, the service capacity is limited by the single disk I/O band width. When the demand exceeds the server’s capacity, one needs to replicate video to other servers. This increases the system ’s storage requirements. Several replication algorithms have been proposed to reduce the storage overhead and balance the load among replicated servers. These proposals are based on video popularities and server heterogeneities in storage capacity and bandwidth [10,80]. 6 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Replication is often used in distributed VoD systems in which media servers are far from each other and it is very difficult to implement server striping. Grouped striping combines the pure striping scheme and the replication idea to achieve a certain degree of load balancing and high throughput for hot video files. Each media server has a fixed striped-disk configuration and hot video titles are replicated based on the forecast access probability. Here, the media server is also called disk-striping group (DSG) [84]. This scheme is used in the SCAMS (SCAlable M ultimedia Servers) system in the Lancaster University [50]. Some video content allocation algorithms have been proposed under this configuration to achieve static load balance among media servers and increase the server con nectivity for possible request migration in one service period [84,79,31]. 1.2.2 R eq u est M igration am ong M ed ia Servers Video file replication between media servers (which are called peers) enables real time service m igration between them to balance the service load. Wolf et al. [84] proposed the DASD dancing algorithm to balance the service load through request migration. Tsao et al. [79] proposed the connectivity optimization (CO) algorithm for dynamic load balancing among distributed media servers. Their m ethod attem pted to maximize the product of access probabilities of servers, thus making all servers equally accessed. Guo et al. [31] proposed the combination load balancing (CLB) algorithm for video replica allocation to reduce the blocking 7 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. rate of user requests. All algorithms initiate request migration when the disk load exceeds a certain threshold or the new request is blocked. However, with a highly skewed video access probability, some media server could already reach its service capacity and cannot simply accept the client requests from its peer servers without any further migration, which can lead to additional delay in the VoD system or the system may even fail to serve the new request. We propose a random early migration (REM) algorithm in this work to reduce the service rejection rate, to balance the load of media servers and to reduce the service delay. W hen a new request is dispatched to a media server, REM com pares the current service load with preset thresholds and decides whether request migration is needed with a certain probability, which is a function of the service load. The detail of REM algorithm will be covered in Chapter 3. Simulation results demonstrate th at REM can achieve an enhanced system performance. 1.2.3 P erform ance A n alysis o f V oD S ystem Most work on the performance study of VoD systems is concerned with the network-server I/O bandwidth (i.e. the number of video streams assigned) and the storage cost. Doganata et al. [24] presented the characteristics of different storage media and provided an analytical model to obtain the system storage cost. Schaffa et al. [63] studied the tradeoff between the bandwidth requirement of video stream delivery and the storage capability of the overall deployment. 8 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Barnett et al. [6] compared the “setup” cost of a centralized video system with a distributed one in term s of cost on storage and streaming. Chan et al. [16] explored the total system cost in terms of local storage and network channels for different caching schemes and service scheduling mechanisms. Li et al. [45] used the queueing model integrating both the user activity and the server batching models to analyze the trade-off in communication and storage costs in different VoD systems. None of the above work considers the server scheduling and inter activities between media servers. Recently, there are research efforts focusing on the performance of the whole VoD system including the server system, the client population and the network between them. M undur et al. [52] studied the server admission control and network transmission mechanism to meet the quality of service (QoS) requirement such as the data rate and the delay constraint of the end-to-end VoD service. The simple redirection (migration) scheme implemented in their system is still a last- minute migration in the sense th at redirection happens only for those blocked requests. Shu et al. [70] analyzed the resource requirement for video delivery using batching, patching and scheduled video delivery (SVD). The resource was defined as the virtual channel used to deliver video stream s to one or multiple user requests. None of the above work considers server scheduling and interactivities between video servers. In this research, we focus on performance metrics of the request migration 9 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. among servers such as the service delay time and the request failure rate. The difference between our work and all the previous work lies in th at we model the service activity and try to reveal the scheduling mechanism of media servers. We present the state m atrix structure as a description of the VoD system state. It stores the service load information of each media server and plays an im portant role in the determ ination of migration paths. Based on this structure, we develop two analytical methods for the request migration process. The first method de fines the state m atrix space (SMS) consisting of all valid state matrices and studies the relationship between the state m atrix and the migration path decision. Both migration delay and request failure rates can be obtained from the topology cal culation of SMS. For the second method, we use the state m atrix transition to simulate the request migration process. The performance metrics can be obtained through the calculation in each transition step. The derived results are verified by numerical experiments. It shows th at theoretical and simulation results match very well. 1.2.4 D yn am ic C ontent U p d a te for D istrib u ted V oD S ys tem For the distributed VoD system in which media servers are connected by the wide area network (WAN), the video access pattern and active client population in each local region change along time. The video replica on each server needs to be 10 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. dynamically updated accordingly to prevent system performance from fluctuating or degrading. Recently, intensive research has been done on content allocation among Internet hosts and/or media servers. This problem was shown in [38], [58] to be associated with the facility location problem or the minimum A'-median problem. Kangasharju et al. [42] proved th at it is NP-complete and proposed several heuristic placement algorithms for its solution. One heuristic algorithm, called the greedy-based strategy, achieves nearly the same performance with far less computational complexity as compared with the optimal theoretical approach. Radoslavov et al. [60] proposed another simple yet effective initial allocation strategy based on the server connectivity degree, where only static allocation was considered. W hen the video access pattern and the relative client population lo cation evolve with time, the system performance inevitably degrades. Rabinovich et al. [59] studied dynamic object replication among web servers, where the web object size is typically around several kilo bytes and the service time is often neg ligible. For MoD services, the request service time may last from tens to hundreds minutes, which must be considered in content update. Guo et al. [32] studied dynamic content reconfiguration for a centralized media proxy, where the band width consumption is not an im portant issue since all proxies are connected by a local area network (LAN). The problem of our concern has a different nature from all research mentioned above. That is, both the service time and the server-side network bandwidth 11 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. consumption should be considered in the design of the content allocation strategy. We first introduce the server-video affinity concept. Then, a dynamic content update algorithm according to the change of video/region popularity is proposed. It is shown by the simulation that, as compared with the greedy or the topology- based strategy, our affinity-based algorithm improves the system performance by reducing the request failure rate as well as the network bandw idth consumption. 1.3 C ontributions o f This R esearch This research has the following contributions. 1. We propose a greedy content allocation algorithm to assign video copies to media servers and achieve static connectivity. We use the graph model to represent media servers. Each server is a node in the graph and a link is established between two servers if both have the same video copy. The distance between two nodes is defined as the length of the shortest path between them . The video copies are assigned from the hottest video to the coldest video and in a way to minimize the average distance between all server pairs. In the case th at there are multiple candidate servers, we use the least load first (LLF) rule to decide the server for the current copy. Further analysis shows our algorithm has the property th a t it allocates video copies to connect all media servers in the fastest way and achieves certain 12 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. connectivity in terms of server cliques. 2. We develop a random early migration (REM) algorithm to handle the re quest migration among a group of media servers. W hen a new request is dispatched to a media server, REM compares the current service load with thresholds and decides whether request migration is needed with a certain probability, which is a function of the service load. Compared with the DASD dancing algorithm, REM introduces much less service delay when the service load of a VoD system is light and moderate. REM migrates requests progressively as the system load increases. Unlike the traditional migration scheme th at migrates the request only when it is blocked at the server {i.e. the last minute migration), REM redistributes the service load among servers and achieves the load balance at a much earlier stage. As a result, REM achieves a more balanced load distribution and a lower failure rate than the traditional migration scheme. 3. To handle the change of user’s access pattern, we introduce a content up date algorithm to re-allocate video copies to media servers. First, we mea sure the relative popularity of all video files within a time window and use an exponentially weighted moving average (EWMA) to predict the access probability in the near future. Next, we calculate for each video title the difference between the predicted copies and the current copies. The con tent update is processed greedily to replace the video copies of the most 13 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. negative difference with those of the most positive difference. This method can dynamically adjust the number of video copies according to real time user access pattern and reduce the request failure due to the discrepancy between the actual and the forecast video access probabilities. 4. We introduce a state m atrix representation th at stores the real tim e service load information of each media server. We define the valid state matrix which can appear in a certain stage of the media service. Furthermore, we construct the state m atrix space (SMS) th at consists of all valid state matrices. The state m atrix gives us a data structure, based on which we can quantitatively analyze the system behavior of request migration. For example, the migration path can be determined by the current state m atrix and the input request while migration delay in term s of number of migration steps can be derived from the state matrices before and after the migration. 5. Based on the state m atrix structure, we present a general model for a media server system and media services. The current state of a media system is represented using four tuple: video allocation m atrix, current state matrix, bookkeeping information, and request migration algorithm. We formalize the media service as a function mapping from one state m atrix to another in SMS. This model greatly facilitates performance analysis of the system. 6. We develop two methods for the performance analysis of the media system under the traditional migration algorithm and REM. The first approach is 14 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. to calculate for every possible migration path, all the possible (state matrix, starting server) pairs th at can lead to th at migration path. The system metrics, such as the failure rate and migration delay, of a single migration can be determined based on the current state m atrix and the migration path. The second approach is based on the state m atrix transition in the media service model. We calculate the expected failure rate and migration delay of each transition step. The average value can be easily derived from one-step value. The derived results are verified by numerical experiments. It is also dem onstrated th at REM outperforms the traditional migration scheme with shorter service delay and lower failure rates. 7. By modifying the REM scheme, we develop a cost-aware random early mi gration (CAREM) scheme to control the service migration in a distributed VoD system. W hen a new request is dispatched to a media server, CAREM compares the current service load with a preset threshold and decides whether request migration should be executed with a certain probability, which is a function of the service load. To choose the migration path, CAREM searches all viable paths to find the one th at has the minimum total bandwidth in crement for requests involved in the migration process. Compared to REM, CAREM can further reduce the server bandwidth cost in a distributed ser vice environment. 8. To accommodate the change in video popularity and/or client population, 15 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. we use the server-video affinity concept to measure the potential server-side bandw idth cost change after placing a specific video copy on th at server. The dynamic content update strategy uses the server-video affinity to re configure video copies on media servers. We conduct extensive simulations to evaluate the performance of the proposed algorithm. It can be shown that, as compared to the greedy and server fanout-based algorithm, the affinity-based strategy can improve the system performance by reducing the request failure rate as well as the server bandwidth consumption. 1.4 O rganization of th e P roposal The rest of the thesis is organized as follows. Several server design issues for video-on-demand systems are reviewed in Chapter 2. The video content allocation algorithm and REM for request migration are presented in Chapter 3. The state m atrix structure and media service formalization are introduced in Chapter 4, followed by the performance analysis of the VoD system under different migration algorithms. The CAREM scheme and the affinity-based content update strategy for a distributed VoD system are described in Chapter 5. Finally, concluding remarks and future research plans on interactive video-on-demand (IVoD) design and proxy caching are given in Chapter 6. 16 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Chapter 2 Video-on-dem and Techniques This chapter will provide an overview of various issues involved in the design of a VoD media server system, and present algorithms th at deals with the storage and retrieval of digital multimedia. Specifically, we compare the centralized ar chitecture with the distributed architecture in Section 2.1. To manage the large storage space requirement of multimedia data, we examine techniques for video stream placement on individual disks, disk arrays, as well as disk-striping groups in Section 2.2. To handle the realtime playback requirement, we discuss a set of disk scheduling algorithms for retrieving multimedia information in Section 2.3. To reduce the server and network bandwidth utilization in video stream delivery, we discuss some client pull and server push techniques using the multicast capable network between VoD servers and clients in Section 2.4. Additionally, we extend the system to interactive VoD and describe some useful techniques to support 17 R eproduced with perm ission o f the copyright owner. Further reproduction prohibited without perm ission. Server [1] Server [M] High-speed Switch Network Wide Area Network rm Client Client Server [1] Server [M] Scheduler Wide Area Network □H Client Client (a) (b) Figure 2.1: The VoD system configuration: (a) the centralized architecture and (b) the distributed architecture. VCR-like user operations in Section 2.5. 2.1 VoD System A rchitecture Multimedia servers in a VoD system basically can be organized into two configura tions: the centralized architecture and the distributed architecture, as illustrated in Figure 2.1. In the centralized configuration, there is a single server (called the scheduler) th at accepts incoming user requests and dispatches them to one of the storage devices (i.e. the disk server in the above figure). This server itself provides all management tasks such as admission control, user request scheduling and video stream allocation. The disk servers connected to it only provide disk I/O tasks 18 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. and there is no decision making on them. Another system architecture is the distributed configuration in Figure 2.1(b). In this configuration, the function of the scheduler is “distributed” to each disk server. Each disk server performs part of the management besides the video stream access. Disk servers are inter-connected with a high-speed switch network to minimize the delay of the whole system view update and request migration. A lot of effort has been put in the architecture and design of distributed VoD systems such as the Microsoft Tiger video server [11] and the Oracle media server [43]. The centralized configuration has more flexibility in the sense th at it can pro vide “any-to-any” service (i.e. provide any video stream stored in the system to any user). Serpanos and Bouloutas [65] proved th at the any-to-any service can be implemented in distributed servers if and only if every server has the full copy of the whole video streams. There are also differences between the centralized and the distributed servers in system management. Table 2.1 compares the centralized configuration with the distributed counterpart in five aspects. According to [65], a centralized architecture is generally preferable in terms of minimizing the user request blocking probability. However, other factors such as cost management and fault tolerance may affect the final decision of the VoD system architecture in a practical environment. Another consideration in designing a VoD system is to implement a hierarchical 19 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Centralized Configuration Distributed Configuration Scheduling Easy to perform service scheduling More complicated Fault Tolerance Low fault tolerance Single point of failure More reliable But fault trace is difficult Security Single entry to system A uthentication is simple More complicated Scalability Whole system implemented in LAN More scalable Distributed video database Maintenance, billing, accounting Simple since all control work is done by a single manager Can apply distributed database management techniques Table 2.1: Comparison of the centralized and the distributed architectures given in [65]. configuration. As stated before, multimedia objects usually have a large amount of data and require a higher bandwidth. The VoD system needs to support over thousands of concurrent video stream requests. In order to achieve this goal, multimedia servers need to combine large storage capacity with high throughput. They usually consist of different storage media types [24,41]. The tape and the optical jukebox have a huge storage capacity but with very limited bandwidth. The magnetic disk has relatively small storage space but much higher throughput, which can be used as cache for tapes and directly serves user request. One research direction in the VoD system architecture is to introduce hierarchy into the distributed system. In the design and implementation of the Berkeley Distributed VoD System (VDSM), Federighi and Rowe [26] used a centralized storage repository as a backup “Archive Server (AS)” and located distributed 20 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. “Video File Servers (VFS)” on the client’s LAN. W hen a client request for a video title conies, the video file server first checks if it has the video stream cached. If so, the video stream can be played immediately and no access to the archive server is needed. This design idea takes advantage of user access characteristics. That is, user accesses dem onstrate a high locality of reference and video data can be pre-fetched ahead of time based on some predictive information. 2.2 V ideo C ontent A llocation A VoD system needs to cache video files on its storage devices and provides on- demand multimedia streaming services to many clients over a network. Among various kinds of storage devices, the hard disk, or the disk array, is usually used to provide real-time services due to its relative high output bandwidth and low unit cost. Hence, the storage device discussed here is confined to the hard disk. One goal of VoD service is to minimize interruptions to current user requests and rejections to incoming user requests. This means th at multimedia servers need to implement some kind of resource reservation for timely delivery of video streams to meet the real-time constraint [61]. Resource reservation implies th at there are only limited requests th at can be served for each disk. Moreover, each disk can only hold a limited number of video streams. Therefore, the video content allocation problem is of great importance and must be solved properly in the VoD system design. 21 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. If we do not consider m igrating current user requests between media servers to accommodate newly coming request, we should allocate video streams to media servers in such a way th a t each server has a uniform probability of being accessed [49]. There are generally three methods used to achieve this kind of load balancing. They are: replication, striping and grouped striping. Since the user access probability varies for different video streams, frequently accessed ( “hot”) movies need more copies than seldom accessed ( “cold”) movies. One m ethod is to put a whole video file into one disk server and make static copies of “hot” movies. This m ethod is referred to as “replication” . Serpanos et al. [66] proposed a data replication scheme called “Mmpacking” to achieve both storage and load balancing in distributed multimedia servers. In “Mmpacking” , video streams are sorted in an ascending order based on their access probabilities and assigned to video servers in a round robin fashion starting from the least accessed video. W hen a video stream is allocated to a multimedia server, the accumulated access probability of this server is calculated. If this probability exceeds the average access probability (1/IV if we have N servers), the current processed video stream is replicated and another copy is assigned to the next server. The access probability of this video stream is the combination of the access probability of its two copies. In such a way, each server will have exactly the same accumulated access probability. There are two problems in this method. First, the system throughput per video file is very limited. Second, replication is 22 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. time and storage space consuming due to the large size of video file so th at it is not desirable in VoD systems. Pure replication is seldom used in data allocation. The RAID (redundant array of inexpensive disks) technology has made parallel access to disk arrays become popular [57]. Among seven different RAID levels, RAID-3 and RAID-5 are used in VoD systems. RAID-3 uses fine-grained striping (bit interleaving) to serve requests. For fault tolerance, RAID-3 uses a single parity disk and relies on the knowledge of failed disks in the disk array to recover data. In RAID-5, data are interleaved across disks in blocks of an arbitrary size, which is known as coarse-grained striping. Unlike RAID-3, RAID-5 distributes parity and data uniformly to all disks in the group, which relieves the heavy write loads on the single parity disk in RAID-3. Figure 2.2 illustrates the data configuration in RAID-3 and RAID-5. In a large-scale video server environment, coarse-grained striping in a disk array of the RAID-5 style is most cost effective [7 1 - Video data striping over media servers can be categorized into two schemes: time striping and space striping. In tim e striping, a video stream is striped across multiple servers in units of frames, where each stripe unit has about the same time length. The striping unit may also contain more or less than one frame, which is called subframe striping. Biersack [9] and Bisdikian [10] considered one-frame time striping as well as subframe striping. It is observed th at subframe striping can result in a more balanced load on media servers for both constant bit-rate and 23 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Figure 2.2: RAID-3 and RAID-5 data configurations. variable bit-rate video since the d ata of each frame are distributed evenly across all servers. Buddhikot et al. [12] studied the load balance and playout control issues in time striping, and suggested th a t one should put more frames (e.g. all frames in one group-of-picture (GoP) of MPEG encoded streams) into a stripe unit to make each unit nearly the same size as possible. Time striping simplifies the client buffer design since each server delivers video of the same time length in a service round. The disadvantage of time striping is th at it is difficult to balance the load among all servers. Being different from time striping, space striping divides a video stream into equal-sized data units and distributes them to the servers in certain logical lay out topology such as the round robin ring topology. Space striping simplifies the storage and buffer management tasks on servers since each stripe unit are of the 24 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. same size. Moreover, it can achieve the maximum load balance among servers. However, in video stream s th at are obtained using modern compression techniques such as M PEG, the d ata unit of the same size usually contains a different number of frames and partial frames. If video is compressed using constant-quality algo rithms, the data rate of each unit may also be different. One needs to consider the client buffer design using space striping to prevent playback starvation at the client side. Time striping and space striping are employed widely in most research projects [77,11,9,28,8,12]. The third m ethod is called grouped striping, which has the characteristics of data replication as well as flat striping. In this scheme, disks (or disk servers or multimedia servers) are divided into several groups. Flat striping is used inside one group and data replication are limited between groups. To give an example, in the SCAMS (SCAlable Multimedia Servers) system of the Lancaster Univer sity [50], the “network capability” (which is a reliability measure between two multimedia servers) is used to decide the group scope and the product of the “propagation capability” (which is a reliability measure between two groups) and the “file importance factor” (which is the access probability) to limit file repli cation. A dynamic replication policy, called the Dynamic Segment Replication (DSR), was proposed in [21] based on grouped striping, where Dan et al. used “availability” (defined as a fraction of viewers whose sessions not affected by a sin gle disk failure) to decide the number of popular movies th at need to be replicated. 25 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. The basic storage unit is called a “segment” of a fixed size. There are two kinds of segments: perm anent and temporary. Perm anent segments hold video streams. W hen the access rate to a video stream increases (i.e. the stream becomes “hot”), a part of the stream is dynamically replicated to tem porary segments to meet such an increment. The above three algorithms attem pt to balance the storage among disk servers and make the “best effort” to serve user requests. However, they do not take the user access pattern into consideration. In some cases, the user access pattern is either known or can be predicted with a certain probability distribution. It is better to incorporate such information in the design of data allocation schemes. For example, one strategy is to minimize the storage space in disk arrays while providing guaranteed services according to a pre-defined user access pattern. It was shown in [82] th at this problem is N P-hard and can only be practically solved using some heuristic algorithm. Zhou et al. [98] used the parallel-simulated annealing algorithm to map media assets (video file objects) to distributed media servers such th at the system can provide the client the requested video stream with the highest possible encoding bit-rate. In [82] and [98], the optimization process was performed with respect to a certain user access pattern. However, the user request keeps varying in a real-world environment (e.g. new media, new user, etc.), and an adaptive scheme is needed to accommodate continual variations. Another extension is to consider uploading and migration of media objects. 26 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. To implement dynamic user request m igration between disk servers, we should maximize server connectivity for possible request migration in a service period. Wolf et al. [84] proposed a graph-theoretic scheme based on the structure of clique trees to assign video streams into media servers. Here, each disk server is modelled as a node, and a pair of the same video replicas on two servers as an edge between the nodes. The diameter of the server graph is defined as the maximum distance between two servers. The goal of data allocation is to minimize the diameter of the graph, thus achieving a high degree of connectivity between nodes. The user access pattern to video streams is modelled as a Zipf-like distribution [33] and the Webster monotone divisor m ethod [36] is used to decide the number of copies for each video stream. The result of this method is th a t the nodes storing the hottest streams have the highest connectivity. The reason is that these nodes are most possible to be accessed and service migration will happen frequently. Another m ethod to deal with data allocation in a VoD system is composed of distributed server clusters [79]. The system is modelled as a directed and weighted graph with each disk server representing a node. There is an edge between two nodes if they have the same video stream cached on. The weight of outgoing edge is the access probability of the server. This m ethod tries to minimize the product of the access probabilities of servers, thus making all servers equally accessed. Since a high access probability means a high migration probability and migration costs much in a distributed system, the data allocation scheme here is 27 R eproduced with perm ission o f the copyright owner. Further reproduction prohibited without perm ission. to minimize the chance of migration to reduce the cost. Guo et al. [31] proposed the combination load balancing (CLB) algorithm for video replica allocation to reduce the blocking rate of user requests. CLB divides video objects into different types according to the number of their replicas. For all type c (c = 1, 2,...) video objects, the replica allocation is processed in a way to make the traffic load as evenly distributed as possible on each server combination th at contains exactly c servers. This allocation procedure is then repeated for all values of c. The request m igration/redirection mechanism used in their systems is the traditional migration scheme th a t happens only when the server is fully loaded and has no service space for incoming request. 2.3 D isk Scheduling A lgorithm To ensure the continuous playback of a media stream, the data retrieved for each client during one service round must contain sufficient information so as not to starve the display over the entire duration of the round [29]. Disk scheduling algorithms for traditional alphanumerical data access, such as the First Come First Serve (FCFS), the Shortest Seek Time First (SSTF) and the elevator algorithm (SCAN), have been implemented to reduce the seek tim e and rotational latency, to achieve a high throughput and provide fair access to each client [76]. In real time disk scheduling, there are generally three algorithms, i.e. FCFS, SCAN and GSS (Grouped Sweeping Scheduling). The first two are very similar to those used 28 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. (l)FCFS Buffer Size (2) SCAN Buffer Size (3) GSS , Latency p u p Figure 2.3: Disk scheduling algorithms: (1) FCFS (2) SCAN (3) GSS [17]. for the traditional alphanumerical data while GSS is a generalization of FCFS and SCAN. Figure 2.3 shows the service timing and the buffer requirements of the three schemes. We see from Figure 2.3 th at the minimum buffer size of each request equals the product of the playback rate and the cycle length. In FCFS, the service order is fixed in each cycle. The request can be served immediately after its data have been retrieved. In SCAN, the request must wait at the end of each cycle since the service order is not fixed and, in the worst case, the requested data is retrieved first in one cycle and last in the next cycle. As far as the cycle length 29 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. is concerned, FCFS will have a longer cycle time than SCAN since it does not consider the physical placement of the video streams on disk. In SCAN, the data retrieval is base on the distance from the disk arm. Thus, in each service cycle, the disk arm only has to move once from one end to another to read all the data. For the buffer space requirement, FCFS needs sufficient buffer space to consume in one cycle while SCAN needs enough buffer space for two cycles to handle the worst case. Based on the above discussion, FCFS or SCAN alone may not always achieve the smallest buffer in use. Yu et al. [85] proposed a general disk arm scheduling algorithm called the Grouped Sweeping Scheduling (GSS) scheme. In GSS, the set of streams being served is divided into several groups such th at groups are served in a fixed order like th at in FCFS and streams inside one group are served using a SCAN-like algorithm. GSS is a generalization of FCFS and SCAN. W hen each group only contains one stream, GSS becomes FCFS. When there is only one group, GSS is equivalent to SCAN. An optimal design scheme was also presented in [85] with the objective of minimizing the total buffer used under the homogeneous case (i.e. a uniform playback rate for all video streams). It was observed from the simulation th at optimized GSS is identical to SCAN in the heavy load case and is close to FCFS when the system is lightly loaded [17]. In a heterogeneous environment, each stream may require a different amount of data in one cycle time. Under the assumption th at each group has the same 30 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. amount of data to retrieve, Chen et al. [17] proved the necessary condition for an optimal solution. T hat is, the playback tim e of the data retrieved in one cycle must equal the cycle length for each stream. Based on this theorem, an algorithm was developed in [17] to find the number of groups under the optimal condition and the Longest Processing Time (LPT) first rule was used to allocate video streams to groups. 2.4 V ideo Stream D elivery Techniques In a VoD system, upon receiving a new client request, the scheduler dispatches it to a video server, which is referred to as the starting server, with the requested video file. W hen there are more than one candidate servers, a certain algorithm such as the least load first (LLF) is used for request dispatching. The scheduler then checks resource availability on the starting server and implements some scheduling algorithm to initialize a video stream to th a t request if it can accommodate the new request. Otherwise, it may use some request migration algorithm to migrate it or some in-service request to other server according to the current bookkeeping knowledge of the system. The simplest scheduling algorithm is to initialize an I/O stream and isochronous channel to each request. The advantage is th a t it ensures “true” VoD service in th at it minimizes the client waiting time. A request can be served immediately if there is resource available. However, since the video object usually contains a large 31 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. amount of data and requires high bit rate data transmission from the physical disk and over the network (for example, the bit rate of MPEG-2 encoded stream is typically 4 Mbps), the video server can only accommodate a limited number of concurrent video streams. This unicast algorithm is not so efficient in either the server or the network resource utilization. Normally, clients can tolerate certain delay between sending the request and receiving the video data. If the network between VoD servers and clients is capable of multicast, the scheduler can take advantage of such delay and use m ulticast to serve requests for the same video in a short arriving interval by one stream. There are two kinds of multicast video delivery techniques: client pull and server push. In the client pull approach, video streams are delivered to the clients on requests. In the server push approach, video servers periodically broadcast or m ulticast video streams on the network and clients interested in a certain video title can join the corresponding channel. 2.4.1 C lient P u ll D elivery Dan et al. [22] proposed a client pull scheduling algorithm called batching. In their algorithm, requests arriving in a short period for the same video can be grouped and served using a single stream. Batching can make a server serve more requests at the same time and thus “increases” service capacity. On the other hand, batching introduces extra delay when early requests are held at the scheduler buffer and wait for processing. Batching provides a near true VoD 32 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. service. Basically, there are four batching policies: 1. First Com e First Serve (FCFS) In this policy, the scheduler maintains a single queue for all user requests. Whenever a stream can be served, the client request at the front of the queue is served. Other queued requests for the same video stream also get served. Since FCFS considers the waiting time of a request, there is usually no starvation. The main disadvantage of the FCFS policy is th at it does not consider the skewed access probability of each video stream, which makes it too conservative to popular video titles. 2. M axim um Queue Length (MQL) In this policy, the scheduler maintains a request queue for each video stream and chooses to serve the stream with the maximal queue length. MQL is a “hottest movie first” scheduling and can cause starvation of the “cold” video. It is the least fairness policy. Sometimes, MQL can be implemented in video servers with a small service capacity to reduce the overall user reneging probability [22], 3. FCFS-n This policy is an extension to FCFS. It saves some service capacity for some popular video streams under the assumption that the client request pattern is known by the system. For popular video titles, there is a stream service 33 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. in every certain period of time referred to as the “batching interval” , which provides an upper limit on the waiting time for them. If users want to obey the maximum waiting time, the chance for reneging is reduced. This policy makes some modifications in favor of “hot” videos while not causing starvation to “cold” videos. 4. M axim um Factored Queue length (MFQ) FCFS only considers the waiting tim e and achieves a higher degree of fairness in comparison with MQL and FCFS-n, but it may increase the user reneging probability in the case th at a lot of clients for a “hot” video may renege due to timeout. MQL only considers the waiting queue length, which is too aggressive for “hot” video and may cause starvation for client requests for “cold” video. Aggarwal et al. [1] took both factors into account and used the product of unit time access frequency and batch interval (i.e. the average request waiting time for a certain stream) for each stream as a decision rule. Simulation results showed th at MFQ outperforms FCFS and MQL in terms of the user reneging probability. Furthermore, it performs better than MQL and comparably with FCFS in terms of fairness. In the batching schemes described above, the early arriving request must wait for the following request for the same video stream in a batching interval. This unfairness to early requests may cause clients to renege. Sheu et al. [67] proposed a virtual batching technique to solve this problem by distributing the batching work 34 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. to client stations. It uses the “chaining” idea to allow a client station being served to forward its video d ata in the memory cache to another client requesting the same video. The condition is th at the playback distance between them is less than the playback tim e of the data cached in the memory of the upper-stream client. A major advantage of virtual batching is th a t it saves the network bandwidth in video delivery. A client request can be served from some upper-stream client in the chain as long as their playback distance is within a certain limit. Virtual batching is more scalable than traditional batching in th a t the video delivery tree (chain) can grow dynamically. But there will be a “problem of tru st” in virtual batching. How does a client station trust another client station? Basically, a client station has no obligation to serve other stations. W hat if one upstream client station shuts down its power immediately after it finishes the video? If we apply virtual batching to proxy servers or some designated client stations th at can be administrated, then we can ensure virtual batching to work. For the general case, it may not be easily deployed on clients. Since the client can only tolerate a certain startup delay, there is an upper limit on the batch interval. A multicast stream is allocated at the end of each batch interval and lasts from the beginning of the video till the end. Batching cannot provide the “true” VoD service and the number of requests served by each multicast stream is limited by the batch interval. Hua et al. [34] proposed a patching technique to reduce the per-request system cost and provide a “near 35 R eproduced with perm ission o f the copyright owner. Further reproduction prohibited without perm ission. 2T„-T, T e n d " T b g ffer T en d Join multicast stream of client A Effective Multicast video data is only of playback time T ^rer Unicast stream from server (Client B needs to buffer video data of (Tb - T A ) time) Unicast stream from server (In greedy patching and client C ’s buffer is smaller than the video length (Tc - TA )) New multicast stream from server (In grace patching and client D ’s buffer is smaller than the video length (Td - T a)) Figure 2.4: Illustration of the patching algorithm. true” VoD service. The algorithm of patching is illustrated in Figure 2.4. We can see th at patching saves system resource in term s of the multicast channel duration in this example. The extra requirement is the buffer on the client side to cache the video data of the playback difference between two adjacent requests (e.g. A and B in Figure 2.4), while batching imposes no requirement on the client buffer. Figure 2.4 also illustrates two implementations of the patching algorithm. In greedy patching, the client joins a m ulticast channel whenever there is one for the same video. It does not consider the constraint on the playback difference posed by the client buffer size. In this figure, C ’s buffer size is smaller than the playback difference between A and C. The effective multicast data from A is constrained by C ’s buffer size. The unicast stream from video server to C will last longer 36 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. than Tc — TA. While in grace patching, if the client’s buffer size is smaller than the playback difference, a new m ulticast stream is allocated if the system has enough resource available as shown in the case of client D in the figure. The implementation of patching is more complicated than batching since it requires robust client-server communication before the client can join an existing multicast stream or a new unicast stream is allocated. 2.4.2 Server P u sh D eliv ery In the server push scheduling approach, a video server periodically broadcasts or multicasts video streams in logical channels and a client can join the corresponding channel of the request video. Since the network bandwidth is dedicated to video objects instead of clients, the server push scheduling is typically used for “hot” videos with a lot of requests. One of the earliest server push techniques is staggered broadcasting [3]. It allocates n logical channels to a video object with each channel accommodating a replica of th a t video. The starting time of that video is staggered evenly across n channels. If the broadcast duration of each channel is D minutes, video broadcast starts every D /n minutes. Staggered broadcasting is simple to implement, and it places a minimum requirement on the client side. The client access latency decreases linearly as the bandwidth increases. It can also handle VCR-like in teractive VoD service. The main disadvantage of this technique is th at it is not 37 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. bandwidth efficient for the server. Viswanathan et al. [81] proposed a pyramid broadcasting protocol to deliver video more efficiently, as shown in Figure 2.5. In this scheme, each video object is divided into n segments, Si, S'2; ..., Sn. The size of each segment grows geomet rically using param eter a > 1, e.g. S l+\ = a S ^ T hat is the reason why it is called pyramid broadcasting. The server available bandw idth is divided evenly into n channels, with the ith segment of each video broadcast in channel i. Clients start to download the next segment at the earliest possible time after beginning to play the current segment. The playtime of segment % must be longer than the longest waiting time for the start of segment % + 1 in order th at there is no starvation of playback. Assume th a t there are M video titles in the system and the playback rate at the client is b. Furthermore, it is assumed th at the channel rate is b', we have the following inequality for continuous playback: Si M Si+1 — > — - — and Si+1 = aSi. b b' Thus, we get the constraint on the channel rate b', i.e. b' > aMb. From this constraint, we see th at pyramid broadcasting requires much more channel band width in comparison with client’s playback bandwidth. This is one disadvantage of pyramid broadcasting. Pyramid broadcasting is more efficient than staggered broadcasting in th at the client waiting time decreases exponentially as the server 38 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Video2 Server Channels Figure 2.5: Illustration of the pyram id broadcasting scheme. bandwidth increases. As a tradeoff, it requires a larger buffer size at the client side (about 70% of the video length). Hua et al. [35] proposed skyscraper broadcasting in 1997. There are two main differences between this scheme and the above pyramid broadcasting protocols. First, the segment size of a video object is no longer in geometrical distribution. Instead, it uses a fixed sequence {1, 2, 2, 5, 5, 12, 12, 25, 25...} to decide the segment size in each channel. Second, the bandw idth of each channel equals to the playback rate at the client side. The segments of the same size compose a transm is sion group. For example, the second and third segments have the same size, and both are twice the size of the first segment. Thus, they compose a transmission group. Clients receive segments in terms of the transmission group. A trans mission group is downloaded in its entirety in the segment order. The sequence number is generated such th a t it ensures clients to receive at most two trans mission groups concurrently, and there is no starvation in playback. Skyscraper broadcasting places a restriction on the largest segment size of a video object. The reason of this restriction is to prevent the segment size from growing too large 39 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. and resulting in a large buffer size at the receiving end. The maximum bandwidth requirement at the server side is twice of the client playback rate. At the same time, the buffer size at the client side equals the difference between the largest segment size and the first segment size. There are several other broadcasting schemes proposed for video delivery [39,40,55,56]. They are similar to the above broadcasting schemes in two aspects. First, the video object is first divided into several segments according to a certain rule. Second, the server bandw idth is divided into several logical channels, and there is some segment-to-channel mapping rules applied in video delivery. All broadcasting protocols share the same strategy. T hat is, if some video title is more popular than others and clients have local storage, then later segments of the video title can be broadcast less often than earlier segments. Except for stag gered broadcasting, all server push techniques increase the service capacity of the VoD system at the cost of extra storage and bandwidth at clients as illustrated in Table 2.2. Broadcasting Protocol Storage Requirement (% of video size) Bandwidth Requirement (multiples of b) Staggered 0 1 Pyramid 75 4-5a Skyscraper 10 2 Fast 50 6-8 Pagoda 45 5-7 Harmonic 40 5-6 Table 2.2: The client requirements for different broadcasting protocols, where b is the playback rate at clients. 40 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 2.5 Interactive V id eo-on -D em an d Techniques A full fledged on-demand video service should allow clients to interact with their selected video program through VCR-like controls, such as pause, fast forward (FF) and fast rewinds. In an on-demand system, it is im portant to make shar ing transparent to users while allowing true user interactivity. Interactive video- on-demand (IVoD) is the focus of many research activities, and current IVoD techniques fall into two categories: (1) IVoD request scheduling based on exist ing m ulticast delivery algorithms, and (2) IVoD stream implementation based on M PEG standards. Earlier work on IVoD adopted the server push stream delivery technology such as staggered broadcasting. Banker [5] used group jum ping to provide interaction support in staggered broadcasting. However, not all interaction can be performed by jumping through fixed paced streams. Almeroth et al. [3] used the set-top-box buffer to provide limited interactive functions in a staggered broadcasting system. Even though these systems can mimic some interactions, it might not provide continuous interactive functions. W ith the emergence of bandwidth efficient multicast delivery techniques such as batching, tapping and recursive patching, several research work has been done to extend the existing multicast system to support interactive operations. Yu et al. [86] developed look-ahead scheduling with the set-aside buffer protocol, which takes advantage of batching while only supporting interactive operations of pause 41 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. and resume. The interactive stream tapping protocol was proposed by C arter et al. [15] to integrate the VCR-like interaction support into the stream tapping system. However, the large client buffer space requirement makes it difficult to be deployed. Zhi and Kuo [69] developed the interactive recursive patching (IRP) scheme to support the full VCR functionality. The concern is to minimize the number of streams required to serve interactive customers. An optimal online merge tree is designed to enforce the customers rejoining to a multicast group after resuming the normal playback. All multicast related IVoD techniques consider the following scenario: 1. The client initiate the normal playback at the beginning of video. The server uses a certain m ulticast scheme to deliver the stream to the client. The client either finally join one m ulticast group after receiving the catch-up data from a unicast stream, or receive all the data through a unicast stream (i.e. a complete stream is issued). 2. When the client issues an interactive command, the server first examines the current delivery status of the client. If the client is the only user of the stream, the stream is reclaimed. 3. If there is enough bandwidth for the interactive operation, the client is assigned a new unicast stream for interaction. If there is not enough band width, the client has to wait (just like in the status of “pause”). All in teractive operations are performed on th at stream. However, the detailed 42 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. implementation of interactions such as fast forward/review is not a concern in these papers. The common assumption is th a t the implementation exists and and it can be applied to the unicast stream. 4. After the interaction is completed, the client has to resume the normal playback status while the initial start point is offset from the beginning of the video. A decision has to be made as to whether the server should assign a new stream to the client or let the client rejoin a m ulticast group and, in the latter case, which multicast group the client should join. Another research direction on IVoD attem pts to improve the storage and re trieval pattern for video streams encoded by the M PEG standard. Most of the research is done on implementing the fast forward (FF) and fast rewind (FR) operations. Several existing algorithms are reviewed below. 1. U sing M PEG -1 D-frame [61] The D-frame is independently encoded, and it only contains the DC com ponents of the picture block. Only D-frames are presented to the client after decoding when the client is in fast forward/rewind modes. It is simple, and no further processing needed. The main disadvantage is its poor video quality during client interactivity, and there is no D-frame in the MPEG-2 standard. 2. Frame skipping 43 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Chen et al. [18] proposed to support fast forward/rewind using M PEG frame skipping in the disk-array-based video server. This approach consists of a storage method, a segment placement scheme, and a playout method with a segment sampling scheme or a segment placement scheme as alternatives for selecting segments. The goal is to achieve load balance in both normal playback and interactive operations. 3. Block categorizing In this scheme, each block is marked as being relevant or irrelevant to fast forward/rewind. Both types of blocks are retrieved during normal playback while only those marked relevant are retrieved and transm itted in the fast forward/rewind mode. This scheme can be achieved by scalable compres sion, which combines one or more additional streams w ith the base stream to produce higher quality [61,53]. However, scalable compression poses ad ditional overhead on the splitting of blocks and their recombining before presentation. 4. Files created for special V C R m odes Files are created for several special VCR modes in advance and placed in the server. W hen an user requests fast forward, the server can shift from the normal playback stream to the fast forward mode stream. There are two ways to generate this kind of VCR mode stream. In the first method, the original raw data can be sub-sampled before compression, which can 44 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. still result in a relative high-quality stream. The second method involves extracting I-frames from each group-of-picture (GoP) or selected GoPs. The speedup rate of the resulting fast forward stream depends on the distance between two adjacent I-frames. This m ethod has the advantage th at there is no extra requirement on the server processing power in generating real-time IVoD streams. On the other hand, there is an extra storage requirement for pre-generated IVoD streams and the speedup factor is pre-determined by those streams. 45 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Chapter 3 M edia Server Scheduling in Video-on-Dem and Service Let us consider a VoD system consisting of a centralized scheduler and a collec tion of media servers. The scheduler dispatches user requests and maintains the current service status for each media server and video access statistics, i.e. the bookkeeping information. The media server mainly performs I/O operations to deliver multiple streams of different video contents simultaneously to users based on the scheduled result. Due to the large size of video objects and limited storage capacity, each server can only store a limited amount of video streams. Moreover, the service capacity of each server is also limited by its bandwidth constraint. It is therefore a great challenge to solve the media server scheduling problem th at involves proper initial allocation of video files and balancing the load among 46 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. media servers to improve aggregate resource utilization and the overall system performance. Video content allocation deals with assigning video copies to media servers given the portion of each video program in the total system storage capacity. The goal is to achieve static load balance to a certain degree. In this chapter, we present a greedy content allocation algorithm, which is based on the graph model of the media server system. The algorithm allocates one video copy at each step and greedily chooses the server th a t minimizes the average distance between all server pairs. Theoretical analysis shows th at this algorithm connects all media servers in the fastest way and achieves certain connectivity in terms of server cliques. Request migration is another im portant issue in media server scheduling. Due to the highly skewed access probabilities of video content, media servers with hot video copies receive much more client requests than other servers and are most likely to be overloaded. Request migration re-distributes system load among servers to achieve a certain kind of load balance, which in turn reduces the service failure rate. We propose a random early migration (REM) algorithm to reduce the service rejection rate, to balance the load of media servers and to reduce service delay. When a new request is dispatched to a media server, REM compares the current service load with preset thresholds and decides whether request migra tion is needed with a certain probability, which is a function of the service load. 47 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Furthermore, to control the video access rate, we apply a tim e window to predict the video access probability in the near future and dynamically update the video content in media servers. For reader’s convenience, key symbols are summarized in Table 3.1. 3.1 V id eo C ontent A llocation We describe a video content allocation algorithm th at assigns video programs to media servers in this section. The goal is to achieve static load balance to a certain degree. W ith a good initial allocation, the chance of finding appropriate migration paths for later request migration increases. The output of this stage is the video copy allocation m atrix A = (ajj)jvxM, where at] G {0,1} and al% ] = 1 means th at video j has a copy on media server i. We divide this task into two steps. First, we determine the copies of each video file based on their forecast access probabilities. Second, we assign video copies to media servers to get the allocation matrix. 3.1.1 V id eo C opy A p p ortion m en t Assuming th at each server has K video files cached on it, the total number of video copies is K N . Let K j denote the number of copies of video j in the VoD system and < f> j the access probability of video j. Initially, < p 3 is equal to the forecast probability obtained from the statistical result of long term observations. We have 48 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Symbols Meaning M number of video titles stored on a VoD system N number of media servers L service capacity of a media server in term s of concurrent video streams K storage capacity of a media server Kj number of copies of video j A video copy allocation m atrix G connectivity m atrix of media servers H state m atrix of a VoD system T state transform through request migration 5 state transform through request accepted locally D (H W ,H W ) distance between state matrices H ^ and S T video bookkeeping information D I S T distance m atrix used in video content allocation M P request migration path T (M P ) number of state matrices corresponding to migration path M P request coming rate per minute A(/j) service delay at fi request s/m in F{y) failure rate at p requests/m in k real time service load on server i Ts service time of video file A access probability of server i (pj access probability of video j (fiuj unit access probability of video j r(i,j) request dispatched to server i for video V3 service end at server % for video Vj M in J h minimum threshold in the REM algorithm M ax-th maximum threshold in the REM algorithm Pmax maximum migration probability Pi request migration probability for server i Table 3.1: Summary of key variables. 49 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. to decide Kj for each video j. Obviously, the number of copies of each video file should be proportional to its access probability. On the other hand, since to place more than one copy of a video program on the same media server cannot improve its availability [49], the maximum number of copies of a video file cannot exceed the number of servers in the VoD system. Based on the above discussion, we divide video programs into two sets accord ing to their popularity: Vh = = {j|0j > and V c =f {j|dj < ^}. For Vj G V c, we further define the quota as qj =f { K N K j) y < t > 1 —T- Our apportionment algorithm deals with videos in Vh and V c differently as follows. 1. For video j G Vh, set K j — N ; 2. For video j G V c, use the Adams divisor m ethod [36] to calculate the copies: (a) Initially, set K j with j G V c to 1; (b) Find video j* with <fj/Kj to be the maximum among all j G V c, and the value Kj* is incremented by 1; (c) If Y>jLi K j — K N , stop. Otherwise, return to Step 2(b). The Adams divisor method uses Kj as the divisor to decide which video should be assigned in the next step. The following proposition states th at the video copies resulting from the above apportionment algorithm stick to the constraints. P ro p o sitio n 3.1.1 The number of copies of a video program satisfies the follow ing: For all video j G Vh, K j = N ; for all video j G V c, [qj\ < K j < \q j\ . 50 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Proof. The first part of the proposition is clear according to the apportionment algo rithm . For all video programs in Vh, we simply set the number of copies to N. Then, each of them will have one copy on each server. Now, let us consider video programs in V c and prove the second half of the above proposition. Some notations for video titles in V c are introduced. Let Nr =f K N — E jje vh K j be the total number of copies remaining, and (pr] = = ^ —— be the relative video popularity. According to the definition of video L^j,jevc ^ quota, we have Qj N r <firj, (^’1) E 1l = N r. (3,2) i.ieVc Assume th a t there exists video j* G V c such th at its copies Kj* > \qj*~\- W ithout loss of generality, we consider the case th at Kj* = \ Q j* \ + 1. Then, at a certain step in the apportionment process, video j* was assigned a copy and Kj* increased from \qj* \ to \qj*~\ + 1 . On the other hand, there must exist some video j G V c such th at K j < \qj\ at the same step. Otherwise, according to Equation (3.2), we have E jje v c K j P E jje v c Q j = N r, which means th at we have already assigned all copies. This is impossible because there exists at least one copy and should be assigned to video j* according to our previous assumption. 51 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Let us compare video j* and j using our apportionm ent rules. We have K j Q j Q j* K j (3.3) and two equalities cannot hold at the same time. Applying Equation (3.1), we get the following inequality Notice th at the scaling factor between ^ and (p r] is the same for all j E V c. Equation (3.4) shows th at the next copy cannot be assigned to video j*, leading to contradiction to our assumption. Thus, the number of copies of all video programs in V c cannot exceed the ceil of its quota. Using the same technique, we can prove th at the number of copies cannot be smaller than the floor of its quota, and the proof is completed. □ 3.1.2 V id eo C ontent A llo ca tio n After getting the number of copies for each video file, we should allocate those video copies to media servers. The problem is solved using graph theory. Each server is modelled as a node in the graph. We say two servers are connected if they have at least one common video cached on. In this case, there is an edge with a unit weight between them. The goal is to maximize the connectivity of the server graph, since a high connectivity implies th at a higher probability to 52 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. migrate a current in-service request to another server. Let us define a distance m atrix D I S T = (djj) to represent the connection status between every two nodes in the server graph, where d jj denotes the length of the shortest path between nodes i and j. Initially, we have djj = 0 for i — j and dltJ = oo for i ^ j. Here, we use oo to indicate th at nodes i and j are disconnected. In the actual implementation, we set the initial value of ditj to a very large number. The summation J2i,j ( k.-j can serve as a measurement of the connectivity degree of the graph. The smaller the value, the higher the connectivity degree among servers. W ithout loss of generality, it is assumed th at video files are sorted in a non increasing order according to their access probabilities, i.e. (f> i > 0 2 > ■ • • > 4 > m - The unit access probability 0U J of video j is defined as fy /K j. Starting from the hottest video, our algorithm allocates one video copy at a tim e to the system and chooses a particular server for this copy according to the following rules 1. The server has not yet reached its storage capacity; 2. There is no copy of the same video on the server; 3. Prom all servers satisfying (1) and (2), we find the server t* such th at t* = m a x { ^ ditj - Y , }, (3.5) i,j ij where D I S T 1 = (d| •) is the distance m atrix after we assign the current video copy to server t. 53 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. If there are multiple servers satisfying Equation (3.5), we choose the one with the smallest server access probability -0i for load balancing. The server access probability can be calculated as & = (3-6) where the summation is over all videos th at have copy on server i . Once a copy of video j is assigned to server f*, we need to update the distance matrix. This task can be done in two steps. First, we find all the peers of server t* which also have copies of video j cached on and set the length of shortest path between server t* and its peers to 1. Next, we relax [20] the shortest path length between any other peer servers by comparing the original value with the length of any path passing the servers with video j cached on. Our initial file allocation algorithm is basically a greedy method. Each time of assigning a video copy, we attem pt to find the appropriate server t* such th at the summation value Yi,j ( k,j decreases the most, which means the connectivity degree of the server graph increases the most. W hen there are more than one candidate, we apply the least load first (LLF) criterion and choose the server with the least access probability. We now state some properties regarding the topology of the resulting server graph. 54 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. P ro p o sitio n 3.1.2 The resulting server graph is connected if — 1) > N - 1. Proof. By “being connected” , we mean th a t there are no unconnected vertices and no isolated groups of vertices on the graph. In other words, there exists a path from any server to the other. We prove this property by going through the content allocation process step by step. Let us define server set Sconn =f {i|V'i > 0} which includes all servers with at least one video copy and Sem pty *= {i|'di = 0} which includes all empty servers. As stated before, all copies are allocated in a non-increasing order of video popularity. First, consider to assign copies of the hottest video Vi. If K \ > N , according to our algorithm, the first N copies of V\ are assigned to N servers in N steps, with each server having one copy. Then, all servers are connected after the N th step, and we are done. Otherwise, we assign all copies of V\ to servers in Afi steps. Since initially no server has any video copy on it, the access probability is 0 for all servers. W ithout loss of generality, we choose the first K i servers (i.e. Server 1, 2,..., K i). Now we have ipi = ip2 = ■ ■ ■ — 4> k 1 = < t> u i and Vdfi+i = • • • = f>N = 0. Thus Sconn = {1,2,..., K i} and Sernpty = {K i + 1,..., N}. Next, we assign the copies of video V2. Note th at assigning the first copy of any video will not make any contribution to the distance matrix. The server is decided by Rule 3, which is the server with the least access probability at the 55 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. current step. Therefore, we assign the first copy of V2 to Server K \ + 1. After this step, there is no change to Sconn and Sempty Server K \ + 1 has not been connected with Server 1, 2,..., K \ yet. If K 2 = 2, we consider the second copy of V2. It is obvious th at y . ~ y d i j > y d i ,j — y d f j . h j h j ^ t ^ S c o n n . h j S e m p t y Thus, t* G Sconn- We remove server K i + 1 from Sempty and add it to Sconn- If K 2 > 3, applying the same procedure, we should assign the remaining copies of V2 to empty servers. Each time we assign a copy of V2 to an empty server, we remove it from Sempty and add it into Sconn. In general, for the assignment of copies of video Vj, we encounter one of the following three cases and take the corresponding action. 1. If K j = 1, we assign the copy to the server with the least access probability, which is an empty server; 2. If K j = 2, we assign the first copy to an empty server and the second to a server in Sconn which makes the sum of the distance m atrix decrease the most; 3. If K j > 3, we assign the first copy to an empty server, the second copy to a server in Sc6rm which makes the sum of distance m atrix decrease the most, and all remaining copies to empty servers. 56 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. After that, we move K j — 1 servers from Sem pty to Sconn. This above process continues until we have no more empty servers. It is clear th at we can move K \ servers to Sconn in the first step and K j — 1 severs to Sconn when processing video Vj with j > 2. Thus, if K \ + Ysz=\{Kj — 1) > N or, equivalently YJf=i{Kj — 1) > N — 1, all servers can be added to SC O nn so th at they are connected. The proof is completed. □ The above property shows th at the proposed allocation algorithm assigns video copies in the fastest way to connect all servers together. Since J2jLi(Kj — 1) = K N — M , if we choose K = + 1 > M+ ^~ 1; all servers are connected using the proposed allocation algorithm. Next, we examine the property of the connectivity among media servers. We first give the definition of a server clique. Then, the relationship between the sever clique and the connectivity of the server graph is explored. Definition 3.1.1 Let Clique(j) denote the server clique generated by all the servers with copies of video Vj such that K j > i.e. Clique(j) =f {i|A y = 1 .Kj > 1}. Proposition 3.1.3 No two cliques are exactly the same, if J2jLi[{Kj ~ l)A ij] < N — 1 for every server i. Proof. Consider two cliques Clique(ji) and C liq u e^ ) generated by video Vj1 and Vj2, respectively. W ithout loss of generality, assume j\ < j 2. Thus, copies of 57 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Vjx are allocated before V:j2. We arrange servers in Clique(j2) according to the order they are assigned copies of Vj2. Let Clique(j2) = {Sq, Si2,..., SiK j^} and copies of Vj2 are assigned first to Sq, then Sq,. . till SiK . Let us begin with server Sq. If St] £ C lique(ji), we are done. Otherwise, consider the second server in Clique(j2). W hen we assign copies of Vj2 to servers, copies of Vj1 have already been assigned and Clique(ji) will not change since then. Since Sij E Clique(ji), if we assign a copy of V]2 to some server in Clique(ji), it will not decrease the sum of distance matrix. On the other hand, we have at this step Ylf=i[(Kj ~ l)A iij] < YljLi[(Kj — l)A uj] < N — 1, which means there is at least one server th at is not directly connected with Server i 1. According to Rule 2 in our algorithm, t* must be chosen from those servers. As a result, S l2 ^ Clique(ji). It is easy to see th a t there is at least one server belonging to Clique(j2) but is not in Clique(ji). This completes the proof. □ ( This above property means we don’ t “waste” any video programs in construct ing those cliques. This property can be extended to the case th a t there are some servers fully connected with all other servers (i.e. Ylf=i[{Kj — l)A jj] = N — 1 for some i). In this case, we only consider those cliques th at do not contain servers of degree N — 1 so th a t the property still holds. For the remaining cliques that contain servers of degree N — 1, all the servers in those cliques can be reached by each other in no more than two steps. 58 R eproduced with perm ission o f the copyright owner. Further reproduction prohibited without perm ission. 3.2 R andom Early M igration A lgorithm In a VoD system, it sometimes occurs that, when a new request for a particular video arrives, all media servers with this video cached on have reached their maximum service capacity. Thus, the request is blocked. However, we may still be able to serve this request by migrating an in-service request on one of these servers to another server in the system. The migrated request may be accommodated by another server immediately, or it may demand a sequence of migration operations before the request can be migrated successfully. Figure 3.1 illustrates one example of request migration. There are three media servers in the VoD system. Each server can store two video copies and serve up to six requests simultaneously. Assume at some time a new request for Video A arrives. Since only Server 1 has the copy of Video A and it has already reached the service capacity, we need to migrate one in-service request of Video B to Server 2. The migrated request cannot be served immediately at Server 2 since it also reached the service capacity. Then, Server 2 migrates a request of Video C to Server 3, which is under its service capacity at th at time. Note that after the migration, the service load on all the servers along the migration path except the last one remains unchanged. The last server on the migration path has its service load increased by one. Wolf et al. [84] proposed the DASD dancing algorithm to balance the service load through request migration. In real time scheduling, there is a penalty function 59 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. / \ Video B / \ Video C / v . . , / k J Video A/2 \ ._ » / Video B/3 \ / Video C/1 Video A — y Video B/4 B L -- -A Video C/3 Video D/2 \ V (Server 1) j \ (Server 2) j “ \ (Server 3) (a) V ideo C .Video B Video C/2 Video D/2 (Server 3) Video B/4 Video C/2 (Server 2) Video A/3 Video B/3 (Server 1) Video A g 1 (b) .Video B Video C/2 Video D/2 (Server 3) Video B/4 Video C/2 (Server 2) Video A/3 Video B/3 (Server 1) Video A (c) Figure 3.1: Examples of request migration: (a) a new request for video A arrives and a migration path is found, (b) a new request is held on Server 1 and a request for video C is migrated from Server 2 to 3, and (c) a request for video B is migrated from Server 1 to 2 and a new request is served in Server 1 associated with each media server to measure the load status. New requests are accepted by the system based on LLF (Least Load First) most of the time. After a new request is accepted, the dancing algorithm calculates the optimal load distribution th at minimizes the sum of all penalty functions. If the difference between the optimal distribution and the current load distribution exceeds a preset threshold, it greedily migrates requests from over-loaded servers to under-loaded servers until the difference goes below the threshold. W olf’s algorithm maintains disk load balance via request migration among media servers. However, when 60 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. the system is lightly loaded, servers have enough service space to accommodate incoming requests and load balance contributes little to the improvement of the failure rate. On the other hand, the traditional migration algorithm considers request migration until a new request gets blocked at the server as shown in Figure 3.1. This scheme is called the “last-m inute” request migration. There are two main problems in the traditional algorithm. First, the real tim e service load distribution is highly skewed when migration happens, and such imbalance will degrade the VoD system performance. Second, with a highly skewed video access probability, some media server could already reach its service capacity and cannot accept client requests from its peer servers without any further migration, which can lead to additional delay in the VoD system. The first case can cause the request being rejected so th at the request failure rate of the VoD system will increase. For the second case, the request will be held at the server so th at the system response time will increase. None of them are desirable for real time media service. In this work, we propose a random early migration (REM) algorithm that migrates in-service requests between servers to achieve a more balanced service load distribution with a certain probability. The idea of REM is motivated by the random early detection (RED) gateway used in congestion avoidance in packet- switched networks [27]. The RED gateway detects incipient congestion by com puting the average queue size and drops or marks the arriving packet with a certain 61 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. probability when the average queue size exceeds a preset probability. Similarly, REM monitors the current service load of each server to decide whether a request migration is necessary. Let L denote the service capacity of each media server (here we assume th a t each server has an identical service capacity) and U the current load on server i in term s of the number of in-service requests. REM uses two thresholds M in J h and M a x J h (M in J h < M a x J h ) to measure the load status on each server. W hen the load is less than M in J h , there is no need to do request m igration since only part of the service capacity is used and the server can still accommodate new requests w ithout the risk of reaching its service capacity. When the load is between M in J h and M a x J h , there is a potential th at the load will increase to the service capacity and request migration is performed with a certain probability pi based on the current load on server i. Figure 3.2 illustrates the relationship between migration probability pi and current service load k for the traditional migration algorithm and REM. When the load is above M a x J h , the server is heavily loaded and request migration is performed with probability 1. In the REM algorithm, the probability of request migration increases as the service load increases. As shown in Figure 3.2, as load li varies from M in J h to M a x J h , the migration probability pt varies linearly from 0 to Pmaxt h & ■ (li — M in J h ) Pi ^ max (M ax J h — M in J h ) We deploy the REM algorithm on the centralized scheduler of the VoD system. 62 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Migration A Probability Migration Probability Min_th Max_th L Servicc (b) T naH (a) Figure 3.2: The relationship between the migration probability and the current load: (a) the traditional migration algorithm and (b) REM Upon receiving a client request for video Vj on server Si, the following operations are performed. Step 1 The scheduler calculates the migration probability pi based on the current load of Si and preset REM param eters as follows. 1. If li < M in J h , Pi = 0. Go to Step 5; 2. If M inJth < k < M a x J h , calculate pi using (3.7); 3. If M a x-th < li, pi = 1. Go Step 3. Step 2 The scheduler generates a random number p, p € [0,1]. If p < pi, go to Step 3; otherwise, go to Step 5. Step 3 The scheduler calculates the migration path starting form St. 1. If migration path exists, go to Step 4; 2. If migration path does not exists but < L, go to Step 5; otherwise, go to Step 6. 63 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Step 4 The scheduler sends messages to servers involved in the migration path. The request migration is processed along the path. In the meantime, the incoming request is held at Si. Step 5 Si starts to serve the incoming request. The scheduler updates the state m atrix (discussed in detail in Section 4.1) of the VoD system. Go to Step 7. Step 6 The incoming request is rejected. Step 7 The scheduler waits for the next request. Let us discuss the complexity of the REM algorithm. According to the above step-by-step description, we can see th a t m igration decision, migration path calcu lation and bookkeeping information update are all made at the scheduler. Thus, the scheduler has the whole view of the system. Upon a coming request, the scheduler calculates the migration probability and finds the migration path if the migration happens. Then, it updates the bookkeeping information accordingly to keep a consistent view of the system. It can schedule the next request instead of waiting for the migration among media servers. The decision making at the sched uler and the step-by-step migration can be done in parallel. In such a scenario, the complexity of the REM algorithm depends on the m igration path calculation, which is the most time-consuming task. Since the destination server is not known a priori, the migration path calculation is a single-source shortest path problem and can be solved using D ijkstra’s algorithm [23]. The tim e complexity is 0 ( N 2), 64 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. where N is the number of servers in the system. The REM algorithm can be easily extended to the VoD system composed of heterogeneous servers, where each server may have different storage capacity and/or service capacity. REM puts no restriction on server storage capacity. The only change is the bookkeeping information at the scheduler. For servers cached more video replicas, there may be more service status entries. To deal with servers with different service capacity, we define R min and R max (0 < R min < Rmax < 1) as the normalized thresholds such th at M in d h i = LiRmin and M axJJit = L iR max, where L, is the service capacity of server S '* . We can configure R min and R max instead of M in d h and M a x d h and use previous implementation at the scheduler. The difference between the DASD dancing algorithm and REM can be sum marized as follows. In the DASD dancing algorithm, the optim al value of the cost function is obtained when the service load is balanced among media servers. The DASD dancing algorithm tries to maintain load balancing without consid eration of the server load status. However, when the server is lightly loaded, it has enough service space to accommodate new requests locally without migra tion. In this stage, the system can tolerate certain imbalance without the risk of increasing the failure rate. Furthermore, achieving load balance through request migration will increase the system cost. In contrast, REM applies a different mi gration algorithm by taking the server load into consideration. W hen the server is lightly loaded, new requests are accepted locally, which reduces the migration 65 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. cost. As the service load increases, the migration probability also increases and REM migrates requests out more aggressively. REM achieves a more balanced load distribution than the traditional migration algorithm via earlier migration. Finally, load balancing becomes im portant and affects the failure rate and the migration cost in a heavily loaded system in REM. Let us briefly discuss the choice of param eters pmax, M a x d h and M in d h based on some intuitive arguments below. The detailed discussion is presented in Section 4.4. In RED, the gateway detects the average queue size when a new packet comes and randomly drops packets in the queue. Packet dropping is a kind of feedback to let TC P decrease the congestion window and retransm it the dropped packet. pmax is typically set to a small value to reduce oscillations in the average queue size at the gateway and in the packet-dropping probability [27]. In a VoD system, the situation is somehow different. The in-service request cannot be dropped but migrated. Besides directly dispatched requests, each server may need to serve some migrated requests from its peer servers. When the whole VoD system is under heavy load, request migration happens frequently and the number of in-service requests on a media server increases very fast. Thus, we would like to set pmax to a larger value to more aggressively migrate out in-service requests when the service load is near MaxJth. There are also considerations in the setting of thresholds M in d h and M a xd h . 66 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. First, when the server is lightly loaded, it still has large service space to accom modate new requests so th at there is little chance th a t th e request will be blocked or rejected. Moreover, each request m igration involves the cost of control message passing, admission control exercising and job rescheduling. For the simulations in this work, we set M in d h to 60-70% of the full service capacity to avoid unnec essary migration. Second, when service load is between two thresholds, request migration starts. Among all in-service requests on a server, some are migrated from its peer servers. The server must have enough service space to accommodate those migrated requests. Therefore, M ax d h —M in d h cannot be too small. When the service load is near M a x d h , request migration happens frequently and we still need to leave some service space for the request m igrated from peer servers. The last point is to set M a x d h near the service capacity b u t not equal to it. In the REM algorithm, for each request migration starting at server i, we have to find a feasible path. Due to the migration cost, we want to find the shortest migration path. When there are more than one shortest path, we choose the path based on the load balance criterion. T hat is, let us define load balance degree as A = L). The migration path with the maximum A value is selected. Note that, given the total number of in-service requests in a VoD system, A is maximized when li/L « l2fL « • • • « I n / L . 67 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 3.3 D ynam ic V ideo C ontent U p d ate For all video files in a YoD system, the access probability distribution is usually highly skewed. Some video programs are vastly more popular than others at a given time. Moreover, the access probability varies from tim e to time. For exam ple, news and weather programs are more accessed than others in the morning, since people want to know what happened and what is going to happen when they get up while dram as and movies become hot in late evening. The difference between the actual and forecast video access patterns tends to result in request failures. To reduce the failure rate, we should predict the video access pattern and dynamically adjust the number of copies of each video program in the system. Dan et al. [21] proposed a dynamic segment replication policy to re allocate video copies according to the access probability. In [21], several physical disks are grouped together as a logical disk. The basic storage unit is called the “segment” of a fixed size. There are two types of segments, i.e. permanent and temporary. Perm anent segments hold the video copy. W hen the access rate to a video file increases, the video program is dynamically replicated to tem porary segments to meet such a demand, where the replication happens between logical disks. Since video usually contains a large amount of data, inter-disk replication is both time- and bandwidth-consuming. W hen the system is heavily loaded, this replication algorithm will affect the overall system performance and may lead to interruptions to in-service requests. 68 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Instead, we present a dynamic content update algorithm that predicts the video access probability periodically and replace some copies of cold video with hot video. We assume th at there is a tertiary storage server (e.g. a CD jukebox or a tape) which stores the whole video database. However, the service capacity of the tertiary storage server is very limited compared to th a t of media servers in the VoD system. Content update happens between the tertiary server and media servers. Moreover, content update does not affect the video service since it uses separate data channels. Our algorithm proceeds with the following two steps. First, we measure the relative popularity of all video files within time window W and use an exponentially weighted moving average (EWMA) to predict the access probability in the near future. Let n denote the total requests in time window W and rij the number of request for particular video j. The relative popularity of video j is Uj/n. Then, the video access probability (p3 is updated by the following equation: < p j < — (1 - + w^rij/n (3.8) The weight w$ determines the time constant of the above filter. It is often th at a movie suddenly becomes hot due to some event (e.g. it won an academy award or is on its first show) and its hotness may last for some time. Another case is that video files belonging to a certain category are popular in a certain period of time 69 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. in one day (e.g. dram as and movies in the night). Based on these considerations, we should set to a fairly large value to respond quickly to the change of access probabilities. In our simulation, w# is set to 0.8. Next, we use the Adams divisor method described in Section 3.1.1 to get the predicted number of copies K j for video j. Let A K j be the difference between the predicted and the current video copy apportionment for video j. A K j indicates the relative popularity change. A K j > 0 means video j gets more popular, and we need to allocate more copies to servers. A K j < 0 means the relative popularity of video j decreases, and we need to remove one or more copies of th at video to make room for hot video. The proposed content update algorithm is a greedy method. We use a copy of video j to replace a copy of video j, provided these two copies satisfy the following criteria 1. There is no in-service request on the selected copy of video j; 2. If the selected copy of video j is on server i, then video j has no copy on that server; 3. A K j > 0 and A K 0 < 0. Among all the (j, j) pairs satisfying (l)-(3), we choose video j with the maxi mum value of A K j. If there are more than one candidates for video j, we choose video j with the minimum value of A K r After each video copy replacement, A K j and A K 3 are updated. 70 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 3.4 E xperim ent R esu lt and A nalysis We evaluate the performance of four request m igration algorithms: traditional re quest migration, DASD, REM, and REM with content update. In the traditional algorithm, request migration occurs when the server is at its full service capacity and a new request is blocked at this server, which is referred to as the last-minute request migration. The following parameters are adopted for the VoD system. There are totally 140 video programs and 24 video servers. Each server has 4 physical disks, and the 4-way striping is implemented. Thus, the total number of physical disks is 96. Each physical disk has a storage capacity of 3 video files. It is assumed th at all physical disks are identical in performance with a service capacity of 30 concurrent video requests per disk. Consequently, the storage capacity of a media server is 12 video files while the service capacity is 120 concurrent requests. The access patterns adopted by the simulation are described below. The user request is modelled as a Poisson process with an arrival rate of ji requests/minute, where p varies from 26 to 34. The access probability of each of 140 video programs is modelled by the Zipf-like distribution [33] with 6 = 0.27. All video files are assumed to have the same length in terms of playback time, which is set to 90 minutes. The VoD system is initially idle. Then, it can serve up to 2880 concurrent user requests in a 90-minute period. This implies an average arrival rate of 32 requests/m inute. In the simulation, we use p to represent the service load of the 71 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. VoD system. Our simulation work was conducted over a consecutive period of seven days. Relevant data were recorded every five minutes. The forecast access probability of each video program is the average access probability over the whole simulation period. As to the param eters of the REM algorithm, the lower and the upper thresh olds are set to 80 and 105, respectively, and pmax is set to 0.8. The weight in the content update algorithm is set to 0.8. The time window is set to 20 minutes, which means content update is performed for every 20 minutes. The badness threshold of the DASD dancing algorithm is set to 10. We implemented REM as a background process to take advantage of the com puting power of the system. In this sense, all early migrations of REM are not counted as the migration cost until the server reaches its service capacity (so th at the new request are blocked and have to wait before the whole migration process finishes). The request migration process includes commands exchange between servers and the bookkeeping information update at the scheduler. However, it is im portant to point out th at no video data migration involved in the process. First, let us evaluate request failure rate. Figure 3.3 shows the request failure rate versus the system service load in terms of user request rate. We see from the figure th at the request failure rate increases as the average request arrival rate p increases, which is an indicator of the increase of the service load. W hen the sys tem is lightly loaded (p < 30), all four schemes can achieve a good performance. 72 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. When the system load is around its service capacity (30 < fi < 34), REM alone can reduce the request failure rate by 10% to 15% from the traditional request mi gration algorithm. DASD dancing algorithm performs slightly worse than REM. Both algorithms consider to balance the load and redistribute load among servers, which can reduce the chance th a t a server reaches its service capacity too early to directly accept future requests without further migration. REM with content update achieves the lowest failure rate since it re-allocates video copies adaptively according to time-varying video access probabilities in local period. We use load variance L V , which is defined as 1 N i N ^ = (3-9) JV i= 1 iv 1=1 as a measurement of the degree of load balance in the simulation. Figure 3.4 shows the load variance value as a function of the simulation time when the system load is near its capacity (p. = 32). We can see from the figure th a t the traditional request migration algorithm results in a much larger load variance than REM all the time in the simulation. This indicates th at REM achieves a more balanced load distribution than traditional request migration. Figure 3.5 illustrates the average load variance value in the simulation period under a different user request rate (or equivalently, the service load). When the system is lightly loaded, most requests are served locally. Some servers with the 73 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. popular video copy get accessed more frequently than others. As the service load increases, frequent migration is observed and the service load is gradually balanced among servers. Thus, the load variance decreases as the service load increases. Again, REM has a much smaller load variance value than traditional request migration all time in our simulation. The DASD dancing algorithm achieves a more balanced load than REM. However, there is little difference between REM and DASD dancing, and the values almost overlap when system load increases to near system capacity. In the request migration process, if a server along the migration path has already reached its service capacity, it has first to migrate one of in-service requests out to make room for the incoming request. In the mean time, the new request is held at the starting server waiting to be served, which results in service delay. For example, in Figure 3.1, Server 2 needs to migrate one request for video C to Server 3 before it can accommodate the incoming request from Server 1. At the same time, a new request for video A is held on Server 1. Let us assume th at each migration step takes the same amount of cost, the service delay can be measured by the number of intermediate servers along the migration path, which have reached their service capacity. Figure 3.6 shows the migration cost in the simulation period for traditional migration, REM and DASD dancing. As the system load increases, more and more servers reach their service capacity. Therefore, service delay increases. The DASD dancing algorithm migrates request 74 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. from over-loaded servers to under-loaded servers. It requires all servers, except the start server, along a migration path not reach their service capacity. So the whole migration process can finish in one step. REM and the traditional scheme attem pt to find the shortest m igration path. Request migration is processed step by step from the end server to the start server. We count the number of migration steps as the cost for th at migration process. REM achieves the lowest cost among the three since it considers the server load status in migration decision and avoids excess request migration in a lightly loaded system environment. The DASD dancing algorithm, on the other hand, only considers the load balance effect. It has a much higher cost than REM especially when the system is lightly loaded. As the system load increases, more and more servers reach their service capacity. Last, let us examine the performance of REM in VoD systems of different service capacity. Figures 3.7 and 3.8 show the failure rate and service delay of the system, in which each server can handle 10 concurrent user requests. Figures 3.9 and 3.10 show the metrics when each server can handle 60 requests at the same time. We see th at REM can achieve almost the same performance improvement from traditional migration in both cases. We can get the conclusion th at the performance of REM scales well under different system service capacities. 75 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. failure rate as function of system load 0.09 0.07 ® 0.06 T raditional REM - © - D A SD - e - REM +C U < u 0.05 0.04 0.03 0.02 0.01 27 30 s y s te m load (req u ests/m in ) Figure 3.3: The request failure rates plotted as a function of the service load (30 requests/disk) load b a la n c e o v e r s im u la tio n tim e 600 — T rad ition al m igration — R EM algorithm 500 400 200 100 2000 4000 6000 sim u la tio n tim e (m in) 8000 10000 12000 Figure 3.4: The load variance measurements along simulation time (30 re quests/disk) 76 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. load balance as function of system load 450j T raditional m igration REM algorithm - e - D A S D - B - REM + C U _______ 400 350 300 £ 250 T O •e T O > to 200 150 1 0 0 26 s y s te m load (req u ests/m in ) Figure 3.5: The average load balance as a function of the service arrival rate (30 request s/disk) m igration c o s t a s function o f s y s te m load T raditional m igration - 0 - REM algorithm - Q - D A S D ________________ o o c o _gj E 27 s y s te m load (req u ests/m in ) Figure 3.6: The average service request delay as a function of the service arrival rate (30 requests/disk) 77 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. failure rate as function of system load 0.09: Traditional REM D A SD d ancing 0.08 0.07 0.06 < o r e g > 0.05 0.04 0.03 0.02 0.01 10.5 8.5 sy s te m load (req u ests/m in ) Figure 3.7: The request failure rates plotted as a function of the service load (10 requests/disk) m igration c o s t a s function o f s y s te m load T raditional m igration REM D A S D d a n cin g C O o o c o r e 10.5 s y s te m load (req u ests/m in ) Figure 3.8: The average service request delay as a function of the service arrival rate (10 requests/disk) 78 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. failure rate as function of system load 0.14 Traditional REM D A S D d a n cin g 0.12 0.1 a ) c o S > 0.08 'c o 0.06 0.04 0.02 70 62 64 s y s te m load (req u ests/m in ) Figure 3.9: The request failure rates plotted as a function of the service load (60 requests/disk) m igration c o s t a s function o f s y s te m load Traditional m igration REM D A S D d a n cin g § c o 7 3 03 'E 56 s y s te m load (req u ests/m in ) Figure 3.10: The average service request delay as a function of the service arrival rate (60 requests/disk) 79 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Chapter 4 Performance Analysis for Request M igration In this chapter, we study the performance of request migration algorithms in terms of two metrics, i.e. the service delay time and the request failure rate. A state m atrix structure is proposed to facilitate the performance analysis. It stores the service load information of each media server at certain time and plays an im portant role in the determ ination of migration paths. Based on the state m atrix structure, we develop two methods to calculate performance metrics. The first method is to use topology calculation based on the tree-structured state m atrix space (SMS), which contains all valid state matrices. For the second method, we establish a formal description of media server system states and services. Their 80 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. definitions are based on the state transition mechanism between valid state ma trices. We further develop a state transition m ethod to simulate the request migration process and calculate the expectation of the failure rate and service delay in each step. The final result is the averaged value in each step. These two analytical m ethods are applied to traditional migration and the proposed REM scheme. Our theoretical results m atch well with experimental results. It is also dem onstrated th at the REM scheme outperforms the traditional migration scheme with shorter service delay and lower failure rates. 4.1 S tate M atrix Structure of V oD System s In this section, we propose the use of a state m atrix structure to describe a VoD system. A state m atrix stores the load status of each media server at a certain time instance. W hen a request migration process happens, the state matrix together with the connectivity graph, which describes the physical connection topology of media servers, is used to determine the shortest migration path. The length of the migration path can be obtained by calculating the “distance” (a formal definition to be given below) of the two state matrices before and after the migration process. Both analytical methods developed in this chapter are based on the state m atrix structure. 81 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 4.1.1 S ta te M atrix and M igration P a th W hen a new request is dispatched to a server (hereinafter referred to as starting server), it decides whether to accept the request locally or migrate it out based on the server’s current load status. For the traditional migration algorithm, when the current load of a server reaches its capacity, request migration happens. For REM, request migration happens with a certain probability when the load is between M in d h and M a x d h and surely happens when the load is above M a x d h . If request migration should happen, the migration path is determined based on the connectivity graph of the VoD system and the service state of each server. The connectivity graph decides whether there is a path between two servers while the service state decides if the server can really adopt th at path. Therefore, the service state plays an im portant role in the migration path selection. We use the following structure H = (/fy)vxM to represent the current load on servers, where H itj > 0 denotes the number of current in-service requests for video j on server i. We can interpret H as the state information of the VoD system. Before the VoD service starts, there is no in-service request on servers so th at the initial state m atrix is a zero matrix. Here, we use Onxm to represent the initial state. A change of the state m atrix occurs when a new request is accepted by a server. This request is either accepted locally or through a sequence of request migration steps. We use 5 and r to represent these two transforms, respectively. Next, we provide the definition of a valid state matrix. 82 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Definition 4.1.1 The valid state matrix must satisfy the following constraints: 1. If Ajj = 0, then H itj = 0 for all time; 2. E ^ i ^ < L , V i = l,..,iV. The first constraint implies that, in order for a server to serve a requested video title, the video title must have one copy cached on the server. The second one restricts the total number of in-service requests on a server not to exceed its service capacity L. Every valid state m atrix is reachable from the initial zero state through a sequence of the 5 and/or the r transforms. Two state matrices and H ^ are said to be consecutive states if one state can be directly reached from the other through either the 5 or the r transform. From the system state viewpoint, when a new request is accepted by a server, there is a state transition between two consecutive state matrices, and the “difference” between these two states reflects the effect of the applied transform. In order to study the relation between the state m atrix transform and the migration cost, we give the following definition, of the distance between two consecutive state matrices and Definition 4.1.2 The distance between two consecutive state matrices and is calculated as £ > ( # ( 2 ) , t f W ) d j f £ | ^ ( 2 ) _ ^ 1 ) | 83 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Now, we can calculate the distance of consecutive state matrices under the 5 or t transform. Assume th a t the new request is dispatched to starting server S H. As defined earlier, the < 5 transform means the new request is accepted locally on the starting server and no migration happens. Under this situation, the load of the starting server is increased by one and the load on all other servers remains unchanged. Thus, the distance is 1. W hen there is a request migration process, the relation between the migration path length \M P \ and the distance defined above can be expressed by the following lemma. Proposition 4.1.1 The migration path length can be calculated as = (4 2) where H ^ and H^> are two consecutive state matrices. Proof. We prove Lemma 4.1.1 by considering a general migration example as shown in Fig. 4.1. The migration path can be represented as S ^ Si4 S i2 — S l:i. After the migration, the load on server S l:i is increased by 1, which comes from one request for migrate-in video V j 3 . For all other servers in the migration path, their requests for the migrate-in video title are increased by 1 each, while their requests for the migrate-out video title are decreased by 1 each. The service load of these intermediate servers does not change after migration. Thus, the distance in this case is (2 x \M P \ + 1). This completes the proof. □ 84 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. video title (V) 1 ... ji ... j 2 m edia server (S) 1 j 3 ... M ii O V, 2 • " V * V j2 one step of m igration ▼ o - o H i3 j3 = H i3 j3 + 1 N Figure 4.1: Request m igration with the state m atrix representation The above property establishes the relation between the state m atrix distance and the migration path length. If we consider each step in a migration process takes the same delay, the service delay is proportional to the path length. There fore, we can obtain the service delay through the calculation of the “difference” between consecutive state matrices. According to Proposition 4.1.1, we can calculate the length of a migration path the migration. W hen a migration is needed, the scheduler constructs a dynamic migration tree with root at the starting server. The topology of the tree is based on the static connectivity graph among servers as well as the current state m atrix of the VoD system. Servers on the same level of the tree are sorted in an increasing order of their service loads. The shortest migration path is obtained by a breadth- first search on the migration tree. The first available server under its service 4.1.2 S ta te M atrix S pace (SM S) through the distance between two consecutive state matrices before and after 85 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. capacity is chosen as the end server in the migration path. In the following performance analysis, it is assumed th a t the system is stable. T hat means th a t the performance metrics (i.e. failure rate and service delay) will converge to some distributions as long as the experiments are carried out enough times. Under this assumption, the goal of our analysis is to determine the statistical mean of these metrics. We propose a state m atrix space (SMS) model to serve as the basic framework of our analysis. It is defined as follows. D efin itio n 4.1.3 The state m atrix space (SM S) is a m apping from all valid state m atrices H to a directed graph G s m s = (V h ,E h ) such that 1. VH = {H\H is valid,}; 2. E h = { ( H U , H < -2))\H W H (2 ) or # 0 )} Figure 4.2 illustrates the SMS model. Note th at SMS is a function of basic system parameters, such as the number of servers, the number of video titles and the video allocation matrix. Once these parameters are determined, SMS is also determined. Each valid state m atrix is mapped to a node in SMS. There is a root node in the space, which is the initial zero state matrix. Every other state can be reached from the initial state by a sequence of 5 and/or r transforms. The difference between SMS and a typical tree structure is th a t one state m atrix can be directly reached from multiple state matrices, thus the in-degree can be greater 86 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Level Initial State Matrix Request Migration g (State Change) Accept Locally x (State Change) \ Full Service Load \ Contract Node Figure 4.2: Illustration of the state m atrix space (SMS) than 1 while the in-degree of a typical tree is equal to 1. SMS is actually called the contracted tree as shown in Figure 4.2. Consider two directly connected state matrices H W and in SMS, where H^> is obtained from by either the 5 or the r transform. The system load is defined as the total number of in-service requests in the system. Then, the transform from to leads the system load increased by 1. If two state matrices are reachable from the root through the same number of transform steps (i.e. they are at the same level), these two states have the same system load. These facts are summarized as the following proposition. P ro p o sitio n 4.1.2 State m atrix space (SM S) is a contracted tree with the initial zero state m atrix Onxm as the root node. Both the in-degree and the out-degree o f a node can be greater than 1. State m atrices at the same level have the same system load but with different load distributions among media servers. They can be reached from the initial state through the same number o f transform steps. 87 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. The relation between state matrices in SMS and the migration path selection is examined below. Let us consider the access probability of an individual server. In the initial allocation stage, the number of copies assigned to a video title is usually proportional to the access probability of th at video title. Then, given the video copy allocation m atrix A:V xm- we can calculate the server access probability as M 6- M A- • 1 < 4- 3> Thus, each server has the same access probability. Upon receiving a new request, both the traditional migration and REM make the admission decision based on the current load status. If there a need to do request migration, the migration path is determined based on the current state m atrix and the connectivity m atrix of the VoD system. It is proper to let the starting server choose the migration path. For the migration path illustrated in Figure 3.1, consider the one step migration S e r v e r1 Server2. This migration is valid if and only if there is a connection between S e rv e r 1 and Server2 and S erver 1 has in-service request for V id eo B as well. In general, the whole migration path is decided by the tuple (S start, H , G ). Since the VoD system is stable, we can calculate the average delay and use it as the performance measurement. As mentioned earlier, we can use the migration path length to measure delay. We need to find out the average migration path length. There are two kinds of transforms from one state to another. Accordingly, 88 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. there are two kinds of edges in SMS: the 5-edge and r-edge. For the 5-edge, which means the request is accepted locally without migration, the length of migration path is 0. For the r-edge, which means certain request migration, we assign the cost to be the migration path length. Then, the average migration length is the average cost. Thus, we have the following property. P ro p o sitio n 4.1.3 Let |r| denote the cost o f a r transform and \ET\ the total num ber of t -edges. The average path length is T,t(E E t \T 1*1 < 4 ' 4 ) 4.2 M edia Server System Form alization In this section, we discuss the media server system description and the relationship between the metrics of request migration and system parameters. Here we do not consider dynamic content update and assume the video content on each server will not change in the service period. Consider a media server system under certain state determined by video copy distribution (A), current state m atrix (H ) and video bookkeeping information (ST). The video bookkeeping information S T is an array of M elements. The j th element ST 3 is a list of two tuples (S e rv e r, S ta rtin g tim e ) containing the in formation of current in-service requests on video Vj. Let r(i,j) be the request 89 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. dispatched to server i for video V3. We can think the media service as the state m atrix transition process. Upon receiving r(i,j), request migration decision is made based on different scheduling algorithms. If the request is rejected by the system, there is an identical transition between current state matrix and next state matrix. If the request is accepted, either at the starting server or at some other server through migration, current state m atrix will change and the transi tion depends on the migration path. W hen there is service end at server i for video Vj (denoted by e(i,j)), the state m atrix will also change. We have the following propositions on modelling media system and media service. P ro p o sitio n 4.2.1 The media server system is defined by the fo u r tuple (A, H , S T , Scheduling), where A is video copy allocation m atrix, H is current state m atrix, S T is video bookkeeping array, Scheduling is the scheduling algorithm used which can be either “ traditional” or “ R E M ”. P ro p o sitio n 4.2.2 The media service is defined as a fu n ctio n f \ 7i ^ Tt, where TL =f {H\H is valid} is the set o f all valid state matrices. Let H ^ denote the original state m atrix and H ^ the mapping o f under f . The mapping satisfies the following properties: 1. I f request r(i*,j*) is rejected, f is an identical mapping and fo r V i and j; 90 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 2. If request r(i*,j*) is accepted directly on server i*, H u + if i = i* and j = j* # (1 ) otherwise 3. I f request r(i*,j*) causes m igration along the path VjK „ ■ ^k— 1 > ^k t f (2) h3 + r (i *’ 3*) if i — i* and j = j* , i = i x and j = j 1 } . ..,i = ik and j = j k H-j - r(i*,j*) if i = i* and j = j x, i = ix and j = j 2, ! H {1) i,3 = ik_ i and j = j k otherwise 4 ■ I f service end e(i*,j*) on server i* fo r video Vj*, H, (2) hj h W h3 otherwise Now let us discuss the calculation of two im portant metrics in request migra tion, failure rate and service delay, based on the above media service model. First consider the failure rate. In each step of media service upon receiving r(i,j), if the request is rejected, then the failed request equals r(i,j ); otherwise the failed 91 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. request is 0. We add all the failed requests in each state transition step and divide it by the total requests to the system during the service period. The result will be the failure rate. Since the service delay is proportional to the length of migration path, it can be calculated according to Equation (4.2) as long as we have got the state matrices before and after the transition. According to the media service model, state m atrix transition depends on the migration path when request m igration happens. Assume request migration happens under r(i,j ) and consider the migration path. We know th at state m atrix stores the load status of each media server at a certain time instance. W hen a request migration process happens, the state m atrix together with the connectivity graph, which describes the physical connection topology of media servers, is used to determine the shortest migration path. Moreover, the incoming request r(i,j) defines the starting server and the migration-in and migration-out quantities at each server along the path. Given all the above factors, the migration path is determined by the tuple (A, H,r(i,j),i,j). 4.3 SM S-based Perform ance A nalysis on R equest M igration In this section, we first identify the property of a valid migration path. Based on the property, we present a way to calculate the failure rate and service delay for 92 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. the traditional migration algorithm and REM. We use the following symbol to represent a general m igration path obtained from the connectivity matrix M P { S n ,Vh ,-- - ,S il,,Vh ,S,M ,k) S ' S„ S h D efin itio n 4.3.1 The m igration path M P is valid if and only if there exists a tuple (S start, H , G) such that there is a request m igration and M P is chosen with the shortest path. The following proposition illustrates the characteristics of a valid migration path. P ro p o sitio n 4.3.1 I f a m igration path M P satisfies the following constraints, it is a valid path. 1. Sim and Sijn + 1 m ust have copy ofVjm, m = 1, 2,..., k; 2. S^, Si2,..., Sik+ 1 are different from each other; 3. V jfi; Vj2,..., Vjk are different from each other; 4. Sim cannot have copy ofVh , Vj2!-■ ■ , Vjrn_2, m = 3 , 4 , ..., k + 1. Proof. The first constraint is obvious. The two adjacent servers along a path must have the same copy of video for request migration. Otherwise, the migration 9 3 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. process cannot happen. The second and third rules ensure the migration path is cycle-free. Suppose th at we have a path in which server S u appears twice, like • • • — > • Sit — ► S u —> ■ ■ ■ — > ■ S u — > Sim Then, we can replace this path with • • • — > Sit —> S u — > Slrn — >•••, which is shorter than the original one. It is similar when applied to video duplication on the migration path. The fourth rule eliminates the probability th at there is a “shortcut” on the path. Suppose V 31 V 32 we have the following migration path: S tl — > Si2 — > Si3. If server ,S\3 also have a copy of V]}, then we can skip S l2 and make a direct migration from S n to S l3: ^ ,S\3. This new path is shorter than the original one. Now, we prove if a migration path satisfies all the above constraints, there exists a tuple (S start, H, G ) such th at this path is chosen as the shortest path. We construct the state matrix H and the starting server to satisfy the following conditions: !• h im,jm = L , m = 1,2,..., A :; 2- E j i i hlk+uj < L; 3. h ij = 0, for all other items; 4. S start Si^. Under these conditions, when a new request is dispatched to S ^ , which has reached its service capacity, request migration happens in the traditional migration scheme as well as in REM. We construct H and M P {S I ,1, , • • •, Sik, Vjk, 5,fc+ 1 ; k } is the 94 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. only migration path starting from , which is also the shortest path to be chosen. Thus, it is a valid migration path. Finally, we prove th at H is a valid state matrix. We can construct the request sequence th a t contains L requests for each video title V j 15 V j 2 , . . . , V j k . W hen a new request for video V ] m , m = 1, 2,..., k comes, it is dispatched to server Sik and accepted locally. After L x k steps, we get state m atrix H. Thus, H can be reached from the initial state m atrix by a sequence of 8 transforms. □ Proposition 4.3.1 gives a way to enumerate all valid migration paths from connectivity m atrix G . Each r-edge in SMS corresponds to a migration path. Since the tuple (S start, H , G ) determines the migration path, the total number of r-edges is equal to the total number of such tuples. However, given a tuple ( S s t a r t , H , G ) , it is difficult to find what the migration path is, if there exists a migration. Here, we start from each valid migration path. Given a path, we calculate the number of tuples corresponding to th at path. This m ethod is valid since SMS contains all possible combinations of state matrices and the starting server for each valid migration path. The following proposition illustrates this feature. P ro p o sitio n 4.3.2 For each valid migration path M P { S n ,Vjl,---,S,k,Vh ,S,k„ ,k } 95 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. SM S contains all state m atrices H such that M P is chosen as the shortest path under tuple (Sj1 5 H , G ). Proof. According to the definition of SMS, it contains all valid state matrices. For a valid migration path, if it is chosen as the shortest path under some tuple (Sh ,H, G), state m atrix H must be valid. Otherwise, the system cannot reach this state from its initial zero matrix. Thus, SMS must contain H. □ In the following, we calculate the average failure rate and the service delay of the traditional migration algorithm and REM. In the request migration process, if a server along the migration path has already reached its service capacity, it has first to migrate one of in-service requests out to make room for the incoming request. In the mean time, the new request is held at the starting server waiting to be served, which results in service delay. For example, in Figure 3.1, Server 2 needs to migrate one request for video C to Server 3 before it can accommodate the incoming request from Server 1. At the same time, a new request for video A is held on Server 1. Let us assume th at each migration step takes the same amount of time, the service delay can be measured by the number of intermediate servers along the migration path, which have reached their service capacity. Let A(p) and \MP\(p) denote the average delay and migration path length respectively, both at requests coming rate p.. Under above definition, the relationship between delay and the path length is 96 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. given by (4.5) 4.3.1 T raditional M igration A lg o rith m Here, we consider the service delay and the failure rate in the traditional migra tion algorithm. Assume the user request rate is /i. For a valid /e-step migration path M P { S il,Vj1, - ■ ■, Sik,Vjk, S ik+1] k}, we want to find the number of state ma trix H th at corresponds to M P (i.e. M P is chosen as the shortest path under tuple (Sjj, H,G)). According to Proposition 4.3.2, SMS contains all those state matrices. Thus, we can get all the T-edges th a t correspond to MP. The load distribution in H must satisfy the following constraints 1. The first k servers in the path has reached service capacity, = L, m = 1, 2,..., fc ; 2. There must be in-service request for migrated-out videos, > 0, m = 1,2,..., k\ 3. There is service space on the end server, X pii hik+1,j < A; 4. There is no migration path existing on H whose length is less than k. 97 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Given the above constraints, we can calculate the number of corresponding state matrices at request rate /i as r{S ii, Vjii''' i Siki Vjk, Sik+1] k} — < 0, fiTs < kL A — B , fiTs > kL (4.6) where A = L - l E 1=0 l + K - 2 I / J L - 1 E 1=0 \ l + K - 1 I def / J n i&Condl ( \ U + K - 1 \ h / J (4.7) C o n d i = {i\ ^ 2 k = /iTs - (k L + hk+1)} and B = L - l E 1=0 l + K - 2 I k - i L E 1=0 \ \ L - l E 1=0 l + K - 1 I l + K - 2 I 11 / L E ;=o l + K - 1 I / J ■r{S'i1, • • •, Si"-!, Vjk^ , *; fc - 1} (4.8) 98 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. and where * represents any server except those on m igration path M P such th at it constructs a valid migration path. In (4.6), A represents Constraints 1 to 3 and B represents Constraint 4. For one-step migration paths, we can rewrite (4.7) and (4.8) as " ( \ " ( \ " ' ( \ L-l l + K - 2 L - l l + K - 1 k + K - 1 A = E E n 1=0 K 1 ) 1=0 . ' y i€Cond2 y h I C o n d i {i\ h = VTS - (L + y } 10 i,l2 B = 0 (4.10) We add all T(MP) together to get the total number of r-edges at request rate p, i.e. |£rM= E r (M P) (4.11) m p is valid By using (4.6)-(4.11) and Proposition 4.1.3, we can get the average migration path length under request rate fx. The average migration delay can be obtained by (4.5). Next, we calculate the failure rate F(fP) under request rate p. Let us first consider the situation th at system load is below service capacity, i.e. /xTs < L N . Since each server has the same access probability, we only check whether a server can accept a new request. Here, “accept” means the new request is either accepted locally by th at server or accepted through request migration. In the traditional 99 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. migration scheme, if a server reaches its capacity, it cannot serve a new request locally. Given state m atrix H , the number of servers th at have not reached their service capacity is equal to the number of 5-edges from th a t server. For each migration path M P , there is a T-edge from the corresponding servers. We can calculate the failure rate as L ^J £ T O = 0 ( \ ( N (N — m) \ m V L + K - 1 L \ / n n&Cond3 ( \ L + K - 1 \ n n ( \ k + K - 1 \ N n / \ k + K - l E i =1li = ^ s N — m \ k Cond3 = {n\ ^ lin = (fiTs - m L ), lin < L} n= 1 / J (4.12) where \ET\(fL) denotes the number of r-edges at request rate /i. W hen the system load is above the total system capacity, the failure rate can be represented by (4.13) 100 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 4.3.2 P ro p o sed R E M A lg o rith m REM differs from the traditional migration scheme when request migration begins. W hen a new request is dispatched to a media server, REM compares the current service load with preset thresholds M in J h and M a x J h (M in J h < MaxJh) and decides whether request m igration is needed. W hen the service load is below M in J h , migration is not needed. W hen the load is between M in J h and MaxJh, migration happens with a certain probability. W hen the load is above M a x J h , migration happens with probability 1. This decision only applies to new requests from a client but not those requests shifted among servers. Accordingly, we need to change the migration threshold on the starting server. Here, we use a tradi tional migration scheme to replace REM. In this migration scheme, the migration threshold L ait obtained from (4.14) is no longer equal to the service capacity ( please refer to Figure 3.2 and (3.7)). We have t a x +u (Maxjth — M in J h )p max L aU = M a x J h - ---------------- (4.14) W ith this transform, all equations used in calculating the delay and the failure rate in the traditional migration scheme can be applied to REM, with the migration threshold for the starting server set to L ait . Let us discuss the complexity of the state m atrix space (SMS) based approach. According to (4.6)-(4.10), the SMS based approach is a recursive method in that 101 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. the counting of state matrices for valid migration paths of length k (1 < k < N — 1) is based on the results for valid migration paths of length from 1 to k — 1. The complexity of the SMS based approach depends on the calculation of valid migration paths of length k. According to constraints 2 and 3 in Proposition 4.3.1, for given k, we have P ^+1P m candidates (where P- denotes the perm utation of j elements from a set of i elements and M is the number of video objects). We can see th at the tim e complexity is exponential. However, the SMS based approach is not a real-time scheduling algorithm for the VoD system. Instead, we use it as an offline algorithm to dem onstrate the performance improvement of REM compared to the traditional migration. The comparison is shown in Figs. 4.3 and 4.4. In the following section, we propose a more efficient approach using the state transition model of the request processing discussed in Section 4.4.2. 4.4 S tate Transition-based Perform ance A naly sis on R equest M igration Based on the proposed media service model, we develop a state transition method to simulate the real VoD service and calculate the system metrics such as failure rate and service delay. Let us first give the expression of incoming request r(i,j). From the statistical point of view, the probability th at the incoming request is for video Vj equals the 102 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. popularity of th at video. Moreover, the request is dispatched randomly to the server with copy of Vj. We can model the request as r(i,j) = c p U JA hr According to the analysis in Section 4.2, the calculation of failure rate and service delay depend on the state matrices before and after one-step state transition. Since state transition happens when there is some incoming request or service ending at media server, we need to update the current state m atrix in these two events accordingly. For the four cases shown in Proposition 4.2.2, it is very easy to calculate the result state m atrix when the incoming request is directly accepted or there is service end. W hen request migration happens, we need to first find the shortest migration path and then update the server status along th at path. Another im portant issue in state m atrix transition is the scheduling algorithm adopted by the system, which decides when the migration should happen. Based on the discussion on how to find the shortest path in Section 4.4.1, we study state matrix transition under traditional migration algorithm and REM in Section 4.4.2. 4.4.1 S h ortest M igration P a th C alculation In order to find the shortest migration path, we first study some of its properties. We have the following proposition. P ro p o sitio n 4.4.1 A ssum e that request migration happens under request r (i*, j*). Let H denote the current state matrix. Then 1. Server i can migrate out video Vj if and only if H ij > r(i*,j*); 103 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 2. The last server i on the migration path satisfies L — X^=i Hi The above property tells th at in order for server i to migrate video Vj, it must store copy of Vj and at the same tim e have in-service request of Vr In other words, service m igration depends on the video allocation m atrix (A) and current state m atrix(iJ). We further define a companion m atrix H ° from H , with i/v indicating the “ability” of server i to migrate out video Vj. Definition 4.4.1 A ssum e the incom ing request is r(i*,j*). The companion m a- 1 if H j >r(i*,j*) 0 otherw ise Next we calculate the connectivity m atrix G of media servers. Let G l 'k' 1 denote the fc-step connectivity m atrix defined as follows trix H ° is derived from state m atrix H as: = < /'■'iW_ i,j 1 if shortest path from server i to j is of k steps and i j (4.15) 0 otherwise In order to calculate G ^ f we define a new m atrix operator 0 that is similar to m atrix production except it replaces the scalar multiplication and addition with logical operations “AND” and “OR” . Then G^k\ k = 1, 2,..., N — 1 can be calculated as follows: 104 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. G (1 ) = ffc ®AT - / , G (2) = (H c < g > AT)2 - G (1 ) G (tv-i) = ^ At ^ n - i _ ^ 2 G {k) (4.16) k=0 where I is the unit m atrix and = 0 for z = j. The server connectivity m atrix G can be derived from G^k\ k = 1, 2,..., N — 1 as G = Yhk=\ kG^k\ Assume the shortest migration path under request r(i*,j*) is Given th at the path is the shortest among all the viable paths and according to Proposition 4.4.1, we can find the last server on the path M i* k = m in{G G ,jL > r(i*,j*),Gi*iik > 0, i k ^ «*} (4-17) t = i Since the path is the shortest, all the intermediate servers already reach the service capacity. Using this property, we can find all the servers along the path i * k- 1 = m in{i|G M. = 1, Gi*ti = G ^ . - 1},..., = m in{i|GM* = 1, Gi*ti = 1} (4.18) 105 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. All the migrate-in and m igrate-out videos can be found using Proposition 4.1 as follows = 1, Aijj = 1},..., j* k = m in { j| = 1, k i y = 1} (4.19) Here we choose the server and video with the smallest index if there are mul tiple options. 4.4.2 S ta te M a trix T ransition Request scheduling algorithm decides when request migration should happen. We now discuss state m atrix transition rules under traditional migration algorithm and REM. Traditional M igration Algorithm Traditional migration algorithm uses “last-minute” migration. New request is accepted directly at the starting server until it reaches service capacity. Then the server starts to migrate out request. If there is no viable path, the request is rejected. The four cases stated in Proposition 4.2.2 can be directly applied to the state transition in traditional migration scheme. Random Early M igration REM uses two thresholds to decide when request migration should happen: 106 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. If the current load is less then the lower threshold, the incoming request is ac cepted directly at the starting server; if the load is between the lower and upper thresholds, the request is m igrated in certain probability which is a linear func tion of server load; if the load is greater than the upper threshold, the request is migrated out in probability 1. Let H (' 21^ and H^2 2 > denote the result state m atrix when the request is accepted directly and when there is migration. We need to change Proposition 4.2.2 as follows H {2) = < jy(D # ( 21) L — r(i*,j*) < i Hj-Pj and there is no viable migration path E£Li < M in J h or M M a x J h < Y H ™ < L — r(i*,j*) j = i but there is no viable migration (4.20) path (1 - Pi)H (2 1 ) + ViH {22) M in J h < E j i i < M a x J h 22) and there is viable migration path M a x J h < Zf= i H p j Let us discuss the time complexity of the state transition based approach. 107 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. First, we can calculate G (k) recursively as k — 1 G (h) = (H c 0 AT)k - ° {i) = (H ° ® a T ) ® G'(fc_1)- (4-21) i= 0 According to (4.21), we only need to calculate H C® AT once and save the result for later use. The calculation of G (k) involves m atrix operation ®. Since 0 operation is composed of logical “AND” and “OR” and the elements of both H c ® AT and GK*-1 ) are either 0 or 1, it can be implemented very efficiently using bit operations. Second, G ^ , 1 < k < N — 1, contains all server pairs with the shortest distance between each other being fc-steps. If G (k- = 1, then G y = 0 for any t such th at t ^ k. After we get G^ij = 1, we can immediately set G^j = 0 for all t > k, which will save a lot of computation. Last, the time complexity of (4.17) is O (N M ). (4.18) and (4.19) both have tim e complexity of 0 ( N 2). The analysis shows th at state transition based approach is more efficient than SMS based approach. 4.5 E xperim ent R esult and A nalysis In this section, we apply two analytical methods derived in Sections 4.3 and 4.4 to traditional migration and REM, and evaluate the performance of these two migration scheduling algorithms in term s of the failure rate and service delay. The following parameters are adopted for the VoD system. There are totally 140 video programs and 24 servers. The storage capacity of a media server is 12 video 108 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. files while the service capacity is 120 concurrent requests. The user request is modelled as a Poisson process. The access probability of each of video programs is modelled by the Zipf-like distribution [33] with 9 = 0.27. All video files are assumed to have the same length in playback time, which is set to 90 minutes. The VoD system is initially idle. In the simulation, we use the request rate fi (the number of requests per minute) to represent the service load of the VoD system. Our simulation work was conducted over a consecutive period of seven days. Relevant data were recorded every five minutes. As to the parameters of the REM scheme, the lower and the upper thresholds are set to 80 and 105, respectively, and pmax is set to 0.8. First, let us compare theoretical results obtained by the SMS-based method with numerical results. Figure 4.3 shows the request failure rate versus the user request rate for the traditional migration scheme and the REM scheme. We see from the figure th a t the request failure rate increases as the average request arrival rate p L increases, which is an indicator of the increase of the service load. When the system is lightly loaded (say, // < 30), both schemes achieve good performance with a failure rate less than 4%. When the system load is around its service capacity (30 < fj, < 32), REM reduces the request failure rate significantly in comparison with the traditional request migration scheme. Theoretical results are plotted in dashed lines, which match well with experimental curves in both cases. The error is less than 10% in the experimental results. Figure 4.4 shows 109 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. the average service delay for the traditional migration scheme and REM during the simulation period. Here, we vary the request rates from 26 to 32 per minute. As the system load increases, more and more servers reach their service capacity and, therefore, the service delay increases. For all system loads, delay in REM is much smaller than th a t in the traditional migration scheme. Theoretical results m atch well with experimental ones in service delay again. Next, we examine results obtained using the state transition method. Figure 4.5 and 4.6 show the request failure rate and service delay under different user request rates, respectively. Theoretical results are plotted in dotted lines, which m atch well with experimental curves in both cases. The error is less than 5% with respect to experimental results. Last we consider the effect of REM param eters on the request failure rate and service delay. There are three im portant parameters in REM configuration: the upper threshold (M a x J h ), the lower threshold (M in Jh ), and the maximum migration probability (Pmax)• From the statistical viewpoint, the impact of pa rameters is primarily on the setup of migration thresholds. Let use (4.14) to represent the “virtual” threshold used in REM. The failure rate and service delay as a function of L ait are shown in Figures 4.7 and 4.8, respectively. The request rate ranges from 26 to 34 requests per minute as shown by different styled curves. We can see from these two figures that, for small L ait value, there is no change in 1 1 0 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. the failure rate while service delay increases as L ait decreases. This is because mi gration happens more frequently when L ait is small, which will increase the service delay but contribute little to the failure rate. Thus, a certain degree of migration can reduce the failure rate while maintaining relatively low service delay. The failure rate will become “saturate” when more migration requests are processed. On the other hand, over-migration will result in longer service delay. When L alt increases to a larger value, both the failure rate and service delay increase. When L att equals 120, which is the service capacity of a single server, REM degenerates to the traditional “last-m inute” migration algorithm. As the threshold increases, the system becomes unbalanced and one-step migration decreases since more and more servers along the migration paths already reach their full service capacity. Consider the performance of the failure rate and service delay, we should choose MinJbh, M axJth and pmax to make L ait around 100. 4.6 M igration Intensity A nalysis In Sections 4.3 and 4.5, we verify REM performance and analyze the parameter effect theoretically using (4.14) to simplify the derivation process. Such technique is useful in studying the performance metrics over a long period (e.g. the average failure rate and the migration cost). The simplified migration decision under (4.14) is called the traditional migration with early start (TMES). It has a single threshold to make the migration decision. In this section, we will compare TMES 111 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Failure rate of request migration schem es 0 .0 6 0 .0 5 5 norm al m igration norm al m igration (th e o r e tic a l result) - 0 - REM s c h e m e - Q - REM s c h e m e (th e o r e tic a l result) 0 .0 5 0 .0 4 5 £ 0 . 0 4 0 .0 3 5 0 .0 3 0 .02! 0.02 2 9 n u m b er o f r e q u e s ts / min 2 8 2 7 Figure 4.3: The request failure rates plotted as a function of the service load, where the solid and dotted lines represent numerical and SMS-based theoretical results, respectively. with REM and show th at the main difference is th at the 0/1 migration decision in TMES introduces a higher instant migration cost. As a result, REM leads to smoother migration among servers and places less real tim e load on the system than TMES. We use the state-transition based m ethod to analyze the performance of the TMES scheme. TMES uses a single threshold L ait for migration decision as shown in Fig. 4.9. The incoming request is immediately accepted when the current load is less than the threshold. Otherwise, request migration starts. Compared to the traditional migration scheme, TMES adopts a lower threshold than the server capacity. However, the migration decision is still 0/1-based. W ith a properly set threshold, TMES can achieve almost the same performance as REM in the sense 112 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 25 Migration delay m easurem ent n orm al m igration -•* - n orm al m igration (th eoretical result) - 0 - REM s c h e m e REM s c h e m e (th eoretical result) > . O f n CD E 2 9 n u m b er of r e q u e s ts / min 2 7 2 8 Figure 4.4: The average service delay plotted as a function of the request ar rival rate, where the solid and dotted lines represent numerical and SMS-based theoretical results, respectively. of the statistical mean value. Thus, it is much easier to use TMES to study the parameter effect for those performance metrics averaged along the whole service period. The problem with TMES is th at it introduces a higher instant migration load to the system as explained below. The following proposition states the state transition rule under TMES. P ro p o sitio n 4.6.1 Let H (21) and H ^ denote the resulting state matrices when the request is accepted directly and when there is a migration process, respectively. Upon receiving a new request r(i*,j*), we have the following state transition rules under TM ES scheduling: 1. If L — r(i*,j*) < and there is no viable migration path, H ^ = 113 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Failure Rate 0 .0 9 - © - REM ex p erim en t • O REM th eory Trad ex p erim en t Trad theory 0 .0 8 0 .0 7 0 .0 6 0) < 5 p 2 ‘to 0 .0 5 0 .0 4 0 .0 3 0.02 2 7 2 9 3 0 31 nu m b er o f r e q u e sts / m inute Figure 4.5: The request failure rates plotted as a function of the service load, where the solid and dotted lines represent numerical and ST-based theoretical results, respectively. 2. IfT/jL i H-Pj < Lait or L ait < YPpLi H-Pj < L - r ( i * ,j * ) but there is no viable migration path, H ® = H^21p 3. If L ait < YPjLi H p j and there is viable migration path, H ^ — H ^ . Fig. 4.10 shows the average migration cost for REM and TMES under different request rates. We adopt the same system configuration as given in Section 4.5. As to the REM parameters, we set M inJth and M a x J h to 80 and 105, respectively, and pmax to 0.8. REM and TMES have almost the same value under all load conditions. Traditional migration (TM), on the other hand, has a much higher average cost than REM and TMES. This result shows th at it is valid to use TMES 114 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Migration Penalty in Migration Steps • O REM theory - © - REM exp erim en t Trad exp erim en t Trad th eory 20 CD c 0) Q . c o g> 'E 0©- 2 9 3 0 31 n u m b er of r e q u e sts / m inute 2 7 Figure 4.6: The average service delay plotted as a function of the request arrival rate, where the solid and dotted lines represent numerical and ST-based theoret ical results, respectively. in place of REM to study the param eter effect as claimed before. Next, we consider the instant migration cost measured as migration steps per minute for REM and TMES. Request migration not only introduces certain service delay to a newly coming request th at is blocked at the starting server, but also imposes the computational and bandw idth requirements on the VoD system. Each migration step involves the migration control information exchange from the scheduler to the two neighboring servers on one-step migration and video data fetching overlap for hiccup-free delivery. The system should have enough capacity to handle the maximum load of request migration, which is determined by the instant migration cost. The 0/1 migration decision in TMES is prone to burst request migration and a higher instant cost. Fig. 4.11 illustrates the 115 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. REM: Failure vs. Threshold u = 2 6 - e - u = 28 u = 30 - e - u = 32 —i— u = 34 ( A 0 ------- --- 0 ------- 3 0 4 0 5 0 6 0 7 0 8 0 9 0 1 0 0 1 1 0 120 Migration T hreshold Lait A lternative threshold value: Lalt=M axth-(M axth-M inth)‘ P m ax/2 Figure 4.7: Param eter impact on the failure rate in REM. migration cost per m inute under different load conditions. The cost increases for both REM and TM ES as the system load increases. W hen the incoming load is near the system capacity (i.e. 32 requests per minute), TMES introduces 30% more cost than REM, which implies that REM has better real time performance than TMES. 116 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. REM: Migration Cost (M ean Value) vs. Threshold - 0 - u = 2 6 - B - u = 2 8 v u = 3 0 - e - u = 3 2 - + - u = 34 V) o O c o g> 2 120 100 110 8 0 Migration T hreshold Lait A lternative threshold v alu e: L alt=M axth-(M axth-M inth)*P m ax/2 Figure 4.8: Param eter impact on service delay in REM. Migration Probability Migration , Probability Migration Probability M in jh M a xjh L Seryice Load L Service Load L„u L Service Load (a) (b) (c) Figure 4.9: The relationship between the migration probability and the current load: (a) the traditional migration algorithm, (b) REM and (c) TMES 117 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Migration Cost (M ean Value) 30 T M E S « ♦ * REM TM 20 .2 15 3 3 2 8 S y s te m L oad (# r e q u e s ts / min) Figure 4.10: Comparison of the average cost for TM, REM and TMES. M igration C o st (P e a k V alu e) - * » T M E S REM 4 0 . 2 3 0 20 2 7 S y s te m L oad (# r e q u e sts / min) Figure 4.11: Comparison of the instant migration cost for REM and TMES. 118 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Chapter 5 Server Scheduler D esign for D istributed VoD System The high bandwidth and the strict delay requirements of digital video are two key limiting factors in the wide deployment of streaming media over the Internet. The content delivery networks (CDNs) such as Akamai [2] and Digital Island [37] have been developed as a possible solution to alleviate these problems. CDNs improve the end-user performance by deploying distributed servers at the edge of the Internet, which is closer to clients than the origin server. Media services from edge servers can reduce the network bandwidth usage and end-to-end delay. The distributed VoD system built upon CDN consists of a distributed media server set located at the stubs of the Internet backbone. Each server is config ured with two parts: the scheduler and the d ata server. The scheduler dispatches 119 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. user requests and updates the service status and video access records. The data server mainly performs I/O operations to deliver multiple streams of different video contents simultaneously to users based on the scheduled result. The client request follows the nearest routing rule, i.e. each request is first routed to the nearest server (referred to as the “local” server to th at request). Due to the large size of the video object, the server-side bandw idth consumption cannot be ig nored if the request is served at a remote server. For the wide area VoD service, the video access pattern and active client population in each local region change along the service period. The video replica on each server needs to be dynami cally updated accordingly. Therefore, the server system bandwidth consumption and video replica reconfiguration are the two main concerns in the design of the scheduling algorithm. In this chapter, we investigate the request migration algorithm and the dy namic content update strategy for a distributed VoD system. In Section 5.1, we propose the cost-aware random early migration (CAREM) scheme as an exten sion from REM by considering the bandw idth cost increment in the migration process. Based on the server-video affinity concept, we present a dynamic content update strategy in Section 5.2, and dem onstrate the performance improvement of proposed algorithms in Section 5.3. 1 2 0 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 5.1 C ost-aw are R andom Early M igration The CDN-based distributed VoD system consists of a number of media servers located at the edge of the Internet. The media servers are connected with each other by the backbone network such as UUNet [4], Each server consists of a sched uler and a data server. The scheduler implements the request migration scheme and the dynamic content update strategy. The data server mainly performs I/O operations to deliver multiple streams of different video contents simultaneously to users based on the scheduled result. Prom the client’s point of view, the local server acts as a gateway to the VoD system. A client request is always first routed to its local server. The scheduler of th at server first checks whether the requested video object is cached on the server. If the server has the video copy, the sched uler starts the request migration algorithm to dispatch the request according to the server load status. If the server does not have the video copy, the request is further routed to the nearest server with the request object using some request routing schemes in CDNs such as [14]. The request may be rejected if all the servers with the requested video cached are already fully loaded and there is no existing viable migration path. Since the video access probability and relative user population in each local region evolve with time, the content update process is started periodically to reconfigure the video replicas. In a centralized VoD system, all servers are connected by the local area network (LAN) and appear to the client as a virtual node. The service bandwidth inside 121 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. the system is not an im portant cost factor and can be ignored. In contrast, media servers in a distributed VoD system are connected by the wide area network (WAN) so th a t the service cost can be quite different if the request is served by a different server. For example, if the request is served by the local server without travelling through the WAN, the server-side network bandwidth cost can be ignored and the service latency is minimized. One im portant objective for the scheduler is to reduce the server bandw idth consumption. Another design consideration is the request failure rate, which is the same as in the case of a centralized server cluster. As mentioned above, we should consider the server-side bandwidth cost in the scheduler design. Here, we propose the cost-aware random early migration (CAREM) algorithm to handle the request migration in a distributed VoD system. CAREM is an extension from the REM scheme th a t was proposed for request migration in a centralized server cluster. CAREM contains two parts; namely, request migration decision and migration path selection. We discuss them in the following subsections. 5.1.1 R eq u est M igration D ecision CAREM adopts the same migration decision as REM. It can achieve a more balanced service load distribution and less service delay by progressively migrating out in-service requests. Here, for simplicity, we assume th at each server has an 122 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. identical service capacity denoted by L. Let L be the current load on server Sj in term s of the number of in-service streams. CAREM uses two thresholds M in J h and M a x J h (M in J h < M a x J h ) to measure the load status on each server. W hen the load h is less than M i n J h , there is no need to do request migration since only a small part of the service capacity is used and the server can still accommodate new requests w ithout the risk of reaching its service capacity. When the load Z j is between M in J h and M a x J h , there is a potential th at the load will increase to the service capacity and request m igration is performed with a certain probability Pi based on the current load Z * , which can be represented by (3.7). 5.1.2 M igration P a th S election Since REM is proposed for the centralized VoD system, it does not consider the bandwidth cost in choosing the migration path. Instead, it chooses the shortest migration path. W hen there are more than one candidate, it picks up the path th at will result in the most balanced server load distribution. However, in the distributed VoD system, the bandw idth consumption is a main cost factor to system performance and has to be considered in the migration path selection. Specifically, let us consider a distributed server set S C Af and a video object set V C Af. N = [S| and M = |V| are the cardinal numbers of the server set and video set, respectively. Let r,:j denote the request coming from the local region of server Sj for video v3. During the playback period, ri3 may experience request 123 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. migration and be served by more than one servers. The following service set is used to record the service time of n,- on each server, where tS 'l denotes the service *J J f i j time on server s-j. For simplicity of discussion, we assume th at the playback rate is the same for all video objects and equal to the network transmission rate. Then, the system bandw idth consumption in serving becomes N = (5-1) k = 1 where D(i, k) denotes the server distance between local server S{ and another server s*.. Please note th at we omit the data rate and simply use the service time to calculate the bandwidth in (5.1). The total system bandwidth cost is the summation over all served requests during the whole service period. Given the definition of server-side bandwidth cost, we first identify the property of a viable migration path and then discuss the potential bandwidth cost increment due to the request migration. On request migration caused by a new request r^, consider the following /e-step migration path 124 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. where {t±, t 2, — , t k+i} Q S, {U, i 2, Q S and { j i , j 2 , —,jk} C V. We need to check the following properties to determine whether the migration is feasible along th at path. P ro p o s itio n 5.1.1 In order for requests to be migrated along the k-step path, the following rules must be satisfied. 1. Servers stjri and stm +1 must have the copy of video Vjm, m = 1,2,..., k; 2. stl,st2,...,stk+ 1 are different from each other; 3. All the servers along the path must be full loaded except for the first and the last servers. The first constraint is obvious. The two adjacent servers along a path must cache the video object in order for the request to migrate between them. The second rule ensures the migration path is cycle-free. Suppose th at we have a path in which server su appears twice, like • • • — » stl — > su — > • • • — » su — > stm — > ■ ■ •. Then, we can replace this path with st( — > su — > stm which is shorter than the original one. The last item ensures the path length is truly equal to k steps. If there is an intermediate server with its load less than the service capacity, the migration process could stop at th at server and the path can be shorter. For the last server on the path, its load must be less than the service capacity in order to accommodate the migrate-in request. For the start server on the path, its load status depends on the scheduling algorithm. Under the traditional request 125 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. migration scheme, the migration will not happen until the server is fully loaded. On the contrary, REM and CAREM starts the migration process much earlier and the migration probability depends on the load status of the start server. Next, we consider the system service bandwidth increment for each viable migration path. Given a fc-step m igration path, the bandw idth increment after the migration process is calculated as k A B = Y , { ( rn mjm + hm - t)[D(tm+uim) - D (tm, im)]}, (5.2) m=1 where Trimjm is the arrival tim e of request rlm]m, is the playback time of video Vjm , and t is the current time. In order to reduce the system bandw idth consump tion in a distributed server system, we modify REM by choosing the migration path that will lead to the minimum bandwidth increment after migration, which leads to the definition of the CAREM algorithm as stated below. P ro p o sitio n 5.1.2 The cost-aware R E M (CAREM ) scheme implements the same migration decision rule as REM. When request migration happens, C AR EM first determines all viable paths using Proposition 5.1.1 and chooses among them the path that leads to the m inimum bandwidth increment calculated by (5.2). 126 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 5.2 D yn am ic C ontent R econfiguration In a distributed VoD system, a new video object is first brought to a local server, which we refer to as the origin for th at video. If needed, the video can be replicated to other servers in the service period. The VoD service is usually a long last service across a wide area composed of many local regions. The video access pattern and the relative client population usually change along the service time. For example, the news program is more popular than the movie in early morning. Due to the tim e difference in different regions, the VoD system will receive far less requests from regions in daytime than regions in the evening or the early morning. Considering the above dynamic changes, we need to collect the client request statistics and update video replicas accordingly. There are mainly two content allocation strategies proposed before: the topology- informed replica placement method [60,38] and the hot spot method [58]. The first strategy places video replicas on servers in a descending order of their fan-out degrees. This is done based on the assumption th at a server with a higher fan-out degree can reach more clients with smaller latency. The second strategy attem pts to place video replicas on the server near the local region where clients generate the most requests for that video. In a distributed VoD system, the network topology rarely changes in a short period of time. However, the system usually contains servers in different local regions spanning over a wide area so th at the video access pattern and the request 127 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. population in each region does change from time to time. The strategy based on the server’s fan-out degree cannot adapt to the dynamic change of request statistics so th at the system performance will be degraded if the request pattern is different from th at considered in the design stage. As to the hot spot method, it only considers the local request statistics. In real time service, requests may be directed or m igrated to remote servers. In these cases, it is favorable to be aware of the server connectivity and put video replicas on the server close to the major request population of th a t video object. In this research, we propose a server-video affinity metric th at includes both the request statistics and the server connectivity information. First, let us introduce some symbols. Let be the number of requests from the local region of server Sj for video Vj, which is measured in a tim e window of length W . Let 11^ be the server set th at is closest to the region of server st with respect to video object Vj, i.e. n ij d = m in{D{i, k )\Xkj = 1, k = 1, 2, ...N}. k Then, the server-video affinity metric is described below. D efin itio n 5.2.1 Given the request statistics nkj, k = 1,2,...N, and current video allocation matrix A, the server-video affinity between server Si and video 128 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. object Vj is defined as Aij N nkjD(k,i) ■ £ \ _____ -i 2^k=i,sieukj |nfc j- 1 ’ v 1 undefined, if \ j = 0 Based on the above definition, let us discuss two cases in assigning video Vj to server Sj. In the first case, there is only one copy of Vj in the system. Then, Ilfcj = {i} for all k, and all requests for v3 will be served by st. In the second case, there are multiple copies of Vj in the system. According to the nearest routing rule, a client request is routed to the closest server. For the server-video affinity metric given above, we consider the interaction among host servers of video Vj. Each host server may not receive the same amount of load for Vj. If a server belongs to the closest server set 11^, k = 1, 2, • • •, N of Vj, it will receive more requests, which is the term affinity means. If Ukj with some k contains more than one server, the requests from region k are randomly routed to one of them and n kj is divided evenly among those servers. Please note that we do not use the normalized population for each video (i.e., n ^ / X)£Li nij) since we need to consider the relative video popularity as well in replica placement. Compared with (5.1), the server-video affinity value serves as an indication on the total system bandwidth consumption for those requests of Vj served by st under the nearest routing rule. Next, we define A*j = YiiLitxl]=i as the total affinity value on Vj and 129 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. use it to discuss the relationship between the server-video affinity and a content allocation action. P ro p o sitio n 5.2.1 Given server s* and video v3, we have the following properties about the total affinity value A*j and a content allocation action. 1. I f \ j = 0, adding a copy of Vj to Si does not increase A*j. 2. If \ j = I, removing the copy of vj does not decrease A*j. Proof. Let A t] and AP denote the total affinity on Vj before and after assign ing the copy to s* , respectively. In order to prove AP < A*j, we examine the closest server sets before and after this content allocation action, denoted by Ukj and k = 1. 2, ...N. Since \ l3 = 0 before the allocation, i Ukj, for all k. After we put a copy of v3 on .s,, s, may appear in II for some k. We divide those server sets into three groups according to the change of elements of them: Group I: {k\H'kj = Hkj, k = 1, 2,..., iV}; Group II: {k\U'kj = Ukj U {i}, k = 1, 2,...N }; Group III: {k\Wkj = {i}, k = 1,2,..., 3}. It is easy to verify th at the above groups are a partition of all 11^, A : = 1,2, ...N. According to (5.3), the affinity value A k] remains the same for each k such th at 11^ in Group I or II. For each k th at 1 1 ^ - in Group III, A 'k] < A kj. The equality holds if and only if nkj = 0. According to the definition of A ¥], we can get A P < A*j. 130 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. This completes the proof of the first property. The proof of the second property is similar to th a t for the first one so th at it is om itted here. □ The above property shows th at it is always favorable to add a video copy to a server. A small value of A * j suggests th at a large am ount of requests for v3 can be served locally without being routed to remote servers through the Internet, which saves the server-side bandw idth cost and reduces the response time as well. However, there may exist only a small amount of requests for v3 [i.e. v3 is unpopular at th at time). In this case, the total system performance will not improve very much even if A*j is small. To deal with the second case, we should consider the difference (A value) on the total affinity value before and after a video copy is put on a server. T hat is, we use the total affinity value as a system cost function and attem pt to reduce the affinity value as much as possible in real time content reconfiguration. Our content update strategy starts periodically and uses the affinity value as the cost function to determine the allocation of a video replica to a server. To present our content allocation strategy more clearly, let us define the affinity contribution and the replacement gain so as to characterize the cost effect when assigning or removing a video copy from a server. D efin itio n 5.2.2 Let A*j and A A be the total affinity values for v3 before and after the content allocation on Si, the affinity contribution is defined as A ^ = A*j — AA. If we use Vj to replace another video vi, the replacement gain Giji is 131 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. calculated by Ay + An According to Proposition 5.2.1, the affinity contribution can be positive or negative, depending on the content allocation action (assigning or removing). If Ay = 0, A y O 5 if Ay — 1) Ay ^ 0. Our content reconfiguration strategy is a greedy algorithm in the sense th at it tries to reduce the total affinity value as much as possible at each reconfiguration step. The strategy can be described as follows. Step 1 For each server Sj and video Vj such th at Ay = 0. Find a copy of some other video Vi on st satisfying the following rules. 1. Si is not the origin server of uy 2. There are no in-service requests for vi on ,sy 3. | Aj; | is the minimum among all video copies satisfying the above two rules. If such vi exists, we calculate the replacement gain using Vj to replace Vi and put the 3-tuple (si,Vj,v{) in the candidate list. Otherwise, we proceed with next (server, video) pair. Step 2 Find the 3-tuple with the maximum replacement gain. Step 3 If the maximum replacement gain is greater than 0, we proceed with this replacement. Otherwise, we stop the content reconfiguration process. 132 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Step 4 Update the replacement gain for some 3-tuple items in the list. All 3- tuples containing Vj and V [ in the list need to be updated. Go back to Step 2 . Now, let us analyze the hot spot m ethod and the topology-based strategy using the server-video affinity metric. The hot spot algorithm always puts a video copy on the server receiving the most requests for th at video. The assumption is th at a client request is only served on the local server or got rejected. If we modify (5.3) to 'R 'ij 7 1^ A j I A ij = < , (5-4) undefined, if = 0 . . our algorithm will try to place the video copy on a server th at receives the most requests for th at video first, which is the hot spot algorithm. On the other hand, if we consider the server distance only and modify (5.3) as Aij — D(k,i) -r \ i 2^k=i,Sie u kj |nfc J | ’ A o 1 ^ undefined, if \ j = 0 Our algorithm will try to place the video copy on the server th a t has the minimum weighted distance to all regions. The fan-out-degree based algorithm first put video copies on the server with the largest fan-out degree. The underlying assumption is that the server with a higher fan-out degree is closer to clients [60]. The server-video affinity metric using (5.5) provides a similar idea. The difference 133 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. is that we use the weighted server distance to measure the closeness to clients. 5.3 E xperim ent R esult and A nalysis In this section, we evaluate the CAREM algorithm and the server-video affinity based content update strategy in a distributed media server environment. We first describe the system configuration and then present experimental results. 5.3.1 S y stem C onfiguration It is assumed th at the distributed VoD system in simulation consists of N = 24 servers and M = 140 video objects. Each server can cache up to 12 video replicas and serve at most 120 concurrent requests. Each video object has the same length of 90 minutes. The video access probability is modeled with the Zipf- like distribution [33] w ith parameter 0 = 0.27. The system collects client request statistics in a flying window of length equal to the video length. In this simulation, we consider two topologies for the server graph. The first one is the random graph, where two nodes are connected by an edge with probability p. The random server graph can be generated by the network topology tool GT-ITM [13]. The second topology is the power law graph. The studies of Faloutsos et al. [25] and Tangmunarunkit et al. [75] show th at the power law rule can better represent the Internet topology in both the autonomous system (AS) level and the router level. The rule states th a t the number of nodes y of degree x roughly follows y = x a. 134 R eproduced with perm ission o f the copyright owner. Further reproduction prohibited without perm ission. We use the BRITE topology generator developed by Medina et al. [51] at the Boston University to generate the power law server graph. We simulate the video access distribution change as follows. The access statis tics changes four times a day corresponding to morning, noon, evening and late night. First, we generate a random number d between 1 and M . Given the ith video access distribution, the k th most popular video object corresponds to the most popular video in the (i + l ) th distribution, where rk is a random variable between 1 and m in { M , d + k — 1}. The only constraint is th at rk has not been chosen before. Here, d determines the correlation between two adjacent distri butions. W hen d = 1, there is a perfect correlation to the video access pattern. W hen d = M , there is no correlation between the video access pattern. In the experiment, we set d equal to 10. A similar approach was used in previous re search [83]. The region popularity distribution is modeled as the Zipf distribution with the same param eter as the video access probability. This distribution also changes every 6 hours. We use the average request arrival interval to represent the system load. Simulation results are generated by an event-driven simulator over a consecutive period of seven days. Next, we describe the parameters used in CAREM and the dynamic content update process. For the ease of comparison, we configure CAREM with the same parameters (M in J h , M a x J h , and pmax) used previously in REM. 135 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. For reader’s convenience, some key param eters for the simulation are summa rized in Table 5.1. Param eter Value Server graph topology random graph / power law graph Distribution of request interval exponential Average incoming requests 26/m in - 36/m in Video access probability Zipf-like (9 = 0.27) Region popularity Zipf-like (9 = 0.27) Content update interval 30 minutes REM / CAREM param eter M in J h = 80, M a x J h = 105, pmax — 0.8 Table 5.1: Key param eters used in performance evaluation. 5.3.2 P erform an ce E valuation and C om parison We consider the failure rate and the system bandwidth consumption as two main metrics to measure the distributed VoD system performance. The bandwidth cost is calculated using (5.1). Extensive experiments are conducted to compare three scheduling algorithms (i.e. traditional migration, REM and CAREM) together with the dynamic content update strategy. We use the average number of arrival requests per minute to represent the system load, which is the reciprocal of the average request arrival interval. The system is initially idle. According to the configuration, it can serve at the most 2880 requests in 90 minutes, which equals 32 requests per minute. We test the failure rate around system capacity from 26 to 36 requests per minute. We compare the performance of a VoD system without any content update 136 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. and a VoD system w ith one of the following four content update strategies: 1. the server distance based strategy; 2. the greedy strategy; 3. the proposed server-video affinity based strategy; and 4. the server-video affinity strategy with exhaustive search. The affinity metrics of the first three strategies are given by (5.5), (5.4) and (5.3), respectively. The last strategy uses the same metric as the proposed method. The only difference is that, in each content update, we process exhaustive search among all possible 3-tuples (s;, Vj, v{) to minimize the sum of affinity (i.e. S i j ^ i j ) - This method has an exponential time complexity so th a t it is not practical in real time content reconfiguration, ft mainly serves as a benchmark of the system performance. We use the Adams divisor algorithm [36] to calculate the number of replicas for each video object and conduct the initial allocation scheme using the algorithm presented in Section 3.1.2. We call the server with the first copy of a video object the origin server for th at video. First, let us examine the VoD system performance when servers are connected by a random graph. Figs. 5.1 and 5.2 show the failure rate and the bandwidth cost, respectively, when the content update is performed every 30 minutes for the above four update strategies. The request arrival interval is exponentially 137 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. distributed while the region popularity change follows the Zipf-like distribution. We see from Fig. 5.1 th at content update can significantly reduce the system failure rate. Among the four update strategies, the exhaustive search strategy achieves the lowest failure rate. The proposed m ethod achieves almost the same performance as the exhaustive search strategy. The difference between those four methods is not th at much. Fig. 5.2 shows the system bandw idth cost during the simulation period. We see th a t content update can also reduce the bandwidth cost by adjusting video contents according to collected access statistics. The proposed server-video affinity based strategy is clearly the winner as compared with the hot spot and the topology-based strategies. It reduces the bandwidth usage much more than the other two. Moreover, the gap between the proposed method and the exhaustive search strategy is very small. Figs. 5.3 and 5.4 illustrate the failure rate and the bandwidth cost as a func tion of the system load, respectively, with different scheduling algorithms. The request arrival interval is exponentially distributed while the region popularity fol lows the Zipf-like distribution. Furthermore, the proposed affinity-based content update strategy is adopted to achieve the best system performance. We see th at CAREM achieves the best performance among the three. REM is better than the traditional scheme. W hen the system load is near or a little above the service capacity, CAREM reduces the failure rate by more than 20% as compared with the traditional migration scheme. As for the bandwidth cost, it is not surprising 138 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Failure Rate v.s. System Load 300 N o co n ten t upd ate T o p o lo g y -b a s e d strateg y - 9- G re e d y -b a s e d strateg y S e rv e r-v id e o affinity strateg y -•h E xh au stiv e s e a rc h 2 5 0 0200 ,03100 5 0 2 8 Sys?em Load (A vg1 . Requests / l§ fin ) 3 4 2 7 Figure 5.1: The failure rate comparison for dynamic content update schemes with the exponential request arrival interval, the Zipf-like region popularity and a random network topology. th at CAREM consistently outperforms the traditional migration scheme since it always chooses the m igration path with the minimum bandw idth increment. Next, let us examine the system performance when servers are connected by the power law graph. Figs. 5.6 and 5.8 show the bandw idth cost as a function of the system load under different content update strategies and scheduling algo rithms, respectively. One interesting point to note is th at the bandwidth cost in each case is less than its counterpart under a random server graph. The reason is th at in the power law graph, there are a small number of servers with a large fan-out degree so th at they can serve a large amount of clients within the dis tance of one or two hops. If we place hot video objects on those servers through content reconfiguration, the server-side bandwidth cost can be greatly reduced in 139 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 7 .5 r Bandwidth Consumption v.s. System Load o CL N o c o n te n t u p d a te T o p o lo g y - b a s e d str a te g y h9 - G r e e d y str a te g y S e r v e r -v id e o afinity str a te g y h h E x h a u stiv e se a r c h 4 .5 3 6 2 8 Load (A vg! Requests / iS fin ) 2 6 2 7 tem Figure 5.2: The system bandwidth performance comparison for dynamic content update schemes with the exponential request arrival interval, the Zipf-like region popularity and a random network topology. serving requests for those video objects. On the other hand, it is most likely those servers with a large fan-out degree will receive far more requests than the rest of the servers and be overloaded. Under this condition, applying REM or CAREM algorithm can achieve better performance than the traditional migration scheme. Comparing the failure rates shown in Figs. 5.3 and 5.7, we see th at there is a larger gap between REM /CAREM and the traditional scheme in a power law graph than the random graph. Again, CAREM together with the affinity- based update strategy achieves the best result in terms of the failure rate and the bandwidth cost. Figs. 5.5 and 5.6 also show th a t the difference between the proposed content update strategy and the exhaustive search method, which serves as a benchmark, is very small. 140 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Failure Rate v.s. System Load 120 C A R E M w /C U REM w / C U TR A D w / CU 100 O 0 8 0 O 20 Load (Avg. Requests / $ ? in ) lem Figure 5.3: The performance comparison of three scheduling algorithms (tradi tional migration, REM, CAREM) in terms of the failure rate with the exponen tial request arrival interval, the Zipf-like region popularity and a random network topology. Bandwidth Consumption v.s. System Load 6.5 T R A D w / C U REM w /C U C A R E M w / C U O 5 .5 T J > 4 . 5 2 6 2 7 oSd (A vg1 . Requests / l5 fin ) tern Figure 5.4: The performance comparison of three scheduling algorithms (tradi tional migration, REM, CAREM) in terms of the system bandw idth consumption with the exponential request arrival interval, the Zipf-like region popularity and a random network topology. 141 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Failure Rate v.s. System Load 3 00 N o c o n te n t u p d a te T o p o lo g y - b a s e d s tr a te g y G r e e d y - b a s e d s tr a te g y S e r v e r -v id e o affinity s tr a te g y E x h a u stiv e s e a r c h _______ 2 5 0 .C 0 1 0 0 5 0 0 § - 2 6 Load (A vg1 . Requests / l§ fin ) 2 7 2 8 tern Figure 5.5: The failure rate comparison for dynamic content update schemes with the exponential request arrival interval, the Zipf-like region popularity and a power law graph. Bandwidth Consumption v.s. System Load * o ■ o N o c o n te n t u p d a te T o p o lo g y - b a s e d s tr a te g y - O - G r e e d y s tr a te g y S e r v e r -v id e o afinity s tr a te g y E x h a u stiv e s e a r c h ____________ ;3 .5 2 6 2 7 2 8 Syslem Load (A vg! Requests / l^ fin ) 3 4 35 3 6 Figure 5.6: The system bandwidth comparison for dynamic content update schemes with the exponential request arrival interval, the Zipf-like region pop ularity and a power law graph. 142 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Failure Rate v.s. System Load 140 <«#»« CAREM w / A ffin ity -b a se d C U REM w / A ffin ity -b a se d CU H 3h T R A D w / A ffin ity -b a se d C U 120 O 6 0 4 0 Load (A vg1 . Requests / i5 ? in ) 2 6 lem Figure 5.7: The performance comparison of three scheduling algorithms (tradi tional migration, REM, CAREM) in terms of the failure rate with the exponential request arrival interval, the Zipf-like region popularity and a power law graph. Bandwidth Consumption v.s. System Load 4 .4 4 .2 T R A D w / A ffin ity -b a se d C U REM w / A ffin ity -b a se d C U C A R E M w / A ffin ity -b a se d CU C 3 .4 Syslem Lolld (A vg1 . Requlsts / l^ fin ) 2 7 Figure 5.8: The performance comparison of three scheduling algorithms (tradi tional migration, REM, CAREM) in terms of the system bandwidth consumption with the exponential request arrival interval, the Zipf-like region popularity and a power law graph. 143 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Chapter 6 Conclusion and Future Work 6.1 C onclusion The VOD service is one of the critical technologies for many multimedia appli cations available over the World Wide Web (WWW). The architecture of VoD services consists of the media server system and the wide area network (WAN) between the server and clients. One goal of the VoD service is to keep interrup tions to current user requests and rejections to incoming user requests low. On the other hand, both the storage and the service capacity of each media server are limited. It is therefore a great challenge to properly allocate video files and balance the load among existing disks to improve aggregate resource utilization and the overall system performance. In this proposal, we focus on the design and analysis of server side scheduling algorithms including video content allocation 144 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. and request migration. We proposed a greedy content allocation algorithm for a media server system. We first modelled the server system as a graph, in which each server is represented by a node and a link is established between two servers if both have the same video copy. The distance of two nodes is defined as the length of the shortest path between them . Video copies are assigned one by one from the hottest to the coldest programs in a way to minimize the average distance between all server pairs. We perform in-depth analysis on the aspects of the allocation process and server connectivity in the resulting server graph. It shows th at our algorithm connects all media servers in the fastest way and achieves certain connectivity in terms of server cliques. The connectivity among media servers increases the possibility of finding a viable migration path in the request migration in VoD service. To address the request scheduling problem in VoD service, we proposed the random early migration (REM) scheme to reduce the request failure rate and service delay. REM considers the relation between load balance and the system metrics under different service load situations. W hen the system is lightly loaded, servers have enough service space to accommodate incoming requests and load balance contributes little to the improvement of the failure rate. Moreover, ex cess request migration will increase the system cost. Compared to the DASD algorithm th a t only considers the load balance issue, REM reduces the migration 145 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. cost by accepting requests locally when the system is lightly loaded. REM mi grates requests progressively as the system load increases. Compared with the traditional “last-m inute” migration scheme, REM redistributes the service load among servers and achieves the load balance at a much earlier stage. As a result, REM achieves a more balanced load distribution and a lower failure rate than the traditional migration scheme. To facilitate the analysis of the request migration process and the computation of system metrics under different scheduling algorithms, we presented the state m atrix structure to characterize the server system state at certain time. It stores the service load information of each media server and plays an im portant role in the determination of migration paths. We analyzed the migration process using the state m atrix transform and quantitatively present the length of migration in terms of two consecutive state matrices before and after the migration process. Based on the proposed state m atrix structure, we developed two approaches to calculate im portant metrics, i.e. the failure rate and service delay. The first approach is based on the state m atrix space (SMS), which is a directed graph containing all valid state matrices as nodes and transforms between two consecu tive matrices as edges. The tuple (S star t , H , G ) uniquely determines the migration path. The migration delay is related to the length of the migration path. We explored the property of the valid migration path and used it to recursively count the number of tuple (S start, H. G) corresponding to th at path. The average path 146 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. length can be obtained easily with this approach. For the failure rate analysis, we considered both cases where a new request is accepted locally and migrated out. It also led to a recursive representation. In the second approach, we gave the formal description to the media system state and media service based on the state m atrix and bookkeeping information. The media service was modelled as the state transition between two state matrices. We studied the transition rules under the events of request rejection, acceptance and ending. An event-driven transition model was built to simulate the real media service. We calculated one- step metrics and used the average as the final results. Both approaches were verified by numerical experiments, and it has been shown from theoretical results that REM outperforms traditional migration in both the failure rate and service delay. D istributed VoD service becomes more popular due to the deployment of con tent delivery networks (CDNs). We studied the service migration scheme and the content update strategy to achieve better performance under fluctuating video popularity and user distribution. We considered the server-side bandwidth cost in the migration process and proposed CAREM as an improvement from REM. We used the server-video affinity concept to measure the potential server-side network bandwidth cost after placing a specific video replica on th at server. Then, based on this concept, a dynamic content update strategy is developed to reconfigure video replicas on media servers, ft is shown by the simulation that, as compared 147 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. with the greedy or the topology-based strategy, our affinity-based algorithm im proves the system performance by reducing the request failure rate as well as the network bandw idth consumption. Moreover, the combination of CAREM and affinity-based update strategy can achieve the best system performance in terms of the failure rate and the server-side bandw idth cost. 6.2 Future W ork 6.2.1 X M L B ased In teractive V id eo -o n -D em a n d D esign W ith the video-on-demand service, clients can select video programs from remote archive servers, view them when they wish, and issue interactive operations such as pause and fast forward/backward. A true VoD system satisfies three im portant requirements: any video, any time, any manner. Most multicast-based video delivery techniques deal with interactive video- on-demand (IVoD) following the rules known as stream split and merge (SAM) [46,47]. W hen a client issues an interactive command, a separate unicast channel is assigned to th at client. After the client finishes interaction with the server and resumes normal playback, he/she has to be “regrouped” to one of the current m ulticast streams. This resource reclamation is im portant in th at it prevents the system from gradually degrading to the non-sharing mode. The focus here is how to separate a client from the current multicast channel for interaction, and how 148 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. to reclaim those unicast interaction channels when interaction finishes. The goal is to minimize the total consumed network resources in term s of the number of delivery streams. However, the detailed server-side implementation of IVoD is not covered in previous work. Most streaming video today is often encoded by the M PEG-4 compression standard. Basically, the syntax of the M PEG-4 video stream is defined as a hierarchical model as illustrated in Figure 6.1 [30]. Each level of the M PEG tree can be described as follows. The central concept in M PEG-4 video coding is visual object (VO), which is characterized by intrinsic properties including shape, texture and motion. Generally, VO can contain one or a set of rectangle image frames, which are called the video object plane (VOP). The shape and texture data are processed at this level. The visual object layer level is used to implement temporal or spatial scalability. The group o f VOP (GOV) level defines a set of VOPs that can be independently encoded/decoded for random access in the video stream. Currently, the M PEG encoded video content is sequentially coded by the C- like syntax description coding scheme, which can achieve the maximal compression efficiency. However, it is difficult to generate the global view of the whole video content under this scheme. Moreover, the content is stored by serialization on the storage facilities. The sequential coding and serialized storing aggravate the situation for some applications th at need random access to the content. On the 149 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. GOV, VOP, VOP/ GOV, VO/ (Visual Object) VO„ (Visual Object) VOS (Video Object Sequence) VOL/ (Visual Object Layer) VOL„ (Visual Object Layer) Figure 6.1: M PEG hierarchy structure. other hand, the three requirements stated above for true VoD service demon strate uncertainty on playout of video streams and thus requires th at the server support random access to video contents. Recently, a new markup language for M PEG (MPML) has been designed to provide error resilience and multicast syn chronization of video streams [74,73]. The MPML description takes advantage of the intrinsic characteristics of XML such as portability, interoperability, flexibil ity, and extensibility in a variety of multimedia applications. Most im portant is th a t such a description supports random access, which is an essential requirement in IVoD service. The implementation of MPML is a mapping from the MPEG hierarchy tree to a fixed set of XML tags and related attributes as illustrated in Figure 6.2. Our next research topic is to design an XML-based IVoD language (XML/IVoD) to facilitate the client-server interaction. The difference between XML/IVoD and MPML lies in the application and the level of detail. Our design will target most 150 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. lalObjectl — Istart code prefix | — |vo start code] sualO bjectLayerl ; V O header Istart code prefix] | ] vol_start_ codej \ > VQ L header — [ v o p | itart code prefix | — |vop start code \ — |vop coding type| jmacroblock] ► V O P header — Imcbpcl 1 M acroblock , ,, [ header lock] — jdct dc luminance] — |dct dc differential] — jdct dc size lum inance| — |dct dc differential! <?xml version=" 1.0" encoding="VTF-8"?> <mp4:VO xm lns:m p4="http://costard.usc.edu/~sunx/m pm l/nam espace" > <m p4;start_code_prefixpos="0" bits="24" value= "17> <m p4:vo_start_code p o s -”24" bits="3" value= "07> <m p4:V OL> <m p4:start_code_prefix pos="32" bits="24M v a lu e - 1 1 "/> <m p4:vol_start_code pos="56" b i t s - '4" value="2"/> <m p4;vol_id pos="60" bits="4" value="0"/> <m p4:V OP pos="160" no="0”> <m p4:start_codej)refix pos="168" bits="24" value= "l"/> <m p4:vop_start_code pos="192" bits="8'' value="182"/> <m p4:vop_coding_type pos="200M bits="2" value="0M /> <m p4:m acroblock pos=“225" > <m p4:m cbpc pos=“225" b i t s - T 1 value=“0 M /> <m p4:block pos="226" M B="0M no = "l"> <m p4:dct_dc_size_lum inance pos="226" bits="3" M B="0" blk=" 1" value="4"/> <m p4:dct_dc_differential pos="229" bits="4'' M B="0" blk= "I" value=''-I I7 > </mp4:block> <m p4:block pos="233" M B="0" no="2"> <m p4:dct_dc_size_lum inance pos="233" bits=;"3M M B="0" blk="2" value="3"/> <m p4:dct_dc_differential pos="236" bits="3" M B="0" blk="2" value="-5"/> </mp4:block> </ mp4: macroblock> </mp4:VOP> </mp4:VO L> </mp4:VO>______________________________________________________________________ Figure 6.2: Mapping from M PEG tree structure to the XML document [72], 151 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. at the client-server interaction and the speedup of the server-side computation by providing a global view and index of the video content. The level of detail will be at the VOP level. XML/IVoD is much simpler than MPML and no pre-processing work such as compression needs to be done before being applied to real service. Specifically speaking, we will focus on the following issues. 1. At the GOV (Group of VOPs) level. GOV has the real time stamp and provides a certain kind of random access or error recovery. If it exists, it should be before I-VOP. Also, we can think th at the average bandwidth consumption is the same for all GOVs in the M PEG stream and can be a candidate of the basic unit in IVoD. 2. At VOP (Video Object Plane) level. A VOP is a snapshot in time. It can also be used as the basic unit in IVoD. The problem is the bit rate for each VoP is different (I-VoP will have a larger data rate than P- and B-VoP) and also the temporal dependencies between VoPs. It may not achieve the variable speedup rate under the bandwidth constraint. How to tackle this problem is our next research focus. Figure 6.3 illustrates the proposed XML/IVoD implementation. 6.2.2 P ro x y C aching for M u ltim ed ia S tream s Caching is originally used to increase the performance of a computer system by reducing disk I/O operations. Recently, much research work has been conducted 152 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. XML Wrapping MPEG encoding MPEG stream XML/IVOD Description YUV RAW data fde IVOD/MPEG Stream User Interaction Description Figure 6.3: The flowchart of the XML/IVoD system. in the multimedia context to study its effect on video streaming applications. Dan et al. proposed an interval caching scheme to improve the throughput of a server. The main idea of interval caching is try to cache the “distance” between two consecutive requests such th a t the second request can be totally satisfied from the cache. Here, the cache replacement unit is the variable-length interval. Shi et al. studied several interval replacement policies in heterogeneous application environment and defined (consuming rate)/(size of the interval) as the priority for each cached interval [68]. The policy can achieve a high bit-hit-ratio (BHR). Ozden et al. proposed two multimedia caching algorithms called BASIC caching and DISTANCE caching [54]. Both algorithms try to figure out how soon a buffer will be used again. In BASIC, it evicts the buffer block th at will be used in the most future; while in DISTANCE, it keeps the buffer block which will be used most recently. The hierarchical structure of the current Internet makes lots of intermediate nodes along the route involve in video delivery. Proxy servers deployed near the edge of a network are such kind of nodes with a large amount of service capacity. 153 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. Proxy caching and prefetching has been widely studied these days. Sen et al. studied the buffer size requirement of proxy servers in order to reduce the client startup delay and provide work-ahead smoothing [64], Rejaie et al. employed the layered coding characteristics of multimedia stream with proxy caching to provide quality adaptive service to clients [62], Partial caching of video streams at proxy server and the replacement policy were studied in [48]. The “caching utility” function for each cached stream is defined as the popularity of the stream divided by the length of stream. When cache replacement is needed, the stream with the least caching utility is replaced. The traditional caching algorithm considers the on-demand scenario, in which the data are brought into the cache when there is a cache miss. For multimedia streams, there is strong time correlation in normal playback th at occurs more than 95% of the whole service period. One consideration is to use prefetching to bring the “future” data into the cache, which can reduce the access delay and possible cache miss. A problem here is how to measure the potential hit rate of the data. In this proactive caching scenario, the data brought into the cache is not limited to current cache miss. Video content most probably to be accessed in the future may also be cached in advance. To take advantage of the proxy server, we can adopt the hierarchical structure in the caching algorithm, called hierarchical caching, so the proxy server can provide certain service to the requested client without forwarding the request further to original server. The problem here is 154 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. how to make the d ata flow smoothly from the server to clients. The cooperation among multiple proxies is another interesting topic for our future research. 155 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. References [1] C. C. Aggarwal, J. L. Wolf, and P. S. Yu. On optimal batching policies for video-on-demand storage servers. In IE E E Proc. of M U LTIM E D IA 96, pages 253-258, 1996. [2] Akamai, http://w w w .akam ai.com . [3] K. C. Aimeroth and M. H. Ammar. On the use of multicast delivery to provide a scalable and interactive video-on-demand service. IE E E Journal of Selected Areas in Com munications, 1996. [4] UUNet Global Backbone, http://w w w .uu.net/lang.en/netw ork. [5] R. 0 . Banker. M ethod of providing video-on-demand with VCR-like func tions. U.S. P atent 5357276, 1994. [6] S. A. B arnett and G. J. Anido. A cost comparison of distributed and cen tralized approaches to video-on-demand. IE E E Journal on Selected Areas in Communications, 14:1173-1183, 1996. [7] S. A. B arnett and G. J. Anido. Performability of disk-array-based video servers. M ultim edia System s, 6:60-74, 1998. [8] C. Bernhardt and E. Biersack. The Server Array: A Scalable Video Server Architecture. High-speed Networking for M ulitmedia Applications, Kluwer Press, Boston, 1996. [9] E. Biersack, W. Geyer, and C. Bernhardt. Intra- and inter-stream synchro nization for stored multimedia streams. In I. C. S. Press, editor, Proc. IE E E I n t’l Conf. on M ultimedia Computing Systems, pages 372-381, 1996. [10] C. C. Bisdikian and B. V. Patel. Issues on movie allocation in distributed video-on-demand systems. In Proc. ICC95, pages 250-255, 1995. [11] W. J. Bolosky, J. S. Barrera, R. P. Draves, R. P. Fitzgerald, G. A. Gibson, M. B. Jones, S. P. Levi, N. P. Myhrvold, and R. F. Rashid. The tiger video file server. In Proceedings o f the Sixth International Workshop on Network and Operating System Support fo r Digital Audio and Video, 1996. 156 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. 2] M. M. Buddhikot and G. M. Parulkar. Efficient d ata layout, scheduling and playout control in mars. In Springer-Verlag, editor, Proc. N O SSD A V 95, pages 318-329, 1995. 3] K. Calvert, M. Doar, and E. W. Zegura. Modeling internet topology. IE E E Com m unications M agazine, 35(6): 160-163, 1997. 14] V. Cardellini, M. Colajanni, and P. S. Yu. Dynamic load balancing on Web server systems. IE E E Internet Com puting, 3(3):28-39, 1999. 15] S. W. Carter, D. D. E. Long, and J.-F. Paris. An efficient implementa tion of interactive video-on-demand. In Proceedings o f the 8th International Sym posium on Modeling, Analysis and Sim ulation o f Com puter and Telecom m unication System s (M A SC O T S 2000), pages 172-179, 2000. 16] S.-H. G. Chan and F. Tobagi. D istributed servers architecture for networked video services. IE E E /A C M Transactions on Networking, 9:125-136, 2001. 17] M. Chen, D. D. Kandlur, and P. S. Yu. Optimization of the grouped sweeping scheduling (gss) with heterogeneous multimedia streams. In Proc. of A C M M ultim edia’93, pages 235-242, 1993. 18] M. Chen, D. D. Kandlur, and P. S. Yu. Support for fully interactive playout in disk-array-based video server. In A C M M ultimedia, pages 391-398, 1994. 19] P. Chen, E. Lee, G. Gibson, R. Katz, and D. Patterson. Raid: High- performance, reliable secondary storage. A C M Com put Surv, 26:145-185, 1994. 20] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Introduction to Algorithm s (2nd edition). MIT Press, Cambridge, 2001. 21] A. Dan, M. Kienzle, and D. Sitaram. Dynamic segment replication policy for load-balancing in video-on-demand servers. In Technical Report RC19589, IB M T. J. W atson Research Center, 1996. 22] A. Dan, D. Sitaram, and P. Shahabuddin. Scheduling policies for an on- demand video server with batching. In Proc. o f A C M Multimedia, pages 15-23, 1994. 23] E. W. Dijkstra. A note on two problems in connexion with graphs. Nu- m erische M athematik, 1:269-271, 1959. 24] Y. N. Doganata and A. N. Tantawi. Making a cost-effective video server. IE E E Multimedia, 1:22-30, 1994. 157 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. [25] M. Faloutsos, P. Faloutsos, and C. Faloutsos. On power-law relationships of the internet topology. A C M C om puter C om m unication Review, 1999. [26] C. Federighi and L. A. Rowe. A distributed hierarchical storage manager for a video-on-demand system. In Proceeding o f Sym p. On Elec. Imaging Sci. and Tech, 1994. [27] S. Floyd and V. Jacobson. Random early detection gateways for congestion avoidance. IE E E /A C M Transactions on Networking, 1:397-413, 1993. [28] C. Freedman and D. Dewitt. The spiffi scalable video-on-demand server. In A C M SIGM OD, 1995. [29] J. Gemmell, H. M. Vin, D. D. Kandlur, P. V. Rangan, and L. A. Rowe. M ultimedia storage servers: A tutorial. IE E E Computer, 28(5):40-49, 1995. [30] M.-. V. Group and I. F. 14496-2. Information technology - generic coding of audio-visual objects - part 2: Visual. IS O /IE C JT C 1 /S C 2 9 /W G 1 1 , N2502, 1998. [31] J. Guo, P. G. Taylor, M. Zukerman, S. Chan, K. S. Tang, and E. W. M. Wong. On the efficient use of video-on-demand storage facility. In IE E E IC M E ’03, volume 2, pages 329-332, 2003. [32] Y. Guo, Z. Ge, B. Urgaonkar, P. Shenoy, and D. Towsley. Dynamic cache reconfiguration strategies for a cluster-based streaming proxy. In Eighth In ternational Workshop on Web C ontent Caching and Distribution, 2003. [33] G.Zipf. H uman Behavior and the Principle of Least Effort. Addison-Wesley, Reading, MA, 1949. [34] K. A. Hua, Y. Cai, and S. Sheu. Patching: A multicast technique for true video-on-demand services. In Proc. o f A C M M ultim edia 98, 1998. [35] K. A. Hua and S. Sheu. Skyscraper broadcasting: a new broadcasting scheme for m etropolitan video-on-demand systems. In SIG C O M M ’97, pages 89-100, 1997. [36] T. Ibaraki and N. Katoh. Resource Allocation Problems-Algorithmic A p proaches. MIT Press, Cambridge, 1988. [37] Digital Island, http://w w w .digisle.net. [38] S. Jamin, C. Jin, A. R. Kurc, D. Raz, and Y. Shavitt. Constrained mirror placement on the internet. In INFOCOM , pages 31-40, 2001. 158 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. [39] L. Juhn and L. Tseng. Harmonic broadcasting protocols for video-on-demand service. IE E E Transactions on Broadcasting, 43:268-271, 1997. [40] L. Juhn and L. Tseng. Fast data broadcasting and receiving scheme for popular video service. IE E E Transactions on Broadcasting, 44:100-105, 1998. [41] D. D. Kandlur, M. Chen, and Z. Shae. Design of a multim edia storage server. In IB M Research Report, 1992. [42] J. Kangasharju, J. Roberts, and K. Ross. Object replication strategies in con tent distribution networks. In Sixth Web Caching and C ontent D istribution Workshop, 2001. [43] A. Laursen, J. Olkin, and M. Porter. Oracle media server: Providing con sumer based interactive access to multimedia data. In A C M SIG M OD Int. Conf. M anagem ent of Data, pages 470-477, 1994. [44] J. Y. B. Lee. Parallel video servers: A tutorial. IE E E M ultimedia, 5:20-28, 1998. [45] V. 0 . K. Li, W. Liao, X. Qiu, and E. W. M. Wong. Performance model of interactive video-on-demand systems. IE E E Journal on Selected Areas in Communications, 14:1099-1109, 1996. [46] W. Liao and V. O.-K. Li. The split and merge protocol for interactive video- on-demand. IE E E Multimedia, 4:51-62, 1997. [47] W. Liao and V. O.-K. Li. The split and merge (sam) protocol for interactive video-on-demand systems. In Proceedings IE E E Infocom ’97., pages 1349- 1356, 1997. [48] E. Lim, S. Park, H. Hong, and K. Chung. A proxy caching scheme for con tinuous media streams on the internet. In Proceedings o f lh th International Conference on Inform ation Networking, pages 720-725, 2001. [49] T. D. C. Little and D. Venkatesh. Probability-based assignment of videos to storage devices in a video-on-demand system. M ultim edia System , 2:280-287, 1994. [50] P. Lougher, R. Lougher, D. Shepherd, and D. Pegler. A scalable hierarchical video storage architecture. In S P IE Conference on M ultimedia Computing and Networking, pages 18-29, 1996. [51] A. Medina, A. Lakhina, I. M atta, and J. Byers. Brite: An approach to universal topology generation. In Proceedings o f the International Workshop on Modeling, Analysis and Sim ulation o f Com puter and Telecommunications System s - M A S C O T S ’01, 2001. 159 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. [52] P. Mundur, R. Simon, and A. K. Sood. End-to-end analysis of distributed video-on-demand systems. IE E E Transactions on M ultim edia, 6:129-141, 2004. [53] G. Neufeld, D. Makaroff, and N. Hutchinson. Design of a variable bit rate continuous media file server for an atm network. In S P IE Conference on M ultim edia Com puting and Networking, 1996. [54] B. Ozden, R. Rastogi, and A. Silberschatz. Buffer replacement algorithms for multimedia storage systems. In Proceedings o f the Third IE E E International Conference on M ultim edia Computing and System s, pages 172-180, 1996. [55] J. F. Paris, S. W. Carter, and D. E. Long. Efficient broadcasting protocols for video on demand. In Proceedings o f the 6th International Sym posium on Modeling, Analysis and Sim ulation o f Computing and Telecom Systems, pages 127-132, 1998. [56] J. F. Paris, S. W. Carter, and D. E. Long. A hybrid broadcasting protocol for video-on-demand. In Proceedings o f the 2nd International Conference on A TM , pages 132-139, 1999. [57] D. A. Patterson, P. Chen, G. Gibson, and R. H. Katz. Introduction to redundant arrays of inexpensive disks (raid). In CO M P CO N Spring ’ 89. Thirty-Fourth IE E E Computer Society International Conference: Intellectual Leverage, Digest of Papers, pages 112-117, 1989. [58] L. Qiu, V. N. Padm anabhan, and G. M. Voelker. On the placement of web server replicas. In IN FO C O M , pages 1587-1596, 2001. [59] M. Rabinovich, I. Rabinovich, R. Rajaram an, and A. Aggarwal. A dynamic object replication and migration protocol for an internet hosting service. In the 19th IE E E International Conference on Distributed Computing System s, 1999. [60] P. Radoslavov, R. Govindan, and D. Estrin. Topology-informed internet replica placement. In Sixth Web Caching and C ontent D istribution W ork shop, 2001. [61] P. V. Rangan, H. M. Vin, and S. Ram anathan. Designing an on-demand multimedia service. IE E E Com m unications Magazine, 30:56-65, 1992. [62] R. Rejaie, M. Handley, H. Yu, and D. Estrin. M ultimedia proxy caching mechanism for quality adaptive streaming applications in the internet. In Proceeding o f IN FO C O M 2000, volume 2, pages 980-989, 2000. 160 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. [63] F. Sdiaffa and J.-P. Nussbaumer. On bandw idth and storage tradeoffs in mul tim edia distribution networks. In IN F O C O M 95. Fourteenth A nnual Joint Conference o f the IE E E C om puter and Com m unications Societies, volume 3, pages 1020-1026, 1995. [64] S. Sen, J. Rexford, and D. F. Towsley. Proxy prefix caching for multimedia streams. In Proceeding o f IE E E INFO CO M , pages 1310-1319, 1999. [65] D. N. Serpanos and A. Bouloutas. Centralized versus distributed multimedia servers. IE E E Transactions on Circuits and System s fo r Video Technology, 10:1438-1449, 2000. [66] D. N. Serpanos, L. Georagiadis, and T. Bouloutas. Mmpacking: A load and storage balancing algorithm for distributed multimedia servers. In Technical Report RC20410, IB M T. J. W atson Research Center, 1996. [67] S. Sheu, K. A. Hua, and T. Hu. V irtual batching: A new scheduling technique for video-on -demand servers. In Proc. of the Fifth International Conference on Database system s fo r Advanced Applications, 1997. [68] Z. Shi and C.-C. J. Kuo. Adaptive multimedia caching strategy in heteroge neous application environments. In Proc. of the SPIE, 2000. [69] Z. Shi and C.-C. J. Kuo. Supporting vcr-like interactivity in m ulticast video- on-demand systems using recursive patching. In Proc. o f SP IE IT com 02, 2002. [70] W. Shu and M. Wu. Resource requirements of closed-loop video delivery services. IE E E Multimedia, 11:24-37, 2004. [71] A. Srivastava, A. Kumar, and A. Singru. Design and analysis of a video-on- demand server. M ultimedia System s, 5:238-254, 1997. [72] X. Sun. Design and applications of mpeg video markup langurage (mpml). Ph.D. D issertation Proposal, page 26, 2003. [73] X. Sun and C.-C. J. Kuo. An m peg4/xm l fgs approach to multicast video synchronization. In Proc. o f IS & T /S P IE ’ s 15th A nnual Sym posium, Elec tronic Imaging, volume 5018, 2003. [74] X. Sun, Z. Shi, and C.-C. J. Kuo. Xml-based mpeg-4 video respresentation, streaming and error resilience. In Proc. o f S P IE ’ s 16th A nnual International Sym posium on AeroSense, volume 4736, pages 139-150, 2002. [75] H. Tangmunarunkit, R. Govindan, S. Jamin, S. Shenker, and W. Willinger. Network topologies, power laws, and hierarchy. SIG C O M M Com puter Com m unication Review, 32(l):76-76, 2002. 161 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. [76] T. Teorey and T. B. Pinkerton. A comparative analysis of disk scheduling policies. C om m unications o f the ACM , 15:177-184, 1972. [77] R. Tewari, D. Dias, R. Mukherjee, and H. Vin. High availability in clustered video server. In Technical Report RC20108, IB M T. J. W atson Research Center, 1995. [78] R. Tewari, R. Mukherjee, D. Dias, and H. Vin. Design and performance tradeoffs in clustered video servers. In 3rd IE E E International Conference on M ultim edia Com puting and System s, pages 144-150, 1996. [79] S. Tsao, M. C. Chen, M. Ko, J. Ho, and Y. M. Huang. D ata allocation and dynamic load balancing for distributed video storage server. Journal of Visual C om m unication and Image Representation, 10:197-218, 1999. [80] N. Venkatasubram anian and S. Ram anthan. Load management in dis tributed video servers. In Proc. 17th I n t ’ l Conf. on Distributed Computing System s, pages 528-535, 1997. [81] S. Viswanathan and T. Imielinski. Pyram id broadcasting for video on de mand service. In IE E E M ultimedia Computing and Networking Conference, volume 2417, pages 66-77, 1995. [82] Y. Wang, J. C. L. Lin, D. H. C. Du, and J. Hsieh. Efficient video file allocation schemes for video-on-demand services. M ultim edia System , 5:283-296, 1997. [83] J. L. Wolf, D. M. Dias, and P. S. Yu. A parallel sort merge join algorithm for managing d ata skew. IE E E Trans. Parallel Distrib. Syst., 4(l):70-86, 1993. [84] J. L. Wolf, P. S. Yu, and H. Shachnai. Disk load balancing for video-on- demand systems. M ultimedia System, 5:358-370, 1997. [85] P. S. Yu, M. Chen, and D. D. Kandlur. Design and analysis of a grouped sweeping scheme for multimedia storage management. In 3rd International Workshop on Network and Operating System Support fo r Digital Audio and video, 1992. [86] P. S. Yu, J. L. Wolf, and H. Shachnai. Design and analysis of a look-ahead scheduling scheme to support pause-resume for video-on-demand application. M ultim edia System s, 3(4): 137-50, 1995. [87] Y. Zhao and C.-C. J. Kuo. Design issues on media server scheduling for video-on-demand (vod) services. In M ultimedia System s and Applications VI, 2003. 162 R eproduced with perm ission of the copyright owner. Further reproduction prohibited without perm ission. [88] Y. Zhao and C.-C. J. Kuo. Performance study on media server scheduling in video-on-demand services. In Visual Inform ation Processing X II, volume 5108, 2003. [89] Y. Zhao and C.-C. J. Kuo. Video-on-demand server system design with random early migration. In Proceedings o f the 2003 International Sym posium on Circuits and System s (IS C A S ’03), volume 2, pages 640-643, 2003. [90] Y. Zhao and C.-C. J. Kuo. Design issues on request migration for video- on-demand services. In Proceedings o f the 2004 International Sym posium on Circuits and System s (IS C A S ’ 04), 2004. [91] Y. Zhao and C.-C. J. Kuo. Online media server scheduling design for content delivery networks. In M ultim edia System s and Applications VII, 2004. [92] Y. Zhao and C.-C. J. Kuo. Scheduling design for distributed video-on- demand servers. In Proceedings o f the 2004 International Sym posium on Circuits and System s (IS C A S ’ 05), 2005. [93] Y. Zhao and C.-C. J. Kuo. Server scheduler design for distributed video-on- demand service. In Image and Video Com munications and Processing 2005, 2005. [94] Y. Zhao and C.-C. J. Kuo. Video server scheduling using random early request migration. A C M /Springer M ultim edia System s Journal (to appear), 2005. [95] Y. Zhao, Z. Shi, and C.-C. J. Kuo. Dynamic load balancing and content update for media storage servers. In Visual Inform ation Processing X I, Pro ceedings of SPIE, volume 4736, pages 201-212, 2002. [96] Y. Zhao, Z. Shi, and C.-C. J. Kuo. Online bandwidth-efficient scheduling for video-on-demand with recursive patching. In IE E E IC A S S P ’Of, 2004. [97] Y. Zhao, X. Sun, Z. Shi, and C.-C. J. Kuo. Performance analysis of request migration in video-on-demand systems. In S P IE ITcom 2002, 2002. [98] X. Zhou, R. Luling, and L. Xie. Solving a media mapping problem in a hierarchical server network with parallel simulated annealing. In Proc. of the 2000 International Conference on Parallel Processing, 2000. 163 Reproduced with perm ission o f the copyright owner. Further reproduction prohibited without perm ission.
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Contributions to image and video coding for reliable and secure communications
PDF
Advanced video coding techniques for Internet streaming and DVB applications
PDF
Intelligent systems for video analysis and access over the Internet
PDF
Design and performance analysis of low complexity encoding algorithm for H.264 /AVC
PDF
Design and analysis of MAC protocols for broadband wired/wireless networks
PDF
Contributions to efficient vector quantization and frequency assignment design and implementation
PDF
Color processing and rate control for storage and transmission of digital image and video
PDF
Dynamic radio resource management for 2G and 3G wireless systems
PDF
Error resilient techniques for robust video transmission
PDF
Algorithms and architectures for robust video transmission
PDF
Adaptive video transmission over wireless fading channel
PDF
Design and applications of MPEG video markup language (MPML)
PDF
Efficient acoustic noise suppression for audio signals
PDF
Content -based video analysis, indexing and representation using multimodal information
PDF
Design and performance analysis of a new multiuser OFDM transceiver system
PDF
Contributions to content -based image retrieval
PDF
Complexity -distortion tradeoffs in image and video compression
PDF
Information hiding in digital images: Watermarking and steganography
PDF
Contribution to transform coding system implementation
PDF
Contributions to coding techniques for wireless multimedia communication
Asset Metadata
Creator
Zhao, Yinqing
(author)
Core Title
Design and analysis of server scheduling for video -on -demand systems
School
Graduate School
Degree
Doctor of Philosophy
Degree Program
Electrical Engineering
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
engineering, electronics and electrical,OAI-PMH Harvest
Language
English
Contributor
Digitized by ProQuest
(provenance)
Advisor
Kuo, C.-C. Jay (
committee chair
), Krishnamachari, Bhaskar (
committee member
), Narayanan, Shrikanth (
committee member
), Ortega, Antonio (
committee member
), Zimmermann, Roger (
committee member
)
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-c16-463070
Unique identifier
UC11342321
Identifier
3196925.pdf (filename),usctheses-c16-463070 (legacy record id)
Legacy Identifier
3196925.pdf
Dmrecord
463070
Document Type
Dissertation
Rights
Zhao, Yinqing
Type
texts
Source
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Access Conditions
The author retains rights to his/her dissertation, thesis or other graduate work according to U.S. copyright law. Electronic access is being provided by the USC Libraries in agreement with the au...
Repository Name
University of Southern California Digital Library
Repository Location
USC Digital Library, University of Southern California, University Park Campus, Los Angeles, California 90089, USA
Tags
engineering, electronics and electrical