SlideShare a Scribd company logo
IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A : SYSTEMS AND HUMANS, VOL. 35, NO. 5, SEPTEMBER 2005 665
Assignment of Movies to Heterogeneous
Video Servers
Yiu-Wing Leung, Senior Member, IEEE, and Ricky Yuen-Tan Hou, Member, IEEE
Abstract—A video-on-demand (VOD) system provides an elec-
tronic video rental service to geographically distributed users. It
can adopt multiple servers to serve many users concurrently. As
a VOD system is being used and evolved, its servers probably be-
come heterogeneous. For example, if a new server is added to ex-
pand the VOD system or replace a failed server, the new server may
be faster with a larger storage size. This paper investigates how to
assign movies to heterogeneous servers in order to minimize the
blocking probability. It is proven that this assignment problem is
NP-hard, and a lower bound is derived on the minimal blocking
probability. The following approach is proposed for assignment:
1) problem relaxation—a relaxed assignment problem is formu-
lated and solved to determine the ideal load that each server should
handle, and 2) goal programming—an assignment and reassign-
ment are performed iteratively while fulfilling all the constraints
so that the load handled by each server is close to the ideal one.
This approach is generic and applicable to many assignment prob-
lems. This approach is adopted to design two specific algorithms
for movie assignment with and without replication. It is demon-
strated that these algorithms can find optimal or close-to-optimal
assignments.
Index Terms—Assignment, server system, video-on-demand
(VOD).
I. INTRODUCTION
A. Background
Avideo-on-demand (VOD) system provides an electronic
video rental service to geographically distributed users
[1], [2]. Using this service, users can select and watch movies
at their convenient time and places, and they may interact with
the movies using interactive operations such as fast forward,
rewind, and pause. VOD is considered to be a promising Internet
service [3]. Fig. 1 shows a typical VOD system. A server system
stores a collection of movies. When a user requests to watch a
movie, the server system retrieves this movie and delivers it to
the user through a communication network.
VOD service is usually open to many users and so the server
system should be able to serve multiple users concurrently. To
serve each user, the server system retrieves and delivers video
at the video playback rate (e.g., 1.5 Mb/s for MPEG video).
Consequently, the server system should have a large capacity
to handle a large volume of bits. To satisfy this requirement, the
server system can adopt one of two configurations [4].
Manuscript received February 22, 2002; revised April 23, 2004. This project
was supported by the RGC Research Grant HKBU 2092/01E. This paper was
recommended by Associate Editor C. Hsu.
The authors are with the Department of Computer Science,
Hong Kong Baptist University, Kowloon Tong, Hong Kong (e-mail:
ywleung@comp.hkbu.edu.hk; rickyhou@comp.hkbu.edu.hk).
Digital Object Identifier 10.1109/TSMCA.2005.851136
Fig. 1. Typical video-on-demand (VOD) system.
1) Centralized server configuration [Fig. 2(a)]—The
server system uses a high-end computer (e.g., a multi-
processor computer) as a video server.
2) Distributed server configuration [Fig. 2(b)]—The
server system uses multiple low-end computers (e.g.,
personal computers) as video servers. Each server
stores some of the movies, and it can serve multiple
users concurrently. Overall, the server system can
serve many users concurrently.
Serpanous and Bouloutas [4] made a comprehensive com-
parison between these two configurations. In particular, the dis-
tributed server configuration is attractive in three aspects.
1) Good scalability—The system can easily be scaled up
by adding more video servers.
2) High availability—The system can still provide ser-
vice when some servers fail or are under preventive
maintenance.
3) Competitive performance-to-price ratio—Personal
computers are currently fast and cheap.
The distributed server configuration is adopted by a commercial
VOD system called iTV system [5].
B. Relevant Results in the Literature
Using the distributed server configuration, it is necessary to
assign each movie to one or more video servers. This assignment
problem has been investigated in the literature [6]–[8].
• Little and Venkatesh [6] formulated the assignment
problem for a server system with identical servers. Their
objective was to minimize the blocking probability,
which is the probability that a request for VOD service
is blocked (rejected) because the server system does
1083-4427/$20.00 © 2005 IEEE
666 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A : SYSTEMS AND HUMANS, VOL. 35, NO. 5, SEPTEMBER 2005
Fig. 2. Two types of configurations for the server system: (a) centralized
server configuration—the video server is a high-end computer such as a
multiprocessor computer and (b) distributed server configuration—each video
server is a low-end computer such as a personal computer.
not have free capacity. Little and Venkatesh proved that
the assignment problem is equivalent to the problem of
balancing the load among the servers.
• Mourad [7] considered a server system with identical
servers, proved that the assignment problem is NP-hard,
and designed two greedy algorithms to find good and
suboptimal assignments for two respective cases: 1) the
movies cannot be replicated (i.e., each movie is assigned
to one server) and 2) the movies can be replicated (i.e.,
each movie is assigned to one or more servers).
• Serpanos, Georgiadis, and Bouloutas [8] considered
the following version of the assignment problem: all
the servers are identical, each server has large enough
storage size to store any number of movies, and the
movies can be replicated. Without the constraint on
storage size, the assignment problem turns out to be
solvable in polynomial time. Serpanos et al. [8] designed
an efficient greedy algorithm that can perfectly balance
the load among all the servers.
C. Our Research
In the studies [6]–[8], it was assumed that the server system is
composed of identical servers. In practice, as a server system is
being used and evolved, its servers probably become heteroge-
neous having different processing speeds, different input–output
(I/O) speeds, and different storage sizes. For example, if a new
server is added to expand the server system or replace a failed
server,thenewserverisprobablyfasterwithalargerstoragesize.
In this paper, we investigate the movie assignment problem in
which the server system is composed of heterogeneous servers,
and the objective is to minimize the blocking probability. Our
investigation has two salient aspects, described hereafter.
1) New Problem: In the literature [6]–[8], there are several
studies on movie assignment in an identical server environment.
Since the servers are identical, every server should handle the
same load, so the assignment problem is equivalent to bal-
ancing the load among the servers [6]. In this paper, we study a
different problem: movie assignment in a heterogeneous server
environment. Since the servers are heterogeneous, different
servers should handle different load for optimal performance
(e.g., a faster server should handle a larger load). This movie
assignment problem is different and more challenging because
it is also necessary to determine the optimal load handled by
each server. The latter problem is a hard discrete optimization
problem in which the objective function (i.e., the blocking
probability) is a nonlinear function of the server load while the
server load, in turn, depends on the assignment. We formulate
this assignment problem, prove that it is NP-hard, and derive a
lower bound on the minimal blocking probability.
2) New Solution Approach: In the literature, a greedy
approach was adopted for a movie assignment in an identical
server environment [7], [8]. Movie assignment in a hetero-
geneous server environment is more challenging, so a more
sophisticated optimization approach is needed. We propose
a very different approach to tackle this problem: integrate
problem relaxation with goal programming as follows.
1) Problem relaxation: We formulate a relaxed problem
that can be solved quickly and solve it to determine
the ideal load that each server should handle.
2) Goal programming: We assign the movies to the
servers so that the load handled by each server is
as close to the ideal one as possible while all the
constraints are fulfilled. In particular, we exploit the
properties of the assignment problem to design three
operations (namely, migration, swapping, and replica-
tion) and repeatedly apply these operations to assign
and reassign the movies to the servers iteratively.
The proposed solution approach (i.e., integrating problem
relaxation with goal programming for assignment) is generic
because both problem relaxation and goal programming are
generic. Therefore, this approach is applicable to many assign-
ment problems by suitably exploiting their specific properties.
II. MODEL
A. Service
A VOD system can provide two possible services [9].
1) Individual service: A user makes a request, and then
the system starts to serve him. The user can perform
interactive operations (such as pause, rewind, and fast
LEUNG AND HOU: ASSIGNMENT OF MOVIES TO HETEROGENEOUS VIDEO SERVERS 667
forward). The server system uses one video stream to
serve one user.
2) Batch service [9]–[12]: A user makes a request and
then has to wait until the system collects a batch of
requests for the same movie. After commencement, the
user cannot perform interactive operations (or can only
perform some restricted operations at the expense of
larger system complexity). The server system uses one
video stream to serve a batch of users.
Individual service has a better quality, while batch service re-
quires less resources to serve each user. In the following, we
model individual service. We can model batch service in a very
similar manner (e.g., see [9] and [12]), and we do not repeat the
details. The movie assignment algorithms that we will develop
are applicable to both services.
B. Servers
The server system is composed of heterogeneous servers.
We assume that server can provide video streams to serve
concurrent users, where depends on the speed and storage
hierarchy of this server. can be determined via known ana-
lytical techniques, such as those reported in [13] and [14]. We
define the capacity of server to be . We let server have a
storage size of bits.
C. Movies
The system provides movies. Movie is composed of
bits, and its popularity is (i.e., a request chooses movie
with probability ). can be measured by a statistical method
called linear predictor [6].
D. Request for VOD Service
When a user wants to watch a movie, he makes a request to
the server system. If the system has free capacity, it admits this
user and reserves the necessary resources (e.g., I/O bandwidth)
to maintain a video stream for this user; otherwise, it blocks this
user. We assume that the requests arrive at the system according
to a Poisson process with rate [6]–[9], [12]. This Poisson
model is suitable because the VOD service should be provided
for a moderate or large number of potential users in order to
justify its investment cost (e.g., a commercial VOD system has
more than 80 000 family subscribers [5]).
E. VOD Session
When the system admits a user’s request, it starts a new VOD
session for this user. Different VOD sessions may have different
duration because different movies may have different duration,
and the users may perform interactive operations (such as pause
or fast forward). We let the mean duration of a VOD session be
.
F. Access Probability
If movie is assigned to server , then some requests will ac-
cess server for movie . We let be the probability that a
request accesses server for movie . If movie is not repli-
cated, it is only assigned to one server (say, server ), and we
have and for all . If movie is replicated,
it is assigned to multiple servers, and we have and
. We define the access probability of server
to be . In other words, is the probability that a re-
quest accesses server for service.
G. Quality of Service
When a user requests a new VOD session but the server
system does not have free capacity, this request is blocked. The
quality of service is measured in terms of the blocking proba-
bility [6], where a smaller blocking probability means a better
quality of service. The blocking probability in heterogeneous
server environment can be derived as follows. Since a request
accesses server for service with probability , the requests
for server form a Poisson process with rate . After ad-
mitting a request, server serves it for an average duration of
. At any time, server can serve at most concurrent users.
For these reasons, server can be modeled as an
queueing system with arrival rate and departure rate .
When server is serving users, it does not have free capacity
to serve any additional user, and so any request accessing
this server must be rejected or blocked. Since server can be
modeled as an queueing system, the blocking
probability at server can be shown to be [15]
(1)
The overall blocking probability is given by
(2)
where .
Remark 1: The servers are located in one location, and they
provide VOD service to the users in one city through intracity
communication. In intracity communication, the communica-
tion distance is small, and the communication networks can
usually provide large and inexpensive bandwidth using optical
fibers. When the service provider wants to provide VOD service
to multiple cities, it can locate one set of servers in each city
so that only intracity communication is needed, while intercity
communication can be avoided. This is desirable because inter-
city communication is relatively expensive.
III. MOVIE ASSIGNMENT WITHOUT REPLICATION
In this section, we investigate the movie assignment problem
in which each movie is assigned to one server (i.e., movies are
not replicated).
A. Problem Formulation and Complexity
We let be a movie assignment matrix, where
if movie is assigned to server , and otherwise.
The movie assignment problem is to determine the optimal
that minimizes the blocking probability while fulfilling the fol-
lowing constraints.
668 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A : SYSTEMS AND HUMANS, VOL. 35, NO. 5, SEPTEMBER 2005
1) Each movie is assigned to one server. Thus, we have
.
2) If movie is assigned to server , all the requests for
movie must only access server for service. Thus, we
have .
3) The total number of bits assigned to server cannot
be larger than its available storage size. Thus, we have
.
4) is either zero or one.
The movie assignment problem can be formulated as follows:
Optimization Problem 1
Minimize
Subject to: for
for
and
for
for
and (3)
The variables to be optimized are for all and
.
Theorem: The movie assignment problem is NP-hard.
Proof: For the special case in which all the servers are iden-
tical (i.e., and ),
the above problem reduces to the one studied in [6] and [7]. The
latter problem is NP-hard [7]. Therefore, the above movie as-
signment problem is also NP-hard.
B. Main Ideas of Movie Assignment
Since the movie assignment problem is NP-hard, heuristic
algorithms should be used in practice. We design a heuristic
algorithm to find optimal or close-to-optimal assignments. Our
main ideas are outlined hereafter.
1) Problem relaxation: We select to relax certain
constraints so that the relaxed problem can be
solved quickly (these constraints are given in Sec-
tion III-C). We solve the relaxed problem and then
compute the resulting access probabilities (denoted by
) and blocking probability (denoted
by ). Since some constraints have been relaxed,
are ideal, and they may not be realiz-
able, so is a lower bound to the minimal blocking
probability. For convenience, are
called ideal access probabilities.
2) Goal programming: We restore the relaxed constraints
and assign the movies to the servers such that is as
close to the ideal one as possible for all .
In particular, we minimize the distance between the
point and the point
in -dimensional space, where we
Fig. 3. Framework of movie assignment without replication.
measure the distance between and in terms of
the squared Euclidean distance
(4)
We describe the details of these two ideas for movie assignment
in Sections III-C and III-D, respectively. Fig. 3 shows the frame-
work of movie assignment without replication.
C. Determining the Ideal Access Probabilities
We relax the following constraints in Optimization Problem
1.
• We remind that is equal to . With the first,
second, and fourth constraints, can only assume cer-
tain values within [0,1]. We relax this restriction so that
can assume any value within [0,1].
• We relax the third constraint on the storage size of each
server.
LEUNG AND HOU: ASSIGNMENT OF MOVIES TO HETEROGENEOUS VIDEO SERVERS 669
The relaxed problem can be formulated as follows:
Optimization Problem 2
Minimize
Subject to:
(5)
The variables to be optimized are . To solve the
above problem, we need the following lemma.
Lemma 1: is a convex function of
.
Proof: can be written as ,
where (see (2)). is the well-known Erlang
loss function, and it can be shown that is a
convex function of [16]. Then, it is easy to show that
is a convex function of .
Since is a convex function of , the global minimum of
can be determined efficiently by many numerical methods
(e.g., the gradient projection method [17]). We solve Opti-
mization Problem 2 to determine the ideal access probabilities
. Then, the to the minimal blocking prob-
ability is given by
(6)
Remark 2: Let be the minimal blocking probability. The
on the minimal blocking probability satisfies the condition
. It is difficult to find because the assignment
problem is NP-hard, but it is easy to compute . When we
use a heuristic algorithm to find an assignment, let the resulting
blocking probability be . must be equal to or larger than
the minimal blocking probability, so . Overall, we have
. Based on this relationship, we can apply the
to reach the following useful conclusions.
• If is equal to the lower bound , must also be equal
to . This means that the assignment is optimal.
• If is close to the lower bound , must also be close
to . This means that the assignment is close to optimal.
Remark 3: When we use a numerical method to solve
Optimization Problem 2, we can choose any initial values for
that fulfill the two constraints in (5) (e.g.,
choose as the initial value for ). We note that if server
has a larger capacity , it should handle a heavier load and
so is larger; then, it is better to choose a larger initial value
for so that this initial value is closer to , thereby speeding
up the optimization process. Based on our computational ex-
perience, we recommend to choose the following initial value
for :
(7)
For example, if , , , ,
, , and , then is [0.0464, 0.1181,
0.1962,0.2778, 0.3615], and the initial is chosen to be
[0.0667, 0.1333, 0.2000, 0.2667, 0.3333].
D. Minimizing the Distance
We restore the relaxed constraints. Then, the ideal access
probabilities may not be realizable. Neverthe-
less, it is desirable that is as close to the ideal one as
possible for all , so that the resulting blocking prob-
ability can be close to the lower bound . For this purpose, we
assign the movies to the servers such that
is minimized. To formulate this problem, we
define to be a set of movies assigned to server (i.e.,
movie is assigned to server ). Then, the access prob-
ability can be written as . The problem of mini-
mizing the distance can be formulated as follows:
Optimization Problem 3
Minimize
Subject to:
empty set for (8)
The objective function is the distance. The two constraints en-
sure that each movie is assigned to one server. The variables to
be determined are .
Although Optimization Problem 3 appears to be less compli-
cated than Optimization Problem 1, it is still NP-hard.
Lemma 2: Optimization Problem 3 is NP-hard.
Proof: The proof is given in Appendix A.
Since the problem of minimizing is
NP-hard, we design a heuristic algorithm for reducing iter-
atively. In particular, we determine a good initial assignment
and then repeatedly apply two operations (called migration and
swapping) to improve the assignment iteratively. Fig. 3 shows
the framework of a movie assignment. We describe the details
in the following subsections.
1) Determining an Initial Assignment: We design a greedy
algorithm to assign the movies to the servers one after the other
so that is as small as possible. This forms an
initial assignment.
We define the outstanding access probability for server
to be the difference between the ideal access probability and
the actual access probability . The following lemmas provide
useful guidelines for greedy assignment of movies.
Lemma 3: Suppose a given movie is to be assigned to one of
servers. The optimal assignment that minimizes is to as-
sign this movie to the server with the largest outstanding access
probability.
Proof: The proof is given in Appendix B.
Lemma 4: Suppose two given movies (say, movies and )
are to be assigned to two servers, where movie has a larger
popularity than movie . The optimal assignment sequence that
minimizes is to assign movie first and then assign movie .
Proof: The proof is given in Appendix C.
We apply the Lemma 3 and Lemma 4 to design a greedy algo-
rithm for initial movie assignment. In each iteration, we assign
one movie to one of the servers. For any given movie, Lemma 3
states that we should assign it to the server with the largest out-
standing access probability in order to result in the smallest
in this iteration. Since there are given movies, it is also nec-
essary to determine the sequence of movie assignment. Lemma
670 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A : SYSTEMS AND HUMANS, VOL. 35, NO. 5, SEPTEMBER 2005
4 provides a guideline for this purpose. It states that we should
assign a movie with a larger popularity and then assign a movie
with a smaller popularity in order to result in the smallest
in each iteration. Based on this principle, we assign the movie
with the largest popularity, then assign the movie with the next
largest popularity, etc. Based on these ideas, we design the fol-
lowing procedure for determining a good initial assignment.
Procedure INITIAL_ASSIGNMENT
1. Initialization
Initialize the outstanding access
probability to be the ideal access
probability for all .
Arrange the movie popularities
in the order
.
2. Assignment
FOR TO DO
BEGIN
2.1 Among the servers that can store
movie ( ), select the one with the
largest outstanding access
probability. Let this server be
server .
2.2 Assign movie ( ) to server .
2.3 Decrement the outstanding access
probability by , and
decrement the storage size of
server by .
END.
2) Iterative Reassignment by Migration: We repeatedly
apply an operation called migration to improve the assignment
iteratively. This operation reassigns a movie from a server to
another server in order to further reduce (say, reassign movie
from server to server ). , , and must be properly
selected so that the migration operation can effectively reduce
. We address this issue in the following.
When movie is migrated from server to server , the re-
sulting distance is given by
(9)
The difference between and the original distance is given
by
(10)
It is desirable that is more negative, so that the resulting
distance is reduced by a larger amount. For this purpose, we
analyze the properties of as a function of , , and .
We note that is a quadratic function of with the
following properties:
1) is negative if
.
2) The minimal value of is more negative if
is larger.
3) is more negative when is closer to
.
Based on these properties, we derive the following guidelines
for migration.
1) Select server with as large as possible, and
select server with as small as possible. In
this manner, the resulting distance is smaller than
the original distance, and the minimal value of is
the smallest.
2) Select movie from server such that
and is closest to
. Migrate movie from server to server
so that the resulting distance is the smallest.
We repeatedly perform migration until no further migration is
possible.
Based on these ideas, we design the following procedure for
migration.
Procedure MIGRATION
1. Initialization
Arrange in the
order
. Set to one.
2. Iterative Migration
WHILE ( is smaller than ) DO
BEGIN
2.1 Select the source server
Select server ( ) as the source
server.
2.2 Select the destination server
Identify such that fulfills two
conditions: 1) server ( ) can store
at least one additional movie from
server ( ) and 2) is as large as
possible over the range . If
these exists , select server ( )
as the destination server;
otherwise, go to Step 3.
2.3 Select a movie for migration
Identify a movie (say, movie )
from server ( ) such that
and is
closest to .
2.4 Perform migration
If there exists movie , then
perform migration as follows:
• Migrate movie from server ( )
to server ( ).
• Decrement by and increment
by .
• Increment the available storage
of server ( ) by , and decrement
LEUNG AND HOU: ASSIGNMENT OF MOVIES TO HETEROGENEOUS VIDEO SERVERS 671
the available storage of server
( ) by .
• Arrange to maintain the order
.
Otherwise, increment by one.
END
3. If Step 2 can result in at least
one migration, then go to Step 1.
Otherwise, stop.
3) Iterative Reassignment by Swapping: We repeatedly
apply an operation called swapping to further improve the
assignment iteratively. This operation swaps two movies from
two respective servers in order to further reduce the distance
. In other words, if movies and are assigned to servers
and , respectively, then the swapping operation is to reassign
movies and to servers and , respectively. , , , and
must be properly chosen so that the swapping operation can
effectively reduce . We address this issue in the following.
After swapping, the resulting distance is given by
(11)
The difference between and the original distance is given
by
(12)
It is desirable that is more negative so that the swapping
operation can reduce the distance by a larger amount. We note
that is a quadratic function of with three
properties.
1) is negative if
.
2) The minimal value of is more negative if
is larger.
3) is more negative when is closer to
.
Based on these properties, we derive the following guidelines
for swapping.
1) Select server with as large as possible, and
select server with as small as possible. In
this manner, the resulting distance is smaller than
the original distance, and the minimal value of is
the smallest.
2) Select movie from server and movie from server
such that
and is closest to .
Swap movies and so that the resulting distance is
the smallest.
We repeatedly perform swapping until no further swapping is
possible.
Based on these ideas, we design the following procedure for
swapping.
Procedure SWAPPING
1. Initialization
Arrange in the
order
. Set to one.
2. Iterative Swapping
WHILE ( is smaller than ) DO
BEGIN
2.1 Select the source server
Select server ( ) as the source
server.
2.2 Select the destination server and
two movies for swapping
2.2.1 Do the following for all
:
• Identify a movie (say, movie )
from server ( ) and a movie
(say, movie ) from server ( )
such that
(1) the available storage
in server ( ) is at least
and the available storage in
server ( ) is at least , and
(2)
and is closest to
.
• Compute the decrease in
distance when these two movies
are swapped based on (12).
2.2.2 Identify that can result in the
maximal decrease in distance. If
there exists , select server ( )
as the destination server, and
select the corresponding movie
from server ( ) and movie from
server ( ). Otherwise, increment
by one and skip step 2.3.
2.3 Perform swapping
Swap movie and movie . Update
and
. Increment
the storage size of server ( ) by
and increment the storage
size of server ( ) by .
Arrange to maintain the order
.
END
3. If Step 2 can result in at least
one swapping, then go to Step 1.
Otherwise, stop.
672 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A : SYSTEMS AND HUMANS, VOL. 35, NO. 5, SEPTEMBER 2005
E. Overall Movie Assignment Algorithm
The algorithm for movie assignment without replication fol-
lows.
Algorithm MOVIE_ASSIGNMENT
1. Solve (5) to determine the ideal
access probabilities .
2. Execute INITIAL_ASSIGNMENT.
3. REPEAT
3.1 Execute MIGRATION.
3.2 Execute SWAPPING.
UNTIL no further migration and
swapping are possible.
Step 1 is to determine the ideal access probabilities. We can
use any numerical method for constrained convex programming
to solve (5) (e.g., the gradient projection method [17]). Step 2 is
to determine a good initial assignment. Step 3 is to repeatedly
use the migration and swapping operations to improve the as-
signment iteratively.
IV. MOVIE ASSIGNMENT WITH REPLICATION
In the previous section, each movie is assigned to one server.
If a movie (say, movie ) is very popular, many users may re-
quest to watch it. It is desirable to replicate movie in multiple
servers so that these servers can serve more concurrent users for
movie [7], [8].
When a movie is assigned to more than one server, a request
for this movie is dispatched to one of these servers. We let
be a dispatch probability matrix, where is the
probability that a request for movie is dispatched to server
and .
A. Main Ideas
Our main ideas for movie assignment with replication are as
follows.
1) We execute MOVIE_ASSIGNMENT to determine the
ideal access probabilities and an as-
signment without replication. This assignment is used
as an initial assignment.
2) We design three operations (namely, replication, mi-
gration, and swapping) to replicate the movies and im-
prove the assignment iteratively while fulfilling all the
constraints so that is reduced iteratively.
Fig. 4 shows the framework of movie assignment with replica-
tion. We describe the details in the following subsections.
B. Replication
We repeatedly replicate the movies to reduce it-
eratively. Suppose movie is assigned to server with dispatch
probability . We replicate this movie in server such that a
request for movie is dispatched to servers and with respec-
tive probabilities and , where is to be
determined. In effect, server is required to share an additional
Fig. 4. Framework of movie assignment with replication.
load for movie . After replication, the resulting distance
is given by
(13)
The difference between and the original distance is given
by
(14)
It is desirable that is more negative so that the replica-
tion operation can reduce the distance by a larger amount. We
note that is a quadratic function of with the fol-
lowing properties:
1) is negative if
;
2) the minimal value of is more negative if
is larger;
3) is more negative when is closer to
.
LEUNG AND HOU: ASSIGNMENT OF MOVIES TO HETEROGENEOUS VIDEO SERVERS 673
Based on these properties, we derive the following guidelines
for replication.
1) Select server with as large a as possible.
2) Select movie in server for replication in server ,
where and are determined as follows. For any given
and , we choose to result in the largest decrease
in distance as follows. When
, we choose to be
so that the decrease in distance is the largest
while the resulting dispatch probability is
positive. When ,
we choose to be so that the decrease in distance
is the largest while the resulting dispatch probability is
still nonnegative. Overall, we choose to be
(15)
We compute the decrease in distance as in (16), shown at
the bottom of the page. Then we select and among
all the possible ones such that the decrease in distance
is maximal.
3) Replicate movie in server such that the dispatch
probability is increased by while is de-
creased by .
We repeatedly perform replication until no further replication is
possible.
Based on the above ideas, we design the following procedure
for replication.
Procedure REPLICATION
1. Initialization
Initialize to be a set of all the
servers.
2. Iterative Replication
WHILE ( is not empty) DO
BEGIN
2.1 Select the source server
Select server from such that
is the largest.
2.2 Select the destination server and
a movie for replication
For each server (say, server )
where and for
each movie assigned to server
(say, movie ), compute the
decrease in distance based on (15)
and (16). Select and such that
they can result in the maximal
decrease in distance.
2.3 Perform replication
If the maximal decrease in
distance is neither 0 nor , then
perform replication as follows:
• If server does not contain
movie , then replicate movie
in server and decrement the
free storage of server by .
• If ,
increment the free storage of
server by .
• Choose based on (15).
• Decrement by and by
, and increment by
and by .
Otherwise, remove server from
the set .
END
3. If Step 2 can result in at least
one replication, then go to step 1.
Otherwise, stop.
C. Migration and Swapping
We repeatedly apply a migration operation and a swapping
operation to improve the assignment iteratively. These opera-
tions are essentially the same as that described in Section III,
except that the probability that a request accesses server for
movie is . The procedures for these operations (de-
noted by MIGRATION2 and SWAPPING2, respectively) are
the same as MIGRATION and SWAPPING, respectively, ex-
cept that and are replaced by and , respec-
tively. To keep the paper short, we do not repeat the details for
MIGRATION2 and SWAPPING2.
D. Overall Movie Assignment Algorithm
The algorithm for movie assignment with replication is given
as follows:
Algorithm MOVIE_ASSIGNMENT_REPLICATION
1. Execute MOVIE_ASSIGNMENT.
2. REPEAT
2.1 Execute REPLICATION.
2.2 Execute MIGRATION2.
2.3 Execute SWAPPING2.
UNTIL no further replication,
migration and swapping are possible.
Step 1 is to determine the ideal access probabilities and an
initial assignment when movies are not replicated. Step 2 is to
repeatedly apply the three operations (namely, replication, mi-
gration and swapping) to replicate the movies and improve the
assignment iteratively.
if server contains movie or it has free
storage for movie
otherwise (16)
674 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A : SYSTEMS AND HUMANS, VOL. 35, NO. 5, SEPTEMBER 2005
V. NUMERICAL RESULTS
A. Model
We consider the model described in Section II. In particular,
we assume that 1) requests for VOD service arrive according to
a Poisson process and 2) server can provide video streams
to serve concurrent users where depends on the speed
and storage hierarchy of this server, and it can be determined
via known analytical techniques [13], [14]. The performance
measure is blocking probability.
We let there be 500 movies. Their popularities follow
the Zipf’s distribution [18]: , where is a normaliza-
tion constant and is a skew factor. If is larger, the distribution
of the movies’ popularities is more skewed (i.e., some movies
are more popular but the others are less popular). When ,
Table I indicates that the distribution of popularities is extremely
skewed. In an empirical measurement for a video rental store,
the skew factor was measured to be 0.729 [18]. For compre-
hensive evaluation, we consider a wide range of skew factor
values . Let the movies have equal sizes (i.e.,
), and server be able to store movies.
The proposed algorithms are designed for heterogeneous
server environment, while the existing ones (namely, the
Mourad algorithm [7] and Serpanos–Georgiadis–Bouloutas
algorithm [8]) were designed for identical server environment
[7], [8]. We will demonstrate that the proposed algorithms are
much more effective in heterogeneous server environment.
B. First Numerical Experiment
In this experiment, we evaluate the performance of the pro-
posed movie assignment algorithms. We let there be 20 servers
with capacities: , ,
, and . We
consider two sets of storage sizes
1) First set of storage sizes: ,
, , and
. On average, a server can store 30
movies.
2) Second set of storage sizes: ,
, , and
. On average, a server can store
35 movies.
We consider three traffic loads: (light traffic),
(medium traffic), and (heavy traffic).
Table II(a) shows the performance of the proposed movie as-
signment algorithms for the first set of storage sizes under light
traffic. We observe the following results.
• When , MOVIE_ASSIGNMENT gives the op-
timal assignments as the blocking probabilities are equal
to the lower bound on the minimal blocking probability.
When , however, MOVIE_ASSIGNMENT
cannot give the ideal performance. These results indicate
that movie assignment without replication is effective
only when the distribution of movies’ popularities is not
very skewed.
• When , MOVIE_ASSIGNMENT_REPLICA-
TION gives the optimal assignments. This indicates that
TABLE I
SUM OF POPULARITIES AS A FUNCTION OF SKEW FACTOR (TOTAL
NUMBER OF MOVIES IS 500)
movie assignment with replication can give the ideal per-
formance even when the distribution of popularities is
very skewed.
Table II(b) shows the performance of the proposed algo-
rithms for the second set of storage size under light traffic.
Now the servers have larger storage sizes. When ,
MOVIE_ASSIGNMENT_REPLICATION can give the op-
timal assignments. When (i.e., the distribution
of popularities is extremely skewed), MOVIE_ASSIGN-
MENT_REPLICATION can still give close-to-optimal assign-
ments. These results indicate that when the servers have larger
storage sizes, MOVIE_ASSIGNMENT_REPLICATION can
further exploit replication to give better assignments.
Tables III and IV show the performance of the proposed
movie assignment algorithms under moderate traffic and heavy
traffic respectively. We observe similar results.
• When the distribution of popularities is not very skewed,
MOVIE_ASSIGNMENT can already give optimal as-
signments.
• When the distribution of popularities is very skewed,
MOVIE_ASSIGNMENT_REPLICATION can give op-
timal assignments.
• When the distribution of popularities is extremely
skewed, we can provide the servers with larger storage
sizes so that MOVIE_ASSIGNMENT_REPLICATION
can give optimal or close-to-optimal assignments.
TableVshowstheexecutiontimerequiredbytheproposedalgo-
rithms on a personal computer using Pentium III 450 MHz where
and . In most cases, the execution time required
LEUNG AND HOU: ASSIGNMENT OF MOVIES TO HETEROGENEOUS VIDEO SERVERS 675
TABLE II
PERFORMANCE OF THE PROPOSED ALGORITHMS UNDER LIGHT TRAFFIC ( = 600). (a) FIRST SET OF STORAGE SIZES (ON AVERAGE,
A SERVER CAN STORE 30 MOVIES). (b) SECOND SET OF STORAGE SIZES (ON AVERAGE, A SERVER CAN STORE 35 MOVIES)
islessthan1min.Intheworstcase,theexecutiontimerequiredis
2.4 min. Since movie assignment is usually done on a daily basis
(e.g., when new movies are added and some existing movies are
removed), the execution time required is reasonably small.
The proposed algorithms are designed for heterogeneous
server environment, while the existing ones were designed for
identical server environment [7], [8]. Table VI shows that the
proposed algorithm has significantly lower blocking probability
than the existing ones (we use a skew factor of 1.0 and movie
replication).
After finding an initial assignment, we use three operators
(namely, swapping, migration, and replication) to improve the
676 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A : SYSTEMS AND HUMANS, VOL. 35, NO. 5, SEPTEMBER 2005
TABLE III
PERFORMANCE OF THE PROPOSED ALGORITHMS UNDER MEDIUM TRAFFIC ( = 800). (a) FIRST SET OF STORAGE SIZES (ON AVERAGE,
A SERVER CAN STORE 30 MOVIES). (b) SECOND SET OF STORAGE SIZES (ON AVERAGE, A SERVER CAN STORE 35 MOVIES)
assignment iteratively. Table VII shows that these operators can
effectively improve the initial assignment (skew factor is 1.0).
C. Second Numerical Experiment
In this experiment, we consider five server systems given in
Table VIII. These systems have the same number of servers,
the same total capacity, and the same total storage size, but the
server system contains more heterogeneous servers than
server system .
Table IX(a) shows the performance of the proposed al-
gorithms for and . When the servers are
more heterogeneous, the lower bound on the minimal blocking
LEUNG AND HOU: ASSIGNMENT OF MOVIES TO HETEROGENEOUS VIDEO SERVERS 677
TABLE IV
PERFORMANCE OF THE PROPOSED ALGORITHMS UNDER HEAVY TRAFFIC ( = 1000).
(a) FIRST SET OF STORAGE SIZES (ON AVERAGE, A SERVER CAN STORE 30 MOVIES).
(b) SECOND SET OF STORAGE SIZES (ON AVERAGE, A SERVER CAN STORE 35 MOVIES)
probability is smaller, and this lower bound can be reached
by MOVIE_ASSIGNMENT_REPLICATION. This indicates
that when the total capacity and total storage size are fixed,
it is preferable to use some servers with larger capacities and
larger storage sizes. Table IX(b) shows the execution time
required by the proposed algorithms on a personal computer
using Pentium III 450 MHz. In general, when the servers are
more heterogeneous, the proposed algorithms require longer
execution time to optimize the assignment. Nevertheless, the
execution time required is still reasonably small.
678 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A : SYSTEMS AND HUMANS, VOL. 35, NO. 5, SEPTEMBER 2005
TABLE V
EXECUTION TIME REQUIRED ON A PERSONAL COMPUTER USING PENTIUM III 450 MHZ; TRAFFIC LOAD IS MEDIUM ( = 800)
AND SKEW FACTOR IS 1.0. (a) FIRST SET OF STORAGE SIZES (ON AVERAGE, A SERVER CAN STORE 30 MOVIES).
(b) SECOND SET OF STORAGE SIZES (ON AVERAGE, A SERVER CAN STORE 35 MOVIES)
VI. CONCLUSION
This pape considered a video-on-demand (VOD) system
using heterogeneous servers and investigated how to assign
movies to these servers in order to minimize the blocking
probability. It was proven that this assignment problem is
NP-hard and derived a lower bound on the minimal blocking
probability. An approach was proposed that uses problem
relaxation and goal programming for movie assignment. Based
on this approach, two algorithms were designed for movie
assignment with and without replication, respectively. The
numerical results demonstrate that these algorithms can find
optimal or close-to-optimal assignments because the resulting
blocking probabilities are equal or close to the lower bound on
the minimal blocking probability; in particular:
• when the distribution of movies’ popularities is not very
skewed, movie assignment without replication can al-
ready give optimal assignments;
• when the distribution of popularities is very skewed,
movie assignment with replication can give optimal
assignments;
• when the distribution of popularities is extremely skewed,
we can provide the servers with larger storage sizes so
that movie assignment with replication can give optimal
or close-to-optimal assignments.
APPENDIX A
PROOF OF LEMMA 2
In this appendix, we prove Lemma 2. Consider the following
special instance of Optimization Problem 3. There are only two
LEUNG AND HOU: ASSIGNMENT OF MOVIES TO HETEROGENEOUS VIDEO SERVERS 679
TABLE VI
PROPOSED ALGORITHM IS MORE EFFECTIVE THAN THE EXISTING ONES IN HETEROGENEOUS SERVER ENVIRONMENT
TABLE VII
EFFECTIVENESS OF MIGRATION, SWAPPING, AND REPLICATION
identical servers (i.e., , , and ). For this
instance, it can be shown that the ideal access probabilities
and are identical and equal to 1/2 (e.g., apply the Lagrange
multiplier method [17] to Optimization Problem 2). Then, the
distance can be expressed as
(A1)
where , , and and are
partitions of . If we can minimize the above dis-
tance in polynomial time, then we can find an answer to the
following decision problem in polynomial time:
Do there exist partitions and of
such that is equal to
The above decision problem is known as a set partitioning
problem, and it is NP-complete [19]. Therefore, Optimization
Problem 3 is NP-hard. This completes the proof for Lemma 2.
APPENDIX B
PROOF OF LEMMA 3
In this appendix, we prove Lemma 3. Suppose server has
the largest outstanding access probability (i.e.,
for all ). Let be the popularity of the given
TABLE VIII
SERVER SYSTEMS ADOPTED IN THE SECOND NUMERICAL EXPERIMENT
movie. If we assign this given movie to server , the resulting
distance is
(B1)
If we assign the given movie to the other server (say, server ),
the resulting distance is
(B2)
680 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A : SYSTEMS AND HUMANS, VOL. 35, NO. 5, SEPTEMBER 2005
TABLE IX
RESULTS OF THE SECOND NUMERICAL EXPERIMENT ( = 800 AND = 1:0). (a) PERFORMANCE OF THE PROPOSED MOVIE ASSIGNMENT ALGORITHMS. (b)
EXECUTION TIME REQUIRED ON A PERSONAL COMPUTER USING PENTIUM III 450 MHz
To prove Lemma 3, it is sufficient to prove that . We
prove this inequality as follows:
(B3)
Since server has the largest outstanding access probability,
for all . This means that
(B3) is equal to or larger than zero. Therefore, or
. This completes the proof for Lemma 3.
APPENDIX C
PROOF OF LEMMA 4
In this appendix, we prove Lemma 4. The two servers are
referred to as servers and , where server has a larger out-
standing access probability than server . To assign movies
and to servers and , there are four possible assignments:
1) assign movies and to server ;
2) assign movies and to server ;
3) assign movie to server and movie to server ;
4) assign movie to server and movie to server .
The resulting distances for the above four assignments are de-
noted by , , , and , respectively, and they are given
by
(C1)
We distinguish two cases.
• Case 1: . For this case, we
can prove that , and using
algebraic manipulations.
• Case 2: . For this case, we
can also prove that , and .
For both cases, movie should be assigned to server in order
to result in the smallest distance. After assigning movie , it
can be seen from the above two cases that movie should be
assigned to the server with the largest outstanding access prob-
ability (i.e., server if or server
if ). Based on Lemma 3, therefore,
we should assign movie first and then assign movie . This
completes the proof for Lemma 4.
ACKNOWLEDGMENT
The authors would like to thank the associate editor and the
anonymous reviewers for their valuable comments and sugges-
tions.
REFERENCES
[1] V. O. K. Li and W. Liao, “Video-on-demand systems,” in Handbook of
Internet and Multimedia Systems and Applications, B. Furht, Ed. Boca
Raton, FL: IEEE/CRC, 1998.
[2] J. C. L. Liu and D. H. C. Du, “Continuous media on demand,” IEEE
Computer, vol. 34, no. 9, pp. 37–39, Sep. 2001.
[3] K. Miyake, H. Morita, and K. Habara, “Content delivery services as
the killer application for the broadband IP networks,” IEICE Trans.
Commun., vol. 86, no. 6, pp. 1731–1739, Jun. 2003.
[4] D. N. Serpanos and A. Bouloutas, “Centralized versus distributed mul-
timedia servers,” IEEE Trans. Circuits Syst. Video Technol., vol. 10, no.
8, pp. 1438–1449, Dec. 2000.
[5] Hong Kong Standard (newspaper in English), p. BB03, Jan. 1999.
[6] T. D. C. Little and D. Venkatesh, “Popularity-based assignment of
movies to storage devices in a video-on-demand system,” Multimedia
Syst., vol. 2, pp. 280–287, 1995.
LEUNG AND HOU: ASSIGNMENT OF MOVIES TO HETEROGENEOUS VIDEO SERVERS 681
[7] A. N. Mourad, “Issues in the design of a storage server for video-on-
demand,” Multimedia Syst., vol. 4, pp. 70–86, 1996.
[8] D. N. Serpanos, L. Georgiadis, and T. Bouloutas, “MMPacking: A load
and storage balancing algorithm for distributed multimedia servers,”
IEEE Trans. Circuits Syst. Video Technol., vol. 8, no. 1, pp. 13–17, Feb.
1998.
[9] Y. W. Leung and E. W. M. Wong, “An incentive charging scheme for
video-on-demand,” J. Oper. Res. Soc., vol. 52, no. 1, pp. 55–63, Jan.
2001.
[10] A. Dan, D. Sitaram, and P. Shahabuddin, “Scheduling policies for an
on-demand video server with batching,” in Proc. ACM Multimedia
Conf., 1994, pp. 15–23.
[11] G. B. Horn, P. Knudsgaard, S. B. Lassen, M. Luby, and J. E. Rasmussen,
“A scalable and reliable paradigm for media on demand,” IEEE Com-
puter, vol. 34, no. 9, pp. 40–45, Sep. 2001.
[12] V. O. K. Li, W. J. Liao, X. Qiu, and E. W. M. Wong, “Performance model
of interactive video-on-demand systems,” IEEE J. Sel. Areas Commun.,
vol. 14, no. 6, pp. 1099–1109, Aug. 1996.
[13] Y. N. Doganata and A. N. Tantawi, “Storage hierarchy in multimedia
servers,” in Multimedia Information Storage and Management, S. M.
Chung, Ed. Norwell, MA: Kluwer, 1996.
[14] K. W. Ng and K. A. Yeung, “Analysis on disk scheduling for special
user functions,” IEEE Trans. Circuits Syst. Video Technol., vol. 9, no. 5,
pp. 752–765, Aug. 1999.
[15] D. Gross and C. M. Harris, Fundamentals of Queueing Theory. New
York: Wiley, 1985, pp. 294–304.
[16] D. L. Jagerman, “Some properties of the Erlang loss function,” Bell Syst.
Tech. J., vol. 53, no. 3, pp. 525–551, Mar. 1974.
[17] S. S. Rao, Optimization Theory and Applications, 2nd ed. New York:
Wiley, 1994.
[18] Video Store Mag., Dec. 1992.
[19] M. H. Garey and D. S. Johnson, Computers and Intractability: A Guide
to the Theory of NP-Completeness. San Francisco, CA: Freeman,
1979.
Yiu-Wing Leung (M’92–SM’96) received the B.Sc.
and Ph.D. degrees from the Chinese University of
Hong Kong, Shatin, in 1989 and 1992, respectively.
He then taught in the Hong Kong Polytechnic
University, Hung Hom, until 1997 and subsequently
joined the Hong Kong Baptist University, Kowloon
Tong, where he is currently a Professor in the De-
partment of Computer Science. His research focuses
on two main areas: 1) networking and multimedia
and 2) cybernetics and systems engineering. He has
published more than 60 journal papers in these areas,
most of which appear in various IEEE transactions and journals.
Ricky Yuen-Tan Hou (M’03) received the B.Sc. and
Ph.D. degrees in computer science from the Hong
Kong Baptist University, Kowloon Tong, in 1999 and
2003, respectively.
He is currently an Assistant Professor in the Hong
Kong Baptist University. His research focuses on
multimedia communications and networking.
He is a Member of Institution of Electrical,
Information and Communication Engineers (IEICE)
of Japan.

More Related Content

Similar to Assignment Of Movies To Heterogeneous Video Servers

International Journal of Computer Science, Engineering and Information Techno...
International Journal of Computer Science, Engineering and Information Techno...International Journal of Computer Science, Engineering and Information Techno...
International Journal of Computer Science, Engineering and Information Techno...
ijcseit
 
Survey on caching and replication algorithm for content distribution in peer ...
Survey on caching and replication algorithm for content distribution in peer ...Survey on caching and replication algorithm for content distribution in peer ...
Survey on caching and replication algorithm for content distribution in peer ...
ijcseit
 
Delay bounds of chunk based peer-to-peer
Delay bounds of chunk based peer-to-peerDelay bounds of chunk based peer-to-peer
Delay bounds of chunk based peer-to-peer
ambitlick
 
Effect of Varying Segment Size on DASH Streaming Quality for Mobile User
Effect of Varying Segment Size on DASH Streaming Quality for Mobile UserEffect of Varying Segment Size on DASH Streaming Quality for Mobile User
Effect of Varying Segment Size on DASH Streaming Quality for Mobile User
Yomna Mahmoud Ibrahim Hassan
 
(Paper) MTcast: Robust and Efficient P2P-based Video Delivery for Heterogeneo...
(Paper) MTcast: Robust and Efficient P2P-based Video Delivery for Heterogeneo...(Paper) MTcast: Robust and Efficient P2P-based Video Delivery for Heterogeneo...
(Paper) MTcast: Robust and Efficient P2P-based Video Delivery for Heterogeneo...
Naoki Shibata
 
Live multimedia streaming and video on demand issues and challenges
Live multimedia streaming and video on demand issues and challengesLive multimedia streaming and video on demand issues and challenges
Live multimedia streaming and video on demand issues and challenges
eSAT Journals
 
MODELLING AND PREFORMANCE ANALYSIS FOR VIDEO ON DEMAND PRIOR STORING SERVER
MODELLING AND PREFORMANCE ANALYSIS FOR VIDEO ON DEMAND PRIOR STORING SERVER MODELLING AND PREFORMANCE ANALYSIS FOR VIDEO ON DEMAND PRIOR STORING SERVER
MODELLING AND PREFORMANCE ANALYSIS FOR VIDEO ON DEMAND PRIOR STORING SERVER
ijwmn
 
Mesh pull backup parent pools for video-on-demand multicast trees
Mesh pull backup parent pools for video-on-demand multicast treesMesh pull backup parent pools for video-on-demand multicast trees
Mesh pull backup parent pools for video-on-demand multicast trees
IJCNCJournal
 
PEER-TO-PEER LIVE STREAMING AND VIDEO ON DEMAND DESIGN ISSUES AND ITS CHALLEN...
PEER-TO-PEER LIVE STREAMING AND VIDEO ON DEMAND DESIGN ISSUES AND ITS CHALLEN...PEER-TO-PEER LIVE STREAMING AND VIDEO ON DEMAND DESIGN ISSUES AND ITS CHALLEN...
PEER-TO-PEER LIVE STREAMING AND VIDEO ON DEMAND DESIGN ISSUES AND ITS CHALLEN...
ijp2p
 
QOS - LIQUIDSTREAM: SCALABLE MONITORING AND BANDWIDTH CONTROL IN PEER TO PEER...
QOS - LIQUIDSTREAM: SCALABLE MONITORING AND BANDWIDTH CONTROL IN PEER TO PEER...QOS - LIQUIDSTREAM: SCALABLE MONITORING AND BANDWIDTH CONTROL IN PEER TO PEER...
QOS - LIQUIDSTREAM: SCALABLE MONITORING AND BANDWIDTH CONTROL IN PEER TO PEER...
ijp2p
 
QOS - LIQUIDSTREAM: SCALABLE MONITORING AND BANDWIDTH CONTROL IN PEER TO PEER...
QOS - LIQUIDSTREAM: SCALABLE MONITORING AND BANDWIDTH CONTROL IN PEER TO PEER...QOS - LIQUIDSTREAM: SCALABLE MONITORING AND BANDWIDTH CONTROL IN PEER TO PEER...
QOS - LIQUIDSTREAM: SCALABLE MONITORING AND BANDWIDTH CONTROL IN PEER TO PEER...
ijp2p
 
Simulation Study of Video Streaming in Multi-Hop Network
Simulation Study of Video Streaming in Multi-Hop NetworkSimulation Study of Video Streaming in Multi-Hop Network
Simulation Study of Video Streaming in Multi-Hop Network
International Journal of Engineering Inventions www.ijeijournal.com
 
F04024549
F04024549F04024549
Proxy Cache Management for Fine-Grained Scalable Video Streaming
Proxy Cache Management for Fine-Grained Scalable Video StreamingProxy Cache Management for Fine-Grained Scalable Video Streaming
Proxy Cache Management for Fine-Grained Scalable Video Streaming
Videoguy
 
Scalable architecture for VOD service
Scalable architecture for VOD serviceScalable architecture for VOD service
Scalable architecture for VOD service
Nadeem Najeeb
 
Dinesh ppt
Dinesh pptDinesh ppt
Dinesh ppt
dinesh504
 
Design of Equitable Dominating Set Based Semantic Overlay Networks with Optim...
Design of Equitable Dominating Set Based Semantic Overlay Networks with Optim...Design of Equitable Dominating Set Based Semantic Overlay Networks with Optim...
Design of Equitable Dominating Set Based Semantic Overlay Networks with Optim...
IDES Editor
 
The Effect of Seeking Operation on QoE of HTTP Adaptive Streaming Services
The Effect of Seeking Operation on QoE of HTTP Adaptive Streaming ServicesThe Effect of Seeking Operation on QoE of HTTP Adaptive Streaming Services
The Effect of Seeking Operation on QoE of HTTP Adaptive Streaming Services
IJCNCJournal
 
Dynamic Chunks Distribution Scheme for Multiservice Load Balancing Using Fibo...
Dynamic Chunks Distribution Scheme for Multiservice Load Balancing Using Fibo...Dynamic Chunks Distribution Scheme for Multiservice Load Balancing Using Fibo...
Dynamic Chunks Distribution Scheme for Multiservice Load Balancing Using Fibo...
Editor IJCATR
 
Ames cloud a framework of adaptive mobile video streaming and efficient socia...
Ames cloud a framework of adaptive mobile video streaming and efficient socia...Ames cloud a framework of adaptive mobile video streaming and efficient socia...
Ames cloud a framework of adaptive mobile video streaming and efficient socia...
Nagendra Nayak Bharothu
 

Similar to Assignment Of Movies To Heterogeneous Video Servers (20)

International Journal of Computer Science, Engineering and Information Techno...
International Journal of Computer Science, Engineering and Information Techno...International Journal of Computer Science, Engineering and Information Techno...
International Journal of Computer Science, Engineering and Information Techno...
 
Survey on caching and replication algorithm for content distribution in peer ...
Survey on caching and replication algorithm for content distribution in peer ...Survey on caching and replication algorithm for content distribution in peer ...
Survey on caching and replication algorithm for content distribution in peer ...
 
Delay bounds of chunk based peer-to-peer
Delay bounds of chunk based peer-to-peerDelay bounds of chunk based peer-to-peer
Delay bounds of chunk based peer-to-peer
 
Effect of Varying Segment Size on DASH Streaming Quality for Mobile User
Effect of Varying Segment Size on DASH Streaming Quality for Mobile UserEffect of Varying Segment Size on DASH Streaming Quality for Mobile User
Effect of Varying Segment Size on DASH Streaming Quality for Mobile User
 
(Paper) MTcast: Robust and Efficient P2P-based Video Delivery for Heterogeneo...
(Paper) MTcast: Robust and Efficient P2P-based Video Delivery for Heterogeneo...(Paper) MTcast: Robust and Efficient P2P-based Video Delivery for Heterogeneo...
(Paper) MTcast: Robust and Efficient P2P-based Video Delivery for Heterogeneo...
 
Live multimedia streaming and video on demand issues and challenges
Live multimedia streaming and video on demand issues and challengesLive multimedia streaming and video on demand issues and challenges
Live multimedia streaming and video on demand issues and challenges
 
MODELLING AND PREFORMANCE ANALYSIS FOR VIDEO ON DEMAND PRIOR STORING SERVER
MODELLING AND PREFORMANCE ANALYSIS FOR VIDEO ON DEMAND PRIOR STORING SERVER MODELLING AND PREFORMANCE ANALYSIS FOR VIDEO ON DEMAND PRIOR STORING SERVER
MODELLING AND PREFORMANCE ANALYSIS FOR VIDEO ON DEMAND PRIOR STORING SERVER
 
Mesh pull backup parent pools for video-on-demand multicast trees
Mesh pull backup parent pools for video-on-demand multicast treesMesh pull backup parent pools for video-on-demand multicast trees
Mesh pull backup parent pools for video-on-demand multicast trees
 
PEER-TO-PEER LIVE STREAMING AND VIDEO ON DEMAND DESIGN ISSUES AND ITS CHALLEN...
PEER-TO-PEER LIVE STREAMING AND VIDEO ON DEMAND DESIGN ISSUES AND ITS CHALLEN...PEER-TO-PEER LIVE STREAMING AND VIDEO ON DEMAND DESIGN ISSUES AND ITS CHALLEN...
PEER-TO-PEER LIVE STREAMING AND VIDEO ON DEMAND DESIGN ISSUES AND ITS CHALLEN...
 
QOS - LIQUIDSTREAM: SCALABLE MONITORING AND BANDWIDTH CONTROL IN PEER TO PEER...
QOS - LIQUIDSTREAM: SCALABLE MONITORING AND BANDWIDTH CONTROL IN PEER TO PEER...QOS - LIQUIDSTREAM: SCALABLE MONITORING AND BANDWIDTH CONTROL IN PEER TO PEER...
QOS - LIQUIDSTREAM: SCALABLE MONITORING AND BANDWIDTH CONTROL IN PEER TO PEER...
 
QOS - LIQUIDSTREAM: SCALABLE MONITORING AND BANDWIDTH CONTROL IN PEER TO PEER...
QOS - LIQUIDSTREAM: SCALABLE MONITORING AND BANDWIDTH CONTROL IN PEER TO PEER...QOS - LIQUIDSTREAM: SCALABLE MONITORING AND BANDWIDTH CONTROL IN PEER TO PEER...
QOS - LIQUIDSTREAM: SCALABLE MONITORING AND BANDWIDTH CONTROL IN PEER TO PEER...
 
Simulation Study of Video Streaming in Multi-Hop Network
Simulation Study of Video Streaming in Multi-Hop NetworkSimulation Study of Video Streaming in Multi-Hop Network
Simulation Study of Video Streaming in Multi-Hop Network
 
F04024549
F04024549F04024549
F04024549
 
Proxy Cache Management for Fine-Grained Scalable Video Streaming
Proxy Cache Management for Fine-Grained Scalable Video StreamingProxy Cache Management for Fine-Grained Scalable Video Streaming
Proxy Cache Management for Fine-Grained Scalable Video Streaming
 
Scalable architecture for VOD service
Scalable architecture for VOD serviceScalable architecture for VOD service
Scalable architecture for VOD service
 
Dinesh ppt
Dinesh pptDinesh ppt
Dinesh ppt
 
Design of Equitable Dominating Set Based Semantic Overlay Networks with Optim...
Design of Equitable Dominating Set Based Semantic Overlay Networks with Optim...Design of Equitable Dominating Set Based Semantic Overlay Networks with Optim...
Design of Equitable Dominating Set Based Semantic Overlay Networks with Optim...
 
The Effect of Seeking Operation on QoE of HTTP Adaptive Streaming Services
The Effect of Seeking Operation on QoE of HTTP Adaptive Streaming ServicesThe Effect of Seeking Operation on QoE of HTTP Adaptive Streaming Services
The Effect of Seeking Operation on QoE of HTTP Adaptive Streaming Services
 
Dynamic Chunks Distribution Scheme for Multiservice Load Balancing Using Fibo...
Dynamic Chunks Distribution Scheme for Multiservice Load Balancing Using Fibo...Dynamic Chunks Distribution Scheme for Multiservice Load Balancing Using Fibo...
Dynamic Chunks Distribution Scheme for Multiservice Load Balancing Using Fibo...
 
Ames cloud a framework of adaptive mobile video streaming and efficient socia...
Ames cloud a framework of adaptive mobile video streaming and efficient socia...Ames cloud a framework of adaptive mobile video streaming and efficient socia...
Ames cloud a framework of adaptive mobile video streaming and efficient socia...
 

More from Joe Andelija

How To Write A Progress Report For A Project
How To Write A Progress Report For A ProjectHow To Write A Progress Report For A Project
How To Write A Progress Report For A Project
Joe Andelija
 
Quality Writing Paper. Best Website For Homework Help Services.
Quality Writing Paper. Best Website For Homework Help Services.Quality Writing Paper. Best Website For Homework Help Services.
Quality Writing Paper. Best Website For Homework Help Services.
Joe Andelija
 
The Ultimate Guide To Writing A Brilliant History E
The Ultimate Guide To Writing A Brilliant History EThe Ultimate Guide To Writing A Brilliant History E
The Ultimate Guide To Writing A Brilliant History E
Joe Andelija
 
A Day In The Life Of Miss Kranz Today Is Your Day Fr
A Day In The Life Of Miss Kranz Today Is Your Day FrA Day In The Life Of Miss Kranz Today Is Your Day Fr
A Day In The Life Of Miss Kranz Today Is Your Day Fr
Joe Andelija
 
Excellent Tips On Research Paper Writing Educationa
Excellent Tips On Research Paper Writing EducationaExcellent Tips On Research Paper Writing Educationa
Excellent Tips On Research Paper Writing Educationa
Joe Andelija
 
Analysis Of The Poem The Of The. Online assignment writing service.
Analysis Of The Poem The Of The. Online assignment writing service.Analysis Of The Poem The Of The. Online assignment writing service.
Analysis Of The Poem The Of The. Online assignment writing service.
Joe Andelija
 
Example Of Narrative Report For Ojt In Restau
Example Of Narrative Report For Ojt In RestauExample Of Narrative Report For Ojt In Restau
Example Of Narrative Report For Ojt In Restau
Joe Andelija
 
PPT - Essay Writing PowerPoint Presentation, F
PPT - Essay Writing PowerPoint Presentation, FPPT - Essay Writing PowerPoint Presentation, F
PPT - Essay Writing PowerPoint Presentation, F
Joe Andelija
 
How To Write A Good, Or Really Bad, Philosophy Es
How To Write A Good, Or Really Bad, Philosophy EsHow To Write A Good, Or Really Bad, Philosophy Es
How To Write A Good, Or Really Bad, Philosophy Es
Joe Andelija
 
Submit Essays For Money - College Homework Help A
Submit Essays For Money - College Homework Help ASubmit Essays For Money - College Homework Help A
Submit Essays For Money - College Homework Help A
Joe Andelija
 
The Basics Of MLA Style Essay Format, Essay Templ
The Basics Of MLA Style Essay Format, Essay TemplThe Basics Of MLA Style Essay Format, Essay Templ
The Basics Of MLA Style Essay Format, Essay Templ
Joe Andelija
 
Evaluation Essay - 9 Examples, Fo. Online assignment writing service.
Evaluation Essay - 9 Examples, Fo. Online assignment writing service.Evaluation Essay - 9 Examples, Fo. Online assignment writing service.
Evaluation Essay - 9 Examples, Fo. Online assignment writing service.
Joe Andelija
 
Buy Cheap Essay Writing An Essay For College Applicatio
Buy Cheap Essay Writing An Essay For College ApplicatioBuy Cheap Essay Writing An Essay For College Applicatio
Buy Cheap Essay Writing An Essay For College Applicatio
Joe Andelija
 
Writing Paper For First Grade - 11 Best Images Of
Writing Paper For First Grade - 11 Best Images OfWriting Paper For First Grade - 11 Best Images Of
Writing Paper For First Grade - 11 Best Images Of
Joe Andelija
 
Steps In Doing Research Paper , Basic Steps In The
Steps In Doing Research Paper , Basic Steps In TheSteps In Doing Research Paper , Basic Steps In The
Steps In Doing Research Paper , Basic Steps In The
Joe Andelija
 
Gingerbread Writing Project The Kindergarten Smorg
Gingerbread Writing Project The Kindergarten SmorgGingerbread Writing Project The Kindergarten Smorg
Gingerbread Writing Project The Kindergarten Smorg
Joe Andelija
 
Analytical Essay - What Is An Analytical Essay Before Y
Analytical Essay - What Is An Analytical Essay Before YAnalytical Essay - What Is An Analytical Essay Before Y
Analytical Essay - What Is An Analytical Essay Before Y
Joe Andelija
 
Comparative Essay English (Advanced) - Year 11 HSC
Comparative Essay English (Advanced) - Year 11 HSCComparative Essay English (Advanced) - Year 11 HSC
Comparative Essay English (Advanced) - Year 11 HSC
Joe Andelija
 
Pay Someone To Write A Letter For Me, Writing A Letter Requesting M
Pay Someone To Write A Letter For Me, Writing A Letter Requesting MPay Someone To Write A Letter For Me, Writing A Letter Requesting M
Pay Someone To Write A Letter For Me, Writing A Letter Requesting M
Joe Andelija
 
Essay Plan Essay Plan, Essay Writing, Essay Writin
Essay Plan Essay Plan, Essay Writing, Essay WritinEssay Plan Essay Plan, Essay Writing, Essay Writin
Essay Plan Essay Plan, Essay Writing, Essay Writin
Joe Andelija
 

More from Joe Andelija (20)

How To Write A Progress Report For A Project
How To Write A Progress Report For A ProjectHow To Write A Progress Report For A Project
How To Write A Progress Report For A Project
 
Quality Writing Paper. Best Website For Homework Help Services.
Quality Writing Paper. Best Website For Homework Help Services.Quality Writing Paper. Best Website For Homework Help Services.
Quality Writing Paper. Best Website For Homework Help Services.
 
The Ultimate Guide To Writing A Brilliant History E
The Ultimate Guide To Writing A Brilliant History EThe Ultimate Guide To Writing A Brilliant History E
The Ultimate Guide To Writing A Brilliant History E
 
A Day In The Life Of Miss Kranz Today Is Your Day Fr
A Day In The Life Of Miss Kranz Today Is Your Day FrA Day In The Life Of Miss Kranz Today Is Your Day Fr
A Day In The Life Of Miss Kranz Today Is Your Day Fr
 
Excellent Tips On Research Paper Writing Educationa
Excellent Tips On Research Paper Writing EducationaExcellent Tips On Research Paper Writing Educationa
Excellent Tips On Research Paper Writing Educationa
 
Analysis Of The Poem The Of The. Online assignment writing service.
Analysis Of The Poem The Of The. Online assignment writing service.Analysis Of The Poem The Of The. Online assignment writing service.
Analysis Of The Poem The Of The. Online assignment writing service.
 
Example Of Narrative Report For Ojt In Restau
Example Of Narrative Report For Ojt In RestauExample Of Narrative Report For Ojt In Restau
Example Of Narrative Report For Ojt In Restau
 
PPT - Essay Writing PowerPoint Presentation, F
PPT - Essay Writing PowerPoint Presentation, FPPT - Essay Writing PowerPoint Presentation, F
PPT - Essay Writing PowerPoint Presentation, F
 
How To Write A Good, Or Really Bad, Philosophy Es
How To Write A Good, Or Really Bad, Philosophy EsHow To Write A Good, Or Really Bad, Philosophy Es
How To Write A Good, Or Really Bad, Philosophy Es
 
Submit Essays For Money - College Homework Help A
Submit Essays For Money - College Homework Help ASubmit Essays For Money - College Homework Help A
Submit Essays For Money - College Homework Help A
 
The Basics Of MLA Style Essay Format, Essay Templ
The Basics Of MLA Style Essay Format, Essay TemplThe Basics Of MLA Style Essay Format, Essay Templ
The Basics Of MLA Style Essay Format, Essay Templ
 
Evaluation Essay - 9 Examples, Fo. Online assignment writing service.
Evaluation Essay - 9 Examples, Fo. Online assignment writing service.Evaluation Essay - 9 Examples, Fo. Online assignment writing service.
Evaluation Essay - 9 Examples, Fo. Online assignment writing service.
 
Buy Cheap Essay Writing An Essay For College Applicatio
Buy Cheap Essay Writing An Essay For College ApplicatioBuy Cheap Essay Writing An Essay For College Applicatio
Buy Cheap Essay Writing An Essay For College Applicatio
 
Writing Paper For First Grade - 11 Best Images Of
Writing Paper For First Grade - 11 Best Images OfWriting Paper For First Grade - 11 Best Images Of
Writing Paper For First Grade - 11 Best Images Of
 
Steps In Doing Research Paper , Basic Steps In The
Steps In Doing Research Paper , Basic Steps In TheSteps In Doing Research Paper , Basic Steps In The
Steps In Doing Research Paper , Basic Steps In The
 
Gingerbread Writing Project The Kindergarten Smorg
Gingerbread Writing Project The Kindergarten SmorgGingerbread Writing Project The Kindergarten Smorg
Gingerbread Writing Project The Kindergarten Smorg
 
Analytical Essay - What Is An Analytical Essay Before Y
Analytical Essay - What Is An Analytical Essay Before YAnalytical Essay - What Is An Analytical Essay Before Y
Analytical Essay - What Is An Analytical Essay Before Y
 
Comparative Essay English (Advanced) - Year 11 HSC
Comparative Essay English (Advanced) - Year 11 HSCComparative Essay English (Advanced) - Year 11 HSC
Comparative Essay English (Advanced) - Year 11 HSC
 
Pay Someone To Write A Letter For Me, Writing A Letter Requesting M
Pay Someone To Write A Letter For Me, Writing A Letter Requesting MPay Someone To Write A Letter For Me, Writing A Letter Requesting M
Pay Someone To Write A Letter For Me, Writing A Letter Requesting M
 
Essay Plan Essay Plan, Essay Writing, Essay Writin
Essay Plan Essay Plan, Essay Writing, Essay WritinEssay Plan Essay Plan, Essay Writing, Essay Writin
Essay Plan Essay Plan, Essay Writing, Essay Writin
 

Recently uploaded

Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
Scholarhat
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
TechSoup
 
Advantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO PerspectiveAdvantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO Perspective
Krisztián Száraz
 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
adhitya5119
 
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdfবাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
eBook.com.bd (প্রয়োজনীয় বাংলা বই)
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
Academy of Science of South Africa
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
amberjdewit93
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
thanhdowork
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Dr. Vinod Kumar Kanvaria
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
Jean Carlos Nunes Paixão
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
Nicholas Montgomery
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
David Douglas School District
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Excellence Foundation for South Sudan
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
Levi Shapiro
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
History of Stoke Newington
 
DRUGS AND ITS classification slide share
DRUGS AND ITS classification slide shareDRUGS AND ITS classification slide share
DRUGS AND ITS classification slide share
taiba qazi
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
Celine George
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
Priyankaranawat4
 
Digital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments UnitDigital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments Unit
chanes7
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
WaniBasim
 

Recently uploaded (20)

Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
 
Advantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO PerspectiveAdvantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO Perspective
 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
 
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdfবাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
 
DRUGS AND ITS classification slide share
DRUGS AND ITS classification slide shareDRUGS AND ITS classification slide share
DRUGS AND ITS classification slide share
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
 
Digital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments UnitDigital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments Unit
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
 

Assignment Of Movies To Heterogeneous Video Servers

  • 1. IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A : SYSTEMS AND HUMANS, VOL. 35, NO. 5, SEPTEMBER 2005 665 Assignment of Movies to Heterogeneous Video Servers Yiu-Wing Leung, Senior Member, IEEE, and Ricky Yuen-Tan Hou, Member, IEEE Abstract—A video-on-demand (VOD) system provides an elec- tronic video rental service to geographically distributed users. It can adopt multiple servers to serve many users concurrently. As a VOD system is being used and evolved, its servers probably be- come heterogeneous. For example, if a new server is added to ex- pand the VOD system or replace a failed server, the new server may be faster with a larger storage size. This paper investigates how to assign movies to heterogeneous servers in order to minimize the blocking probability. It is proven that this assignment problem is NP-hard, and a lower bound is derived on the minimal blocking probability. The following approach is proposed for assignment: 1) problem relaxation—a relaxed assignment problem is formu- lated and solved to determine the ideal load that each server should handle, and 2) goal programming—an assignment and reassign- ment are performed iteratively while fulfilling all the constraints so that the load handled by each server is close to the ideal one. This approach is generic and applicable to many assignment prob- lems. This approach is adopted to design two specific algorithms for movie assignment with and without replication. It is demon- strated that these algorithms can find optimal or close-to-optimal assignments. Index Terms—Assignment, server system, video-on-demand (VOD). I. INTRODUCTION A. Background Avideo-on-demand (VOD) system provides an electronic video rental service to geographically distributed users [1], [2]. Using this service, users can select and watch movies at their convenient time and places, and they may interact with the movies using interactive operations such as fast forward, rewind, and pause. VOD is considered to be a promising Internet service [3]. Fig. 1 shows a typical VOD system. A server system stores a collection of movies. When a user requests to watch a movie, the server system retrieves this movie and delivers it to the user through a communication network. VOD service is usually open to many users and so the server system should be able to serve multiple users concurrently. To serve each user, the server system retrieves and delivers video at the video playback rate (e.g., 1.5 Mb/s for MPEG video). Consequently, the server system should have a large capacity to handle a large volume of bits. To satisfy this requirement, the server system can adopt one of two configurations [4]. Manuscript received February 22, 2002; revised April 23, 2004. This project was supported by the RGC Research Grant HKBU 2092/01E. This paper was recommended by Associate Editor C. Hsu. The authors are with the Department of Computer Science, Hong Kong Baptist University, Kowloon Tong, Hong Kong (e-mail: ywleung@comp.hkbu.edu.hk; rickyhou@comp.hkbu.edu.hk). Digital Object Identifier 10.1109/TSMCA.2005.851136 Fig. 1. Typical video-on-demand (VOD) system. 1) Centralized server configuration [Fig. 2(a)]—The server system uses a high-end computer (e.g., a multi- processor computer) as a video server. 2) Distributed server configuration [Fig. 2(b)]—The server system uses multiple low-end computers (e.g., personal computers) as video servers. Each server stores some of the movies, and it can serve multiple users concurrently. Overall, the server system can serve many users concurrently. Serpanous and Bouloutas [4] made a comprehensive com- parison between these two configurations. In particular, the dis- tributed server configuration is attractive in three aspects. 1) Good scalability—The system can easily be scaled up by adding more video servers. 2) High availability—The system can still provide ser- vice when some servers fail or are under preventive maintenance. 3) Competitive performance-to-price ratio—Personal computers are currently fast and cheap. The distributed server configuration is adopted by a commercial VOD system called iTV system [5]. B. Relevant Results in the Literature Using the distributed server configuration, it is necessary to assign each movie to one or more video servers. This assignment problem has been investigated in the literature [6]–[8]. • Little and Venkatesh [6] formulated the assignment problem for a server system with identical servers. Their objective was to minimize the blocking probability, which is the probability that a request for VOD service is blocked (rejected) because the server system does 1083-4427/$20.00 © 2005 IEEE
  • 2. 666 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A : SYSTEMS AND HUMANS, VOL. 35, NO. 5, SEPTEMBER 2005 Fig. 2. Two types of configurations for the server system: (a) centralized server configuration—the video server is a high-end computer such as a multiprocessor computer and (b) distributed server configuration—each video server is a low-end computer such as a personal computer. not have free capacity. Little and Venkatesh proved that the assignment problem is equivalent to the problem of balancing the load among the servers. • Mourad [7] considered a server system with identical servers, proved that the assignment problem is NP-hard, and designed two greedy algorithms to find good and suboptimal assignments for two respective cases: 1) the movies cannot be replicated (i.e., each movie is assigned to one server) and 2) the movies can be replicated (i.e., each movie is assigned to one or more servers). • Serpanos, Georgiadis, and Bouloutas [8] considered the following version of the assignment problem: all the servers are identical, each server has large enough storage size to store any number of movies, and the movies can be replicated. Without the constraint on storage size, the assignment problem turns out to be solvable in polynomial time. Serpanos et al. [8] designed an efficient greedy algorithm that can perfectly balance the load among all the servers. C. Our Research In the studies [6]–[8], it was assumed that the server system is composed of identical servers. In practice, as a server system is being used and evolved, its servers probably become heteroge- neous having different processing speeds, different input–output (I/O) speeds, and different storage sizes. For example, if a new server is added to expand the server system or replace a failed server,thenewserverisprobablyfasterwithalargerstoragesize. In this paper, we investigate the movie assignment problem in which the server system is composed of heterogeneous servers, and the objective is to minimize the blocking probability. Our investigation has two salient aspects, described hereafter. 1) New Problem: In the literature [6]–[8], there are several studies on movie assignment in an identical server environment. Since the servers are identical, every server should handle the same load, so the assignment problem is equivalent to bal- ancing the load among the servers [6]. In this paper, we study a different problem: movie assignment in a heterogeneous server environment. Since the servers are heterogeneous, different servers should handle different load for optimal performance (e.g., a faster server should handle a larger load). This movie assignment problem is different and more challenging because it is also necessary to determine the optimal load handled by each server. The latter problem is a hard discrete optimization problem in which the objective function (i.e., the blocking probability) is a nonlinear function of the server load while the server load, in turn, depends on the assignment. We formulate this assignment problem, prove that it is NP-hard, and derive a lower bound on the minimal blocking probability. 2) New Solution Approach: In the literature, a greedy approach was adopted for a movie assignment in an identical server environment [7], [8]. Movie assignment in a hetero- geneous server environment is more challenging, so a more sophisticated optimization approach is needed. We propose a very different approach to tackle this problem: integrate problem relaxation with goal programming as follows. 1) Problem relaxation: We formulate a relaxed problem that can be solved quickly and solve it to determine the ideal load that each server should handle. 2) Goal programming: We assign the movies to the servers so that the load handled by each server is as close to the ideal one as possible while all the constraints are fulfilled. In particular, we exploit the properties of the assignment problem to design three operations (namely, migration, swapping, and replica- tion) and repeatedly apply these operations to assign and reassign the movies to the servers iteratively. The proposed solution approach (i.e., integrating problem relaxation with goal programming for assignment) is generic because both problem relaxation and goal programming are generic. Therefore, this approach is applicable to many assign- ment problems by suitably exploiting their specific properties. II. MODEL A. Service A VOD system can provide two possible services [9]. 1) Individual service: A user makes a request, and then the system starts to serve him. The user can perform interactive operations (such as pause, rewind, and fast
  • 3. LEUNG AND HOU: ASSIGNMENT OF MOVIES TO HETEROGENEOUS VIDEO SERVERS 667 forward). The server system uses one video stream to serve one user. 2) Batch service [9]–[12]: A user makes a request and then has to wait until the system collects a batch of requests for the same movie. After commencement, the user cannot perform interactive operations (or can only perform some restricted operations at the expense of larger system complexity). The server system uses one video stream to serve a batch of users. Individual service has a better quality, while batch service re- quires less resources to serve each user. In the following, we model individual service. We can model batch service in a very similar manner (e.g., see [9] and [12]), and we do not repeat the details. The movie assignment algorithms that we will develop are applicable to both services. B. Servers The server system is composed of heterogeneous servers. We assume that server can provide video streams to serve concurrent users, where depends on the speed and storage hierarchy of this server. can be determined via known ana- lytical techniques, such as those reported in [13] and [14]. We define the capacity of server to be . We let server have a storage size of bits. C. Movies The system provides movies. Movie is composed of bits, and its popularity is (i.e., a request chooses movie with probability ). can be measured by a statistical method called linear predictor [6]. D. Request for VOD Service When a user wants to watch a movie, he makes a request to the server system. If the system has free capacity, it admits this user and reserves the necessary resources (e.g., I/O bandwidth) to maintain a video stream for this user; otherwise, it blocks this user. We assume that the requests arrive at the system according to a Poisson process with rate [6]–[9], [12]. This Poisson model is suitable because the VOD service should be provided for a moderate or large number of potential users in order to justify its investment cost (e.g., a commercial VOD system has more than 80 000 family subscribers [5]). E. VOD Session When the system admits a user’s request, it starts a new VOD session for this user. Different VOD sessions may have different duration because different movies may have different duration, and the users may perform interactive operations (such as pause or fast forward). We let the mean duration of a VOD session be . F. Access Probability If movie is assigned to server , then some requests will ac- cess server for movie . We let be the probability that a request accesses server for movie . If movie is not repli- cated, it is only assigned to one server (say, server ), and we have and for all . If movie is replicated, it is assigned to multiple servers, and we have and . We define the access probability of server to be . In other words, is the probability that a re- quest accesses server for service. G. Quality of Service When a user requests a new VOD session but the server system does not have free capacity, this request is blocked. The quality of service is measured in terms of the blocking proba- bility [6], where a smaller blocking probability means a better quality of service. The blocking probability in heterogeneous server environment can be derived as follows. Since a request accesses server for service with probability , the requests for server form a Poisson process with rate . After ad- mitting a request, server serves it for an average duration of . At any time, server can serve at most concurrent users. For these reasons, server can be modeled as an queueing system with arrival rate and departure rate . When server is serving users, it does not have free capacity to serve any additional user, and so any request accessing this server must be rejected or blocked. Since server can be modeled as an queueing system, the blocking probability at server can be shown to be [15] (1) The overall blocking probability is given by (2) where . Remark 1: The servers are located in one location, and they provide VOD service to the users in one city through intracity communication. In intracity communication, the communica- tion distance is small, and the communication networks can usually provide large and inexpensive bandwidth using optical fibers. When the service provider wants to provide VOD service to multiple cities, it can locate one set of servers in each city so that only intracity communication is needed, while intercity communication can be avoided. This is desirable because inter- city communication is relatively expensive. III. MOVIE ASSIGNMENT WITHOUT REPLICATION In this section, we investigate the movie assignment problem in which each movie is assigned to one server (i.e., movies are not replicated). A. Problem Formulation and Complexity We let be a movie assignment matrix, where if movie is assigned to server , and otherwise. The movie assignment problem is to determine the optimal that minimizes the blocking probability while fulfilling the fol- lowing constraints.
  • 4. 668 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A : SYSTEMS AND HUMANS, VOL. 35, NO. 5, SEPTEMBER 2005 1) Each movie is assigned to one server. Thus, we have . 2) If movie is assigned to server , all the requests for movie must only access server for service. Thus, we have . 3) The total number of bits assigned to server cannot be larger than its available storage size. Thus, we have . 4) is either zero or one. The movie assignment problem can be formulated as follows: Optimization Problem 1 Minimize Subject to: for for and for for and (3) The variables to be optimized are for all and . Theorem: The movie assignment problem is NP-hard. Proof: For the special case in which all the servers are iden- tical (i.e., and ), the above problem reduces to the one studied in [6] and [7]. The latter problem is NP-hard [7]. Therefore, the above movie as- signment problem is also NP-hard. B. Main Ideas of Movie Assignment Since the movie assignment problem is NP-hard, heuristic algorithms should be used in practice. We design a heuristic algorithm to find optimal or close-to-optimal assignments. Our main ideas are outlined hereafter. 1) Problem relaxation: We select to relax certain constraints so that the relaxed problem can be solved quickly (these constraints are given in Sec- tion III-C). We solve the relaxed problem and then compute the resulting access probabilities (denoted by ) and blocking probability (denoted by ). Since some constraints have been relaxed, are ideal, and they may not be realiz- able, so is a lower bound to the minimal blocking probability. For convenience, are called ideal access probabilities. 2) Goal programming: We restore the relaxed constraints and assign the movies to the servers such that is as close to the ideal one as possible for all . In particular, we minimize the distance between the point and the point in -dimensional space, where we Fig. 3. Framework of movie assignment without replication. measure the distance between and in terms of the squared Euclidean distance (4) We describe the details of these two ideas for movie assignment in Sections III-C and III-D, respectively. Fig. 3 shows the frame- work of movie assignment without replication. C. Determining the Ideal Access Probabilities We relax the following constraints in Optimization Problem 1. • We remind that is equal to . With the first, second, and fourth constraints, can only assume cer- tain values within [0,1]. We relax this restriction so that can assume any value within [0,1]. • We relax the third constraint on the storage size of each server.
  • 5. LEUNG AND HOU: ASSIGNMENT OF MOVIES TO HETEROGENEOUS VIDEO SERVERS 669 The relaxed problem can be formulated as follows: Optimization Problem 2 Minimize Subject to: (5) The variables to be optimized are . To solve the above problem, we need the following lemma. Lemma 1: is a convex function of . Proof: can be written as , where (see (2)). is the well-known Erlang loss function, and it can be shown that is a convex function of [16]. Then, it is easy to show that is a convex function of . Since is a convex function of , the global minimum of can be determined efficiently by many numerical methods (e.g., the gradient projection method [17]). We solve Opti- mization Problem 2 to determine the ideal access probabilities . Then, the to the minimal blocking prob- ability is given by (6) Remark 2: Let be the minimal blocking probability. The on the minimal blocking probability satisfies the condition . It is difficult to find because the assignment problem is NP-hard, but it is easy to compute . When we use a heuristic algorithm to find an assignment, let the resulting blocking probability be . must be equal to or larger than the minimal blocking probability, so . Overall, we have . Based on this relationship, we can apply the to reach the following useful conclusions. • If is equal to the lower bound , must also be equal to . This means that the assignment is optimal. • If is close to the lower bound , must also be close to . This means that the assignment is close to optimal. Remark 3: When we use a numerical method to solve Optimization Problem 2, we can choose any initial values for that fulfill the two constraints in (5) (e.g., choose as the initial value for ). We note that if server has a larger capacity , it should handle a heavier load and so is larger; then, it is better to choose a larger initial value for so that this initial value is closer to , thereby speeding up the optimization process. Based on our computational ex- perience, we recommend to choose the following initial value for : (7) For example, if , , , , , , and , then is [0.0464, 0.1181, 0.1962,0.2778, 0.3615], and the initial is chosen to be [0.0667, 0.1333, 0.2000, 0.2667, 0.3333]. D. Minimizing the Distance We restore the relaxed constraints. Then, the ideal access probabilities may not be realizable. Neverthe- less, it is desirable that is as close to the ideal one as possible for all , so that the resulting blocking prob- ability can be close to the lower bound . For this purpose, we assign the movies to the servers such that is minimized. To formulate this problem, we define to be a set of movies assigned to server (i.e., movie is assigned to server ). Then, the access prob- ability can be written as . The problem of mini- mizing the distance can be formulated as follows: Optimization Problem 3 Minimize Subject to: empty set for (8) The objective function is the distance. The two constraints en- sure that each movie is assigned to one server. The variables to be determined are . Although Optimization Problem 3 appears to be less compli- cated than Optimization Problem 1, it is still NP-hard. Lemma 2: Optimization Problem 3 is NP-hard. Proof: The proof is given in Appendix A. Since the problem of minimizing is NP-hard, we design a heuristic algorithm for reducing iter- atively. In particular, we determine a good initial assignment and then repeatedly apply two operations (called migration and swapping) to improve the assignment iteratively. Fig. 3 shows the framework of a movie assignment. We describe the details in the following subsections. 1) Determining an Initial Assignment: We design a greedy algorithm to assign the movies to the servers one after the other so that is as small as possible. This forms an initial assignment. We define the outstanding access probability for server to be the difference between the ideal access probability and the actual access probability . The following lemmas provide useful guidelines for greedy assignment of movies. Lemma 3: Suppose a given movie is to be assigned to one of servers. The optimal assignment that minimizes is to as- sign this movie to the server with the largest outstanding access probability. Proof: The proof is given in Appendix B. Lemma 4: Suppose two given movies (say, movies and ) are to be assigned to two servers, where movie has a larger popularity than movie . The optimal assignment sequence that minimizes is to assign movie first and then assign movie . Proof: The proof is given in Appendix C. We apply the Lemma 3 and Lemma 4 to design a greedy algo- rithm for initial movie assignment. In each iteration, we assign one movie to one of the servers. For any given movie, Lemma 3 states that we should assign it to the server with the largest out- standing access probability in order to result in the smallest in this iteration. Since there are given movies, it is also nec- essary to determine the sequence of movie assignment. Lemma
  • 6. 670 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A : SYSTEMS AND HUMANS, VOL. 35, NO. 5, SEPTEMBER 2005 4 provides a guideline for this purpose. It states that we should assign a movie with a larger popularity and then assign a movie with a smaller popularity in order to result in the smallest in each iteration. Based on this principle, we assign the movie with the largest popularity, then assign the movie with the next largest popularity, etc. Based on these ideas, we design the fol- lowing procedure for determining a good initial assignment. Procedure INITIAL_ASSIGNMENT 1. Initialization Initialize the outstanding access probability to be the ideal access probability for all . Arrange the movie popularities in the order . 2. Assignment FOR TO DO BEGIN 2.1 Among the servers that can store movie ( ), select the one with the largest outstanding access probability. Let this server be server . 2.2 Assign movie ( ) to server . 2.3 Decrement the outstanding access probability by , and decrement the storage size of server by . END. 2) Iterative Reassignment by Migration: We repeatedly apply an operation called migration to improve the assignment iteratively. This operation reassigns a movie from a server to another server in order to further reduce (say, reassign movie from server to server ). , , and must be properly selected so that the migration operation can effectively reduce . We address this issue in the following. When movie is migrated from server to server , the re- sulting distance is given by (9) The difference between and the original distance is given by (10) It is desirable that is more negative, so that the resulting distance is reduced by a larger amount. For this purpose, we analyze the properties of as a function of , , and . We note that is a quadratic function of with the following properties: 1) is negative if . 2) The minimal value of is more negative if is larger. 3) is more negative when is closer to . Based on these properties, we derive the following guidelines for migration. 1) Select server with as large as possible, and select server with as small as possible. In this manner, the resulting distance is smaller than the original distance, and the minimal value of is the smallest. 2) Select movie from server such that and is closest to . Migrate movie from server to server so that the resulting distance is the smallest. We repeatedly perform migration until no further migration is possible. Based on these ideas, we design the following procedure for migration. Procedure MIGRATION 1. Initialization Arrange in the order . Set to one. 2. Iterative Migration WHILE ( is smaller than ) DO BEGIN 2.1 Select the source server Select server ( ) as the source server. 2.2 Select the destination server Identify such that fulfills two conditions: 1) server ( ) can store at least one additional movie from server ( ) and 2) is as large as possible over the range . If these exists , select server ( ) as the destination server; otherwise, go to Step 3. 2.3 Select a movie for migration Identify a movie (say, movie ) from server ( ) such that and is closest to . 2.4 Perform migration If there exists movie , then perform migration as follows: • Migrate movie from server ( ) to server ( ). • Decrement by and increment by . • Increment the available storage of server ( ) by , and decrement
  • 7. LEUNG AND HOU: ASSIGNMENT OF MOVIES TO HETEROGENEOUS VIDEO SERVERS 671 the available storage of server ( ) by . • Arrange to maintain the order . Otherwise, increment by one. END 3. If Step 2 can result in at least one migration, then go to Step 1. Otherwise, stop. 3) Iterative Reassignment by Swapping: We repeatedly apply an operation called swapping to further improve the assignment iteratively. This operation swaps two movies from two respective servers in order to further reduce the distance . In other words, if movies and are assigned to servers and , respectively, then the swapping operation is to reassign movies and to servers and , respectively. , , , and must be properly chosen so that the swapping operation can effectively reduce . We address this issue in the following. After swapping, the resulting distance is given by (11) The difference between and the original distance is given by (12) It is desirable that is more negative so that the swapping operation can reduce the distance by a larger amount. We note that is a quadratic function of with three properties. 1) is negative if . 2) The minimal value of is more negative if is larger. 3) is more negative when is closer to . Based on these properties, we derive the following guidelines for swapping. 1) Select server with as large as possible, and select server with as small as possible. In this manner, the resulting distance is smaller than the original distance, and the minimal value of is the smallest. 2) Select movie from server and movie from server such that and is closest to . Swap movies and so that the resulting distance is the smallest. We repeatedly perform swapping until no further swapping is possible. Based on these ideas, we design the following procedure for swapping. Procedure SWAPPING 1. Initialization Arrange in the order . Set to one. 2. Iterative Swapping WHILE ( is smaller than ) DO BEGIN 2.1 Select the source server Select server ( ) as the source server. 2.2 Select the destination server and two movies for swapping 2.2.1 Do the following for all : • Identify a movie (say, movie ) from server ( ) and a movie (say, movie ) from server ( ) such that (1) the available storage in server ( ) is at least and the available storage in server ( ) is at least , and (2) and is closest to . • Compute the decrease in distance when these two movies are swapped based on (12). 2.2.2 Identify that can result in the maximal decrease in distance. If there exists , select server ( ) as the destination server, and select the corresponding movie from server ( ) and movie from server ( ). Otherwise, increment by one and skip step 2.3. 2.3 Perform swapping Swap movie and movie . Update and . Increment the storage size of server ( ) by and increment the storage size of server ( ) by . Arrange to maintain the order . END 3. If Step 2 can result in at least one swapping, then go to Step 1. Otherwise, stop.
  • 8. 672 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A : SYSTEMS AND HUMANS, VOL. 35, NO. 5, SEPTEMBER 2005 E. Overall Movie Assignment Algorithm The algorithm for movie assignment without replication fol- lows. Algorithm MOVIE_ASSIGNMENT 1. Solve (5) to determine the ideal access probabilities . 2. Execute INITIAL_ASSIGNMENT. 3. REPEAT 3.1 Execute MIGRATION. 3.2 Execute SWAPPING. UNTIL no further migration and swapping are possible. Step 1 is to determine the ideal access probabilities. We can use any numerical method for constrained convex programming to solve (5) (e.g., the gradient projection method [17]). Step 2 is to determine a good initial assignment. Step 3 is to repeatedly use the migration and swapping operations to improve the as- signment iteratively. IV. MOVIE ASSIGNMENT WITH REPLICATION In the previous section, each movie is assigned to one server. If a movie (say, movie ) is very popular, many users may re- quest to watch it. It is desirable to replicate movie in multiple servers so that these servers can serve more concurrent users for movie [7], [8]. When a movie is assigned to more than one server, a request for this movie is dispatched to one of these servers. We let be a dispatch probability matrix, where is the probability that a request for movie is dispatched to server and . A. Main Ideas Our main ideas for movie assignment with replication are as follows. 1) We execute MOVIE_ASSIGNMENT to determine the ideal access probabilities and an as- signment without replication. This assignment is used as an initial assignment. 2) We design three operations (namely, replication, mi- gration, and swapping) to replicate the movies and im- prove the assignment iteratively while fulfilling all the constraints so that is reduced iteratively. Fig. 4 shows the framework of movie assignment with replica- tion. We describe the details in the following subsections. B. Replication We repeatedly replicate the movies to reduce it- eratively. Suppose movie is assigned to server with dispatch probability . We replicate this movie in server such that a request for movie is dispatched to servers and with respec- tive probabilities and , where is to be determined. In effect, server is required to share an additional Fig. 4. Framework of movie assignment with replication. load for movie . After replication, the resulting distance is given by (13) The difference between and the original distance is given by (14) It is desirable that is more negative so that the replica- tion operation can reduce the distance by a larger amount. We note that is a quadratic function of with the fol- lowing properties: 1) is negative if ; 2) the minimal value of is more negative if is larger; 3) is more negative when is closer to .
  • 9. LEUNG AND HOU: ASSIGNMENT OF MOVIES TO HETEROGENEOUS VIDEO SERVERS 673 Based on these properties, we derive the following guidelines for replication. 1) Select server with as large a as possible. 2) Select movie in server for replication in server , where and are determined as follows. For any given and , we choose to result in the largest decrease in distance as follows. When , we choose to be so that the decrease in distance is the largest while the resulting dispatch probability is positive. When , we choose to be so that the decrease in distance is the largest while the resulting dispatch probability is still nonnegative. Overall, we choose to be (15) We compute the decrease in distance as in (16), shown at the bottom of the page. Then we select and among all the possible ones such that the decrease in distance is maximal. 3) Replicate movie in server such that the dispatch probability is increased by while is de- creased by . We repeatedly perform replication until no further replication is possible. Based on the above ideas, we design the following procedure for replication. Procedure REPLICATION 1. Initialization Initialize to be a set of all the servers. 2. Iterative Replication WHILE ( is not empty) DO BEGIN 2.1 Select the source server Select server from such that is the largest. 2.2 Select the destination server and a movie for replication For each server (say, server ) where and for each movie assigned to server (say, movie ), compute the decrease in distance based on (15) and (16). Select and such that they can result in the maximal decrease in distance. 2.3 Perform replication If the maximal decrease in distance is neither 0 nor , then perform replication as follows: • If server does not contain movie , then replicate movie in server and decrement the free storage of server by . • If , increment the free storage of server by . • Choose based on (15). • Decrement by and by , and increment by and by . Otherwise, remove server from the set . END 3. If Step 2 can result in at least one replication, then go to step 1. Otherwise, stop. C. Migration and Swapping We repeatedly apply a migration operation and a swapping operation to improve the assignment iteratively. These opera- tions are essentially the same as that described in Section III, except that the probability that a request accesses server for movie is . The procedures for these operations (de- noted by MIGRATION2 and SWAPPING2, respectively) are the same as MIGRATION and SWAPPING, respectively, ex- cept that and are replaced by and , respec- tively. To keep the paper short, we do not repeat the details for MIGRATION2 and SWAPPING2. D. Overall Movie Assignment Algorithm The algorithm for movie assignment with replication is given as follows: Algorithm MOVIE_ASSIGNMENT_REPLICATION 1. Execute MOVIE_ASSIGNMENT. 2. REPEAT 2.1 Execute REPLICATION. 2.2 Execute MIGRATION2. 2.3 Execute SWAPPING2. UNTIL no further replication, migration and swapping are possible. Step 1 is to determine the ideal access probabilities and an initial assignment when movies are not replicated. Step 2 is to repeatedly apply the three operations (namely, replication, mi- gration and swapping) to replicate the movies and improve the assignment iteratively. if server contains movie or it has free storage for movie otherwise (16)
  • 10. 674 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A : SYSTEMS AND HUMANS, VOL. 35, NO. 5, SEPTEMBER 2005 V. NUMERICAL RESULTS A. Model We consider the model described in Section II. In particular, we assume that 1) requests for VOD service arrive according to a Poisson process and 2) server can provide video streams to serve concurrent users where depends on the speed and storage hierarchy of this server, and it can be determined via known analytical techniques [13], [14]. The performance measure is blocking probability. We let there be 500 movies. Their popularities follow the Zipf’s distribution [18]: , where is a normaliza- tion constant and is a skew factor. If is larger, the distribution of the movies’ popularities is more skewed (i.e., some movies are more popular but the others are less popular). When , Table I indicates that the distribution of popularities is extremely skewed. In an empirical measurement for a video rental store, the skew factor was measured to be 0.729 [18]. For compre- hensive evaluation, we consider a wide range of skew factor values . Let the movies have equal sizes (i.e., ), and server be able to store movies. The proposed algorithms are designed for heterogeneous server environment, while the existing ones (namely, the Mourad algorithm [7] and Serpanos–Georgiadis–Bouloutas algorithm [8]) were designed for identical server environment [7], [8]. We will demonstrate that the proposed algorithms are much more effective in heterogeneous server environment. B. First Numerical Experiment In this experiment, we evaluate the performance of the pro- posed movie assignment algorithms. We let there be 20 servers with capacities: , , , and . We consider two sets of storage sizes 1) First set of storage sizes: , , , and . On average, a server can store 30 movies. 2) Second set of storage sizes: , , , and . On average, a server can store 35 movies. We consider three traffic loads: (light traffic), (medium traffic), and (heavy traffic). Table II(a) shows the performance of the proposed movie as- signment algorithms for the first set of storage sizes under light traffic. We observe the following results. • When , MOVIE_ASSIGNMENT gives the op- timal assignments as the blocking probabilities are equal to the lower bound on the minimal blocking probability. When , however, MOVIE_ASSIGNMENT cannot give the ideal performance. These results indicate that movie assignment without replication is effective only when the distribution of movies’ popularities is not very skewed. • When , MOVIE_ASSIGNMENT_REPLICA- TION gives the optimal assignments. This indicates that TABLE I SUM OF POPULARITIES AS A FUNCTION OF SKEW FACTOR (TOTAL NUMBER OF MOVIES IS 500) movie assignment with replication can give the ideal per- formance even when the distribution of popularities is very skewed. Table II(b) shows the performance of the proposed algo- rithms for the second set of storage size under light traffic. Now the servers have larger storage sizes. When , MOVIE_ASSIGNMENT_REPLICATION can give the op- timal assignments. When (i.e., the distribution of popularities is extremely skewed), MOVIE_ASSIGN- MENT_REPLICATION can still give close-to-optimal assign- ments. These results indicate that when the servers have larger storage sizes, MOVIE_ASSIGNMENT_REPLICATION can further exploit replication to give better assignments. Tables III and IV show the performance of the proposed movie assignment algorithms under moderate traffic and heavy traffic respectively. We observe similar results. • When the distribution of popularities is not very skewed, MOVIE_ASSIGNMENT can already give optimal as- signments. • When the distribution of popularities is very skewed, MOVIE_ASSIGNMENT_REPLICATION can give op- timal assignments. • When the distribution of popularities is extremely skewed, we can provide the servers with larger storage sizes so that MOVIE_ASSIGNMENT_REPLICATION can give optimal or close-to-optimal assignments. TableVshowstheexecutiontimerequiredbytheproposedalgo- rithms on a personal computer using Pentium III 450 MHz where and . In most cases, the execution time required
  • 11. LEUNG AND HOU: ASSIGNMENT OF MOVIES TO HETEROGENEOUS VIDEO SERVERS 675 TABLE II PERFORMANCE OF THE PROPOSED ALGORITHMS UNDER LIGHT TRAFFIC ( = 600). (a) FIRST SET OF STORAGE SIZES (ON AVERAGE, A SERVER CAN STORE 30 MOVIES). (b) SECOND SET OF STORAGE SIZES (ON AVERAGE, A SERVER CAN STORE 35 MOVIES) islessthan1min.Intheworstcase,theexecutiontimerequiredis 2.4 min. Since movie assignment is usually done on a daily basis (e.g., when new movies are added and some existing movies are removed), the execution time required is reasonably small. The proposed algorithms are designed for heterogeneous server environment, while the existing ones were designed for identical server environment [7], [8]. Table VI shows that the proposed algorithm has significantly lower blocking probability than the existing ones (we use a skew factor of 1.0 and movie replication). After finding an initial assignment, we use three operators (namely, swapping, migration, and replication) to improve the
  • 12. 676 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A : SYSTEMS AND HUMANS, VOL. 35, NO. 5, SEPTEMBER 2005 TABLE III PERFORMANCE OF THE PROPOSED ALGORITHMS UNDER MEDIUM TRAFFIC ( = 800). (a) FIRST SET OF STORAGE SIZES (ON AVERAGE, A SERVER CAN STORE 30 MOVIES). (b) SECOND SET OF STORAGE SIZES (ON AVERAGE, A SERVER CAN STORE 35 MOVIES) assignment iteratively. Table VII shows that these operators can effectively improve the initial assignment (skew factor is 1.0). C. Second Numerical Experiment In this experiment, we consider five server systems given in Table VIII. These systems have the same number of servers, the same total capacity, and the same total storage size, but the server system contains more heterogeneous servers than server system . Table IX(a) shows the performance of the proposed al- gorithms for and . When the servers are more heterogeneous, the lower bound on the minimal blocking
  • 13. LEUNG AND HOU: ASSIGNMENT OF MOVIES TO HETEROGENEOUS VIDEO SERVERS 677 TABLE IV PERFORMANCE OF THE PROPOSED ALGORITHMS UNDER HEAVY TRAFFIC ( = 1000). (a) FIRST SET OF STORAGE SIZES (ON AVERAGE, A SERVER CAN STORE 30 MOVIES). (b) SECOND SET OF STORAGE SIZES (ON AVERAGE, A SERVER CAN STORE 35 MOVIES) probability is smaller, and this lower bound can be reached by MOVIE_ASSIGNMENT_REPLICATION. This indicates that when the total capacity and total storage size are fixed, it is preferable to use some servers with larger capacities and larger storage sizes. Table IX(b) shows the execution time required by the proposed algorithms on a personal computer using Pentium III 450 MHz. In general, when the servers are more heterogeneous, the proposed algorithms require longer execution time to optimize the assignment. Nevertheless, the execution time required is still reasonably small.
  • 14. 678 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A : SYSTEMS AND HUMANS, VOL. 35, NO. 5, SEPTEMBER 2005 TABLE V EXECUTION TIME REQUIRED ON A PERSONAL COMPUTER USING PENTIUM III 450 MHZ; TRAFFIC LOAD IS MEDIUM ( = 800) AND SKEW FACTOR IS 1.0. (a) FIRST SET OF STORAGE SIZES (ON AVERAGE, A SERVER CAN STORE 30 MOVIES). (b) SECOND SET OF STORAGE SIZES (ON AVERAGE, A SERVER CAN STORE 35 MOVIES) VI. CONCLUSION This pape considered a video-on-demand (VOD) system using heterogeneous servers and investigated how to assign movies to these servers in order to minimize the blocking probability. It was proven that this assignment problem is NP-hard and derived a lower bound on the minimal blocking probability. An approach was proposed that uses problem relaxation and goal programming for movie assignment. Based on this approach, two algorithms were designed for movie assignment with and without replication, respectively. The numerical results demonstrate that these algorithms can find optimal or close-to-optimal assignments because the resulting blocking probabilities are equal or close to the lower bound on the minimal blocking probability; in particular: • when the distribution of movies’ popularities is not very skewed, movie assignment without replication can al- ready give optimal assignments; • when the distribution of popularities is very skewed, movie assignment with replication can give optimal assignments; • when the distribution of popularities is extremely skewed, we can provide the servers with larger storage sizes so that movie assignment with replication can give optimal or close-to-optimal assignments. APPENDIX A PROOF OF LEMMA 2 In this appendix, we prove Lemma 2. Consider the following special instance of Optimization Problem 3. There are only two
  • 15. LEUNG AND HOU: ASSIGNMENT OF MOVIES TO HETEROGENEOUS VIDEO SERVERS 679 TABLE VI PROPOSED ALGORITHM IS MORE EFFECTIVE THAN THE EXISTING ONES IN HETEROGENEOUS SERVER ENVIRONMENT TABLE VII EFFECTIVENESS OF MIGRATION, SWAPPING, AND REPLICATION identical servers (i.e., , , and ). For this instance, it can be shown that the ideal access probabilities and are identical and equal to 1/2 (e.g., apply the Lagrange multiplier method [17] to Optimization Problem 2). Then, the distance can be expressed as (A1) where , , and and are partitions of . If we can minimize the above dis- tance in polynomial time, then we can find an answer to the following decision problem in polynomial time: Do there exist partitions and of such that is equal to The above decision problem is known as a set partitioning problem, and it is NP-complete [19]. Therefore, Optimization Problem 3 is NP-hard. This completes the proof for Lemma 2. APPENDIX B PROOF OF LEMMA 3 In this appendix, we prove Lemma 3. Suppose server has the largest outstanding access probability (i.e., for all ). Let be the popularity of the given TABLE VIII SERVER SYSTEMS ADOPTED IN THE SECOND NUMERICAL EXPERIMENT movie. If we assign this given movie to server , the resulting distance is (B1) If we assign the given movie to the other server (say, server ), the resulting distance is (B2)
  • 16. 680 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A : SYSTEMS AND HUMANS, VOL. 35, NO. 5, SEPTEMBER 2005 TABLE IX RESULTS OF THE SECOND NUMERICAL EXPERIMENT ( = 800 AND = 1:0). (a) PERFORMANCE OF THE PROPOSED MOVIE ASSIGNMENT ALGORITHMS. (b) EXECUTION TIME REQUIRED ON A PERSONAL COMPUTER USING PENTIUM III 450 MHz To prove Lemma 3, it is sufficient to prove that . We prove this inequality as follows: (B3) Since server has the largest outstanding access probability, for all . This means that (B3) is equal to or larger than zero. Therefore, or . This completes the proof for Lemma 3. APPENDIX C PROOF OF LEMMA 4 In this appendix, we prove Lemma 4. The two servers are referred to as servers and , where server has a larger out- standing access probability than server . To assign movies and to servers and , there are four possible assignments: 1) assign movies and to server ; 2) assign movies and to server ; 3) assign movie to server and movie to server ; 4) assign movie to server and movie to server . The resulting distances for the above four assignments are de- noted by , , , and , respectively, and they are given by (C1) We distinguish two cases. • Case 1: . For this case, we can prove that , and using algebraic manipulations. • Case 2: . For this case, we can also prove that , and . For both cases, movie should be assigned to server in order to result in the smallest distance. After assigning movie , it can be seen from the above two cases that movie should be assigned to the server with the largest outstanding access prob- ability (i.e., server if or server if ). Based on Lemma 3, therefore, we should assign movie first and then assign movie . This completes the proof for Lemma 4. ACKNOWLEDGMENT The authors would like to thank the associate editor and the anonymous reviewers for their valuable comments and sugges- tions. REFERENCES [1] V. O. K. Li and W. Liao, “Video-on-demand systems,” in Handbook of Internet and Multimedia Systems and Applications, B. Furht, Ed. Boca Raton, FL: IEEE/CRC, 1998. [2] J. C. L. Liu and D. H. C. Du, “Continuous media on demand,” IEEE Computer, vol. 34, no. 9, pp. 37–39, Sep. 2001. [3] K. Miyake, H. Morita, and K. Habara, “Content delivery services as the killer application for the broadband IP networks,” IEICE Trans. Commun., vol. 86, no. 6, pp. 1731–1739, Jun. 2003. [4] D. N. Serpanos and A. Bouloutas, “Centralized versus distributed mul- timedia servers,” IEEE Trans. Circuits Syst. Video Technol., vol. 10, no. 8, pp. 1438–1449, Dec. 2000. [5] Hong Kong Standard (newspaper in English), p. BB03, Jan. 1999. [6] T. D. C. Little and D. Venkatesh, “Popularity-based assignment of movies to storage devices in a video-on-demand system,” Multimedia Syst., vol. 2, pp. 280–287, 1995.
  • 17. LEUNG AND HOU: ASSIGNMENT OF MOVIES TO HETEROGENEOUS VIDEO SERVERS 681 [7] A. N. Mourad, “Issues in the design of a storage server for video-on- demand,” Multimedia Syst., vol. 4, pp. 70–86, 1996. [8] D. N. Serpanos, L. Georgiadis, and T. Bouloutas, “MMPacking: A load and storage balancing algorithm for distributed multimedia servers,” IEEE Trans. Circuits Syst. Video Technol., vol. 8, no. 1, pp. 13–17, Feb. 1998. [9] Y. W. Leung and E. W. M. Wong, “An incentive charging scheme for video-on-demand,” J. Oper. Res. Soc., vol. 52, no. 1, pp. 55–63, Jan. 2001. [10] A. Dan, D. Sitaram, and P. Shahabuddin, “Scheduling policies for an on-demand video server with batching,” in Proc. ACM Multimedia Conf., 1994, pp. 15–23. [11] G. B. Horn, P. Knudsgaard, S. B. Lassen, M. Luby, and J. E. Rasmussen, “A scalable and reliable paradigm for media on demand,” IEEE Com- puter, vol. 34, no. 9, pp. 40–45, Sep. 2001. [12] V. O. K. Li, W. J. Liao, X. Qiu, and E. W. M. Wong, “Performance model of interactive video-on-demand systems,” IEEE J. Sel. Areas Commun., vol. 14, no. 6, pp. 1099–1109, Aug. 1996. [13] Y. N. Doganata and A. N. Tantawi, “Storage hierarchy in multimedia servers,” in Multimedia Information Storage and Management, S. M. Chung, Ed. Norwell, MA: Kluwer, 1996. [14] K. W. Ng and K. A. Yeung, “Analysis on disk scheduling for special user functions,” IEEE Trans. Circuits Syst. Video Technol., vol. 9, no. 5, pp. 752–765, Aug. 1999. [15] D. Gross and C. M. Harris, Fundamentals of Queueing Theory. New York: Wiley, 1985, pp. 294–304. [16] D. L. Jagerman, “Some properties of the Erlang loss function,” Bell Syst. Tech. J., vol. 53, no. 3, pp. 525–551, Mar. 1974. [17] S. S. Rao, Optimization Theory and Applications, 2nd ed. New York: Wiley, 1994. [18] Video Store Mag., Dec. 1992. [19] M. H. Garey and D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness. San Francisco, CA: Freeman, 1979. Yiu-Wing Leung (M’92–SM’96) received the B.Sc. and Ph.D. degrees from the Chinese University of Hong Kong, Shatin, in 1989 and 1992, respectively. He then taught in the Hong Kong Polytechnic University, Hung Hom, until 1997 and subsequently joined the Hong Kong Baptist University, Kowloon Tong, where he is currently a Professor in the De- partment of Computer Science. His research focuses on two main areas: 1) networking and multimedia and 2) cybernetics and systems engineering. He has published more than 60 journal papers in these areas, most of which appear in various IEEE transactions and journals. Ricky Yuen-Tan Hou (M’03) received the B.Sc. and Ph.D. degrees in computer science from the Hong Kong Baptist University, Kowloon Tong, in 1999 and 2003, respectively. He is currently an Assistant Professor in the Hong Kong Baptist University. His research focuses on multimedia communications and networking. He is a Member of Institution of Electrical, Information and Communication Engineers (IEICE) of Japan.