Information Technology Reference
In-Depth Information
advantages and the associated tradeoffs. While our focus is on video streaming, the same
principles and architectures will also be applicable to other types of streaming systems.
In the rest of this chapter we will introduce a framework for the design of parallel video server
architectures. We address three central architectural issues: video distribution architectures ,
server striping policies , and video delivery protocols for parallel video servers. We present
possible design alternatives and review the existing designs [8-18] in the literature in the
context of the framework.
9.2 Parallel Video Distribution Architectures
The essence of parallel video servers is the striping of data across an array of servers. Since the
data consumer (such as a video decoder) expects a single streamof video data, data streams from
each server must first be resequenced and merged. We use the name proxy to refer to the system
module responsible for resequencing and merging data from multiple servers into a coherent
video stream for delivery to a client. In addition, the proxy can make use of data redundancy
to mask server failures and hence achieve server-level fault tolerance (see Section 9.4.3).
The proxy is a software and/or hardware module that knows the configuration of the system
(such as the number and addresses of servers, locations of data, striping policy, etc.). There
are three ways to implement the proxy: (1) at the server computer - proxy-at-server ; (2) at an
independent computer - independent proxy ; and (3) at the client computer - proxy-at-client .
Note that we use the term computer to refer to the hardware performing the proxy function. In
practice, this hardware may or may not be a computer in the general sense.
9.2.1 Proxy-At-Server
Figure 9.1 shows the proxy-at-server architecture. There are N S server computers and each com-
puter performs both as storage server and proxy. As there are likely more clients than servers,
C
C
C
...
Server S 0
Proxy P 0
C
C
C
...
Server S 1
Proxy P 1
C
C
C
...
Server S 2
Proxy P 2
C
C
C
...
Server S 3
Proxy P 3
.
.
.
C
C
C
...
Server S N S --1
Proxy P N S --1
Front-end
Clients
Combining Storage Server with Proxy Server
Figure 9.1 The proxy-at-server architecture
Search WWH ::




Custom Search