Information Technology Reference
In-Depth Information
intervention. Foxy [Foxy, 2009] is one of the most popular implementations of
the Gnutella protocol and is widely used in the greater China region.
eDonkey [eDonkey, 2009] was designed to be a reliable decentralized system
for sharing large files such as video files, complete sets of music albums, CD
images, etc. Obviously, such a large file with size in the ranges of hundreds
of mega-bytes to even giga-bytes, needs a relatively longer time to download.
Thus, the system has to be reliable in at least two senses: (1) the system has
to be available during the whole downloading duration; and (2) the contents
of the file have to be authentic. Around these two objectives, the eDonkey
system incorporates two essentially pioneering features:
•Each file is uniquely identified by the hashed (using MD5) digests of its
fix-sized content chunks (around 9 kbytes each). Thus, two files are con-
sidered equivalent if all the digests match, regardless of their filenames.
•Each file can then be downloaded from several sources simultaneously
because the client can get different chunks from different sources.
As to searching for files, the eDonkey system relies on servers distributed
on the Internet. Specifically, each client can contact one or more such servers to
locate files and report the availability of files. As such, like Napster, the eDon-
key system is not necessarily a purely P2P network. Furthermore, a server-list
is also needed by each client to properly join the network. The most promi-
nent implementation of the eDonkey system is the open-source eMule [eMule,
2009], which has reportedly millions of users. iMesh [iMesh, 2009] is another
highly popular implementation of the protocol for sharing MP3 music files.
KaZaA [KaZaA, 2009, Liang et al., 2005] and its variants, which are based
on the FastTrack protocol [giFT-FastTrack, 2009], use some “super-nodes” in
a way similar to the ultra-peers in Gnutella. On the other hand, the FastTrack
protocol also employs the hashing approach used in the eDonkey system for
managing large files.
BitTorrent [BitTorrent, 2009, Cohen, 2003] is by far one of the most suc-
cessful P2P file sharing systems. Similar to eDonkey, in BitTorrent each shared
file is divided into pieces (of size 256KB each), which are uniquely identified
by their hashed digests and usually stored in multiple different peers. Thus,
for any peer in need of a shared file, parallel downloading can take place in
that the requesting peer can use multiple TCP connections to obtain different
pieces of the file from several distinct peers. This feature is highly effective
because the uploading burden is shared among multiple peers and the network
can scale to a large size.
Closely related to this parallel downloading mechanism is the ingenious in-
centive component used in BitTorrent. Specifically, each uploading peer selects
up to four requesting peers in making uploading connections. The selection
priority is based on descending order of downloading rates from the requesting
peers. That is, the uploading peer selects four requesting peers that have the
highest downloading rates. Here, downloading rate refers to the data rate that
Search WWH ::




Custom Search