A Fast Video-on-Demand Broadcasting Scheme for
Popular Videos
Jang-Ping Sheu, Han-Lih Wang, Chi-He Chang, and Yu-Chee Tseng
Abstract—Broadcasting is a prospective approach to support near video-on-demand services with light communication over-head. By letting clients share channels, such approaches involve partitioning a video into segments and repeatedly broadcasting these segments in multiple channels. An early paper proposed a broadcasting scheme called RFS (recursive frequency splitting), which can significantly reduce clients’ waiting time. While efficient, RFS suffers from a high computational complexity of
( log ), where is the number of segments of the video, which is typically very large. This paper proposes an efficient segmentation scheme, which can significantly reduce the compu-tational overhead by slightly sacrificing the number of segments that can be arranged as compared to RFS.
Index Terms—Broadcasting, broadband networks, cable TV, video-on-demand.
I. INTRODUCTION
A
DVANCES in broadband networking and multimedia technologies offer easy, daily access to multimedia services through high-speed communication networks. One example is the Video-on-demand (VoD) service, which allows customers to connect to an on-line video server and watch videos asynchronously. A VoD system is typically implemented by a client-server architecture. However, so far VoD has not been commercially successful. One of the reasons is that it may require a number of channels (and thus communication bandwidth) proportional to the number of requests, which is infeasible when the demand is high. For example, a video in MPEG-2 compressed format requires a bandwidth of 0.5 MB/sec [17]. Times the number of requests, extremely high disk I/O and communication bandwidth are needed.To reduce the cost, many broadcast-based approaches are proposed to provide near-VoD services. The batching approach collects a group of requests that arrive close in time, and serves them altogether when a channel is available [1], [3], [4]. Two patching schemes [5], [7] are proposed on top of the batching Manuscript received December 31, 2003; revised January 5, 2004. The work of J. P. Sheu was sponsored by the NSC of the Republic of China under Grant Number 91-2213-E-008-025. The work of Y. C. Tseng was co-sponsored by the MOE Program for Promoting Academic Excellence of Universities under Grant Number 89-E-FA04-1-4, by NSC of Taiwan under Grant Numbers NSC92-2213-E009-076 and NSC92-2219-E009-013, by the Institute for Information Industry and MOEA, R.O.C., under the Handheld Device Embedded System Software Technology Development Project, and by the Lee and MTI Center of NCTU.
J.-P. Sheu and H.-L. Wang are with the Department of Computer Science and Information Engineering, National Central University, Chung-Li 32054, Taiwan (e-mail: [email protected]).
C.-H. Chang and Y.-C. Tseng are with the Department of Computer Sci-ence and Information Engineering, National Chiao-Tung University, Hsin-Chu 30050, Taiwan.
Digital Object Identifier 10.1109/TBC.2004.828754
approach to allow late-coming clients to join the service. Adaptive batching schemes are proposed in [12], [13]. One prospective direction is to partition a video into multiple seg-ments and broadcast them cooperatively by multiple channels [2], [6], [8]–[11], [14]–[16]. Since the server’s broadcasting activity is independent of the arrivals of requests, such solu-tions are more appropriate for popular or hot videos that may attract many viewers at a certain period of time. The pyramid scheme [2], [16] can reduce clients’ maximum waiting time in an exponential ratio with respect to the number of channels used. The Fast Broadcasting (FB) scheme [8], [9] only incurs waiting time when using channels, where is the length of the video. The PAGODA scheme [10], [11] can
further reduce the waiting time to if
is even, and if is odd. In [6], Hu gives
a comprehensive study of existing broadcasting protocols, and proposes a generalized analytical approach to evaluate such protocols. The recently proposed Recursive Frequency Splitting (RFS) scheme [14] can further reduce the waiting time significantly.
While efficient, the RFS scheme [14] suffers from a high computational complexity of , where is the number of segments that the video is partitioned into. Since is typically very large, reducing the overhead is desirable. In this paper, we propose an efficient segmentation scheme, which can signifi-cantly reduce the computational overhead by slightly sacrificing the number of segments (i.e., ) that can be arranged.
The rest of this paper is organized as follows. Our new scheme is proposed in Section II. A further refinement is presented in Section III. Performance comparison is in Section IV.
II. THEPROPOSEDBROADCASTINGSCHEME
Consider a video of length . We are given channels, , each of a bandwidth capable of supporting broadcasting . The problem is to find a largest possible such that is partitioned into equal-length segments and to obtain a placement of these segments on the given channels such that any client, after waiting no longer than time, can start enjoying viewing without any disruption.
Note that at this point, the value of is not known yet. Its value will be an output of our algorithm. Once is known, we can partition the channels into time slots of length . A client has to wait no longer than one time slot to start viewing . Therefore, the maximum waiting time is . A general guideline to guarantee a nondisrupted playback is given in [14]. Lemma 1: The -th segment , must be broad-cast with a period such that .
Fig. 1. (a) Splitting slot sequence SS(C ; 3; 5) by a factor of 3, and (b) splittingSS(C ; 3; 7) by a factor of 2.
Our goal is to assign for each segment a sequence of period-ical time slots as defined below.
Definition 1: A slot sequence is an infinite
se-quence of time slots belonging to channel
, beginning at slot , and repeating infinitely with a period of slots, where is one of the channels, is an integer (i.e., offset), and is an integer (i.e., period), . In this work, we will count time slots of a channel starting from 0, instead of 1. Several examples of slot sequences are shown in Fig. 1.
The most bandwidth-efficient slot assignment, according to Lemma 1, is to assign a slot sequence of period to . How-ever, this is not always feasible since two slot sequences on the same channels with periods that are mutually prime will eventu-ally collide with each other. For example, given any two slot
se-quences and such and are
mutu-ally prime, it is a simple result in number theory that we can find
two integers and such that . Thus, and
cannot be placed in the same channel unless some bandwidth is sacrificed. When assigning a slot sequence to such that , we say that the amount of waste is . So we should make as large as possible to reduce the waste.
Our scheme is based on a concept called “frequency-split-ting” to generate slot sequences of different periods, as formu-lated below.
Lemma 2: A slot sequence can be split by a factor of into slot sequences
Two splitting examples are in Fig. 1. Below we further gen-eralize the result by grouping multiple slot sequences into a set, as defined below.
Definition 2: The union of slot sequences
with the same period , namely
, can be written as a slot
sequence set .
Lemma 3: A slot sequence set
can be split by a factor of into a slot sequence set .
For example, the in Fig. 1(b) can be split
by a factor of 3 into .
The basic idea of our scheme is to represent available slots as slot sequence sets and store them in a resource pool. We will use above lemma to split slot sequences, and multiple video seg-ments will be assigned in groups, until the resource pool is ex-hausted. The scheme is formally derived below. The outputs are
an and the assignment of each segment , to one
slot sequence.
1) Let the resource pool, denoted by a set POOL, be
where and is the -th prime number when
(e.g., , and ).
Intu-itively, this represents the set of all free slot sequences at the beginning.
2) Assign to , and delete
these slot sequences from POOL.
3) Let be the smallest index such that segment is not assigned to any slot sequence yet. Let
be the slot sequence set in POOL such that its period, , is the smallest (in case that POOL doesn’t have any slot sequence set remaining, we can simply imagine that
). Also, let be the slot sequence set in
POOL such that its period, , is the second smallest (in case that POOL has only one slot sequence set remaining, we simply let ). We consider the relationship between and . There are three cases:
a) If , then no slot sequence in POOL can ac-commodate segment . So we terminate this algo-rithm.
b) If , then we sequentially assign the
slot sequences in to segments
until either all segments are successfully assigned or the slot sequences in have been exhausted. Then go back to the beginning of step 3.
c) If , then we split the slot
se-quence set by a factor of
two into, say , by applying
Lemma 3. Then we sequentially assign the slot
sequences in to segments
until either all segments are successfully assigned or the slot sequences in have been exhausted. Then go back to the beginning of step 3.
TABLE I
THEASSIGNMENTEXAMPLEWHENk = 4 CHANNELS.
Note that step 3a is the only exit of the algorithm. Steps 3b and 3c are where we assign multiple segments in one step. Ac-cording to our experience, in most cases step 3c will be executed as opposed to step 3b. The following is an example for channels.
1) In the beginning, we separate channels
, and into slot sequence sets
,
and .
2) Then we assign to to
to , and to .
3) In the first iteration, , and . We split
into and then assign
to .
4) In the second iteration, , and . We
split into and
then assign to .
5) In the third iteration, , and . We split
into and then assign
to .
6) In the fourth iteration, , and
. We split into
and then assign
to .
7) In the fifth iteration, , and . We
split into
and then assign to
. Note that in this case we have exhausted all slot sequences available in
.
8) In the sixth iteration, , and
. In this case, we will enter step 3b and
assign to .
9) In the seventh iteration, ,
and . Again, we will enter
step 3b, which will split
into and then assign
to .
10) In the eighth iteration, since all slot sequences have been
exhausted, , and . We will enter
step 3a, and the assignment will be terminated. III. A FURTHERREFINEMENT
We make two observations on the above scheme. First, after the initial assignment in steps 1 and 2, POOL has slot sequences
of periods . Second, since slot sequence
sets are always split by a factor of 2, the only periods that may
appear in POOL is for some .
For example, in Table I, the possible periods in POOL are 2, 3, 4, 5, 6, 8, 10, 12, 20, etc.
The basic idea in the refinement is to change the initial value of POOL so that there are more choices of periods in POOL. As
noted earlier, assigning to causes a bandwidth
waste of . A more variety of periods may incur less waste. Given channels, the refined scheme works as follows.
1) Still, let the resource pool, denoted by a set POOL, be
Then, for each
, keep the first slot sequences un-changed, and for each of the remaining slot sequences, split it by a factor of such that
.
2) For each value of that appears in POOL as a period of some slot sequence set, allocate one slot sequence from the corresponding SSS and assign it to segment . Then delete the slot sequence from POOL.
3) Repeat steps 3 in the original scheme in Section II. Table II illustrates the refined assignment example with 4 channels. Since the difference between the refined assignment and the original assignment only happens at the first two steps, we only discuss the first few iterations below:
1) In the beginning, we separate channels
, and into slot sequence sets
,
and .
2) Then, we separate into
, separate into , and separate into . 3) Assign to to to to to to , and to .
4) The following steps are quite similar to the original scheme. Note that in the ninth iteration, we have
, and . Although the slot
sequences have not been exhausted yet, we have to enter step 3a and terminate the algorithm.
TABLE II
THEREFINEDASSIGNMENTEXAMPLEWHENk = 4 CHANNELS.
TABLE III
THENUMBERS OFMAXIMUMSEGMENTS(n) OFFERED BYDIFFERENTSCHEMES.
Fig. 2. Comparison of computational overhead of our and RFS schemes. IV. PERFORMANCEANALYSIS ANDCOMPARISON Table III compares the number of segments that can be ar-ranged (i.e., ) by different schemes. The inverse of represents clients’ waiting time. As can be seen, our schemes outperform the FB, PAGODA, and new PAGODA schemes as enlarges, but slightly fall behind the RFS scheme. Also note that the new PAGODA scheme is built purely by heuristic and thus a general result for is not available.
The buffer requirement at the client side is also an important issue for video broadcasting. Since the server side broadcasts
segments every time slot when using channels, we have to buffer at most more segments but consume only one segment from the buffer after every time slot. However, we do not need to buffer at the -th time slot such that . So, the maximum buffer requirement at the client side when using channels must be bounded by:
where the time period of the slot sequence assigned to the segment when using channel.
Next, we analyze the time complexity of our schemes. In each assignment we only scan POOL for the smallest and second smallest periods. Also observe that the size of POOL is for the basic scheme, and for the refined scheme. If POOL is maintained by a heap tree, then both deletion and insertion operations to the heap will incur a cost of for both schemes. So the time complexity for both the basic and refined
schemes is .
In comparison, the RFS scheme is also derived based on the concept of frequency splitting. However, segments are assigned one at a time in RFS. To assign a segment, the whole POOL has to be scanned to minimize the bandwidth waste. The overall computational cost is . Further, in practice our schemes assign multiple segments at a time. The actual computational overhead should be much smaller than . Fig. 2 shows our simulation result on computational cost when running the segment assignments on a Pentium III, 450 MHz, IBM-com-patible PC with 128 Mb RAM. As can be seen, the overhead of the proposed schemes are much smaller than that of RFS. Even when is quite large, only a few milliseconds are needed.
V. CONCLUSION
We have proposed efficient segment-scheduling schemes to support video broadcasting. The schemes effectively arrange segments by assigning multiple segments at one time. It sig-nificantly reduces the computational overhead by slightly sacri-ficing clients’ waiting time as compared to the RFS scheme.
REFERENCES
[1] C. C. Aggarwal, J. L. Wolf, and P. S. Yu, “On optimal batching poli-cies for video-on-demand storage servers,” in Int’l. Conf. on Multimedia Computing and Systems, June 1996, pp. 253–258.
[2] , “A permutation-based pyramid broadcasting scheme for video-on-demand systems,” in Int’l. Conf. on Multimedia Computing and Systems, June 1996, pp. 118–126.
[3] A. Dan, D. Sitaram, and P. Shahabuddin, “Scheduling policies for an on-demand video server with batching,” in Proc. of ACM Multimedia, 1994, pp. 15–23.
[4] , “Dynamic batching policies for an on-demand video server,” Mul-timedia Systems, vol. 4, no. 3, pp. 112–121, June 1996.
[5] L. Gao and D. Towsley, “Supplying instantaneous video-on-demand services using controlled multicast,” in IEEE Multimedia, 1999, pp. 117–121.
[6] A. Hu, “Video-on-demand broadcasting protocols: A comprehensive study,” in INFOCOM, Apr. 2001, pp. 508–517.
[7] K. Hua, Y. Cai, and S. Sheu, “Patching: A multicast technique for true video-on-demand services,” in ACM Multimedia, Sept. 1998, pp. 191–200.
[8] L.-S. Juhn and L.-M. Tseng, “Fast broadcasting for hot video access,” Real-Time Computing Systems and Applications, pp. 237–243, Oct. 1997.
[9] , “Fast data broadcasting and receiving scheme for popular video service,” IEEE Trans. on Broadcasting, vol. 44, no. 1, pp. 100–105, Mar. 1998.
[10] J.-F. Paris, “A simple low-bandwidth broadcasting protocol for video-on-demand,” in Int’l. Conf. on Computer Communication and Network, 1999, pp. 118–123.
[11] J.-F. Paris, S.-W. Carter, and D.-D. Long, “A hybrid broadcasting pro-tocol for video on demand,” in Multimedia Computing and Networking Conference, 1999, pp. 317–326.
[12] W. F. Poon and K. T. Lo, “New batching policy for providing true video-on-demand (T-VoD) in multicast system,” in IEEE ICC, 1999, pp. 983–987.
[13] W. F. Poon, K. T. Lo, and J. Feng, “Adaptive batching scheme for multi-cast video-on-demand systems,” IEEE Trans. on Broadmulti-casting, vol. 47, no. 1, pp. 66–70, Mar. 2001.
[14] Y.-C. Tseng, M.-H. Yang, and C.-H. Chang, “A recursive fre-quency-splitting scheme for broadcasting hot videos in VoD service,” IEEE Trans. on Communications, pp. 1348–1355, Aug. 2002. [15] Y.-C. Tseng, M.-H. Yang, C.-M. Hsieh, W.-H. Liao, and J.-P. Sheu,
“Data broadcasting and seamless channel transition for highly-de-manded videos,” IEEE Trans. on Communications, vol. 49, no. 5, pp. 863–874, May 2001.
[16] S. Viswanathan and T. Imielinski, “Metropolitan area video-on-demand service using pyramid broadcasting,” IEEE Multimedia Systems, vol. 4, pp. 197–208, 1996.
[17] W. E. Wright, “An efficient video-on-demand model,” IEEE Computer, vol. 34, no. 5, pp. 64–70, May 2001.
Jang-Ping Sheu received the B.S. degree in
com-puter science from Tamkang University, Taiwan, Re-public of China, in 1981, and the M.S. and Ph.D. de-grees in computer science from National Tsing Hua University, Taiwan, Republic of China, in 1983 and 1987, respectively.
He joined the faculty of the Department of Electrical Engineering, National Central University, Taiwan, Republic of China, as an Associate Pro-fessor in 1987. He is currently a ProPro-fessor of the Department of Computer Science and Information Engineering, National Central University. He was a Chair of Department of Computer Science and Information Engineering, National Central University from August 1997 to July 1999. He was a visiting professor at the Department of Electrical and Computer Engineering, University of California, Irvine from July 1999 to April 2000. His current research interests include wireless communications, mobile computing, parallel processing, and distributed computing Systems. He was an associate editor of Journal of the Chinese Institute of Electrical Engineering, from August 1996 to July 2000. He was an associate editor of Journal of Information Science and Engineering from August 1996 to July 2002. He is an associate editor of Journal of the Chinese Institute of Engineers. He was a Guest Editor of Special Issue for Wireless Communications and Mobil Computing Journal. He was a Program Chair of IEEE ICPADS’2002. He was a Vice-Program Chair of ICPP 2003.
He received the Distinguished Research Awards of the National Science Council of the Republic of China in 1993–1994, 1995–1996, and 1997–1998. He was the Specially Granted Researchers, National Science Council, from 1999 to 2002. He received the Distinguished Engineering Professor Award of the Chinese Institute of Engineers in 2003. Dr. Sheu is a senior member of the IEEE, a member of the ACM and Phi Tau Phi Society.
Han-Lih Wang received the B.S. and M.S. degrees in
computer science and information engineering from the National Central University, Taiwan, Republic of China, in 1999 and 2001, respectively. He is a senior engineer in Electronic Commerce Universal Inc.
Chi-He Chang received the B.S. degree in
com-puter science from the Chung Yuan Christian University and M.S. degree in computer science and information engineering from National Central University, Taiwan in 1998 and 2000, respectively. He is currently a Ph.D. student at the Department of Computer Science and Information Engineering, National Chiao-Tung University, Taiwan. His re-search interests include video on demand, interactive multimedia, and wireless networks.
Yu-Chee Tseng received his B.S. and M.S. degrees
in computer science from the National Taiwan University and the National Tsing-Hua University in 1985 and 1987, respectively. He worked for the D-LINK Inc., as an engineer in 1990. He obtained his Ph.D. in computer and information science from the Ohio State University in January of 1994. He was an Associate Professor at the Chung-Hua University (1994–1996) and at the National Central University (1996–1999), and a Full Professor at the National Central University (1999–2000). Since 2000, he has been a Full Professor at the Department of Computer Science and Information Engineering, National Chiao-Tung University, Taiwan.
Dr. Tseng served as a Program Chair in the Wireless Networks and Mobile Computing Workshop, 2000 and 2001, as a Vice Program Chair in the Inter-national Conference on Distributed Computing Systems (ICDCS), 2004, as a Vice Program Chair in the IEEE Int’l. Conf. on Mobile Ad-hoc and Sensor Systems (MASS), 2004, as an Associate Editor for The Computer Journal, as a Guest Editor for ACM Wireless Networks special issue on “Advances in Mo-bile and Wireless Systems”, as a Guest Editor for IEEE Transactions on Com-puters special on “Wireless Internet”, as a Guest Editor for Journal of Internet Technology special issue on “Wireless Internet: Applications and Systems”, as a Guest Editor for Wireless Communications and Mobile Computing special issue on “Research in Ad Hoc Networking, Smart Sensing, and Pervasive Com-puting”, as an Editor for Journal of Information Science and Engineering, as a Guest Editor for Telecommunication Systems special issue on “Wireless Sensor Networks”, and as a Guest Editor for Journal of Information Science and Engineering special issue on “Mobile Computing”.
He is a two-time recipient of the Outstanding Research Award, National Sci-ence Council, ROC, in 2001–2002 and 2003–2005, and a recipient of the Best Paper Award in International Conference on Parallel Processing, 2003. Several of his papers have been chosen as Selected/Distinguished Papers in conferences and been included for publications in journals. He has guided students to par-ticipate in several national programming contests and received several awards. His research interests include mobile computing, wireless communication, net-work security, and parallel and distributed computing. Dr. Tseng is a member of ACM and a Senior Member of IEEE.