190 likes | 291 Views
Scheduling Techniques for Media-on-Demand. Amotz Bar-Noy Brooklyn College Richard Ladner Tami Tamir University of Washington. Multimedia-on-Demand Systems. A database of media objects (movies). A limited number of channels. Movies are broadcast based on customer demand.
E N D
Scheduling Techniques for Media-on-Demand Amotz Bar-Noy Brooklyn College Richard Ladner Tami Tamir University of Washington
Multimedia-on-Demand Systems • A database of media objects (movies). • A limited number of channels. • Movies are broadcast based on customer demand. • The goal: Minimizing clients’ maximal waiting time (delay). • Broadcasting schemes: For popular movies, the system does not wait for client requests, but broadcasts these movies continuously.
Broadcasting Schemes for Media-on-Demand Systems. • A server broadcasting movies of unit-length on h channels. Each channel transmits data at the playback rate. • A client that wishes to watch a movie is ‘listening to all the channels’ and is waiting for his movie to start.
Example: One Movie, Two Channels Staggered broadcasting, [Dan, Sitaram, Shahabuddin, 96]: Transmit the movie repeatedly on each of the channels. C1: … 0 1/2 1 3/2 2 5/2 3 C2: … Guaranteed client delay: at most 1/2 (1/h in general). Can we do better? A clue: With today’s advanced technology, clients can buffer data to their local machine.
C1: 1 1 1 1 1 1 … 0 1/3 2/3 1 4/3 5/3 2 C2: 2 3 2 3 2 3 … arrive watch & buffer Using Client’s Buffer [Viswanathan, Imielinski, 96]: Partition the movie into segments. Early segments are transmitted more frequently. 1 2 3 (3 segments) Each time-slot has length 1/3. The client waits for the next slot start, and can then start watching the movie without interruptions. Maximal client delay: 1/3 (slot size).
… 4 4 4 Using Client’s Buffer, The General Case: • The movie is partitioned into s segments, 1,..,s. • We schedule these segments such that segment i is transmitted in any window of i slots (i-window). • The client has segment i available on time (from his buffer or from the channels). • The maximal delay: one slot = 1/s. • Therefore, the goal is to maximize s for given h.
Examples:h=1, s=1, D=1 1 1 1 C1 1 1 1 1 1 1 … h=2, s=3. D=1/3 C1 … C2 2 3 2 3 2 3 … 4 4 4 C1 … C2 … 5 5 5 … C3 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 3 6 7 3 8 3 6 7 3 8 9 9 Harmonic Window Scheduling • Given h, maximize s such that each i in 1,..,s is scheduled with window at most i. h=3, s=9. D=1/9 • In general, window scheduling is NP-hard [Bay-Noy, Bhatia, Naor, Schieber, 98]. • Good harmonic schedules can be found greedily [Bar-Noy, Ladner, 02]. Can other techniques do better? Match a lower bound?
Our Results • Two new segment-scheduling techniques: - Shifting. - Channel sharing. • A lower bound for the guaranteed client’s delay (generalizes the lower bound of [Engebretsen, Sudan, 02] for a single movie). • Each of the two techniques produces schedules which - Approach the lower bound for any number of channels. - Guarantee the minimal known delay for small number of segments. • The two techniques can be applied together.
delay The Shifting Technique: • The movie is partitioned into s segments, 1,..,s. • We find a schedule of these segments in h channels such that segment i is transmitted in any window of d+i-1 slots (d is the shifting level). • The 1stsegment has window d. • The 2nd segment has window d+1, etc. • The client waits for the next slot start, buffers data during the next d-1 slots, and then start watching the movie (while continue buffering). The total delay is at most d slots arrive buffer watch & buffer d-1 slots s slots
… 1 1 1 1 1 1 … 2 3 2 3 2 3 3 3 3 4 4 4 1 1 1 1 1 1 2 5 6 2 7 2 5 6 2 7 8 8 Example I: One Movie, Two Channels Without shifting, the best schedule has delay 1/3 … C1: … C2: With shifting, we can schedule 8 segments 1..8, such that segment i is transmitted in any i+1 window (d=2). C1: C2: The resulting delay is 2/8 = 1/4.
t t t t t t t t t t C1: 1 3 1 4 1 3 1 4 1 3 1 4 … C2: 2 5 6 2 7 8 2 5 6 2 7 8 … 1 6 8 2 4 7 3 arrive buffer watch & buffer 1 2 Example I: One Movie, Two Channels For a client arriving during the second slot: Client’s buffer Client watches 4 5 6 7 8
With shifting (d=4): We partition the movie into 5 segments. 1 2 3 4 5 We broadcast segment iin any i+3 (or smaller) window 1 1 1 1 arrive buffer watch & buffer 3 4 5 3 4 5 3 2 2 2 2 The first segment is transmitted every 4th slot The third, fourth, and fifth segments are transmitted every 6th slot. The second segment is transmitted every 4th slot Example II: One Movie, One Channel Without shifting, even if the client can buffer data, a maximal 1-delay is inevitable. … The resulting delay: at most 4 slots = 4/5.
Asymptotic Results • How far can we go with this technique? • What happens when d is very large? • Answer: Asymptotically, this is an optimal scheme. • Proof: Based on Recursive Round Robin (RRR) schedules.
Asymptotic Results (cont’) Lower bound [Engebretsen, Sudan, 02]: The guarantied delay for one movie and h channels is at least Theorem: For h 1, there is a constant ch, such that shifting produces a schedule with maximal delay at most Proof : Given h,d, we find an RRR schedule on h channels of segments 1,..,s with shift level d, such that s is large enough to satisfy the theorem. (DLB(1)= 0.58).
delay Lower bound=0.58 Number of segments Simulation Results for h=1 • We simulate our RRR scheduling algorithm. • 30% different from the lower bound for s=8. • 13% different from the lower bound for s=120 (one-minute segments in an average movie).
… With one movie: 2 4 2 5 2 4 2 5 2a 2b 4a 4b 8a 9a 4a 4b 8b 9b … … With two movies: The Channel Sharing Technique for Multiple Movies The idea: We can gain from transmitting segments of different movies on the same channel. Example: For three channels and one movie the best harmonic schedule is of nine segments (delay = 1/9). For sixchannels and two movies, we have a double-harmonic schedule of ten segments (delay =1/10). Why does it work? more segments can be transmitted with window close to their requirement.
Asymptotic Results • How far can we go with this technique? What happens when the number of movies, m, is very large? • Answer: Asymptotically, this is an optimal scheme. Lower bound: The guaranteed delay for m movies and h channels is at least Theorem: Forh,m 1, there is a constant ch,m, such that there exists a schedule with guaranteed delay at most Proof: An algorithm that produces an RRR schedule.
Combining Techniques • The shifting and the channel sharing techniques can be applied together. • For small values of h,s, and m, we present schedules that achieve the smallest known delay. • Asymptotically, we are getting closer to the lower bound much faster – to show this we analyze and simulate two simple RRR-schedules.
and Open Problems Other Models • Our shifting and channel sharing techniques can be used also: • To reduce average client delay. • In the receive-r model - where clients have limited number of readers. • For movies with different lengths. • For movies with different popularity/priority (where the desired maximal delay varies). For all these models we have examples of the efficiency of shifting and/or sharing. We have no general algorithm or asymptotic analysis.