Skip to main content
Log in

Broadcasting scheme with low client buffers and bandwidths for video-on-demand applications

  • Published:
Multimedia Tools and Applications Aims and scope Submit manuscript

Abstract

Efficient data broadcasting is independent of request arrivals, and is thus highly promising when transmitting popular videos. A conventionally adopted broadcasting method is periodic broadcasting, which divides a popular video into segments, which are then simultaneously broadcast on different data channels. Once clients want to watch the video, they download the segments from these channels. The skyscraper broadcasting (SkB) scheme supports clients with small bandwidths. An SkB client requires only two-channel bandwidths to receive video segments. This work proposes a reverse SkB (RSkB) scheme, which extends SkB by reducing buffering spaces. The RSkB is mathematically shown to achieve on-time video delivery and two-channel client bandwidths. A formula for determining the maximum number of segments buffered by an RSkB client is presented. Finally, an analysis of RSkB reveals that its client buffer requirements are usually 25–37% lower than SkB. Extensive simulations of RSkB further demonstrate that RSkB yields lower client buffer demand than other proposed systems.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

References

  1. Bar-Noy A, Ladner RE (2003) Windows scheduling problems for broadcast systems. SIAM J Comput 32(4):1091–1113 doi:10.1137/S009753970240447X

    Article  MATH  MathSciNet  Google Scholar 

  2. Chien W-D, Yeh Y-S, Wang J-S (2005) Practical channel transition for near-VOD services. IEEE Trans Broadcast 51(3):360–365 doi:10.1109/TBC.2005.852251

    Article  Google Scholar 

  3. Dan A, Sitaram D, Shahabuddin P (1996) Dynamic batching policies for an on-demand video server. Multimedia Syst 4(3):112–121 doi:10.1007/s005300050016

    Article  Google Scholar 

  4. Gao L, Kurose J, Towsley D (2002) Efficient schemes for broadcasting popular videos. Multimedia Syst 8:284–294 doi:10.1007/s005300100049

    Article  Google Scholar 

  5. Guo Y, Gao L, Towsley D, Sen S (2004) Smooth workload adaptive broadcast. IEEE Trans Multimed 6(2):387–395 doi:10.1109/TMM.2003.822786

    Article  Google Scholar 

  6. Hua KA, Sheu S (1997) Skyscraper broadcasting: A new broadcasting scheme for metropolitan video-on-demand systems. ACM SIGCOMM, Sept

  7. Juhn L-S, Tseng L-M (1997) Harmonic broadcasting for video-on-demand service. IEEE Trans Broadcast 43(3):268–271 doi:10.1109/11.632927

    Article  Google Scholar 

  8. Juhn L-S, Tseng L-M (1998) Fast data broadcasting and receiving scheme for popular video services. IEEE Trans Broadcast 44(1):100–105 doi:10.1109/11.713059

    Article  Google Scholar 

  9. Juhn L-S, Tseng L-M (1998) Adaptive fast data broadcasting scheme for video-on-demand services. IEEE Trans Broadcast 44(2):182–185 doi:10.1109/11.713070

    Article  Google Scholar 

  10. Kwon JB, Yeom HY (2002) Providing VCR functionality in staggered video broadcasting. IEEE Trans Consum Electron 48(1):41–48 doi:10.1109/TCE.2002.1010090

    Article  Google Scholar 

  11. Leung Y-W, Chan TKC (2003) Design of an interactive video-on-demand system. IEEE Trans Multimed 5(1):130–140 doi:10.1109/TMM.2003.808818

    Article  Google Scholar 

  12. Nikolaus B, Ott J, Bormann C, Bormann U (2005) Generalized greedy broadcasting for efficient media-on-demand transmissions. IEEE Trans Broadcast 51(3):354–359 doi:10.1109/TBC.2005.852252

    Article  Google Scholar 

  13. Paris J-F, Carter SW, Long DDE (1998) Efficient broadcasting protocols for video on demand. In Proceedings of the 6th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems, Montreal, Canada, pp 127–132, July

  14. Paris J-F, Carter SW, Long DDE (1998) A low bandwidth broadcasting protocol for video on demand. In Proceedings of the 7th International Conference on Computer Communications and Networks (IC3N’98), Lafayette, LA, pp 690–697, October

  15. Paris J-F (1999) A simple low-bandwidth broadcasting protocol for video-on-demand. In Proceedings of International Conference on Computer Communications and Networks, pp 118–123

  16. Paris J-F (2001) An interactive broadcasting protocol for video-on-demand. In Proceedings of the 20th IEEE International Performance, Computing, and Communications Conference (IPCCC 2001), Phoenix, AZ, pp 347–353, Apr

  17. Saparilla D, Ross K, Reisslein M (1999) Periodic broadcasting with VBRencoded video. IEEE INFOCOM 1999:464–471

    Google Scholar 

  18. Sheu J-P, Wang H-L, Chang C-H, Tseng Y-C (2004) A fast video-on-demand broadcasting scheme for popular videos. IEEE Trans Broadcast 50(2):120–125 doi:10.1109/TBC.2004.828754

    Article  Google Scholar 

  19. Tantaoui MA, Hua KA, Sheu S (2002) Interaction with broadcast video. In Proceedings of the 10th ACM International Conference on Multimedia, pp 29–38, Dec

  20. Tantaoui MA, Hua KA, Do TT (2004) BroadCatch: a periodic broadcast technique for heterogeneous video-on-demand. IEEE Trans Broadcast 50(3):289–301 doi:10.1109/TBC.2004.834202

    Article  Google Scholar 

  21. Tseng Y-C, Yang M-H, Hsieh C-M, Liao W-H, Sheu J-P (2001) Data broadcasting and seamless channel transition for highly demanded videos. IEEE Trans Commun 49(5):863–874 doi:10.1109/26.923810

    Article  Google Scholar 

  22. Tseng Y-C, Yang M-H, Chang C-H (2002) A recursive frequency-splitting scheme for broadcasting hot videos in VOD service. IEEE Trans Commun 50(8):1348–1355 doi:10.1109/TCOMM.2002.801466

    Article  Google Scholar 

  23. Tseng Y-C, Chueh Y-C, Sheu J-P (2004) Seamless channel transition for the staircase video broadcasting scheme. IEEE Trans Networking 12(3):559–571 doi:10.1109/TNET.2004.828965

    Article  Google Scholar 

  24. Viswanathan S, Imielinski T (1996) Metropolitan area video-on-demand service using pyramid broadcasting. Multimedia Syst 4:197–208 doi:10.1007/s005300050023

    Article  Google Scholar 

  25. Weng S-Z, Sheu S, Li J-Y (2001) A cost-effective interactive broadcasting protocol for media streaming. In Proceedings of the National Computer Symposium 2001, Taiwan, vol. D, pp 115–122, Dec

  26. Yang Z-Y, Juhn L-S, Tseng L-M (1999) On optimal broadcasting scheme for popular video service. IEEE Trans Broadcast 45(3):318–322 doi:10.1109/11.796274

    Article  Google Scholar 

  27. Yu H-F, Yang H-C, Chen Y-M, Tseng L-M, Kuo C-Y (2004) Smooth Fast Broadcasting (SFB) for compressed videos. Lecture Notes in Computer Science 2957:272–283, Jan

    Google Scholar 

  28. Yu H-F, Yang H-C, Tseng L-M, Chen Y-M (2005) Simple VBR Staircase Broadcasting (SVSB). Comput Commun 28(17):1903–1909 doi:10.1016/j.comcom.2005.02.016

    Article  Google Scholar 

  29. Yu H-F, Yang H-C, Ho P-H, Tseng L-M, Chen Y-M (2006) A smooth broadcasting scheme for VBR-encoded hot videos. Comput Commun 29(15):2904–2916 doi:10.1016/j.comcom.2006.04.003

    Article  Google Scholar 

  30. Yu H-F, Yang H-C, Tseng L-M (2007) Reverse Fast Broadcasting (RFB) for video-on-demand applications. IEEE Trans Broadcast 53(1):103–111 doi:10.1109/TBC.2006.888917

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hsiang-Fu Yu.

Appendices

Appendix A

  1. Theorem 1

    An RSkB client requires at most two-channel bandwidths to download video segments.

  2. Proof

    The proof is by induction. Let k be the number of server broadcasting channels.

  3. 1.

    For k = 1,2: Clearly, the theorem is true.

  4. 2.

    For k = 3: This analysis demonstrates that a client requires at most two-channel bandwidths when downloading segments from channel C 3. According to the previous buffering analysis of channel C i , a client downloads video segments on channel C 3 during the third to fifth time units. Because the numbers of segments on channels C 2 and C 3 are equal, Lemma 1 leads to that the client does not simultaneously receive segments from both the channels. The client requires only one-channel bandwidths to load segments from either channel C 2 or channel C 3 during the third to fifth time units since the client already played the first segment at the first time unit. The theorem is thus true.

  5. 3.

    For k = 4: This study proves that a client requires a bandwidth of two channels during segment downloading on channel C 4. According to the earlier analysis, a client receives segments on channel C 4 during the second to tenth time units. Because channels C 2 and C 3 have the same number of segments, the client does not simultaneously receive segments from both the channels. Since the first segment is played at the first time unit, the client either downloads segments simultaneously on channels C 2 and C 4 or downloads segments simultaneously on channels C 3 and C 4 during the second and fifth time units. After the fifth time unit, the client finishes playing segments on channels C 1 to C 3 and loads segments only from channel C 4. Accordingly, the client requires two-channel bandwidths.

  6. 4.

    For k = a, where amod4 = 1: The theorem is assumedly true, and a client thus requires at most two-channel bandwidths to download video segments. This analysis further assumes that for k = a + 1, k = a + 2, and k = a + 3, the theorem is also true.

  7. 5.

    For k = a + 4: Due to amod4 = 1, (a + 4)mod4 = 1. The buffering analysis indicates that a client receives segments on channel C a  + 3 during time units \(m_{a + 2} + 2 - n_{a + 3} \) to m a  + 3 and receives segments on channel C a  + 4 during time units \(m_{a + 3} + 2 - n_{a + 4} \) to m a  + 4. Since the theorem is assumedly true for k ≤ a + 3, for k = a + 4, this analysis must only prove that the client still requires two-channel bandwidths when downloading segments from channel C a  + 4 (i.e., during time units \(m_{a + 3} + 2 - n_{a + 4} = m_{a + 2} + 2\) to m a  + 4, due to n a  + 4 = n a  + 3 by Eq. (1)). Because the client finishes playing segments on channels C 1 to C a  + 2 before time unit m a  + 2 + 1, the client simply loads segments from channels C a  + 3 and C a  + 4 during time units \(m_{a + 3} + 2 - n_{a + 4} \) to m a  + 4. The theorem is thus true for k = a + 4.

  8. 6.

    For k = a + 5: Due to amod4 = 1, (a + 5)mod4 = 2. According to the previous analysis, a client receives segments on channel C a  + 2 during time units \(m_{a + 1} + 2 - n_{a + 2} \) to m a  + 2, segments on channel C a  + 3 during time units \(m_{a + 2} + 2 - n_{a + 3} \) to m a  + 3, segments on channel C a  + 4 during time units \(m_{a + 3} + 2 - n_{a + 4} \) to m a  + 4, and segments on channel C a  + 5 during time units \(m_{a + 4} + 2 - n_{a + 5} \) to m a  + 5. The theorem is true for k ≤ a + 4 such that for k = a + 5, this analysis proves that the client requires two-channel bandwidths when downloading segments from channel C a  + 5 (i.e., during time units \(m_{a + 4} + 2 - n_{a + 5} = \left( {m_{a + 2} + 4n_{a + 2} + 2} \right) + 2 - \left( {4n_{a + 2} + 4} \right) = m_{a + 2} \) to m a  + 5, due to \(n_{a + 4} = n_{a + 3} = 2n_{a + 2} + 1\) and \(n_{a + 5} = 2n_{a + 4} + 2 = 4n_{a + 2} + 4\) by Eq. (1)). Because the client finishes playing segments on channels C 1 to C a + 1 before time unit m a  + 1 + 1 only the segment downloading on channels C a  + 2, C a  + 3, C a  + 4, and C a  + 5 during time units m a  + 2 to m a  + 5 is considered.

Due to n a  + 4 = n a  + 3, the client does not simultaneously download segments from both channels C a  + 3 and C a  + 4. Thus, the analysis must determine whether the client is asynchronously loading segments from channels C a  + 2 and C a  + 5. If so, the client bandwidth requirements equal two channels, one for loading segments from either channel C a  + 2 or channel C a  + 5 and another for loading segments from either channel C a  + 3 or channel C a  + 4. The client can concurrently download segments from both channels C a  + 2 and C a  + 5 only at time unit m a  + 2 because the client finishes playing segments on channel C a  + 2 at this time unit. Thus, this study shows how this can be avoided. From the previous buffering analysis, the possible segments that the client can load from channels C a  + 2 and C a  + 5 are only segments \(S_{m_{a + 2} } \) and \(S_{m_{a + 4} + 1} \), respectively. Due to (a + 2)mod4 = 3, by Eq. (1), m a  + 2 is known be odd, and \(m_{a + 4} + 1 = m_{a + 2} + 4n_{a + 2} + 3\) is thus even. Additionally, n a  + 2 and n a  + 5 are even. Because a server cyclically broadcasts video segments on channels C a  + 2 and C a  + 5 every even time units (i.e., n a  + 2 and n a  + 5 time units), segments numbered oddly on channel C a  + 2 and segments numbered evenly on channel C a  + 5 do not appear at the same time unit. As a result, segments \(S_{m_{a + 2} } \) and \(S_{m_{a + 4} + 1} \) do not appear at the same time unit. It is impossible that the client simultaneously loads both segments from channels C a  + 2 and C a  + 5 at the time unit m a  + 2. The theorem is thus true for k = a + 5.

  1. 7.

    For k = a + 6: Due to amod4 = 1, (a + 6)mod4 = 3. According to the previous analysis, a client receives segments on channel C a  + 5 during time units \(m_{a + 4} + 2 - n_{a + 5} \) to m a  + 5 and receives segments on channel C a  + 6 during time units \(m_{a + 5} + 2 - n_{a + 6} \) to m a  + 6. The theorem holds for k ≤ a + 5 such that for k = a + 6, the required proof is that the client requires two-channel bandwidths when downloading segments from channel C a  + 6 (i.e., during time units \(m_{a + 5} + 2 - n_{a + 6} = m_{a + 4} + 2\) to m a  + 6, due to n a  + 5 = n a  + 6 by Eq. (1)). Because the client finishes playing segments on channels C 1 to C a  + 4 before time unit m a  + 4+1, the client merely loads segments from channels C a  + 5 and C a  + 6 during time units \(m_{a + 5} + 2 - n_{a + 6} \) to m a  + 6. The theorem is thus true for k = a + 6.

  2. 8.

    For k = a + 7: Due to amod4 = 1, (a + 7)mod4 = 0. From the buffering analysis, a client receives segments on channel C a  + 5 during time units \(m_{a + 4} + 2 - n_{a + 5} \) to m a  + 5, segments on channel C a  + 6 during time units \(m_{a + 5} + 2 - n_{a + 6} \) to m a  + 6, and segments on channel C a  + 7 during time units \(m_{a + 6} + 2 - n_{a + 7} \) to m a  + 7. Since the theorem is true for k ≤ a + 6, the client must be shown to require two-channel bandwidths when downloading segments from channel C a  + 7 (i.e., during time units \(m_{a + 6} + 2 - n_{a + 7} = \left( {m_{a + 4} + 4n_{a + 4} + 4} \right) + 2 - \left( {4n_{a + 4} + 5} \right) = m_{a + 4} + 1\) to m a  + 7, due to \(n_{a + 5} = n_{a + 6} = 2n_{a + 4} + 2\) and \(n_{a + 7} = 2n_{a + 6} + 1 = 4n_{a + 4} + 5\) by Eq. (1)). Because the client has finished playing segments on channels C 1 to C a  + 4 before time unit m a  + 4+1, the client only receives segments from channels C a  + 5, C a  + 6, and C a  + 7 during time units m a  + 4+1 to m a  + 7. Due to n a  + 5 = n a  + 6, the client does not load segments from channels C a  + 5 and C a  + 6 at the same time. Accordingly, the client bandwidth requirements equal two channels. One is for loading segments from either channel C a  + 5 or channel C a  + 6 and another is for loading segments from channel C a  + 7. The theorem is also true for k = a + 7. The proof is complete. □

Appendix B

  1. Lemma 2

    Let B(i,t) be the function of the number of the segments on channel C i buffered by a client at the t th time unit. For the RSkB scheme,

    $$\left\{ \begin{aligned} & B\left( {i,t} \right) = 0,\quad t <m_{i - 1} + 2 - n_i \\ & B\left( {i,t} \right) \leqslant \left\lfloor {\frac{{n_i - \left( {m_{i - 1} - t} \right)}}{2}} \right\rfloor ,\quad m_{i - 1} + 2 - n_i \leqslant t \leqslant m_{i - 1} \\ & B\left( {i,t} \right) \leqslant \left\lfloor {\frac{{n_i }}{2}} \right\rfloor ,\quad m_{i - 1} <t \leqslant m_i - \left\lceil {\frac{{n_i }}{2}} \right\rceil \\ & B\left( {i,t} \right) \leqslant m_i - t,\quad m_i - \left\lceil {\frac{{n_i }}{2}} \right\rceil <t \leqslant m_i \\ & B\left( {i,t} \right) = 0,\quad m_i <t \\ \end{aligned} \right..$$
  2. Proof

    Figure 4 demonstrates the proof.

  3. 1.

    For \(t <m_{i - 1} + 2 - n_i \): As Fig. 4 shows, a client need not download a segment on channel C i during this period. Thus, B(i,t) = 0.

  4. 2.

    For \(m_{i - 1} + 2 - n_i \leqslant t \leqslant m_{i - 1} \): The value range of t is divided into the following four successive sub-ranges for ease of proof.

  5. 2-(a)

    For \(m_{i - 1} + 2 - n_i \leqslant t \leqslant \left\lfloor {\frac{{j + \left( {m_{i - 1} + 1} \right)}}{2}} \right\rfloor - n_i \): As Fig. 4 shows, the client does not download any segments on channel C i ; thus, \(B\left( {i,t} \right) = 0 \leqslant \left\lfloor {\frac{{n_i - \left( {m_{i - 1} - t} \right)}}{2}} \right\rfloor \)

  6. 2-(b)

    For \(\left\lfloor {\frac{{j + \left( {m_{i - 1} + 1} \right)}}{2}} \right\rfloor - n_i <t \leqslant j - n_i \):

    • \(B\left( {i,t} \right)\)

    • \( = t - \left( {\left\lfloor {\frac{{j + (m_{i - 1} + 1)}}{2}} \right\rfloor - n_i } \right)\) see Fig. 4

    • \( \leqslant t + n_i - \left\lfloor {\frac{{\left( {t + n_i } \right) + \left( {m_{i - 1} + 1} \right)}}{2}} \right\rfloor ,\quad due\quad to\quad t \leqslant j - n_i \)

    • \( \leqslant \left\lfloor {\frac{{n_i - \left( {m_{i - 1} - t} \right)}}{2}} \right\rfloor \)

  7. 2-(c)

    For \(j - n_i <t \leqslant \left\lfloor {\frac{{m_i + \left( {j + 1} \right)}}{2}} \right\rfloor - n_i \):

    • \(B\left( {i,t} \right)\)

    • \( = \left( {j - n_i } \right) - \left( {\left\lfloor {\frac{{j + \left( {m_{i - 1} + 1} \right)}}{2}} \right\rfloor - n_i } \right)\) see Fig. 4

    • \( = j - \left\lfloor {\frac{{j + \left( {m_{i - 1} + 1} \right)}}{2}} \right\rfloor \)

    • \( \leqslant \left\lfloor {\frac{{n_i - \left( {m_{i - 1} - t} \right)}}{2}} \right\rfloor ,{\text{due to }}j - n_i < t\)

  8. 2-(d)

    For \(\left\lfloor {\frac{{m_i + \left( {j + 1} \right)}}{2}} \right\rfloor - n_i <t \leqslant m_{i - 1} \):

    • \(B\left( {i,t} \right)\)

    • \( = \left( {j - \left\lfloor {\frac{{j + (m_{i - 1} + 1)}}{2}} \right\rfloor } \right) + \left( {t - \left( {\left\lfloor {\frac{{m_i + (j + 1)}}{2}} \right\rfloor - n_i } \right)} \right)\) see Fig. 4

    • \( \leqslant \left\lfloor {\frac{{j + 2t - m_{i - 1} + 2n_i }}{2}} \right\rfloor - \left\lfloor {\frac{{m_i + \left( {j + 1} \right)}}{2}} \right\rfloor \)

    • \( \leqslant \left\lfloor {\frac{{n_i - \left( {m_{i - 1} - t} \right)}}{2}} \right\rfloor ,{\text{due to }}t \leqslant m_{i - 1} \)

We thus obtain \(B\left( {i,t} \right) \leqslant \left\lfloor {\frac{{n_i }}{2}} \right\rfloor \) when t = m i  − 1.

  1. 3.

    For \(m_{i - 1} <t \leqslant m_i - \left\lceil {\frac{{n_i }}{2}} \right\rceil \): The client plays one segment every time unit while downloading at most one segment. The number of buffered segments descends, and thus \(B\left( {i,t} \right) \leqslant \left\lfloor {\frac{{n_i }}{2}} \right\rfloor \).

  2. 4.

    For \(m_i - \left\lceil {\frac{{n_i }}{2}} \right\rceil <t \leqslant m_i \): The client has played t − m i  − 1 segments, and the number of the remaining segments is

    $$\begin{aligned} & n_i - \left( {t - m_{i - 1} } \right) \\ & = m_i - m_{i - 1} - t + m_{i - 1} \\ & = m_i - t \\ \end{aligned} $$

Thus, B(i,t) ≤ m i  − t

  1. 5.

    For m i <t: The client has finished playing all the segments on channel C i so B(i,t) = 0. The proof is complete. □

Appendix C

Theorem 2

Let B(k) be the maximum number of segments buffered by a client, where k is the number of broadcasting channels. For RSkB, \(\left\{ \begin{aligned} & B\left( k \right) \leqslant \left\lceil {\frac{{n_{k - 1} }}{4}} \right\rceil + \left\lfloor {\frac{{n_k }}{2}} \right\rfloor ,\;k\bmod 4 = 2\;or\;k\bmod 4 = 0 \\ & B\left( k \right) \leqslant \left\lceil {\frac{{n_{k - 2} }}{4}} \right\rceil + \left\lfloor {\frac{{n_{k - 1} }}{2}} \right\rfloor ,\;k\bmod 4 = 1\;or\;k\bmod 4 = 3 \\ \end{aligned} \right.\), where B(1) = 0.

Proof

The theorem is proven by induction.

  1. 1.

    For k = 1: A client downloads and plays the first segment simultaneously, and thus B(1) = 0.

  2. 2.

    For k = 2: A video is divided into three segments. In the worst case, a client concurrently downloads the first and second segments at the first time unit while playing the first segment. The client thus buffers the second segment. At the second time unit, the client plays the second segment and downloads the third segment, which must be buffered to be played at the third time unit. Accordingly, \(B\left( 2 \right) = 1 \leqslant \left\lceil {\frac{1}{4}} \right\rceil + \left\lfloor {\frac{2}{2}} \right\rfloor = \left\lceil {\frac{{n_1 }}{4}} \right\rceil + \left\lfloor {\frac{{n_2 }}{2}} \right\rfloor \).

  3. 3.

    For k = 3: This analysis simply proves that the number of segments buffered during the first to second time units (i.e., B(2)) does not further increase when a client is loading segments from channel C 3 (i.e., during the third to fifth time units). Because the numbers of segments on channels C 2 and C 3 are the same, Lemma 1 reveals that the client does not concurrently download segments from both channels. The client receives at most one segment per time unit during the third to fifth time units, during which the client consumes one segment per time unit. The incoming data are equal to or less than the consumption data, and thus the number of segments buffered does not increase. Therefore, \(B\left( 3 \right) = B\left( 2 \right) = 1 \leqslant \left\lceil {\frac{1}{4}} \right\rceil + \left\lfloor {\frac{2}{2}} \right\rfloor = \left\lceil {\frac{{n_1 }}{4}} \right\rceil + \left\lfloor {\frac{{n_2 }}{2}} \right\rfloor \).

  4. 4.

    For k = 4: The required proof is \(B\left( 4 \right) \leqslant \left\lceil {\frac{{n_3 }}{4}} \right\rceil + \left\lfloor {\frac{{n_4 }}{2}} \right\rfloor = \left\lceil {\frac{2}{4}} \right\rceil + \left\lfloor {\frac{5}{2}} \right\rfloor = 3\). Client playing time t is divided into four successive durations in terms of time units for ease of proof.

    1. 4-(a)

      For t ≤ 3: The client plays segments from channels C 1 and C 2, and buffers the segments from other channels.

      $$\begin{aligned} & B\left( 4 \right) \\ & \leqslant B\left( 3 \right) + B\left( {4,t} \right),\quad due\quad to\quad B\left( 2 \right) = B\left( 3 \right) \\ & \leqslant 1 + \left\lfloor {\frac{{5 - \left( {5 - t} \right)}}{2}} \right\rfloor ,\quad due\quad to\;B\left( {4,t} \right) \leqslant \left\lfloor {\frac{{5 - \left( {5 - t} \right)}}{2}} \right\rfloor \;by\quad inequality\quad set\;(3) \\ & \leqslant 1 + 1,\quad due\quad to\quad t \leqslant 3 \\ & \leqslant 3 \\ \end{aligned} $$
    2. 4-(b)

      For t = 4: The client has finished playing all segments from channels C 1 and C 2, and thus only the segments on channels C 3 and C 4 are considered.

      $$\begin{aligned} & B(4) \\ & \leqslant B(3,t) + B(4,t) \\ & \leqslant \left\lfloor {\frac{2}{2}} \right\rfloor + \left\lfloor {\frac{{5 - (5 - t)}}{2}} \right\rfloor ,{\text{from inequality set (3)}} \\ & = 3,{\text{ due to }}t = 4 \\ \end{aligned} $$
    3. 4-(c)

      For t = 5: Similarly, only the segments on channels C 3 and C 4 are considered.

      $$\begin{aligned} & B\left( 4 \right) \\ & \leqslant B\left( {3,t} \right) + B\left( {4,t} \right) \\ & \leqslant 5 - t + \left\lfloor {\frac{{5 - \left( {5 - t} \right)}}{2}} \right\rfloor ,\quad from\quad inequality\quad set\;\left( 3 \right) \\ & \leqslant 3,\quad due\quad to\quad t = 5 \\ \end{aligned} $$
    4. 4-(d)

      For 5 < t: The client simply downloads segments on channel C 4, and thus B(4) = B(4,t). , \(B\left( 4 \right) = B\left( {4,t} \right) \leqslant \left\lfloor {\frac{5}{2}} \right\rfloor \leqslant 3\).

  5. 5.

    For k = a, where amod4 = 1: The theorem is assumed to be true. A further assumption is that for k = a + 1, k = a + 2, and k = a + 3, the theorem is also true.

  6. 6.

    For k = a + 4: Due to amod4 = 1, (a + 4)mod4 = 1. Client playing time t is divided into three successive time units.

    1. 6-(a)

      For t ≤ m a  + 2: The client receives segments from channels C 1 to C a  + 3 but does not download any segment on channel C a  + 4. Thus, \(B\left( {a + 4} \right) = B\left( {a + 3} \right) \leqslant \left\lceil {\frac{{n_{a + 2} }}{4}} \right\rceil + \left\lfloor {\frac{{n_{a + 3} }}{2}} \right\rfloor \).

    2. 6-(b)

      For t = m a  + 2+1: The client has finished playing segments from channels C 1 to C a  + 2. The client only loads a segment from channel C a  + 3 since segments on channel C a  + 4 are received during time units \(m_{a + 3} + 2 - n_{a + 4} = m_{a + 2} + 2\) (due to n a  + 4 = n a  + 3 by Eq. (1)) to m a  + 4. From inequality set (3),

      $$B\left( {a + 4} \right) = B\left( {a + 3,t} \right) \leqslant \left\lfloor {\frac{{n_{a + 3} }}{2}} \right\rfloor \leqslant \left\lceil {\frac{{n_{a + 2} }}{4}} \right\rceil + \left\lfloor {\frac{{n_{a + 3} }}{2}} \right\rfloor $$
    3. 6-(c)

      For m a  + 2+1 < t: Similarly, the client has finished playing segments received from channels C 1 to C a  + 2. Because the numbers of segments on channels C a  + 3 and C a  + 4 are the same, the client asynchronously receives segments from both the channels. Thus, the client downloads at most one segment per time unit while playing one segment per time unit. The number of segments buffered in this period is no larger than the number for the above duration. Therefore, \(B\left( {a + 4} \right) \leqslant \left\lfloor {\frac{{n_{a + 3} }}{2}} \right\rfloor \leqslant \left\lceil {\frac{{n_{a + 2} }}{4}} \right\rceil + \left\lfloor {\frac{{n_{a + 3} }}{2}} \right\rfloor \).

  7. 7.

    For k = a + 5: Due to amod4 = 1, (a + 5)mod4 = 2. Client playing time t is divided into six successive time units.

    1. 7-(a)

      For t ≤ m a  + 2: The client plays segments received from channels C 1 to C a  + 2 and buffers the segments from other channels.

      $$\begin{aligned} & B{\left( {a + 5} \right)} \\ & \leqslant B{\left( {a + 2} \right)} + B{\left( {a + 3,t} \right)} + B{\left( {a + 4,t} \right)} + B{\left( {a + 5,t} \right)} \\ & \leqslant {\left\lfloor {\frac{{n_{a} }}{4}} \right\rfloor } + {\left\lfloor {\frac{{n_{{a + 1}} }}{2}} \right\rfloor } + {\left\lfloor {\frac{{n_{{a + 3}} - {\left( {m_{{a + 2}} - t} \right)}}}{2}} \right\rfloor } + 0 + {\left\lfloor {\frac{{n_{{a + 5}} - {\left( {m_{{a + 4}} - t} \right)}}}{2}} \right\rfloor },{\text{ from inequality set (3)}} \\ & \leqslant {\left\lfloor {\frac{{n_{a} }}{4}} \right\rfloor } + {\left\lfloor {\frac{{n_{{a + 1}} }}{2}} \right\rfloor } + {\left\lfloor {\frac{{n_{{a + 3}} }}{2}} \right\rfloor } + {\left\lfloor {\frac{{n_{{a + 5}} - n_{{a + 3}} - n_{{a + 4}} }}{2}} \right\rfloor },{\text{ due to }}t \leqslant m_{{a + 2}} \\ & \leqslant {\left\lceil {\frac{{n_{{a + 4}} }}{4}} \right\rceil } + {\left\lfloor {\frac{{n_{{a + 5}} }}{2}} \right\rfloor },by\,Eq.\,{\left( 1 \right)} \\ \end{aligned} $$
    2. 7-(b)

      For \(m_{a + 2} <t \leqslant m_{a + 3} - \left\lceil {\frac{{n_{a + 3} }}{2}} \right\rceil \): The client has finished playing all segments received from channels C 1 to C a  + 2; thus, only the segments on channels C a  + 3 to C a  + 5 are considered.

      $$\begin{aligned} & B\left( {a + 5} \right) \\ & \leqslant B\left( {a + 3,t} \right) + B\left( {a + 4,t} \right) + B\left( {a + 5,t} \right) \\ & \leqslant \left\lfloor {\frac{{n_{a + 3} }}{2}} \right\rfloor + \left\lfloor {\frac{{n_{a + 4} - \left( {m_{a + 3} - t} \right)}}{2}} \right\rfloor + \left\lfloor {\frac{{n_{a + 5} - \left( {m_{a + 4} - t} \right)}}{2}} \right\rfloor ,{\text{ from inequality set (3)}} \\ & \leqslant \left\lfloor {\frac{{n_{a + 3} }}{2}} \right\rfloor + \left\lfloor {\frac{{n_{a + 4} - \left\lceil {\frac{{n_{a + 3} }}{2}} \right\rceil }}{2}} \right\rfloor + \left\lfloor {\frac{{n_{a + 5} - n_{a + 4} - \left\lceil {\frac{{n_{a + 3} }}{2}} \right\rceil }}{2}} \right\rfloor ,{\text{ due to }}t \leqslant m_{a + 3} - \left\lceil {\frac{{n_{a + 3} }}{2}} \right\rceil \\ & \leqslant \left\lceil {\frac{{n_{a + 4} }}{4}} \right\rceil + \left\lfloor {\frac{{n_{a + 5} }}{2}} \right\rfloor \\ \end{aligned} $$
    3. 7-(c)

      For \(m_{a + 3} - \left\lceil {\frac{{n_{a + 3} }}{2}} \right\rceil <t \leqslant m_{a + 3} \): Similarly, only the segments on channels C a  + 3 to C a  + 5 are considered.

      $$\begin{aligned} & B\left( {a + 5} \right) \\ & \leqslant B\left( {a + 3,t} \right) + B\left( {a + 4,t} \right) + B\left( {a + 5,t} \right) \\ & \leqslant m_{a + 3} - t + \left\lfloor {\frac{{n_{a + 4} - \left( {m_{a + 3} - t} \right)}}{2}} \right\rfloor + \left\lfloor {\frac{{n_{a + 5} - \left( {m_{a + 4} - t} \right)}}{2}} \right\rfloor ,{\text{ from inequality set (3)}} \\ & \leqslant \left\lfloor {\frac{{n_{a + 4} }}{2}} \right\rfloor + \left\lfloor {\frac{{n_{a + 5} - n_{a + 4} }}{2}} \right\rfloor ,{\text{ due to }}t \leqslant m_{a + 3} \\ & \leqslant \left\lceil {\frac{{n_{a + 4} }}{4}} \right\rceil + \left\lfloor {\frac{{n_{a + 5} }}{2}} \right\rfloor \\ \end{aligned} $$
    4. 7-(d)

      For \(m_{a + 3} <t \leqslant m_{a + 4} - \left\lceil {\frac{{n_{a + 4} }}{2}} \right\rceil \): The client has finished playing all segments from channel C a  + 3; thus, only segments on channels C a  + 4 and C a  + 5 are considered.

      $$\begin{aligned} & B\left( {a + 5} \right) \\ & \leqslant B\left( {a + 4,t} \right) + B\left( {a + 5,t} \right) \\ & \leqslant \left\lfloor {\frac{{n_{a + 4} }}{2}} \right\rfloor + \left\lfloor {\frac{{n_{a + 5} - \left( {m_{a + 4} - t} \right)}}{2}} \right\rfloor ,{\text{ from inequality set (3)}} \\ & \leqslant \left\lfloor {\frac{{n_{a + 4} }}{2}} \right\rfloor + \left\lfloor {\frac{{n_{a + 5} - \left\lceil {\frac{{n_{a + 4} }}{2}} \right\rceil }}{2}} \right\rfloor ,{\text{ due to }}t \leqslant m_{a + 4} - \left\lceil {\frac{{n_{a + 4} }}{2}} \right\rceil \\ & \leqslant \left\lceil {\frac{{n_{a + 4} }}{4}} \right\rceil + \left\lfloor {\frac{{n_{a + 5} }}{2}} \right\rfloor \\ \end{aligned} $$
    5. 7-(e)

      For \(m_{a + 4} - \left\lceil {\frac{{n_{a + 4} }}{2}} \right\rceil <t \leqslant m_{a + 4} \): Similarly, only the segments on channels C a  + 4 and C a  + 5 are considered.

      $$\begin{aligned} & B\left( {a + 5} \right) \\ & \leqslant B\left( {a + 4,t} \right) + B\left( {a + 5,t} \right) \\ & \leqslant m_{a + 4} - t + \left\lfloor {\frac{{n_{a + 5} - \left( {m_{a + 4} - t} \right)}}{2}} \right\rfloor ,{\text{ from inequality set (3)}} \\ & \leqslant \left\lceil {\frac{{n_{a + 4} }}{2}} \right\rceil + \left\lfloor {\frac{{n_{a + 5} - \left\lceil {\frac{{n_{a + 4} }}{2}} \right\rceil }}{2}} \right\rfloor ,{\text{ due to }}m_{a + 4} - \left\lceil {\frac{{n_{a + 4} }}{2}} \right\rceil <t \\ & \leqslant \left\lceil {\frac{{n_{a + 4} }}{4}} \right\rceil + \left\lfloor {\frac{{n_{a + 5} }}{2}} \right\rfloor \\ \end{aligned} $$
    6. 7-(f)

      For m a  + 4 < t: The client simply downloads segments on channel C a  + 5; thus, \(B\left( {a + 5} \right) = B\left( {a + 5,t} \right) \leqslant \left\lfloor {\frac{{n_{a + 5} }}{2}} \right\rfloor \leqslant \left\lceil {\frac{{n_{a + 4} }}{4}} \right\rceil + \left\lfloor {\frac{{n_{a + 5} }}{2}} \right\rfloor \), from inequality set (3).

  8. 8.

    For k = a + 6: Due to amod4 = 1, (a + 6)mod4 = 3. Client playing time t is divided into three successive durations in terms of time units.

    1. 8-(a)

      For t ≤ m a  + 4: The client simply accepts segments from channels C 1 to C a  + 5. Thus,

      $$B\left( {a + 6} \right) = B\left( {a + 5} \right) \leqslant \left\lceil {\frac{{n_{a + 4} }}{4}} \right\rceil + \left\lfloor {\frac{{n_{a + 5} }}{2}} \right\rfloor $$
    2. 8-(b)

      For t = m a  + 4+1: The client has finished playing segments received from channels C 1 to C a  + 4. Since segments on channel C a  + 6 are downloaded during time units \(m_{a + 5} + 2 - n_{a + 6} = m_{a + 4} + 2\) (due to n a  + 6 = n a  + 5 by Eq. (1)) to m a  + 6, the client only receives segments from channel C a  + 5. Thus,

      $$B\left( {a + 6} \right) = B\left( {a + 5,t} \right) \leqslant \left\lfloor {\frac{{n_{a + 5} }}{2}} \right\rfloor \leqslant \left\lceil {\frac{{n_{a + 4} }}{4}} \right\rceil + \left\lfloor {\frac{{n_{a + 5} }}{2}} \right\rfloor $$
    3. 8-(c)

      For m a  + 4+1 < t: The client has finished playing segments received from channels C 1 to C a  + 4. Since the numbers of segments on channels C a  + 5 and C a  + 6 are equal, the client asynchronously downloads segments from both channels. Thus, the client downloads at most one segment per time unit while playing one segment per time unit. The number of segments buffered in this period is not larger than the number in the above duration. Therefore, \(B\left( {a + 6} \right) \leqslant \left\lfloor {\frac{{n_{a + 5} }}{2}} \right\rfloor \leqslant \left\lceil {\frac{{n_{a + 4} }}{4}} \right\rceil + \left\lfloor {\frac{{n_{a + 5} }}{2}} \right\rfloor \).

  9. 9.

    For k = a + 7: Due to amod4 = 1, (a + 7)mod4 = 0. Client playing time t is divided into six successive durations in terms of time units.

    1. 9-(a)

      For t ≤ m a  + 4: A client receives segments only from channels C 1 to C a  + 5. Thus,

      $$B\left( {a + 7} \right) = B\left( {a + 5} \right) \leqslant \left\lceil {\frac{{n_{a + 4} }}{4}} \right\rceil + \left\lfloor {\frac{{n_{a + 5} }}{2}} \right\rfloor \leqslant \left\lceil {\frac{{n_{a + 6} }}{4}} \right\rceil + \left\lfloor {\frac{{n_{a + 7} }}{2}} \right\rfloor $$
    2. 9-(b)

      For \(m_{a + 4} <t \leqslant m_{a + 5} - \left\lceil {\frac{{n_{a + 5} }}{2}} \right\rceil \): The client has finished playing all segments received from channels C 1 to C a  + 4; thus, only segments on channels C a  + 5 to C a  + 7 are considered.

      $$\begin{aligned} & B\left( {a + 7} \right) \\ & \leqslant B\left( {a + 5,t} \right) + B\left( {a + 6,t} \right) + B\left( {a + 7,t} \right) \\ & \leqslant \left\lfloor {\frac{{n_{a + 5} }}{2}} \right\rfloor + \left\lfloor {\frac{{n_{a + 6} - \left( {m_{a + 5} - t} \right)}}{2}} \right\rfloor + \left\lfloor {\frac{{n_{a + 7} - \left( {m_{a + 6} - t} \right)}}{2}} \right\rfloor ,{\text{ from inequality set (3)}} \\ & \leqslant \left\lfloor {\frac{{n_{a + 5} }}{2}} \right\rfloor + \left\lfloor {\frac{{n_{a + 6} - \left\lceil {\frac{{n_{a + 5} }}{2}} \right\rceil }}{2}} \right\rfloor + \left\lfloor {\frac{{n_{a + 7} - n_{a + 6} - \left\lceil {\frac{{n_{a + 5} }}{2}} \right\rceil }}{2}} \right\rfloor ,{\text{ due to }}t \leqslant m_{a + 5} - \left\lceil {\frac{{n_{a + 5} }}{2}} \right\rceil \\ & \leqslant \left\lceil {\frac{{n_{a + 6} }}{4}} \right\rceil + \left\lfloor {\frac{{n_{a + 7} }}{2}} \right\rfloor \\ \end{aligned} $$
    3. 9-(c)

      For \(m_{a + 5} - \left\lceil {\frac{{n_{a + 5} }}{2}} \right\rceil <t \leqslant m_{a + 5} \): Similarly, only segments on channels C a  + 5 to C a  + 7 are considered.

      $$\begin{aligned} & B\left( {a + 7} \right) \\ & \leqslant B\left( {a + 5,t} \right) + B\left( {a + 6,t} \right) + B\left( {a + 7,t} \right) \\ & \leqslant m_{a + 5} - t + \left\lfloor {\frac{{n_{a + 6} - \left( {m_{a + 5} - t} \right)}}{2}} \right\rfloor + \left\lfloor {\frac{{n_{a + 7} - \left( {m_{a + 6} - t} \right)}}{2}} \right\rfloor ,{\text{ from inequality set (3)}} \\ & \leqslant \left\lfloor {\frac{{n_{a + 6} }}{2}} \right\rfloor + \left\lfloor {\frac{{n_{a + 7} - n_{a + 6} }}{2}} \right\rfloor ,{\text{ due to }}t \leqslant m_{a + 5} \\ & \leqslant \left\lceil {\frac{{n_{a + 6} }}{4}} \right\rceil + \left\lfloor {\frac{{n_{a + 7} }}{2}} \right\rfloor \\ \end{aligned} $$
    4. 9-(d)

      For \(m_{a + 5} <t \leqslant m_{a + 6} - \left\lceil {\frac{{n_{a + 6} }}{2}} \right\rceil \): The client has finished playing the segments on channel C a  + 5, and only the segments on channels C a  + 6 and C a  + 7 are considered.

      $$\begin{aligned} & B\left( {a + 7} \right) \\ & \leqslant B\left( {a + 6,t} \right) + B\left( {a + 7,t} \right) \\ & \leqslant \left\lfloor {\frac{{n_{a + 6} }}{2}} \right\rfloor + \left\lfloor {\frac{{n_{a + 7} - \left( {m_{a + 6} - t} \right)}}{2}} \right\rfloor ,{\text{ from inequality set (3)}} \\ & \leqslant \left\lfloor {\frac{{n_{a + 6} }}{2}} \right\rfloor + \left\lfloor {\frac{{n_{a + 7} - \left\lceil {\frac{{n_{a + 6} }}{2}} \right\rceil }}{2}} \right\rfloor ,{\text{ due to }}t \leqslant m_{a + 6} - \left\lceil {\frac{{n_{a + 6} }}{2}} \right\rceil \\ & \leqslant \left\lceil {\frac{{n_{a + 6} }}{4}} \right\rceil + \left\lfloor {\frac{{n_{a + 7} }}{2}} \right\rfloor \\ \end{aligned} $$
    5. 9-(e)

      For \(m_{a + 6} - \left\lceil {\frac{{n_{a + 6} }}{2}} \right\rceil <t \leqslant m_{a + 6} \): Similarly, only segments on channels C a  + 6 and C a  + 7 are considered.

      $$\begin{aligned} & B\left( {a + 7} \right) \\ & \leqslant B\left( {a + 6,t} \right) + B\left( {a + 7,t} \right) \\ & \leqslant m_{a + 6} - t + \left\lfloor {\frac{{n_{a + 7} - \left( {m_{a + 6} - t} \right)}}{2}} \right\rfloor ,{\text{ from inequality set (3)}} \\ & \leqslant \left\lceil {\frac{{n_{a + 6} }}{2}} \right\rceil + \left\lfloor {\frac{{n_{a + 7} - \left\lceil {\frac{{n_{a + 6} }}{2}} \right\rceil }}{2}} \right\rfloor ,{\text{ due to }}m_{a + 6} - \left\lceil {\frac{{n_{a + 6} }}{2}} \right\rceil <t \\ & \leqslant \left\lceil {\frac{{n_{a + 6} }}{4}} \right\rceil + \left\lfloor {\frac{{n_{a + 7} }}{2}} \right\rfloor \\ \end{aligned} $$
    6. 9-(f)

      For m a  + 6 < t: The client simply downloads segments on channel C a  + 7; thus, \(B\left( {a + 7} \right) = B\left( {a + 7,t} \right) \leqslant \left\lfloor {\frac{{n_{a + 7} }}{2}} \right\rfloor \leqslant \left\lceil {\frac{{n_{a + 6} }}{4}} \right\rceil + \left\lfloor {\frac{{n_{a + 7} }}{2}} \right\rfloor \), from inequality set (3). The proof is complete. □

Rights and permissions

Reprints and permissions

About this article

Cite this article

Yu, HF., Yang, HC., Wang, YT. et al. Broadcasting scheme with low client buffers and bandwidths for video-on-demand applications. Multimed Tools Appl 42, 295–316 (2009). https://doi.org/10.1007/s11042-008-0245-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11042-008-0245-9

Keywords

Navigation