Cost-Effective Video Streaming Techniques Kien A. Hua School of EE & Computer Science University of Central Florida Orlando, FL 32816-2362 U.S.A Server Channels • Videos are delivered to clients as a continuous stream. • Server bandwidth determines the number of video streams can be supported simultaneously. • Server bandwidth can be organized and managed as a collection of logical channels. • These channels can be scheduled to deliver various videos. Using Dedicated Channel Video Server Client Client Client Client Too Expensive ! • FCFS Waiting queue new request 7 7 Resources 7 Batching • MQL (Maximum Queue Length First) longest queue length Waiting queue for video i new request Resources Can multicast provide true VoD ? • MFQ (Maximum Factored Queue Length) l1 l1 f1 Access frequency of video 1 Waiting queue for video i new request Resources ln is the largest fn Challenges – conflicting goals • Low Latency: requests must be served immediately • Highly Efficient: each multicast must still be able to serve a large number of clients Some Solutions • Patching [Hua98] • Range Multicast [Hua02] Patching Video Regular Multicast A Proposed Technique: Patching Skew point Video t Patching Stream Regular Multicast Video Player Buffer B A Proposed Technique: Patching Video 2t Skew point is absorbed by client buffer Regular Multicast Video Player Buffer B A Client Design Regular Multicast Patching Multicast Video Server Patching Stream Lr Regular Stream Lp Lr Lp Lr Data Loader Video Player Video Player Video Player Client A Client B Client C Buffer Server Design Server must decide when to schedule a regular stream or a patching stream time r p p p r p p A B C D E F G Multicast group Multicast group Two Simple Approaches • If no regular stream for the same video exists, a new regular stream is scheduled • Otherwise, two policies can be used to make decision: Greedy Patching and Grace Patching Greedy Patching Patching stream is always scheduled Buffer Size Buffer Size Video Length A B Shared Data C Shared Data Shared Data D Time Grace Patching If client buffer is large enough to absorb the skew, a patching stream is scheduled; otherwise, a new regular stream is scheduled. Buffer Size Video Length A Shared Data B Regular Stream C Time Performance Study • Compared with conventional batching • Maximum Factored Queue (MFQ) is used • Performance metric is average service latency Simulation Parameters Parameter Default Range Number of videos 100 N/A Video length (minutes) 90 N/A Video Access Skew factor 0.7 N/A Server bandwidth (streams) 1,200 400-1,800 Client buffer (min of data) 5 0-10 Request rate (requests/min) 50 10-90 Number of requests 200,000 N/A Effect of Server Bandwidth Average Latency (Seconds) 600 500 Conventional Batching Greedy Patching Grace Patching 400 300 200 100 0 400 600 800 1000 1200 1400 1600 Server Communication BW (streams) Defection Request Rate Client Buffer No 50 arrivals/minute 5 minutes 1800 Effect of Client Buffer 200 Average Latency (seconds) 180 160 140 120 100 80 Conventional Batching 60 Greedy Patching Grace Patching 40 20 0 0 1 2 3 4 5 6 7 8 Client Buffer Size (minutes of data) 9 Defection Request Rate Server Bandwidth No 50 arrivals/minute 1,200 streams 10 Effect of Request Rate Average Latency (seconds) 250 200 150 100 Conventional Batching Greedy Patching Grace Patching 50 0 10 20 30 40 50 60 70 80 90 Request Rate (requests/minutes) 100 Defection Client Buffer Server Bandwidth No 5 minutes 1,200 streams 110 Optimal Patching time patching window patching window r p p p r p p A B C D E F G Multicast group Multicast group What is the optimal patching window ? Optimal Patching Window • D is the mean total amount of data transmitted by a multicast group • Minimize Server Bandwidth Requirement, D/W , under various W values Buffer Size Buffer Size Video Length A W Optimal Patching Window • Compute D, the mean amount of data transmitted for each multicast group • Determine , the average time duration of a multicast group • Server bandwidth requirement is D/ which is a function of the patching period • Finding the patching period that minimize the bandwidth requirement Candidates for Optimal Patching Window Piggybacking [Golubchik96] new arrivals C +5% -5% B A departures •Slow down an earlier service and speed up the new one to merge them into one stream •Limited stream sharing due to long catch-up delay •Implementation is complicated Concluding Remarks • Unlike conventional multicast, requests can be served immediately under patching • Patching makes multicast more efficient by dynamically expanding the multicast tree • Video streams usually deliver only the first few minutes of video data • Patching is very simple and requires no specialized hardware Patching on Internet • Problem: – Current Internet does not support multicast • A Solution: – Deploying an overlay of software routers on the Internet – Multicast is implemented on this overlay using only IP unicast Content Routing Each router forwards its Find messages to other routers in a round-robin manner. Root Router Server Router A Router E My Router ? Router D No Find (1) Find (2) Router C Client Client Yes Video stream Router D Find Router B Client Removal of An Overlay Node Server A Server B A E D F G D B G C C Client Client Before adjustment E After adjustment Inform the child nodes to reconnect to the grandparent Failure of Parent Node A A E D D B F E B G G C C Client Client Before adjustment After adjustment – Data stop coming from the parent – Reconnect to the server Slow Incoming Stream B A E A D Sl ow F G C Before adjustment E D B F G C After adjustment Reconnect upward to the grandparent Downward Reconnection A A E D E D Slow B Slow F G C Before adjustment B F G C After adjustment • When reconnection reaches the server, future reconnection of this link goes downward. • Downward reconnection is done through a sibling node selected in a round-robin manner. • When downward reconnection reaches a leave node, future reconnection of this link goes upward again. Limitation of Patching • The performance of Patching is limited by the server bandwidth. • Can we scale the application beyond the physical limitation of the server ? Multicast Chaining 3 video streams Video server 7 video streams Video server Video server Dedicated Channels Only one video stream Batch 1 Batch 2 Batch 3 client A virtual batch Network cache • Using a hierarchy of multicasts • Clients multicast data to other clients in the downstream • Demand on server bandwidth is substantially reduced Chaining Video Server Client A Screen Client B disk Screen disk Client C Screen – Highly scalable and efficient – Implementation is complex disk Range Multicast [Hua02] • Deploying an overlay of software routers on the Internet • Video data are transmitted to clients through these software routers • Each router caches a prefix of the video streams passing through • This buffer may be used to provide the entire video content to subsequent clients arriving within a buffer-size period Range Multicast Group • Four clients join the same server stream at different times without delay • Each client sees the entire video Video Server 0 C4 Root R3 11 0 R1 C2 7 R6 11 7 R4 7 7 R7 0 Buffer Size: Each router can cache 10 time units of video data. Assumption: No transmission delay R2 8 R5 8 R8 0 8 C1 C3 Multicast Range • All members of a conventional multicast group share the same play point at all time – They must join at the multicast time • Members of a range multicast group can have a range of different play points – They can join at their own time Video Server 0 C4 Root R3 11 0 R1 C2 7 R6 11 7 R4 7 7 R7 0 R2 8 R5 8 R8 0 8 C1 C3 Multicast Range at time 11: [0, 11] Network Cache Management • Initially, a cache chunk is free. • When a free chunk is dispatched for a new stream, the chunk becomes busy. • A busy chunk becomes hot if its content matches a new service request. New stream arrives busy A service request arrives before the chunk is full free Replaced by a new stream Last service ends hot A service request arrives before the chunk is full RM vs. Proxy Servers Proxy Servers Range Multicast Popular data are heavily duplicated if we cache long videos. RM routers cache only a small leading portion of the video passing through Caching long videos is not advisable. Many data must still be obtained from the server Majority of the data are obtained from the network. 2-Phase Service Model (2PSM) [Hua99] Browsing Videos in a Low Bandwidth Environment Search Model • Use similarity matching or keyword search to look for the candidate videos. • Preview some of the candidates to identify the desired video. • Apply VCR-style functions to search for the video segments. Conventional Approach Server S0 S1 S2 S3 ... Client S0 display S0 S1 display S1 1. Download So 2. Download S1 3. S2 display S2 S3 ... Time Advantage: while playing S0 Download S2 while. playing S1 . . Reduce wait time Disadvantage: Unsuitable for searching video Search Techniques • Use extra preview files to support the preview function Requires more storage space Downloading the preview file adds delay • Use separate fast-forward and fastreverse files to provide the VCR-style operations Requires more storage space Server can become a bottleneck Challenges How to download the preview frames for FREE ? No additional delay No additional storage requirement How to support VCR operations without VCR files ? No overhead for the server No additional storage requirement 2PSM – Preview Phase R L 5 11 17 23 29 35 41 47 53 59 65 71 77 83 89 95 101 107 113 119 125 131 137 143 149 155 161 167 173 179 185 191 4 10 16 22 28 34 40 46 52 58 64 70 76 82 88 94 100 106 112 118 124 130 136 142 148 154 160 166 172 178 184 190 3 9 15 21 27 33 39 45 51 57 63 69 75 81 87 93 99 105 111 117 123 129 135 141 147 153 159 165 171 177 183 189 2 8 14 20 26 32 38 44 50 56 62 68 74 80 86 92 98 104 110 116 122 128 134 140 146 152 158 164 170 176 182 188 1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 103 109 115 121 127 133 139 145 151 157 163 169 175 181 187 0 6 12 18 24 30 36 42 48 54 60 66 72 78 84 90 96 102 108 114 120 126 132 138 144 150 156 162 168 174 180 186 downloaded during Step 1 90 42 18 6 114 66 30 . . . downloaded during Step 2 138 54 78 . . . 102 GOFs available for previewing after 3 steps The preview quality improves gradually. downloaded during Step 3 162 126 . . . 150 174 downloaded during . Step 4 . . 2PSM – Playback Phase Server PU0 L0 R0 PU1 L1 R1 PU2 L2 R2 PU3 L3 R3 PU4 L4 R4 PU5 L5 R5 PU6 L6 R6 L7 ... Client L R 0 0 display PU0 L1 R display1 PU1 L2 R display2 PU2 L3 R display3 PU3 L4 R display4 PU4 L5 R display5 PU5 L6 R display6 PU6 L7 ... t Download during Initialization Phase Download during Playback Phase Remarks 1. It requires no extra files to provide the preview feature. 2. Downloading the preview frames is free. 3. It requires no extra files to support the VCR functionality. 4. Each client manages its own VCR-style interaction. Server is not involved. 2PSM Video Browser
© Copyright 2026 Paperzz