and answers a name resolution request of a client
according to a pre-determined policy such as a round
robin (T. Brisco, 1995). However, DNS approach
can't provide the fault-tolerance to a client because it
unconditionally returns one of IP addresses mapped
to a domain name without checking the server status,
and the intermediate DNS server between a client
and the Round-Robin DNS server can cache the IP
address mapped to a domain name differently from
the designated DNS, which leads to fail to equally
balance loads among nodes in a cluster. LVS can be
also used for a video server clustering and is
organized as a cluster of systems providing real
services and a load balancer, sometimes referred to
as a director or a dispatcher, operating as a contact
point with a single virtual IP address (VIP) as well
as redirecting a request to one of real servers
according to policies using different redirecting
methods. LVS supports 3 methods such as network
address translation (NAT), IP tunneling, and direct
routing as redirecting methods. When NAT is
chosen, a load balancer changes the destination
address of a request IP packet to the real server IP
address, and changes the source address of a
response IP packet to the load balancer address
(VIP) before returning the results to a user. NAT has
the problem that the load balancer becomes a
bottleneck because all of the request and the
response packets pass through the load balancer that
changes the destination and the source addresses.
When IP tunneling is chosen as a LVS redirecting
method, the load balancer creates a new IP datagram
forwarded to a real server encapsulating the original
datagram, and the real server directly returns the
results to the requesting user after decapsulating and
processing the new datagram. IP tunneling has the
problems that OS of a real server should support IP
tunneling, a real server should have a public address,
and both a load balancer and real servers have
additional IP tunneling overheads. Although most of
the modern OS support IP tunneling technology,
some kinds of legacy OS still exist, and some OS
should do the complex processes such as a kernel
patch in order to support IP tunneling. When direct
routing is chosen, the load balancer changes the
Medium access control (MAC) address of a request
data frame to the destination MAC address of the
selected server, and the real server directly returns
the results to the requesting user. Direct routing has
the problems that a real server requires a non-
ARPing network interface, both a load balancer and
real servers should be connected within a single
physical network, and a real server needs a public
address. Besides its own problems of each
technology mentioned above, all of these redirecting
methods at the low level have the common weakness
that the same content should be copied into all of the
servers because a low level redirection can't
recognize the requested content but only the IP
packet. Although storage capacity largely increased
during the past, storing all of the same contents in all
of the servers is wasteful when considering the
increasing sizes of video contents. OpenCDN has an
application layer request routing, and can support
various servers, but it requires the implementation of
a new adaptation layer that communicates with a
streaming server whenever a server product is added.
As available video server systems, many
commercial products such as Microsoft’s Windows
Media server
(http://www.microsoft.com/windows/windowsmedia
/default.aspx), Real network's helix universal server
(http://www.realnetworks.com/products/media_deliv
ery.html), and Apple's Darwin streaming server
(http://developer.apple.com/darwin/projects/streami
ng/) as well as many research prototypes such as
Tiger (William J. Bolosky et al., 1996) and SPIFFI
(Craig S. Freedman and David J. DeWit., 1995)
exist and are operating in the real world with their
own proprietary applications, the proprietary
technologies, advantages, and disadvantages. These
varieties caused the current congestion that
incompatible servers are operating at the same time
and a practitioner should select one of them after
comparing them for a long time. In this situation
where servers are various, the technology that
supports all of these heterogeneous servers without a
dependency on any vendors and content-awareness
is required so that a practitioner can freely choose a
server and extend the capability.
To complement the drawbacks of each
technology mentioned above and exploit already
existing servers, we designed a simple, and scalable
architecture that can be used within a wide area
network (WAN), and support content-awareness
because the architecture exploits HTTP facilities as a
redirecting method. Our architecture can also
provide a little fault-tolerance through monitoring
video servers and avoiding assigning the repetitively
failed server. To prove its practicality, we also
developed its prototype.
This paper is organized as follows. Section 2
refers to various related works by other researchers.
Section 3 describes our architecture and
implementation, and Section 4 concludes.
2 RELATED WORKS
This section describes the parallel processing
technologies such as LVS, and DNS as well as
network technologies such as CDN and OpenCDN.
THE GLOBALLY SCALABLE ARCHITECTURE FOR HETEROGENEOUS VIDEO SERVERS WITHOUT ANY
MODIFICATION
141