ArticlePDF Available

Peer-to-Peer Multicasting Inspired by Huffman Coding

Authors:

Abstract and Figures

Stringent QoS requirements of video streaming are not addressed by the delay characteristics of highly dynamic peer-to-peer (P2P) networks. To solve this problem, a novel locality-aware method for choosing optimal neighbors in live streaming multicast P2P overlays is presented in this paper. To create the appropriate multicast tree topology, a round-trip-time (RTT) value is used as a parameter distinguishing peers capabilities. The multicast tree construction is based on the Huffman source coding algorithm. First, a centrally managed version is presented, and then an effective use of a distributed paradigm is shown. Performance evaluation results prove that the proposed approach considerably improves the overlay efficiency from the viewpoint of end-users and content providers. Moreover, the proposed technique ensures a high level of resilience against gateway-link failures and adaptively reorganizes the overlay topology in case of dynamic, transient network fluctuations.
This content is subject to copyright. Terms and conditions apply.
Hindawi Publishing Corporation
Journal of Computer Networks and Communications
Volume , Article ID ,  pages
http://dx.doi.org/.//
Research Article
Peer-to-Peer Multicasting Inspired by Huffman Coding
Bartosz Polaczyk, Piotr ChoBda, and Andrzej Jajszczyk
AGH University of Science and Technology, Department of Telecommunications, Al. Mickiewicza 30, 30-059 Krak´
ow, Poland
Correspondence should be addressed to Piotr Chołda; piotr.cholda@agh.edu.pl
Received  January ; Revised  April ; Accepted  May 
Academic Editor: Zhiyong Xu
Copyright ©  Bartosz Polaczyk et al. is is an open access article distributed under the Creative Commons Attribution
License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly
cited.
Stringent QoS requirements of video streaming are not addressed by the delay characteristics of highly dynamic peer-to-peer (PP)
networks. To solve this problem, a novel locality-aware method for choosing optimal neighbors in live streaming multicast PP
overlays is presented in this paper. To create the appropriate multicast tree topology, a round-trip-time (RTT ) value is used as a
parameter distinguishing peers capabilities. e multicast tree construction is based on the Human source coding algorithm. First,
a centrally managed version is presented, and then an eective use of a distributed paradigm is shown. Performance evaluation
results prove that the proposed approach considerably improves the overlay eciency from the viewpoint of end-users and
content providers. Moreover, the proposed technique ensures a high level of resilience against gateway-link failures and adaptively
reorganizes the overlay topology in case of dynamic, transient network uctuations.
1. Introduction
For previous few years peer-to-peer (PP) related ows
(overlay trac) have represented a vast majority of the
wholeInternettrac.us,PPnetworkinghasbecomean
important branch of today’s telecommunications. It involves
not only le-sharing (BitTorrent, Ares Galaxy, Gnutella),
butalsomultimediastreaming(PPLive,SopCast),Internet
telephony (Skype), anonymous routing (Tor), and many
aspects of content distribution networks or cloud networking.
With the increased interest in quality-requiring applica-
tions, the problem of the quality of service (QoS) assurance
is a real challenge in PP-based streaming. Live streaming
transfers based on the PP paradigm impose strict constraints
on latency between a video server and peers (end-users).
Since the requirements are not fully addressed by the charac-
teristics of PP networking, a considerable attention has been
put on the overcoming techniques. One of the most basic
parameters that highly inuence the quality experienced
by end-users is the eective downloading speed and its
stability over time. A buering process, observed by end-
users as a transient interruption of content delivery, can
be minimized, or even avoided, when oscillations of the
downloading speed are small. To accomplish the gapless
playback, the PP application-layer links should be set over
short distances with additional care about the available
capacity. is task is a nontrivial problem as PP systems were
invented to be underlay-agnostic. In practice, they have not
usually recognized proximity between the candidate peers
norestimateattainablebandwidth.issituationhaschanged
and the focus has been brought to the so-called localization-
aware overlays.
Here, we elaborate on the localization-aware PP over-
lays: an organization of the transmission tree is not spon-
taneous (following the owing process of the peers to the
overlay), but instead it uses the underlying information on
theInternetpaths.Ineect,thevideoqualityisimproved.
Our method is called “Humies” due to its inspiration by the
Human source coding. e Human algorithm constructs
a tree representing a code of the shortest average codeword
length, calculated as the sum of the paths from the root to
the leaves (messages). e elements of the sum are weighted
by the probabilities associated with the leaves. In Humies,
a similar mechanism is used to create a multicast streaming
tree, where the root is a video server and leaves represent the
peers. We aim at generating the shortest average path from
the root to a leaf, while the weight of a leaf is related to a
measure based on the underlay-related knowledge, namely,
Journal of Computer Networks and Communications
round-trip-time, . With the relationship of our algorithm
totheHumanmethodprovidingtheoptimaltree,weare
able to show the optimality of Humies.
e remainder of this paper is organized as follows:
Section  overviews the context and the related literature on
the covered topic. Section  refreshes Human coding de-
nitions and notations necessary to understand the proposed
solution. Section , the main part of this paper, describes
our novel approach in detail. Section  analyzes simulation
results, verifying that the proposed approach is a promising
alternative. Finally, the paper is summarized, and a few
challenges of the proposed method are discussed.
2. Background and Previous Works
With regard to the routing topology, there are the following
three types of PP streaming systems used in practice:
(a)push:structured,basedmainlyonmulticasting
tree(s);
(b) pull: unstructured, similar to the mesh-based le-
sharing BitTorrent system;
(c)hybrid:combinedpush-pull,basedonatwo-layeror
two-phased mesh-tree architecture.
Currently, the majority of existing implementations and
methods are related to the second type []. is stems
from their exibility and the high fault tolerance. However,
we focus on the tree-based multicasting. It has also received
strong research attention [] due to its control potential.
Additionally, by the usage of the tree-like approach, we are
able to prove the bound optimality with the inspiration
of the Human source-coding algorithm. Additionally, we
study the reliability performance of our method to prove its
usefulness in the case of random failures.
e challenge related to PP networks is to nd the opti-
mal topology able to satisfy each of the three entities involved
in the overlay content delivery: (a) peers, (b) the Internet
service providers (ISPs), and (c) content providers. Each of
them has its own requirements and prominent objectives. A
peer requires the high streaming rate of the content, short
start-up times, and lack of prefetching. In particular, in live
video transmissions, small delays between the content source
and end-users are of vital importance. While interdomain
trac load is essential to ISPs, a reduction of that load should
not aect the quality experienced by customers. Finally, goals
of a content provider are in-between the end-users and ISPs’
needs. e content provider appreciates a high customer
satisfaction (enhanced video quality) and favorable network
resource utilization, as it enables a successful cooperation
with operators. Our method pays to the end-user QoS
satisfaction; however it reconciles also other entities’ matters
which are respected and considered in the simulation study.
A lot of eort has been put to improve the operation of
PP systems by taking into account the network constraints;
for review see [,]. Sometimes, even a strong coopera-
tion between an overlay operator and a network carrier is
assumed. e topic has been recognized as an important issue
for the Internet community []. e research was mainly
focused on le-sharing with introduction of methods like the
so-called biased neighbor selection in the BitTorrent context.
ey rely on centrally managed devices impeding dynamic
and quick decisions in case of nodes departure or network
partitions. erefore, their application prospects in video
multicast networks are limited, especially when failures are
considered.
A classication of approaches using locality awareness
in PP overlays can be found in [] (a) awareness of the
ISPs network, to which a peer is assigned to; (b) storage of
some additional information on other peers, for example,
when they serve as supernodes; (c) delay assessments; (d)
geolocation information as a base for the peer node selection.
Our research follows the third avenue; that is, we base on
the latency measured by . is group of approach is
quite well represented. e streaming tree construction idea
presented in [] involved just a delay-aware technique to
buildanetworkfriendlytree(NFT).Inthisscheme,an
arriving peer contacts and requests a streaming ow from the
node that has the smallest  among all peers in the overlay
swarm. In contrast to our approach, the tree is constructed
in a receiver-centric way and it does not adapt to transient
network conditions. A similar concept of grouping peers into
clustered trees, based on , was presented in []. However,
this method assumes evaluating  between an end-user
and static landmarks (like DNS servers), instead of ordinary
overlaypeers.Ourapproachisbasedonthe between
peers.
On the other hand, a proposal of Kovaˇ
cevi´
cetal.[]
was based on the geolocation system, introducing zones and
a two-layered, distance-aware system to accomplish strict
QoS requirements. We do not assume such a sophisticated
method, but base on the “application-layer ping,” w h i c h i s
very simple to implement. e authors of []proposedto
construct an optimized multicasting PP tree, assuming that
the coordination data is given in advance. Again, we decided
to use a much easier method.
3. Overview of Huffman Coding
AHumancode[] is the minimum redundancy source
code,whereeachmessage(outofmessages) is represented
as a prex-free codeword (a “message code”). (),acodeword
length, equal to the number of symbols in codeword ,
depends on an occurrence probability () of the th message
generation,sothattheaveragemessagelength
=
𝑖∈𝑁()()()
is minimized. Each codeword is constructed using symbols
from an alphabet of letters (the -ary alphabet). We skip
the details of the code construction, but we remind that the
ultimateideaisbasedonthefactthatmessageswithhigher
() are represented with shorter codewords. A Human
ensemble code (see Figure ), that is an agreement between
the source encoder and the decoder about corresponding
messages and codewords, can be presented in the tree form.
us, an ensemble code and its tree are equivalent. In such
Journal of Computer Networks and Communications
Human source encoder
Message Codeword
Source:
𝑁, a set of
messages
Ensemble code, 𝒯
F : e Human coding concept.
1.00
0.19
0
0.36
1
0.45
0.15
01
0.03
0
0.03
1
0.09
2
2
2
Implicit numbering
with 0, 1, and 2
0.15 0.15
F : Example of a ternary Human tree T. Numbers in ovals
represent probabilities.
a labeled tree T,calledhereaHuman tree (an example
is presented in Figure ), the internal and leaf nodes have
dierent meanings. e leaf corresponds to a single message,
labeled with its occurrence probability ().einternalnode
is just an auxiliary vertex with labels equal to the sum of its
children’s label values. In tree T, the edges are also uniquely
labeled with one of symbols. Edge labels over a path from
thetreeroottoagivenleafdeneacodewordrepresenting
the respective message. Such a denition of tree Tis used
also in [,]tocreateanadaptiveHumanalgorithm.
e original static (two-pass) and newer adaptive (one-pass)
Human algorithms dier in the ensemble code construction
method and its exchange between the encoder and decoder.
However, both ensemble codes have the same structure
and the value. erefore, for the sake of interpretation
purposes, we can use the static and adaptive algorithms
interchangeably, since results for those approaches are the
same.
4. Huffmies Design
Below, we present “Humies,” the centralized and distributed
approaches that create a streaming topology for a multicast
tree-enabled PP overlay network. Both approaches are
inspired by the Human algorithm. e summary of the
notation related to the Human coding and Humies is given
in Table .
4.1. Centralized Humies. Each PP streaming network uses
acontentserver, which can upload to only a limited
number of nodes simultaneously due to the bandwidth
and computing resource limits. Among all the active peers
subscribed to the stream, the server has to choose at most
peers that will receive the data directly from it. e
centralized Humies algorithm uses a single device managing
all connections between the peer nodes in the entire overlay
swarm. For the rest of this subsection we assume that server
, which is a reliable, rich in resources, and credible node, can
take responsibility of the overlay network construction and
control. Hence, the terms “centralized device” and “server”
will be used interchangeably here.
e Humies method introduces () value, namely, peer
aggravation. It forms a concise representation of peer ’s
network resources in such a way that higher values indicate
inferior resources due to a tight bandwidth limit or high
latency of the network access. Finding strict and accurate
value of () is not a trivial problem, since it is inuenced
by many unpredictable parameters (the location, available
capacity, congestion). We simply use the round-trip-time
metric () between a peer and the server or between a peer
and another peer. e high value suggests that the given peer
has considerably limited network resources or can be located
in a long distance from the source node (or another peer).
Nonetheless, more complex and sophisticated metrics can be
involved here as well. Furthermore, as a peer receives data
using a multiple-hop path, the sum of all () values over this
path emphasizes service aggravation of the connection.
In the centralized scheme, only the streaming server
gathers all individual () values, independently measured
by the peers and sent to the server. e nal value of () is
denedasanaggregatedsumofs between peer and all
other peers in the swarm, including the server:
()=
𝑗∈(𝑁\{𝑖}){𝑠}𝑖𝑗,()
where 𝑖𝑗 represents the evaluated to node observed
from the peer s point of view (we set () ≡ 0). All
probing packets are analyzed individually by each node in
a swarm and the computed result of () is forwarded to
the server. As the central device has the entire () map, it
builds a Hu man tree, analogously to the Human coding
with Vitter’s algorithm Λextension [], in a manner that
() is treated like a probability of message generation. In
atransmission tree we are constructing, a codeword length
() is dened as a path length from the root (the streaming
server )toleaf:
()=
T(,).()
Let us remind that the Human tree Tis a form, where only
leaves represent something real (i.e., the messages). ere-
fore, in order to transform a Human tree to a transmission
tree ,aprocesscalledclimbing is introduced (see Figure ).
It consists in using the internal vertices as something of real
meaning, that is, as the peers that are indeed present in the
multicasttreetobothdownloadthedataandsimultaneously
upload it to other peers. e climbing starts from the most
Journal of Computer Networks and Communications
T : e relation of the basic notions for the Human coding and the Humies concept.
Not. Human Humies
Root node Streaming server
TEnsemble code (Human tree)
Transmission tree
Message Peer
Setofallmessages Setofallpeersintheoverlayswarm
() Probability of message generation Probability of peer being a bad relay (peer
aggravation)
Number of the source alphabet symbols Maximum number of simultaneous upload
connections (slots)
—Codeword Aroutefromtherootserverto a leaf in a
transmission tree
() Length of a codeword representing message Peer level in a transmission tree, () = T(,)
(hop distance between and in the tree)
Leaf: a message; internal vertex: auxiliary Leaf: a downloading peer; internal vertex: a
downloading and uploading peer
𝑖 Peers downloading from peer , the ospring of
bottom layer where each internal node, noted as “X” in
Figures (b)-(c), is replaced by the node with the lowest ()
value beneath this auxiliary node. While going upward, it can
happen that the minimum value of () characterizes a node
that already has downstream nodes (a node with () = 1
in Figure (c)). In such a case, peer ’s child w i t h a m in i m u m
peer aggravation has to take its place (a peer with () = 2
in Figures (c)-(d))andthenodeis free to jump into an
upper layer. Such a process creates a transmission tree with
a bounding number of children equal to . Hence, parameter
is considered as a maximum number of simultaneous unicast
connections that a given peer can serve simultaneously. To
simplify, we assume the same value for all peers. However,
a dynamic adjustment of this value, for instance depending
on the swarm size, streaming ratio, or peer’s resources, is also
possible.
4.2. Optimality of the Centralized Humies. In general, PP
tree-based streaming dissemination has to cope with con-
icting objectives to design either a narrow or a short trans-
mission tree. A wide tree, where each peer has to send data
to numerous neighbors, divides the peer’s upload capacity
among all children. is can inict the degradation of quality
of experience (QoE), that is, the perceived quality, for the
downstream peers. On the other hand, a high tree involves
long paths between the streaming source and the peers. Such
a tree should be averted since it imposes additional delays
and decreases the system reliability in case of an intermediate
node fault or departure. us, a convenient trade-o between
thewidthandheightshouldbefound.eHumiesmethod
involves optimization of the worst-case peer aggravation
sueredbyanentireoverlayswarm.Weprovethisfactbelow.
In general, each peer that arises on a path from the
streaming server to a single destination node introduces
bandwidth and delay limits that inict a higher probability
of service quality degradation for downstream nodes. Sum
of all intermediate nodes’ () on a path from the server
to a destination node is called a service aggravation ().We
model a deteriorated QoE caused by a multihop overlay path
and observed by peer ,as(),where
()def
=
()+
𝑗∈𝑑𝑇(𝑠,𝑖), ()
where 𝑇(,) is a path from the server to the destination
peer in a transmission tree .emaingoaloftheHumies
method is to minimize this parameter for the entire overlay
swarm.
We can note the two following fundamental facts.
eorem 1. e Humies algorithm presented in Section 4.1
ensures that each peer receives the data from a node that has a
smaller or equal peer aggravation () value.
Proof. We show it by a contradiction. Assuming that peer
receives data from node such that () > (),leadstoa
contradictory statement, since peer , as a peer with smaller
()valueamongothersiblings,wouldbeelectedforclimbing
instead of .
eorem 2. An upper bound for service aggravation ()
suered by peer in the centralized Humies is ()().
Proof. Fromthefactthattheclimbing process performed on
theHumantreeT, as described in Section .,onlyuplis
some nodes into higher layers, then () is an upper bound
for the length of the transmission path from the server to the
peer ,𝑇(,).Onthebasisofeorem  we also state that
() bounds the maximum peer aggravation of nodes that can
occur over this path. at provides the upper bound () ≤
()().
According to the Human coding algorithm, which min-
imizes average message length (given in ()), and eorem 
we can see that the centralized Humies algorithm minimizes
Journal of Computer Networks and Communications
11 15
45 6
1 2 3
17
𝑠
(a)
11
45
1 2 3
17
𝑠
𝑋
𝑋
(b)
11
451
23
17
𝑠
𝑋
(c)
11 1
452
3
17
𝑠
(d)
F : A climbing process: evolution from a Human tree (a) to a transmission tree (d) with two intermediate steps: (b) and (c). =3,
numbers labeling vertices denote peers’ aggravation ().
the service aggravation boundforallnodesintheoverlay
swarm.
4.3. Distributed Humies. Application of Humies in a huge
swarm inicts a ping packet ood, since each peer has to
evaluate  between all other network members. Indeed,
a number of such probes at the order of O(2)limit
the practicality of the centralized scheme. Overview of the
consecutivestagesinthedistributedHumiesalgorithmis
presented in Figure . e principal dierence between the
distributed and centralized version consists in a subjective
estimation of the () value accomplished by a single node
in a PP network. In the rst step, the server estimates 
to each member in a swarm, which is assumed as its ().
en, on the basis of peers’ () values, the server forms
disjoint groups of peers. Among all the members of each
group, the server elects a single peer to which it will upload
the stream directly. Such a peer is called the group leader and
it has to replicate the data towards the rest of the group nodes
called an ospring of a given leader. e decision criteria
used by the leaders to disseminate the data are completely
independent and the server does not have any inuence or
authority regarding this issue. Practically, a leader performs
the same steps as those of the server in the rst step; that is, it
selects the best leaders among its ospring and assigns them
a next-level ospring (i.e., ospring of those nodes). A leader
bases its decision on independently obtained () values. In
the next steps, such a procedure is consecutively repeated
until a pool of all peers in the overlay network is exhausted.
ekeypoint,wheretheHumanalgorithmisengaged,
concerns the selection of the leader nodes and assigning
them appropriate peers to disseminate data downstream. To
accomplish this task, each leader assigns a codeword for
all of peers of its ospring 𝑘,analogouslytothecentralized
approach. us, it is necessary to calculate the Human
tree in each group. Note that in this case, contrary to the
centralized Humies, () is assessed only from a group
leader (or the server) to each peer, but not between all pairs
of peers. e corresponding probabilities (),∈
𝑘,are
equal to evaluated over the individual probe between the
leader and peer .Aerapplyingacodewordforeachpeerin
𝑘, all peers whose rst digit is the same constitute one group,
obviouslydisjointwithothergroups.Amongallmembersof
a group, a peer with the lowest value ()is selected as a group
leader. Now, this leader is fully responsible for dissemination
of data towards other members of its group. Looking at this
issue from the Human tree viewpoint, a group is constituted
byallpeers,whosecorrespondingleavesbelongtothesame
root’s subtree. Figure  presents two Human trees (with
omitted edge labels) for =2(binary tree) and =3(ternary
tree) with group borders for the same set of peers and the
same  measurements.
Such a distributed algorithm signicantly diminishes
aggregated number of links that are engaged in the 
probing process. While the streaming server has to evaluate
all pings to all nodes in the swarm, other peers in lower
transmission tree layers make a decision about much smaller
groups, whose cardinality deteriorates at the order of O(−𝑙𝑖),
where 𝑖is a peer’s layer index in a transmission tree.
e Humies method clusters peers into groups, so that
the sum of members’ aggravation is almost equal for all
groups.atmeansthatpeerswithlargevaluesof() will
be present in groups of smaller number of members. is is
a very advantageous and practical property. Let us remind
that a low () value for a given peer means that it inicts
a small negative eect on other children. We argue that it is
highly recommended to create groups with a comparable sum
of aggravation indicators. For instance, one group consisting
Journal of Computer Networks and Communications
Server
9C
11 E
29 L
19 A17 H
10 G
9J
15 Z
15 K
C
Level 1
leaders EZ
12 F6A
8J11 G
Ospring
of peer C,
with RTT
perceived by C 22 K12 H
Humies
in level 1
leaders
C
Level 1
leaders E Z
A
Level 2
leaders G J
𝑠
𝑠
𝑠
All peers
in the swarm
with RTT
perceived by 𝑠
Hum ies
in 𝑠
...and others...
···
···
···
···
···
······
···
Ospring
of peer E...
Ospring
of peer A...
Ospring
of peer G...
Ospring
of peer J...
Iterate the Humies on the next level leaders until the cardinality of all
𝑡...
ospring sets is not greater than
Disjoint
with other
ospring sets
F : Overview of the consecutive stages in the fully distributed
Humies approach. Values in circles denote ().
of peers that are fast, reliable, and localized in a short distance
from the source (all those parameters result in low ())can
aggregate a higher number of peers and the transmission
quality will not be reduced. On the contrary, a high () value
of a member in a group prevents from accepting too many
other peers. It prevents from low QoS parameters (like high
delay and low streaming rate), experienced by many peers,
when peer (with poor resources) becomes a relay point.
In particular, when a peer has a notably higher () (with
comparison to the values of () for other peers), caused
by low-quality transmission (e.g., wireless access), it will
constitute an independent group receiving data directly from
the server to alleviate the negative eects related to this peer’s
poor resources.
4.4. Churn Eect. e considerations presented above
assume the static environment: all peers are permanently
on-line. However, in a real overlay, peers can freely join and
depart the PP network. In result, the population of the
swarm and the connections within it oen change, what
is known as the churn eect. To avoid frequent chaotic
rearrangements of connections in case of every peer joining
or departure, we assume that the overlay members apply
the Humies algorithm only in a specied point of time,
called reorganization. In the interim, every new peer is
temporarily serviced by a random node. On the other hand,
for each leader of a group, a backup leader is dened. It is
selected as a peer with the second lowest () value in the
group. e backup leader takescareofagroupincaseofthe
leader departure. erefore, a single peer departure does not
destroy the existing multicast tree.
5. Numerical Results: Simulations
To evaluate benets of the Humies concept in a video
streaming network, we carried out simulations, obtained
using a C simulator developed by us. Two scenarios
for performance investigation and one scenario for fault
resilience were examined. For all simulations, a core network
has been randomly constructed according to the model
presented in [], with symmetric  Mbit/s links between
selected routers. Peers were grouped into ve ISP networks
(ISP A–E), where each ISP was connected to one of the
backbone routers with a symmetric speed of  Mbit/s. To
mimic a real-world environment, a number of customers and
their access bandwidths were generated taking into account
statistics oered by a connection speed estimation web
service (http://www.netmeter.eu/). An interdomain network
topology contains nine domains connected via fourteen links.
A network topology, used for simulations, is presented in
Figure . e content server (located in the biggest ISP A) had
Mbit/s uplink and  Mbit/s downlink bitrates. Moreover,
eachpeercouldhandleatmostfoursimultaneousupload
connections (=4). To limit frequent reorganization of the
network transmission tree, due to the churn eect, Humies
reorganizations were separated with  minutes long space. All
results are presented with % condence intervals.
To investigate the overlay streaming eciency and exhibit
the Humies features, we exploited various overlay creation
concepts, such as
(i) Humies (H),
(ii) centralized Humies (H-C),
(iii) random (R),
(iv) Network Friendly Tree (NFT),
(v) minimum  tree (M).
e distributed Humies algorithm, described in Section .,
is denoted as the Humies (H) concept to distinguish it from
the centralized Humies (H-C). e simplest random (R)
method assumes that an entering peer connects to one of
the randomly selected peers. It also pays attention to the
maximum number of the upload connections to be handled.
Journal of Computer Networks and Communications
16
8 8
3
0 3
5
24
10 14
𝐺1
𝐺1
𝐺1
𝐺2𝐺2
𝑠
(a) Binary tree
10 14
16
3
0 0 3
5 8
𝐺1𝐺2
𝐺3𝐺3
𝐺3
𝑠
(b) Ternary tree
F : Example of binary and ternary Human trees.Labels𝑖given beneath nodes indicate to which group a given peer should belong.
e dotted circles indicate group borders. e values in circles denote ().
ISP A ISP B
ISP C ISP D ISP E
F : e interdomain network topology used in the simula-
tions.
. e R concept can be treated as a reference idea due to its
underlay agnostic principle. In the NFT, the receiver-centric
algorithm chooses a neighbor achieving the minimum value
of  across all peers in the swarm. e minimum tree (M)
is similar to the Humies concept; however, it diers with the
grouping scheme: the peers sorted according to () in the
decreasing order are consecutively pooled (with the round-
robin technique) into groups. Similarly to the Humies, a
peer with the lowest () valueinagroupisselectedasagroup
leader.edataisalwaystransferredtopeers with the lowest
 value. Figure  gives examples with (i) a Human tree
and (ii) a minimum tree for the same  values.
We analyze four types of relative metrics which span
requirements of all entities involved in the PP transfer:
(i) speed: average end-user download speed,
(ii) delay: average delay of the content playback,
(iii) network eciency: the ratio between the total load
received by all peers to the total inter-ISP trac,
(iv) fault immunity: the percentage volume of peers that
suerdatalossincaseofafailureofagateway
(intradomain) ISP link.
All the aforementioned parameters, except for the network
eciency, are relevant for an end-user, since they inuence
QoE. e network eciency shows how ecient the over-
lay network is in utilizing expensive inter-ISP links and,
therefore, this factor is related to the ISP objective. e last
interested player, a content/streaming provider, wishes to
provide a streaming service with a high reliability and high
quality for an end-user, while optimal utilization of network
devices is also prominent. erefore, the content provider is
interested in all the studied metrics.
5.1. Scenario I: Basic Performance Evaluation. In Scenario I,
we compared the Humies approaches, both centralized and
distributed, with NFT and underlay oblivious R concepts.
Live streaming content uses  kbit/s rate. Peers’ lifetimes
follow a normal distribution with mean equal to  and
standard deviation equal to  minutes, while their oine
times follow a normal distribution with mean equal to  and
standard deviation equal to  minutes. Each simulation took
 minutes and was repeated  times to accomplish credible
and representative results. e warm-up period, determined
according to a standard method presented by Tyszer [,
Chapter ..], oscillated in vicinity of  minutes.
Figure  presents the average download speed with vari-
ousnumbersofpeersinaswarm.ecentralizedHumies
(H-C) achieves the best result for small swarms and with
increasing number of peers the downloading speed drastically
deteriorates. Most likely it is caused by ping packets ood
in case of a new peer joining, which has to estimate s
to all on-line nodes in a swarm. e churn eect does not
inict such degradation in case of the distributed Humies
(H) method. Its results are slightly worse for small swarms;
nonetheless it copes with scaling problems and the churn
eect much better than the centralized algorithm. e NFT
and R concepts achieve lower downloading speedsforall
inspected swarms. It is also interesting to note that the R
approach also suers from the churn eect in a bigger swarm,
like the centralized Humies (H-C). Figure  shows the speed
uctuations.elargedisadvantageofNFTcanbeespecially
observed with this plot.
e network eciency results are plotted in Figure ,
where NFT signicantly outperforms other considered
schemes.isiscausedbyahighclusterizationofpeers
within each ISP network as a consequence of a mere delay-
aware neighbor selection process. Other approaches obtain
Journal of Computer Networks and Communications
10 14 16
3
0 0 3
5 8
𝑠
(a) Human tree
3
10
5
14
8
𝑠
(b) Minimum tree
F : Human and Minimum trees for the same peers with selected s (values , , , , and ). Members of each group are placed
within dotted circles. =3.
0 100 200 300
100
150
200
250
Swarm size
Average peer speed (kbit/s)
H
H-C
NFT
R
F : Average peer speed in Scenario I.
0100 200 300
0
25
50
75
Swarm size
Speed std (%)
H
H-C
NFT
R
F : Average peer speed uctuations in Scenario I.
stable results along various swarm sizes. Altogether, both
Humies algorithms inict a lower inter-ISP load than a
simpleRapproach.enetwork eciency for the distributed
HumiesisalmostdoubledincomparisontotheRcase.
e delay between the server and end-users is relevant for
0100 200 300
50
100
Swarm size
Network efficiency (bit/bit)
H
H-C
NFT
R
F : Average network eciency in Scenario I.
0 100 200 300
250
500
750
1000
1250
1500
Swarm size
Average peer delay (ms)
H
H-C
NFT
R
F : Average peer delay in Scenario I.
multimedia streaming, in particular when live content is
involved. Figure  showsthattheHumiesapproachkeeps
low delay for various swarm sizes, contrary to other concepts
that notably increase the content lag as a swarm size increases.
A considerable growth of the delay for NFT, which we observe
Journal of Computer Networks and Communications
T : Parameters of the performance evaluation cases in Scenario
II.
Case Switch on time Lifetime Oine time
NC (no churn) – minutes Innite
C (churn) – minutes – minutes – minutes
between networks with  and  nodes (although in the
case of le-sharing, such a size is very large, for live streaming
such an extension of the peer set is quite real or even quite
small, e.g., football league match), is caused by a long average
path from the server to a peer. For other concepts, a mean
number of overlay hops is smaller than three, but NFT creates
atopologywherethedatahastoberelayedtoreacha
destination by more than ve other peers on average. Every
overlay hop introduces additional delay, that is, why NFT
achieves high values. Based on the previous results we noticed
that the centralized Humies provides better results for small
swarms. However when the number of nodes in the overlay
exceeds a threshold level, its eciency deteriorates drastically.
On the other hand, NFT gracefully utilizes inter-ISP links, but
it introduces a huge delay between the server and peers and
this method achieves low streaming rates. us, for Scenario
II investigating head-to-head comparison with the reference
R approach and involving bigger swarms, we decided to
omit the centralized Humies (H-C) and NFT schemes as
evidently inferior.
5.2. Scenario II: Extensive Performance Evaluation. In Sce-
nario II, each simulation took  hours. e streaming
content rate was equal to  kbit/s. To explore the churn
eect impact, we exploited two cases. e rst case dealt
with all peers joining the overlay according to the uniform
distribution during rst  minutes and are kept on until the
end of the simulation (no departures). In the second case, the
peer’s lifetime and oine time were obtained from a uniform
distribution between  to  minutes and  to  minutes,
respectively. e parameters of those cases are presented in
Table .
An improvement, against the reference R concept, of the
speed (Figure (a))andthenetwork eciency (Figure (b))
is presented. We can see that the both speed and network
eciency results are better for the Humies approach (com-
pared to the R and M concepts). e dierence is greater
when the swarm becomes larger, due to the fact that the
Humies approach serves more trac inside one operator
domain; thus inter-ISP links (which become bottlenecks) are
not heavily occupied. From Figure ,wherethespeed for
all approaches is presented, we can observe that for swarms
larger than  peers average speed signicantly decreases
for the R and M methods. At the same time, the Humies
approach still achieves a very good transfer speed. A relatively
stable streaming rate among various swarm sizes proves
that the distributed Humies has good scalability abilities
since a bigger swarm does not result in the downloading
speed degradation. Although the minimum (M) alternative is
characterized by a higher network eciency in comparison
to the reference R scheme (Figure (b)), the average speed
100 200 300 400 500
0
20
40
60
Swarm size
Speed improvement (%)
H, case NC H, case C
M, case NC M, case C
−20
(a) Speed change
0 100 200 300 400 500
0
100
200
300
400
Swarm size
Network efficiency improvement (%)
H, case NC H, case C
M, case NC M, case C
(b) Network eciency change
F : Scenario II: improvement against the reference R tree
creation scheme.
received by peers is oen lower than that in the case of the
simple R method (Figure (a)).
One of the main challenges the Humies concept still
has to cope with its resilience against the churn eect.
Figure  illustrates that the improvement of both the speed
and network eciency decreases when peers join or depart
theoverlaynetworkatwill(caseC).Notethatinspiteofthat
decrease, the Humies approach immensely outperforms
other methods from the viewpoint of those two metrics.
5.3. Scenario III: Fault Resilience. e Humies approach
is characterized by a decreased number of backbone links
involved in the transmission. Keep in mind that the usage
of additional network nodes (i.e., routers in the IP multicast
applications) when the data unnecessarily traverses several
times over the same link leads to single points of failure
that can noticeably aect the system reliability. Here, in
Scenario III, we also investigate the number of nodes that
 Journal of Computer Networks and Communications
0 100 200 300 400 500
75
100
125
Swarm size
Average peer speed (kbit/s)
H
M
R
Plain server
F : Scenario II: average peer speed depending on a swarm
size.
suer data loss when a (randomly selected) ISP gateway-link
fault occurs. e results presented in Figure  are obtained
from simulations, where suddenly all peers from one of the
ve ISP networks are pulled apart from the rest of the overlay
network, resulting in the tree decay. To prevent the overlay
network from the content server isolation (in case of ISP
A fault), the server is located in a separate network which
permanently services the content streaming. In case of the
Humies algorithm, the percentage of suering peers was
usually –% less than that in the M and R approaches,
respectively.WeenvisionedthattheNFTconcept,charac-
terized with a good clusterization observed in Scenario I,
will achieve low number of decoupled nodes in case of an
ISP break. However, it achieved values higher by only –
% than the proposed approach and oscillated in vicinity
of %. e reason for it can arise from a long average path
from the server to a peer as we observed in Section ..e
accomplished results show that when using the Humies
method,connectionsaredenselyandecientlyclustered
within ISP networks. us, isolating one region from the
entire community has a smaller impact on the rest of overlay
nodes, proving that network resilience against ISP gateway-
link faults, using Humies, is higher than that in the other
considered concepts.
6. Summary
We present a novel method, “Humies,” to be used in PP
video live streaming networks. It leverages the Human cod-
ingmethodtocreateaconnectiongraphttedtotheunderlay
network properties and peers heterogeneous network access.
First we show the optimal centralized algorithm, dicult to
implement in a real world due to the scalability problems and
intricate probing process. en, the distributed algorithm, a
main contribution of this work, is elaborated as a practical
application. e Humies concept emphasizes the following
three issues: (a) minimizing delays between the content
serverandend-users,(b)maximizingthetransmissionspeed,
and (c) enhancing ISP gateway-link fault immunity. Based on
10 20 40 75
0
10
20
30
Swarm size
Volume of peers (%)
H M
RNFT
(a)
H M
RNFT
100 200 350 500
0
10
20
30
Swarm size
Volume of peers (%)
(b)
F : Peers suering data loss in case of an ISP gateway-link
fault.
the presented simulations, we illustrated that the proposed
distributed Humies approach achieves better results than
other concepts, especially when a swarm aggregates more
peers and the ISP networks become congested. Since the
approach is benecial for end-users, content providers and
alsoISPs,wecanarguethattheusageofHumiesistforall
entities involved in the overlay video multicast.
e properties of our approach are based on its similarity
totheHumansourcecodingprovidingtheoptimal-ary
tree. Likewise, we provide the optimal transmission tree for
the PP video streaming basing on the  measurements.
ere are two main challenges related to such an approach.
()enodeaggravation,thatis,thecounterpartofthe
probability in the Human algorithm, calculated on
the basis of the  measurements, might change in
time due to the well-known measurement problems
(e.g., the results are unstable). We counteract the neg-
ative consequences by repeating the measurements
and rebuilding the tree. Additionally, the nodes are
grouped in the distributed version of Hummies in
such a way that the delay measurements are more
precise, since they are related to peers located close
to each other.
() e Human coding assumes that each intermediate
node should have children to attain the optimality,
but in the case of some peers in the Humies tree, the
assumednumberoftheattachedchildrenmightharm
Journal of Computer Networks and Communications 
the performance due to lack of resources. is prob-
lem can be dealt with by letting the nodes “cheat” if
they have insucient resources. e cheating consists
in informing that some of their transmission slots
areused,whileinfacttheyarenot.
Acknowledgment
is paper is an extended version of []. e work is
supported by the Polish National Science Centre under Grant
N N .
References
[] S. Tang, Y. Lu, J. M. Hern´
andez, F. Kuipers, and P. van Mieghem,
“Topology dynamics in a PPTV network,” in Proceedings of the
IFIP-TC6 International Conference on Networking (NETWORK-
ING ’09),Aachen,Germany,May.
[] R.J.Lobb,A.P.CoutodaSilva,E.Leonardi,M.Mellia,and
M. Meo, “Adaptive overlay topology for mesh-based PP-TV
systems,” in Proceedings of the 19th International Workshop on
Network and Operating Systems Support for Digital Audio and
Video (NOSS DAV ’09) , pp. –, Williamsburg, Va, USA, June
.
[] F. Picconi and L. Massouli´
e, “ISP-friend or foe? Making PP
live streaming ISP-aware,” in Proceedings of the 29th IEEE
International Conference on Distributed Computing Systems
(ICDCS ’09),Montreal,Canada,June.
[]W.Liang,J.Bi,R.Wu,Z.Li,andC.Li,“Oncharacterizing
PPStream: measurement and analysis of PP IPTV under
large-scale broadcasting,” in Proceedings of the IEEE Global
Telecommunications Conference (GLOBECOM ’09), Honlulu,
Hawaii, USA, November-December .
[] E.K.Lua,X.Zhou,J.Crowcro,andP.vanMieghem,“Scalable
multicasting with network-aware geometric overlay,” Computer
Communications, vol. , no. , pp. –, .
[] T.Peng,Q.Zheng,W.Lv,S.Jiang,andJ.Gao,“Networkfriendly
tree for peer-to-peer streaming,” in Proceedings of the 12th
International Conference on Computer Supported Cooperative
Work in Design (CSCWD ’08), pp. –, Xi’an, China, April
.
[] R. Besharati, M. Bag-Mohammadi, and M. A. Dezfouli, “A
topology-aware application layer multicast protocol,” in Pro-
ceedings of the 7th IEEE Consumer Communications and Net-
working Conference (CCNC ’10), Las Vegas, Nev, USA, January
.
[] T. Kikkawa, T. Miyata, and K. Yamaoka, “Maximum-bandwidth
ALM tree on tree network,” in Proceedings of the 7th IEEE
Consumer Communications and Networking Conference (CCNC
’10), Las Vegas, Nev, USA, January .
[] I.Rimac,V.Hilt,M.Tomsu,V.Gurbani,andE.Marocco,“ASur-
vey on Research on the Application-Layer Trac Optimization
(ALTO) Problem,” IETF RFC , October .
[] G. D´
an,T.Hoßfeld,S.Oechsneretal.,“Interactionpatterns
between PP content distribution systems and ISPs,” IEEE
Communications Magazine,vol.,no.,pp.,.
[] J. Seedorf and E. W. Burger, “Application-Layer Trac Opti-
mization (ALTO) Problem Statement,” IETF RFC , October
.
[] O.Abboud,A.Kova
ˇ
cevi´
c,K.Gra,K.Pussep,andR.Steinmetz,
“Underlay awareness in PP systems: techniques and chal-
lenges,” in Proceedings of the 23rd IEEE International Parallel
and Distributed Processing Symposium (IPDPS ’09),Rome,Italy,
May .
[] A. Kovaˇ
cevi´
c, O. Heckmann, N. C. Liebau, and R. Steinmetz,
“Location awareness-improving distributed multimedia com-
munication,Proceedings of the IEEE,vol.,no.,pp.,
.
[]X.Tu,H.Jin,X.Liao,andJ.Cao,“Nearcast:alocality-aware
PP live streaming approach for distance education,ACM
Transac tion s on Inte r n et Tec hno logy,vol.,no.,.
[] D. A. Human, “A method for the construction of minimum-
redundancy codes,Proceedings of the IRE,vol.,no.,pp.
–, .
[] R. Gallager, “Variations on a theme by Human,IEEE Trans-
actions on Information eory,vol.,no.,pp.,.
[] D. E. Knuth, “Dynamic Human coding,” JournalofAlgorithms,
vol. , no. , pp. –, .
[] J. S. Vitter, “Design and analysis of dynamic Human codes,
Journal of the ACM,vol.,no.,pp.,.
[]E.W.Zegura,K.L.Calvert,andS.Bhattacharjee,“Howto
model an internetwork,” in Proceedings of the 15th Annual Joint
Conference of the IEEE Computer and Communications Societies
(INFOCOM ’96), San Francisco, Calif, USA, March .
[] J. Tyszer, Object-Oriented Computer Simulation of Discrete-
Event Systems, Kluwer Academic Publishers, Dordrecht, e
Netherlands, .
[] B. Polaczyk, P. Chołda, and A. Jajszczyk, “Human coding
inspired peer-to-peer multicasting,” in Proceedings of the 10th
International Symposium on Electronics and Telecommunica-
tions (ISETC ’12), Timisoara, Romania, November .
... To reduce the cost of broadcasting in the P2P network, various mechanisms have been proposed. For example, one project employed multicasting to replace broadcasting [39]; another project performed selective forwarding to limit the number of search hops [40]; in another work, probabilistic forwarding of queries was proposed to replace flooding [41]. The aforementioned P2P networks are unstructured networks, which do not impose a particular structure on the overlay network by design, but rather are formed by nodes that randomly connecting to each other. ...
Article
Full-text available
The Internet of Things (IoT) envisions a multitude of heterogeneous objects and interactions with physical environments. It has provided a promising opportunity to build powerful services and applications by leveraging the growing ubiquity of smart objects connected to the Internet. In this environment, it is challenging to locate desirable services due to the considerable diversity, large scale, dynamic behavior, and geographical distribution of the services provided by physical objects. In this paper, we propose a decentralized semantics-based service discovery framework, which can effectively locate trustworthy services based on requester’s Quality of Service (QoS) demands and changing context requirements. The proposed service discovery system is built upon fully distributed Peer-to-Peer (P2P) architectures and includes two discovery approaches which are scalable, robust, and trust assured. Moreover, an efficient trust propagation mechanism is proposed, which seamlessly integrates with the proposed service discovery system without adding additional infrastructure overhead. Comprehensive simulation studies have demonstrated the effectiveness of the proposed framework.
Conference Paper
Full-text available
Peer-to-peer (P2P) applications have recently attracted a large number of Internet users. Traditional P2P systems however, suffer from inefficiency due to lack of information from the underlay, i.e. the physical network. Although there is a plethora of research on underlay awareness, this aspect of P2P systems is still not clearly structured. In this paper, we provide a taxonomical survey that outlines the different steps for achieving underlay awareness. The main contri-bution of this paper is presenting a clear picture of what underlay awareness is and how it can be used to build next generation P2P systems. Impacts of underlay awareness and open research issues are also discussed.
Conference Paper
Full-text available
Current peer-to-peer systems are network-agnostic, often generating large volumes of unnecessary inter-ISP traffic. Although recent work has shown the benefits of ISP-awareness on bulk transfer applications, no studies have focused on optimizing P2P live streaming systems. These are harder to design, as data must be diffused to all receivers within short delays. In this paper we propose a novel scheme for ISP-friendly mesh-based live streaming. Each peer maintains two distinct sets of overlay neighbors, used respectively for local and global stream propagation. A dynamic unchoke mechanism minimizes inter-ISP traffic in normal operation, enabling it promptly when local diffusion is impaired, e.g., when fast local sources become suddenly unavailable. Our scheme is independent of the chunk scheduling algorithm, and thus can be applied to a wide range of existing systems. We have integrated our ISP-friendly scheme to our P2P live streaming prototype, and evaluated its performance through emulation and Planetlab experiments. Our results show that our scheme adapts quickly to churn and dynamic network conditions, and achieves up to a ten-fold reduction in transit traffic.
Conference Paper
Full-text available
Despite the recent and remarkable popularity of P2P IPTV systems, the study of their characteristics on largescale broadcasting is rare. In this paper, we have undertaken a measurement study on one of the most popular P2P IPTV systems, PPStream, during the 29th Olympics broadcasting. We deployed our dedicated measurement tool, PPS-Sniffer, under different network environments, and collected extensive data during a large number of events. We evaluate the playback delay, and the peering strategies towards local cluster. We also investigate the data scheduling, and its impact on the playback quality and the control overhead. To the best of our knowledge, results obtained in our study are unique and new as compared with existing work. Specifically, our study demonstrates that: (1) The playback delay is notable in Olympic channels, even for close peers. (2) Peering strategies of PPStream target mainly on the ISP level, and should exploit peers of local clusters to reduce the playback lag among close peers. (3) We unveil an overhead-quality tradeoff that sheds light on the design of future systems that can achieve a good balance. Our study aids the understanding of significant performance and design issues of PPStream, and is also useful for optimizing, modeling and the future design of P2P IPTV systems.
Article
Peer-to-peer (P2P) live video streaming has been widely used in distance education applications to deliver the captured video courses to a large number of online students. By allowing peers serving each other in the network, P2P technology overcomes many limitations in the traditional client-server paradigm to achieve user and bandwidth scalabilities. However, existing systems do not perform well when the number of online students increases, and the system performance degrades seriously. One of the reasons is that the construction of the peer overlay in existing P2P systems has not considered the underlying physical network topology and can cause serious topology mismatch between the P2P overlay network and the physical network. The topology mismatch problem brings great link stress (unnecessary traffic) in the Internet infrastructure and greatly degrades the system performance. In this article, we address this problem and propose a locality-aware P2P overlay construction method, called Nearcast , which builds an efficient overlay multicast tree by letting each peer node choose physically closer nodes as its logical children. We have conducted extensive simulations to evaluate the performance of Nearcast in comparison with the existing RTT and NICE protocols. Also, Nearcast has been deployed on a wide-area network testbed to delivery video coursed to about 7200 users distributed across 100 collages in 32 cities in China. The experimental results show that Nearcast leads to lower link stress and shorter end-to-end latencies compared with the RTT and NICE protocols.
Article
An optimum method of coding an ensemble of messages consisting of a finite number of members is developed. A minimum-redundancy code is one constructed in such a way that the average number of coding digits per message is minimized.
Article
A significant part of Internet traffic today is generated by peer-to-peer applications, used traditionally for file sharing, and more recently for real-time communications and live media streaming. Such applications discover a route to each other through an overlay network with little knowledge of the underlying network topology. As a result, they may choose peers based on information deduced from empirical measurements, which can lead to suboptimal choices. We refer to this as the application layer traffic optimization (ALTO) problem and present a survey of existing literature. We summarize and compare existing approaches, identify open research issues, and state the need for layer cooperation as a solution to the ALTO problem.
Conference Paper
It is important to use an ALM (application layer multicast) tree with broad bandwidth to ensure the quality of streaming applications. However, when constructing an ALM tree without information on underlay traffic, we cannot know how much congestion there is in links. Therefore, if unexpected congestion in links occurs, the quality of ALM transmissions may worsen. However, no polynomial-time algorithms for constructing maximum-bandwidth ALM trees with information on underlay traffic exist. We regarded an underlay network as a tree network topology in our previous work, and presented a polynomial-time algorithm that was used to construct a maximum-bandwidth ALM tree. We also proved that we could obtain an optimal ALM tree. However, we had not yet evaluated our algorithm by simulation. Here, we discuss our evaluation of the algorithm we propose and a conventional one. We found our algorithm could achieve a broader bandwidth ALM tree at lower computational cost, especially in large networks.
Conference Paper
Application Layer Multicast (ALM) is considered as an alternative approach to IP multicast. Topology awareness is an important metric for ALM because it reduces link stress and delay stretch considerably. This work describes a novel, stable and low overhead ALM approach using binning technique to cluster nearby receivers, referred to as Bincast. Bincast uses a constant number of landmarks to cluster nearby nodes. It then constructs a k-ary tree between cluster members. The most stable node is selected as the local header in each cluster. It monitors cluster membership events and decides to split or merge the cluster if necessary. Detailed performance evaluation revealed that Bincast has lower delay stretch than similar methods with approximately same stress.
Article
It is crucial to design an efficient network-aware overlay network to enable multicast service to adjust under the dynamic underlying network conditions and node churn in a scalable manner without extensive network measurements. We propose an accurate and scalable Internet subspace geometry to embed the nodes onto a geometric plane by measuring delay latencies between some nodes and assign geometric coordinates to all nodes in such a way that the geometric distances between node coordinates closely approximate their delay latencies. We exploit this Internet subspace geometry to design a network-aware SuperPeers–Peers geometric overlay hierarchy. This is maintained locally in a distributed manner allowing lightweight self-organization. We then create shortest-path overlay multicast tree based on shortest geometric distances between SuperPeers at the SuperPeers layer for overlay multicasting. This low-latency and high-bandwidth multicast backbone infrastructure will serve the Peers in the lower layer. We evaluate our proposals on the 10 massive scale networks each consisting of 100,000 nodes and in the PlanetLab. Our performance evaluation results show high efficiency and good scalability.
Article
This note shows how to maintain a prefix code that remains optimum as the weights change. A Huffman tree with nonnegative integer weights can be represented in such a way that any weight w at level l can be increased or decreased by unity in O(l) steps, preserving minimality of the weighted path length. One-pass algorithms for file compression can be based on such a representation.