View
12
Download
0
Category
Preview:
Citation preview
ENHANCED DISTRIBUTED MULTIMEDIA SERVICESUSING ADVANCED NETWORK TECHNOLOGIES
By
SUNGWOOK CHUNG
A DISSERTATION PRESENTED TO THE GRADUATE SCHOOLOF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT
OF THE REQUIREMENTS FOR THE DEGREE OFDOCTOR OF PHILOSOPHY
UNIVERSITY OF FLORIDA
2010
c© 2010 Sungwook Chung
2
Dedicated to my family
3
ACKNOWLEDGMENTS
I would like to thank all people who provided me with their help during my Ph.D
years.
First of all, I would like to thank my advisor, Dr. Jonathan C.L. Liu for all his support
and encouragement. Without his constant inspiration, this dissertation would not have
been possible. The discussion with him on any topic has also made me pleasant and
relaxed.
I am also grateful to my supervisory committee members, Dr. Shigang Chen,
Dr. Douglas D. Dankel II, Dr. Paul Fishwick, and Dr. Paul W. Chun for their invaluable
suggestions and comments for my research.
In addition, I would thank all my Korean friends and families who shared happy
memories in Gainesville.
Last but not least, I truly appreciate my parents, Sangkab Chung and Malnam Seo,
who have been supporting me and have always stood behind me for my whole life,
heartfeltly believing in me without any doubt even at a moment. I also appreciate my
sister, Kyungae Chung, who has pleasantly helped me out with her warm heart all the
time. I would also like to thank all my family members and friends in Korea.
4
TABLE OF CONTENTS
page
ACKNOWLEDGMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
LIST OF TABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
LIST OF FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
LIST OF ALGORITHMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
CHAPTER
1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.2 Problem Nature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2.1 Problem Definitions and Requirements . . . . . . . . . . . . . . . . 181.2.2 Proposed Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2.2.1 Design of Multiple-Loop Architecture . . . . . . . . . . . . 191.2.2.2 An Efficient Storage Scheme . . . . . . . . . . . . . . . . 201.2.2.3 A Practically Constructible Multiple-Loop Architecture . . 21
1.3 Technical Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221.3.1 Multimedia-enabled Small Area Network . . . . . . . . . . . . . . . 221.3.2 Fiber Channel Arbitration Loop . . . . . . . . . . . . . . . . . . . . 23
1.4 Outline of Dissertation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2 A SCALABLE PVR-BASED CONTENT SHARING ARCHITECTURE . . . . . . 26
2.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.3 A Scalable TV Content Sharing Architecture . . . . . . . . . . . . . . . . . 30
2.3.1 Single Loop Architecture . . . . . . . . . . . . . . . . . . . . . . . . 302.3.2 Multiple Loop Architecture . . . . . . . . . . . . . . . . . . . . . . . 31
2.4 Design of a Scalable Loop Topology . . . . . . . . . . . . . . . . . . . . . 322.4.1 Linear Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.4.2 Ring Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362.4.3 Complete Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.4.4 Edge-Added Topology . . . . . . . . . . . . . . . . . . . . . . . . . 382.4.5 Multiple-Interfaced Shared Disks . . . . . . . . . . . . . . . . . . . 38
2.5 Experimental Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422.5.1 Scalability Comparison among Different Topologies . . . . . . . . . 422.5.2 Impact of the Number of Interfaces per Disk . . . . . . . . . . . . . 45
2.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5
3 A STORAGE SAVING SCHEME TO SHARE HD-QUALITY CONTENT . . . . . 48
3.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.3 TV Content Distribution Architecture for Community Networks . . . . . . . 503.4 Extending Content Storage Hours . . . . . . . . . . . . . . . . . . . . . . 53
3.4.1 Design Issues for Storage Efficiency . . . . . . . . . . . . . . . . . 543.4.2 Impact of Duplicated Storage of Programs . . . . . . . . . . . . . . 543.4.3 Storage Saving Schemes . . . . . . . . . . . . . . . . . . . . . . . 573.4.4 Replacement Schemes . . . . . . . . . . . . . . . . . . . . . . . . 59
3.5 Experimental Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613.5.1 Effectiveness of Proposed Schemes in a Single Loop . . . . . . . . 623.5.2 Effectiveness of Proposed Schemes in Multiple Loops . . . . . . . 633.5.3 Effectiveness of Our Proposed Architecture . . . . . . . . . . . . . 673.5.4 Impact of PVRs’ Storage Portion for Time-Shifting . . . . . . . . . . 673.5.5 Impact of Storage Capacity . . . . . . . . . . . . . . . . . . . . . . 68
3.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4 AN MST-BASED NETWORK ARCHITECTURE FOR SHARING BROADCASTTV PROGRAMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.3 TV Content-Sharing Architecture . . . . . . . . . . . . . . . . . . . . . . . 73
4.3.1 Multiple Loop Architecture . . . . . . . . . . . . . . . . . . . . . . . 734.4 Enhanced Multiple-loop Network Architecture . . . . . . . . . . . . . . . . 78
4.4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784.5 Problem Definition and Formulation . . . . . . . . . . . . . . . . . . . . . 80
4.5.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . 804.5.2 Minimum Spanning Tree . . . . . . . . . . . . . . . . . . . . . . . . 834.5.3 Minimum Spanning Tree-based Graph . . . . . . . . . . . . . . . . 84
4.6 Performance Evaluations . . . . . . . . . . . . . . . . . . . . . . . . . . . 874.6.1 Average Loop Size . . . . . . . . . . . . . . . . . . . . . . . . . . . 894.6.2 Total Traffic and Average Reject Ratio . . . . . . . . . . . . . . . . 90
4.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5 CONCLUSIONS AND FUTURE WORK . . . . . . . . . . . . . . . . . . . . . . 94
REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
BIOGRAPHICAL SKETCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6
LIST OF TABLES
Table page
2-1 Traffic on each edge in a six loop linear topology . . . . . . . . . . . . . . . . . 35
2-2 Traffic on each edge in a six loop ring topology . . . . . . . . . . . . . . . . . . 36
2-3 m values in the complete topology . . . . . . . . . . . . . . . . . . . . . . . . . 39
2-4 Simulation parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3-1 PVRs’ Contributable Storage in the PVR-based FC-AL system . . . . . . . . . 56
3-2 Symbols for replacement algorithms . . . . . . . . . . . . . . . . . . . . . . . . 58
3-3 Simulation parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3-4 The ratio of pvrs and network disks in a community network . . . . . . . . . . . 66
4-1 Simulation parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
7
LIST OF FIGURES
Figure page
1-1 Overview of TV content broadcasting and sharing system . . . . . . . . . . . . 15
2-1 Overall TV content distribution architecture . . . . . . . . . . . . . . . . . . . . 29
2-2 Examples of multiple loop architectures . . . . . . . . . . . . . . . . . . . . . . 31
2-3 Examples of topology with six loops . . . . . . . . . . . . . . . . . . . . . . . . 33
2-4 Examples of complete topologies using multiple-interfaced shared disks . . . . 40
2-5 Total traffic of different topologies according to the number of loops . . . . . . . 43
2-6 Number of shared disks required by different topologies according to the numberof loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2-7 Number of attached devices of different topologies according to the numberof loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2-8 Number of attached devices in the complete topology according to the numberof interfaces per disk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2-9 Average block overhead time according to the number of interfaces per disk . 47
3-1 Examples of multiple loop architectures . . . . . . . . . . . . . . . . . . . . . . 52
3-2 Probability of storing each program according to its popularity . . . . . . . . . . 55
3-3 Effects of PVRs and network disks . . . . . . . . . . . . . . . . . . . . . . . . . 64
3-4 Effects of Palive and threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3-5 Effectiveness of our proposed architecture . . . . . . . . . . . . . . . . . . . . . 66
3-6 Impact of PVRs’ storage portion for time-shifting . . . . . . . . . . . . . . . . . 68
3-7 Impact of storage capacity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4-1 Overall TV content distribution architecture . . . . . . . . . . . . . . . . . . . . 74
4-2 How to relay a TV program using shared disks in a triple-loop . . . . . . . . . . 76
4-3 Examples of CG, MST, and MSG architectures . . . . . . . . . . . . . . . . . . 79
4-4 MST formulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4-5 MSG formulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4-6 Flowchart for load-balanced MSG . . . . . . . . . . . . . . . . . . . . . . . . . 86
8
4-7 Impact on average setup time in a double-loop . . . . . . . . . . . . . . . . . . 89
4-8 Average loop size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4-9 Total traffic and average reject ratio . . . . . . . . . . . . . . . . . . . . . . . . . 91
9
LIST OF ALGORITHMS
Algorithm page
3-1 Program placement algorithm (input: new program) . . . . . . . . . . . . . . . 59
3-2 Replacement algorithm for PVRs (input: new program) . . . . . . . . . . . . . 60
3-3 Replacement algorithm for network disks (input: new program) . . . . . . . . . 61
10
Abstract of Dissertation Presented to the Graduate Schoolof the University of Florida in Partial Fulfillment of theRequirements for the Degree of Doctor of Philosophy
ENHANCED DISTRIBUTED MULTIMEDIA SERVICESUSING ADVANCED NETWORK TECHNOLOGIES
By
Sungwook Chung
August 2010
Chair: Jonathan C.L. LiuMajor: Computer Engineering
A variety of enhanced multimedia services, including multimedia live streaming and
high-quality content sharing, have been enabled by the recent advances in network,
storage, and compression technologies. Especially, the improvement of the network
technologies has allowed the organization of a peer-to-peer (P2P) network where
people can easily share their content with others.
Integrated with the progress in multimedia technology, the advent of new electronic
devices has accelerated to achieve those advanced multimedia services efficiently.
In particular, a personal video recorder (PVR), one of those electronic devices, has
emerged as an effective peer device in a P2P network, since it can store broadcast TV
programs on its own embedded hard disk.
In this dissertation, we develop an efficient network architecture such that all users
can access high-quality multimedia content easily and the system can support various
channels of access to the content. In order to achieve these goals, we adopt two leading
technologies in our architecture in addition to a pool of disks as a backup storage; a
fiber channel arbitration loop (FC-AL) as a reliable and broadband network connection
and PVR as a peer in a P2P network. We have thus demonstrated the feasibility of a
PVR-based network architecture by supporting the high-quality content sharing and
distribution using the FC-AL. In fact, the promotion of the storage pool and the PVR
11
capability on the FC-AL loop has enabled the system to become quite feasible for
serving the emerging P2P streaming services.
Nevertheless, the suggested PVR-based FC-AL network architecture has a critical
limitation in terms of the number of attachable PVRs, since the FC-AL is intrinsically
based on a single loop organization and the single loop only allows 127 attachable
devices.
We therefore develop a novel multiple-loop architecture providing a scalable
network organization without using expensive switches. To connect multiple loops in our
architecture, we then introduce shared disks that relay TV programs between loops like
bridges. When extending into a multiple-loop architecture using the shared disks, it is
realized that a topology design for the multiple-loop architecture has a major effect on
the imposed total traffic in the whole system. We thus present and compare all possible
topologies including linear, ring, edge-added, and complete graph (CG) topology. Finally,
the analysis and experimental results reveal that the CG topology among all the possible
topologies provides the best scalability.
In addition, we recognize that, as the network size grows using the multiple-loop
architecture, popular programs tend to be stored redundantly in many PVRs due to
users’ viewing skewness, thereby wasting the storage space that could otherwise be
used to store additional TV programs. Thus, we also propose to extend program storage
hours in terms of the whole system by presenting efficient storage saving algorithms
for both PVRs and a backup storage. Through extensive simulations, we finally show
that our proposed schemes significantly extend program storage hours by an average of
69.7%.
Lastly, we present a practically constructible architecture solution, named MSG,
which maintains both advantages of CG and MST. Thus, the MSG can be expected
to be employed in a real constructible network infrastructure by its balance between
system performance and cost.
12
CHAPTER 1INTRODUCTION
1.1 Overview
The rapid advances in multimedia technologies including network, storage, and
compression technologies have led various advanced multimedia services, such as
video-on-demand (VOD) and HD-quality content distribution in our society. It is also
very common that people can enjoy those multimedia services using various electronic
devices, including personal digital assistants (PDAs), mobile phones, or portable
multimedia players (PMPs). In addition, with the invention of MPEG (Motion Picture
Expert Group) standards such as MPEG-2/4/7/21 [75, 80, 81], people can easily use
and utilize consumer electronic devices to receive and store high-quality TV programs
or video titles. Typical examples of the electronic devices are video cassette recorders
(VCRs), DVD player/recorder and digital video recorders (DVRs) with a hard disk such
as TiVo.
At the same time, the advances in networking technologies have enabled people to
experience various channels for enjoying live streaming services, such as broadcasting
TV programs, and to share their content much more efficiently in a way that a user can
access other users’ content, and vice versa. In particular, the progress of the network
technologies have accelerated to distribute high-quality multimedia contents and to
share their contents as a peer-to-peer (P2P) network.
Fundamentally, the distributed multimedia services try to deliver live multimedia
contents, i.e., streaming video/audio, via networks in real time. Thus, the rapid advances
in computing technology, compression technology, large bandwidth storage devices,
and high speed network technology have made it feasible to provide realtime multimedia
services over the networks. In order to achieve this goal, various issues have to be
considered so that an end user can easily enjoy the live multimedia services. Hence,
the main distributed multimedia research issues are as follows: multimedia content
13
compression, application-layer quality of service (QoS), continuous data distribution
medium, and streaming servers.
• Multimedia Content Compression: The size of multimedia data is quite substantialcompared to regular Web-based data. Thus, in order to support a realtimeplayback at the user side, it is essential to compress the raw multimedia data.The well-known compression methods include MPEG-1/MPEG-2/MPEG-4, H.120,and H.262/H.263/H.264 [24, 58, 66].
• Application-layer Quality of Service (QoS): It is crucial that the quality of realtime-deliveredmultimedia data can satisfy an end user’s expected service quality. In order tomeet the requirements, various application-layer QoS control techniques on the topof possible IP protocols have been presented in [20, 69, 77, 82].
• Continuous Data Distribution Medium: In order to deliver multimedia data inrealtime effectively, it is essential to serve an appropriate network support sincethe network support can reduce transmission delay and data loss ratio. Especially,it is desirable to provide large and reliable network bandwidth for the multimediadata transfer [2, 27, 32].
• Streaming Servers: To offer quality streaming services, streaming servers arerequired to process multimedia data under timing constraints. That is, a next datablock needs to be transmitted completely before the previously delivered datablock is processed by a given playback rate. In addition, the streaming servers cansupport a large capacity of storage in order to hold various multimedia data sincethe size of multimedia data is intrinsically considerable [23, 26, 29, 40, 72].
We consider these fundamental facts to develop an effective TV content sharing
and distribution network architecture. Thus, in order to handle the broadcast TV
programs, our system supports the MPEG-2 compression in addition to the reliable
and broadband network technology by which our network architecture can deliver
HD-quality TV programs. Furthermore, our network architecture maintains minimized
server-functional system components for a target program routing and a backup
storage. That is, in order to support an appropriate QoS control, our system provides the
necessary information to find and retrieve a requested program. Also, a distributed/networked
system storagecan offer the backup storage function in our system. Thus, our system
can provide the mentioned four key functions so that it can serve effectively as a
distributed multimedia system.
14
A Various TV content distributions
......
B P2P network in a single building
Small Area
Networks
C Small area P2P network
Figure 1-1. Overview of TV content broadcasting and sharing system
Specifically, Fig. 1-1A illustrates possible TV content distributions using the
advanced network architecture demonstrated in Fig. 1-1B, where users can easily
obtain various TV programs and they can share their content with others using
home content-storing devices. Particularly, people enjoy the TV programs as they
are broadcast or from the TV-content providing server via a global network, i.e., the
Internet. In addition, small area networks in the community can be formed as P2P
15
networks as shown in Fig. 1-1C. The P2P network provider can serve several ways
for content-providing with the pool of storage devices for large capacities and reliable
backup storages while all users within the P2P networks can do content-sharing
between the peers.
How to build these P2P networks with effective schemes is the major theme of this
study. It is indeed an important topic since there have been several research efforts
[31, 59] that have tried to facilitate all of those state-of-art technologies together, such
as advanced network technologies and electric appliances, for enhanced multimedia
services. However, these systems do not necessarily guarantee the overall system
performance and efficiency since they are based on Internet infrastructure. Via a pilot
study [38] based on the Fiber Channel Arbitration Loop (FC-AL), we have demonstrated
the feasibility of a PVR-based network architecture by supporting high-quality content
sharing and distribution, where PVRs can work as peers via the FC-AL loop. The FC-AL
is one of leading network technologies, offering such advantages as large bandwidth
(e.g., up to 1Gbps), long distance coverage (e.g., 10km), and a fairness arbitration
algorithm, which is a typical structure to organize storage area networks (SANs)
[56, 70, 73, 74].
One unique design consideration that we have built into the system is the promotion
of Digital Video Recorder(DVR) to the concept of Personal Video Recorder(PVR).
Traditionally, VCR users would record the broadcast programs on video home system
(VHS) tapes. Similarly, today’s users can simply store the digital video, including
broadcast movies and TV programs, on the embedded hard disk in the DVRs. Just like
VHS tapes with recorded video content can be shared with friends, the user-stored
digital video on the hard disks can also be shared among friends. Instead of physically
sending the tapes or DVDs, digital video content can be shared simply by on-the-fly
transmission. At this moment, DVRs on the market have only limited transmission
capability (mainly for downloading the program details). It is expected that eventually
16
the DVR will be equipped with high-speed networking interfaces. Therefore, DVRs
have evolved into “Personal Video Recorders” (PVRs) for the next-generation DVRs,
which will be used in the rest of this dissertation as the P2P electronic devices for
content-sharing. Consequently, with the enabled transmission capability, a true P2P
system can be achieved among PVR users with their stored contents.
Due to the promotion of the storage disk pool and the PVR capability on FC-AL
loops, the system becomes quite flexible on supporting the emerging P2P streaming
services. Usually, a multimedia streaming service can be classified in one of the
following: pure streaming, implicit duplication, and explicit duplication. In pure streaming,
a video file is played in real time without storing onto a local hard disk. The implicit
duplication specifies that a certain portion of the video is buffered, in order to support
an effective media playing without enduring a delay or a jitter. Lastly, in the explicit
duplication, the entire video file should be downloaded for playing the file. Our system
can support the implicit and explicit duplication as ways of P2P content-sharing, since
our architecture has the capability that stores a program using the embedded local disk
in PVRs and transmits a received content in realtime with the high-speed network, i.e.,
FC-AL.
In other words, a program can be shared in a way that a PVR is receiving
and transmitting it to the other PVRs at the same time. In fact, with all advanced
functions combined, PVRs have the potentials to emerge as one of the advanced
multimedia electric appliances that support various advanced services, such as
VCR-like operations, electronic program guides (EPGs), and time-shifting TV programs.
In particular, we are interested in an intensive investigation on the degree of time-shift.
Fundamentally, PVRs are able to store realtime broadcast TV programs on their own
embedded hard disks. Thus, the advent of PVRs has led to the change of people’s
TV viewing patterns [52] because people can become independent of the specific TV
broadcasting time with the PVR’s time-shifting functionality. Significantly, the PVRs have
17
enabled the stored TV programs to be shared among the PVR users like a P2P network
as shown in Fig. 1-1.
1.2 Problem Nature
1.2.1 Problem Definitions and Requirements
Fundamentally, it is very essential to support a broadband network bandwidth in
order to serve high-quality multimedia services. In addition, it is also important to satisfy
realtime constraints for such multimedia services.
Moreover, to build up a multimedia-service-enabled network architecture, we should
adopt an appropriate broadband network as a network connection. In addition, each
user can have a multimedia-compatible appliance to enjoy and share the multimedia
contents effectively.
Furthermore, several system components as well as PVRs are also necessary in
order to coordinate each system component and to support various access channels for
multimedia contents, such as backup storages. Since each PVR is under an individual
user’s control, we also need to develop a scheme to utilize the whole system effectively,
regardless of each user’s discretion.
Last but not least, a network architecture has to be scalable without a limitation on
the number of accommodable users, so that the network architecture can be applicable
for various purposes, while still supporting its originated advantages.
1.2.2 Proposed Schemes
In order to provide high-quality multimedia services within a small area like a single
building, the feasibility of an FC-AL-based architecture for sharing high-quality TV
programs between PVRs has been investigated. The suggested architecture consists
of PVR users, a group of network disks, the content management server and FC-AL
connection to share and distribute high-quality programs reliably and efficiently. As a
matter of fact, that architecture has been shown to perform effectively with extensive
simulations [38].
18
1.2.2.1 Design of Multiple-Loop Architecture
Although its feasibility and effectiveness has been thoroughly examined and
explored successfully, it has a critical limitation in terms of scalability, i.e., the number
of accommodable PVR users, despite its advantages such as various multimedia
services at a low cost, since the suggested architecture is merely based on a single-loop
FC-AL structure, Specifically, the FC-AL standard allows only 7-bit address space [34],
which means that all attachable PVRs are limited at most to 127 PVRs. Hence, this
indicates that the single-loop architecture is not suitable where many users have to be
accommodated by the network architecture, such as a densely populated building or a
regional network area like a community or a campus.
In this dissertation, we first develop a scalable PVR-based network architecture
based on the FC-AL-based network with multiple loops. There can be several considerations
to determine a better design. Fundamentally, a topology design affects the configuration
of a multiple-loop architecture and the organized multiple-loop architecture has its own
characteristics according to the selected topology design. For example, if a multiple-loop
architecture is configured by a linear topology, the middle loops and shared disks have
to be involved more than both end loops but have the least connectivity between loops.
On the other hand, a ring topology imposes less traffic load in the middle loops and
shared disks but requires more connectivity compared to the linear topology. Noticeably,
the topology design for a multiple-loop architecture has an effect on the traffic load and
the connectivity, which is closely related to the number of necessary shared disks.
An additional observation is that the obtainable scalability, i.e., the number of
attachable devices including PVRs, network disks, and shared disks, is affected by
the number of required shared disks. That is, if a multiple-loop architecture needs
more shared disks, the multiple-loop architecture provides less scalability at the cost
of deployed shared disks with respect to the given number of loops. In other words, if a
19
network architecture wants to accommodate more PVR users with the given number of
loops, it is more desirable that the architecture topology can support more scalability.
Therefore, we analyze and compare possible multiple-loop topologies: a linear
topology, a ring topology, an edge-added topology, and a complete topology. With the
goal of finding the topology to provide the most scalability, we determine which topology
design is the most suitable for the multiple-loop network architecture, enabling many
more PVRs to share and distribute high-quality contents between them with up to 10km
coverage.
We then introduce a shared disk to connect different loops and relay a requested
program from one to the other, which is a key system component with multiple interfaces
in order to organize a multiple-loop architecture, working as a bridge. We propose
the multiple-loop architecture using the shared disks by comparing possible topology
designs via thorough analyses and extensive simulations. Finally, we determine which
topology design is the most desirable in terms of scalability, supporting high-quality
content sharing and distribution effectively at a low cost.
1.2.2.2 An Efficient Storage Scheme
Once the multiple-loop architecture is deployed as a network infrastructure, PVR
users can share other PVRs’ contents without a limitation on the number of PVR users
in the network. Ideally, the operations of each PVR should be under its own control by
its user in the proposed multiple-loop architecture. Users can therefore arbitrarily store
or remove any programs on their PVRs independently of how other PVRs are storing
or deleting the same program. As the network architecture is extended with added
loops, i.e., as more PVRs are added, however, the storage of popular programs tends
to be duplicated in many PVRs, thereby wasting the storage space that could otherwise
be used to store additional TV programs. This implies that we should extend program
storage hours by reducing duplicated storage of programs among PVRs’ local storage
and network disks in the system.
20
In order to devise an efficient storage scheme, we need to take advantage of PVRs’
access pattern to popular programs, i.e., which program is more of less likely to be
accessed by PVRs. In addition, PVRs’ pattern for dynamic liveness also has to be
defined because a PVR’s on/off is at its user’s discretion, so that the PVR can work as a
peer in the network. Furthermore, we need to devise schemes regarding how to direct
incoming programs to either a PVR or a network disk and which program should be
replaced to reduce the redundancy for both PVRs and network disks. Essentially, the
criteria to apply all the placements and the replacements have to be determined for the
efficient use of the whole system storage including PVRs and network disks.
With our proposed schemes, we demonstrate that our architecture can extend
program storage hours significantly by our simulation results. In fact, we have found
the program storage redundancy tends to rapidly increase when more loops and more
PVRs are attached. Therefore, a good scheme should utilize the whole system storage
efficiently while reducing to store popular programs from the whole system point of
views. In this study, we demonstrate that an efficient storage-saving scheme can be
designed to store fewer duplicated programs in the whole system. Via our thorough
simulation, the experimental results reveal that our storage-saving scheme can utilize
the system storage capacities efficiently, while extending the program storage hours by
the average of 67.7%.
1.2.2.3 A Practically Constructible Multiple-Loop Architecture
We have firstly selected the complete graph topology as our multiple-loop
architecture design, mainly considering scalability to accommodate more users in a
given number of loops. Thus, we introduce the concept of total traffic which directly
affects the scalability. Nevertheless, it has a critical limitation on the suggested topology
design in terms of a practical constructibility. That is, although the complete graph shows
the best scalability due to the least total traffic by 1-hop reachability to every loop, it
seems impractical, especially when many more loops are deployed or the distance
21
between 2 loops is very huge. In addition, it is inevitable that the size of modified loop
should become larger in order to link a shared disk when it is placed between any 2
loops. In other words, the insertion of shared disk increases the modified loop size
which results in the worse system performance and cost.
Nevertheless, the suggested topology requires too many shared disks, just for the
topology connectivity. Specifically, if there are n loops in the architecture, the system
demands at least nC2 shared disks just for the system organization, thereby making it
less likely to be able to construct a real network architecture.
Therefore, we present a practically constructible multiple-loop topology which
considers both the system performance and cost. We firstly describe the minimum
spanning tree (MST) topology for the system cost. However, it shows unacceptable
system performance since it is a tree-based topology where the traffic load is consecrated
on the selected fixed-path every time. Consequently, we add graph characteristics to the
MST topology so that the load distribution can be achieved for satisfactory system
performance. We finally describe how to configure our proposed topology, what
characteristics it has, and how effectively to expose its superiority in terms of both
performance and cost.
1.3 Technical Background
1.3.1 Multimedia-enabled Small Area Network
It is not an easy task to deliver high-quality multimedia content from a content
server to an end user via the Internet, especially when the geographical location
between them is very far. In fact, the Internet is fundamentally designed for a best-effort
service to transfer data with unreliable and limited network bandwidth, which is not
quite suitable for the multimedia services. Hence, in order to support the conventional
server/client network architecture to transmit multimedia data on the global network
such as the Internet, multimedia-enabled small area networks have been studied in
[40, 62, 71, 76].
22
In fact, once a small area network can support a multimedia service to its users,
there are several performance advantages including various content providing channels
and a decrease of network load since the small area network can work as a proxy
server [47, 57, 84]. However, the proxy server functions mainly discuss how to
reduce the number of outside requests and how to absorb the request in its network
by cache/prefetch schemes.
Our proposed system further adds P2P functions within the network architecture
in addition to the basic functions of a small area network. That is, the residents in the
network cannot only serve their contents to their neighbors as content providers but they
can also retrieve their target programs from others, thereby providing more system load
distribution and reliable content sharing.
1.3.2 Fiber Channel Arbitration Loop
Fiber Channel provides an interface to a pair of cables that can connect a computer
to all other computers and shared peripherals it might need to reach, at data rates
up to 1 Gbps. It has an extremely flexible interconnection topology, with definitions
for point-to-point, switched, and loop connection topologies. The architecture defines
mappings of Fiber Channel data transport to Upper Level Protocols (ULPs), such as the
Internet Protocol (IP), the Small Computer Systems Architecture Standard (e.g., SCSI)
for high-speed disk attachment, and so on. With the Fiber Channel, it is possible to have
an IP connection, disk and storage peripheral access, and a link to an ATM switch, all
operating over a single network card with a pair of attached cables, each of which is
transmitting data at more than 1 Gbps [7, 15, 55, 61].
One of the FC-AL fabric topologies is the Fiber Channel Arbitration Loop (FC-AL)
that is emerging to be employed in the Storage Area Network (SAN) architecture
[4, 21, 44, 74]. In the FC-AL topology, the outgoing and incoming fibers to a port are
split off to attach to different remote ports, such that the aggregation of fibers forms a
unidirectional loop which passes through every port exactly once. The general picture of
23
traffic generation on this topology is that a single port arbitrates for usage of the entire
loop. Once it obtains loop access, it opens up communications with another port on
the loop, and then transmits normal Fiber Channel traffic at the full guaranteed link
bandwidth until it is done, when it releases the loop for usage by another port to begin
another round of full bandwidth communication.
One notable advantage of FC-AL is that it provides fairness to all attached devices.
Each device participates in the arbitration in order to access to the Fiber Channel, and
thereby no device suffers starvation due to the arbitration protocol. In addition, Fiber
Channel can cover up to 10km distance which is highly appropriate to organize a small
area network such as a community or a campus.
With these advantages, there has been research to organize a multimedia-enabled
network architecture using FC-AL [12, 13, 22]. However, these systems are mainly
focused on the feasibility and performance attainability, not aiming for a real resident
network architecture. We have investigated a further consideration for the actual
network infrastructure. In other words, we are focusing how to make it feasible to be
scalable so that many more user can be supported, by overcoming the intrinsic FC-AL
accommodatable limitation. Thus, we consider an effective system design in terms of
topology, and furthermore we develop a practically constructible topology design which
makes a balance between system performance and cost.
1.4 Outline of Dissertation
The remainder of this dissertation is organized as follows:
Chapter 2 describes our proposed FC-AL multiple-loop architectures for small area
networks. We analyze various topology types, (e.g., complete, ring, edge-added, and
complete topology) to determine the better architecture design in terms of scalability,
i.e., the number of attachable devices. With thorough investigation and extensive
simulations, we reveal that the complete topology design provides the most scalability,
and thereby is most appropriate for the multiple-loop network architectures.
24
Chapter 3 proposes storage-saving schemes based on our multiple-loop architectures,
which utilize people’s viewing patterns, i.e., the popular programs tend to be watched
much more, thereby storing same programs redundantly. Therefore, we propose efficient
storage-saving schemes which try to store fewer program copies in order to reduce the
redundant copies of same programs.
Chapter 4 explains a practically constructible architecture solution which tries to
find a balance between system performance and cost. In fact, the CG topology can
be impractical when the number of loops becomes large. Thus, an minimum spanning
tree-based graph topology, called MSG, is devised which is derived from an MST
topology but also reflects the CG topology’s advantages. The MSG then reveals its
superiority by showing a constant average loop size as well as an acceptable total traffic
and reject ratio compared to both GC and MST.
Chapter 5 concludes this dissertation regarding all the topics and presents our
research directions for future work.
25
CHAPTER 2A SCALABLE PVR-BASED CONTENT SHARING ARCHITECTURE
2.1 Motivation
In this chapter, we focus on developing a novel multiple-loop architecture capable
of supporting a scalable community network, as one of small area networks, in an
economical way without using fiber channel switches.
In addition, a personal video recorder (PVR) is an electronic home appliance that
can record broadcast TV programs onto its embedded hard disk in a digital format
[52]. Unlike the conventional video cassette recorder (VCR), it uses a hard disk as
a storage medium rather than a tape. However, it still supports advanced features
including electronic program guide (EPG) and time-shifting (e.g. to pause live TV), in
addition to conventional VCR-like operations, such as fast forward, rewind, pause, and
play. Remarkably, the PVR’s time-shifting functionality has a major effect on people’s
TV watching patterns. That is, the time-shifting feature allows people to become
independent of a TV broadcasting time. Moreover, they can even pause a live TV
program or skip some parts of a live TV show due to the time-shifting functionality.
Furthermore, a PVR has the capability to be connected by a broadband network,
thereby serving as a network component to share stored TV programs with other PVRs.
This feasibility of a PVR-based P2P network has been investigated and tested in the
“Share-it” project [49] and the “ShareTV” by NDS [35].
Therefore, we adopt this PVR as a multimedia device in each home, so that
each user can not only enjoy various multimedia services but our system can also be
organized for a P2P network using each user’s PVR. That is, our system assumes that
each user has a PVR so that he can store his TV watching TV contents that can be
retrieved by other users in the proposed network architecture which serves as a P2P
network.
26
In our proposed architecture, each loop thus connects all PVRs to the loop as a
high-speed interconnecting network. Then, PVRs equipped with network devices can
share TV programs stored on their hard disks with others as a peer as in a P2P network,
especially within the community network.
To connect multiple loops in our architecture, we introduce shared disks that are
responsible for relaying TV programs between loops like bridges. With shared disks,
multiple loops can be configured by various types of topologies in order to construct a
community network. To see which topology can provide the best scalability in terms of
the total number of devices that can be attached to all loops, we analyze four possible
types of topologies: linear, ring, edge-added, and complete topology where a node
and an edge represent a loop and a shared disk, respectively. The four topologies are
classified according to how many adjacent edges each node has.
As the number of the shared disks increases, the total number of devices attached
to all loops decreases because they are attached to more than one loop at the same
time. Thus, we need to reduce the total number of shared disks to provide better
scalability. We have observed that the system’s total loaded traffic affects the required
number of shared disks. In addition, the total traffic depends on the system’s topology
design, i.e., which topology is employed for the whole system’s configuration design.
Ultimately, the system’s topology design determines the necessary number of shared
disks to organize an effective multiple-loop architecture. This is because each topology
generates a different number of hops to reach a destination loop from a source loop.
In order to see how each topology affects the total traffic, we analyze four different
topologies. The analysis reveals that the complete topology has the least total traffic
among four topologies. The reason for this is that any loop can always reach another
loop within a minimum number of hops, i.e., one hop. We also examine the impact of the
number of interfaces per shared disk on the system scalability.
27
The simulation results show that the complete topology has the best scalability
among four possible topologies in terms of the number of devices attached to the
system. It is also shown that the system scalability is not significantly affected by
the number of interfaces per shared disk. It can be therefore seen that our proposed
architecture can adaptively increase the community network simply by adding loops
without using expensive fiber channel switches even though community size continues
to grow.
The remainder of this chapter is organized as follows: Section 2.2 describes related
work. Section 2.3 proposes a scalable TV content-sharing architecture including
shared disks and directory servers. Section 2.4 analyzes the impact of topology
types of a community network and the number of interfaces per disk on the system
scalability. Section 2.5 presents extensive simulation results. Finally, Section 2.6 offers
summarizations.
2.2 Related Work
The design issues pertinent to organizing a community network have been analyzed
in [6, 68], but they have focused on how to organize a community network rather than
how to construct a scalable architecture for a community network including various types
of topologies.
In addition, PVRs’ impact on TV viewing patterns has been described in [45]
and various functionalities of PVRs have been studied in [43, 83]. However, they
concentrated on PVR-specific applications such as time-shifting and video-rate
adaptation.
In the meantime, the fiber channel has been proposed as one of the standards
to organize the storage area network [34]. Thus, its feasibility and capability have
been studied as a high-speed network in [18]. Additionally, the FC-AL-based storage
systems have been studied for multimedia server architectures in [13, 22]. Moreover, the
28
multimedia content sharing architecture with PVRs has been introduced in [10, 49], but
they do not address the scalability issue of the system.
When organizing network topologies, design issues have been introduced in
[11, 33, 48]. However, they studied autonomous systems or clusters as target systems.
A The structure of an FC-AL single loop
B A community network for a large number of devices
Figure 2-1. Overall TV content distribution architecture
29
2.3 A Scalable TV Content Sharing Architecture
In this section, we describe a scalable TV content sharing architecture for a
community network. We first explain the FC-AL single loop architecture and then
propose a scalable multiple loop architecture using shared disks for sharing HD-quality
TV contents among PVRs.
2.3.1 Single Loop Architecture
Fig. 2-1A illustrates a structure of an FC-AL single loop that can be constructed in a
small area. In order to provide high-quality content sharing in real time among PVRs, it
is essential to adopt a high speed network as an interconnecting infrastructure. The fiber
channel (FC) has emerged as a leading technology due to its several advantages. First
of all, FC can provide high bandwidth, i.e., currently 800Mbps, and large coverage, i.e.
10km, which are very suitable to organize a community network where a large number
of PVRs are involved. In addition, the FC-AL employs a fairness arbitration algorithm
that can guarantee there is no starvation among all attached devices. Therefore, we
employ FC-AL technology to connect all system components within a community
network [38].
Once PVRs become equipped with network devices, they can share contents stored
on their hard disks with others. In other words, each PVR can work as a peer as in a
P2P network, especially within a community network. The community members can
share the high-quality TV contents via the PVRs that are connected to the FC-AL. PVRs
record live TV programs that users want. They also continue to record broadcast TV
programs which users have watched for a given duration so that users can time-shift the
programs.
As mentioned above, however, the single loop can accommodate only 127 devices
because the FC-AL standard allows a 7-bit address space [34]. In other words, it is
not suitable as a community network if the community has more than 127 consumer
devices. Therefore, it is essential to extend the community network in an economical
30
way without using fiber channel switches that are very expensive and likely to become
more load-concentrated.
A Two and Three loop configuration
B Four and Five loop configuration
Figure 2-2. Examples of multiple loop architectures
2.3.2 Multiple Loop Architecture
We develop a scalable multiple loop architecture that is able to accommodate a
large number of devices in a community network as shown in Fig. 2-1B. To extend
the single loop architecture to the multiple loop architecture, we employ two additional
system components: one is a shared disk and the other is a directory server.
• Shared disk (SDisk)
31
In the multiple loop architecture, we need a bridging mechanism between loops.
The shared disks are used to connect two distinct loops and relay the requested
program from one loop to the other. Since the FC standard allows multiple
interface devices for such reasons as durability, we can implement the shared
disks without modifying FC protocols [34]. Since disks attached to the FC-AL are
at least dual-interfaced, we can connect each interface to one of multiple loops.
• Directory server (DS)
The directory server coordinates the content sharing between PVRs within a loop
and among loops. Located in every loop, it keeps collecting and exchanging the
information on which PVRs are storing which programs. Based on this information,
it can perform the scheduling of requests for content sharing.
Fig. 2-2 illustrates our proposed multiple loop architecture with two, three, four,
and five loop configurations. Note that each loop represents a single loop architecture
shown in 2-1A. It can be seen that the shared disks work as bridges between loops. In
order to effectively extend the architecture with a given number of loops, it is important to
determine how many shared disks should be employed between loops. The more disks
are designated as shared disks, the worse scalability we may achieve. Moreover, it can
be a performance bottleneck when they are overloaded due to improper design.
2.4 Design of a Scalable Loop Topology
In this section, we present how to obtain better scalability for the multiple loop
architecture with a given number of loops. As mentioned above, the FC-AL single
loop can attach at maximum 127 devices. In the meantime, the shared disks worsen
the scalability because they are attached to more than one loop at the same time.
Thus, we can obtain the total number of devices that can be attached to a multiple loop
architecture using shared disks as follows:
127 × (number of loops) − (total number of shared disks) (2–1)
32
A Linear and Ring topology
B Edge-added and Complete topology
Figure 2-3. Examples of topology with six loops
From Eq. 2–1, it is clear that we should reduce the total number of shared disks to
provide better scalability. As mentioned above, we have observed that the total traffic
loaded on all shared disks depends on the type of topology constructing a multiple loop
architecture. This is because the required number of hops to transfer data between a
specific pair of loops differs according to each topology.
In order to see how each topology affects the total traffic loaded on all shared disks,
we illustrate four different topology configurations with six loops as shown in Fig. 2-3.
Since the configurations with a larger number of loops are much harder to illustrate in
figures, we use the six-loop configurations for detailed analysis of each topology in this
section.
33
Fig. 2-3A and 2-3B show a linear, ring, edge-added, and complete topology,
respectively. A node and an edge represent a single loop and a shared disk, respectively.
We compare these topologies in terms of the total traffic with a given number of
loops. We use dual-interfaced shared disks for the convenience of comparison. We
then examine the impact of the number of interfaces per shared disk on the system
scalability.
2.4.1 Linear Topology
The simplest way to configure a multiple-loop architecture with a given number of
loops is to use a linear topology as shown in Fig. 2-3A. In the linear topology, it can be
seen that the number of edges is less by one than the number of nodes.
In our multiple-loop architecture, when a PVR requests a program, the system first
tries to find the requested program within the local loop where the requesting PVR is
located. If the program is not found in the local loop, i.e., the program is stored only in
other loops, the requesting PVR must receive the program from one of other loops via
all shared disks located between the two loops. The routing is determined based on the
total number of hops between a source and a destination loop, i.e., the shortest path
is chosen among possible paths. It is assumed that the programs are stored evenly
among PVRs and the popularity of programs is uniform so that the amount of data traffic
between all pairs of loops can be fairly evaluated.
In the linear topology, it is obvious that the edges closely located to a center node
handle more traffic because they tend to be more involved in relaying programs between
loops. For example, in Fig. 2-3A, the center edge (i.e., edge c) handles the most traffic
among all five edges due to the task of relaying programs. The second and fourth edge
(i.e., edge b and edge d) handle the second most traffic for the same reason. The first
and the fifth edge (i.e., edge a and edge e) have the least traffic. Specifically, when
denoting m a relative unit of traffic, the very left node (i.e. node 1) generates traffic as
much as (5/5)m, (4/5)m, (3/5)m, (2/5)m, and (1/5)m to edge a, edge b, edge c, edge d,
34
Table 2-1. Traffic on each edge in a six loop linear topology
EDGE A EDGE B EDGE C EDGE D EDGE E
Node 155
m45
m35
m25
m15
m
Node 215
m45
m35
m25
m15
m
Node 315
m25
m35
m25
m15
m
Node 415
m25
m35
m25
m15
m
Node 515
m25
m35
m45
m15
m
Node 615
m25
m35
m45
m55
m
Total Traffic 2m165
m185
m165
m 2m
where m is a relative unit of traffic.
and edge e, respectively. Similarly, node 2 generates traffic as much as (1/5)m, (4/5)m,
(3/5)m, (2/5)m, and (1/5)m to edge a, edge b, edge c, edge d, and edge e, respectively.
Table 2-1 shows the total traffic on each edge in the linear topology with six loops. The
total traffic on edge a, edge b, edge c, edge d, and edge e are 2m, (16/5)m, (18/5)m,
(16/5)m, and 2m, respectively. The total traffic on all edges is computed as 14m simply
by summing the traffic on five edges.
In general, we can derive the total traffic in the linear topology according to the
number of loops as follows:4 − 4
(n − 1)×
n−12∑
k=2
(k2 − n × k)
× m, n : odd & n ≥ 5
4 − 4
(n − 1)×
n−22∑
k=2
(k2 − n × k) +n2
2 × (n − 1)
× m, n : even & n ≥ 6
(2–2)
where n is the number of loops and m is a relative unit of traffic.
35
2.4.2 Ring Topology
Since the ring topology has a circular connection among loops as shown in Fig.
2-3A, all the nodes have two edges and we cannot designate any edge as a center
edge. A node can reach any other node within as many hops as half the total nodes.
Table 2-2. Traffic on each edge in a six loop ring topology
EDGE A EDGE B EDGE C EDGE D EDGE E EDGE F
Node 135
m25
m15
m 015
m25
m
Node 225
m35
m25
m15
m 015
m
Node 315
m25
m35
m25
m15
m 0
Node 4 015
m25
m35
m25
m15
m
Node 515
m 015
m25
m35
m25
m
Node 625
m15
m 015
m25
m35
m
Total Traffic95
m95
m95
m95
m95
m95
m
In order to find out how much traffic is generated in the ring topology, we first obtain
the traffic of each edge. In Fig. 2-3B, node 1 generates traffic as much as (3/5)m,
(2/5)m, (1/5)m, (1/5)m, and 2/5)m to edge a, edge b, edge c, edge e, and edge f,
respectively. Note that when there is a tie in determining the routing path in terms of
the number of hops, we choose the loop in the clockwise direction. Thus, edge d does
not have any traffic generated by node 1 due to this tie-breaking policy based on the
shortest path routing. Similarly, we can calculate the traffic on other edges as shown in
36
Table 2-2. We can thus generally formulate the traffic of each node as follows: 2
(n − 1)×
n−12∑
k=1
k =n + 1
4
× m, n : odd
2
(n − 1)×
n−22∑
k=1
k +n/2
2 × (n − 1)
× m =
[n2
4(n − 1)
]× m, n : even
(2–3)
With Eq. 2–3, we can obtain the total traffic in the ring topology simply by multiplying the
traffic of each edge by the number of edges as follows:[
(n + 1)4
× n]× m =
[n(n + 1)
4
]× m, n : odd
[n2
4(n − 1)× n
]× m =
[n3
4(n − 1)
]× m, n : even
(2–4)
2.4.3 Complete Topology
The complete topology represents a simple graph where every pair of distinct
nodes is connected via a distinct edge. Thus, every node can have all other nodes as
adjacent nodes. In other words, a node can reach any other node with only one hop. In
the complete topology, there are thus nC2= n(n-1)/2 edges in total because all nodes are
paired. Each node has (n − 1) adjacent edges because each node has all other nodes
as neighbors.
First, we derive the traffic of each edge. In Fig. 2-3B, each node generates (1/5)m
traffic to all other adjacent edges. Since each edge receives the same traffic from two
connected nodes, the traffic of each edge is (2/5)m.
Thus, we can generally derive the traffic of each edge in the complete topology as
follows: [2
(n − 1)
]× m (2–5)
Since the total number of edges in the complete topology is n(n − 1)/2, we compute
the total traffic for all edges by multiplying the traffic of each edge by the total number of
37
edges as follows: [{2
(n − 1)
}× m
]× n(n − 1)
2= n × m (2–6)
The total traffic of the complete topology with six loops in Fig. 2-3B is 6m. Compared
to the total traffic of the linear and ring topology with six loops in Fig. 2-3A, amounting
to 14m and 10.8m, respectively, it can be seen that the complete topology has the least
traffic.
2.4.4 Edge-Added Topology
We have analyzed the total traffic of the linear, ring, and complete topology. Note
that each node has two and (n − 1) adjacent edges in the ring and complete topology,
respectively. However, it is also necessary to examine other topologies where each node
has 3 to (n − 2) adjacent edges to compare all possible topologies. In this chapter, the
ring-based topologies where each node has 3 to (n − 2) adjacent edges are edge-added
topologies as shown in Fig. 2-3B.
However, it is hard to derive general formulae for the total traffic in the edge-added
topologies due to their irregularities. Thus, we have performed extensive simulations to
investigate the total traffic of all the topologies where each node has 2 to (n−1) adjacent
edges including ring and complete topology. The simulation results will be presented in
Section 2.5.
2.4.5 Multiple-Interfaced Shared Disks
In the previous section, we analyzed the linear, ring, edge-added, and complete
topology that are based on dual-interfaced shared disks. In the complete topology, at
least nC2 shared disks are required to connect all pairs of loops. Thus, as the number of
loops increases, the required minimum number of shared disks increases more rapidly,
proportional to n(n − 1)/2. In this section, we investigate whether multiple-interfaced
shared disks can provide better scalability than dual-interfaced shared disks can. In
other words, we examine whether or not the smaller number of multiple-interfaced
shared disks can maintain the same connectivity as the larger number of dual-interfaced
38
shared disks can. As mentioned above, this is feasible since the fiber channel standard
allows multiple fiber channel-interfaced hard disks.
Table 2-3. m values in the complete topology
NUMBER OF INTERFACES PER SHARED DISK
2 3 4 5 6 7 8 9 10
3 loops 3 1 N/A N/A N/A N/A N/A N/A N/A
4 loops 6 3 1 N/A N/A N/A N/A N/A N/A
5 loops 10 4 3 1 N/A N/A N/A N/A N/A
6 loops 15 6 3 3 1 N/A N/A N/A N/A
7 loops 21 7 4 3 3 1 N/A N/A N/A
8 loops 28 11 6 4 3 3 1 N/A N/A
9 loops 36 12 7 4 3 3 3 1 N/A
10 loops 45 17 8 6 4 3 3 3 1
We first derive the minimum number of multiple-interfaced shared disks in the
complete topology where any node can reach any other node with only one hop as
follows:
M =
n ×⌈
(n − 1)(k − 1)
⌉
k
(2–7)
where n, k , and M represent the number of loops, the number of interfaces that one
shared disk supports, and the minimum required number of shared disks, respectively.
The complete topology comprising dual-interfaced shared disks is a special case
where k = 2 in Eq. 2–7. Table 2-3 illustrates M values when varying the number of loops
and interfaces per disk.
Fig. 2-4 shows three examples of complete topologies using multiple-interfaced
shared disks. Fig. 2-4A shows the complete topology with four loops and three
three-interfaced shared disks. In this topology, shared disk a, b, and c connect loop
1/2/4, 1/2/3, and 2/3/4, respectively. Fig. 2-4A shows the complete topology with eight
loops and four five-interfaced shared disks. Similarly, four disks connect eight loops
39
A n=4,k=3,M=3 and n=8,k=5,M=4
B n=10,k=10,M=1
Figure 2-4. Examples of complete topologies using multiple-interfaced shared disks
using five interfaces so that every pair of loops can be reached with only one hop. Fig.
2-4B shows the complete topology that can be constructed with only one shared disk.
This is possible because the shared disk has ten interfaces that are able to connect ten
loops at a time. We can thus derive the traffic of each shared disk with k interfaces as
follows: [(k − 1)(n − 1)
× k]× m (2–8)
40
Then we can also obtain the total traffic of the complete topology with k-interfaced
shared disks using Eq. 2–7 and 2–8 as follows:
[{(k − 1)(n − 1)
× k}× m
]×
n ×⌈
(n − 1)(k − 1)
⌉
k
= n × m (2–9)
It can be seen from Eq. 2–6 and 2–9 that the total traffic of the complete topology
with multiple-interfaced shared disks is same as that of dual-interfaced shared disks.
This may imply that the total traffic is not affected by which type of shared disk is
employed. However, note that we may need more shared disks as the traffic of each
edge becomes heavier even though only one shared disk can connect all loops as
shown Fig. 2-4B. Since each shared disk has a limitation on handling traffic, we should
also take processing capability of each shared disk into account to estimate the real
scalability. In the next section, we will show the actual required number of shared disks
considering both the processing capability of each shared disk and the traffic loaded on
it.
Table 2-4. Simulation parameters
CATEGORY PARAMETER VALUE
FC-AL
data transfer rate 400 MB/s
propagation delay 3.5 ns/meter
per node delay 240 ns
Disk
capacity 300 GB
cache 32 MB
data transfer rate 29 ∼ 65 MB/s
seek time 4.7 ms
rotational latency 3.0 ms
41
2.5 Experimental Evaluation
To validate the effectiveness of our proposed architecture in terms of scalability, we
have performed extensive simulations for various types of topologies while varying the
number of loops and interfaces per disk.
It is assumed that each TV program has HD quality of 19.4 Mbps playback rate
and is 60 minutes long. We employ dual-interfaced shared disks between two distinct
loops in order to organize a multiple loop architecture unless otherwise indicated. We
also vary the number of interfaces per shared disk to show the impact on the overall
scalability. The programs are distributed evenly among loops and the probability that
each program is requested is uniform so that the amount of data traffic between each
pair of loops can be fairly compared. The request rate of program playback follows a
Poisson distribution. Each available PVR issues requests for different programs every 60
minutes. It is also assumed that 126 PVRs are connected to each loop and half of them
on average are available at a specific time. Note that the routing between two loops is
determined by the number of hops and the tie-breaking policy as mentioned above. The
details of parameters used for disks and FC-AL are also illustrated in Table 2-4.
The simulation results demonstrate that the complete topology provides the best
scalability, which supports our analysis presented in the previous section.
2.5.1 Scalability Comparison among Different Topologies
In this section, we evaluate the scalability degree of up to eight topologies (i.e.,
when the number of nodes is ten) by measuring their total traffic in terms of the
number of programs being serviced. Since the minimum number of nodes to form a
ring topology is three, we vary the number of nodes up to ten, starting from three. Since
the number of edges per node of a ring topology is two, we keep adding one adjacent
edge to each node to construct edge-added topologies until it is (n − 1) , i.e., it becomes
a complete topology. Note that, due to the irregularities of edge-added topologies, when
adding one edge to each node, it is not possible to strictly keep the numbers of edges
42
adjacent to nodes all the same. Thus, we try to distribute additional edges among nodes
as evenly as possible so that the average number of edges adjacent to nodes can be
maintained consistently depending on the number of added edges.
Figure 2-5. Total traffic of different topologies according to the number of loops
Fig. 2-5 shows the total traffic according to topology type while varying the number
of nodes (i.e., loops) from three to ten. The topology type is determined by the number
of average edges connected to each node. For instance, in the case of n=10, the
topologies with two and nine edges per node denote the ring and complete topology,
respectively. The six topologies with three to eight edges per node represent all possible
edge-added topologies. It can be seen that, as the number of edges per node increases,
the total traffic on each topology decreases. For example, in the case of n=10, when
each node has two edges, i.e., the ring topology, the total traffic is approximately 1,579
programs on average. On the other hand, when each node has nine edges, i.e., the
complete topology, the total traffic is on average only 577 programs. This trend is
consistent with all other topologies with different numbers of nodes. The reason for this
43
Figure 2-6. Number of shared disks required by different topologies according to thenumber of loops
Figure 2-7. Number of attached devices of different topologies according to the numberof loops
44
is that each topology generates a different number of hops to transfer data between
a source and a destination node. Note that, in the complete topology, any PVR can
receive a program from any other PVR in another loop with only one hop (i.e., one
shared disk). Thus, we can see that the complete topology generates the least total
traffic among all possible topologies to construct multiple loop architectures using
shared disks.
It is clear that the topologies with less traffic require fewer shared disks. This implies
that we can achieve better scalability because shared disks are attached to more than
one loop at the same time. Fig. 2-6 illustrates the required number of shared disks
for each topology type while varying the number of nodes. In the case of n=10, the
complete topology requires only 135 shared disks while the ring topology requires 320
shared disks. Note that the number of shared disks per edge in the ring topology is
much larger than that in the complete topology even though the number of edges in the
ring topology is smaller.
Fig. 2-7 shows the total number of attached devices for each topology. As expected,
the complete topology can support the greatest number of attached devices among all
the topologies to construct a multiple loop architecture. For example, in the case of n=
10, the complete topology can attach 1,125 devices while the ring topology supports
940 devices, which indicates 19.68% improved scalability. It can be also seen that the
complete topology outperforms all the other topologies for all the cases with different
numbers of nodes.
2.5.2 Impact of the Number of Interfaces per Disk
Fig. 2-8 shows the impact of the number of interfaces per shared disk in the
complete topology while varying the number of loops. It can be seen that the difference
in the number of attached devices is negligible for all the numbers of loops from two to
ten. For example, in the case of n= 10, the number of attached devices is 1,125 when
employing the dual-interfaced shared disks while the system with ten interfaced shared
45
Figure 2-8. Number of attached devices in the complete topology according to thenumber of interfaces per disk
disks supports 1,144. This indicates only 1.69% difference in scalability even though the
average processing utilization of shared disks is quite a bit lower with dual-interfaced
disks than with ten interfaced disks. This is because, as the number of interfaces
increases, the overhead including loop arbitration increases rapidly. Fig. 2-9 illustrates
the increased average one-block (512KB) processing time as the imposed overhead,
according to the number of interfaces per shared disks in the 10-loop architecture.
Thus, we can see that more interfaced disks do not contribute significantly to the system
scalability.
2.6 Summary
In order to deliver high-quality multimedia content, it is essential to support high
bandwidth in a network area. To address these requirements, a content-sharing
architecture based on an FC-AL loop has been proposed. Since a single loop allows
only 127 attachable components due to its 7-bit address space, it is not suitable for
a network area in a high-density community area. Therefore, as an alternative to
46
Figure 2-9. Average block overhead time according to the number of interfaces per disk
expensive switches for a network area, we have proposed a scalable multiple-loop
architecture using shared disks that relay the requested programs from one loop to the
other.
In order to determine which topology has the best scalability, we analyzed the
total traffic for four possible topologies such as linear, ring, edge-added, and complete
topology. Through analysis and extensive simulations, we showed that the complete
topology has the best scalability because it requires the fewest number of shared disks
by generating the least traffic among the four topologies. We also showed that the
system scalability is not affected by the number of interfaces per disk significantly.
We showed that ten loops connected via shared disks can serve more than 1,120
devices without employing switch devices. Our proposed architecture is therefore
expected to be a very scalable community network capable of supporting many more
PVRs with the increased number of loops since the fiber channel standard technically
allows up to 10 km coverage.
47
CHAPTER 3A STORAGE SAVING SCHEME TO SHARE HD-QUALITY CONTENT
3.1 Motivation
In the previous chapter, we have developed a multiple-loop FC-AL-based architecture
for a community network with the concept of shared disks, which play a role for bridges
to connect the different loops [14]. With the shared disks in the system, communication
between the hosts/disks in different loops becomes feasible. Therefore, our design focus
on the system is shifted to make sure the given storage space is effectively utilized.
Unlike the conventional SCSI-based servers that manage the video file allocation
issues in the dominating role, FC-AL-based P2P networks provide the system more
flexibility in that every PVR can equally access all the disks on the networks. Thus
content-sharing among the local disks in PVRs is quite feasible, which allows the system
to be more dynamic for using the whole system storage compared to the server-only
system. Thus, the PVR-based FC-AL architecture in general should not require as many
copies of the programs as the conventional SCSI-based servers/systems. Therefore,
PVR-based FC-AL systems may reduce the required number of copies of programs
significantly and effectively.
We believe that the operations of each PVR should be under the control of its
user. Users can therefore arbitrarily store or remove any programs on their PVRs
independently of how other PVRs are storing or deleting the same program. As the
community network can be extended with added loops in order to accommodate more
PVRs, however, the storage of popular programs tends to be duplicated in many PVRs.
This implies that the community network overall would waste the storage space that
could otherwise be used to store additional TV programs. In addition, PVRs can support
the feature of auto-record with their pre-assigned local storage, by which the PVRs can
function for time-shifting service like TiVo [5]. Consequently, this implies that we can
48
extend program storage hours by reducing duplicated storage of programs with PVRs’
auto-record storage within a community network.
We therefore analyze the problem, and propose novel schemes to extend program
storage hours in a community network. These schemes include the algorithm to
determine the minimal number of copies of the associated programs, and storage-saving
algorithms for both PVRs and network disks. These schemes jointly consider the
storage system design issues including access skew among programs and PVRs’
limited availability. We then perform extensive simulations while considering the
various system parameters in order to demonstrate the effectiveness of our proposed
architecture and algorithms. The simulation results successfully demonstrate that our
architecture can extend program storage hours significantly.
The remainder of this chapter is organized as follows: Section 3.2 describes
previous work related to our chapter. Section 3.3 explains the overall architecture for our
proposed community networks, especially FC-AL multiple loop architecture, to deliver
high-quality multimedia data. Section 3.4 explains our storage saving schemes for PVRs
and network disks. Section 3.5 illustrates extensive simulation results. Finally, Section
3.6 offers a summarization.
3.2 Related Work
In order to provide broad bandwidth stability and reliability, the fiber channel has
been proposed as one standard to organize a storage area network [34].Thus, its
feasibility and capability have been studied as a high-speed network [18, 19] and its
attainable performances have been analyzed [30, 60]. There has been research on
FC-AL-based multimedia server architectures using FC-AL storage systems [12, 13, 22].
There has also been literature on PVRs that can offer entertainment services at
home such that the end-users can share what they are storing in their own PVRs in
P2P networks [3, 36, 49, 79]. In addition, high-quality streaming services based on
content distribution networks have been exploited [9, 16, 53] although those services
49
have focused on unidirectional distribution from servers to end-users, rather than on
bi-directional content-sharing among users. A novel FC-AL-based content sharing
architecture in a residential area has been proposed so that HD-content sharing among
PVRs can be provided [39]. However, this system only focused on the feasibility of the
system architecture with the single-loop FC-AL configuration. Thus, it has limitations as
a community network infrastructure because it can accommodate only a limited number
of community members.
In addition, as the network and multimedia technologies have advanced, the
multimedia streaming has become much more feasible in a variety of services such as
P2P sharing. Multimedia streaming over P2P network can be categorized in three types:
pure streaming, implicit duplication, and explicit duplication as described in Section 1.1.
To date, there have been introduced several P2P multimedia applications such
as Joost [51], PPLive [? ], TvAnts [63], Cabos [65], Kiwi Alpha [54], Shareaza [50],
BitTorrent [41], BitComet [46], Azureus [67], and so on. The pure streaming types are
Joost [51], PPLive [? ], and TvAnts [63]. Next, the implicit duplication types are Cabos
[65], Kiwi Alpha [54], and Shareaza [50]. Lastly, the explicit duplication types include
BitTorrent [41], BitComet [46], and Azureus [67].
In our system, we adopt implicit duplication as a P2P content-sharing, so that
the program stored in each PVR can be effectively shared with other PVR users
without suffering a delay or a jitter. In addition, our system can also work as by explicit
duplication method once a whole program is recorded in a PVR until when the program
is deleted.
3.3 TV Content Distribution Architecture for Community Networks
In order to provide content distribution and sharing among community members, it
is important to build an infrastructure to sustain those services as a community network.
In particular, in order to support real time HD-quality content sharing, it is required
50
to provide sufficient storage bandwidth, huge storage capacity and each member’s
willingness to contribute their resources to the community.
In this section, we introduce a novel TV content distribution architecture for a
community network to meet these requirements. We have explained the FC-AL
single-loop community network in section 2.3.1. Then, we describe and review a
scalable multiple-loop architecture using shared disks as the infrastructure of the
community network. The proposed architecture can adaptively increase the community
network simply by adding loops even though community size continues to grow [14].
We therefore develop the scalable multiple-loop architecture for a community
network that has no limitation on the number of attached devices as shown in Fig. 2-1B.
When extending the single loop system to the multiple loop system, however, we need
to devise a bridging mechanism to relay the requested program between different loops.
Thus, we adopt shared disks that connect two distinct loops and relay the requested
program from one loop to the other. Since the FC standard allows multiple interface
devices for such reasons as durability, we can implement the shared disks without
modifying FC protocols.
Fig. 3-1 illustrates proposed multiple-loop architectures in order to support an
infrastructure of a community network, using the shared disks and the directory server
with possible 2-loop, 3-loop, and 4-loop configurations. Note that each loop indicates a
single-loop architecture, as in Fig. 3-1A.
Fig. 3-1A shows the fundamental architecture to extend from single loop to double
loop using shared disks. In this architecture, we can see that the shared disks work like
bridges, which enable the multiple-loop architecture and can be a path between the
loops. Fig. 3-1A illustrates a 3-loop architecture. With more than 3 loops, we notice that
there will be some design issues in terms of how to organize a multiple-loop architecture
with the shared disks. However, in order to organize effectively in terms of accessibility
so that each loop can reach all the other loops without involving more shared disks and
51
A Two-loop and three-loop configuration
B Four loop configuration
Figure 3-1. Examples of multiple loop architectures
more loops, it is desirable to deploy a shared disk between every two loops as in Fig.
3-1A. For example, we can see from Fig. 3-1A that the loop-1 can reach the loop-3 with
only one shared disk between them, rather than passing through the loop-2 with two
shared disks involved. Similarly, we can organize a 4-loop architecture as in Fig. 3-1B.
We can also see that the every loop can reach any other loops via only one shared disk
in Fig. 3-1B.
52
Although this may need slightly more shared disks to connect different loops, it is
clear that the shared disks involved as the routing path between loops should be the
fewest, i.e., one shared disk. Thus, in order to configure a multiple-loop architecture
effectively, this organization is preferable in terms of the routing efficiency since there
will be more routing delays and jitters when more shared disks are involved in the path,
which is not suitable especially for HD-quality multimedia content delivery.
Therefore, with applying this multiple-loop organization, we can construct the
following formula in order to obtain the number of attachable devices with respect to the
given loop number:
(number ofattachable devices) = 127 × n −
n
2
(3–1)
where n is the number of loops.
Now, we can organize the multiple-loop architecture by using the shared disks for
the community network infrastructure. With the proposed multiple-loop architectures, we
can deliver the HD-quality content sharing and distribution among community members,
i.e., PVRs, without limiting the number of community members [14].
3.4 Extending Content Storage Hours
We have proposed a novel TV content distribution architecture for community
networks by configuring the multiple loops and network disks. In order to further utilize
the given system storage capacity, we investigate how to extend TV content storage
hours in a community network. The basic idea is to increase the storage efficiency of a
community network by decreasing duplicated program storage on PVRs and network
disks. We first describe design issues to increase the storage efficiency in a community
network. We then evaluate the impact of duplicated storage of programs and present
the efficient replacement schemes for both PVRs and network disks to extend program
storage hours significantly.
53
3.4.1 Design Issues for Storage Efficiency
In our proposed architecture, the total storage capacity of a community network
depends on the numbers of PVRs and network disks. As the size of a community
network grows, more PVRs can be attached to that community network. Accordingly,
the number of PVRs that store each program also increases. Moreover, in such a
closed system, the number of PVRs storing popular programs will go up rapidly.
Consequently, due to the duplicated storage of programs, the community network
wastes storage capacity that could otherwise be used to store additional programs. Also,
PVRs in a community network have the characteristic of being transient like the peers
in the peer-to-peer (P2P) networks. That is, even though PVRs may be active at any
moment, they can leave the community network at any time. In order to increase storage
efficiency in a community network, we therefore need to address such design issues in
the joint consideration of access skew among programs (because of the differences in
popularity) and the limited availability of live PVRs.
3.4.2 Impact of Duplicated Storage of Programs
It is known that the degree of access skew for popular programs usually follows the
Zipf distribution [1, 42]. Thus, the probability that each PVR records the i th most popular
program among the $n$ programs can be computed as follows:
P i ,αpop =
1/i 1−α
n∑k=1
1/k1−α
(3–2)
where α represents the access skewness degree (i.e., as α increases, the skewness
degree decreases).
To show the impact of storage duplication of programs, Fig. 3-2 illustrates an
example where there are 50 TV channels, i.e., 50 different programs are always being
broadcast. In addition, we set the α to 0.271, which is a typical parameter for popularity
distribution of video rentals.
54
Figure 3-2. Probability of storing each program according to its popularity
We can see from Fig. 3-2 that the first ranked (the most popular) program needs
be stored in 13.3% of all PVRs, while the 50th ranked program needs to be stored in
about 1% of PVRs. In other words, if we deploy 1,000 PVRs, 133 copies of the first
ranked program will be recorded and only 10 copies of the 50th ranked program will
be recorded. This indicates that, if there are too many duplicated copies of popular
programs among PVRs, the community network will waste storage space significantly.
In addition, the conventional file server systems based on SCSI do not share
the interface bandwidth among connected disks since all disks are fully controlled
by the servers [78]. The SCSI-based disks are passive in nature, and only a server
can access them by the SCSI commands. Moreover, the servers are less successful
in getting the program contents from the clients promptly and adaptively compared
to the P2P approach. However, the FC-AL with PVRs enables the system to share
the disk bandwidth. They also have more advantages such as peer-matching and
peer-switching [39], which allow the system to piggy-back on the existing streams.
55
Table 3-1. PVRs’ Contributable Storage in the PVR-based FC-AL system
Sharing Storage Portion of each PVR Program Numbers to Store Additionally
10% 182
20% 364
30% 547
40% 729
50% 912
60% 1094
70% 1276
80% 1459
90% 1641
100% 1824
Furthermore, content-sharing among the local disks in PVRs allows the system to be
more flexible compared to the server-only system for using the whole system storage.
Thus, the PVR-based FC-AL architecture in general does not require as many copies
of the programs as the conventional SCSI-based servers/systems. Table 3-1 explains
that PVRs’ contributable storage space in terms of the number of programs in the
PVR-based FC-AL architecture when assuming half of PVRs are deployed, that half
of them are alive, and each PVR provides the indicated sharing portion to the system,
which is comparable to the passive SCSI-based system. Ideally, PVR-based FC-AL
systems can reduce the required number of copies of programs significantly and
effectively.
In our architecture, a PVR can receive any program stored on other PVRs or
network disks. When a PVR requests a program that more than one alive PVR or the
network disks are storing, it can receive the program from one of the alive PVRs or
network disks via P2P streaming within the community network. Thus, as long as we
can guarantee that sufficient copies of each program are available at any given time, we
56
may remove redundant copies, thereby saving the storage space for additional programs
that can be added later.
3.4.3 Storage Saving Schemes
First, we explain the behavior characteristics of a PVR. That is, each PVR is
only operated by its owner’s orders such as watch, store, or remove. Furthermore,
we assume the PVRs in the system can support the feature of auto-record, which
service has been adopted in TiVo [5]. In our system, the PVRs’ auto-record can work
automatically for time-shifting services, once the storage is set by its user. For example,
if a PVR has 500GB storage and its user sets 10% of storage for auto-record, then
50GB is assigned for storing time-shifting programs. Specifically, once a PVR watches a
program, the program is automatically stored in the auto-record storage of the PVR.
Our scheme has been devised based on these facts. That is, our scheme proposes
to store only a sufficient number of the programs, initially broadcast with a given
existence probability. In other words, if we define a threshold value for a program
existence, we can determine how many PVRs should be alive at least, in order to obtain
the required number of copies for that program with respect to that threshold value.
Given those alive PVRs having the target program, we can determine the minimum copy
numbers of the program as follows:
1 − (1 − Palive)m ≥ threshold
m ≥ log(1−Palive )(1 − threshold)(3–3)
where m is the minimum required number of copies for a program and Palive is the
probability of each PVR’s being alive.
For example, if the existence threshold value is given as 0.9 and the Palive is 0.5,
then we can get the minimum copy number for PVRs, m, as 4 from Eq. 3–3. That is, if 4
alive PVRs each have the target program, our system determines that that program can
be regarded as minimal-copy with respect to the given threshold value and Palive .
57
In addition, our system provides the network disks as the backup storage for the
programs. In order to avoid over-duplicated copies of programs, we can see that it is
sufficient to store a program either as 1-copy at the network disks or m-copy among
the alive PVRs. Therefore, our proposed scheme is fundamentally trying to maintain
minimal-copy of each requested program between alive PVRs and network disks. That
is, in order to save the system storage consisting of network disks and PVR storage,
if the network disks have the target program, then not all PVRs need to store the
corresponding program. On the other hand, if there exist m-copies of the target program
among alive PVRs, then the network disks do not need to store the corresponding
program, either.
Table 3-2. Symbols for replacement algorithms
SYMBOL DEFINITION
pi A program with index i
SiA set of programs stored in a PVR with indexi
SND A set of programs stored in network disks
mThe minimum required copy number to storea program onto alive PVRs with respect tothe given threshold
NiThe number of copies of the program withindex i among alive PVRs
NNDi
The number of copies of the program withindex i among the network disks
Table 3-2 shows the symbols used in our storage saving schemes such as
program placement and replacement algorithms. The program placement algorithm
in Algorithm 3-1 tries to hold at least the sufficient number of programs on behalf of
the whole system. If the PVRs try to store mth copies of a program when the network
disks currently hold that program, the system allows the PVRs to store mth copy but it
58
Algorithm 3-1 Program placement algorithm (input: new program)
1: if ((Ni == m)&&(NNDi == 0)) then
2: Do not store that program to any storage;
3: else if ((Ni < m)&&(NNDi == 0))) then
4: Store that program both PVR and network disk;
5: else if ((Ni == (m − 1))&&(NNDi == 1))) then
6: Store that program to PVR;
7: Remove that program from network disk;
8: else if (Ni == (m − 1)) then
9: Store that program to PVR;
10: else
11: not reachable;
12: end if
13: return
removes the program from the network disks, so that the system can free up the space
for the other program’s placement.
3.4.4 Replacement Schemes
Since every PVR is under each user’s control, it can be difficult to predict what
programs each PVR will record. As mentioned above, due to the skewed demand for
access to the popular programs, there must be storage duplication of the programs
among PVRs. Moreover, PVRs have dynamic behavior characteristics like the ability to
freely leave or join a community network as a peer in P2P networks. In order to avoid
storing redundant copies of each program among many PVRs, we also devise efficient
replacement schemes, which cooperate with the PVRs and the network disks.
The design goal is therefore to maintain at least sufficient copies of each program
on the alive PVRs or the network disks for later access, while also reducing the
excessive redundant copies. We therefore propose replacement schemes for both
59
PVRs and network disks to increase storage efficiency of the community network by
choosing the most appropriate program.
Algorithm 3-2 Replacement algorithm for PVRs (input: new program)
1: if (Si ∩ SND 6= φ) then
2: Find a set of programs belonging to Si ∩ SND ;
3: Choose the oldest program among them;
4: else if ({pi |pi ∈ Si ∩ Ni > 1} 6= φ)) then
5: Find a set of programs belonging to {pi |pi ∈ Si ∩ Ni > 1};
6: Choose the program that has the largest Ni among them;
7: else
8: //there exist only programs that have one copy in the community network
9: Choose the oldest program among them;
10: Move it to network disks;
11: end if
12: Replace the chosen program with new program;
13: return
The replacement algorithm for PVRs determines what program a PVR should
replace with a new incoming program as shown in Algorithm 3-2. The algorithm first
checks whether or not there exist any programs that are also stored on network disks:
i.e., if Si ∩ SND 6= φ. As long as network disks store the programs, PVRs may not need
to store them any longer because the network disks are always available, providing
sufficient disk bandwidth. If so, we choose the oldest program among them, i.e., the
program that had been stored earliest, because the oldest one is less likely to be
accessed in the future. The system will send an automatic message to recommend the
PVR owner remove the program copy with the assurance that the copies on the network
disks will remain available. If there is no program satisfying the above condition, we
check whether there exist any programs that are also stored in other alive PVRs: i.e., if
{pi |pi ∈ Si ∩ Ni > 1} 6= φ. If found, we choose the program that has the most number
60
of copies among a set of the programs satisfying the condition so that this program is
likely to have the most number of redundant copies. Finally, if there are programs that
have the last copy in a community network, we also choose the oldest one among them
but move it to the network disks. The reason for doing this is that we need to maintain
at least one copy of each program within a community network before removing all the
other copies of the program.
Algorithm 3-3 Replacement algorithm for network disks (input: new program)
1: if ({pi |Ni > 0} 6= φ) then
2: Find a set of programs belonging to {pi |Ni > 0};
3: Choose the program that has the largest Ni among them;
4: else
5: //there exist only programs that have one copy in the community network
6: Choose the oldest program among them;
7: end if
8: Replace the chosen program with new program;
9: return
The replacement algorithm for the network disks also addresses which program a
pool of network disks should replace with an incoming program, shown in Algorithm 3-3.
We first check whether there exist any programs that are stored in any alive PVRs: i.e.,
if {pi |Ni > 0} 6= φ. If so, we choose the program that has the most number of copies in
Algorithm 3-2. If not found, it indicates that all the programs stored in network disks have
only one copy within a community network. Thus, we choose the oldest program among
them and replace it with the incoming program.
3.5 Experimental Evaluation
To validate the effectiveness of our proposed architecture and algorithms in terms
of storage efficiency, we have performed extensive simulations while varying several
system parameters, such as the number of PVRs, storage capacity, and the portion of
storage assigned for time shifting.
61
3.5.1 Effectiveness of Proposed Schemes in a Single Loop
The default values of these parameters are shown in Table 3-3. They are used
throughout our simulations unless otherwise indicated. It is assumed that each TV
program has HD quality of 19.4Mbps playback rate. The degree of access skewness
among TV programs follows the Zipf distribution with α = 0.271, which is typically used
for video rental distribution [17, 79].
Table 3-3. Simulation parameters
CATEGORY PARAMETER VALUE
FC-AL
data transfer rate 400 MB/s
propagation delay 3.5 ns/meter
per node delay 240 ns
Disk
capacity 500 GB
cache 32 MB
data transfer rate 29 ∼ 65 MB/s
seek time 4.7 ms
rotational latency 3.0 ms
Storage saving scheme
probability of each PVR being alive 70%
threshold 0.9
storage portion for time-shifting 30%
Zipf distribution (α value) 0.271
Multiple-loopshared disk interface configuration dual-loop interface
number of network disks 10% of all devices
Our proposed storage-saving schemes are first evaluated in the single-loop
architecture with various parameter settings such as the ratio of PVRs and network
disks, Palive values and threshold values. Fig. 3-3A shows the improved storage hours
according to the different number of network disks deployed in terms of percentage with
our proposed schemes. We can see that the improvement reaches almost 133% better
with seven network disks, (i.e., 119 PVRs). The improvements tend to decrease with
62
an increase in the number of network disks. This is because the number of PVRs is
decreasing when adding more network disks. Thus, we can confirm that our schemes
work better when more PVRs are deployed (i.e., the trend). In addition, Fig. 3-3B
shows the effect of the ratio of PVRs to network disks. When the ratio is increasing, the
improvement tends to get better up to 16%, which implies that the improvement cannot
reach higher without adding many network disks.
Lastly, Fig. 3-4A demonstrates how the various Palive can affect the system
performance. As we expected, the larger the value of Palive , the better system performance.
That is, the performance is improved when a large value of Palive is set by the users. This
means that when the probability that each PVR can be alive is high, the system shows
better performance. Fig. 3-4B illustrates the effects of various threshold values. As the
value gets larger, the system performance is decreased. This is because the system
needs more PVRs in order to meet the given threshold values. Thus, the larger thresh-
old shows the smaller number of storage hours in terms of the system performance.
3.5.2 Effectiveness of Proposed Schemes in Multiple Loops
In addition, we employ dual-loop interfaced shared disks between two distinct loops
in order to organize the multiple loop architectures. We configure multiple loops so that
each loop can reach any other loop with only one hop. This means that any PVR can
access any other PVR or network disks in the other loops via only one shared disk.
Table 3-4 shows how many PVRs and network disks there are in a community
network depending on the number of loops. Though we are still searching for the optimal
ratio, we have chosen to assign 10% of all possible attached devices to network disks in
this chapter. It can be seen that, when employing ten loops, our architecture can support
more than 1100 devices in a community network. The simulation results demonstrate
that our proposed architecture significantly increases program storage hours by reducing
the duplicated storage of popular programs in a community network. The following
63
A Improved storage hours
B Effects of PVR to NDisk ratio
Figure 3-3. Effects of PVRs and network disks
64
A Effects of Palive
B Effects of threshold
Figure 3-4. Effects of Palive and threshold
65
Table 3-4. The ratio of pvrs and network disks in a community network
NUMBER OF LOOPS NUMBER OF PVRS NUMBER OF NETWORK DISKS
1 115 12
2 228 25
3 341 37
4 452 50
5 563 62
6 673 74
7 782 86
8 890 98
9 997 110
10 1103 122
subsections describe the achieved efficiency of the system performance based on
various system aspects.
Figure 3-5. Effectiveness of our proposed architecture
66
3.5.3 Effectiveness of Our Proposed Architecture
While varying the number of PVRs, we compare program storage hours, which
is the main performance metric in our architecture. The direct comparison is between
our replacement scheme when on (called scheme on case) and off (called scheme
off case). With scheme off case as the baseline system, the system stores at least
one copy of each program on network disks irrespective of the number of copies of the
program on PVRs, so that PVRs can always access the programs even if they are not
stored on their local hard disks.
Fig. 3-5 shows that scheme on case outperforms scheme off case by an average
of 69.7%. This is because the scheme on case can reduce the duplicated storage of
programs effectively, considering the characteristics of TV recording pattern, i.e., access
skewness to popular TV programs. As the number of PVRs increases, the number of
copies of each program also increases. This implies that, as more PVRs are involved,
our scheme can be further improved by reducing the number of redundant copies
of each program. This also enables network disks to save storage space that would
otherwise store excessive copies of popular programs. Note that the number of PVRs in
Fig. 3-5 is proportional to the number of loops, as listed in Table 3-4.
3.5.4 Impact of PVRs’ Storage Portion for Time-Shifting
We then examine the impact of PVRs’ storage portion assigned for time-shifting
on the performance. As expected, Fig. 3-6 shows that, as a higher storage portion is
assigned for time shifting, performance improvement also increases. For example, let
us consider the case where we employ 900 PVRs in a community network. Compared
to when only 10% of PVRs’ storage is reserved for time-shifting, the program storage
hours become 17.1%, 32.9%, 44.7%, and 56.1% longer when 20%, 30%, 40%, and
50% are reserved, respectively. There are likely to be more duplicated programs as we
have more storage space for time-shifting.
67
Figure 3-6. Impact of PVRs’ storage portion for time-shifting
It is also interesting that the degree of improvement percentage decreases as
the portions increase. For example, when employing 900 PVRs, extended hours
between each of two consecutive portions from 10 to 50% are 24, 21, 18, and 16 hours,
respectively. Thus, it can be seen that, as more programs are accommodated, our
architecture continues to improve the performance but the improvement percentage
decreases.
3.5.5 Impact of Storage Capacity
In this section, we investigate the impact of disk storage capacity of each PVR
on storage hours. We employed three different disk capacities of 100GB, 300GB, and
500GB for scheme on and off cases, respectively. Fig. 3-7 shows that scheme on case
on average achieved the performance improvement by 56.3%, 65.3%, and 69.7% for
100GB, 300GB, and 500GB, respectively, compared to the scheme off case. That is, as
the storage capacity of each PVR increases, the program storage hours get longer. This
is because PVRs’ storage portion for time shifting increases with the increased storage
68
Figure 3-7. Impact of storage capacity
capacity as their storage capacity is larger. It can be also seen that the performance
at 300GB in the scheme on case can work similarly as 500GB in the scheme off case.
This implies that our proposed architecture can achieve acceptable performance even
with relatively little storage capacity.
3.6 Summary
Community networks can serve to share HD-quality contents among the community
members. To provide an infrastructure of community networks, we propose the
multiple-loop FC-AL-based community network architecture with shared disks, which
can overcome the limitations of single-loop-based architecture without expensive FC-AL
switches.
Based on the multiple-loop-enabled community network infrastructures, we have
proposed storage saving schemes for both PVRs and network disks. The goal of
storage saving schemes is to reduce the number of duplicated copies of popular
programs to extend program storage hours of TV programs. The extensive simulations
69
show that our proposed architecture can extend the program storage hours significantly.
Since communities will require more storage capacity in the future with increased
content quality, our proposed architecture is expected to be widely applied to large-scale
community networks.
70
CHAPTER 4AN MST-BASED NETWORK ARCHITECTURE FOR SHARING BROADCAST TV
PROGRAMS
4.1 Motivation
The suggested multiple-loop architectures using the shared disks in the previous
chapters are based on the complete graph (CG) topology for less total traffic. We
determined how the complete graph topology could minimize the total traffic and would
be suitable for the multiple-loop architectures with shared disks. Nevertheless, it has
a critical limitation in terms of topology organization. In other words, the CG topology
requires many connect-disks, i.e., shared disks, just for the topology connectivity.
Namely, if there are n loops in the architecture, the system demands at least nC2 shared
disks merely for the system organization, thereby making it less likely to be able to
construct a real network architecture, especially if the number of loops is increasing.
Additionally, in multiple-loop organization, the initial shape of a loop should be
changed in order to place a shared disk between loops, which results in an increase
in the loop size as shared disks are added. For example, in order to connect two loops
that are physically somewhat apart, it is clear that the insertion of the shared disk
requires the modification of those two loops. As a result, the size of each loop increases
when a shared disk is located between any two loops. It is well known that, to provide
better performance, the size of an FC-AL loop is significant in order to be suitable
for high-quality content delivery in realtime [60]. This indicates that the average loop
size should be larger when each loop has more neighbor loops connected by shared
disks and would deliver worse performance due to increased propagation delays and
arbitration times.
Therefore, in this chapter, we first introduce a novel multiple-loop architecture using
a minimum spanning tree (MST) based topology with less connectivity and less average
loop size. In fact, the CG topology is an extreme case, having the most number of
connectivities by 1-hop reachability and thus the least total traffic with distributed traffic
71
load, while the MST-based topology is an example of another extreme case, having the
least number of connectivities and thus concentrating traffic load on the shared disks
that are selected for the MST topology.
We then describe how we can organize the MST-based topology, so that average
loop size in the topology can be minimized and every loop can reach any other loops
within a 2-hop or 3-hop, which affects the topology-caused total traffic since the loaded
traffic is additive when more hops are involved in routing. Nonetheless, once the
topology is determined, the MST-based topology only permits a fixed routing path, which
still causes a traffic load concentration on the fixed routing path.
Consequently, we propose an innovative MST-based graph topology, named MSG
topology, which is based on the 2-hop and 3-hop MST topology, but allows multiple
paths and graph organizations, using enabling traffic load distribution via a less-loaded
path among those possible paths. We describe how the MSG topology is achieved and
compare the MSG topology with the MST topology and the CG topology. Our simulation
results, then, reveal that the MSG topology multiple-loop architecture can provide a very
close average loop size compared to MST topology cases with remaining constant and
close enough in terms of total traffic and average reject ratio compared to the CG cases
even with much less topology connectivity.
The remainder of this chapter is organized as follows: Section 4.2 describes
previous work related to this chapter. Section 4.3 explains the overall architecture for
the FC-AL multiple-loop architecture with shared disks. Section 4.4.1 specifies the
motivation by which the MSG-based topology is devised. Section 4.5 presents the
detailed algorithms on how to organize 2-hop/3-hop MSTs and MSGs, respectively.
Section 4.6 illustrates extensive simulation results with CGs, MSTs, and MSGs. Finally,
Section 4.7 offers conclusions.
72
4.2 Related Work
The functionalities and the effects of PVRs have been introduced in [45, 52].
Moreover, the capabilities of TV content-sharing between PVRs have been examined in
[35, 49].
Meanwhile, the fiber channel has been presented as one of standards to configure
the storage area networks [34] and the performance and characteristics of FC-AL
have been analyzed in [19, 37, 60]. Additionally, S. Chen et al. have investigated the
multimedia server organization based on FC-AL by several advantages such as a direct
attachment to the storages and the desirable performance at a low cost [12, 13].
Integrating all those components including PVRs and the FC-AL, the feasibility of
a multimedia content-sharing architecture has been proposed in [14, 38]. However, E.
Kim et al. have not considered the scalability issues to construct the FC-AL-based PVR
network architecture [38] and the complete graph topology has been mainly discussed in
designing a scalable multiple-loop architecture [14].
4.3 TV Content-Sharing Architecture
In this section, we introduce a novel TV content distribution architecture that
supports sufficient storage bandwidth, massive storage capacity, and each user’s
capability/willingness to contribute their resources to the network. We first explain
the FC-AL single-loop architecture, then we describe the suggested multiple-loop
architecture using shared disks as the PVR network infrastructure [14].
4.3.1 Multiple Loop Architecture
We have developed a scalable multiple-loop network architecture that has no
limitation on the number of attached devices as long as the FC-AL loops can be
technically configured in the multiple-loop architecture [14]. When extending the
single-loop system to the multiple-loop system, however, we need to devise a bridging
mechanism to relay the requested program between loops. We thus adopt shared disks
that connect two distinct loops and relay requested programs from one loop to the other.
73
TV Broadcasting Server
Service Provider
Service Provider
Small PVR Network
Large PVR Network
SDisk
Internet
PVR Home
A TV broadcasting to PVR networks
B The structure of an FC-AL single loop C Sample three-loop architecture with shared disks
Figure 4-1. Overall TV content distribution architecture
74
Since the FC standard allows multiple interface devices for such reasons as durability
[34], we can implement the shared disks without modifying FC protocols.
Shared disks are essential components in the multiple-loop architecture because
they are responsible for relaying programs between loops. We adopt dual-interfaced
hard disks as shared disks and connect each interface to different loops in order to
organize the multiple-loop architecture. Note that the number of shared disks between
a specific pair of loops depends on estimated network traffic. For instance, although the
number of shared disks between any loop in Fig. 4-1C is one, it can be greater than one
if ongoing traffic is more than can be covered by a single shared disk as shown in Fig.
4-2.
To make it feasible to relay programs between a pair of system components without
involving servers, we adopt FC disks that provide a direct data transfer function among
them such as extended copy (X-copy or E-copy) and disk-to-disk (D2D) transfer. With
this function, a server only designates involved disks for their roles, i.e., one for source
and the other for destination. In fact, this function has already been developed by
several companies for serverless data backup technologies using FC disks with limited
processing capabilities [8]. In our architecture, each loop has a DS that maintains a list
of TV programs stored in all components. The DS is responsible for triggering X-copy
module embedded in each shared disk as an initiator when performing the direct data
transfer. This function can reduce a data-relaying latency and avoid the situation where
servers become a performance bottleneck when they must relay all the data among
loops through their main memory.
The program relaying process in our system is performed in two phases: location
and routing determination using FC-AL protocol and actual block read/write between
two devices using FC protocol. In the first phase, the PVR first asks a DS where the
requested program is located and then the DS informs the PVR of the entire routing path
75
DS0 DS1 DS2
Sdisk(b) Sdisk(c)
NdisksNdisks
PVR(a) PVR(d)
Ndisks
SdisksSdisks
PVRs PVRs PVRs
Loop 0
Loop 1
Loop 2
Figure 4-2. How to relay a TV program using shared disks in a triple-loop
from target PVR from which it the PVR can receive the program. In the second phase,
the actual data block transfer from the target PVR via shared disks is performed.
Fig. 4-2 illustrates how a program can be transferred from a requesting PVR to a
target PVR via shared disks in a triple loop using FC-AL and FC protocols. Basically,
each DS provides necessary information to a requesting PVR and also works as an
initiator to trigger the X-copy function between any pair of two devices. In the first phase,
when PVR(a) has a request for a TV program, it asks DS0 which device it can be served
from (¬). The DS0 then finds out from its maintained information that it is located in
PVR(d) and determines a routing path, including proper loops, i.e., loop-1 () and loop-2
(®) in this scenario. Once the routing path including multiple loops is determined (¯),
the DS0 informs PVR(a) of a relaying device, Sdisk(b). By repeating this procedure
until reaching the target PVR, PVR(a) obtains a connection path to PVR(d) through
shared disks, i.e., Sdisk(b) and Sdisk(c). In order to establish an actual connection to the
target PVR, PVR(a) sends ARB(a) to loop-0 for an arbitration and then sends OPN(b)
to Sdisk(b) to open a connection to Sdisk(b) after winning the arbitration. Sdisk(b) then
sends R RDY back to PVR(a) to settle a communication with PVR(a) (°). At the same
time, DS1 issues a direct data transfer command to Sdisk(b) so that Sdisk(b) should
76
setup a communication with Sdisk(c) in the loop-1. Similar to °, ARB(b), OPN(c) and
R RDY is also sent in the loop-1 for the communication between Sdisk(b) and Sdisk(c)
(±). In the loop-2, DS2 coordinates the communication between Sdisk(c) and PVR(d) as
an initiator with the same commands as ones used in previous loops (²).
After all routing connections are established from PVR(a) to PVR(d) via Sdisk(b)
and Sdisk(c), in the second phase, data blocks are transmitted along with the determined
path. DS2 issues an X-copy command to PVR(d) so that PVR(d) should write the
requested program onto Sdisk(c). PVR(d) thus sends FCP CMND IU to Sdisk(c) as
a write operation. Sdisk(c) then sends FCP XFER RDY IU to PVR(d) to receive data
blocks and PVR(d) sends FCP DATA IU back to Sdisk(c) to transmit an additional
data block. This pair of FCP XFER RDY IU and FCP DATA IU between Sdisk(c) and
PVR(d) continues to be transferred within a specific period of time, i.e., cycle time,
until all the block-writing to Sdisk(c) is finished (³). In fact, each DS coordinates the
block transmissions so that each relaying shared disk can continuously transfer the
incoming data blocks to the next device with only storing them into its buffer temporarily,
not storing them onto its hard disk. Similar to ³, the data block transmission between
Sdisk(c) and Sdisk(b) (´) and between Sdisk(b) and PVR(a) (µ) is performed with
the same commands such as FCP CMND IU, FCP XFER RDY IU, and FCP DATA IU,
by the coordination of each loop’s DS, i.e., DS1 and DS0, respectively. Note that, if a
requesting PVR can receive the requested program from a target PVR in the same loop,
other DSs and shared disks do not need to be involved.
Based on the program relaying mechanism via shared disks, Fig. 4-1C illustrates
the fundamental architecture configuration with three loops and shared disks. Specifically,
every loop is directly connected by all the other loops via a shared disk per loop.
For example, loop-0 is directly linked to loop-1 and loop-2 by each shared disk. This
organization allows every loop to reach all the other loops with only one hop, i.e., one
77
shared disk. In other words, the multiple-loop architecture organized by the CG topology
connects all loops by providing 1-hop reachability between any two loops.
Thus, we can make one important observation: the CG topology requires at least
as many shared disks as the directly connected loop number only for the purpose of
maintaining topology connectivity. We therefore analyze this problematic topology
connectivity issue and propose a novel multiple-loop topology in Section 4.4, in order to
organize an efficient multiple-loop architecture.
4.4 Enhanced Multiple-loop Network Architecture
4.4.1 Overview
The CG topology multiple-loop architecture is likely to be impractical when we
organize a real network infrastructure since every loop needs to be attached by all
the other loops for 1-hop connectivity. Additionally, this would be extremely expensive
because all loops are connected by a physical fiber channel without considering how
far they are actually apart. Therefore, we need to develop a tree-based multiple-loop
architecture for high-quality content sharing among PVR users by facilitating all the
pairwise reachabilities.
When placing a shared disk between two loops, we can regard the modified shape
of each loop, as in Fig. 4-3A, without loss of generality, while maintaining each loop
structure in order to organize the multiple-loop architecture. Specifically, if two loops
are d kilometers apart, we then put a shared disk in the middle of the distance, i.e.,
d/2 kilometers, by attaching each loop to its shared disk. Fig. 4-3A illustrates how, as
a basic case, each loop can be modified when a shared disk is inserted between two
different loops. The key observation here is that each loop size should increase in order
to reach a contact point, i.e., the shared disk between two loops. In addition, Fig. 4-3B
shows how we organize a CG topology with four loops, demonstrating how each shared
disk can be directly connected in order to maintain each loop structure. In fact, we can
link the inserted shared disk to any device on the loop as long as the extended loop size
78
A 2-loop generic for multiple loops B 4-loop CG
C 4-loop MST D 4-loop MSG
Figure 4-3. Examples of CG, MST, and MSG architectures
can be reduced and the loop structure can be maintained. Nevertheless, the loop size
tends to increase whenever a shared disk is located between two different loops. This
means that the CG topology multiple-loop architecture would have the largest loop size
compared to any other topology architectures since it has the most connected loops, as
many as (n − 1) neighbors, where n is the number of deployed loops.
79
It is well known that the performance of the FC-AL decreases when the loop
size increases [60], although it is believed that the FC-AL can cover up to 10 km.
Furthermore, practical issues arise when a multiple-loop architecture is really applied as
a network infrastructure in real time. That is, it is also an important factor in how many
loops are necessary or how long the physical fiber channel has to be in terms of the
actual cost and the effectiveness of the system.
Moreover, when a shared disk is inserted in the middle of two loops, we can further
reduce the modified loop size if we choose the desirable, i.e., closest, loops where a
shared disk would be placed. When this approach is applied, the possible 4-loop MST
architecture is shown in Fig. 4-3C. Nonetheless, the MST architecture only allows one
fixed routing path between any pair of loops, thereby causing load-concentration on that
path.
Consequently, we introduce an innovative MSG topology multiple-loop architecture
in this chapter that provides acceptable performance in terms of average loop size
and average reject ratio while supporting multiple-path routing within 2-hop or 3-hop
reachability. An example of 4-loop MSG topology is shown in Fig. 4-3D, implying there
can be multiple paths between two loops for load distribution. For instance, loop-0 can
reach loop-2 via sdisk-a, loop-1, and sdisk-b or via sdisk-d, loop-3, and sdisk-c in Fig.
4-3D. We describe the MSG topology in greater detail in the next section and examine
its performance by various simulations in Section 4.6.
4.5 Problem Definition and Formulation
4.5.1 Problem Statement
As described in Section 4.4.1, the previous CG approach proposed in [14] has
not taken into account practical aspects of the problem, i.e., loop size, and has been
chosen as the best selection by comparing several possible network topologies. The
only factor considered in [14] is the total network traffic traversing network topologies
80
given same amount of data requests in a sense that the more total network traffic is, the
more shared disks are needed.
However, the total network traffic, which is proportional to the number of shared
disks, is not the only design factor we have to consider when designing network
topologies for high-quality content-sharing in a PVR-attached network. The principal
design factors that should be considered are: Network throughput, Hop number
between pairs of loops, Accept/reject ratio of requests, Number of users that can be
accommodated, Number of shared disks, Loop capacity, and Loop size. Network
throughput is a well-known performance metric to evaluate a certain network situation.
Hop number between pairs of loops should be bounded so we can guarantee that
a requested program can be accessible within some delay and without quality
degradation. The hardware attributes of FC shows that the quality of communication
between two devices in a FC gets poor drastically as the distance is getting farther.
Accept/reject ratio of requests and the number of accommodable users are major design
criteria before deploying network topologies. Loop size and the number of shared disks
reflect budget issues as well as feasibility of topologies. Loop capacity is one of inherent
limitations of FC loops according to FC capacities.
However, it is not true that each of these design factors is orthogonal to the other
factors. In general, network throughput can be approximated by total network trafficaverage hop number.
Thus, network throughput and hop number between pairs of loops are closely correlated
since network throughput decreases as average hop number of paths on that request
should traverse. Number of shared disks is also dependent on network throughput,
which means poor network throughput leads to a greater number of shared disks to
handle increased network traffic. When looking at the number of shared disks and
loop size, they also have on inversely proportional relationship. As shown in Fig. 4-1,
the loop size has an increasing tendency as the number of shared disks between
loops increases. In this chapter, we look for a solution in which loop size is minimized
81
while the accept/reject ratio falls into reasonable range. Due to the fact that loop size
is proportional to the distance between loops as described in Section 4.4.1, we can
translate the problem of minimizing loop size into the problem of minimizing total
inter-distance of loops connected by shared disks. The complications that the problem
has as objectives or as constraints deter us from deploying simple combinatorial
algorithms such as Kruskal’s Minimal Spanning Tree (MST) algorithm and so on.
Therefore, we formulate this design problem as an optimization problem with one of
two possible objective functions and several constraints. Our mathematical formulation
is motivated by the Diameter-constrained Minimum Spanning Tree Problem (DMST)
based on network flow models [25], which is mixed-integer linear programming (MILP).
Once a problem is formulated in a linear programming model, the linear programming
model allows us more flexibility compared to other simple combinatorial algorithms. In
the following subsections, we describe optimization criteria and associated constraining
conditions to solve our problem.
minimize∑
e∈E
cexe (4–1)
subject to∑
e∈E
xe = n − 1 (4–2)
∑
j∈V
y pqij −
∑
j∈V
y pqji =
1, i = p0, i 6= p, q, ∀i , p, q ∈ V−1, i = q
(4–3)
y pqij + y pq
ji ≤ xe , ∀(i , j) ∈ E ,∀p, q ∈ V (4–4)∑
(i ,j)∈E
(y pqij + y pq
ji ) ≤ D, ∀p, q ∈ V (4–5)
y pqij ∈ {0, 1}, ∀(i , j) ∈ E ,∀p, q ∈ V (4–6)
xe ∈ {0, 1}, ∀e ∈ E (4–7)where ce : Edge distance,
D : Maximum hop number
Figure 4-4. MST formulations
82
4.5.2 Minimum Spanning Tree
The DMST based on network flow models [25] imposes a bound on the diameter of
a tree, which is the maximum number of edges, i.e., the maximum hop number, in any
paths between any pairs of its nodes. When D ≥ 4 where a diameter is denoted by D,
the DMST problem is proved to be NP-Hard [25] whereas when D = 2 or 3, the problem
is solvable in polynomial time.
The DMST based on network flow models fits well into our problem since the
hop number for any path is constrained by a given constant, so subsequently we can
bound the total network traffic. As for the diameter constraint, we do not need D ≥ 4
because in that case, obtaining a target program from peers beyond 3 hops is highly
likely to be more costly than getting one from a local server from the perspective of
delay and network resource consumption. Thus, as a first try, we directly applied the
DMST based on network flow models with diameter 2 or 3 to our optimization problem.
In terms of time complexity, it does not take very long to solve the MILP formulation
when the number of loops does not exceed around 20 based on an assumption that an
adopted network has roughly 1,000 ∼ 2,000 subscribers. The notations and equations
are borrowed from [28] whenever possible.
The objective of this MILP formulation is to minimize total distance between loops
connected by shared disks in Eq. 4–1 when every node sends a unit amount of flow,
1, to all other nodes. The decision variable xe represents whether a certain edge is
included in a tree or not. Another decision variable y pqij denotes the amount of flow on
edge (i , j) between nodes p and q. The constant ce is an edge distance, determined
once the locations of loops are known in advance. The resulting graph is constrained
to be a tree by Eq. 4–2. The constraints 4–3 and 4–4 come from those of well-known
multi-commodity network flow problem, making every flow obey flow conservation and
link capacity limit rule. The Eq. 4–6 limits the hop number of all the paths by D, which a
node should traverse to reach the other nodes.
83
minimize∑
e∈E
cexe or∑
(i ,j)∈E
∑
p,q∈V
y pqij (4–8)
subject to
∑
j∈V
y pqij −
∑
j∈V
y pqji =
1, i = p0, i 6= p, q, ∀i , p, q ∈ V−1, i = q
(4–9)
(n − 1) ≤∑
e∈E
xe ≤ 2(n − 1) (4–10)∑
j∈V
y pqji ≤ L(n − 1), ∀i , p, q ∈ V (4–11)
y pqij + y pq
ji ≤ xe , ∀(i , j) ∈ E ,∀p, q ∈ V (4–12)∑
(i ,j)∈E
(y pqij + y pq
ji ) ≤ D, ∀p, q ∈ V (4–13)
y pqij ∈ {0, 1}, ∀(i , j) ∈ E ,∀p, q ∈ V (4–14)
xe ∈ {0, 1}, ∀e ∈ E (4–15)where ce : Edge distance,
D : Maximum hop number ,L : Maximum load rate per node
Figure 4-5. MSG formulations
4.5.3 Minimum Spanning Tree-based Graph
We have observed that the resulting DMSTs with diameter 2 or 3 hops have a
tendency that a few loops (nodes) are severely congested, i.e., not load balanced. That
also leads to a worse accept/reject ratio of requests. That is because among the design
factors described in Section 4.5.1, loop capacity is not reflected into constraints of the
MST formulation.
To overcome these drawbacks of the MST approach, we have adjusted previous
constraints such that traffic going through a loop is bounded and the resulting graph may
not necessarily be a tree.
As objective functions, we can take one of two possible functions as below
depending on which design factor has a priority. If the loop size is the top priority, setting
minimizing total distance to the objective function is reasonable. On the other hand, if
84
we more focus on the quality of network, the objective function should be minimizing
total network traffic because minimizing total network traffic has the same meaning as
enhancing accept/reject ratio of requests and the number of accommodable users.
Formally, the objective functions can be set as in Eq. 4–8. The constraint enforcing
the resultant graph to be a tree in the previous MILP formulation is removed in this
formulation. Instead, the constraint is loosened by setting the upper limit of the number
of edges to 2 × (n − 1) as in Eq. 4–10. Moreover, the load balancing constraint in
Eq. 4–11 is added.
The inequality of Eq. 4–11 can be understood intuitively as bounding the total
amount of flows in which a node is involved by L × (n − 1). If a certain node is not used
as a intermediate node where flows between other nodes traverse, the total amount of
flows in which a node is involved is (n − 1). If we set L to 2, it can be translated that one
node does not sacrifice its bandwidth for other nodes, more than for itself since here one
node represent a loop. It is a reasonable constraint that no participant does not want
to give its resource more than it needs. Hence, in this chapter, we conduct following
experiments when L is given as 2. The other constraints, Eq. 4–12 through Eq. 4–15,
are same as constraints in the MST formulation.
The reason load balancing among loops is possible is that our formulation is
based on multi-commodity network flow models. The DMST based on multi-commodity
network flow models assumes that each node generates the same amount of traffic to
the other nodes; this can be regarded as the most congested network status. For this
reason, the load constraints on each node can easily reflect the network situation where
requests are rejected due to a shortage of loop capacity.
In Section 4.6, we will see load balancing as an objective function results in the
best topology in terms of both loop size and reject ratio. Alternatively, to achieve
both objectives, minimizing loop size and load balancing, we can take either of
two approaches. One is to combine two objective functions additively with scaling
85
Given the number of loops ,
find the lower and upper bound
of load on each loop .
Compute the median value of
lbound and ubound.
Solve MILP with an objective of
minimizing total distance and the
load constraint of the median
value.
Feasible
solution found?
lbound = ubound ?
Set lbound to the
median value .
Set ubound to
the median value .
No
Yes
Exit:
Optimal solution
found.
YesNo
Set lbound and ubound to the
calculated lower and upper bound
values respectively .
Figure 4-6. Flowchart for load-balanced MSG
factors, which is called multivariate objective function. The other approach is to use
one objective function while searching the all solution space of the other objective
function. Suppose that we need a solution that satisfies the limit of loop size while
maximizing load balancing. We can get the solution by performing a binary search on L,
the maximum traffic limit variable, to minimize L as long as the solution is feasible, i.e.,
every loop size is less than or equal to the limit of loop size. The feasibility is verified
86
by computing the loop size of the solution, which is obtained by setting the objective
function and L to minimizing total distance and a binary search value, respectively, and
comparing the loop size with the loop size requirement. Note that a smaller L means
a more load balanced solution and too small a value of L may lead to an unfeasible
solution. This algorithm is shown as a flowchart in Fig. 4-6. In this algorithm, the
lower bound (lbound) of L is set to 1, whereas the upper bound (ubound) of L is set to
n × (n − 1) because each loop sends flow 1 to every other loops in DMST network flow
model, thus, total traffic in DMST network flow model cannot exceed n × (n − 1). It then
iterates a binary search until it reaches the minimum value of L. Therefore, the solution
is feasible as well as it is optimized for the most load balancing graph topology. The
step-by-step operations of the algorithm in Fig. 4-6 are given below:
• STEP 1: Set lbound and ubound to 1 and n, respectively.
• STEP 2: Check on the exit condition that lbound equals ubound. If true, exit withthe optimal solution.
• STEP 3: Try MILP with the median value of lbound and ubound.
• STEP 4: If a feasible solution is found, it means the optimal solution is in betweenlbound and the median value. If not found, it means the optimal solution is inbetween the median value and ubound.
• STEP 5: Update lbound or ubound, and jump back to STEP 2.
4.6 Performance Evaluations
In this section, through extensive simulations, we examine various types of
topology-based multiple-loop architectures, such as average loop size in order to
validate their performance total loaded traffic, and average reject ratio, while varying the
number of deployed loops.
In the simulations, when TV programs are broadcast, the programs are distributed
evenly among loops and the probability that each program is requested is uniform so
that the amount of data traffic between each pair of loops can be fairly compared. The
request rate of program playback follows a Poisson distribution and each PVR issues
87
Table 4-1. Simulation parameters
CATEGORY PARAMETER VALUE
FC-AL
data transfer rate 1 Gb/s
propagation delay 3.5 ns/meter
per node delay 240 ns
Disk
capacity 300 GB
cache 32 MB
data transfer rate 29 ∼ 65 MB/s
seek time 4.7 ms
rotational latency 3.0 ms
TV programs
HD-quality 19.4 Mbps
SD-quality 5 Mbps
length 60 minutes
requests for different programs every 60 minutes. It is also assumed that half of attached
devices are PVRs, and the rest are for network disks and shared disks in each loop. The
details of parameters used for disks, FC-AL, and TV programs are illustrated in Table
4-1.
Fig. 4-7 illustrates that average connection setup time in a double-loop architecture
as a basic case of multiple-loops, based on the description in Section 4.3.1. We have
evaluated the average setup time based on the double-loop configuration while adding
more PVRs, i.e., from 10 up to 70, in each loop. As shown in Fig. 4-7, the setup time
tends to increase with more PVRs. Nevertheless, we can see that this connection
setup time is reasonable since our system performs less than 16 msec with high-quality
multimedia data in the 70-PVR case, whereas [64] shows its setup time as around 6.2
msec using the FC-AL switch device with only 50% of possible generated traffic.
We have also evaluated the worst case of startup latency when three loops are
involved for relaying a program. The latency of our system is mainly caused by the first
phase of the relaying process since the startup latency is greatest when streaming
88
0 10 20 30 40 50 60 70 800
4
8
12
16
20
number of PVRs in a loop
aver
age
sert
up
tim
e (m
sec)
Figure 4-7. Impact on average setup time in a double-loop
a program between two PVRs. We have observed with parameter values in Table
4-1 that startup latency is around 29.17 msec in the worst case when all the devices
are participating in every loop arbitration, involved devices have lowest priorities, and
required data blocks must be read from disks. This is a reasonable delay considering
one cycle time is usually over 10 times longer than this delay.
Moreover, in order to evaluate average loop size, in a 30 km × 30 km area, we
randomly distribute a given number of loops as long as the CG configuration is achieved.
Once the CG topology is organized with the given number of loops, we then configure
both MST and MSG topologies from the deployed loops for the CG. We also validate the
proposed MSG algorithm described in Section 4.5.3 in terms of the effectiveness of the
the load-balancing among loops and shared disks.
4.6.1 Average Loop Size
Fig. 4-8 illustrates that, when loops are added, average loop size in the CG case
increases linearly, while the MST and MSG topology cases stay constant. Essentially,
the loop size is closely related to the average distance between two loops since the
89
5 6 7 8 9 10 11 12 13 14 15
4
5
6
7
8
9
number of loops
aver
age
loop
siz
e (k
m)
CGMST−2HMST−3HMSG−2HMSG−3H
Figure 4-8. Average loop size
shared disk is placed in the middle between those two loops. In other words, if the
distance between two loops becomes larger, the modified loop size with the shared
disk would become quite sizable. In addition, a large FC-AL is less desirable due to
performance degradation from the rapid increase of propagation delay [60]. Thus, we
can see that the MST topology performs best and the CG topology performs worst in
terms of average loop size. This is because CG requires every loop to be connected to
all other loops, whereas the MST topology only needs one or two connected loops via
shared disks, and the MSG topology shows 2 × (n − 1) connectivity on average by the
algorithm in Fig. 4-6.
4.6.2 Total Traffic and Average Reject Ratio
We also explore total traffic using different topologies supporting the whole
architecture, which is mainly affected by the routing, i.e., how best to reach the target
loop from the request loop. As shown in Fig. 4-9A, it is clear that the CG topology
presents the least total traffic in a given number of loops since it guarantees only 1-hop
routing between any pair of loops, requiring at least nC2 connect-disks for the 1-hop
90
5 6 7 8 9 10 11 12 13 14 150
100
200
300
400
500
600
700
800
900
1000
1100
number of loops
tota
l tra
ffic
(num
ber
of p
rogr
ams)
CGMST−2HMST−3HMSG−2HMSG−3H
A Total traffic
5 6 7 8 9 10 11 12 13 14 15
0
5
10
15
20
25
30
35
number of loops
aver
age
reje
ct r
atio
(%
)
CGMST−2HMST−3HMSG−2HMSG−3H
B Average reject ratio
Figure 4-9. Total traffic and average reject ratio
91
reachability, where n is the number of loops. Although the MST cases show the highest
total traffic, this requires the least number of connect-disks because of the increased
routing hops and the fixed routing path between the request loop and the target loop.
In Fig. 4-9B, MST shows the worst average reject ratio compared to CG and
MSG. CG has the best reject ratio, even less than 0.5%, since it guarantees the best
load distribution with its own dedicated routing path to all loops. Nevertheless, without
using the required hard-connected routing paths to every loop, MSG can perform with
less than a 5% reject ratio even in the worst case with fewer connect-disks than CG.
Surprisingly, due to more flexible routing paths than MST, the MSG also maintains a
constant reject ratio even when more loops are deployed.
Consequently, the MSG reveals the superiority reflected by the extreme CG and
MST topologies, in terms of average loop size, total traffic, and average reject ratio.
Since the MSG is derived from the MST, it also has a constant average loop size.
Moreover, since MSG further allows the graph characteristic, it can provide more
flexible routing paths supporting load distributions, which can affect the amount of total
traffic and the average reject ratio. Therefore, we can conclude that the MSG-based
multiple-loop architecture can distribute high-quality content-sharing effectively among
PVR users, delivering outstanding performance to the whole system at lower total cost.
4.7 Summary
As an economical and practical solution for multiple-loop architecture, the proposed
MSG topology demonstrates a constant average loop size, even as the number of
loops grows. This is similar to the MST case, without a loss of FC-AL performance from
the requirement for a long fiber channel. Furthermore, the MSG topology generated
a reasonable reject ratio, less than 5%, even in the worst case, while the reject ratio,
remarkably, is not affected by the number of attached loops, because MSG can
distribute the loaded traffic efficiently by choosing a less-loaded path among the
multiple candidate routing paths. The MSG thus showed an acceptable total traffic,
92
which is sufficiently close to the CG case, although much less than the MST case. Our
proposed MSG-based multiple-loop architecture is therefore expected to be a significant
and practical architecture solution capable of supporting many more PVRs with an
increased number of loops, thus allowing high-quality realtime content sharing and
efficient distribution.
93
CHAPTER 5CONCLUSIONS AND FUTURE WORK
This dissertation made some contributions for organizing a multimedia-enabled
network architecture where high-quality P2P content sharing is supported. In order to
configure an effective network architecture, we have introduced the FC-AL technology
as a high-speed and broadband network connection and the PVR as a multimedia
home device. Moreover, we have presented the shared disk in order to extend the
multiple-loop architecture for a scalable network architecture design.
In the first part of this dissertation, we have proposed a scalable multiple-loop
architecture using shared disks, which supports HD-quality content distribution efficiently
and effectively. In our proposed architectures, we have showed that the topology
design affects the total loaded traffic amount which influences the scalability in terms
of the total attachable device number, thereby giving us a way to determine which
architecture design is more desirable. In addition, we have realized that we have to
reduce the number of shared disks in order to obtain a better scalability which is also a
key factor to design the multiple-loop architectures. Basically, we have tried to reduce
the topology-caused total traffic by adopting the Complete Graph (CG) topology design
in order to use the fewest number of shared disks, which is the initial approach to
determine the desirable multiple-loop architecture.
In the second part, we have devised the storage saving scheme which tries to utilize
the whole system storage including both network disks and PVR storage. The storage
saving scheme operates based on the given threshold value which determine whether
or not a new incoming program can be stored either in the network disk or PVR so
that the system tries to reduce the redundancy of storing same program in the system.
Particularly, this scheme can work effectively when the size of scalable architecture
becomes large since it will be much likely to store duplicated programs redundantly due
to accommodating many more PVR users.
94
In the third part of this dissertation, we have suggested the practically constructible
multiple-loop network architecture since the initially suggested CG-based mutiple-loop
architecture requires at least nC2 shared disks for the purpose of topology connectivity,
although it has showed the minimum topology-caused traffic to the whole system, thus
providing the best scalability. Nevertheless, it has to be considered that the CG topology
may cause too many shared disks especially when adding more loops, i.e, the increase
of shared disks is proportional to n2, where n is the number of deployed loops.
Moreover, the inserted shared disks necessarily cause the modification of the
deployed loop shape, resulting in an increase in loop size. This implies that a longer
fiber channel is needed when extending into a multiple-loop network architecture using
shared disks. It is expected that the performance of the fiber channel-arbitration loop
(FC-AL) decreases when the loop size increases, although it is believed that the FC-AL
can cover up to 10 km.
In addition, the real cost is an important factor when constructing an actual network
infrastructure, i.e, how many shared disks are needed and how long the physical fiber
channel is required. In other words, the actual cost has to be taken into account as well
as the scalability.
Therefore, the practically constructible network architecture, named MSG
architecture, has been explored as the organization of a multiple-loop architecture,
which can make balance between the actual architecture cost and the system
performance. We has shown that the proposed architecture reveals its superiority by the
trade-off between the CG topology architecture and the MST topology architecture. In
fact, the MSG architecture exposes the constant average loop size similar to the MST
and the close total traffic in addition to acceptable reject ratio compared to the CG.
I believe that there are still more issues that we need to address to further improve
the performance of multimedia-enabled network architecture.
95
First of all, it is conceivable to apply a cache function in the system. Specifically,
we can develop the network disks as cache storage where a proper program can store
in advance and a program can hold longer than other programs based on the cache
strategy. Thus, the system can determine a program access pattern by which users
follow to watch a program. Similar to this, we have introduced the Zipf distribution for the
storage saving scheme in Chapter 3. However, we can further consider various access
patterns such as the Pareto distribution or a given user access profile. Moreover, we
can also think of the relationship between the number of network disks and the number
of PVR users. In order to achieve a target performance using the cache function on
the network disks, we can determine the number of network disks. That is, in a given
number of loops, we can accommodate much more PVR users while minimizing the
number of network disks.
In addition, the current realtime multimedia services can also apply to our system.
Particularly, the IPTV services are now spreading into many more homes, especially
integrated with high-speed Internet services and IP telephone services, known as
Triple-play services. This is possible because the fiber lines are deploying to support
various broadband network services. Nevertheless, the current IPTV services are mainly
considering the delivery of high-quality TV contents via the fiber lines. However, we
can further take into account that our system environment can be applicable in the
IPTV services so that every IPTV user can share their contents with others in the IPTV
network architecture. Furthermore, various IPTV services including bidirectional Internet
services while watching a TV program can be also applicable to our system. That is, the
integration of IPTV services and our system environment can be the basis of our future
work.
96
REFERENCES
[1] Adamic, L.A. and Huberman, B.A. “Zipfs law and the internet.” Glottometrics 3(2002): 143–150.
[2] Ahmed, T., Mehaoua, A., and Buridant, G. “Implementing MPEG-4 videoon-demand over IP differentiated services.” Proceedings of IEEE GLOBECOM.New York, 2001, 2489–2493.
[3] Androutsellis-Theotokis, S. and Spinellis, D. “A survey of peer-to-peer contentdistribution technologies.” ACM Computing Servey 36 (2004).4: 335–371.
[4] Barker, Richard and Massiglia, Paul. Storage Area Network Essentials: A CompleteGuide to Understanding and Implementing SANs. John Wiley & Sons, New York,2001.
[5] Barton, Zim. “TiVo-lution.” Queue 4 (2006).3: 28–35.
[6] Beck, M. and Moore, T. “The Internet2 distributed storage infrastructure project:An architecture for Internet content channels.” Computer Networking and ISDNSystems 30 (1998).22: 2141–2148.
[7] Benner, Alan F. Fibre Channel: gigabit communications and I/O for computernetworks. McGraw-Hill, Massachusetts, 1995.
[8] Bolosky, W.J., Douceur, J.R., Ely, D., and Theimer, M. “Feasibility of a serverlessdistributed file system deployed on an existing set of desktop PCs.” Proceedings ofthe ACM SIGMETRICS international conference on measurement and modeling ofcomputer system. Santa Clara, CA, 2000, 34–43.
[9] Cahill, A.J. and Sreenan, C.J. “VCDN: A content distribution network forhigh-quality video distribution.” Proceedings of Information Technology andTelecommunications Conference. Letterkenny, Ireland, 2003.
[10] Callaly, F. and Corcoran, P. “Architecture of a PVR Appliance with long-tailInternet-V capabilities.” IEEE Transactions on Consumer Electronics 52 (2006).2:454–459.
[11] Calvert, K.I., Doar, M.B., and Zegura, E.W. “Modeling Internet topology.” IEEECommunications Magazine 35 (1997).6: 160–163.
[12] Chen, S. and Thapar, M. “A fibre channel-based architecture for Internet multimediaserver clusters.” Proceedings of International Algorithms and Architectures forParallel. Taipei, Taiwan, 1997, 437–450.
[13] Chou, C., Golubchik, L., and Lui, J.C.S. “Design of scalable continuous mediaservers.” Multimedia Tools and Applications 17 (2002).2: 181–212.
97
[14] Chung, S., Kim, E., and Liu, J.C.L. “A scalable PVR-based content sharingarchitecture for community networks.” IEEE Transactions on Consumer Electronics54 (2008).3: 1192–1199.
[15] Clark, Tom. Designing storage area networks: a practical reference for implement-ing Fibre Channel SANs. Addison-Wesley, New Jersey, 1999.
[16] Cranor, C.D., Green, M., Kalmanek, C., Shur, D., Sibal, S., der Merwe, J.E. Van,and Sreenan, C.J. “Peer-to-Peer Based Multimedia Distribution Service.” IEEETransactions on Multimedia 6 (2004).2: 343– 355.
[17] Dan, A. and Sitaram, D. “Multimedia caching strategies for heterogeneousapplication and server environments.” Multimedia Tools and Applications 4 (1997):279–312.
[18] Du, D.H.C., Chang, T., Hsieh, J., Shim, S., and Wang, Y. “Two Emerging SerialStorage Interfaces for Supporting Digital Libraries: Serial Storage Architecture(SSA) and Fibre Channel-Arbitrated Loop (FC-AL).” Multimedia Tools and Applica-tion 10 (2000).2: 179–203.
[19] Du, D.H.C., Hsieh, J., Chang, T., Wang, Y., and Shim, S. “Interface comparisons:SSA versus FC-AL.” IEEE Concurrency 6 (1998).2: 55–70.
[20] Eleftheriadis, A. and Anastassiou, D. “Meeting arbitrary QoS constraints usingdynamic rate shaping of coded digital video.” Lecture Notes in Computer Science1018 (1995).1: 89–100.
[21] Farley, Marc. Storage Networking Fundamentals: An Introduction to StorageDevices, Subsystems, Applications, Management, and File Systems. Cisco Press.,Indiana, 2004.
[22] Fumagalli, A., Krishnamoorthy, P., and Cai, J. “The sub-channeled LightRing forbandwidth efficient storage area networks.” Proceedings of IEEE Global Telecom-munications Conference (GLOBECOM). Taipei city, Taiwan, 2002, 2832–2836.
[23] Gafsi, J. and Biersack, E.W. “Performance and reliability study for distributed videoservers: Mirroring or parity.” Proceedings of IEEE International Conference onMultimedia Computing and Systems. Florence, Italy, 1999, 628–634.
[24] Gall, D.L. “MPEG: a video compression standard for multimedia applications.”Communications of the ACM 34 (1991).1: 46–58.
[25] Garey, M. and Johnson, D. Computer and intractability: a guide to the theory ofNP-completeness. Freeman, San Francisco, 1979.
[26] Gemmell, D.J., Vin, H.M., Kandlur, D.D., and Rangan, P.V. “Multimedia storageservers: a tutorial.” IEEE Computer Magazine 28 (1992).5: 40–49.
98
[27] Goossens, K., Wielage, P., Peeters, A., and Meerbergen, J.V. “Networks on Silicon:Combining Best-Effort and Guaranteed Services.” Proceedings of the Conferenceon Design, Automation and Test in Europe. Paris, France, 2002, 423.
[28] Gouveia, L. and Magnanti, T.L. “Network flow models for designingdiameter-constranted minimum-spanning and steiner trees.” Networks 41 (2003).3:159–173.
[29] Guha, A. “The evolution to network storage architectures for multimediaapplications.” Proceedings of IEEE International Conference on MultimediaComputing and Systems. Florence, Italy, 1999, 68–73.
[30] Heath, J.R. and P.J.Yakutis. “High-speed storage area networks using a fibrechannel arbitrated loop interconnect.” IEEE Network 14 (2000).2: 51–56.
[31] Heffeeda, M., Habib, A., Botzv, B., Xu, U., and Bhargava, B. “PROMISE:peer-to-peer media streaming using CollectCast.” Proceedings of ACM Multi-media. Berkeley, CA, 2003, 45–54.
[32] Hemy, M., Hengartner, U., Steenkiste, P., and Gross, T. “MPEG system streams inbest-effort networks.” Proceedings of Packet Video Workshop. New York, 1999.
[33] Huang, M.L. and Nguyen, Q.V. “A fast algorithm for balanced graph clustering.” Pro-ceedings of International Conference Information Visualization. Zurich, Switzerland,2007, 46–52.
[34] ISO, IEC, JTC, and SC. ISO,IEC 14165-122:2005, Information technology - FibreChannel - Part 122: Arbitrated Loop-2, FC-AL-2. American National StandardsInstitute, DC, 2007.
[35] Jensen, Jens F. “Interactive television: new genres, new format, new content.”Proceedings of the 2nd Australasian conference on interactive entertainment.Sydney, Australia, 2005, 89–96.
[36] Jung, S., Kim, E., and Lee, D. “Design and Implementation of an EnhancedPersonal Video Recorder for DTV.” IEEE Transactions on Consumer Electronics 47(2001).4: 915–920.
[37] Kim, E. and Liu, J.C.L. “Performance of a scalable multimedia server withshared-storage clusters.” Multimedia Tools and Applications 18 (2002).1: 31–54.
[38] ———. “An integrated network/storage architecture for sharing high-qualitybroadcast TV contents.” IEEE Communications Magazine 43 (2005).9: 86–93.
[39] ———. “Design of HD-quality streaming networks for real-time content distribution.”IEEE Transactions on Consumer Electronics 52 (2006).2: 392–401.
[40] Kunii, T.L., Shinagawa, Y., Paul, R.M., Khan, M.F., and Khokhar, A.A. “Issues instorage and retrieval of multimedia data.” Multimedia Systems 3 (1995).5: 298–304.
99
[41] Legout, A., Liogkas, N., Kohler, E., and Zhang, L. “Clustering and sharingincentives in BitTorrent systems.” Proceedings of the ACM SIGMETRICS inter-national conference on Measurement and modeling of computer systems. SanDiego, CA, 2007, 301–312.
[42] Li, W. “Zipfs law everywhere.” Glottometrics 5 (2002): 14–21.
[43] Lim, S.Y., Choi, J.H., Seok, J.M., and Lee, H.K. “Advanced PVR architecture withsegment-based time-shift.” Proceedings of International Conference on ComsumerElectronics. Las Vegas, Nevada, 2007, 1–2.
[44] Long, James. Storage Networking Protocol Fundamentals. Cisco Press., Indiana,2006.
[45] Louise, B. and Barkhuus, L. “The television will be revolutionized: effects of PVRsand file sharing on television watching.” Proceedings of SIGCHI conference onHuman Factors in Computing Systems. Montreal, Canada, 2006, 663–666.
[46] Lv, J., Cheng, X., Jiang, Q., Ye, J., Zhang, T., Lin, S., and Wang, L. “LiveBT:providing video-on-demand streaming service over BitTorrent systems.” Proceed-ings of the eighth international conference on parallel and distributed computing,applications and technologies. Adelaide, Australia, 2007, 501–508.
[47] Ma, W. and Du, D.H.C. “Reducing bandwidth requirement for delivering videoover wide area networks with proxy server.” IEEE Transactions on Multimedia 4(2002).4: 539–550.
[48] Magoni, D. and Pansiot, J.J. “Analysis of the autonomous system network topology.”ACM SIGCOMM Computer Communication Review 31 (2001).3: 26–37.
[49] Marusic, B., Finkst, T., Jere, A., Meza, M., Dobravec, S., and Tasic, J. “Share it! -content transfer in home-to-home networks.” Proceedings of IEEE MediterraneanElectrotechnical Conference. Dubrovnik, Croatia, 2004, 669–672.
[50] Meshkova, E., Riihijarvi, J., Petrova, M., and Mahonen, P. “A survey on resourcediscovery mechanisms, peer-to-peer and service discovery frameworks.” ComputerNetworks: the international journal of computer and telecommunications networking52 (2008).11: 2097–2128.
[51] Nafaa, M. and Agoulmine, N. “Analysing Joost peer to peer IPTV protocol.”Proceedings of the 11th IFIP/IEEE international symposium on integrated networkmanagement. Long Island, NY, 2009, 291–294.
[52] Oliphant, A. and Scudamore, B. “TV gets Personal (Personal Video Recorders).”IEE Review 47 (2001).5: 9–13.
[53] Pallis, G. and Vakali, A. “Insight and perspectives for content delivery networks.”Communications of the ACM 49 (2006).1: 101–106.
100
[54] Park, H., Yang, J., Park, J., S.G. Kang, S.G., and Choi, J.K. “A survey onpeer-to-peer overlay network schemes.” Proceedings of the 10th internationalconference on advanced communication technology. Phoenix Park, Korea, 2008,986–988.
[55] Parnell, T. Guide to building high-speed networks. McGraw-Hill, New York, 1996.
[56] Phillips, B. “Have storage area networks come of age.” Computer 31 (1998).7:10–12.
[57] Rejaie, R., Yu, H., Handley, M., and Estrin, D. “Multimedia proxy cachingmechanism for quality adaptive streaming applications in the Internet.” Proceedingsof IEEE INFOCOM. Tel-Aviv, Israel, 2000, 980–989.
[58] Richardson, I.E. H264 and MPEG-4 video compression: video coding for nextgeneration. Wiley, New Jersey, 2003.
[59] Ripeanu, M. “Peer-to-Peer Architecture Case Study: Gnutella Network.” TechnicalReport, 2001. Department of Computer Science, University of Chicago.
[60] Ruwart, T. M. “Performance characterization of large and long fibre channelarbitrated loops.” Proceedings of IEEE Mass Storage Systems Symposium. SanDiego, CA, 1999, 11–21.
[61] Saunders, S., Ranade, J., and Advisor, S. The high-speed LANs handbooks.McGraw-Hill, New York, 1996.
[62] Sharda, N.K. Multimedia information networking. Prentice Hall, New Jersey, 1998.
[63] Silverston, T. and Fourmaux, O. “P2P IPTV measurement: a case study of TVants.”Proceedings of international conference on emerging networking experiments andtechnologies. Lisboa, Portugal, 2006.
[64] Sinha, V. and Du, David H.C. “Switched FC-AL: an arbitrated loop attachmentfor fibre channel switches.” Proceedings of IEEE Symposium on Mass StorageSystems. College Park, MD, 2000, 225–234.
[65] Springett, M. V. and Griffiths, R. N. “Innovation for inclusive design: an approach toexploring the iDTV design space.” Proceedings of the 1st international conferenceon designing interactive user experiences for TV and video. Silicon Valley, CA,2008, 49–58.
[66] Srinivasan, U., Pfeiffer, S., Nepal, S., Lee, M., Gu, L., and Barrass, S. “A surveyof MPEG-1 audio, video and semantic analysis techniques.” Multimedia Tools andApplications 27 (2005).1: 105–141.
[67] Steiner, M. and Biersack, E. W. “Where is my peer: evaluation of the Vivaldinetwork coordinate system in Azureus.” Proceedings of the 8th InternationalIFIP-TC 6 Networking Conference. Aachen, Germany, 2009, 145–156.
101
[68] Szabo, C.A., Chlamtac, I., and Bedo, E. “Design considerations for broadbandcommunity area networks.” Proceedings of Hawaii International Conference onSystem Sciences. Big Island, Hawaii, 2006, 50123.2.
[69] Tan, W.T. and Zakhor, A. “Real-time Internet video using error resilient scalablecompression and TCP-friendly transport protocol.” IEEE Transactions on Multime-dia 1 (1999).1: 172–186.
[70] Telikepalli, R., Drwiega, T., and Yan, J. “Storage area network extension solutionsand their performance assessment.” IEEE Communications Magazine 42 (2004).4:56–63.
[71] Tennenhouse, D.L., Smith, J.M., Sincoskie, W.D., Wetherall, D.J., and Minden,G.J. “A survey of active network research.” IEEE Communications Magazine 35(1997).1: 80–86.
[72] Tewari, R., Mukherjee, R., Dias, D.M., and Vin, H.M. “Design and performancetradeoffs in clustered video servers.” Proceedings of IEEE International Conferenceon Multimedia Computing and Systems. Hiroshima, Japan, 1996, 144–150.
[73] Thornburgh, R.H. and Schoenborn, B.J. Storage area networks: designing andimplementing a mass storage system. Prentice Hall, New Jersey, 2000.
[74] Vacca, John R. The Essential Guide to Storage Area Networks. Prentice Hall, NewJersey, 2001.
[75] Vandalore, B., Feng, W., Jain, R., and Fahmy, S. “A survey of application layertechniques for adaptive streaming of multimedia.” Real Time Imaging 7 (2001).3:221–236.
[76] Vogel, A., Kerherve, B., Bochmann, G.V., and Gecsei, J. “Distributed multimediaand QOS: a survey.” IEEE Multimedia 2 (1995).2: 10–19.
[77] Wang, X. and Schulzrinne, H. “Comparison of adaptive Internet multimediaapplications.” IEICE Transactions on Communications 82 (1999).6: 806–818.
[78] Wang, Y., Liu, J.C.L., Du, D., and Hsieh, J. “Efficient video file allocation schemesfor video-on-demand Services.” Multimedia Systems 5 (1997): 283–296.
[79] Xiang, Z., Zhu, Q. Zhang W., Zhang, Z., and Zhang, Y. “Peer-to-Peer BasedMultimedia Distribution Service.” IEEE Transactions on Multimedia 6 (2004).2: 343–355.
[80] Yan, B. and Ng, W.K. “A survey on the techniques for the transport of MPEG-4video over wireless networks.” IEEE Transactions on Consumer Electronics 48(2002).4: 863–873.
102
[81] Yang, Z. and Kuo, C.C.J. “Survey on image content analysis, indexing, and retrievaltechniques and status report of MPEG-7.” Tamkang Journal of Science andEngineering 2 (1999).3: 101–118.
[82] Zhang, Q., Wang, G., Zhu, W., and Zhang, Y.Q. “Robust scalable video streamingover Internet with network-adaptive congestion control and unequal loss protection.”Proceedings of Packet Video Workshop. Kyongju, Korea, 2001.
[83] Zhang, Y., Huangfu, W., and Qiao, Y. “A multi-channel HD video streaming indigital community network: video rate adaptation and playback adjustment.” IEEETransactions on Consumer Electronics 53 (2007).4: 1449–1455.
[84] Zhang, Z.L., Wang, Y., Du, D.H.C., and Shu, D. “Video staging: aproxy-server-based approach to end-to-end video delivery over wide-areanetworks.” IEEE-ACM Transactions on Networking 8 (2000).4: 429–442.
103
BIOGRAPHICAL SKETCH
Sungwook Chung was born in Pusan, Republic of Korea, in 1976. He received
a B.S. in computer science from Sogang University, Korea, in 2002 and an M.S. from
the Computer and Information Science and Engineering (CISE) Department of the
University of Florida in 2005. Since 2005, he has been conducting research with Dr.
Jonathan C.L. Liu in the CISE department at the University of Florida. His research
interests include distributed multimedia systems, home and community area networks
and architectures, storage area networks, high-quality multimedia content distribution,
multimedia consumer devices, and IPTV services.
104
Recommended