Information Technology Reference
In-Depth Information
From a highly theoretical perspective, a structured network architecture
is good in terms of network performance because it is undeniably easier to
quantify and deduce the optimal structures that should be used in a certain
P2P scenario. Thus, motivated by such appeal of provably good performance,
early P2P systems are mainly based on structured network architectures.
As we have seen in Chapter 2, many early P2P systems, most notably
video streaming systems, rely on a tree-based network architecture for peer
connections and data transmissions. Presumably this is because early P2P
systems were designed based on a traditional multicasting communication
model, albeit at the application layer.
While a tree network architecture is e cient in terms of data replication
(i.e., the wasted overheads of transmitting redundant packets), it is di cult
to set up and maintain in a highly dynamic P2P application scenario. Here is
where theory and practice do not work with each other too well. Indeed, while
we can appreciate the theoretical merits of a tree, in practice such benefits
are hard to obtain.
As a case in point, using a tree for data transmission leads to at least
a couple of problems, not to mention the various maintenance issues. First,
using a tree can be unfair because the leaf-nodes do not need to contribute
in data sharing. Second, by the same token, the internal nodes, especially
those situated high up in the tree, need to take up disproportionately large
workload in terms of outgoing bandwidth. From a maintenance point of view,
such internal nodes can also make the whole system vulnerable to service
disruptions if they abruptly depart or crash.
Thus, taking an early video streaming application SplitStream [Castro
et al., 2003b] as an example, redundancy is incorporated in the network ar-
chitecture in the form of using multiple trees. Specifically, each tree is used
for transmitting just a single layer of video packets, called a stripe. Different
trees, forming a forest, are internal-node-disjoint so that the fairness issue is
taken care of. The key property of such a forest of interior-node-disjoint trees
is that each participating node serves as an interior node in one and only one
tree. Consequently, even if a node fails or departs abruptly, only one stripe of
video is affected.
Nevertheless, maintenance of the trees still represents a significant over-
head, especially when peer dynamics is vigorous.
Before we set off to describe some unstructured approaches, we first in-
troduce a couple of classical examples of a highly prominent structured dis-
tributed network architecture, commonly known as distributed hash table
(DHT).
In the following we briefly introduce two classic DHT designs—Chord [Sto-
ica et al., 2001a] and CAN [Ratnasamy et al., 2001]. For other notable DHT
schemes (such as Pastry [Rowstron and Druschel, 2001a] and Tapestry [Zhao
et al., 2004]), the reader is referred to the respective research literature.
Search WWH ::




Custom Search