Information Technology Reference
In-Depth Information
9.2.4 Architecture of Existing Works
The proxy-at-server architecture has been investigated in the studies by Reddy [16], Tewari
et al. [17], and Wu and Shu [18]. In Tewari's paper, they called this the flat architecture. They
also considered a two-tier architecture that is equivalent to the independent proxy architecture.
They called the proxy a delivery node, which retrieves video data from back-end storage nodes,
and delivers a single video stream to the client. The independent-proxy architecture has also
been investigated in another study by Buddhikot and Parulkar [11]. Unlike the previous works,
they implemented the proxy functionality in their custom ATM Port Interconnect Controller
(APIC), which also functions as the interconnection network linking the storage nodes and
the external network. Lougher et al. [15] also investigated a striping server in a hierarchical
network topology to perform the proxy functions. Finally, the proxy-at-client architecture has
been investigated in the studies by Bernhardt and Biersack [9], Bolosky et al. [10], Freedman
and DeWitt [12], and Lee and Wong [13, 14].
All three architectures are scalable in the sense that more servers and proxies can be added
to the system to support more concurrent video sessions. However, the proxy-at-server and
independent-proxy architectures suffer from the problem that a proxy failure will affect the
clients connected to it. Conversely, systems based on the proxy-at-client architecture do not
have the proxy reliability problem and hence only back-end storage server failures need to be
considered. In the subsequent chapters we will primarily focus on the proxy-at-client archi-
tecture.
9.3 Server Striping Policies
Striping is a general technique for distributing data over multiple devices to improve capacity
(or throughput) and potentially reliability . Disk array and the Redundant Array of Inexpensive
Disks (RAID) [19] are among the most successful applications of the striping principle. There
are also other applications, including network striping [20], and tape striping [21]. In a parallel
video server, we stripe video data over multiple servers to increase the system's capacity and
potentially improve the system's reliability using data redundancy. We call this server striping
in accordance with previous work in other areas. Striping a video stream across all N S servers
is commonly called wide striping , and striping over a subset of the N S servers is called short
striping [17]. Unless stated otherwise, we will assume wide striping in the following sections
and discuss the key design alternatives.
9.3.1 Time Striping
Avideo streamcan be viewed as a series of video frames. Therefore, we can stripe a video stream
in units of frames across multiple servers - time striping . Figure 9.4 depicts one example of
how video units are striped using time striping. Assume that a stripe unit contains L frames, and
the video plays at a constant frame rate of F frames per second. Then in each round of N s L / F
seconds, L frames will be retrieved from each server and delivered to a client. In general, the
striping size L neither need to be an integer, nor equal to or larger than 1. In particular, if L
<
1,
then it is called sub-frame striping [9]. Conversely, we simply call it frame striping for L
1.
Search WWH ::




Custom Search