Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
1Activity
0 of .
Results for:
No results containing your search query
P. 1
Hybrid Network Coding Peer-to-Peer Content Distribution

Hybrid Network Coding Peer-to-Peer Content Distribution

Ratings: (0)|Views: 92 |Likes:
Journal of Computing (eISSN 2151-9617), 2013, call for papers, http://www.journalofcomputing.org/volume-5-issue-4-april-2013
Journal of Computing (eISSN 2151-9617), 2013, call for papers, http://www.journalofcomputing.org/volume-5-issue-4-april-2013

More info:

Categories:Types, Research
Published by: Journal of Computing on May 27, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/27/2013

pdf

text

original

 
 
Hybrid Network Coding Peer-to-Peer ContentDistribution
Dinh Nguyen and Hidenori Nakazato
 
Abstract
Network coding has been applied successfully in peer-to-peer systems to shorten the distribution time. Pieces ofdata, i.e. blocks, are combined, i.e. encoded, by the sending peers before being forwarded to other peers. Even thoughrequiring all peers to encode might achieve shortest distribution time, it is not necessarily optimal in terms of computationalresource consumption. Short finish time, in many cases, can be achieved with just a subset of carefully chosen peers. Peer-to-peer systems, in addition, tend to be heterogeneous in which some peers, such as hand-held devices, would not have therequired capacity to encode. We therefore envision a P2P system where some peers encode to improve distribution time andother peers, due to limited computational capacity or due to some system-wide optimization, do not encode. Such a systemgives rise to a design problem which has never happened in both pure non-coding and full network coding-enabled P2Psystems. We identify the problem and propose our solutions to address it. Simulation evaluation confirms robust performance ofour proposed hybrid network coding peer-to-peer content distribution.
Index Terms
content distribution, network coding, peer-to-peer
 —————————— 
 
 
 —————————— 
 
1 I
NTRODUCTION
ETWORK coding [1][13], which allows content to becoded at intermediate nodes while being forwardedin the network, has been shown to achieve signifi-cantly shorter distribution time in peer-to-peer (P2P) con-tent distribution [4][16]. It is, however, too expensive andin many cases impossible to require encoding at every peer. Recent work has demonstrated that encoding is onlyneeded at a subset of carefully chosen peers, and in some particular instances, only at the source, to achieve compa-rable performance to network coding [11][12][15]. Manyother studies have focused on minimizing the number of required network coders to achieve optimal multicastthroughput [8][21][22]. P2P networks in reality usuallyconsist of heterogeneous peers with quite different capa- bilities. More powerful peers can be ready for networcoding-enabled operations, yet such jobs are beyond thecapacity of resource-limited peers like hand-held andmobile devices. A successful network coding solution tooptimize P2P network performance, therefore, cannotimpose encoding at every network node.Interested in using network coding to shorten distribu-tion time in P2P network, we envision a P2P systemwhere encoding is applied at some peers while other  peers, due to resource limitation or due to optimizationreasons, might not code. The system, which we call a
hy-brid network coding 
P2P system, gives rise to a design problem which has never happened before. In pure Bit-Torrent P2P system [3], the source and all peers exchange pieces, i.e. blocks, of the file using rarest-block selection toquickly disseminate the file into the system. A peer chooses the rarest blocks in the neighborhood to down-load first. In full network coding-enabled P2P, all peerscode. Before downloading from a neighbor, a peer com-municates with the neighbor to determine if it can pro-vide with new data. When some peers encode and othersdo not, there are mixtures of coded and non-coded blocksin the neighborhood for each peer to choose from. Thequestion is how we can design a protocol and a block-selection algorithm to handle such a mixture of coded andnon-coded blocks and at the same time preserve the effi-ciency and simplicity of BitTorrent protocol.In this paper, we design our hybrid network codingP2P system. Our contributions are follows.1)
 
We devise information exchange protocols whichenable hybrid network coding systems to work seamlessly. Our design, backward-compatible toBitTorrent, requires only an addition of one field inthe meta-exchange messages.2)
 
We propose a block-selection algorithm for a partlynetwork coding-enabled system to operate efficient-ly. Our block-selection algorithm, an extension from
BitTorrent’s
rarest-first selection, is derived from ex-tensive observations of the way network coded data benefit content distribution.Our design and algorithm noticeably improve system performance in terms of distribution time compared withcurrent network coding P2P systems.In the remaining parts, we review related work in sec-tion 2. The system model is given in section 3. We de-scribe the protocol for peers to communicate in section 4.Section 5 focuses on the block-selection problem and our  proposed algorithm. Section 6 presents performanceevaluation results and finally, we conclude the paper insection 7.
2 R
ELATED
W
ORK
 
BitTorrent [3], a popular P2P file sharing with paralleldownloads to accelerate download speed, divides the fileinto equal-size blocks, i.e. chunks, pieces, which peers
 ———————————————— 
 
 
The authors are with Waseda University, Tokyo 169-0051, Japan.
 
 
This work has been extended from a previous paper[14].
 
JOURNAL OF COMPUTING, VOLUME 5, ISSUE 4, APRIL 2013, ISSN (Online) 2151-9617https://sites.google.com/site/journalofcomputingWWW.JOURNALOFCOMPUTING.ORG8
 
 
send and receive in parallel, utilizing both available up-load and download bandwidth. Each newly joining peer connects to a set of random existing peers, such that toconstruct a mesh overlay network with random topolo-gies. Furthermore, rarest blocks are chosen first by receiv-ing peers to quickly disseminate the whole file into thesystem. To encourage peers to contribute uploading bandwidth to the system, a peer uploads to, i.e. unchokes,a certain number of neighboring peers at a time, those provide it with best downloading rates. Rarest first block selection and unchoking are shown to be the reasons un-derlying BitTorrent excellent performance [5]. Network coding [1][2][13], which allows intermediatenodes to encode, have been applied to BitTorrent in or-der to shorten distribution time [4][16]. Whenever there isan opportunity to transmit, a peer combines all blocks ithas to make new coded blocks and sends to the request-ing peer.For full-scale network coding P2P where all peers en-code, [4][6] proposes a mechanism by which beforedownloading from a neighbor, a peer checks if the neigh- bor can provide it with meaningful blocks, i.e. blockswhich are linearly independent from its own set of blocks.We call that a
try-and-download 
approach which, com- pared to BitTorrent, requires a major update in the way peers exchange metadata:1. a peer sends a request message to its neighbor,2. the neighbor replies either with a newly generated
encoding vector 
or with its
decoding matrix
1
,3. requesting peer downloads a newly coded blocfrom the neighbor if the encoding vector or the
neighbor’s decoding matrix is independent
fromits own decoding matrix.
Try-and-download 
is synchronous in the sense that a peer has to be in synch with its neighbors by continuouslychecking if they can provide it with new data. Moreover,a receiving peer cannot know in advance exactly whichand how many blocks it is going to receive from eachneighbor to make a better choice. Such knowledge willhelp the receiving peers to decide which blocks are mostvaluable to it.In full-scale network coding systems where peers aresomehow homogeneous in terms of computational re-sources to encode,
try-and-download 
is feasible, yet with a protocol overhead. Within a hybrid network coding P2Psystem, however, it is not necessarily that all peers cancode. In such a scenario, requiring a resource-limited peer to frequently compare its own decoding matrix with de-coding matrices of its neighbors is beyond its capacity.We need a simple, yet effective, way to do that whichevery peer, encoding-enabled or not, can do.To facilitate hybrid network coding P2P systems whereencoding and non-encoding nodes mix together, we de- part from
try-and-download 
approach to introduce an ex-tension to BitTorrent metadata exchange. We furthermore propose a block selection algorithm to improve distribu-tion time. Our proposed solution is backward-compatiblewith BitTorrent and virtually requires no more protocol
1
We explain encoding vector and decoding matrix in section 3.2.
overhead than pure BitTorrent, yet the performance im- provement is noticeable compared with original networcoding P2P systems.
3 S
YSTEM
M
ODEL
 
3.1 Hybrid Network Coding Peer-to-Peer System
We consider a P2P content distribution from a source tomany peers in which each peer maintains overlay connec-tions to some random peers, i.e. its neighbors, to ex-change data.A file exists at the source and is distributed to all peerswhich, at the beginning, do not have any part of the file.The file is originally divided into
 K 
equal blocks, the sameas in [3], which are transferred in the system in parallel.To accelerate throughput, some peers in the system en-code while other peers do not. Since coded data exist inthe system, all peers which have received coded data,however, are required to decode to recover the originaldata.As in BitTorrent systems [3][4], block exchange com- plies with two rules: (1) rarest block first selection at there
ceiver’s side: receivers choose rarest blocks in its neig
h- borhood to download, and (2) an incentive scheme at the
sender’s side: senders send blocks to their neighbors r 
e-ciprocally.
3.2 Random Linear Network Coding
Encoders in our system use random linear network cod-ing (RLNC) [2][6] to create new coded blocks from the blocks they have received. In RLNC, an
encoding vector 
of 
 K 
coefficients is attached to each coded block to specifyhow that coded block is generated from the
 K 
original blocks. Suppose we have a coded block C
0
with encodingvector (c
01
,c
02
,...,c
0K 
), and
 K 
original blocks, B
1
, B
2
, ...,B
.That means C
0
= c
01
B
1
+ c
02
B
2
+...+ c
0K 
B
. The coefficients andmultiplication and addition operations are taken place ina Galois field, e.g.
GF 
(2
8
). Now suppose a peer A, having received 2 blocks C
1
 and C
2
, wants to make a new coded block to send to aneighboring peer. Peer A will pick up two random coeffi-cients a
1
and a
2
and generate a new coded block C:C = a
1
C
1
+ a
2
C
2
 = (a
1
c
11
+ a
2
c
21
)B
1
+(a
1
c
12
+ a
2
c
22
)B
2
+...+(a
1
c
1K 
+ a
2
c
2K 
)B
.The coded block C together with
 K 
coefficients above issent to the requesting peer.At the receiving peer, all encoding vectors are stored ina
decoding matrix
with corresponding coded data blocks.After a peer collects
 K 
independent coded blocks, i.e. the
 K 
associated encoding vectors form a full-rank matrix, itcan decode to get the
 K 
original blocks by solving the setof 
 K 
linear equations.
3.3 Network Coder Assignment
Since only some peers in the system encode, the questionsare which peers will become network coder and who isresponsible for assigning them.In our view, peers at key locations of the network canselectively be assigned as network coders. We discuss this problem in detail in [15] where we propose to place net-
JOURNAL OF COMPUTING, VOLUME 5, ISSUE 4, APRIL 2013, ISSN (Online) 2151-9617https://sites.google.com/site/journalofcomputingWWW.JOURNALOFCOMPUTING.ORG9
 
 
work coders at nodes with high centrality [17][18] values.This approach, however, requires a centralized server tocompute and assign coders. Practically, in P2P systemssuch as BitTorrent [3][4][19], we can allow
trackers
to dothat task since the trackers know which peers currently join the
torrents
. Network coders can also be assigned in a distributedmanner without any centralized server by using, for ex-ample, degree information.
2
Given a threshold, peers withdegrees higher than the given value will become encod-ers.In scenarios where computational resources are lim-ited, we can approximately predict the amount of re-quired resources based on which a peer can determine, byitself, to become an encoder if it meets the resource re-quirements. Such an encoder assignment does not need acentralized server either.
4 I
NFORMATION
E
XCHANGE
P
ROTOCOL
 
In pure BitTorrent without network coding, there are two phases to distribute blocks. These two phases interlaceand take place asynchronously.
 
 Notification phase
: after downloading a block, thedownloading peer notifies its neighbors about the block it has just downloaded.
 
Selection phase
: whenever bandwidth is availablefor downloading, a peer, based on the informationit has about which blocks are available in theneighborhood, chooses one block to download us-ing a block selection algorithm. The download,then, can proceed if the downloading peer is cur-rently unchocked by its neighbor who has the cho-sen block and the neighbor has enough bandwidthto sustain such download. If that fails, the peer canrepeat this process to choose another block. This phase stops when the peer runs out of bandwidthor has no more blocks to choose from.In the following subsections, we concentrate on the protocols used to communicate between peers and theformat of the exchanged metadata. We discuss the block selection algorithm in detail in the next section. BitTorrentunchocking algorithm is one topic in itself to handle fair-ness and free-rider issues and is not discussed in this pa- per. We instead assume peers in our system are altruisticand willing to contribute their bandwidth.
4.1 Block Format
To identify data blocks, each block is associated with oneunique
block-id 
. However, one extension is needed tosupport network coding. Unlike non-coding systems inwhich the assignment is done by the source where all the blocks originate, in network coding P2P systems, thatassignment is done where the block is created or originat-ed: both at the source and at all the encoders. To assist
2
Degree-based routing has been proposed in [20]. In this paper, how-ever, we do not propose any network coder placement but devote our-selves to designing the protocol and data selection algorithm for thehybrid network coding system.
our block selection algorithm, the
block-id 
is generated inincreasing order: a new
block-id 
generated by a particular encoder is greater than all previous
block-id 
s generated bythat encoder.With network coding, an
encoding vector 
is attached toeach coded block as described in the previous section.We propose an additional
encoder-id 
field (Fig. 1) whichstores the identification of the encoder who generated thecoded block.
 Encoder-id 
will be used in our selection algo-rithm later on.For each block, the metadata exchanged betweenneighbors in a notification message, thus, consists of threefields:
block-id 
, its
encoder-id,
and its
encoding vector 
 (Fig. 1(a)). The data block consists of 
block-id, encoder-id 
,and the payload data (Fig. 1(b)).
 
If the notification or data block is a non-coded one, its
encoding vector 
and
encoder-id 
 can be omitted.Having defined the block formats, we next present de-tails of two communication protocols, either of which can be used in the hybrid network coding system.
Fig. 1. Notification and data block formats with thenewly proposed
encoder-id 
field.
 
Fig. 2.
Pre-code
protocol peers used to communicate. There aretwo asynchronous phases: notification phase and selection phase.This protocol is an extension from BitTorrent: the notification mes-sages and data blocks have an additional
encoder-id.
Encodingvectors are also attached to the notification messages as de-scribed in section 3.2.
 
JOURNAL OF COMPUTING, VOLUME 5, ISSUE 4, APRIL 2013, ISSN (Online) 2151-9617https://sites.google.com/site/journalofcomputingWWW.JOURNALOFCOMPUTING.ORG10

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->