You are on page 1of 5

Algorithm for VOD Services using Multicast

Iksoo Kim and Yoseop Woo

Department of Information and Telecommunication Engineering University of Incheon


177 Namku Tohwa-dong Incheon, Korea
{iskim , yswooo}@incheon.ac.kr

Abstract – This paper presents algorithm for VOD In this paper, the implemented VOD service using
system using multicast delivery in Head-End- multicast delivery technique can support on-demand
Network (HNET). This is not conventional server- service. For providing on-demand service, scheduler on
based multicast but provides client-based on- server side assigns a multicast group address and port
demand one. The scheduler generates immediately number the instant that client requests a VOD service
multicast group address and port number when a and sends them to VOD server and client. Thus this
client requests a video, and then sends them to VOD system has the characteristics of on-demand. The
server and the client. And then VOD server scheduler aggregates clients’ request for an identical
transmits requested video to multicast group and the video item within predefined scheduling duration (20
client joins the group automatically. The scheduler seconds) in order to maximize the efficiency of VOD
assigns the same multicast group address when server and network resources. Therefore the clients who
other clients request an identical video within the request an identical video item within the same
same scheduling duration. Otherwise, it assigns scheduling duration receive the same multicast group
another multicast group address to them. This paper address and port number. We implement this system
has been focus to implement VOD system with with JDK1.4 and JMF (java media framework) [11]
JDK1.4 and JMF. The rest of the paper is as follows: Section 2
describes the structure and algorithm for VOD system
using client-based multicast delivery in detail, and
I. Introduction addresses the implementation of VOD systems
The Multimedia information service is evolving to the supporting multicast delivery with JDK 1.4 and JMF,
on-demand service, which can be provided to the Section 3 shows the result of improvement of proposed
consumer whenever or wherever he or she wants it [1, VOD system through simulation, and finally Section 4
2]. Two of the best ways to improve performance of concludes the paper.
VOD systems are multicast delivery technique and web
caching strategy using proxy [3, 4, 5, 6].
The multicast has been shown to be very effective in II. Algorithm of VOD System using Multicast
reducing the server bandwidth. The conventional Delivery
multicast delivery systems announce service time for a The VOD system using multicast delivery in this paper
specific item in advance, and then clients access media consists of VOD server, scheduler on server side and a
server at that time. And conventional VOD services number of clients connected to their ADSL/Cable
using multicast as a kind of periodic broadcast modem network as high-speed network, as shown in
periodically provide video service at prescheduled Fig. 1 [10, 12].
service times. Consequently, these systems do not The VOD server immediately performs streaming
support on-demand service for clients and they are service through Internet as a source device that provides
server-based multicast system. Thus they generate a VOD service of a requested movie. It transmits video
multicast group address and port number in prior to streams requested to specific multicast groups that are
clients’ request, and all clients who want to view the transmitted from scheduler.
whole video have to access VOD server at prescheduled The scheduler is a central control point that
service time [7, 8, 9]. aggregates service requests from clients and assigns
The proxy systems can improve network performance multicast group address and port number through
and reduce the load of media server. It is a special kind scheduling process. Then it sends multicast group
of server located between server and client. The conven- address and port number to VOD server and clients
tional caching techniques have unbalanced problems for requesting service. The scheduler assigns the same
the load of proxies and the duplicated copy among proxy. multicast group address and port number to clients
Thus the proxies storing popular items are faced with when the thread for an identical video item requested
heavier traffic than other proxies [4, 6]. Therefore, exists. Otherwise, it assigns another multicast group
proxy-caching systems have to solve imbalanced load of address and port number to client. Thus the scheduler
proxies [10]. creates different multicast address and port number to
clients who request an identical item after the each
grouping duration passed. Therefore this system may Step 5: Server transmits requested video to a
generate a number of multicast group addresses and received multicast group.
port number for an identical video. The clients join the received multicast
group and port number.
Head-end-Network(HNET) II
Step 6: Java Media Player play outs video.
HEN a Step 7: Complete video service.
Fig. 2 Overall VOD service and Join procedure

VOD Server
HEN b
Step 1: Initiate scheduler
Internet
Step 2: The scheduler waits until the clients request
VOD service.
HEN c
Step 3: Scheduler thread wakes up when the client
Scheduler requests service.
It receives video item ID from client.
Step 4: The scheduler investigates whether the
scheduling session for requested video ID
Head-end-Network(HNET) I exists or not.
Fig. 1 The structure and operation diagram for VOD System If it exists, then go to step 6.
Step 5: The scheduler performs grouping and
The VOD server transmits video streams as soon as generates multicast group address and port
receiving multicast address and port number from number during grouping duration.
scheduler and clients connected to HENs join a Step 6: The scheduler sends multicast group
multicast group automatically after receiving them. The address and port number to VOD server
VOD server transmits advertisement contents during and clients who request an identical video
grouping time. There are two reasons for sending it; to item.
remove the latency for service from VOD server and to Step 7: Completion scheduling
decrease the service charge. Although the clients who Fig. 3 Scheduler on server side procedure
request an identical item during a same grouping
duration are assigned the same multicast group, the time Fig. 4 and 5 show server and client procedure,
of viewing the advertisement is different for each client. respectively. The VOD server generates Datagram
The first client who requests service views it for entire socket and inserts the multicast group address and port
grouping durations, but other clients view it for less number within the datagram packet, and transmits video
than grouping duration according to their request instant streams to clients. It divides into two parts, the one is
within a grouping duration. But the instance of real Datagram socket as a maintaining indirect connection
video viewing for the clients that join same multicast with clients and the other is data transmitting for
group address and port number is same. sending requested video item.
The scheduler divides into two parts, main scheduler
and socket thread. The main scheduler using server Step 1: The scheduler calls VOD server: VOD
socket receives clients’ request, generates multicast server starts.
groups according to scheduling duration to each Step 2: VOD server receives multicast group
requested video item and manages them. The socket address and port number from
thread maintains connection of client. Fig. 2 and Fig. 3 scheduler.
show overall service procedure of proposed system and Step 3: VOD server investigates compression
scheduler procedure, respectively format and the rate of transmission.
Step 4: VOD server transmits video streams
Step 1: Client accesses scheduler for VOD with received multicast address and
service request: inputs requested video port number.
item’s ID Step 5: VOD server completes transmission of
Step 2: The scheduler investigates whether the video streams; Completion server
scheduling session for requested video program
ID exists or not.
If it exists go to step 4. Fig. 4 VOD server procedure
Step 3: The scheduler performs grouping and
generates multicast group address and Step1: Client generates socket and prepares
port number during grouping duration. connection to scheduler.
Step 4: The scheduler sends multicast group Step 2: Client requests video items ID to
address and port number to VOD scheduler after connection.
server and clients who request an Step 3: Client receives multicast group address
identical video item. and port number from scheduler.
Step 4: Client closes socket for scheduling

G:\New Paper\호주\Atnac2003\Iksoo Kim.doc 17/10/2003


Step 5: Client joins multicast group address in 232.0.175.217 and 4096(port number) using MClient
order to receive transmitted video class and SimplePlayer class.
streams from VOD server. The MClient class generates socket to communicate
Step 6: Java Media Player plays out video with scheduler, and it outputs multicast group address
streams. and port number on client’s window. Next, MClient
Step 7: Java Media Player stops play-out. class closes socket and attempts to join a multicast
Fig. 5 Client procedure group address and port number, and then generates
SimplePlayer class.
Fig. 6 shows screen shot of scheduler frame. As
shown in Fig. 6, the scheduler on server side indicates
grouping requested video items list on window of
grouping video item during a grouping duration.
The grouping item lists are added requested video
item IDs when grouping item field within
CommonData class becomes set. Also, the scheduler
indicates generated multicast group addresses, port
numbers, requested video IDs, connected clients’ IPs
which request service and requested video items on Fig. 7 The execution client program
window of User.

Fig. 8 GUI of client application

Fig. 9 shows the results of execution client’s applet


application. The client writes server IP or DNS name of
scheduler on Client Frame (Fig. 8), well-known port
number and video item number on corresponding
window. The port number 7777 is a port that the
function of ServerSocket( ) uses. Then the result of
scheduling by the execution of thread is transmitted to
the client from scheduler. The transmitted multicast
Fig. 6. The scheduler application on server side group address (230.0. 127.240) and port number (4044)
are written on the bottom of Fig. 9. And then, the client
Fig. 7 and 8 show the results of execution client automatically joins with 230.0.127.240 and 4044(port
program and GUI of client application, respectively. As number).
shown in Fig. 7, the execution of client program The SimplePlayer class drives Multicast Media
performs on command line through ClientFrame. The Player using JMF (java media framework) and receives
result of execution is the window of client GUI (Fig. 8). video streams transmitted from VOD server through
And then client writes server IP or DNS name of RTP session with a multicast group address. The
scheduler on Client Frame (Fig. 8), well-known port Multicast Media Player performs rendering of received
number and video item number on corresponding video streams. The result of execution of Fig. 9 (click
window (Fig. 8). The port number 7777 is a port that request button) is shown in Fig. 10. Thus, Multicast
the function of ServerSocket( ) uses. Then the result of Media Player with controller plays out video streams
scheduling by the execution of thread is transmitted to transmitting from server
the client from scheduler. The transmitted multicast
group address (232.0.175.217) and port number (4096)
are written on the bottom of Fig. 7 and in the TextArea
of Fig. 8. And then, the client automatically joins with

G:\New Paper\호주\Atnac2003\Iksoo Kim.doc 17/10/2003


for selection of each multimedia item in simulation.
Consequently, we perform simulation such that the
more popular multimedia items, the higher probability
of request for the multimedia item [13, 14].
In the simulation, the number of multimedia item
provided by the media server is N=100 and the length
of each multimedia is 1 to 30 minutes, and the service
request rate(λ) per head-end network(LAN) is 30 to
100 per minute. The service request rate λ follows
Poisson distribution and the expression is as follows
[15],

fx(X = k) = lim ( n
k
) pk (1 - p)n-k = λk e-λ / k! (1)
n∞

Fig. 11 shows the number of required channel for


service as the service request rate λ = 30 to 100 vary.
The performance of proposed media system decreases
the number of channel by 32.1%, 46.7% and 58.4%
Fig. 9 Applet window for client execution when the service request rate λ = 30, 50 and 100,
respectively.

120

100 The Bandwidth of


Unicast is 100%
80 67.9%

53.3%
60 41.6%

40

20

0
0 30 50 100

λ : Request

Fig. 11 The result of simulation for the load of server

IV. Conclusion
Fig. 10 Multicast Media Player using JMF The proposed system implements VOD service using
client-based multicast delivery system not server-based
one. The scheduler immediately generates multicast
III. Simulation and Results group address and port number according to clients’
This section performs simulation and analyzes on the request. The VOD server starts sending requested video
results of performance of media server using multicast to group and the clients automatically join that group
delivery. The request patterns depend on the popularity and play out receiving video streams. This VOD system
of the video serviced from media server. We use Zipf- shows that the number of channel decreases by 32.1%,
like distribution for the probability of choosing i-th 46.7% and 58.4% in comparison of that using unicast
popular video among N multimedia items provided by when service requesting rates are 30, 50 and 100,
media server. The probability that a specified respectively. We believe that the range of application
multimedia is chosen with ith frequency is Z/i, where will be extended when the proposed system supports
Z=1/(1+1/2+1/3+ . . . +1/N). Using the Zipf distribution, multicast tunneling on Internet and VCR operation.
if the overall clients’ service request rate to the media
server through scheduler is λ, the service requesting
rate of the multimedia item for ith frequency is λi=λρ Acknowledgement
i(where, ρi =Z/i)). Its rate based on popularity is used This work was supported (in part) by the Korea Science
to determine the traffic for each multimedia item. The and Engineering Foundation (KOSEF) through the
most popular multimedia item (i=1) must have higher multimedia Research
weighted value than others because the request for
popular multimedia item is more frequent than that for
unpopular ones. We use ρi as a weighting parameter Reference

G:\New Paper\호주\Atnac2003\Iksoo Kim.doc 17/10/2003


1. K.Almeroth & M.Ammar, "An Alterative Paradigm for
Scalable On-Demand Application: Evaluating and
Deploying the Interactive Multimedia Jukebox", IEEE
Trans. on Knowledge and Data Engineering Special Issue
on Web Technology, April 1999
2. D.Sitaram and A.Dan, “Multimedia Servers”, Morgan
Kaufmann Publishers 2000
3. T.D.C. Little and D. Venkatesh, "Prospects for Interactive
Video-On-Demand" In MCL Technical Report 02-15-1994
4. Carey Williamson, “On Filter Effects in Web Caching
Hierarchies,” ACM Transactions on Internet Technology,
Vol. 2, No. 1, pp. 47-77, February 2002
5. Backhyun Kim, Seungchan Moon, Iksoo Kim & Yoseop
Woo, "A Buffering Algorithm for Providing Truly
Interactive Video-on-Demand Service," Proc. of Int'l
Conf. on PDPTA99, pp211-217, Las Vegas, 1999
6. R. Rajaie, M. Handley, H. Yu and D. Estrin, “Proxy
caching mechanism for multimedia playback streams in
Internet,” in Fourth International WWW Caching
Workshop, Mar. 1999
7. Yen-Jen Lee, David H.C.Du and Weihsiu Ma, "SESAME: A
Scalable and Extensible Architecture for Multimedia
Entertainment", In IEEE, COMPSAC, 1996.
8. K.C.Almeroth and M.H.Ammar,"The Use of Multicast
Delivery to Provide a Scalable and Interactive Video-On-
Demand Service," IEEE J. Selected Areas in Comm., Vol.14,
No 6, Aug. 1996, pp.1110-1122
9. J.Pasquale, G.Polyzos and G.Xylomenos, “The Multimedia
Multicasting Problem,” ACM Multimedia Systems, vol.6,
no.1, 1998
10. Iksoo Kim, Taejun Hwang, Youngjune Kim & Yoseop
Woo, " New Distributive Web caching Technique for VOD
Service," ITCOM2002 Conf. Boston U.S.A, 2002
11. http://java.sun.com/products/java-media/jmf/
12. Iksoo Kim, Backhyun Kim , Yoseop Woo , Taejun
Hwang , Seokhoon Kang,”VOD Service using Web-
Caching Technique on the Head-End-Network,”
ICCSA2003 Springer-Verlag LNCS2668
13. P. Cao, L. Fan and G. Philips, “Web Caching and Zipf-
like Distributions: Evidence and Implications,” IEEE
Infocom 1999
14. D.Eager, M.Vernon & J.Zahorjan, " Optimal and Efficient
Merging Schedules for Video-on-demand Servers", Proc.
ACM Multimedia 99, ACM 1999
15. H. M. Taylor and S. Karlin, “An Introduction to
Stochastic Modeling,” Academic Press 1994

G:\New Paper\호주\Atnac2003\Iksoo Kim.doc 17/10/2003

You might also like