CS558a Syllabus & Progress

Pyramid Broadcast Technique for Video on Demand

  • Prelude to the Receive Algorithm in Pyramid Broadcasting

  • The Receive Algorithm in Pyramid Broadcasting

  • Pyramid Broadcasting Examples

  • Guaranteeing non-interrupted playout in Pyramid Broadcasting

  • So why do we go through this trouble of cutting the file in increasing sizes ?

    We saw that the "naive" way of broadcasting M video objects - each of size D - on a channel of bandwidth B resulted in an access time of:   MD/B (see: click here)

    What is the access time of the pyramid broadcast method ?

    (Hint: it better be smaller than MD/B or we have gained nothing :-))

  • Access time of the Pyramid Broadcasting method

      • From the discussion above we know that if we make sure that:
             f = ---
        then the receiver will be able to obtain the whole video object continuously (without interruption).

      • In other words:

          Once the viewer has started downloading the video (starting from video fragment D1), he can view the entire video without interruption.

      • So the longest waiting time to download the video is equal to the longest waiting time for video fragment 1 !!!

      • Therefore, the access time for the video (worst case waiting time for the video to show up after you have requested it) is:

    • The variable D1 is derived and we need to express D1 of other system parameters to obtain a "proper result".

      The video object has length D (D is a proper parameter of the system)

      We know that the whole video object is devided into K objects 1, 2, ..., K where their lengths are related as:

                     Di   =   f * Di-1          ......... (1)


      • D1   =   D1
      • D2   =   f*D1
      • D3   =   f*D2   =   f2*D1
      • D4   =   f*D3   =   f3*D1
      • and so on...
      • DK   =   f*DK-1   =   fK-1*D1

      The total length of these K frgaments must be equal to the length of the original video object, so:

                     D1 + D2 + D3 + ... + DK   =   D

                     D1 + f * D1 + f2 * D1 + ... + fK-1 * D1   =   D

                     D1 * (1 + f + f2 + fK-1)   =   D ........................................... (2)

      From Calculus 101, you may still remember that

                               fK - 1
           1 + f + f2 + fK-1 = -------       ...... (3)
                               f - 1
      If not, you can derive it by multiplying both sides of the equation above by f and add them up.

      Substitute equation (3) in equation (2), we get that:

             fK - 1
          D1 -------  =  D
             f - 1
                  f - 1
          D1 =  D -------       ......... (4)
                  fK - 1

      Substitute equation (4) in the expression for access time above ( click here ), and we get:

      It looks like that the access time is dependent on f and K.

      However, since K = B/(M * f) (B (bandwidth) and M (# of video objects) are fixed system parameters), the access time is really only dependent on f

    • Comparing access time of pyramid broadcast and round robin:

      • Access time in round robin = (M x D)/B

        Decreases linearly when bandwidth B increases

      • Access time in pyramid broadcast decreases exponentially when bandwidth B increases !!!

        (According to the formula above for the access time, the access time decreases exponentially when f increases. f increases linearly when B increases, therefore, access time decreases exponentially when B increases)

    • The best (optimal) access time in pyramid broadcasting:

      • The optimal (smallest) access time can be found by minimizing the expression:
                             D    f - 1
            Access Time  =  ---  -------       ......... (4)
                             f    fK - 1

      • Since D is a fixed system parameter, we can only manipulate f to find the minimum.

      • The authors has determined that the minimum is reach for f approximately equal to 2.5

      • As an exercise, you will compare the access time between the pyramid broadcasting and the round robin scheme: click here

  • Storage requirement in pyramid broadcasting

    • The receiver is required to pre-receive some video and store it on hard disk

    • A very important question to ask is:

      • How much disk space does the receiver need

    • One trivial answer would be D * b bits, because the entire video object is consumed in D sec and the consumption rate is b bits per second

      The total size of the video object is D * b bits.

      If you have space to store the whole video object, you certainly have enough space :-)

    • The proper question to ask is:

      • What is the minimum amount of disk space needed in pyramid broadcast

      • The answer ofcourse will depend on the size of the video object (D) and the number of fragments (K) ....

    • The receiver will download at most two streams simultaneously.

      The two largest fragments are fragments K-1 and K

      So the maximum amount of data that need to be stored is when the receiver is downloading fragments K-1 and K simultaneously.

      Since fragment K-1 is downloaded first, we have this situation:

      • We know the size of fragment 1 from equation (4) ( click here )

      • We also know the size of fragment K-1 and K from equation (1) ( click here )

      • Hence:
                            f - 1
              DK-1 = fK-2 D -------       
                            fK - 1
                          f - 1
              DK = fK-1 D -------       
                          fK - 1

      • I trust you can fill these into the equation above... I ain't gonna do it... the result is too messy....

  • Advantage of pyramid broadcasting:

    • Very short access time (compared to the round robin method for the same amount of bandwidth and number of video objects)

  • Disadvantages of pyramid broadcasting:

    • You need to save a very large portion of the video object, thus requiring a very large amount of disk storage space

      • Receiver must save the entire fragment K and most of fragment K-1.
      • These are the two largest fragments !!!
      • Just give you some idea, say we cut the video object up into 10 fragments and Di   =   2 * Di-1. Then:
        • D1   =   D1
        • D2   =   2 * D1
        • D3   =   4 * D1
        • D4   =   8 * D1
        • D5   =   16 * D1
        • D6   =   32 * D1
        • D7   =   64 * D1
        • D8   =   126 * D1
        • D9   =   256 * D1
        • D10   =   512 * D1

        • Total length of video object = (1 + 2 + 4 + ... + 512) * D1 = 1023 * D1
        • Total length of 2 largest video fragments = (256 + 512) * D1 = 768 * D1
        • That's more than 75% of the whole video object !!!

    • High disk bandwidth:

      • Disk bandwidth is the data (read + write) access rate to the disk that is necessary to support the video playback.

      • The highest data rate needed in pyramid broadcast is when:

        • Two fragments are being downloaded simultaneous
        • Playback draws from one of the fragments on disk