ENHANCED DISTRIBUTED MULTIMEDIA SERVICES USING ADVANCED NETWORK TECHNOLOGIES

By

SUNGWOOK CHUNG

A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR 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 ...... 13 1.2 Problem Nature ...... 18 1.2.1 Problem Definitions and Requirements ...... 18 1.2.2 Proposed Schemes ...... 18 1.2.2.1 Design of Multiple-Loop Architecture ...... 19 1.2.2.2 An Efficient Storage Scheme ...... 20 1.2.2.3 A Practically Constructible Multiple-Loop Architecture .. 21 1.3 Technical Background ...... 22 1.3.1 Multimedia-enabled Small Area Network ...... 22 1.3.2 Fiber Channel Arbitration Loop ...... 23 1.4 Outline of Dissertation ...... 24 2 A SCALABLE PVR-BASED CONTENT ARCHITECTURE ...... 26 2.1 Motivation ...... 26 2.2 Related Work ...... 28 2.3 A Scalable TV Content Sharing Architecture ...... 30 2.3.1 Single Loop Architecture ...... 30 2.3.2 Multiple Loop Architecture ...... 31 2.4 Design of a Scalable Loop Topology ...... 32 2.4.1 Linear Topology ...... 34 2.4.2 Ring Topology ...... 36 2.4.3 Complete Topology ...... 37 2.4.4 Edge-Added Topology ...... 38 2.4.5 Multiple-Interfaced Shared Disks ...... 38 2.5 Experimental Evaluation ...... 42 2.5.1 Scalability Comparison among Different Topologies ...... 42 2.5.2 Impact of the Number of Interfaces per Disk ...... 45 2.6 Summary ...... 46

5 3 A STORAGE SAVING SCHEME TO HD-QUALITY CONTENT ..... 48 3.1 Motivation ...... 48 3.2 Related Work ...... 49 3.3 TV Content Distribution Architecture for Community Networks ...... 50 3.4 Extending Content Storage Hours ...... 53 3.4.1 Design Issues for Storage Efficiency ...... 54 3.4.2 Impact of Duplicated Storage of Programs ...... 54 3.4.3 Storage Saving Schemes ...... 57 3.4.4 Replacement Schemes ...... 59 3.5 Experimental Evaluation ...... 61 3.5.1 Effectiveness of Proposed Schemes in a Single Loop ...... 62 3.5.2 Effectiveness of Proposed Schemes in Multiple Loops ...... 63 3.5.3 Effectiveness of Our Proposed Architecture ...... 67 3.5.4 Impact of PVRs’ Storage Portion for Time-Shifting ...... 67 3.5.5 Impact of Storage Capacity ...... 68 3.6 Summary ...... 69

4 AN MST-BASED NETWORK ARCHITECTURE FOR SHARING BROADCAST TV PROGRAMS ...... 71 4.1 Motivation ...... 71 4.2 Related Work ...... 73 4.3 TV Content-Sharing Architecture ...... 73 4.3.1 Multiple Loop Architecture ...... 73 4.4 Enhanced Multiple-loop Network Architecture ...... 78 4.4.1 Overview ...... 78 4.5 Problem Definition and Formulation ...... 80 4.5.1 Problem Statement ...... 80 4.5.2 Minimum Spanning Tree ...... 83 4.5.3 Minimum Spanning Tree-based Graph ...... 84 4.6 Performance Evaluations ...... 87 4.6.1 Average Loop Size ...... 89 4.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 number of loops ...... 44

2-7 Number of attached devices of different topologies according to the number of loops ...... 44 2-8 Number of attached devices in the complete topology according to the number of 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 School of the University of Florida in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy ENHANCED DISTRIBUTED MULTIMEDIA SERVICES USING ADVANCED NETWORK TECHNOLOGIES By Sungwook Chung August 2010 Chair: Jonathan C.L. Liu Major: 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 1 INTRODUCTION

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 substantial compared to regular Web-based data. Thus, in order to support a realtime playback 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-delivered multimedia data can satisfy an end user’s expected service quality. In order to meet the requirements, various application-layer QoS control techniques on the top of possible IP protocols have been presented in [20, 69, 77, 82].

• Continuous Data Distribution Medium: In order to deliver multimedia data in realtime effectively, it is essential to serve an appropriate network support since the network support can reduce transmission delay and data loss ratio. Especially, it is desirable to provide large and reliable network bandwidth for the multimedia data transfer [2, 27, 32].

• Streaming Servers: To offer quality streaming services, streaming servers are required to process multimedia data under timing constraints. That is, a next data block needs to be transmitted completely before the previously delivered data block is processed by a given playback rate. In addition, the streaming servers can support a large capacity of storage in order to hold various multimedia data since the 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 ...

Small Area Networks

B P2P network in a single building 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/ 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 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 2 A 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 EDGEA EDGEB EDGEC EDGED EDGEE 5 4 3 2 1 m m m m m Node 1 5 5 5 5 5 1 4 3 2 1 m m m m m Node 2 5 5 5 5 5 1 2 3 2 1 m m m m m Node 3 5 5 5 5 5 1 2 3 2 1 m m m m m Node 4 5 5 5 5 5 1 2 3 4 1 m m m m m Node 5 5 5 5 5 5 1 2 3 4 5 m m m m m Node 6 5 5 5 5 5 16 18 16 2m m m m 2m Total Traffic 5 5 5 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:

 n−1  4 X2 4 (k 2 n k) m, n : odd & n 5 − (n 1) × − × × ≥ − k=2  n−2  (2–2) 4 X2 n2 4 (k 2 n k) +  m, n : even & n 6 − (n 1) × − × 2 (n 1) × ≥ − k=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 EDGEA EDGEB EDGEC EDGED EDGEE EDGEF 3 2 1 1 2 m m m m m Node 1 5 5 5 0 5 5 2 3 2 1 1 m m m m m Node 2 5 5 5 5 0 5 1 2 3 2 1 m m m m m Node 3 5 5 5 5 5 0 1 2 3 2 1 m m m m m Node 4 0 5 5 5 5 5 1 1 2 3 2 m m m m m Node 5 5 0 5 5 5 5 2 1 1 2 3 m m m m m Node 6 5 5 0 5 5 5 9 9 9 9 9 9 m m m m m m Total Traffic 5 5 5 5 5 5

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:

 n−1  2 X2 n + 1  k =  m, n : odd (n 1) × 4 × − k=1   (2–3) n−2 · ¸ 2 X2 n 2 n2  k + /  m = m, n : even (n 1) × 2 (n 1) × 4(n 1) × − k=1 × − −

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) n(n + 1) n m = m, n : odd 4 × × 4 × · ¸ · ¸ n2 n3 (2–4) × n × m = × m, n : even 4(n − 1) 4(n − 1)

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 × m (2–5) (n − 1) 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(n − 1) × m × = n × m (2–6) (n − 1) 2 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 NUMBEROFINTERFACESPERSHAREDDISK 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: » ¼  (n 1)  n −  × (k 1)  M =  −    (2–7)  k    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) × k × m (2–8) (n − 1)

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:  » ¼ (n − 1) ·½ ¾ ¸ n (k 1)  × (k 1)  − k m  −  = n m × × ×   × (2–9) (n − 1)  k   

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 data transfer rate 400 MB/s

FC-AL propagation delay 3.5 ns/meter per node delay 240 ns capacity 300 GB cache 32 MB data transfer rate 29 ∼ 65 MB/s Disk 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 the number of loops

Figure 2-7. Number of attached devices of different topologies according to the number of 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 the number 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 3 A 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], [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:    n  (number ofattachable devices) = 127 × n −   (3–1) 2 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 ith most popular program among the $n$ programs can be computed as follows:

1/i 1−α Pi,α = (3–2) pop Pn 1/k 1−α k=1 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:

m 1 − (1 − Palive) ≥ threshold (3–3) m log (1 threshold) ≥ (1−Palive ) −

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

S A set of programs stored in a PVR with index i i

SND A set of programs stored in network disks The minimum required copy number to store m a program onto alive PVRs with respect to the given threshold

N The number of copies of the program with i index i among alive PVRs

NND The number of copies of the program with i index 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) ND 1: if ((Ni == m)&&(Ni == 0)) then 2: Do not store that program to any storage; ND 3: else if ((Ni < m)&&(Ni == 0))) then 4: Store that program both PVR and network disk; ND 5: else if ((Ni == (m − 1))&&(Ni == 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 data transfer rate 400 MB/s

FC-AL propagation delay 3.5 ns/meter per node delay 240 ns capacity 500 GB cache 32 MB data transfer rate 29 ∼ 65 MB/s Disk seek time 4.7 ms rotational latency 3.0 ms probability of each PVR being alive 70% threshold 0.9 Storage saving scheme storage portion for time-shifting 30% Zipf distribution (α value) 0.271 shared disk interface configuration dual-loop interface Multiple-loop 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 NUMBEROFLOOPS NUMBEROF PVRS NUMBEROFNETWORKDISKS 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 4 AN 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

Small PVR Network

Internet Service Provider

Service Provider

SDisk ˍˍˍ Large PVR Network

ˍˍˍ 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 ཛྷ ཝ

DS0Sdisks DS1 Sdisks DS2

Ndisks Ndisks འ ˍˍˍ ˍˍˍ ཛ ཞ Loop 0 Loop 2 ཟ Sdisk(b)ལ Sdisk(c) ཡ ˍˍˍ Loop 1 ˍˍˍ ཤ ར

ˍˍˍ Ndisks ˍˍˍ ˍˍˍ ˍˍˍ PVRs PVRs PVRs PVR(a) PVR(d)

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 (x). 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 (y) and loop-2 (z) 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 traffic . average 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.

X minimize cexe (4–1) e∈E subject to X xe = n − 1 (4–2) e∈E  1, i = p X pq X pq yij − yji = 0, i 6= p, q, ∀i, p, q ∈ V (4–3)  j∈V j∈V −1, i = q pq pq yij + yji ≤ xe, ∀(i, j) ∈ E, ∀p, q ∈ V (4–4) X pq pq (yij + yji ) ≤ D, ∀p, q ∈ V (4–5) (i,j)∈E pq yij ∈ {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

pq included in a tree or not. Another decision variable yij 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 X X X pq minimize cexe or yij (4–8) e∈E (i,j)∈E p,q∈V subject to  1, i = p X pq X pq yij − yji = 0, i 6= p, q, ∀i, p, q ∈ V (4–9)  j∈V j∈V −1, i = q X (n − 1) ≤ xe ≤ 2(n − 1) (4–10) e E X pq ∈ yji ≤ L(n − 1), ∀i, p, q ∈ V (4–11) j∈V pq pq yij + yji ≤ xe, ∀(i, j) ∈ E, ∀p, q ∈ V (4–12) X pq pq (yij + yji ) ≤ D, ∀p, q ∈ V (4–13) (i,j)∈E pq yij ∈ {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.

Set lbound and ubound to the calculated lower and upper bound values respectively .

Exit: lbound = ubound ? Optimal solution Yes found.

No

Compute the median value of lbound and ubound.

Set lbound to the Set ubound to Solve MILP with an objective of median value. the median value. minimizing total distance and the load constraint of the median value.

No Feasible Yes solution found?

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 with the 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 between lbound and the median value. If not found, it means the optimal solution is in between 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 data transfer rate 1 Gb/s FC-AL propagation delay 3.5 ns/meter per node delay 240 ns capacity 300 GB cache 32 MB Disk data transfer rate 29 ∼ 65 MB/s seek time 4.7 ms rotational latency 3.0 ms HD-quality 19.4 Mbps TV programs 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 20

16

12

8 average sertup time (msec) 4

0 0 10 20 30 40 50 60 70 80 number of PVRs in a loop

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

9 CG MST−2H MST−3H

8 MSG−2H MSG−3H

7

6 average loop size (km)

5

4

5 6 7 8 9 10 11 12 13 14 15 number of loops

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 1100 CG 1000 MST−2H

900 MST−3H MSG−2H 800 MSG−3H

700

600

500

400

300

total traffic (number of programs) 200

100

0 5 6 7 8 9 10 11 12 13 14 15 number of loops

A Total traffic

35 CG MST−2H

30 MST−3H MSG−2H MSG−3H 25

20

15

average reject ratio (%) 10

5

0

5 6 7 8 9 10 11 12 13 14 15 number of loops

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 5 CONCLUSIONS 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 video on-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 content distribution technologies.” ACM Computing Servey 36 (2004).4: 335–371.

[4] Barker, Richard and Massiglia, Paul. Storage Area Network Essentials: A Complete Guide 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 ISDN Systems 30 (1998).22: 2141–2148.

[7] Benner, Alan F. Fibre Channel: gigabit communications and I/O for computer networks. McGraw-Hill, Massachusetts, 1995.

[8] Bolosky, W.J., Douceur, J.R., Ely, D., and Theimer, M. “Feasibility of a serverless distributed file system deployed on an existing set of desktop PCs.” Proceedings of the ACM SIGMETRICS international conference on measurement and modeling of computer system. Santa Clara, CA, 2000, 34–43. [9] Cahill, A.J. and Sreenan, C.J. “VCDN: A content distribution network for high-quality video distribution.” Proceedings of Information Technology and Telecommunications Conference. Letterkenny, Ireland, 2003.

[10] Callaly, F. and Corcoran, P. “Architecture of a PVR Appliance with long-tail Internet-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.” IEEE Communications Magazine 35 (1997).6: 160–163.

[12] Chen, S. and Thapar, M. “A fibre channel-based architecture for Internet multimedia server clusters.” Proceedings of International Algorithms and Architectures for Parallel. Taipei, Taiwan, 1997, 437–450. [13] Chou, C., Golubchik, L., and Lui, J.C.S. “Design of scalable continuous media servers.” 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 sharing architecture for community networks.” IEEE Transactions on Consumer Electronics 54 (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.” IEEE Transactions on Multimedia 6 (2004).2: 343– 355. [17] Dan, A. and Sitaram, D. “Multimedia caching strategies for heterogeneous application 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 Serial Storage 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 using dynamic rate shaping of coded digital video.” Lecture Notes in Computer Science 1018 (1995).1: 89–100. [21] Farley, Marc. Storage Networking Fundamentals: An Introduction to Storage Devices, Subsystems, Applications, Management, and File Systems. Cisco Press., Indiana, 2004.

[22] Fumagalli, A., Krishnamoorthy, P., and Cai, J. “The sub-channeled LightRing for bandwidth 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 video servers: Mirroring or parity.” Proceedings of IEEE International Conference on Multimedia 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 of NP-completeness. Freeman, San Francisco, 1979. [26] Gemmell, D.J., Vin, H.M., Kandlur, D.D., and Rangan, P.V. “Multimedia storage servers: 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 Conference on Design, Automation and Test in Europe. Paris, France, 2002, 423. [28] Gouveia, L. and Magnanti, T.L. “Network flow models for designing diameter-constranted minimum-spanning and steiner trees.” Networks 41 (2003).3: 159–173. [29] Guha, A. “The evolution to network storage architectures for multimedia applications.” Proceedings of IEEE International Conference on Multimedia Computing and Systems. Florence, Italy, 1999, 68–73.

[30] Heath, J.R. and P.J.Yakutis. “High-speed storage area networks using a fibre channel 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 in best-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 - Fibre Channel - Part 122: Arbitrated Loop-2, FC-AL-2. American National Standards Institute, 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 Enhanced Personal 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 with shared-storage clusters.” Multimedia Tools and Applications 18 (2002).1: 31–54. [38] ———. “An integrated network/storage architecture for sharing high-quality broadcast 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 in storage 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 sharing incentives in BitTorrent systems.” Proceedings of the ACM SIGMETRICS inter- national conference on Measurement and modeling of computer systems. San Diego, 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 with segment-based time-shift.” Proceedings of International Conference on Comsumer Electronics. 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 PVRs and file sharing on television watching.” Proceedings of SIGCHI conference on Human 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 video over 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 Mediterranean Electrotechnical Conference. Dubrovnik, Croatia, 2004, 669–672. [50] Meshkova, E., Riihijarvi, J., Petrova, M., and Mahonen, P. “A survey on resource discovery mechanisms, peer-to-peer and service discovery frameworks.” Computer Networks: the international journal of computer and telecommunications networking 52 (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 network management. 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 on peer-to-peer schemes.” Proceedings of the 10th international conference 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 caching mechanism for quality adaptive streaming applications in the Internet.” Proceedings of IEEE INFOCOM. Tel-Aviv, Israel, 2000, 980–989.

[58] Richardson, I.E. H264 and MPEG-4 video compression: video coding for next generation. Wiley, New Jersey, 2003. [59] Ripeanu, M. “Peer-to-Peer Architecture Case Study: Network.” Technical Report, 2001. Department of Computer Science, University of Chicago.

[60] Ruwart, T. M. “Performance characterization of large and long fibre channel arbitrated loops.” Proceedings of IEEE Mass Storage Systems Symposium. San Diego, 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 and technologies. Lisboa, Portugal, 2006. [64] Sinha, V. and Du, David H.C. “Switched FC-AL: an arbitrated loop attachment for fibre channel switches.” Proceedings of IEEE Symposium on Mass Storage Systems. College Park, MD, 2000, 225–234. [65] Springett, M. V. and Griffiths, R. N. “Innovation for inclusive design: an approach to exploring the iDTV design space.” Proceedings of the 1st international conference on 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 survey of MPEG-1 audio, video and semantic analysis techniques.” Multimedia Tools and Applications 27 (2005).1: 105–141.

[67] Steiner, M. and Biersack, E. W. “Where is my peer: evaluation of the Vivaldi network coordinate system in Azureus.” Proceedings of the 8th International IFIP-TC 6 Networking Conference. Aachen, Germany, 2009, 145–156.

101 [68] Szabo, C.A., Chlamtac, I., and Bedo, E. “Design considerations for broadband community area networks.” Proceedings of Hawaii International Conference on System Sciences. Big Island, Hawaii, 2006, 50123.2. [69] Tan, W.T. and Zakhor, A. “Real-time Internet video using error resilient scalable compression 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 solutions and 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 performance tradeoffs in clustered video servers.” Proceedings of IEEE International Conference on Multimedia Computing and Systems. Hiroshima, Japan, 1996, 144–150.

[73] Thornburgh, R.H. and Schoenborn, B.J. Storage area networks: designing and implementing a mass storage system. Prentice Hall, New Jersey, 2000. [74] Vacca, John R. The Essential Guide to Storage Area Networks. Prentice Hall, New Jersey, 2001. [75] Vandalore, B., Feng, W., Jain, R., and Fahmy, S. “A survey of application layer techniques 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 multimedia and QOS: a survey.” IEEE Multimedia 2 (1995).2: 10–19. [77] Wang, X. and Schulzrinne, H. “Comparison of adaptive Internet multimedia applications.” 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 schemes for 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 Based Multimedia 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-4 video 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 retrieval techniques and status report of MPEG-7.” Tamkang Journal of Science and Engineering 2 (1999).3: 101–118. [82] Zhang, Q., Wang, G., Zhu, W., and Zhang, Y.Q. “Robust scalable video streaming over 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 in digital community network: video rate adaptation and playback adjustment.” IEEE Transactions on Consumer Electronics 53 (2007).4: 1449–1455.

[84] Zhang, Z.L., Wang, Y., Du, D.H.C., and Shu, D. “Video staging: a proxy-server-based approach to end-to-end video delivery over wide-area networks.” 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