- 46 Views
- Uploaded on
- Presentation posted in: General

Scheduling Techniques for Media-on-Demand

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - 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.

- 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.

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

[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

- 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

- 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?

- 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 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

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

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

Without shifting, even if the client can buffer data, a maximal 1-delay is inevitable.

…

The resulting delay: at most 4 slots = 4/5.

- 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.

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

- 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 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.

- 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.

- 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

- 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.