Live Streaming Performance of Peer-to-Peer Systems ILIAS CHATZIDROSSOS Doctoral Thesis

Live Streaming Performance of Peer-to-Peer Systems ILIAS CHATZIDROSSOS Doctoral Thesis
Live Streaming Performance of
Peer-to-Peer Systems
ILIAS CHATZIDROSSOS
Doctoral Thesis
Stockholm, Sweden 2012
Live Streaming Performance of Peer-to-Peer Systems
ILIAS CHATZIDROSSOS
Doctoral Thesis
Stockholm, Sweden, 2012
TRITA-EE 2012:004
ISSN 1653-5146
ISBN 978-91-7501-241-4
School of Electrical Engineering
KTH, Stockholm, Sweden
Akademisk avhandling som med tillstånd av Kungl Tekniska högskolan framlägges
till offentlig granskning för avläggande av doktorsexamen torsdagen den 9 februari
2012 i Sal F3, KTH, Stockholm.
© Ilias Chatzidrossos, February 2012
Tryck: Universitetsservice US AB
Abstract
In peer-to-peer (P2P) live streaming systems peers organize themselves
in an overlay and contribute with their resources to help diffuse live content
to all peers in a timely manner. The performance of such systems is usually
characterized by the delay-loss curve, which quantifies the playback delay
required for achieving a certain streaming quality, expressed as the chunk
missing ratio at the peers. The streaming quality is determined by the overlay construction algorithm, the forwarding algorithm, the loss process in the
underlying network, the number of peers in the overlay and their bandwidth
distribution, the willingness of the peers to contribute with their resources
and the viewing behavior of the peers (churn). The overlay construction and
forwarding algorithms are inherent characteristics of a P2P protocol, while
the remaining factors are artifacts of the deployment of the P2P system over
a best-effort network such as the Internet, as well as the fact that peers act as
independent agents. The current thesis addresses the problem of evaluating
and improving the performance of P2P streaming protocols based on models
of the network and of the peers’ behavior.
The first part of the thesis is devoted to the performance evaluation of
P2P overlay construction and forwarding algorithms and offers three contributions. First, we study the efficiency of data distribution in multiple tree-based
overlays employing forward error correction. We derive analytical expressions
for the average packet possession probability as well as its asymptotic bounds
and verify our results through simulations. Second, we evaluate the performance of a streaming system in the presence of free-riders. We define two
admission control policies and study the streaming feasibility using an analytical model and via simulations. Third, we present an analytic framework
for the evaluation of forwarding algorithms in mesh-based systems. We validate it via simulations and use it to evaluate and to compare four push-based
forwarding algorithms in terms of their delay-loss curves.
The second part of the thesis investigates potential improvements to the
operation of P2P streaming systems and offers three contributions in that
area. First, we study the impact of selfish peer behavior on streaming quality
in overlays where a fraction of peers has limited contribution due to physical constraints. We show that selfish peer behavior results in suboptimal
streaming quality and we propose an incentive mechanism that increases the
streaming quality by using the server upload capacity to reward high contributing peers. Second, we study the problem of building network aware
P2P streaming overlays, taking into account recent measurement results that
indicate that the AS-level topology of the Internet is flattening. Through
extensive simulations on regular and measured topologies we show that it is
possible to create better than random overlays relying on information about
the underlying topology. Finally, we study the problem of playout adaptation in P2P streaming systems under churn. We propose and evaluate two
algorithms that tune the playback delay of the peers in such a way that the
streaming quality of the peers is maintained within predetermined limits. We
use simulations to show the correctness of the proposed algorithms and the
benefits from their use.
Acknowledgements
I would like to thank my main advisor Ass. Prof. György Dán for his guidance and
all the interesting discussions that were providing me with invaluable insights into
the problems that I had to address. I highly value his understanding, patience and
persistence when things would not go as expected. I would also like to thank my now
second, but originally main advisor, Assoc. Prof. Viktória Fodor, for introducing
me into the world of research and guiding me through the important first steps
of a long journey leading to the writing of this thesis. A big part of the work
presented herein was conducted under her supervision. Furthermore, I am thankful
to Prof. Gunnar Karlsson for giving me the opportunity to become a member
of this lab. Moreover, I would like to thank Dr. Arnaud Legout, my supervisor
during my internship at INRIA and co-author of one of the papers included in this
thesis. I feel that I should also thank all the members of LCN, current and past,
for maintaining a friendly environment in the lab and for breaking the monotony
of everyday work.
I am thankful to all my friends everywhere. To those in Stockholm for making me
feel at home away from home. To those back home for always being there for me
when needed and for constantly showing me that I am still part of their lives despite
my six years long physical absence. To those scattered abroad for the same reasons,
as well as for hosting me during fun and relaxing/refreshing weekends. Lastly, I
would like to express my gratefulness to my parents for their constant support.
Contents
Contents
vii
1 Introduction
1
2 Performance metrics and challenges
2.1 Performance metrics . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Design challenges for P2P streaming systems . . . . . . . . . . . . .
5
5
7
3 Architectures
3.1 Tree-based streaming . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Mesh-based streaming . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Hybrid systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
9
13
15
4 Performance evaluation
4.1 Data forwarding in P2P streaming systems
4.2 Streaming in heterogeneous P2P networks .
4.3 Playout adaptation in P2P systems . . . . .
4.4 Network awareness . . . . . . . . . . . . . .
17
17
20
23
24
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5 Summary of original work
27
6 Conclusion and Future Work
33
Bibliography
37
Paper A:
Paper B:
Paper C:
Paper D:
Paper E:
Paper F:
Streaming Performance in Multiple-tree-based Overlays
Delay and playout probability trade-off in mesh-based peer-topeer streaming with delayed buffer map updates
On the Effect of Free-riders in P2P Streaming Systems
Server Guaranteed Cap: An incentive mechanism for maximizing
streaming quality in heterogeneous overlays
Playout adaptation for P2P streaming systems under churn
Small-world Streaming: Network-aware Streaming Overlay Construction Policies for a Flat Internet
vii
Chapter 1
Introduction
The introduction of new and efficient multimedia encoding standards combined
with the transition to the broadband Internet has led to a constant increase in the
demand for multimedia services, notably video, over the past decade. One of the
emerging applications has been the transmission of live video content from a source
to many destinations following the paradigm of scheduled TV broadcasting. This
type of transmission, referred to as multicast, primarily aims to provide TV services
over the Internet. It is however not only restricted to that, as it could be used in
other contexts as well such as teleconferencing (e.g. Skype).
The most straightforward approach to video delivery from a source to many
destinations is based on the client-server paradigm. A user interested in the content
connects to the server and then the server streams the video. This approach has
two major drawbacks. First, it does not scale well in the number of viewers. The
bandwidth requirements of the server increase linearly in the number of viewers and
addressing larger audiences requires expensive investments in server infrastructure.
Second, it incurs an unecessary stress on the physical network, since the content
is transmitted over the access link of the server a number of times equal to the
number of viewers.
Efficient one-to-many communication with respect to network resources and
scalability can be achieved through the use of IP multicast [1]. In the IP multicast
paradigm, users subscribe to multicast groups and the delivery of the content from
a source to the group members is done by forming a delivery tree on the network
layer, where routers are internal nodes and members of the multicast group are
leaf nodes of the tree. In IP multicast, data traverse a physical link only once
leading thus to the most efficient usage of network resources. It requires though
the deployment of IP multicast-enabled routers that maintain group membership
information and perform the routing of data to the members of the multicast group.
Although IP multicast is nowadays used for the delivery of IPTV services within
the boundaries of many Internet Service Providers (ISP), the lack of deployment of
interdomain multicast routing protocols [2] inhibited its prevalence as a mechanism
1
2
CHAPTER 1. INTRODUCTION
of delivering live content to users on a global scale.
The failure of IP multicast to become the universal solution turned the interest
to solutions run on the application layer of the Internet protocol stack and led
to the deployment of Content Delivery Networks (CDN) [3, 4]. CDNs mimic the
IP-multicast functionality, but on the application layer and consist of a number of
core and replica servers. Replica servers are strategically positioned servers that
the end-users can connect to and receive the streaming content. Core servers are
responsible for forwarding the content from the content source to the replica servers,
offering application layer routing services. Core servers do not stream the content
to end-users. CDNs achieve a lower redundancy on the physical network compared
to the client-server delivery, but only partially solve the problem of scalability. An
increase in the demand for streaming services still requires the further deployment
of servers, which is both costly and time consuming.
Peer-to-peer (P2P) systems were proposed as a potential solution to the scalability problems of IP multicast and CDNs. The success of P2P systems for file
sharing paved the way for the introduction of the P2P paradigm for streaming live
content. In P2P live streaming systems peers (users-viewers) organize themselves
in an overlay and use their resources, bandwidth and processing power, to help
data distribution. In short, peers download the live content from some peers and
at the same time they upload it to other peers. The scalability of such system is
potentially unlimited. The conception of P2P streaming is fairly simple and intuitive. Furthermore, the already acquired experience from file sharing has led to the
quick development of a plethora of P2P streaming systems. In fact, P2P streaming has been one of the areas where implementation preceded, to a large extent,
mathematical modelling and analysis of the systems.
The ease of deployment and the high global demand for streaming services [5]
has helped boost the popularity of P2P streaming systems. It revealed however
also many differences in the operation and performance of these systems [6, 7, 8].
These findings raise the question of whether it is possible to build optimal P2P
streaming systems and more importantly, if yes, how to build them. Answering
this question requires a deep understanding of the fundamental properties of P2P
streaming systems and how these are affected by the environment in which the
system is deployed. This investigation is challenging in itself for three reasons. The
first reason is the large state space for the P2P system design. The second reason
is the stochasticity introduced to the P2P system by the Internet as well as by the
fact that peers act as independent agents. The third reason is the fact that the
interactions and inter-dependencies among the peers make analytical tractability
difficult to achieve.
This thesis presents a study of the performance of P2P live streaming systems
using analytical methods as well as extensive simulations. Using these tools we aim
to:
• Analyze the efficiency of live content delivery in P2P streaming systems.
3
• Investigate the impact of the resource heterogeneity of the peers on the system
performance and to propose solutions to leverage peer contribution.
• Optimize the video delivery efficiency by taking into account information
about the underlying network.
The thesis is structured as follows. In Chapter 2, we introduce the most important performance metrics of P2P systems and present the challenges that the P2P
system designer has to face. In Chapter 3, we present the P2P streaming system
architectures that are used in this thesis. In Chapter 4, we discuss the contributions
of this thesis. Chapter 5 contains a summary of the papers included in this thesis
and the detailed contribution of the author of the thesis to each of them. Chapter 6 summarizes the main findings and conclusions drawn and discusses potential
directions for future research in the area of P2P streaming.
Chapter 2
Performance metrics and
challenges
2.1
Performance metrics
The performance of a P2P streaming system can be viewed from two different
perspectives: the peer and the system perspective. From the peer point of view the
performance of the system is measured by the quality of the delivered video stream.
From the system’s perspective the performance of the P2P system is measured by
the efficiency of the P2P protocol in utilizing the available resources, the fairness
in the resource allocation and the impact on the underlying network.
Peer-level performance metrics
The performance of a P2P system in live content distribution is captured by the
efficiency in delivering live content to the peers with no errors and at low delay.
Some of the most common metrics that we use in this thesis are the following:
Playout/Chunk miss ratio is the ratio of data not received by the time it should
be decoded and played out at the peer over the total amount of video data sent
by the streaming server. Although the playout miss ratio is the most widely used
metric for streaming performance, at least within the P2P streaming community,
it is rather generic and does not capture the impact of losses on the perceived
video quality. Metrics that are specifically targeted to measure video distortion are
the Mean Square Error (MSE) and the Peak Signal-to-Noise Ratio (PSNR). Both
of them are calculated from the received video sequence using the initial video
sequence as a reference. MSE is the average of the square of the difference of the
received and the initial frames of the video taken pixel-by-pixel, while the PSNR
p2max
) where pmax is the maximum possible pixel
is defined as P SN R = 10log10 ( MSE
value of a frame.
Startup delay is the time it takes from the moment a user requests a stream until
5
6
CHAPTER 2. PERFORMANCE METRICS AND CHALLENGES
the stream starts to be played out on her screen. Startup delay is determined by
two factors: channel setup time and buffering delay. During channel setup, a peer
looks for peers that are watching the same stream and that can serve as suppliers
of the stream. After channel setup a peer does not start to play out the received
content immediately, but initially buffers the content. Buffering is required in
order to absorb variations in packet delivery times and to increase the probability
of seamless playback. A metric related to the startup delay, is the zapping delay,
which is the time it takes from the moment a user switches channel until the new
channel projects onto her screen.
Playback delay is the time difference between the time instant that a video chunk
is generated at the server and the time instant this chunk is played out at a peer.
The lower the playback delay is, the closer to realtime is the viewing experience of
the users.
Playback lag is the time difference between the playing out of the same chunk in two
different peers in the overlay. Playback lag is not an issue in the case of streaming
pre-recorded video, but it could be a significant source of dissatisfaction when live
streaming is considered.
System-level performance metrics
The system-level performance metrics aim at capturing the efficiency of the utilization of resources (mainly upload bandwidth) in the overlay and how well the
overlay adapts to the underlying network. Some metrics that we use in the thesis
are the following:
Upload Bandwidth Utilization is the ratio of the upload bandwidth of the participating peers that is used by the system over the total available upload bandwidth.
A well designed P2P streaming system should be able to use all the upload bandwidth, if necessary, to satisfy the download rate requirements of the peers in the
overlay.
Bandwidth Usage Efficiency shows how close a system performs to the optimal
system for a given upload bandwidth distribution. An optimal system could be
defined, for example, as the one that maximizes the sum of the utilities of the
participating peers for a given upload bandwidth distribution.
Network Awareness is a measure of the extent to which the P2P system takes into
account information about the underlying network during overlay construction and
chunk forwarding. Network awareness is usually viewed with respect to capacity and locality. In capacity aware P2P systems overlay construction and/or data
distribution are modified according to the information on the capacities of the participating peers, e.g., prioritization of high capacity peers during video forwarding.
Locality awareness can be examined from two different perspectives. First, it can
be defined as the amount of inter-AS traffic generated by the P2P system, hence
the cost incurred to the AS managing entities. Second, it can be viewed as the
stress imposed on the physical network by the P2P overlay, that is the amount of
2.2. DESIGN CHALLENGES FOR P2P STREAMING SYSTEMS
7
bandwidth and the length of the network paths used to carry the overlay traffic.
2.2
Design challenges for P2P streaming systems
Ideally, a P2P streaming system should achieve good performance with respect to
all of the aforementioned metrics. There are, however, a number of challenges that
have to be dealt with and which are related to the environment in which the P2P
system operates and to the user behavior.
First, a P2P system has to be resilient to churn, which is the joining and leaving
of peers in the overlay. Churn can affect the playback continuity of the stream since
peer departures may slow down the distribution of data in the overlay. Therefore,
the overlay maintenance protocol has to locate new suppliers as fast as possible to
alleviate the impact of a departure on the playback continuity of a peer.
Second, a P2P streaming system should scale well with the number of participating peers. As the overlay increases in size, the delay of delivering video data
to all peers increases. For maintaining a constant playout miss ratio as the overlay
increases in size, the playback delay of the peers has to increase as well. As far as
scalability is concerned the challenge is two-fold. First, the increase in the average
playback delay as the overlay size increases should be such that it does not have a
severe impact on the streaming experience of the peers. Second, the system should
maintain a small playback lag among peers, so as not to affect the live experience.
The third challenge of a P2P streaming system design is the utilization of heterogeneous bandwidth resources. Streaming feasibility depends on the so-called
resource index, which is the ratio of the average upload bandwidth contribution
over the video encoding rate. If the resource index is larger or equal to 1, then
streaming at full rate to all peers is theoretically feasible. In todays Internet the
upload bandwidths of the peers can be very different with respect to the streaming
rate and, moreover, the asymmetric nature of some access technologies can lead to
low resource index values. Therefore, P2P systems need to build overlays where
the heterogeneous bandwidth resources are effectively used.
Fourth, apart from physical limitations, the resource index can also be constrained by the unwillingness of peers to contribute. Peers that want to receive data
but not participate in the video dissemination are called free-riders. Free-riders are
a threat to the system because they consume resources without contributing any,
thus lowering the resource index. Therefore, it is important to design P2P systems
that provide incentives to contribute.
Fifth, a P2P system needs to maximize the social welfare in the overlay given
by the sum of the peers’ utility functions. This is particularly important when
considering the streaming of scalable video to overlays consisting of terminals with
different characteristics and physical limitations with respect to upload/download
bandwidths (e.g. mobile devices).
The sixth challenge for P2P streaming systems is to become network aware, to
take the underlying network’s characteristics into consideration, while at the same
8
CHAPTER 2. PERFORMANCE METRICS AND CHALLENGES
time maintaining a good performance. Construction of purely random overlays can
cause problems to Internet Service Providers (ISP) or other managing entities of
Autonomous Systems (AS) where the peers of the overlay reside, by incurring large
costs to them due to the amount of traffic originating from or addressed to their
networks. Network awareness demands the construction and maintenance of the
overlay in a way that takes the AS boundaries into account and that minimizes the
amount of costly inter-AS traffic. However, overlay construction based on proximity criteria imposes restrictions on the paths over which data can be diffused
in the overlay, and may deteriorate the streaming performance compared to randomly formed overlays. It is therefore necessary to devise proximity-based overlay
construction techniques that can maintain high streaming performance.
Chapter 3
Architectures
Any P2P streaming system can be decomposed into two sub-systems that work in
parallel: overlay construction and maintenance, and chunk forwarding. The overlay
construction and forwarding algorithms constitute the P2P protocol. Depending on
the design choices with respect to the overlay construction and chunk forwarding,
P2P systems with different characteristics can be built.
3.1
Tree-based streaming
The first overlay architectures proposed for P2P streaming were based on a single
tree. In this case all peers are organized in a tree rooted at the server node, which
is the source of the stream. Each node in the tree can have as many children as
its capacity relative to the streaming rate allows. The tree construction and the
parent-child relations can be determined by factors such as the end-to-end latency
between peers [9], available bandwidth, or the underlying physical topology [10].
The video is segmented at the source into data units called packets or chunks. We
will refer to them as packets, but in order to avoid confusion, we emphasize that,
by that term, we refer to the application layer data unit. A packet is sent from the
source to its children in the first level of the tree and they, in turn, push it to their
children until all the peers in the tree receive the packet. Though it is a structure
simple to construct, the single tree architecture has many drawbacks. First, few
peers bear the load of forwarding, while most of the peers are leaf nodes and do not
contribute at all to the overlay. Second, a peer that does not have upload capacity
at least as high as the streaming rate cannot be used for forwarding, and has to
become a leaf node. This leads to suboptimal utilization of the available resources.
Third, the single tree structure is vulnerable to peer departures. When a peer in
the higher levels of the tree departs, all of its descendants, that is the peers in the
subtree rooted at the departed peer, will be cut off from the overlay and will not
receive anything until they are reconnected to the tree. Fourth, the depth of the
overlay can become large, which leads to peers in the last levels having a large
9
10
CHAPTER 3. ARCHITECTURES
playback lag compared to the ones in the levels close to the root.
To increase the resilience of the overlay and to improve the capacity utilization,
multiple-tree based solutions have been proposed. In a multiple-tree based system
peers are organized in an overlay consisting of more than one trees. Each peer
becomes member and receives data in all trees. The server is the root of all trees;
a peer is assigned a different parent in each tree. A peer is an internal node and
forwards data in some of the trees and is a leaf node and only receives data in
the rest of the trees. The stream is divided into sub-streams and different parts of
the stream are sent down different trees. In the following we present the general
characteristics of a multiple-tree based overlay.
In multiple-tree overlays, the tree construction has to fulfil two requirements.
First, it has to exploit path diversity in delivering data [11], that is, peers should
receive data through different overlay paths in different trees, alleviating thus the
effect of peer departures. Second, a tree construction algorithm has to create trees
that are as shallow as possible. This requirement is significant since the number of
levels of the tree is related to the playback delay at the peers. Peers that are situated
far away from the root experience large delays compared to the ones that are high
up in the tree. The fulfillment of these requirements is especially challenging under
churn.
In the first multiple-tree construction algorithm proposed in [12], each peer
becomes member of all trees, and receives and forwards data in each tree. Whenever
a peer needs to be inserted in a tree, the overlay construction algorithm returns the
peer with available capacity situated closest to the root. Available capacity refers
to the ability of a peer to forward the sub-stream in that tree. Since by using this
algorithm, peers have one child per tree, these trees are called minimum breadth
trees. An example of such an architecture for a small overlay of 12 peers, organized
in 3 trees and with the server having 3 children per tree, is shown in Fig. 3.1. The
minimum breadth tree architecture offers the advantage of easy maintenance, even
in periods of high churn. However, the depth of the formed trees grows linearly with
N , the number of peers in the overlay. Due to the long paths from the source to all
peers, a peer departure affects on average many peers, even if the time needed for
tree reconstruction is very short. Furthermore, the playback delay for peers that
are in the last levels of the overlay can be large, which is undesirable for a streaming
architecture.
Lower delays and high diversity can be achieved when peers are internal nodes
with many children in one tree and leaf nodes in the others. When peers have all
their children in one tree, trees in the overlay have the minimum possible depth,
therefore they are referred to as minimum depth trees. An example of a minimum
depth tree overlay is shown in Fig. 3.2, where we show an overlay of 12 peers,
organized in 3 trees and with the server having 3 children per tree. In minimum
depth trees the depth of the trees is O(logN ), which yields shorter average playback
delay and better scalability in the number of peers, compared to the minimum
breadth trees. Peers forward the sub-stream that they receive in the tree where
they are internal nodes. In the rest of the trees they only receive data but do not
11
3.1. TREE-BASED STREAMING
s
s
s
1
2
3
1
2
3
1
2
3
4
5
6
5
6
4
6
4
5
7
8
9
9
7
8
8
9
7
10
11
12
11
12
10
12
10
11
Figure 3.1: A minimum-breadth tree overlay of 12 peers organized in 3 trees and
with the server having 3 children per tree.
s
1
5
6
s
4
8
2
9
7
10
3
11
5
12
1
2
6
7
4
9
8
10
3
11
12
s
: forwarding peer
6
: leaf peer
1
7
9
8
2
10
3
11
4
5
12
Figure 3.2: A minimum-depth tree overlay of 12 peers organized in 3 trees and with
the server having 3 children per tree.
forward them. Such overlays were initially introduced in [12] and [13]. In the first
work the construction of the overlay is performed by a centralized node, while in
the latter it is coordinated by a distributed protocol.
The overlay construction and maintenance under churn for minimum depth
overlays is more involved than the one of minimum breadth trees. Maintaining the
overlay under churn introduces two challenges. The first challenge is to maintain
a balanced capacity allocation over all trees. When a peer joins the overlay, it
increases the capacity in the tree where it is forwarding and decreases the capacity
in the trees where it is only receiving. Therefore it is not necessary that all trees
have the same capacity at all times, even though trees have the same number of
12
CHAPTER 3. ARCHITECTURES
s
1
6
s
4
8
9
7
10
3
1
4
8
6
11 12
s
3
11
12
7
9
10
: disconnected peer
6
: forwarding peer
: leaf peer
1
7
9
8
10
3
11
4
12
Figure 3.3: Disconnection of peers after the consecutive departures of internal nodes
from the same tree of the overlay.
peers. Similarly, when an internal node departs from a tree, there might not be
enough capacity to reconnect all its children in that tree, leading thus to some
peers being disconnected. This phenomenon is depicted in Fig. 3.3, where after the
departure of peers 2 and 5, which were forwarding in the second tree, there is not
enough capacity for peer 6 to be connected to the tree. At the same time, there is
an excess of capacity in the first and third trees that could be used to serve peer
6. Disconnected peers have to remain in this state until a new forwarding peer
arrives in that tree or some leaf peer departs. Alternatively, the overlay has to
be re-organized to balance the available capacity among the trees. The streaming
quality is affected in both cases. Therefore, one of the targets of the construction
algorithm is to keep the available capacity balanced over all trees.
The second challenge of the tree maintenance algorithm is to keep the trees at all
times as shallow as possible. Whenever a peer needs to be connected, or a subtree reconnected, the tree construction algorithm has to locate the available position that
is closest to the source of the stream. When trees are optimally maintained, the leaf
nodes are in the same level at each tree in the overlay. Optimal tree maintenance
requires reorganizing the overlay at each peer departure. After the departure of
an internal peer, its children along with their descendants have to be reconnected
to the tree. Optimal maintenance with respect to the depth of the tree suggests
that each peer in the disconnected subtrees, rooted at the children of the departed
peer, issues a separate reconnection request and is individually reconnected to the
tree [14]. However, this incurs a large overhead, specially when the departed peer is
high up the tree. Therefore a more practical method that sacrifices tree optimality
for lower overhead reconnects only the children of the departed peer to the tree,
while the whole subtree below them remains unchanged [15].
3.2. MESH-BASED STREAMING
3.2
13
Mesh-based streaming
Considering churn as the main factor that impedes seamless streaming, mesh-based
systems focus on creating an overlay that adapts fast to network changes. The
rationale is that peers must not waste time in maintaining the overlay and peer
departures should be dealt with promptly. So, the overlay construction in mesh
systems is simple and fast. This property of the mesh-based systems, though, has
an impact on the forwarding behavior of the peers. Lacking a rigid structure,
sophisticated forwarding algorithms are needed at the peers.
This reveals the contrast between tree-based and mesh-based systems. In the
former, the overlay construction is more sophisticated and costly in terms of both
time and complexity, while data forwarding is simple. Whereas in the latter, building the overlay is simple, inexpensive and fast but forwarding is more complex. In
this section we discuss the characteristics of the main components of a mesh-based
system: overlay construction and data forwarding.
Overlay construction
In a mesh overlay, the goal of a peer is to maintain a large enough number of
incoming connections, so that it is not affected by potential neighbor departures.
The overlay is usually built in a distributed way and each peer is only aware of a
small subset of participants, which constitutes its neighbors. The neighbor selection
policy differs from system to system but the intent is to keep the neighbor selection
process simple and fast. The simplest policy to select neighbors is to do it at
random. A peer receives a randomly generated list of peers already connected to
the overlay and tries to establish connections to them. This approach, though,
does not take into account any parameters of the underlying network topology that
could optimize the data exchange. More complex neighbor selection policies base
the establishment of neighbor relationships on criteria such as available bandwidth
and latency [16].
Data distribution
In contrast to tree architectures, forwarding in mesh overlays is not straightforward.
The lack of a concrete structure that defines the flow of data from a peer to its
neighbors makes it impossible to determine in advance the path through which data
is diffused. As also done in tree-based systems, in mesh-based systems packets are
sent from the server and then relayed by the peers. Packet forwarding is based
on decisions taken locally at the peers. These decisions are based on information
about the availability of packets in neighboring peers.
In mesh overlays, data packets can be exchanged following the push or the pull
approach. In either case a peer has to make a decision of which packet to send to
which neighbor (push scheme), or which packet to ask from which neighbor (pull
scheme). Both approaches have their pros and cons. A push approach is expected
14
CHAPTER 3. ARCHITECTURES
S
S
6
5
5
9
9
8
4
6
8
4
7
7
3
1
3
2
1
S
5
4
7
2
1
2
S
6
8
9
3
5
4
7
8
1
3
2
9
6
packet i
packet i+1
Figure 3.4: Spanning trees that are formed for the packet delivery of two packets
in a mesh overlay consisting of 9 peers
to work better for uplink constrained peers, since it avoids multiple requests for
packets at a peer. On the other hand, a pull approach is a good choice for downlink
constrained peers since a peer can control the incoming rate of packets from its
neighbors. For both schemes however, the lack of coordination among peers that
characterizes such a distributed environment, creates inefficiencies in the data propagation. In a push based system, this is translated to multiple copies of packets sent
to the same peer by its neighbors. In pull based systems, a peer can be flooded with
a number of packet requests from its neighbors exceeding the maximum number
of requests that it can serve. Moreover, pull based systems have higher overhead
since data packets have to be explicitly requested through control packets. These
phenomena lead to suboptimal performance of both forwarding schemes.
Regardless of the forwarding logic employed, each packet is sent out from the
server and it reaches all peers by forming a spanning tree of the overlay graph.
Since the forwarding decisions are taken locally at each peer, the peer degree and
depth of the tree for each packet cannot be known a priori. Moreover, the trees
that are formed for each packet can be very different, as depicted in Fig. 3.4, where
we plot the paths for two packets in a stream over an overlay of 9 peers.
3.3. HYBRID SYSTEMS
3.3
15
Hybrid systems
Hybrid systems [17, 18] were introduced in an effort to combine the advantages of
tree-based and mesh-based P2P streaming systems. These systems try to combine
the robustness of the overlay offered by the mesh-based systems with the simple
and efficient forwarding over a fixed structure that tree-based systems provide. In
hybrid push-pull systems, the stream is split into a number of sub-streams like in
the tree-based systems. For a peer to receive at full streaming rate, it has to find
parents that can feed it with all the sub-streams. Upon joining the overlay, each
peer receives a list of already joined peers that can act as its suppliers. It then
tries to find among these peers a supplier peer for each of the sub-streams. After a
peer locates a parent that can provide it with a sub-stream, it requests (pulls) from
that parent a packet belonging to the substream. After the initial pull request, the
parent keeps feeding the peer with subsequent packets of the sub-stream, according
to the push paradigm employed in the tree-based systems.
Chapter 4
Performance evaluation
4.1
Data forwarding in P2P streaming systems
Forward error correction in multiple-tree-based systems
Packets disseminated over an overlay path can be lost due to congestion in the
underlying physical network, or due to the departure or failure of intermediate
peers. The loss of a packet on an overlay link does not only affect the recipient
peer at the end of that link but also all of its descendants. As the loss propagates
to the levels below the one where it occurred, it reduces the stream quality for a
potentially large fraction of peers.
One way to deal with loss propagation in an overlay is through the use of
retransmissions [19]. Whenever a peer perceives loss of packets in its incoming
link it requests retransmission of the missing packets by its parents. This solution,
though, can make it difficult to satisfy the stringent delay constraints that streaming
applications impose and therefore has not received much attention. The other way
of protecting the overlay against loss propagation is through the use of channel
coding, or joint source-channel coding schemes. Implementation of such coding
schemes seems to fit naturally to multiple-tree based overlays, due to the path
diversity that they offer. These schemes include layered coding, multiple description
coding (MDC) and forward error correcting codes (FEC). The use of such schemes
in multiple-tree based overlays is based on the expectation that a peer will be able
to partially or completely recover data that was lost on the path from the source to
itself, as long as the peer is not directly connected to the congested physical link.
In the case of layered coding (for an overview of the scalable extension of
H.264/AVC see [20]) the video is segmented and encoded into a base and a number
of enhancement layers. The base layer provides a basic level of quality and each
enhancement layer - successfully received and decoded - enhances the quality of the
stream. Without the reception of the base layer enhancement layers are useless.
When the video is segmented into layers then each layer can be error protected using redundant information proportional to the significance of the layer [21]. Using
17
18
CHAPTER 4. PERFORMANCE EVALUATION
MDC (for an overview see [22]), the video is coded into descriptions, where each
description can be independently decoded and has more or less the same contribution to the decrease in the video distortion. The more descriptions a peer is able
to receive, the higher its video quality is going to be. MDC has been combined
with multiple-tree architectures in order to overcome errors in the overlay, provide resilience to churn and to account for peers that do not possess the adequate
bandwidth to receive at the full streaming rate [13, 23].
When FEC is employed, e.g. Reed-Solomon codes [24], data is segmented into
packets and for each k packets another c redundant ones are added in order to
form a block of n = k + c packets. When used with multiple-tree based streaming,
packets of a block are sent down the trees in a round-robin way. If a peer receives
any k out of the n packets in a block, it can reconstruct the rest. It has been shown
that for any loss probability over an overlay link there is a level of redundancy that
can ensure delivery of data to tree levels arbitrarily far away from the server with
a probability greater than zero [25, 26].
In this thesis we extend [25, 26] to study the data distribution in a generalized
multiple-tree overlay using forward error correction and assuming homogeneous and
independent link losses. In paper A, we present a model that derives the packet
possession probability of an arbitrary peer as a function of the level where it is
situated in its forwarding trees. We identify the existence of a stability region
with respect to the link loss probability. Within this region, the packet possession
probability remains high and is not affected by the number of forwarding trees.
Outside the stable region though, the performance degradation is severe and the
performance is negatively affected by the number of forwarding trees of a peer.
Moreover, we derive asymptotic bounds on the packet possession probability when
the overlay consists of a very large number of peers. We also conclude that the
standard deviation of the received packets in a block is an adequate measure to
control the adaptation of the FEC to the overlay conditions.
Data distribution in mesh-based systems
The non-deterministic tree structure that is formed for the delivery of each data
packet to the peers creates two issues worth exploring. First, to determine whether
a packet can be delivered to all peers using a particular forwarding algorithm.
Second, to find an upper bound on the time it takes from the moment the packet is
sent out from the source until it reaches all peers. A perfect forwarding algorithm
guarantees the reception of a packet by all peers and, for a given overlay, gives a
deterministic bound on the time to deliver a packet to all peers [27]. However, such
an algorithm requires coordination among all peers and is thus not feasible due to
the distributed nature of forwarding in mesh-based systems. Instead, the efficiency
of a realistic forwarding algorithm in delivering the stream on time is characterized
by the trade-off between playback delay and playout continuity.
Numerous works address the issue of data propagation in mesh-based overlays
by proposing and evaluating different scheduling algorithms. In [28] it is shown that
4.1. DATA FORWARDING IN P2P STREAMING SYSTEMS
19
optimal streaming is possible in fully connected meshes and the authors propose
scheduling algorithms for the cases when the bottleneck is at the uplink or at the
downlink of the peers. In [29], the authors derive the playback delay–continuity
curves for various push forwarding algorithms assuming a fully connected mesh
and perfect coordination among the peers. The optimality of a class of deadlinebased algorithms is theoretically proven in [30], where the authors also investigate
through simulations the impact of the neighborhood size of peers on the streaming
performance. In [31, 32, 33], the authors suggest a combination of push and pull
approaches to coordinate the packet exchange and to avoid reception of duplicate
data packets or a flood of request packets at the peers.
For the sake of simplicity and tractability, analytical approaches to data distribution in mesh-based systems assume content encoded at a constant bit-rate and
evaluate the efficiency of data distribution via the playout miss ratio. It is, thus,
implicitly assumed that the loss of any given packet has the same impact on the
video quality at the peers. The modern encoding standards though, produce variable bit-rate videos comprising of different frame types, whose contribution to the
video quality in terms of PSNR is different. Oblivious packetization of the video
leads to worse performance compared to the case when each packet contains video
frames corresponding to the same group of pictures [34]. Forwarding schedulers
that take into account the video characteristics are called video aware schedulers.
Using video aware schedulers, the live streaming system performance can be increased by prioritizing packets containing video frames whose playout miss would
have a severe impact on the PSNR of the played out video [35, 36].
Besides the analytic and simulative approaches, an insight on the performance
of live P2P streaming systems is also obtained by carrying out measurements on
existing systems. In the recent years, there have been numerous popular P2P
streaming applications that were able to attract millions of viewers. Most of these
applications are proprietary and hence, measurement studies are the only way to
evaluate their performance, including the effect of parameters that are not easy to
evaluate analytically. Measurement studies help us to obtain an understanding of
the peer membership and forwarding logic of these applications and one can see
different approaches as far as forwarding is concerned. In [6], the authors conclude
that there are applications, such as PPLive, where peers receive the video mostly
from a small set of peers, while in other applications (e.g. SopCast), peers receive
data from many other peers at the same time. Furthermore, measurement studies
enable us to evaluate the performance of streaming systems with respect to metrics
that cannot easily be captured via analytical approaches, such as startup delays.
In [7], the authors find that startup delays can vary from some seconds to a couple
of minutes depending on the stream popularity, which reveals a major problem of
P2P streaming in general.
In this thesis we investigate the trade-off of playback delay versus playback continuity by building a general framework for evaluating different forwarding schemes.
In paper B, we propose a model to describe the data propagation in an overlay consisting of peers with an upload capacity equal to the stream rate. We assume that
20
CHAPTER 4. PERFORMANCE EVALUATION
Table 4.1: Indicative upload bandwidth distribution for a streaming event [14].
Type
Free-riders
Contributors
Contributors
Contributors
Contributors
Unknown
Total
Degree
0
1
2
3-19
20
-
Number of hosts
58646 (49.3%)
22264 (18.7%)
10033 (8.4%)
6128 (5.2 %)
8115 (6.8 %)
13735 (11.6 %)
118921 (100%)
the overlay is a regular graph and there is no coordination among peers. Based on
the model and simulations we derive the playback delay–continuity trade-off curve
for various forwarding algorithms and show that random packet forwarding exhibits
good delay characteristics and scalability. Moreover, we investigate the impact of
the number of neighbors of a peer and conclude that it is positively correlated to
the playout probability for small values but after it reaches a threshold value, it no
longer affects the playout probability. We also deal with the issue of the imperfect
information at the peers and show that even small delays in the control information
exchange lead to fast increase of the playout missing ratio.
4.2
Streaming in heterogeneous P2P networks
For the sake of simplicity, in the analysis of data distribution in P2P streaming
systems, it is often assumed that peers are homogeneous in terms of upload bandwidth. This is however far from the truth in the current Internet. There exist
peers whose upload capacity can be many times higher than the streaming rate,
others with upload capacities a couple of times the streaming rate and a considerable fraction of peers with upload capacities lower than the streaming rate or no
upload capacity at all. As an indication of the bandwidth heterogeneity, in Table
4.1, we show results obtained by a measurement study corresponding to a large
streaming event consisting of more than 100000 peers [14]. The degree of each peer
category is defined as the ratio of upload bandwidth over the stream encoding rate.
The very large number of low and non-contributing peers can be partly explained
by the asymmetric nature of access technologies for many residential users. Users
connected through ADSL lines have fast downlink, enabling them to watch a video
at a high encoding rate, but not allowing them to forward it to other peers at
this rate. Furthermore, peers behind firewalls and NAT-enabled routers constitute
another factor that could explain these figures. Although, there have been many
firewall and NAT traversal schemes proposed ([37, 38] and references therein), they
have not been widely implemented.
As already stated in Section 2.2, the bandwidth heterogeneity raises two chal-
4.2. STREAMING IN HETEROGENEOUS P2P NETWORKS
21
lenges for P2P streaming systems: maintain streaming feasibility and achieve low
delay streaming. Feasibility depends on the sum of available upload capacities in
the overlay with respect to the streaming rate. The delay depends on the depth
of the trees in the overlay. The shallower these trees are, the lower is the average
playback delay.
Streaming feasibility through overlay construction
For a given distribution of peer upload bandwidths, minimum delay streaming
occurs when data is diffused to the peers in descending order with respect to upload
bandwidth [39]. That is, peers with higher upload rates receive packets earlier than
peers with lower ones. Therefore, to minimize the delay for an individual tree
would require a fast peer being able to replace a slower one at its position in
the tree structure [40, 41]. The slower peer is then reconnected as a child of the
faster one or as a child of another peer with available capacity. We refer to the
replacement of a peer in a tree structure by a faster peer as preemption. When
considering a multiple-tree overlay as a whole though, preemption in a tree must
not be based on the contribution in one specific tree only. In [40], the authors
show, using simulations based on real and synthetic traces, that preemption should
depend on the contribution of a peer in all trees and not on its contribution in an
individual tree. By pushing the low contributing peers towards the last levels of
the distribution trees, a P2P system can achieve streaming feasibility, at least for
the high contributing peers, as well as low playback delays.
A similar approach can be followed by mesh-based systems as well. Maintaining
the spanning trees as shallow as possible, by hierarchically placing the peers in the
trees based on their upload bandwidth, is not a trivial task, since the shape of the
trees over which packets are forwarded depend on local decisions taken at the peers
and is not known a priori. However, several works have dealt with the issue of low
delay streaming in mesh overlays. Lobb et al. [42] propose a low delay P2P-TV
system where peers with high contribution are pushed closer to the server through
the increase of their neighborhood size, improving thus the delay performance of
the overlay. A similar approach is presented in [43], where peers select their parents
based on the measure of power, which takes into account both the bandwidth of
the peer as well as the latency between the two peers.
At the same time the video quality at the peers can be increased by combining the above preemption/prioritization schemes with transmission of scalable
video [20]. The video is encoded in layers so that peers that cannot receive/forward
at the full streaming rate and are pushed further away from the source, are still
able to receive the stream at a certain quality [44, 45].
In the case of non-scalable video, when the upload capacity is not enough to
stream to all peers, there can be two options for providing seamless streaming to all
peers at a given rate. The first one is to lower the streaming rate to a sustainable one
given the available upload rate in the overlay. The second option is to implement
an admission control policy that does not allow the demand to exceed the available
22
CHAPTER 4. PERFORMANCE EVALUATION
supply of resources in the overlay for a given streaming rate. Both schemes require
fast and efficient adaptation to the dynamic network conditions.
In this thesis, we address the issue of providing seamless streaming in dynamic
P2P overlays through admission control. In paper C, we consider the problem of
providing seamless streaming at a given rate to all peers in an overlay consisting
of contributing and non-contributing peers. We develop a model that describes
the evolution of the overlay capacity over time. We propose two admission control
schemes that block or drop non-contributing peers when the overlay resources decrease to a point where streaming to all peers becomes infeasible. We implement
our scheme in a multiple-tree overlay and show that it leads to high resource utilization, while at the same time it ensures that, once admitted, peers experience
high streaming quality.
Streaming feasibility through incentives
According to [39], faster peers have to receive packets earlier than slower ones in
order to achieve minimum delay streaming. Several incentive schemes have thus
been proposed that reward high contributing peers by placing them close to the
streaming server. For tree-based systems this is a rather easy task, especially if
the overlay construction is taken care of centrally. In [23], the authors consider a
multiple-tree-based overlay consisting of peers with various capacities ranging from
zero contribution (free-riding) up to many times the streaming rate. A taxation
scheme is proposed so that peers with high capacities, contribute more than they
receive in order to make streaming feasible to all peers. An incentive scheme that
relates a peer’s contribution to its received stream quality is presented in [46],
where peers maintain a number of backup parents that is proportional to their
contribution. A peer can switch parents if receiving the stream from a backup
parent incurs a lower playback delay than the one it currently perceives. Thus,
under this scheme peers that contribute more, receive the stream at a low delay
with high probability.
Maintaining a contribution level adequate to sustain streaming to all peers is
not an easy task in a mesh-based system. The absence of a centralized monitoring
scheme can neither guarantee nor enforce peer cooperation through the implementation of an admission control scheme, in contrast to a tree based solution. Therefore, most of the proposed solutions to enforce cooperation are implemented in a
distributed way by the peers. The majority of these schemes is inspired by the
incentive mechanisms for P2P file distribution and relate the streaming quality of
a peer to the peer’s contribution. In [47], a rank-based tournament is proposed,
where peers are ranked according to their total upload contribution and each peer
can choose as neighbor any peer that is below itself in the ranked list. Thus, peers
that have high contribution have also higher flexibility in selecting their neighbors.
In [48], the authors propose a payment-based incentive mechanism, where peers
earn points by uploading to other peers. The supplier peer selection is performed
through first price auctions, that is, the supplier chooses to serve the peer that of-
4.3. PLAYOUT ADAPTATION IN P2P SYSTEMS
23
fers her the most points. This means that peers that contribute more, accumulate
more points and can make high bids, thus increasing their probability of winning
an auction for a parent. Differentiated streaming quality can be obtained by using
joint source-channel coding techniques and a distributed incentive mechanism on
the peers, as in [49] with layered video coding and in [50] using multiple description
coding.
The incentive mechanisms proposed in the literature start, to a large extent,
from the assumption that peers have the ability to contribute but refrain from doing
so. However, peers might be unable to have a substantial contribution because of
their last-mile connection technology instead of their unwillingness to contribute.
Most DSL and cable Internet connections are asymmetric, hence peers may have
sufficient capacity to, e.g., download high definition video but insufficient capacity
to forward it. Similarly, in high-speed mobile technologies, such as High Speed
Downlink Packet Access (HSDPA), the download rates are an order of magnitude
higher than the upload rates [51]. Incentive schemes that relate a peer’s contribution
to its streaming quality, fail to provide adequate quality for peers that have limited
contribution. It is reasonable, though, for one to argue that these peers should not
be denied service by the overlay as long as there is available capacity to serve them
as well.
In this thesis we study the maximization of the streaming performance in heterogeneous P2P mesh-based overlays through the use of incentives. In paper D, we
consider overlays consisting of contributing and non-contributing peers. We model
the behavior of the contributing peers with respect to their generosity against their
non-contributing neighbors and study the social welfare of the system. We show
that when contributors are selfish the social welfare is sub-optimal. Therefore,
we propose an incentive mechanism to maximize the social welfare, which uses the
server’s capacity as an incentive for contributors to upload to non-contributing peers
as well. We prove that our mechanism is both individually rational and incentive
compatible.
4.3
Playout adaptation in P2P systems
As the overlay increases in size, the playback delay of the peers has to be increased
as well in order to maintain the same playout miss ratio [52]. At the same time,
several measurement studies on P2P streaming systems reveal abrupt transitions
from small overlays to large ones at the beginning of live events [53, 54]. These
transitions, called flash crowds [55, 56], can lead to the expansion of the overlay size
in terms of orders of magnitude. It is therefore paramount that the P2P system has
a playout adaptation algorithm that can progressively adapt the playback delay of
the peers to the new overlay size.
Playout adaptation is the act of changing the playback delay of the peers. It
can be achieved in two ways. First, by pausing the playout of frames in case of
underflow, allowing thus the buffer level to build up again, or by dropping frames in
24
CHAPTER 4. PERFORMANCE EVALUATION
the case of overflow [57, 58, 59]. Second, by altering the frame duration with respect
to the original encoded video sequence [60, 61]. When an underflow is about to
occur, frames are played out at a decreased rate compared to the nominal video rate.
On the contrary, when an overflow is about to occur, frames are played out at a rate
higher than the nominal video rate. Playout adaptation via changing the playout
rate at the end hosts is enabled by several models showing that slight changes in
the video rate have only a minor impact on the perceptual video quality [62, 61].
In this thesis we use playout adaptation in P2P live video streaming systems
in the form of altering the frame duration at the peers in order to improve the
performance of video delivery in overlays under churn. In Paper E, we propose
two playout adaptation algorithms: one coordinated and one distributed. The
algorithms tune the playback delay of the peers in the overlay so that the playout
miss ratio is maintained within a predefined interval. We validate the performance
of the algorithms under different churn models and show the benefits from their use
compared to overlays where no playout adaptation is used in terms of distortion of
the received video.
4.4
Network awareness
Autonomous Systems (ASs) in the Internet are managed by different entities (Internet Service or Content Providers) and there is an associated cost with traffic
exchange between two ASs. The cost for traffic exchange between two ASs depends on their interconnection, which can be of two types: peering and transit
provider-customer. When two ASs have a peering agreement, then the traffic exchanged between them is for free, as long as it is approximately balanced. When
an AS provides transit to another AS, the customer AS has to pay for the traffic
routed through the provider’s AS, usually according to the 95-percentile rule, that
is the client AS is billed for the 95% of the maximum traffic rate observed over the
charging period.
The cost of the traffic generated by a P2P system depends on the distribution of
the overlay traffic to the different types of physical links in the underlying network.
From the point of view of an ISP, traffic routed through a transit link is more
expensive than traffic routed through a peering link, which in turn is more expensive
than traffic that stays within the ISP boundaries. Peers in a P2P overlay can span a
wide geographical area and be distributed over a large number of ASs. A randomly
created P2P overlay can generate a large amount of traffic routed through transit
links, incurring large costs to the ISPs. Measurements of offline P2P file sharing
showed that in random overlays peers download blocks of data through expensive
links even though the data was available in peers residing in the same ISP at no
cost [63]. The need for network awareness in overlay construction became even more
apparent when ISPs started throttling the traffic generated by P2P networks [64].
The construction of a network-aware overlay is based on information that the
P2P application receives about the network over which it is deployed. Information
4.4. NETWORK AWARENESS
25
can be in the form of ranking of candidate neighbors with respect to a variety of
locality criteria: residency in the same AS, AS-hop distance in the BGP path and
network latency [65]. Network information can also be in the form of cost associated
with the selection of certain paths in the underlying network, according to criteria
chosen by the ISP [66]. Such information about the network can be obtained by a
dedicated infrastructure run by a third party or the ISP itself [65, 67, 68]. There
is an ongoing effort within the IETF ALTO working group for the standardization
of a protocol that enables the exchange of information about the network between
the ISPs and the P2P application [69].
The investigation of network awareness-performance trade-off for offline content
distribution shows that locality aware overlay construction can lead to peer clustering, reducing thus the data distribution performance of the P2P system [70, 65, 68,
71]. Peer clustering has a negative impact on the performance of P2P streaming
systems as well [72, 73]. Therefore, the level of network awareness must be carefully
selected so that there is a balance between the associated traffic cost and the data
distribution performance. It is usually necessary to maintain a number of expensive
connections in the overlay in order to maintain high streaming performance. Thus,
network aware neighbor selection in P2P streaming systems consists in a weighted
selection of peers from disjoint sets of potential neighbors, ordered according to
locality (cost) or capacity criteria [72, 73, 74, 36].
Most of the works on network aware overlay construction distinguish the overlay
connections in intra-AS and inter-AS only, neglecting the fact that there are two
substantially different types of inter-AS connections with respect to traffic cost.
In this thesis we address the problem of constructing network aware overlays by
making a clear distinction between overlay connections between peers residing in
ASs that have a peering agreement and overlay connections where P2P traffic has
to cross a transit link. Furthermore, we take into account recent measurement
studies that reveal a transformation of the Internet towards a flatter structure due
to the increasing number of peering agreements between ISPs [75, 76], opening up
thus new possibilities for network-aware streaming. In paper F, we use as network
awareness metric the amount of P2P traffic routed through transit inter-AS links
and devise overlay construction policies that maximize the streaming performance
in the overlay for a given network-awareness level.
Chapter 5
Summary of original work
Paper A: Streaming Performance in Multiple-tree-based Overlays
György Dán, Viktória Fodor and Ilias Chatzidrossos. In Proceedings of IFIP Networking, Atlanta, Georgia, May 2007.
Summary: In this work we evaluate the data transmission performance of the
generalized multiple-tree-based overlay architecture for peer-to-peer live streaming
that employs multipath transmission and forward error correction. We give mathematical models to describe the error recovery in the presence of packet losses. We
evaluate the data distribution performance of the overlay, its asymptotic behavior,
the stability regions for the data transmission, and analyze the system behavior
around the stability threshold. We argue that the composed measure of the mean
and the variance of the packet possession probability can support adaptive forward
error correction.
My contribution to this work was the construction of a simulator and the simulation based performance evaluation of the data transmission using FEC under a
multiple-tree based architecture.
Paper B: Delay and playout probability trade-off in mesh-based
peer-to-peer streaming with delayed buffer map updates
Ilias Chatzidrossos, György Dán and Viktória Fodor. In P2P Networking and
Applications, vol.3, num.1, March 2010.
Summary: In mesh-based peer-to-peer streaming systems data is distributed
among the peers according to local scheduling decisions. The local decisions affect
how packets get distributed in the mesh, the probability of duplicates and consequently, the probability of timely data delivery. In this paper we propose an
analytic framework that allows the evaluation of scheduling algorithms. We consider four solutions in which scheduling is performed at the forwarding peer, based
27
28
CHAPTER 5. SUMMARY OF ORIGINAL WORK
on the knowledge of the playout buffer content at the neighbors. We evaluate the
effectiveness of the solutions in terms of the probability that a peer can play out
a packet versus the playback delay, the sensitivity of the solutions to the accuracy
of the knowledge of the neighbors’ playout buffer contents, and the scalability of
the solutions with respect to the size of the overlay. We also show how the model
can be used to evaluate the effects of node arrivals and departures on the overlay’s
performance.
My contribution to this work was the development of the analytical model for the
data propagation in the mesh-based overlay as well as the performance evaluation
through modelling and simulations. The paper was written in collaboration with the
two co-authors.
Paper C: On the effect of free-riders in P2P streaming systems
Ilias Chatzidrossos and Viktória Fodor. In Proceedings of the 4th Telecommunication Networking Workshop on QoS in Multiservice IP Networks, pages 8-13, Venice,
Italy, February 2008.
Summary: Peer-to-peer applications exploit the users willingness to contribute
with their upload transmission capacity, achieving this way a scalable system where
the available transmission capacity increases with the number of participating users.
Since not all the users can offer upload capacity with high bitrate and reliability,
it is of interest to see how these non-contributing users can be supported by a
peer-to-peer application. In this paper we investigate how free-riders, that is, noncontributing users can be served in a peer-to-peer streaming system. We consider
different policies of dealing with free-riders and discuss how performance parameters
such as blocking and disconnection of free-riders are influenced by these policies,
the overlay structure and system parameters as overlay size and source upload
capacity. First we present a model that describes the performance of optimized
overlays under the different policies, then we evaluate via simulations how more
rigid overlay structures such as multiple-trees behave under the same conditions.
The results show that while the multiple-tree structure may affect the performance
free-riders receive, the utilization of the transmission resources is still comparable
to that of an optimized overlay.
My contribution to this work was the modelling of the available capacity in the
overlay as well as the performance evaluation of the proposed schemes through the
use of analytical modelling and simulations. The main part of the paper was written
by the second author.
Paper D: Server Guaranteed Cap: An incentive mechanism for
maximizing streaming quality in heterogeneous overlays
Ilias Chatzidrossos, György Dán and Viktória Fodor. In Proc. of the 9th IFIP
Networking, Chennai, India, May 2010.
29
Summary: We address the problem of maximizing the social welfare in a peerto-peer streaming overlay given a fixed amount of server upload capacity. We show
that peers’ selfish behavior leads to an equilibrium that is suboptimal in terms of social welfare, because selfish peers are interested in forming clusters and exchanging
data among themselves. In order to increase the social welfare we propose tunable
scheduling algorithms and a novel incentive mechanism, Server Guaranteed Cap
(SGC ), that uses the server capacity as an incentive for high contributing peers to
upload to low contributing ones. We prove that SGC is individually rational and
incentive compatible. We also show that under very general conditions, there exists
exactly one server capacity allocation that maximizes the social welfare under SGC,
hence simple gradient based method can be used to find the optimal allocation.
My contribution to this work was part of the system definition, the development
of the model for the data propagation in the heterogeneous overlay and the performance evaluation of the proposed system through simulations. The paper was
written in collaboration with the two co-authors.
Paper E: Playout adaptation for P2P streaming systems under
churn
Ilias Chatzidrossos and György Dán. Submitted to Packet Video Workshop (PV)
2012.
Summary: We address the problem of playout adaptation in peer-to-peer
streaming systems. We propose two algorithms for playout adaptation: one coordinated and one distributed. The algorithms dynamically adapt the playback delay of
the peers so that the playout miss ratio is maintained within a predefined interval.
We validate the algorithms and evaluate their performance through simulations
under various churn models.pay We show that playout adaptation is essential in
peer-to-peer systems when the system size changes. At the same time, our results
show that distributed adaptation performs well only if the peers in the overlay
have similar playback delays. Thus, some form of coordination among the peers is
necessary for distributed playout adaptation in peer-to-peer streaming systems.
My contribution to this work was part of the problem formulation, the development of the simulation environment based on a publicly available simulator and
the performance evaluation of the adaptation algorithms through simulations. The
paper was written in collaboration with the second author.
Paper F: Small-world Streaming: Network-aware Streaming
Overlay Construction Policies for a Flat Internet
Ilias Chatzidrossos, György Dán and Arnaud Legout. Submitted to International
Conference on Distributed Computing Systems (ICDCS) 2012.
30
CHAPTER 5. SUMMARY OF ORIGINAL WORK
Summary: Recent measurements indicate that the peering agreements between Autonomous Systems (AS) are flattening the AS level topology of the Internet. The transition to a more flat AS topology opens up for new possibilities
for proximity-aware peer-to-peer overlay construction. In this paper we consider
the problem of the construction of overlays for live peer-to-peer streaming that
leverage peering connections to the maximum extent possible, and investigate how
a limited number of overlay connections over transit links should be chosen such
as to maximize the streaming performance. We define a set of transit overlay link
establishment policies that leverage topological characteristics of the AS graph. We
evaluate their performance over regular AS topologies using extensive simulations,
and show that the performance difference between the policies can be up to an
order of magnitude. Thus, it is possible to maximize the system performance by
leveraging the characteristics of the AS graph. Based on our results we also argue
that the average loss probability is not an adequate measure of the performance of
proximity-aware overlays. We confirm our findings via simulations over a graph of
the peering AS topology of over 600 ASs obtained from a large measurement data
set.
My contribution to this work was part of the problem formulation, the development of the simulation environment based on a publicly available simulator and the
performance evaluation of the proposed policies through simulations. The paper was
written in collaboration with the second author.
31
Publications not included in this thesis
• Gy. Dán, I. Chatzidrossos, V. Fodor and G. Karlsson,“On the Performance
of Error-resilient End-point-based Multicast Streaming”, in Proc. of 14th
International Workshop on Quality of Service (IWQoS), pp. 160-168, June
2006
• Gy. Dán, V. Fodor and I. Chatzidrossos, “On the performance of Multipletree-based Peer-to-peer Live Streaming”, in IEEE Infocom, Anchorage, Alaska,
May 2007
• V. Fodor and I. Chatzidrossos, “Playback delay in mesh-based peer-to-peer
systems with random packet forwarding”, in Proc. of International Conference on Next Generation Mobile Applications, Services and Technologies
(NGMAST), pp. 550-555, September 2008
• V. Fodor and I. Chatzidrossos, “Playback delay in mesh-based Peer-to-Peer
systems with random packet forwarding and transmission capacity limitation”, in International Journal of Internet Protocol Technology, Vol. 3 , no.
4, pp. 257-265, December 2008
• Gy. Dán, N. Carlsson and I. Chatzidrossos, “Efficient and Highly Available
Peer Discovery: A Case for Independent Trackers and Gossiping”, in Proc.
of IEEE International Conference on Peer-to-Peer Computing (P2P), August
2011
Chapter 6
Conclusion and Future Work
This thesis presents an evaluation of the performance of P2P live streaming systems
and proposes solutions to improve the system performance. In the following, we
summarize the main contributions of this thesis and point out the most significant
conclusions that we derived.
We evaluated the efficiency of data distribution in the two main P2P architectures, presented in Chapter 3. For multiple-tree-based systems, we studied the
efficiency of data distribution in conjunction with the use of FEC. We showed the
existence of a stability region and determined it as a function of the link loss probability between the peers, the number of levels of the trees and the redundancy of the
channel coding. Within the stability region of the system, data can be distributed
to all the peers while outside this region the performance degrades sharply. We also
identified the variance of the packet possession probability as a good candidate for
driving a control algorithm that adapts the redundancy of the channel coding in
order to keep the system in the stable region. For mesh-based systems, we developed a general framework to evaluate the efficiency of various forwarding schemes.
We compared four push-based forwarding algorithms and showed that while fresh
data first algorithms achieve faster dissemination for small playback delays, random forwarding has better asymptotic properties as the playback delay increases.
We also evaluated the sensitivity of forwarding algorithms to the level of control
overhead and found that random forwarding can perform well even at decreased
control overhead, in contrast to the fresh data first algorithms.
We addressed the challenge of maintaining streaming feasibility under churn
and in the presence of non-contributing peers through the use of admission control.
We proposed two admission control policies to limit the number of non-contributing
peers in the overlay so as to maintain streaming feasibility. For idealized overlays
we showed analytically that it is possible to serve non-contributing peers with small
disruptions, while ensuring that high contributing peers receive at full streaming
rate. We also showed through simulations that the upload bandwidth utilization
under these policies remains high even when used in multiple-tree-based systems.
33
34
CHAPTER 6. CONCLUSION AND FUTURE WORK
We addressed the challenge of efficient resource utilization in heterogeneous
push-based streaming systems through the use of incentives. We identified selfish
peer behavior as a factor that can lead to suboptimal streaming performance and
proposed an incentive mechanism to enforce peer cooperation. We proved that the
proposed mechanism is individually rational and incentive compatible and showed
its effectiveness through simulations. Guaranteeing maximum streaming quality
for the high contributing peers, the incentive mechanism combined with layered
video coding allows the distribution of video at a reasonable quality to physically
constrained, low contributing peers.
We addressed the challenge of maintaining good streaming performance under
churn through the use of playout adaptation. We proposed two adaptation algorithms and showed the benefits obtained from using playout adaptation compared
to overlays where no adaptation is used. Our results, together with the measurement studies showing the evolution of P2P streaming overlays during live events,
indicate the importance of playout adaptation in modern P2P streaming systems.
At the same time, we also identified a potential problem when performing playout
adaptation in a distributed way and argued that distributed adaptation should be
combined with a mechanism that maintains a minimum playback lag among the
peers.
Finally, we investigated the potential of a novel approach to the construction
of network aware overlays. We made the distinction between peering and transit
inter-AS links and considered recent measurement studies that reveal a transformation of the AS-level topology of the Internet to a flatter structure, where peering
agreements between ASs are becoming more and more common. Based on these
findings, we devised overlay construction policies that maximize the streaming performance while making use of only a small number of expensive transit links. Our
simulation results, on regular as well as on measured topologies, indicate that it is
possible to construct better than random overlays based on topological information.
The proposed overlay construction policies could therefore be used in conjunction
with services that provide network information to P2P systems and lead to network
aware P2P overlays that offer good streaming performance.
Future work
After several years of research and hands-on experience from a large number
of deployed P2P systems, it is safe to say that P2P streaming is now well past
its infancy. The fundamental properties of P2P live streaming systems have been
analyzed and well understood by the community. As far as system architecture is
concerned, mesh-based systems seem to have prevailed due to their robustness to
churn and their performance is generally evaluated based on the playback delay-loss
probability curve, used like the rate-distortion curve in the case of video coding.
However, there are still open issues with respect to the optimal deployment of such
systems over the Internet, some of which we addressed in the context of this thesis.
One of the most important open issues is the system scalability, that is how
35
a system can grow in size while maintaining seamless streaming for the already
joined peers. Our coordinated algorithm for playout adaptation is a first step
towards this direction. In coordinated adaptation peers are playing out the same
chunk at any given time instant. When considering distributed adaptation though,
the buffers of the peers may drift apart from each other, leading to a decreased
efficiency in data exchange. In Paper E, we showed such a scenario for a distributed
adaptation algorithm, when the overlay is shrinking in size after a live event. It is
therefore necessary to provide a mechanism that maintains a high level of buffer
overlap among the peers. Furthermore, in such systems it is worth investigating
the impact of the peer startup process, that is, the selection of the initial chunk
interest window of the peers, on the system performance. The choice of initial
window implicitly defines the playback delay of the peers. Considering the tradeoff between playback delay and playout miss ratio, it is also worth investigating the
impact of strategic peer behavior on the system performance as peers might try to
increase their playback delay in an uncoordinated way so that they achieve lower
playout miss ratio.
Another implementation issue still not fully explored is the construction of network aware overlays. In spite of the significant work that has been conducted on
that field during the last few years, there are still unanswered questions. First,
it is not clear what is the optimal mixture of criteria for the peer ranking during
the construction of the overlay, that is, the weight of locality and capacity aware
neighbor selections. Especially for the case of locality criteria, one can look at
different granularities of locality (AS-level, WAN-level, LAN-level). Besides the
issue of neighbor selection criteria, it is also still not clear which entity is going to
provide the information about the network to the P2P application. The current
IETF ALTO draft states that this can be either a third-party or the ISP itself if the
service is provided on a per-ISP basis. In the first case, ISPs may be reluctant to
reveal information about their network infrastructure or to lose their sovereignity
in terms of strategic decision making, making this solution problematic. In the
latter case, one has to account for the strategic behavior of ISPs. For instance, a
transit ISP has no incentive in enforcing locality awareness since this would reduce
its revenue, given the fact that charges are according to the traffic volume. Consequently, the deployment of network information provision services calls for a game
theoretic analysis of the behavior of the key entities involved, that is ISPs, content
providers and P2P system operators.
Finally, given the research results thus far, P2P streaming does not appear as a
solution that can replace traditional TV, or even IP-multicast based IPTV systems.
Instead, it offers a perfect way of transmitting ad-hoc live events to potentially large
audiences, or scheduled events with a high global interest such as conferences or
workshops without any infrastructure investment. Nevertheless, it is probably not
suited for stand-alone commercial use, as service guarantees cannot be given by
the provider. In spite of that, P2P streaming has great potential as an auxiliary
component of a hybrid multicast-broadcast system. The cost of offering live and
on demand streaming for a content provider, or ISP, can be alleviated through
36
CHAPTER 6. CONCLUSION AND FUTURE WORK
the use of a P2P system that offloads the streaming servers. This can give rise
to new business models for subscription-based streaming services, in which viewers
are given monetary incentives to upload and temporarily store video content.
Bibliography
[1] Host extensions for IP Multicasting - RFC 1112, 1989.
[2] IP Multicast Applications: Challenges and Solutions - RFC 3170, 2001.
[3] Akamai, http://www.akamai.com/html/technology/products/streaming.html.
[4] AT&T Content Delivery, http://www.business.att.com/enterprise/family/contentdelivery/broadcast-video/.
[5] K. Sripanidkulchai, B. Maggs, and H. Zhang. An analysis of live streaming
workloads on the Internet. In Proc. of ACM IMC, 2004.
[6] T. Silverston and O. Fourmaux. Measuring P2P IPTV systems. In Proc. of
ACM NOSSDAV, 2007.
[7] X. Hei, C. Liang, Y. Liu, and K.W. Ross. A measurement study of a large-scale
P2P IPTV system. IEEE Transactions on Multimedia, 9:1672–1687, December
2007.
[8] D. Ciullo, M. A. Garcia, A. Horvath, E. Leonardi, M. Mellia, D. Rossi,
M. Telek, and P. Veglia. Network awareness of P2P live streaming applications: a measurement study. IEEE Transactions on Multimedia, 12:54–63,
January 2010.
[9] S. Banerjee, B. Bhattacharjee, and C. Kommareddy. Scalable application layer
multicast. In Proc. of ACM SIGCOMM, pages 205–217, 2002.
[10] Yang hua Chu, Sanjay G. Rao, Srinivasan Seshan, and Hui Zhang. A case for
end system multicast. IEEE Journal On Selected Areas in Communications,
20(8), 2003.
[11] J. G. Apostolopoulos and M. D. Trott. Path diversity for enhanced media
streaming. IEEE Communications Magazine, 42:80–87, 2004.
[12] V. N. Padmanabhan, H. J. Wang, P. A. Chou, and K. Sripanidkulchai. Distributing streaming media content using cooperative networking. In Proc. of
ACM NOSSDAV, pages 177–186, 2002.
37
38
BIBLIOGRAPHY
[13] M. Castro, P. Druschel, A.-M. Kermarrec, A. Nandi, A. Rowstron, and
A. Singh. Splitstream: High-bandwidth multicast in a cooperative environment. In Proc. of ACM Symposium on Operating Systems Principles (SOSP),
2003.
[14] K. Sripanidkulchai, A. Ganjam, B. Maggs, and H. Zhang. The feasibility of
supporting large-scale live streaming applications with dynamic application
end-points. In Proc of ACM SIGCOMM, 2004.
[15] T. Qiu, I. Nikolaidis, and F. Li. On the design of incentive-aware P2P streaming. Journal of Internet Engineering, 1:61–71, October 2007.
[16] M. Zhang, L. Zhao, Y. Tang, J.-G. Luo, and S.-Q. Yang. Large-scale live media
streaming over peer-to-peer networks through global internet. In Proc. of ACM
workshop on Advances in peer-to-peer multimedia streaming (P2PMMS), pages
21–28, 2005.
[17] V. Venkataraman, K. Yoshida, and P. Francis. Chunkyspread: Heterogeneous
unstructured tree-based peer-to-peer multicast. In Proc. of the 14th IEEE
International Conference on Network Protocols (ICNP), pages 2 –11, Nov.
2006.
[18] Bo Li, Susu Xie, Yang Qu, G.Y. Keung, Chuang Lin, Jiangchuan Liu, and
Xinyan Zhang. Inside the new coolstreaming: Principles, measurements and
performance implications. In Proc. of IEEE INFOCOM, pages 1031–1039,
April 2008.
[19] E. Setton, J. Noh, and B. Girod. Congestion-distortion optimized peer-topeer video streaming. In Proc. of IEEE International Conference on Image
Processing, 2006.
[20] H. Schwarz, D. Marpe, and T. Wiegand. Overview of the scalable video coding extension of the h.264/avc standard. IEEE Transactions on Circuits and
Systems for Video Technology, 17:1103–1120, 2007.
[21] B. Girod, K. Stuhlmüller, M. Link, and U. Horn. Packet loss resilient internet video streaming. In Proc. of IEEE International Conference on Image
Processing, 2000.
[22] V. K. Goyal. Multiple description coding: Compression meets the network.
IEEE Signal Processing Magazine, 18:74–93, 2001.
[23] Y. Chu, J. Chuang, and H. Zhang. A case for taxation in peer-to-peer streaming
broadcast. In Proc. of the ACM SIGCOMM workshop on Practice and theory
of incentives in networked systems, 2004.
[24] I.S. Reed and G. Solomon. Polynomial codes over certain finite fields. SIAM
Journal of Applied Mathematics, 8:300–304, 1960.
BIBLIOGRAPHY
39
[25] Gy. Dán, V. Fodor, and G. Karlsson. On the asymptotic behavior of endpoint-based multimedia streaming. In Proc. of International Zurich seminar
on Communication, 2006.
[26] Gy. Dán, V. Fodor, and G. Karlsson. On the stability of end-point-based
multimedia streaming. In Proc. of IFIP Networking, 2006.
[27] Y. Liu. On the minimum delay peer-to-peer video streaming: how realtime
can it be? In Proc. of ACM Multimedia, 2007.
[28] L. Massoulie et al. Randomized decentralized broadcasting algorithms. In
Proc. of IEEE INFOCOM, 2007.
[29] T. Bonald, L. Massoulié, F. Mathieu, D. Perino, and A. Twigg. Epidemic live
streaming: Optimal performance trade-offs. In Proc. of ACM SIGMETRICS,
2008.
[30] Luca Abeni, Csaba Kiraly, and Renato Lo Cigno. On the optimal scheduling of streaming applications in unstructured meshes. In Proc. of IFIP/TC6
Networking, pages 117–130, 2009.
[31] F. Picconi and L. Massoulié. Is there a future for mesh-based live video streaming? In IEEE International Conference on Peer-to-Peer Computing, 2008.
[32] C. Liang, Y. Guo, and Y. Liu. Is random scheduling sufficient in P2P video
streaming? In Proc. of the 28th International Conference on Distributed Computing Systems (ICDCS), 2008.
[33] Y. Guo, C. Liang, and Y. Liu. Adaptive queue-based chunk scheduling for
P2P live streaming. In Proc. of IFIP Networking, 2008.
[34] C. Kiraly, L. Abeni, and R. Lo Cigno. Effects of P2P streaming on video
quality. In Proc. of IEEE International Conference on Communications (ICC),
pages 1 –5, May 2010.
[35] E. Setton, J. Noh, and B. Girod. Low latency video streaming over peer-topeer networks. In Proc. of IEEE International Conference on Multimedia and
Expo (ICME), pages 569 –572, july 2006.
[36] R. Fortuna, E. Leonardi, M. Mellia, M. Meo, and S. Traverso.
QoE in Pull Based P2P-TV Systems: Overlay Topology Design Tradeoffs. In
Proc. of the 10th IEEE International Conference on Peer-to-Peer Computing
(P2P), pages 1 –10, August 2010.
[37] STUN - Simple traversal of user datagram protocol (UDP) through network
address translators (NATs) - IETF RFC 3489, March 2003.
40
BIBLIOGRAPHY
[38] S. Guha and P. Francis. Characterization and measurement of TCP traversal
through NATs and firewalls. In Proc. of the 5th ACM SIGCOMM conference
on Internet Measurement (IMC), 2005.
[39] T. Small, B. Liang, and B. Li. Scaling laws and tradeoffs in peer-to-peer live
multimedia streaming. In Proc. of ACM Multimedia, 2006.
[40] M. Bishop, S. Rao, and K. Sripanidkulchai. Considering priority in overlay
multicast protocols under heterogeneous environments. In Proc. of IEEE INFOCOM, 2006.
[41] Y. Sung, M. Bishop, and S. Rao. Enabling contribution awareness in an overlay
broadcasting system. In Proc. of ACM SIGCOMM, pages 411–422, 2006.
[42] R. J. Lobb, A. P. Couto da Silva, E. Leonardi, M. Mellia, and M. Meo. Adaptive
overlay topology for mesh-based P2P-TV systems. In Proc. of ACM NOSSDAV, 2009.
[43] D.-N. Ren, Y.-T. H. Li, and S.-H. Chan. On reducing mesh delay for peer-topeer live streaming. In Proc. of IEEE INFOCOM, 2008.
[44] Y. Cui and K. Nahrstedt. Layered peer-to-peer streaming. In Proc. of ACM
NOSSDAV, 2003.
[45] Pierpaolo Baccichet, Thomas Schierl, Thomas Wiegand, and Bernd Girod.
Low-delay peer-to-peer streaming using scalable video coding. In Packet Video
2007, pages 173 –181, Nov. 2007.
[46] K. Park, S. Pack, and T. Kwon. Climber: An incentive-based resilient peerto-peer system for live streaming services. In Proc. of International Workshop
on Peer-to-Peer Systems (IPTPS), 2008.
[47] A. Habib and J. Chuang. Service differentiated peer selection: An incentive
mechanism for peer-to-peer media streaming. IEEE Transactions on Multimedia, 8:610–621, June 2009.
[48] G. Tan and S. A. Jarvis. A payment-based incentive and service differentiation
mechanism for peer-to-peer streaming broadcast. In Proc. of 14th International
Workshop on Quality of Service (IWQoS), 2006.
[49] Z. Liu, Y. Shen, S. S. Panwar, K. W. Ross, and Y. Wang. Using layered
video to provide incentives in P2P live streaming. In Proc. of Workshop on
Peer-to-Peer Streaming and IP-TV, 2007.
[50] Z. Liu, Y. Shen, S. S. Panwar, K. W. Ross, and Y. Wang. P2P video live
streaming with MDC: Providing incentives for redistribution. In Proc. of
IEEE International Conference on Multimedia and Expo (ICME), 2007.
BIBLIOGRAPHY
41
[51] T. Chahed, E. Altman, and S.E. Elayoubi. Joint uplink and downlink admission control to both streaming and elastic flows in CDMA/HSDPA systems.
Performance Evaluation, 65:869–882, November 2008.
[52] Gy. Dán and V. Fodor. Delay asymptotics and scalability for peer-to-peer
live streaming. IEEE Transactions on Parallel and Distributed Systems,
20(10):1499–1511, October 2009.
[53] Bo Li, G.Y. Keung, Susu Xie, Fangming Liu, Ye Sun, and Hao Yin. An
empirical study of flash crowd dynamics in a P2P-based live video streaming
system. In Proc. of IEEE GLOBECOM, pages 1–5, December 2008.
[54] I. Bermudez, M. Mellia, and M. Meo. Passive characterization of SopCast
usage in residential ISPs. In Proc. of 11th IEEE International Conference on
Peer-to-Peer Computing, 2011.
[55] Fangming Liu, Bo Li, Lili Zhong, Baochun Li, and Di Niu. How P2P streaming
systems scale over time under a flash crowd? In Proc. of the 8th International
Conference on Peer-to-Peer Systems (IPTPS), 2009.
[56] Zhijia Chen, Bo Li, G. Keung, Hao Yin, Chuang Lin, and Yuanzhuo Wang.
How scalable could P2P live media streaming system be with the stringent time
constraint? In Proc. of IEEE International Conference on Communications
(ICC), pages 1 –5, June 2009.
[57] E. Biersack, W. Geyer, and C. Bernhardt. Intra- and inter-stream synchronisation for stored multimedia streams. In Proc. of the Third IEEE International
Conference on Multimedia Computing and Systems, pages 372 –381, jun 1996.
[58] P. Goyal, H.M. Vin, C. Shen, and P.J. Shenoy. A reliable, adaptive network
protocol for video transport. In IEEE INFOCOM, mar 1996.
[59] Donald L. Stone and Kevin Jeffay. An empirical study of a jitter management
scheme for video teleconferencing. Multimedia Systems, 2(6):267–279, 1995.
[60] N. Laoutaris and I. Stavrakakis. Adaptive playout strategies for packet video
receivers with finite buffer capacity. In Proc. of IEEE International Conference
on Communications (ICC), pages 969 –973, 2001.
[61] M. Kalman, E. Steinbach, and B. Girod. Adaptive media playout for lowdelay video streaming over error-prone channels. Circuits and Systems for
Video Technology, IEEE Transactions on, 14(6):841–851, june 2004.
[62] Y.F. Ou, T. Liu, Z. Zhao, Z. Ma, and Y. Wang. Modeling the impact of
frame rate on perceptual quality of video. In Proc. of 15th IEEE International
Conference on Image Processing (ICIP), pages 689–692, 2008.
42
BIBLIOGRAPHY
[63] T. Karagiannis, P. Rodriguez, and K. Papagiannaki. Should Internet Service
Providers Fear Peer-Assisted Content Distribution? In Proc. of the 5th ACM
SIGCOMM conference on Internet Measurement, pages 6–6, 2005.
[64] http://www.dslreports.com/shownews/new-comcast-throttling-system-100online-100015.
[65] Vinay Aggarwal, Anja Feldmann, and Christian Scheideler. Can isps and P2P
users cooperate for improved performance? SIGCOMM Comput. Commun.
Rev., 37:29–40, July 2007.
[66] Gy. Dán, T. Hossfeld, S. Oechsner, P. Cholda, R. Stankiewicz, I. Papafili,
and G.D. Stamoulis. Interaction patterns between P2P content distribution
systems and isps. IEEE Communications Magazine, 49(5):222 –230, May 2011.
[67] H. Xie, Y. R. Yang, A. Krishnamurthy, Y. G. Liu, and A. Silberschatz. P4P:
Provider portal for applications. In Proc. of the ACM SIGCOMM 2008, pages
351–362, 2008.
[68] R. Bindal, P. Cao, W. Chan, J. Medval, G. Suwala, T. Bates, and A. Zhang.
Improving traffic locality in bittorrent via biased neighbor selection. In Proc.
of the International Conference on Distributed Computer Systems (ICDCS),
2006.
[69] IETF ALTO Working Group, https://datatracker.ietf.org/wg/alto/charter/.
[70] S. Le Blond, A. Legout, and W. Dabbous. Pushing bittorrent locality to the
limit. Computer Networks, 2010.
[71] D. Choffnes and F. Bustamante. Taming the torrent: A practical approach to
reducing cross-ISP traffic in P2P systems. In Proc. of ACM SIGCOMM, 2008.
[72] F. Picconi and L. Massoulié. ISP-friend or foe? making P2P live streaming
ISP-aware. In Proc. of the 29thIEEE International Conference on Distributed
Computer Systems (ICDCS), pages 413–422, 2009.
[73] Xin Jin and Yu-Kwong Kwok. Network aware P2P multimedia streaming: Capacity or locality? In IEEE International Conference on Peer-to-Peer Computing (P2P), pages 54 –63, Sept. 2011.
[74] J. Seedorf, S. Niccolini, M. Stiemerling, E. Ferranti, and R. Winter. Quantifying operational cost-savings through alto-guidance for P2P live streaming.
In 3rd Workshop on Economic Traffic Management (ETM 2010), September
2010.
[75] C. Labovitz, S. Iekel-Johnson, D. McPherson, J. Oberheide, and F. Jahanian.
Internet inter-domain traffic. In Proc.of ACM SIGCOMM, pages 75–86, 2010.
BIBLIOGRAPHY
43
[76] A. Dhamdhere and C. Dovrolis. The Internet is flat: modeling the transition
from a transit hierarchy to a peering mesh. In Proc. of ACM Co-NEXT, pages
1–12, 2010.
Paper A
Streaming Performance in Multiple-tree-based
Overlays
György Dán, Viktória Fodor and Ilias Chatzidrossos.
In Proceedings of IFIP Networking, Atlanta, Georgia, May 2007.
Streaming Performance in Multiple-tree-based
Overlays
György Dán, Viktória Fodor and Ilias Chatzidrossos
Laboratory for Communication Networks
School of Electrical Engineering
KTH, Royal Institute of Technology
E-mail: {gyuri,vfodor,iliasc}@ee.kth.se
Abstract
In this paper we evaluate the data transmission performance of a generalized multiple-tree-based overlay architecture for peer-to-peer live streaming that employs multipath transmission and forward error correction. We
give mathematical models to describe the error recovery in the presence of
packet losses. We evaluate the data distribution performance of the overlay,
its asymptotic behavior, the stability regions for the data transmission, and
analyze the system behavior around the stability threshold. We argue that
the composed measure of the mean and the variance of the packet possession
probability can support adaptive forward error correction.
1
Introduction
The success of peer-to-peer overlays for live multicast streaming depends on their
ability to maintain acceptable perceived quality at all the peers, that is, to provide
data transmission with low delay and information loss. Live streaming solutions
usually apply multiple distribution trees and some form of error control to deal
with packet losses due to congestion and peer departures. In these systems peers
have to relay data to their child nodes with low delay, which limits the possibilities
of error recovery. Consequently, the main problem to be dealt with is the spatial
propagation and thus the accumulation of losses, which results in low perceived
quality for peers far from the source.
Several works deal with the management of the overlay, with giving incentives
for collaboration, with peer selection and tree reconstruction considering peer het1 This work was in part supported by the Swedish Foundation for Strategic Research through
the projects Winternet and AWSI, and by [email protected]
1
A-2
erogeneity and the underlying network topology ([1, 2, 3, 4, 5, 6] and references
therein).
In [7] the authors propose time shifting and video patching to deal with losses
and discuss related channel allocation and group management issues. In [8] robustness is achieved by distributing packets to randomly chosen neighbors outside
the distribution tree. In [9] retransmission of the lost data is proposed to limit
temporal error propagation. CoopNet [10] and SplitStream [11] propose the use of
multiple distribution trees and a form of multiple description coding (MDC) based
on forward error correction (FEC). In the case of packet losses peers can stop error
propagation by reconstructing the video stream from the set of received substreams
using error correcting codes.
There are several designs proposed and also implemented, the evaluation of these
solutions is however mostly based on simulations and measurements. Our goal is to
define abstract models of peer-to-peer streaming overlays that help us to understand
some basic characteristics of streaming in multiple transmission trees and thus, can
support future system design.
Previously, we proposed mathematical models to describe the behavior of CoopNet like architectures in [12, 13, 14]. Our results showed that the two architectures
proposed in the literature, and used as a basis in recent works (e.g., [2, 15]) are
straightforward but not optimal. Minimum depth trees minimize the number of
affected peers at peer departure, minimize the effect of error propagation from peer
to peer, and introduce low transmission delay. Nevertheless, the overlay is unstable
and may become disconnected when one of the trees runs out of available capacity
after consecutive peer departures. Minimum breadth trees are stable and easy to
manage, but result in long transmission paths. Thus many nodes are affected if a
peer leaves, there may be large delays, and the effect of error propagation may be
significant.
In [16] we proposed a generalized multiple-tree-based architecture and showed
that the stability of the overlay can be increased significantly by the flexible allocation of peer output bandwidth across several transmission trees. In this paper,
we evaluate the performance of this generalized architecture. First we show how
the allocation of peer output bandwidth affects the data distribution performance
and discuss whether proper bandwidth allocation can lead to both increased overlay
stability and good data distribution performance. We show that the packet possession probability at the peers decreases ungracefully if the redundancy level is not
adequate, and evaluate how the variance of the packet possession probability can
predict quality degradation.
The rest of the paper is organized as follows. Section 2 describes the considered
overlay structure and error correction scheme. We evaluate the stability of the data
distribution in Section 3. Section 4 discusses the performance of the overlay based
on the mathematical models and simulations and we conclude our work in Section 5.
A-3
2
System description
The peer-to-peer streaming system discussed in this paper is based on two key ideas:
the overlay consists of multiple transmission trees to provide multiple transmission
paths from the sender to all the peers, and data transmission is protected by block
based FEC.
2.1
Overlay structure
The overlay consists of the streaming server and N peer nodes. The peer nodes are
organized in t distribution trees with the streaming server as the root of the trees.
The peers are members of all t trees, and in each tree they have a different parent
node from which they receive data. We denote the maximum number of children
of the root node in each tree by m, and we call it the multiplicity of the root node.
We assume that nodes do not contribute more bandwidth towards their children as
they use to download from their parents, which means, that each node can have up
to t children to which it forwards data.
A node can have children in up to d of the t trees, called the fertile trees of the
node. A node is sterile in all other trees, that is, it does not have any children. We
discuss two different policies that can be followed to allocate output bandwidth in
the fertile trees. With the unconstrained capacity allocation (UCA) policy a node
can have up to t children in any of its fertile trees. With the balanced capacity
allocation (BCA) policy a node can have up to ⌈t/d⌉ children in any of its fertile
trees.
By setting d = t one gets the minimum breadth tree described in [10], and by
setting d = 1 one gets the minimum depth tree evaluated in [2, 6, 10, 15]. For
1 < d < t the number of layers in the overlay is O(logN ) as for d = 1.
The construction and the maintenance of the trees can be done either by a
distributed protocol (structured, like in [11] or unstructured, like in [9]) or by a
central entity, like in [10]. The results presented in this paper are not dependent
on the particular solution used. Nevertheless, we defined a centralized overlay
construction algorithm in [16]. The objective of the algorithm is to minimize the
depth of the trees and the probability that trees run out of free capacity after node
departures. This is achieved by pushing sterile nodes to the lower layers of the trees
and by assigning arriving nodes to be fertile in trees with the least available capacity.
If we denote the number of layers in the trees by L, then in a well maintained tree
each node is 1 ≤ i ≤ L hops away from the root node in its fertile trees, and
L − 1 ≤ i ≤ L hops away in its sterile trees. As shown in [16], increasing the
number of fertile trees increases the overlay stability, with significant gain already
at d = 2, and the UCA policy giving the highest increase.
Fig. 1 shows an overlay constructed with the proposed algorithm for t = 3,
m = 3 and d = 2, also showing how the overlay changes when a new node joins.
A-4
Tree 1
R
1
4
7
6
2
Tree 2
R
1
2
3
5
8
6
8
7
Tree 3
R
2
3
4
3
6
4
7
Tree 1
R
1
4
5
1
8
5
a)
9
7
6
2
Tree 2
R
1
2
3
5
8
6
8
7
5
Tree 3
R
2
3
4
9
3
6
4
7
5
1
8
3
b)
Figure 1: a) Overlay with N = 8, t = 3, m = 3 and d = 2, b) the same overlay with
N = 9. Identification numbers imply the order of arrival, squares indicate that the node
is fertile.
2.2
Data distribution with forward error correction
The root uses block based FEC, e.g., Reed-Solomon codes [17], so that nodes can
recover from packet losses due to network congestion and node departures. To
every k packets of information it adds c packets of redundant information, which
results in a block length of n = k + c. We denote this FEC scheme by FEC(n,k).
If the root would like to increase the ratio of redundancy while maintaining its
bitrate unchanged, then it has to decrease its source rate. Lost packets can be
reconstructed as long as at most c packets are lost out of n packets. The root sends
every tth packet to its children in a given tree in a round-robin manner. If n ≤ t
then at most one packet of a block is distributed over the same distribution tree.
Peer nodes relay the packets upon reception to their respective child nodes. Once
a node receives at least k packets of a block of n packets it recovers the remaining
c packets and forwards the ones belonging to its fertile trees.
3
Data distribution model
We use two metrics to measure the performance of the data distribution in the
overlay. The first metric is the probability π that an arbitrary node receives or can
reconstruct (i.e., possesses) an arbitrary packet. If we denote by ρr the number
of packets possessed by node r in an arbitrary block of packets, then π can be
expressed
P as the average ratio of packets possessed in a block over all nodes, i.e.,
π = E[ r ρr /n/N ]. The second
P metric is σ, the average standard deviation of ρr /n
over all nodes, i.e., σ 2 = E[ r (ρr /n)2 /N ] − π 2 .
The mathematical model we present describes the behavior of the overlay in
the presence of independent packet losses and without node dynamics. We denote
the probability that a packet is lost between two adjacent nodes by p. We assume
that the probability that a node is in possession of a packet is independent of that
a node in the same layer is in possession of a packet. We also assume that nodes
can wait for redundant copies to reconstruct a packet for an arbitrary amount of
time. For the model we consider a tree with the maximum number of nodes in the
last layer, hence nodes are fertile in layers 1..L − 1 and are sterile in layer L. For
simplicity, we assume that n = t and t/d is an integer. We will comment on the
possible effects of our assumptions later. The model assumes the BCA policy. By
A-5
modifying the weights in (1) the model can be used to consider other policies as
well. For brevity we restrict the analytical evaluation to this case, and compare the
results to simulations with other policies. P
P
Hence, our goal is to calculate π (z) = E[ r (ρr /n)(z) /N ] = r E[(ρr /n)(z) ]/N ,
the average of the z th moment (z ∈ {1, 2}) of the ratio of possessed packets. We
introduce π(i)(z) , the z th moment of the ratio of possessed packets for a node that
is in layer i in its fertile trees. For simplicity we assume that nodes are in the same
layer in their fertile trees. We can express π (z) by weighting the π(i)(z) with the
portion of nodes that are in layer i of their fertile trees.
π (z) =
L−1
X
i=1
(t/d)i−1
π(i)(z) .
− 1)/(t/d − 1)
((t/d)L−1
(1)
To calculate π(i)(z) we have to calculate the probabilities πf (i) that a node, which
is in layer i in its fertile tree, receives or can reconstruct an arbitrary packet in its
fertile tree. Since the root node possesses every packet, we have that πf (0) = 1. The
probability that a node in layer i receives a packet in a tree is πa (i) = (1−p)πf (i−1).
A node can possess a packet in its fertile tree either if it receives the packet or if
it can reconstruct it using the packets received in the other trees. Reconstruction
can take place if the number of received packets is at least k out of the remaining
n − 1, hence we can write for 1 ≤ i ≤ L − 1

n−1

X min(j,d−1)
X
d−1
πa (i)u (1 − πa (i))d−1−u
πf (i) = πa (i) + (1 − πa (i))
u

j=k u=max(0,j−n+d)
n−d
j−u
n−d−j+u
.
(2)
πa (L)
(1 − πa (L))
j−u
Based on the probabilities πf (i) we can express π(i)(z) (1 ≤ i ≤ L − 1). If a node
receives at least k packets in a block of n packets then it can use FEC to reconstruct
the lost packets, and hence possesses all n packets. Otherwise, FEC cannot be used
to reconstruct the lost packets. Packets can be received in the d fertile trees and in
the t − d sterile trees. Hence for π(i)(z) we get the equation
(z)
π(i)
n−d d
1 XX
d
z
πa (i)u (1 − πa (i))d−u
τ (j + u)
=
u
n j=1 u=1
n−d
πa (L)j (1 − πa (L))n−d−j ,
j
(3)
where τ (j) indicates the number of packets possessed after FEC reconstruction if j
packets have been received:
j
0≤j<k
τ (j) =
n
k ≤ j ≤ n.
A-6
We use an iterative method to calculate the probabilities πf (i). First, we set πf (L−
1)(0) = (1 − p)L−1 and calculate the probabilities πf (i)(1) , 1 ≤ i < L. Then, in
iteration r, we calculate πf (i)(r) , 1 ≤ i < L using πf (L − 1)(r−1) . The iteration
stops when |πf (L − 1)(r−1) − πf (L − 1)(r)| < ǫ, where ǫ > 0. The π(i)(z) can then be
calculated using (3). The calculation of π and σ are straightforward, since π = π (1) ,
and σ 2 = π (2) − π 2
3.1
Asymptotic behavior for large N
In the following we give an asymptotic bound on π to better understand its evolution. It is clear that πf (i) is a non-increasing function of i and πf (i) ≥ 0. Hence, we
can give an upper estimate of πf (i) by assuming that the nodes that forward data
in layer i are sterile in the same layer. Then, instead of (2) we get the following
nonlinear recurrence equation
π f (i + 1) =
π a (i + 1) +
(1 − π a (i + 1))
(4)
n−1
X
j=n−c
n−1
j
π a (i + 1)j (1 − π a (i + 1))n−1−j .
This equation is the same as (2) in [13], and thus the analysis shown there can
be applied to describe the evolution of π f (i). For brevity, we only state the main
results regarding π f (i), for a detailed explanation see [13]. For every (n, k) there is
a loss probability pmax below which the packet possession probability π f (∞) > 0
and above which π f (∞) = 0. Furthermore, for any 0 < δ < 1 there is (n, k) such
that π f (∞) ≥ δ.
Consequently, in the considered overlay if p > pmax , then limN →∞ π = 0, because π f (i + 1) ≥ πf (i + 1) ≥ π(i + 1)(1) , and limN →∞ π f (L − 1) = 0. For p < pmax
stability depends on the number of layers in the overlay and the FEC block length
due to the initial condition πf (L − 1)(0) = (1 − p)L−1 , but not directly on the
number of nodes. This explains why placing nodes with large outgoing bandwidths
close to the root improves the overlay’s performance [2, 6]. In the case of stability
πf (i) ≥ π f (∞) > 0 and π(i)(1) ≥ π f (∞) > 0.
3.2
Discussion of the assumptions
In the following we discuss the validity of certain assumptions made in the model.
The model does not take into account the correlations between packet losses in the
Internet. Nevertheless, it can be extended to heterogeneous and correlated losses
by following the procedure presented in [13] for the minimum breadth trees. Losses
occurring in bursts on the output links of the nodes influence the performance of
the overlay if several packets of the same block are distributed over the same tree,
that is, if n > t. Bursty losses in the backbone influence the performance if packets
of different distribution trees traverse the same bottleneck. The analysis in [13]
A-7
showed that loss correlations on the input links and heterogeneous losses slightly
decrease the performance of the overlay.
The model can be extended to nodes with heterogeneous input and output bandwidths. The procedure is similar to that followed when modeling heterogeneous
losses [13], but the effects of the heterogeneous bandwidths on the trees’ structure
have to be taken into account. We decided to show equations for the homogeneous
case here to ease understanding.
In the analysis we assume that the number of nodes in the last layer of the tree
is maximal. If the number of nodes in the last layer of the tree is not maximal then
some nodes are in layer L − 1 in their sterile trees, and the overlay’s performance
becomes slightly better. The results of the asymptotic analysis still hold however.
Our results for block based FEC apply to PET and the MDC scheme considered
in [10], where different blocks (layers) of data are protected with different FEC
codes. The packet possession probability for the different layers depends on the
strength of the FEC codes protecting them, and can be calculated using the model.
We do not model the temporal evolution of the packet possession probability.
We use simulations to show that the performance predicted by the model is achieved
within a time suitable for streaming applications.
The model does not take into account node departures, an important source
of disturbances for the considered overlay. Following the arguments presented in
[13] node departures can be incorporated in the model as an increase of the loss
probability by pω = Nd /N × θ, where Nd is the mean number of departing nodes
per time unit and θ is the time nodes need to recover (discovery and reconnection)
from the departure of a parent node. The simulation results presented in [13] show
that for low values of pω this approximation is accurate.
The results of the model apply for n < t without modifications, and a similar
model can be developed for n > t by considering the distribution of the number
of packets possessed by the nodes in their fertile trees. However, for n > t node
departures lead to correlated losses in the blocks of packets, which aggravates their
effect on the performance.
4
Performance evaluation
In the following we analyze the behavior of the overlay using the analytical model
presented in the previous section and via simulations. For the simulations we developed a packet level event-driven simulator.
We used the GT-ITM [18] topology generator to generate a transit-stub model
with 10000 nodes and average node degree 6.2. We placed each node of the overlay
at random at one of the 10000 nodes and used the one way delays given by the
generator between the nodes. The mean delay between nodes of the topology is
44 ms. The delay between overlay nodes residing on the same node of the topology
was set to 1 ms. Losses on the paths between the nodes of the overlay occur
A-8
π(i)
independent of each other according to a Bernoulli model with loss probability p.
We consider the streaming of a 112.8 kbps data stream to nodes with link capacity
128 kbps. The packet size is 1410 bytes. Nodes have a playout buffer capable of
holding 140 packets, which corresponds to 14 s of playout delay. Each node has an
output buffer of 80 packets to absorb the bursts of packets in its fertile trees.
We assume that session holding
times follow a log-normal distribution
with mean 1/µ = 306s and that nodes
1
join the overlay according to a Poisson
0.9
process with λ = N µ, supported by
0.8
studies [19, 20]. To obtain the results
0.7
N=500,d=1,p=0.06
N=500,d=1,p=0.12
0.6
for a given overlay size N , we start the
N=500,d=1,p=0.14
N=500,d=2,p=0.06
0.5
N=500,d=2,p=0.12
simulation with N nodes in its steady
N=500,d=2,p=0.14
0.4
N=50000,d=1,p=0.06
state as described in [21] and let nodes
N=50000,d=1,p=0.12
0.3
N=50000,d=1,p=0.14
join and leave the overlay for 5000 s.
N=50000,d=2,p=0.06
0.2
N=50000,d=2,p=0.12
The measurements are made after this
N=50000,d=2,p=0.14
0.1
warm-up period for a static tree over
0
2
4
6
8
10
12
14
Layer (i)
1000 s and the presented results are the
averages of 10 simulation runs. The results have less than 5 percent margin of Figure 2: π(i) vs. i for m = t = n = 4,
error at a 95 percent level of confidence. c = 1.
Fig. 2 shows π(i) as a function of i
for t = n = 4, c = 1, and different overlay sizes and values of d as obtained by
the mathematical model (i.e., the BCA policy). The value of the threshold for
the FEC(4,3) code is pmax = 0.129. The figure shows that when the overlay is
stable (e.g., ∀d, N at p = 0.06), neither its size nor d has a significant effect on π(i).
However, in the unstable state (d = 2, N = 50000 at p = 0.12; ∀d, N at p = 0.14)
both increasing N and increasing d decrease π(i), as the number of layers in the
overlay increases in both cases.
Fig. 3 shows π as a function of p obtained with the mathematical model for
m = 4 and n = t. The vertical bars show the values π(1) at the upper end and
π(L − 1) at the lower end. We included them for d = 1 only to ease readability,
but they show the same properties for other values of d as well. The figure shows
that π remains high and is unaffected by N and d as long as the overlay is stable.
It drops however once the overlay becomes unstable, and the drop of the packet
possession probability gets worse as the number of nodes and hence the number
of layers in the overlay increases. At the same time the difference between π(1)
and π(L − 1) (the packet possession probability of nodes that are fertile in the first
and the penultimate layers, respectively) increases. Furthermore, increasing t (and
hence n) increases π in a stable system, but the stability region gets smaller and
the drop of the packet possession probability gets faster in the unstable state due
to the longer FEC codes. The curves corresponding to π f (∞) show the value of the
asymptotic bound calculated using (4).
A-9
0.4
π
Stdev of Packet possession probability (σ )
1
Packet possession probability (π)
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
t=4,d=1,N=500
t=4,d=1,N=50000
t=4,d=1,πf(∞)
t=8,d=2,N=500
t=8,d=2,N=50000
t=8,d=2,πf(∞)
t=16,d=4,N=500
t=16,d=4,N=50000
t=16,d=4,πf(∞)
0.05
0.1
0.15
0.2
0.25
0.35
0.3
0.25
t=4,d=1,N=500
t=4,d=1,N=50000
t=8,d=2,N=500
t=8,d=2,N=50000
t=16,d=4,N=500
t=16,d=4,N=50000
0.2
0.15
0.1
0.05
0
0
0.3
0.05
0.1
0.15
0.2
0.25
0.3
Loss probability (p)
Loss probability (p)
Figure 3: π vs. p for m = 4, n = t,
Figure 4: σπ vs. p for m = 4, n = t,
k/n = 0.75.
k/n = 0.75.
1
Stdev of Packet possession probability ( σπ)
0.4
Packet possession probability (π)
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
t=4,d=1,N=500
t=4,d=1,N=50000
t=8,d=2,N=500
t=8,d=2,N=50000
t=16,d=4,N=500
t=16,d=4,N=50000
0.05
0.1
0.15
0.2
0.25
0.3
Loss probability (p)
Figure 5: π vs. p for m = 4, n = t, k/n =
0.75. BCA policy, simulation results.
0.35
0.3
t=4,d=1,N=500
t=4,d=1,N=50000
t=8,d=2,N=500
t=8,d=2,N=50000
t=16,d=4,N=500
t=16,d=4,N=50000
0.25
0.2
0.15
0.1
0.05
0
0
0.05
0.1
0.15
0.2
0.25
0.3
Loss probability (p)
Figure 6: σπ vs. p for m = 4, n = t,
k/n = 0.75. BCA policy, simulation results.
Due to the ungraceful degradation of π it is difficult to maintain the stability
of the overlay in a dynamic environment by measuring the value of π. Hence, we
look at the standard deviation of the packet possession probability. Fig. 4 shows
the standard deviation σπ as a function of p obtained with the mathematical model
for m = 4 and n = t. The standard deviation increases rapidly even for low values
of p and reaches its maximum close to pmax . Increasing the value of t decreases the
standard deviation of π, i.e., the number of packets received in a block varies less
among the nodes of the overlay. Its quick response to the increase of p makes σπ
more suitable for adaptive error control than π itself.
To validate our model we first present simulation results for the BCA policy.
Figs. 5 and 6 show π and σπ respectively as a function of p for the same scenarios as
Figs. 3 and 4. Both figures show a good match with the analytical model and confirm
that the increase of the standard deviation is a good indicator of the increasing
A-10
0.4
Stdev of Packet possession probability ( σπ)
1
Packet possession probability (π)
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
t=4,d=1,N=500
t=4,d=1,N=50000
t=8,d=2,N=500
t=8,d=2,N=50000
t=16,d=4,N=500
t=16,d=4,N=50000
0.05
0.1
0.15
0.2
0.25
0.75. UCA policy, simulation results.
0.3
t=4,d=1,N=500
t=4,d=1,N=50000
t=8,d=2,N=500
t=8,d=2,N=50000
t=16,d=4,N=500
t=16,d=4,N=50000
0.25
0.2
0.15
0.1
0.05
0
0
0.3
Loss probability (p)
Figure 7: π vs. p for m = 4, n = t, k/n =
0.35
0.05
0.1
0.15
0.2
Loss probability (p)
0.25
0.3
Figure 8: σπ vs. p for m = 4, n = t,
k/n = 0.75. UCA policy, simulation results.
P(A node is sterile in layer ≤ i)
packet loss probability. For long FEC codes the simulation results show slightly
worse performance close to the stability threshold compared to the analytical results.
The difference is due to late arriving packets, i.e., FEC reconstruction is not possible
within the time limit set by the playout buffer’s size.
To see the effects of the capacity allocation policy, we show π as a func1
tion of p in Fig. 7 for the same scenarios as in Fig. 5 but for the UCA pol0.8
icy. Comparing the figures we see that
0.6
π is the same in the stable state, but is
higher in the unstable state of the overt=4,m=4,d=1,Analytical
0.4
t=4,m=4,d=1
lay. Furthermore, the region of stability
t=8,m=4,d=2,UCA
t=8,m=4,d=2,BCA
0.2
is wider. Comparing the results for σπ
t=16,m=4,d=4,UCA
t=16,m=4,d=4,BCA
shown in Fig. 8 we can observe that for
t=16,m=16,d=1
0
0
5
10
15
20
25
N = 50000 and d > 1 the standard deLayer (i)
viation is somewhat higher compared to
the BCA policy and is similar in shape
to the d = 1 case. This and the wider Figure 9: CDF of the layer where nodes are
region of stability using the UCA pol- sterile for N = 50000. Simulation results.
icy is due to that the overlay has less
layers than using the BCA policy as it
is shown in Fig. 9. The figure shows the cumulative distribution function (CDF) of
the layer where the nodes of the overlay are in their sterile trees.
There is practically no difference between the distributions for d = 1 and the
BCA policy with d > 1 for the same t/d value. With the UCA policy nodes tend to
have more children in the fertile tree where they are closest to the root due to the
parent selection algorithm, so that the trees’ structure is similar to the d = 1 case
A-11
and the number of layers is lower than using BCA (compare the results for t = 16,
d = 1 vs. t = 16, d = 4, UCA vs. t = 16, d = 4, BCA).
Hence, the data distribution performance of an overlay with t trees and d = 1
can be closely resembled with an overlay with d > 1 and td trees by employing
a (centralized or distributed) mechanism that promotes parents close to the root,
such as the UCA policy. Doing so allows the use of longer FEC codes, hence better
performance in the stable region but a similar stability region due to the lower
number of layers. At the same time one can decrease the probability that a node
fails to reconnect to the overlay after the departure of a parent node [16]. Longer
FEC codes decrease the variance of the packet possession probability and allow
a smoother adaptation of the redundancy as a function of the measured network
state.
5
Conclusion
In this paper, we analyzed a peer-to-peer live streaming solution based on multiple
transmission trees, FEC and free allocation of the output bandwidth of the peers
across several trees. The aim of this design is to avoid tree disconnections after node
departures, which can happen with high probability in resource scarce overlays if
all the peers can forward data in one tree only.
We presented a mathematical model to express the packet possession probability
in the overlay for the case of independent losses and the BCA policy. We determined the stability regions as a function of the loss probability between the peers,
of the number of layers and of the FEC block length, and analyzed the asymptotic
behavior of the overlay for a large number of nodes. We calculated the variance of
the packet possession probability to study the overlay around the stability threshold. We concluded that the variance increases significantly with the packet loss
probability between the peers and consequently it is a good performance measure
for adaptive forward error correction. It will be subject of future work to design a
robust stabilizing controller that can maintain a target packet possession probability
in a dynamic environment.
We concluded that as long as the overlay is stable, the performance of the data
transmission is not influenced by the number of fertile trees and the allocation
policy, while longer FEC codes improve it. Increasing the number of fertile trees
decreases however the packet possession probability in the overlay in the unstable
region due to longer transmission paths. Nevertheless, with the UCA policy one
can increase the number of trees, that of the fertile trees and the FEC block length,
while the performance can be close to that of the minimum depth trees, because
the UCA policy leads to shallow tree structures. These results show that adjusting
the number of fertile trees can be a means to improve the overlays’ stability without
deteriorating the performance of the data distribution.
A-12
References
[1] Liao, X., Jin, H., Liu, Y., Ni, L., Deng, D.: Anysee: Scalable live streaming
service based on inter-overlay optimization. In: Proc. of IEEE INFOCOM.
(April 2006)
[2] Bishop, M., Rao, S., Sripanidkulchai, K.: Considering priority in overlay multicast protocols under heterogeneous environments. In: Proc. of IEEE INFOCOM. (April 2006)
[3] Cui, Y., Nahrstedt, K.: Layered peer-to-peer streaming. In: Proc. of NOSSDAV. (2003) 162–171
[4] Cui, Y., Nahrstedt, K.: High-bandwidth routing in dynamic peer-to-peer
streaming. In: Proc. of ACM APPMS. (2005) 79–88
[5] Tan, G., S.A., J.: A payment-based incentive and service differentiation mechanism for peer-to-peer streaming broadcast. In: Proc. of IEEE IWQoS. (2006)
41–50
[6] Sung, Y., Bishop, M., Rao, S.: Enabling contribution awareness in an overlay
broadcasting system. In: Proc. of ACM SIGCOMM. (2006) 411–422
[7] Guo, M., Ammar, M.: Scalable live video streaming to cooperative clients
using time shifting and video patching. In: Proc. of IEEE INFOCOM. (2004)
[8] Banerjee, S., Lee, S., Braud, R., Bhattacharjee, B., Srinivasan, A.: Scalable
resilient media streaming. In: Proc. of NOSSDAV. (2004)
[9] Setton, E., Noh, J., Girod, B.: Rate-distortion optimized video peer-to-peer
multicast streaming. In: Proc. of ACM APPMS. (2005) 39–48
[10] Padmanabhan, V., Wang, H., Chou, P.: Resilient peer-to-peer streaming. In:
Proc. of IEEE ICNP. (2003) 16–27
[11] Castro, M., Druschel, P., Kermarrec, A., Nandi, A., Rowstron, A., Singh,
A.: SplitStream: High-bandwidth multicast in a cooperative environment. In:
Proc. of ACM SOSP. (2003)
[12] Dán, G., Fodor, V., Karlsson, G.: On the asymptotic behavior of end-pointbased multimedia streaming. In: Proc. of Internat. Zürich Seminar on Communication. (2006)
[13] Dán, G., Fodor, V., Karlsson, G.: On the stability of end-point-based multimedia streaming. In: Proc. of IFIP Networking. (May 2006) 678–690
[14] Dán, G., Chatzidrossos, I., Fodor, V., Karlsson, G.: On the performance of
error-resilient end-point-based multicast streaming. In: Proc. of IWQoS. (June
2006) 160–168
A-13
[15] Sripanidkulchai, K., Ganjam, A., Maggs, B., Zhang, H.: The feasibility of
supporting large-scale live streaming applications with dynamic application
end-points. In: Proc. of ACM SIGCOMM. (2004) 107–120
[16] Dán, G., Chatzidrossos, I., Fodor, V.: On the performance of multiple-treebased peer-to-peer live streaming. In: Proc. of IEEE INFOCOM. (May 2007)
[17] Reed, I., Solomon, G.: Polynomial codes over certain finite fields. SIAM J.
Appl. Math. 8(2) (1960) 300–304
[18] Zegura, E.W., Calvert, K., Bhattacharjee, S.: How to model an internetwork.
In: Proc. of IEEE INFOCOM. (March 1996) 594–602
[19] Veloso, E., Almeida, V., Meira, W., Bestavros, A., Jin, S.: A hierarchical
characterization of a live streaming media workload. In: Proc. of ACM IMC.
(2002) 117–130
[20] Sripanidkulchai, K., Maggs, B., Zhang, H.: An analysis of live streaming
workloads on the Internet. In: Proc. of ACM IMC. (2004) 41–54
[21] Le Boudec, J.Y., Vojnovic, M.: Perfect simulation and stationarity of a class
of mobility models. In: Proc. of IEEE INFOCOM. (March 2004)
Paper B
Delay and playout probability trade-off in
mesh-based peer-to-peer streaming with delayed
buffer map updates
Ilias Chatzidrossos, György Dán and Viktória Fodor.
In P2P Networking and Applications, vol.3, num.1, March 2010.
Delay and playout probability trade-off in
mesh-based peer-to-peer streaming with delayed
buffer map updates
Ilias Chatzidrossos, György Dán, Viktoria Fodor
KTH, Royal Institute of Technology,
School of Electrical Engineering
e-mail: {iliasc, gyuri, vfodor}@ee.kth.se
Abstract
In mesh-based peer-to-peer streaming systems data is distributed among
the peers according to local scheduling decisions. The local decisions affect
how packets get distributed in the mesh, the probability of duplicates and
consequently, the probability of timely data delivery. In this paper we propose
an analytic framework that allows the evaluation of scheduling algorithms.
We consider four solutions in which scheduling is performed at the forwarding
peer, based on the knowledge of the playout buffer content at the neighbors.
We evaluate the effectiveness of the solutions in terms of the probability that
a peer can play out a packet versus the playback delay, the sensitivity of the
solutions to the accuracy of the knowledge of the neighbors’ playout buffer
contents, and the scalability of the solutions with respect to the size of the
overlay. We also show how the model can be used to evaluate the effects of
node arrivals and departures on the overlay’s performance.
1
Introduction
Recent years have seen the proliferation of peer-to-peer (P2P) systems for the delivery of live streaming content on the Internet [1, 2, 3]. These systems are popular
because they allow content providers to save on infrastructure costs: users contribute with their upload bandwidth resources to the distribution of the content.
Whether P2P streaming systems will become an alternative to commercial, operator managed IPTV solutions depends on whether they can offer a comparable user
experience.
The user experience in a streaming system is typically determined by two interdependent performance measures [4]: the playback delay and the playout probability. The playback delay determines how real-time streaming can be, but also
1
B-2
a) Scheduling at the transmitting node
[1,3,4,5,7]
2
[1,2,4,5]
1
streaming traffic
control traffic
[n,n,n,n] buffer map
5 [1,2,3,4,5]
Forwarding schedule for node 5
[2,4,6,7]
[2,3,7]
3
4
neighbor
1
3
2
3
4
3
packet
3
1
2
5
5
4
b) Distribution trees formed trough local decisions
Schedule 1
minimum breadth
streaming traffic
packet 1
packet 2
Schedule 2
minimum depth
S
S
1
2
4
3
5
1
2
4
3
5
Figure 1: Mesh based streaming with local scheduling decision. a) Forwarding node 5
schedules neighbors and packets based on the received buffer maps. b) The distribution
trees are formed through local decisions.
the zapping times, that is, the delays experienced when users switch channel. The
playout probability is the ratio of packets successfully played out at the receiver.
Additionally, the performance of a P2P streaming system can be evaluated with
respect to two other metrics. First, the playback lag between the peers has to be
low to provide similar real-time experience to all users. Second, the performance in
terms of the previous three metrics has to scale well with the overlay’s size.
P2P streaming systems proposed in the literature generally fall into one of two
categories: multiple-tree based and mesh-based solutions [5]. Mesh-based solutions
are considered to be more robust to dynamic overlay membership and fluctuating
transmission capacities between the nodes, hence they are prevalent in commercial
systems. Nevertheless as a consequence of their dynamic nature, there is a limited
analytical understanding of the performance trade-offs of mesh-based solutions.
In a mesh-based system neighbor relations between the peers are determined
locally, and consequently, there is no global structure maintained. The forwarding
of data packets (or often a set of data packets) is decided locally at the peers, either
on the transmitting or on the receiving side. As shown in Figure 1.a, the packet
scheduling is based on information exchanged between the neighboring peers: peers
report the packets they already possess, with the so called buffer map. Clearly,
scheduling algorithms can be more efficient if they utilize detailed and timely information, and therefore the trade-off of streaming performance and control overhead
has to be considered.
As a result of local scheduling decisions, the packets of the stream will reach the
peers via different trees over the mesh. We call these trees the distribution trees.
B-3
The structure of the distribution trees is determined by the local decisions at the
peers. Figure 1.b shows two examples where the distribution trees are minimum
breadth and minimum depth trees respectively, with a depth of 5 and 3 overlay hops.
The challenge of modelling mesh-based streaming comes then from the following
closed loop: on one side the scheduling decisions determine the distribution trees
formed over the mesh, and thus the availability of the packets at the peers, on the
other side, the packet availability at the peers affects the scheduling decisions that
can be made.
In this paper we propose an approach to cut this loop. We assume that the peers’
positions in the distribution trees are statistically the same, and consequently, the
probability that a peer receives a packet with given delay is the same for all peers.
We validate our assumption with simulation and build then an analytic model to
describe the packet reception process. We propose an analytic framework that can
be used to evaluate the performance of different scheduling strategies. In this paper
we consider four specific scheduling strategies, where scheduling is performed at
the transmitting peers. We evaluate how the playout probability is affected by the
number of neighbors, the playback delay and the frequency of buffer map updates.
Then we evaluate the scalability of the solutions in terms of overlay size and derive
conclusions on the structure of the distribution trees. We also use the model to
evaluate the effects of node churn on the overlay performance.
The rest of the paper is organized as follows. In Section 2 we overview related
work. Section 3 describes the P2P streaming systems we consider in this paper. We
give the analytic model in Section 4, and evaluate the performance of the considered
solutions in Section 5. Section 6 concludes our work.
2
Related Work
Several measurement studies deal with the analysis of commercial, mesh-based P2P
streaming systems [6, 7, 8]. The goal of these studies is to understand the proprietary protocol used by the streaming system or to understand the effects of the
networking environment and the user behavior. There are also several works in
which solutions for mesh-based streaming are proposed and evaluated through simulations [9, 10, 11, 12, 13, 14]. These works often consider a different set of input
parameters and performance measures, and therefore the proposed systems are hard
to compare. There are however few works that address the streaming performance
with analytic models. In [15] the minimum playback delay is derived for given
source and peer transmission capacities, by considering the trade-off between the
depth of the distribution trees and the time a peer needs to forward a packet to
all of its downstream neighbors. The performance of BitTorrent-based streaming
is addressed in [16], deriving relation between the achievable utilization of upload
bandwidth and the number of segments or packets considered for sharing, which in
turn is related to the playback delay peers will experience. Rate-optimal streaming
B-4
in complete meshes is considered in [17] using a queueing theoretic approach. The
authors show that rate-optimal streaming is possible in a distributed manner and
derive scheduling algorithms for the cases when the bottleneck is at the uplink or at
the downlink of the peers. This work is extended in [18] where the authors propose
different algorithms, and evaluate their delay-throughput performance in overlays
forming a complete graph, using mean-field approximations. We extended this work
by relaxing the assumption on complete overlay graph in [20]. We derived analytical
expressions for the data propagation in a mesh-based overlay with random packet
forwarding given that peers always have perfect knowledge of the buffer contents of
their neighbors. The present work extends [20] by capturing the effect of outdated
buffer map information at the sender peer, by considering a larger set of forwarding
schemes and by including the case of overlays with node churn.
The scalability properties of P2P streaming systems are addressed in [19] by use
of large deviations theory. The paper proves for a large set of node-to-node delay
distributions that in order to keep the same playout probability, the playback delay
has to be increased in proportion to the increase of the overlay path lengths. We use
this result to assess the structure of the distribution trees, even if they are formed
in a distributed manner through the local decisions of the transmitting peers.
3
System overview
We consider a peer-to-peer live streaming system consisting of a streaming server
and N peers. The peers form an overlay such that each peer knows about up to d
other peers, called neighbors, and about the streaming server. In the case of node
churn, arriving peers become neighbors of d peers that have less than d neighbors.
We assume that once a peer leaves the overlay its neighbors do not actively look
for new connections but wait until a newly joining peer connects to them.
The system is time slotted, with one slot being equal to the packet content
duration. At the beginning of each time slot a new packet is generated at the server
and is forwarded to m randomly chosen peers. Peers distribute the data to their
neighbors according to some scheduling algorithm. At the beginning of every timeslot every peer makes a forwarding decision, i.e., chooses a neighbor and a packet,
and sends the chosen packet to the chosen neighbor. Packets that are sent at the
beginning of a time-slot reach their destination at the end of the same slot. The
upload capacity of peers is equal to the stream rate, i.e., one packet per slot, while
their download capacity is unlimited, i.e., they can receive up to d packets from
their neighbors in one slot.
Each peer maintains a playout buffer of B packets in which it stores the packets
received from its neighbors before playing them out. A peer that joins the overlay
before the beginning of time slot i starts playout with packet i at the beginning of
time slot i + B. Consequently, the playback is synchronized among all peers, and
both the startup delay and the playback delay are B time slots.
B-5
The nodes’ decisions on forwarding a packet are based on the information they
have about the packets that their neighbors possess in their playout buffers. Nodes
know about the contents of their neighbors’ playout buffers via exchanging buffer
maps. In a scenario with perfect information, each peer would have full knowledge
of the buffer contents of its neighbors upon taking a forwarding decision. However,
such a scheme would be infeasible in a real peer-to-peer system due to the overhead
related to the buffer map exchange among all the peers in the overlay. Consequently,
we consider that nodes send updated buffer maps to their neighbors every u time
slots, and hence, forwarding decisions are made based on outdated information. The
shorter the update interval, the more accurate is the information in the buffer maps,
but at the same time the higher is the overhead due to message exchange in the
overlay.
3.1
Push-based forwarding schemes
In this paper we consider four push-based forwarding schemes. All schemes take
as input the buffer maps of all the neighbors and return as output the forwarding
decision, i.e., a (neighbor, packet) pair. Before describing the forwarding schemes,
we define the notion of eligible packet and that of eligible neighbor. We say that a
packet is eligible with respect to a neighbor if the peer has the packet in its playout
buffer but the packet is not present in the most recently received buffer map from
the neighboring peer. Similarly, we say that a neighbor of a peer is eligible if the
peer has at least one eligible packet with respect to that neighbor.
Random peer - Random packet (RpRp): The peer constructs the set of
eligible neighbors based on the buffer maps received from its neighbors, and picks
uniformly at random one neighbor from the set. The peer then creates the set of
eligible packets with respect to the chosen neighbor, and picks a packet uniformly
at random from the set.
Determined peer - Random packet (DpRp): The peer calculates the number of eligible packets for all of its eligible neighbors based on the buffer maps. It
selects a neighbor with a probability proportional to the number of eligible packets
with respect to that neighbor. The packet to be sent to the selected neighbor is then
chosen uniformly at random from the set of eligible packets with respect to that
neighbor. By following this scheme a peer forwards data with higher probability to
a neighbor to which it has many eligible packets.
Latest blind packet - Random useful peer (LbRu): The peer chooses
the packet with the highest sequence number in its playout buffer independent of
whether the packet is eligible with respect to any of its neighbors. It then chooses
uniformly at random one of its neighbors that are missing the chosen packet. The
unconditional selection of the packet implies that there might be cases when a peer
cannot forward the last packet because all the neighbors already have it, while some
neighbor might be missing a packet with lower sequence number that the forwarding
peer has.
B-6
Latest useful packet - Useful peer (LuUp): The peer chooses the packet
that has the highest sequence number among the packets that are eligible with
respect to at least one neighbor. It then picks uniformly at random among the
neighbors that are eligible with respect to the chosen packet. The chosen packet is
not necessarily the last packet in the buffer, which is the difference of this scheme
compared to the LbRu forwarding scheme.
We will refer to the two first schemes as random-packet schemes as they pick
the packet to be forwarded at random, and we refer to the two latter schemes
as fresh-data-first schemes because they always try to forward the data with the
highest sequence numbers. RpRp was previously evaluated for the specific case of
per slot buffer map exchange [20] and fresh-data-first schemes were analyzed in [18]
for the case when the overlay forms a complete graph and with the assumption
that local scheduling decisions at the transmitting peers are immediately known in
the neighborhood of the receiving peer, that is, transmission of duplicates is fully
avoided.
4
Analytical Model - Data dissemination
In this section we first describe the analytical model of an overlay without churn,
then we show how this model can be used to approximate the effects of node churn.
While the model considers a slot synchronized system, we argue that it describes
well also the behavior of unsynchronized systems, referring to results in [20].
The key assumption of our model is that the contents of the playout buffers of
neighboring peers are independent and statistically identical. The assumption is
based on the observation that if peers maintain a fair number of neighbors then
the local forwarding decisions will lead to per packet distribution trees that are
very different, and as a result the position of the peers in the distribution trees is
statistically the same. We validate this assumption by simulations in Section 5.
We number packets according to their transmission time at the server, i.e., packet
j is transmitted in slot j. Packet j is played out at the beginning of slot j + B at
each peer. Since playout occurs at the beginning of the time slots, a peer can play
out packet j if the packet is in the playout buffer of the peer by the end of time slot
j + B − 1.
Let us denote by ℓ(i) the lowest packet sequence number that peers would potentially forward in time slot i. Since in slot i a peer would not forward the packet
that is to be played out in that slot, ℓ(i) = max{0, i − B + 1}. The highest packet
sequence number that can be forwarded by any peer in slot i is i − 1, because only
the source has packet i in slot i.
We denote by Bir ∈ 2{ℓ(i),...,i−1} the set of packets that peer r has in its playout
buffer at the beginning of slot i, i.e., the set of packets that it could potentially
forward in slot i. In Figure 2 we show an example of a peer’s playout buffer at
the beginning of three consecutive time slots. The packet in the bold cell is the
B-7
packet that should be played out at the given slot. At the beginning of slot i = 9
the playout of the packets has not started and all the packets present in the buffer
belong to the set Bi . At the beginning of slot i = 10, packet 0 is to be played out,
so it cannot be eligible for sending and the same holds for packet 1 at time i = 11.
0
i=9
1
2
4
5
8
B9 = {0,1,2,4,5,8}
i=10
0
1
2
3
4
5
8
9
B10 = {1,2,3,4,5,8,9}
i=11
1
2
3
4
5
6
8
9
B11 = {2,3,4,5,6,8,9}
Figure 2: Example of a playout buffer of a peer and the set of packets that the peer could
forward for three consecutive time-slots. Cell with bold edges contains the packet that is
to be played out during the specific slot. In slot i=9 the peer receives packet 3 from a
neighbor and packet 9 from the source. In slot i=10 it receives packet 6 from a neighbor.
Let us denote by Pij the probability that a peer is in possession of packet j by
j
the end of time-slot i, i.e., P (j ∈ Bi ) = Pi−1
. Hence, packet j will be successfully
j
j
played out with probability Pj+B−1
. Similarly, let us denote by P i the probability
that a peer possesses packet j at the end of slot i as known by one of its neighbors at
j
the end of slot i. Since buffer map updates do not occur instantaneously, P i = Pij
does not necessarily hold. We consider that buffer map updates occur every u time
j
slots, with the first exchange at the end of slot i = 0, so that we can express P i as
a function of Pij
0
u=∞
j
Pi =
(1)
j
P⌊i/u⌋u 1 ≤ u < ∞.
In the following we derive recursive formulae to calculate the probability of successful playout in an overlay overlay without and with node churn.
4.1
Overlay without node churn
Let us consider an overlay in which peers do not join nor leave and there are no
losses in the overlay links between peers. Our goal is to calculate the probability
Pij for an arbitrary peer r in the overlay. The peer has packet j at the end of slot
i either if it already had it at the end of slot i − 1, or if it did not have it at the
end of slot i − 1 but received it from some neighbor s during slot i. This can be
expressed by a general recursive equation introduced in [20]

i<j
 0
m
i
=j
(2)
Pij =
 Nj
j
Pi−1 + (1 − Pi−1
)(1 − (1 − πij )d ) i > j.
B-8
where πij is the probability that some neighbor s forwards packet j in slot i to peer r,
given that peer r does not have packet j. Pjj is the probability that a node receives
the packet directly from the server. Pij is determined by πij , i.e, it depends on the
forwarding scheme used. In the following subsections we will derive expressions for
the πij for the RpRp, DpRp, LbRu and LuUp forwarding schemes. When describing
the four schemes we refer to the peer that makes the forwarding decision as peer s,
and to the peer that is to receive packet j as peer r.
4.1.1
Random peer - Random packet
In the RpRp scheme peer s first chooses a peer, and then it chooses a packet to be
sent. Let us define the corresponding events
A := {s has packet j and r does not have it},
C := {s chooses to send a packet to r},
D := {s chooses to send packet j}.
Using these events the probability πij can be written as
πij
=
P (s sends packet j to r|j ∈
/ Bir )
=
=
P (s sends packet j to r|j ∈
/ Bir , j ∈ Bis ) · P (j ∈ Bis )
P (C|A) · P (D|A · C) · P (j ∈ Bis ).
(3)
j
By definition P (j ∈ Bis ) = Pi−1
, so we proceed to the calculation of P (C|A).
Under the RpRp scheme, peer s transmits to one of its eligible neighbors. Given
the condition that node r is eligible, the probability that node s selects node r to
transmit to is
P (C|A) =
d−1
X
k=0
1
d−1 k
pe (1 − pe )d−k−1 ,
k+1
k
(4)
where pe is the probability that a neighbor is eligible
j
j
pe = (1 − P i−1 ) + P i−1 (1−
Qi−1
w
w
w=ℓ(i),w6=j (1 − Pi−1 (1 − P i−1 ))).
(5)
Finally, we calculate P (D|A · C), the probability that s will send packet j and not
another eligible packet to r. Let us denote by the r.v. K the number of packets
that are eligible to be sent from s to r including packet j. Clearly, K ≥ 1 because
packet j is eligible with respect to node r. Then the probability that packet j is
sent is
i−ℓ(i)
X 1
P (K = k).
(6)
P (D|A · C) =
k
k=1
B-9
In the following define a recursion to calculate the distribution of K.
We define the probability vector
ℓ(i)
Q = {Pi
· · · Pij−1 , 1, Pij+1 · · · Pii−1 },
which contains the probabilities that node s has packets at the different buffer
positions, given that it has packet j. Similarly, we define the probability vector
ℓ(i)
Qr = {P i
j−1
···Pi
j+1
, 0, P i
i−1
· · · Pi
},
which represents the information that the sending peer s has about the buffer contents of peer r, given that peer r does not have packet j.
We initialize the recursion by setting L0,0 = 1 and Lk,0 = 0 for k < 0. The
recursion is then defined by
Lk,l
= Lk,l−1 (1 − Q(l)(1 − Qr (l))) +
Lk−1,l−1 Q(l)(1 − Qr (l)).
(7)
The recursion is executed for l = 1 . . . i − ℓ(i) and for every l for k = 0 . . . l. The
distribution of K is then given as P (K = k) = Lk,i−ℓ(i) for for k = 1 . . . i − ℓ(i). By
plugging (4) and (6) into (3) we obtain the probability πij .
4.1.2
Determined peer - Random packet
Similar to the RpRp forwarding scheme, and using the events introduced there, we
can write
πij
=
P (s sends packet j to r|j ∈
/ Bir )
=
P (s sends packet j to r|A) · P (j ∈ Bis ).
(8)
Nevertheless, for the DpRp forwarding scheme the choice of a peer and the choice
of a packet are correlated. Hence we calculate the joint probabilities directly.
Let us denote by the r.v. K the total number of forwarding decisions that node
s can make with respect to any of its neighbors (i.e., node-packet pairs), given that
s possesses j and r does not possess j. Clearly, K ≥ 1 because packet j is eligible
with respect to node r. Given the distribution of K the conditional probability that
packet j is sent to r is expressed as
d(i−ℓ(i))
X
P (s sends packet j to r|A) =
k=1
1
P (K = k).
k
(9)
In the following we define a recursion to calculate the distribution of K. Apart from
the vectors Q and Qr defined in the previous section, we define the probability vector
ℓ(i)
Q = {P i
i−1
···Pi
},
B-10
which represents the information that the sending peer s has about the buffer contents of its neighboring peers apart from node r.
As before, we initialize the recursion by setting L0,0 = 1 and Lk,0 = 0 for k 6= 0.
The recursion is however defined by
Lk,l = Lk,l−1 (1 − Q(l)) + Q(l)Q(l)d−1 Qr (l)
d−1
X
d−1
+
Lk−z,l−1 Q(l)
Q(l)d−1−z (1 − Q(l))z Qr (l)
z
z=1
d−1
Q(l)d−z (1 − Q(l))z−1 (1 − Qr (l))
+
z−1
(10)
+ Lk−d,l−1 Q(l)(1 − Q(l))d (1 − Qr (l)) .
The recursion is executed for l = 1, . . . i − ℓ(i), and for every l for k = 0 . . . ld. The
distribution of K is then given by P (K = k) = Lk,i−ℓ(i) for k = 1 . . . (i − ℓ(i))d.
4.1.3
Latest blind packet - Random useful peer
The probability that r will receive packet j from s in time slot i is equal to the
probability that j is the latest packet in the buffer of s, times the probability that s
will choose r among its neighbors that do not have packet j. We define the events
E := {j is the latest packet in the buffer of s}, and
F := {s chooses to send packet j to r }.
The expression for πij can then be written as
πij = P (E) · P (F|E · A) · P (j ∈ Bis ).
(11)
j
, and proceed to the calculation of P (E).
Again we have P (j ∈ Bis ) = Pi−1
Event E occurs if there are no packets in the buffer of s that have a higher sequence
number than j
i−1
Y
v
Pi−1
.
(12)
P (E) =
v=j+1
Finally, we calculate the probability P (F|E·A). We define the r.v. K as the number
of neighbors of s other than r that are missing packet j. Then, we get that
d−1
X
1
· P (K = k)
k+1
k=0
d−1
X 1
d−1
j
j
=
·
(1 − (P i ))k · (P i )d−1−k .
k+1
k
P (F |E · A) =
k=0
Combining the above equations we get the probability πij .
(13)
B-11
4.1.4
Latest useful packet - Random useful peer
In addition to the events defined in the previous subsections let us define the event
G := {j is the latest useful packet in the buffer of s}.
Using the same rationale as in the previous case, we can express πij as
/ Bir )
πij = P (s sends pkt j to r|j ∈
= P (s sends pkt j to r|A) · P (j ∈ Bis )
= P (C|A · G) · P (G) · P (j ∈ Bis ).
(14)
j
Again, we have P (j ∈ Bis ) = Pi−1
, so we turn to the probabilities P (G) and
P (D|A · G). Packet j is latest useful if there is no packet with higher sequence
number that some of the neighbors of s are in need of
P (G) =
i−1
Y
v
v
(1 − Pi−1
(1 − (P i−1 )d )).
(15)
v=j+1
Then we calculate the probability P (C|A·G), that s will choose r to send the packet
to, among all its neighbors
P (C|G · A) =
d−1
X
k=0
1
·
k+1
j k
j d−1−k
d−1
.
k (1 − (P i )) · (P i )
(16)
Plugging equations (15) and (16) into (14) yields the probability πij . Note that the
complexity of the presented models does not depend on the overlay size N , and
therefore they provide excellent tools to evaluate the scalability of the scheduling
schemes.
4.2
Overlays in the presence of node churn
Node-churn can affect the performance of a push-based system in three ways. First,
if a peer does not know that some of its neighbors departed from the overlay, it
might forward packets to non-existing neighbors, which leads to a loss of forwarding
capacity. We do not explicitly consider this artifact, as it can be easily modelled
as the decrease of the forwarding rate of the peers. Second, a peer that arrives
before the beginning of time slot i starts playback with packet i at time slot i + B,
consequently the peer does not request packets with a sequence number lower than
i. Third, the number of neighbors a peer has is not constant, but varies over time
as nodes join and leave. In the following we show how to estimate the effects of the
change of the number of neighbors on the overlay’s performance.
B-12
O
d
d
O
(1 pd ) N
(1 pd ) N
0
O
d-1
1
P
d
(1 pd ) N
(d 1)P
d
dP
Figure 3: Markov process used to model the evolution of the number of neighbors of a
peer.
For simplicity we consider that nodes arrive to the overlay according to a Poisson
process with intensity λ and their lifetime follows an exponential distribution with
mean 1/µ. Each peer joining the overlay is assigned d neighbors uniformly at
random from the nodes that have less than d neighbors. Let us denote by the r.v.
D(t) the number of neighbors of a peer at time t (D(t) ∈ {0, . . . , d}, t ∈ [0, ∞))
and by the r.v. Di the number of neighbors of a peer at the beginning of time slot
i (Di ∈ {0, . . . , d}). In the following we derive the distribution of Di in the steady
state of the system, which is the same as the steady state distribution of D(t), i.e.,
the probabilities pz = limt→∞ P (D(t) = z), z ∈ {0, . . . , d}.
The average number of peers in the overlay in steady state is N = λ/µ and
we can approximate the evolution of D(t) with a one dimensional continuous time
Markov process as shown in Figure 3. We can approximate the arrival rate of
the neighbors to a peer already in the overlay by λ · d/(N (1 − pd )), i.e., in the
denominator we use the average of the number of peers with less than d neighbors
instead of its actual value. We use an iterative method to calculate the steady state
distribution of the Markov process: we start with an initial value of pd = 0 to derive
the next value of the steady state probability of pd until the value converges.
The evolution of Pij for an arbitrary peer r depends on the number of neighbors
of the node itself and on πij , which in turn depends on the number of neighbors of
the neighboring peers of node r. The exact calculation of Pij has a complexity of dd
and is computationally not feasible. Hence we make three approximations. First,
we approximate the number of neighbors of all the neighboring peers of r with E[Di ]
when calculating πij . Second, we assume that the content of the playout buffer of
the arriving nodes is statistically identical to that of the nodes already present in
the overlay, i.e., can be described by Pij . Third, to calculate the probability that
the peer receives a packet directly from the root we use N instead of the actual
overlay size in time-slot i. We evaluate the effect of these approximations in Section
5 by simulation.
The distribution of the number of neighbors of peer r in an arbitrary slot is given
by the steady state distribution of Di , hence for an arbitrary peer in a dynamic
B-13
overlay instead of (2) we can write

0





 m/N
d
j
X
Pi =
j
P (Di = z) · {Pi−1
+





 z=0
j
(1 − Pi−1
) · (1 − πij )z }
5
i<j
i=j
(17)
i>j
Performance Evaluation
In the following we first validate our modelling assumptions via simulations, then
we evaluate the performance of the four forwarding schemes based on analytical
and simulation results.
5.1
Simulation methodology
For the simulations we developed a packet level event-driven simulator. We construct the overlay as follows. Each peer wishing to join sends a connection request
message to the boot-strap node, which may be the source node. The boot-strap
node responds with a list of randomly selected peers that are already part of the
overlay. The joining peer contacts the peers in this list in order to establish neighbor
relationships with at least dmin but not more than d of them, where dmin = 0.85d.
If it cannot find dmin neighbors, the peer issues a new request to the boot-strap
node. If, after the second request, the peer still cannot connect to dmin neighbors,
it issues a force connection request to random peers in the overlay; those peers are
forced to drop one of their neighbors and replace it with the joining peer.
For the simulations we first construct an overlay with N peers, thereafter the
data distribution starts. For simulations with node churn, nodes join the overlay
according to a Poisson process, and the life time distribution is exponential. We
run the simulations for 2000 time slots, and the simulation results shown are the
averages of 10 simulation runs.
5.2
Model validation
As a first step we validate our assumption that buffer maps are statistically identical,
which means that all peers have the same probability of possessing any particular
packet at any time. Instead of evaluating the entire buffer map, we compare the
probabilities that a packet is played out successfully, that is, it is received by the
playout time.
In Figure 4 we show the histogram of the probability of successfully played out
packets across the peers, considering the four forwarding schemes and the case of
perfect information (u = 1). The vertical line shows the mean value of the playout probability averaged over all peers, while in the legend we show its standard
B-14
40
RpRp, d=2 − std= 0.021732
Number of peers
Number of peers
60
40
20
0
0.8
0.82
0.84
0.86
0.88
0.9
0.92
0.94
0.96
0.98
Number of peers
Number of peers
40
20
0.91
0.92
0.93
0.94
0.95
0.96
0.97
0.98
0.99
Number of peers
Number of peers
RpRp, d=50 − std= 0.010549
20
0.91
0.92
0.93
0.94
0.95
0.96
0.97
Playout probability (Ppl)
0.98
0.99
0.22
0.24
0.26
LbRu, d=16 − std= 0.009537
10
0.82
0.83
0.84
0.85
0.86
0.87
0.88
0.89
0.9
LbRu, d=50 − std= 0.007443
30
20
10
0.86
0.87
0.88
Playout probability (P )
0.89
0.9
0.91
40
DpRp, d=2 − std= 0.030483
Number of peers
Number of peers
30
20
10
0.18
0.2
0.22
0.24
0.26
0.28
0.3
0.32
LuUp, d=2 − std= 0.043705
30
20
10
0
0.1
0.34
0.15
0.2
0.25
0.3
0.35
40
DpRp, d=16 − std= 0.011226
Number of peers
Number of peers
0.2
pl
40
30
20
10
0.75
0.76
0.77
0.78
0.79
0.8
0.81
0.82
LuUp, d=15 − std= 0.011242
30
20
10
0
0.81
0.83
40
0.82
0.83
0.84
0.85
0.86
0.87
0.88
0.89
0.9
0.91
40
DpRp, d=50 − std= 0.0095138
Number of peers
Number of peers
0.18
20
0
0.85
1
40
30
20
10
0
0.75
0.16
40
40
0
0.74
0.14
30
0
0.81
1
60
0
0.16
10
40
RpRp, d=15 − std= 0.011347
0
0.9
20
0
0.12
1
60
0
0.9
LbRu, d=2 − std= 0.014385
30
0.76
0.77
0.78
0.79
0.8
Playout probability (P )
pl
0.81
0.82
0.83
LuUp, d=50 − std= 0.0072706
30
20
10
0
0.85
0.86
0.87
0.88
Playout probability (P )
0.89
0.9
0.91
pl
Figure 4: Histogram of the playout probability for the considered forwarding schemes for
an overlay of N = 500, m = 11, B = 40 and for d = 2, 15 and 50 respectively.
deviation. When the number of neighbors of a peer is very low, such as d = 2,
the probabilities are dispersed over a wide range, as can be seen both visually as
well as by the standard deviation. It means that our assumption on statistically
identical buffer maps does not hold. As d increases, the probabilities for different
peers approach the mean. This shows that for reasonably high values of d our modelling assumption holds and the results obtained by the model should be accurate.
Figure 5 shows the histogram of the playout probability for the four algorithms and
for the case where nodes have outdated information about their neighbors’ playout
buffers with parameters u = 4 and d = 50. Compared to the perfect information
case the standard deviation is higher for all schemes. We see significant effect of
delayed buffer maps in the case of fresh-data-first schemes, where the initial statistical difference among the playout buffers is amplified due to the rather deterministic
forwarding decisions.
To investigate the impact of the neighborhood size, d, on the overlay performance, we show in Figure 6 the probability of successful play out versus the number
of neighbors d for all considered schemes. The figure contains both analytical and
simulation results. For small values of d there is a discrepancy between the model
Number of peers
Number of peers
Number of peers
Number of peers
B-15
30
20
RpRp, d=50, u=4 − std= 0.016066
10
0
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.75
0.8
0.85
0.9
0.75
Playout probability (Ppl)
0.8
0.85
0.9
0.8
0.85
0.9
30
20
LbRu, d=50, u=4 − std= 0.0106
10
0
0.6
0.65
0.7
30
20
LuUp, d=50, u=4 − std= 0.010096
10
0
0.6
0.65
0.7
30
20
DpRp, d=50, u=4 − std= 0.011508
10
0
0.6
0.65
0.7
0.75
Playout probability (Ppl)
Figure 5: Histogram of the playout probability in the presence of delayed buffer map
updates. Overlay of N = 500, m = 11, B = 40 and u = 4.
and the simulations, since in this region the assumption on statistically identical
buffer maps does not hold. Nevertheless, as d increases the analytical results approach the simulation results. For the case of perfect information, u = 1, and for
values of d > 10 the approximation is very good for all schemes, whereas for u > 1
the analytical and the simulations results converge at a higher value of d. We experience slower convergence in the case of fresh-data-first schemes as expected from
the standard deviation values on Figure 5.
Based on the figures we can also draw the important conclusion that the playout
probability is insensitive to the increase of the neighborhood size above a certain
value of d. This suggests that a peer can reach the best achievable performance
in terms of playout probability by maintaining a reasonable number of neighbors,
and a slight variation of d caused by churn would not lead to variations in the
performance.
5.3
Playout probability and playback delay
Next, we investigate the performance of the four forwarding schemes in terms of the
ratio of successfully played out packets for static overlays. We consider an overlay
of size N = 500, and the number of neighbors is d = 50. In Figure 7 we show
the ratio of successfully played out packets versus the playback delay in the case of
perfect information. In all the cases, we can see that the analytical results are very
close to the simulation results. For the fresh-data-first and the DpRp schemes there
is a perfect match, while for RpRp the model slightly underestimates the playout
probability for small playback delays.
For small buffer lengths the fresh-data-first schemes perform considerably better
than the random-packet schemes, which is in accordance with the results presented
in [18, 21] and confirms the low diffusion delays achieved by the fresh-data-first
B-16
RpRp
DpRp
1
1
0.95
0.9
pl
Ratio of successfully played out packets (P )
Ratio of successfully played out packets (Ppl)
0.95
0.85
0.8
0.75
0.7
0.65
0.6
u=1, Model
u=1, Simulations
u=4, Model
u=4, Simulations
0.55
0
5
10
15
20
25
30
35
40
45
0.8
0.75
0.7
0.6
50
0.9
pl
0.85
0.8
0.75
0.7
0.65
0.6
u=1, Model
u=1, Simulations
u=4, Model
u=4, Simulations
0.55
15
15
20
25
30
LuUp
1
10
10
Number of neighbors (d)
0.95
5
5
LbRu
1
0
0
Number of neighbors (d)
0.95
0.5
u=1, Model
u=1, Simulations
u=4, Model
u=4, Simulations
0.65
Ratio of successfully played out packets (P )
Ratio of successfully played out packets (Ppl)
0.5
0.9
0.85
20
25
30
Number of neighbors (d)
35
40
45
50
35
40
45
50
0.9
0.85
0.8
0.75
0.7
0.65
0.6
u=1, Model
u=1, Simulations
u=4, Model
u=4, Simulations
0.55
0.5
0
5
10
15
20
25
30
35
40
45
50
Number of neighbors (d)
Figure 6: Probability of successfully played out packets vs number of neighbors. Overlay
with N = 500, m = 11, B = 40. Model and simulations.
schemes. The ratio of successfully played out packets remains however low for LbRu
and LuUp even at high playback delays. The reason of this limited performance is
the packet selection scheme: since only fresh packets are considered for transmission,
the probability that more than one neighbor of a peer transmits the same packet in
the same time slot is relatively high and is not affected by the size of the playout
buffer. This result does not contradict the results of [18], since there the same
schemes are considered assuming that scheduling decisions are shared without delay.
As collision is avoided with this assumption, the playout probability reaches one.
The playout probability increases with the playback delay for the RpRp and
the DpRp schemes, and converges to one. In these cases the randomness of packet
selection increases with B and consequently the probability of peers sending the
same packet to the same peer in the same time slot approaches zero.
The LbRu and LuUp schemes yield almost the same performance for all buffer
length values, except for large values of B, when the performance of LuUp is
marginally better. Similarly, DpRp slightly outperforms RpRp for large values
of B as it makes maximum use of the increase of the set of eligible packets.
Next we investigate why data diffusion is slower in the random-packet schemes.
B-17
0.9
1
0.8
0.7
Pl
Ratio of successfully played out packets (P )
0.95
0.6
0.9
CDF
0.5
0.85
0.4
0.3
0.8
RpRp, Model
DpRp, Model
LbRu, Model
LuUp, Model
RpRp, Simulations
DpRp, Simulations
LbRu, Simulations
LuUp, Simulations
0.75
0.7
0
10
20
30
40
50
0.2
RpRp
DpRp
LbRu
LuUp
0.1
60
Playback delay (B)
0
1
2
3
4
5
6
7
8
9
10
11
Number of hops
Figure 7: Ratio of successfully played
Figure 8: CDF of the number of hops
out packets vs playback delay for four forwarding schemes. Overlay with N = 500,
m = 11, d = 50 and u = 1. Model and
simulations.
from the source. Overlay with N = 500,
m = 11, d = 50, B = 10 and u = 1. Simulations.
Figure 8 shows the cumulative distribution function of the number of overlay hops
from the source node for a specific packet. The results shown here are obtained
by tracking one randomly selected packet in 10 simulation runs over 10 different
overlays. We observe that using the fresh-data-first schemes peers receive packets
after somewhat fewer hops, which indicates that the trees that packets traverse to
reach the peers have slightly higher fanout. This small difference alone does not
explain the better delay performance of fresh-data-first schemes. The main reason
is that in these schemes the time between receiving a packet and forwarding it
to a neighbor is shorter as well. Nevertheless, the random-packet schemes might
disseminate the data at a lower pace, but at relaxed playout delay constraints it
reaches a larger portion of the peers in the overlay.
5.4
Playout probability and outdated buffer maps
Intuitively, the outdated information contained in a buffer map leads to sub-optimal
forwarding decisions, and hence to the decreased efficiency of the forwarding algorithms. We show results that confirm this intuition in Figure 9 for RpRp and
LbRu. We observe that the curves that correspond to the case of outdated information (u > 1) are similar in shape to the case with perfect information (u = 1),
but the playout probability is always lower. For small playback delays the impact
of outdated information seems to be rather small, however at larger delays the
difference becomes significant. Figure 10 shows how fast the playout probability
converges to the lower bound, when scheduling decisions are made without buffer
map information (that is when u → ∞ in the analytical model). The playout prob-
B-18
1
Pl
Ratio of successfully played out packets (P )
0.9
0.8
0.7
0.6
0.5
0.4
0.3
RpRp, u=1
RpRp, u=2
RpRp, u=4
LbRu, u=1
LbRu, u=2
LbRu, u=4
0.2
0.1
0
5
10
15
20
25
30
35
40
45
50
55
60
Playback delay (B)
Figure 9: Ratio of successfully played out packets vs playback delay in the presence of
outdated buffer maps. Overlay with N = 500, m = 11, d = 50. Model.
ability decreases fast with the increase of u, which indicates that the efficiency of
the forwarding algorithms is very sensitive to the timeliness of the buffer content
information. The faster decrease in the case of LbRu is again due to the fresh-datafirst nature of the scheme. Between buffer map updates information about older
packets is still available in the buffer, but those old packets are not considered for
transmission.
5.5
Scalability
In this subsection we evaluate the scalability of the considered schemes in terms of
the overlay’s size. Figure 11 shows the minimum playback delay required to achieve
a playout probability of 0.85 as a function of the overlay size N for the RpRp and
the LbRu schemes. The DpRp and the LuUp schemes give similar results. The
horizontal axis is in logarithmic scale. We see that the increase of the necessary
playback delay is proportional to log(N ) for both schemes and even for u > 1 if
the considered playout probability is achievable. In [19] the authors showed that
the increase of the playback delay required to maintain the playout probability
unchanged is proportional to the increase of the depth of the overlay. Hence, we
can conclude that all the considered push-based scheduling schemes lead to data
distribution trees with a depth that is logarithmic in the number of peers in the
overlay.
5.6
Effects of node churn
B-19
RpRp
LbRu
1
1
B=10
B=10, lower bound
B=40
B=40, lower bound
pl
0.9
0.85
0.8
0.75
0.7
0.65
0.9
0.85
0.8
0.75
0.7
0.65
0.6
0.6
0.55
0.55
10
20
30
40
50
60
70
80
90
B=10
B=10, lower bound
B=40
B=40, lower bound
0.95
Ratio of successfully played out packets (P )
pl
Ratio of successfully played out packets (P )
0.95
100
10
20
30
40
Buffer map lag (u)
50
60
70
80
90
100
Buffer map lag (u)
Figure 10: Ratio of successfully played out packets vs buffer map update lag. Overlay
with N = 500, m = 11, d = 50. RpRp and LbRu schemes. Model.
In this subsection we evaluate the effects of node churn on the system performance. Figure 12 shows the playout
probability as a function of the playback delay for the RpRp and the LbRu
schemes with and without node churn.
The figure shows that the playout probability is only slightly affected by node
churn. This result is in accordance with
Figure 6: node churn does not decrease
the performance of the overlay as long
as peers are able to maintain a certain
number of neighbors. A consequence
Figure 11: Minimum playback delay reof the insensitivity to the evolution of
quired to achieve a playout probability of 0.85
the number of neighbors is that the asversus overlay size. RpRp and LbRu schemes.
sumption on the node life time distriModel.
bution does not affect our results (the
steady state probability distribution of
the M/G/∞ queue is known to be insensitive to the service time distribution).
Surprisingly however, the simulation results show that the overlay may perform
slightly better in the presence of node churn. Clearly, the improved performance
cannot be a consequence of the variation of the number of neighbors of the nodes.
In order to understand the reason for the improved performance we ran simulations with altruistic peers. An altruistic peer behaves slightly different than the
conservative peers considered until now. An altruistic peer that arrives before the
beginning of slot i requests packets with a sequence number at least i − B/2 from
its neighbors in order to help the data distribution, even though itself starts playout
only at slot i + B with packet i.
60
RpRp, u=1
RpRp, u=4
LbRu, u=1
Minimum playback delay
50
40
30
20
10
0
2
10
3
4
10
10
Size of overlay (N)
5
10
B-20
RpRp
LbRu
1
0.9
0.89
Pl
Ratio of successfully played out packets (P )
Pl
Ratio of successfully played out packets (P )
0.95
0.9
0.85
0.8
0.75
0.7
Dynamic, Model
Dynamic, Simulations
Static, Model
Static, Simulations
0
10
20
30
40
50
0.88
0.87
0.86
0.85
0.84
0.83
0.82
Dynamic, Model
Dynamic, Simulations
Static, Model
Static, Simulations
0.81
0.8
60
0
10
20
30
Playback delay (B)
40
50
60
Playback delay (B)
Figure 12: Ratio of successfully played out packets vs playback delay under churn. Overlay
with N=500, m=11 and d=50,
1
=50
µ
slot. Model and Simulations.
The results of the simulations performed with the altruistic peers and the conservative peers can be seen in Figure 13, which shows the playout probability as
a function of the mean lifetime of peers measured in time-slots. The static case is
shown as reference. The lower the mean lifetime, the higher the churn rate, i.e.,
the more dynamic is the scenario. Contrary to what one would expect, the overlay
may benefit from high churn rates if peers are conservative, but high churn leads
to decreased performance if peers are altruistic. We explain this phenomenon by
considering an arbitrary neighbor s of a conservative peer that joins the overlay at
slot i. The peer is interested in packets that are generated at or after slot i. Consequently, the neighboring nodes of s that were already in the overlay have fewer
contestants for the packets that were generated before slot i, and may get those
packets sooner.
1
Ratio of successfully played out packets (Ppl)
0.95
0.9
0.85
0.8
RpRp, Conservative
RpRp, Altruistic
RpRp, Static overlay
LbRu, Conservative
LbRu, Altruistic
LbRu, Static overlay
0.75
0.7
100
150
200
250
300
350
400
450
500
550
600
Mean holding time
Figure 13: Ratio of successfully played out packets versus mean holding time for the
RpRp and LbRu schemes. Simulations.
B-21
6
Conclusion
In this paper we proposed an analytic framework to assess the performance of various scheduling algorithms for mesh-based P2P streaming systems. The modelling
framework is based on the observation that with peers maintaining a fair number of
neighbors, the local scheduling decisions may generate per packet distribution trees
that are very different and as a result the position of the peers in the trees is statistically the same. Using this framework, we derived analytic performance measures
for four forwarding schemes. We proved that fresh-data-first schemes, though able
to diffuse data fast, have a limit on the ratio of peers that they can deliver data
to. In contrast, the random-packet schemes can achieve a good playout probability
and playback delay trade-off. We also evaluated the performance of the forwarding algorithms under outdated information and showed that outdated information
quickly leads to a significant decrease of the system’s performance. Furthermore,
we developed a model that shows that in a dynamic overlay the variation of the
number of the peers’ neighbors does not affect the overlay performance as long as
peers are able to maintain a fair number of neighbors. We also showed that in a
dynamic environment, newly arriving nodes can actually act in a beneficial way
for the system, by properly adjusting their initial interest window: node arrivals
increase slightly the average playout probability compared to a static overlay with
the same characteristics. The analytic framework of this paper can be used to
evaluate various forwarding solutions and their combinations, and also the effect
of network parameters. In our future work we will extend the framework to propose and evaluate scheduling solutions for overlays with heterogeneous uplink and
downlink capacities.
References
[1] PPLive, http://www.pplive.com/en/about.html.
[2] Octoshape, http://www.octoshape.com.
[3] UUSee, http://www.uusee.com.
[4] X. Hei, Y. Liu, and K. Ross. IPTV over p2p streaming networks: The meshpull approach. IEEE Communications Magazine, 46(2):86–92, February 2008.
[5] V. Fodor and Gy. Dán. Resilience in live peer-to-peer streaming. IEEE Communications Magazine, 45(6):116–123, June 2007.
[6] S. Birrer and F. Bustamante. A comparison of resilient overlay multicast approaches. IEEE Journal on Selected Areas in Communications, 25:1695–1705,
December 2007.
B-22
[7] B. Li, S. Xie, G.Y. Keung, J. Liu, I. Stoica, H. Zhang, and X. Zhang. An
empirical study of the coolstreaming+ system. IEEE Journal on Selected Areas
in Communications, 25:1627–1639, December 2007.
[8] X. Hei, C. Liang, Y. Liu, and K.W. Ross. A measurement study of a large-scale
p2p IPTV system. IEEE Transactions on Multimedia, 9:1672–1687, December
2007.
[9] R. Rejaie N. Magharei. Prime: Peer-to-peer receiver-driven mesh-based streaming. In Proc. of IEEE INFOCOM, 2007.
[10] X. Zhang, J. Liu, B. Li, and T-S. P. Yum. Coolstreaming/donet: a data driven
overlay network for efficient live media streaming. In Proc. of IEEE INFOCOM,
2005.
[11] K. Nahrstedt J. Liang. Dagstream: Locality aware and failure resilient peerto-peer streaming. In Multimedia Computing and Networking (MMCN), 2006.
[12] Y. Tang M. Zhang, L. Zhao, J-G. Luo, and S-Q. Yang. Large-scale live media
streaming over peer-to-peer networks through the global internet. In Proc.
ACM Workshop on Advances in peer-to-peer multimedia streaming (P2PMMS),
2005.
[13] L. Bracciale, F. Lo Piccolo, D. Luzzi, S. Salsano, G. Bianchi, and N. BlefariMelazzi. A push-based scheduling algorithm for large scale p2p live streaming.
In Proc. of QoS-IP, 2008.
[14] M. Faloutsos A. Vlavianos, M. Iliofotou. Bitos: Enhancing BitTorrent for
supporting streaming applications. In Proc. of IEEE INFOCOM, 2006.
[15] Y. Liu. On the minimum delay peer-to-peer streaming: how realtime can it
be? In Proc. of MM’07, 2007.
[16] S. Tewari and L. Kleinrock. Analytical model for bittorrent-based live video
streaming. In Proc. of IEEE NIME 2007 Workshop, 2007.
[17] L. Massoulie et al. Randomized decentralized broadcasting algorithms. In Proc.
of IEEE INFOCOM, 2007.
[18] T. Bonald, L. Massoulié, F. Mathieu, D. Perino, and A. Twigg. Epidemic live
streaming: Optimal performance trade-offs. In Proc. of ACM SIGMETRICS,
2008.
[19] Gy. Dán and V. Fodor Delay Asymptotics and Scalability for Peer-to-peer Live
Streaming In IEEE Trans. on Parallel and Distributed Systems,to appear
B-23
[20] V. Fodor and I. Chatzidrossos. Playback delay in mesh-based peer-to-peer systems with random packet forwarding. In Proc. of 1st International Workshop
on Future Multimedia Networking (FMN), 2008.
[21] C. Liang, Y. Guo, and Y. Liu. Is random scheduling sufficient in p2p video
streaming? In Proc. of the 28th International Conference on Distributed Computing Systems (ICDCS), 2008.
Paper C
On the Effect of Free-riders in P2P Streaming
Systems
Ilias Chatzidrossos and Viktória Fodor.
In Proceedings of the 4th International Workshop on QoS in
Multiservice IP Networks (QoS-IP), Venice, Italy, February 2008.
On the Effect of Free-riders in
P2P Streaming Systems
Ilias Chatzidrossos and Viktória Fodor
[email protected], KTH, Royal Institute of Technology
Osquldas vag 10, 100 44 Stockholm, Sweden
[email protected]
[email protected]
Abstract
Peer-to-peer applications exploit the users willingness to contribute with
their upload transmission capacity, achieving this way a scalable system where
the available transmission capacity increases with the number of participating users. Since not all the users can offer upload capacity with high bitrate
and reliability, it is of interest to see how these non-contributing users can
be supported by a peer-to-peer application. In this paper we investigate how
free-riders, that is, non-contributing users can be served in a peer-to-peer
streaming system. We consider different policies of dealing with free-riders
and discuss how performance parameters such as blocking and disconnection
of free-riders are influenced by these policies, the overlay structure and system parameters as overlay size and source upload capacity. The results show
that while the multiple-tree structure may affect the performance free-riders
receive, the utilization of the transmission resources is still comparable to that
of an optimized overlay.
1
Introduction
A media streaming system following the peer-to-peer approach is based on the collaboration of users, that is, their willingness to contribute with their own resources
to achieve common welfare. In a peer-to-peer system users form an application
layer overlay network. Users joining the overlay can receive media streams “from
the overlay” and distribute data they possess “to the overlay”. Specifically, it means
that users build up point-to-point supplier-receiver relations to distribute the media
stream. As a result, the availability of the stream and the transmission resources
increase with the number of users in the overlay. This makes the system scalable.
While many of the users in a peer-to-peer streaming system are willing to collaborate and offer their upload capacity to serve other peers, there might be users
1
C-2
that do not contribute to the transmission resources of the overlay. These users
are commonly called as free-riders. While there are various solutions to make freeriders collaborate [1, 2], it might be of interest of peer-to-peer systems to serve the
ones who have not enough upload capacity to contribute to the system resources
significantly, or are not reliable enough to serve as supplier, like residential users
with asymmetric connection [3] or mobile users connected through wireless links.
In this paper we discuss different policies an overlay can follow when serving
these goodwill free-riders. We evaluate the system performance under churn, that
is when nodes join and leave the overlay dynamically during the streaming session.
First we consider optimized overlays when all transmission capacity is available for
the users and evaluate the system performance based on Markovian models. Then
we evaluate how the performance characteristics of the overlay changes if tree based
streaming is applied.
A similar analysis is presented in [4] considering an overlay with high and low
contributors. It is assumed that all users are accepted by the overlay and share the
available capacity equally, that is, the overlay is optimized after each peer arrival
or departure. It is shown that under churn the overlay performance in terms of
delivering the full stream to all the users can be characterized by a critical ratio of
high contributors. If the ratio of high contributors is above the critical value the
system performs well, otherwise the system performs poor. This critical value is
sensitive to the overlay size and to the playback delay.
Our work contributes to these results by considering a set of policies to deal
with free-riders and comparing the performance of optimized and more realistic
overlays. The rest of the paper is organized as follows. In Section 2 we overview
some of the studies closely related to this work. Section 3 describes the policies we
consider to control the number of free-riders in the streaming system. In section
4 we describe the Markovian model of optimized overlays. Section 5 describes
the multiple-tree overlay we consider for comparison. Section 6 evaluates how the
streaming performance changes in the case of push based streaming with rigid tree
structures. Finally, Section 7 concludes our work.
2
Related Work
The architectures proposed for peer-to-peer streaming generally fall into one of two
categories: push based or pull based [5]. First, the push method was proposed for
live media streaming in [6, 7]. It follows the traditional approach of IP multicast,
as streaming data is forwarded along multiple disjoint transmission trees, with the
source of the stream as the root.
The pull method (also called swarming) was proposed recently, and aims at
efficient streaming in highly heterogeneous or dynamic environments [8, 9, 10]. It
follows the approach of off-line peer-to-peer content distribution. There is no global
structure maintained, and neighbor relations are determined locally on the fly as
C-3
the overlay membership or the network environment changes. Peer nodes consider
the reception of a block of consecutive packets (or larger segments) at a time and
schedule to pull those packets from some of their neighbors.
The first analytical study of peer-to-peer streaming presented in [11] considers
the delay performance of single tree architectures. The loss and delay characteristics
of multiple-tree based systems is evaluated in [12, 13]. The first mathematical
models of pull based systems are given in [14, 15]. An asymptotic model of optimized
overlays, that can be applied for both pull and push based systems, also addressing
the effect of low contributors is presented in [4].
3
Policies for Admitting Free-riders
In this paper we consider resource sharing policies where nodes receive always with
full streaming rate. Instead, peers that do not offer significant upload capacity are
admitted to the system only if there is available transmission capacity in the overlay,
otherwise are denied to join the streaming session. For simplicity we will consider
high contributors that offer upload capacity that is multiples of the streaming rate
and free-riders that do not offer any upload capacity. Specifically, we evaluate two
policies to control the participation of free-riders in the streaming sessions.
With the Block and Drop (BD) policy free-riders that would like to join the
streaming session are blocked if the free upload capacity in the overlay is less than
the streaming rate. Once admitted, the same users can be dropped if the overlay
capacity decreases due to the consecutive departure of contributors. All peers in
the overlay receive with full streaming rate. The BD policy can be characterized by
the probability that a free-rider will be blocked when it attempts to join the system,
and by the probability that once admitted the free-rider will be dropped from the
overlay.
Under the Block and Wait (BW) policy free-riders are blocked if the overlay
does not have enough available capacity as in the case of BD. The same users can
be temporarily disconnected and have to wait to reconnect if there is not enough
capacity to serve all peers. All connected peers receive with full streaming rate.
We characterize the BW policy by the blocking probability of free-riders and the
average number of free-riders waiting to reconnect.
Note that blocking, dropping and disconnecting free-riders do not require sophisticated admission control in an overlay. A contributor can always connect to
the overlay by taking the position of a peer (or peers depending on the overlay
topology) already in the overlay and serve those peers with its own upload capacity.
Instead, free-riders can join or reconnect to the overlay only if there are contributors with not fully utilized upload capacity. Otherwise free-riders are blocked or
dropped, alternatively temporarily disconnected.
C-4
4
The Performance of Optimized Overlays
We call an overlay optimized if it can utilize all upload capacity. This in turn may
require that the overlay is reorganized at each node arrival and departure. In this
section we evaluate the performance free-riders receive in such optimized overlays
under churn.
We consider the stationary state of the system, when the arrival and departure
rates are equal. We assume that the interarrival times of peers are exponentially distributed, this assumption is supported by several measurement studies [16, 17]. We
assume that contributors and free-riders arrive independently. We approximate the
session holding times of contributors and free-riders by the same exponential distribution. The distribution of the session holding times was shown to fit the log-normal
distribution [16], however, using the exponential distribution makes modeling easier.
We evaluate the effect of this assumption via simulations.
We denote the arrival intensity by λ and consider the system performance as α
the ratio of free-rider users changes. The arrival intensity of contributors and freeriders is λc = (1 − α)λ and λf = αλ respectively. The mean session holding times
are 1/µ = 1/µc = 1/µf . The offered load in the overlay is A = λc /µc , Ac = (1−α)A
and Af = αA.
For simplicity, we assume that all contributors offer the same upload capacity
that supports the transmission of c copies of the stream (we say the contributors
upload capacity is c). The source of the stream can have different (often significantly
higher) upload capacity and can transmit m copies of the stream. We call parameter
m source multiplicity.
4.1
Overlay feasibility
As it is shown in [4], it is possible to construct an overlay for a static set of peers
if the sum of the reception rates at the peers does not exceed the sum of the
upload capacities of the source and all the peers. This feasibility constraint holds
if the stream can be divided to arbitrary number of sub-streams and the nodes can
maintain a very high number of neighbors.
For the BD and BW policies the feasibility constraint in [4] limits Nf the number
of free-riders, given the number of contributors Nc in the overlay as
Nf ≤ m + (c − 1)Nc .
(1)
We define the feasibility limit for the overlay with churn similarly as
Af ≤ m + (c − 1)Ac .
4.2
(2)
Overlay evolution
We model the evolution of the optimized overlay under the BD and BW policies with
a Markov-chain. The system state has to reflect not only the number of nodes in the
C-5
…..
…..
…..
Ȝc
Ȝc
iµc
Ȝf
i,0
i,i+m
…..
µf
Ȝc
(i+1)µc
Ȝc
Ȝf
(i+1)µc
Ȝf
Ȝf
i+1,0
i+1,i+m
…..
i+1,i+1+m
(i+m)µf
µf
(i+1+m)µf
Ȝc
(i+2)µc
Ȝf
Ȝf
i+2,i+m
i+2,i+1+m
(i+m)µf
(i+1+m)µf
Ȝc
(i+3)µc
(i+2)µc
Ȝf
…..
µf
(i+2)µc
Ȝc
(i+2)µc
Ȝf
i+2,0
Ȝc
: blocking state
(i+m)µf
(i+1)µc
Ȝc
iµc
Ȝf
(i+3)µc
i+2,i+2+m
(i+2+m)µf
Ȝc
(i+3)µc
Ȝc
…..
…..
…..
…..
…..
(i+3)µc
(i+3)µc
…..
…..
…..
Figure 1: Markov-chain describing the overlay under the Block and Drop policy
overlay, but also the capacity available for arriving nodes. We have chosen to define
the system state by (i, j), the number of contributors and free-riders in the overlay.
The state transition intensities are determined by c, the upload capacity of the
contributors, and the arrival and departure intensities. The number of contributors
is not limited, while the number of free-riders that receive the stream is limited by
the feasibility constraint given by (1).
Figures 1 and 2 show a part of the the Markov-chains with the state transition
intensities for c = 2 and m = 4.
…..
…..
Ȝc
(i+m)µf
Ȝf
Ȝf
i+1,i+1+m
(i+1)µc
i+1,i+m+2
…..
…..
…..
(i+m+3)µf
(i+2)µc
(i+m+2)µf
Ȝc
(i+2)µc
…..
…..
…..
…..
Ȝc
(i+1)µc
(i+m+1)µf
(i+2)µc
Ȝc
Ȝc
: blocking state
(i+m+3)µf
Ȝf
(i+m)µf
(i+2)µc
…..
(i+m+2)µf
Ȝc
(i+1)µc
i+1,i+m
…..
µf
iµc
i,i+m+2
(i+m+1)µf
Ȝc
(i+1)µc
Ȝc
i,i+m+1
i,i+m
…..
µf
i+1,0
Ȝc
iµc
Ȝf
Ȝf
i,0
Ȝc
iµc
…..
Ȝc
iµc
…..
…..
…..
…..
Ȝc
…..
…..
…..
: disconnected state
Figure 2: Markov-chain describing the overlay under the Block and Wait policy
We consider first the BD policy. The state space S is S := {(i, j) : j =
C-6
0, 1, ..., m + (c − 1)i, i = 0, 1, 2, ...∞}
Arriving free-riders are blocked if the overlay does not have free upload capacity.
We denote the set of blocking states as B := {(i, m + (c − 1)i) : i = 0, 1, 2, ...∞}.
Once pij , the state probabilities in steady state are calculated, the performance
parameters are derived as follows.
The probability that a free-rider is blocked upon arrival is
X
pij .
(3)
P (block)BD =
(i,j)∈B
A free-rider is dropped from the overlay if a contributor leaves when the system
is in blocking state. Then, the probability that a free-rider, that has already been
admitted in the overlay is later dropped is
X
iµc pij
P (drop)BD =
(i,j)∈B
λf (1 − P (block)BD )
.
The average number of nodes in the overlay is
X
(i + j)pij .
N BD =
(4)
(5)
(i,j)∈S
In the case of the BW policy, the system space is infinite in both dimensions,
S := {(i, j) : i, j = 0, 1, 2, ...∞}. An arriving free-rider is blocked if it arrives when
the system is in states B, or when there is at least one disconnected free-rider. The
set of states where there is at least one disconnected free-rider is D := {(i, j) :
j > m + (c − 1)i, i = 0, 1, 2, ...∞}. We can calculate the probability of blocking
P (block)BW similarly to (3)
X
pij .
(6)
P (block)BW =
(i,j)∈B∪D
The average number of free-riders waiting to be reconnected to the overlay is
X
(j − (m + (c − 1)i))pij .
(7)
N wait,BW =
(i,j)∈D
and we can calculate the average time it takes for such a reconnection to occur using
Little’s form as
N wait,BW
X
T wait,BW =
.
(8)
iµc pij
(i,j)∈B∪D
Finally, the average number of nodes in the overlay is
X
(i + min(j, m + (c − 1)i))pij .
N BW =
(i,j)∈S
(9)
C-7
To see the effect of churn on the utilization of the overlay resources we define
overlay utilization as the ratio of the average number of nodes and the maximum
number of nodes a static overlay could support for given Nc = Ac and α, that is,
U=
N
.
(Ac + min(Af , m + (c − 1)Ac )
(10)
To be able to calculate the state probabilities pi,j numerically, we limit the
state space of the process. First we limit the number of contributors considered
to {Ncl , Ncu } as follows. We model the number of contributors in the system as an
M/M/∞ queue, and calculate the state probabilities p′i . Then we select a state
PNcu
′
space symmetric to N c = µλcc , such that i=N
l pi ≥ 0.95.
c
Similarly, we limit the number of free-riders considered. First we set the limits
as for the contributors, then we extend the limits if necessary to include the 50(c−1)
neighboring states of the blocking states (i, m + (c − 1)i).
5
Overlay Evolution in Multiple-tree Based Overlays
To see the difference between the behavior of an optimized and a more practical
system, we consider multiple-tree based overlays (e.g., [6, 7]). The evolution of the
transmission trees in a multiple-tree overlay is strongly correlated. This correlation
makes analytical modeling complex, since the dimension of the Markov-chain describing the overlay increases linearly with the number of trees [12]. Therefore we
evaluate the performance of the multiple-tree overlays via simulations.
5.1
The Multiple-tree Overlay
We assume that peer nodes are organized in t distribution trees. All the nodes are
members of all t trees, and in each tree they have a different parent node from which
they receive data to ensure multipath transmission. The source of the stream is the
root of the trees. Since the root multiplicity is m, the root has m children in each
of the trees. A contributor can have up to ct children to which it forwards data.
(See Fig. 3.) We assume that nodes can have children in d = 2 trees if t > 1. This
overlay architecture and the related overlay management is discussed in detail in
[12].
We assume that nodes can not join a part of the trees only. It means that an
arriving node is blocked if it can not get a parent in at least one tree. Similarly, a
node is dropped or disconnected from all the trees if it can not reconnect after a
parent departure in any of the trees.
Note, that a single transmission tree overlay with the contributors as nodes and
free-riders as leaves is an optimized overlay if all contributors have the same upload
C-8
R
1
5
4
R
6
11
2
10
3
7
8
1
9
4
6
5
9
7
10
8
2
3
11
R
: peer forwarding in the tree
5
6
: peer not forwarding in the tree
3
: free-rider
1
8
11
2
9
7
10
4
Figure 3: An overlay with t = 3, m = 3, d = 2 and c = 2
capacity. A single tree however does not provide multiple transmission path to the
nodes, and therefore is not a good architecture for peer-to-peer streaming. We use
single-tree simulation results to justify the analytical model.
5.2
Simulation Setup
To evaluate the multiple-tree based overlay we developed a packet level event-driven
simulator. We assume that the session holding times follow an exponential distribution with mean 1/µ = 306s (µ = µc = µf ), [16]. We use the arrival rate λ = λc + λf
to change A the offered load to the overlay. Under the BW policy nodes waiting to
reconnect to the overlay make reconnection attempts with 0.1s intervals. Since we
are interested in the evolution of the overlay structure we simulate only the node
arrivals and departures and do not simulate the traffic flow. To obtain the results
for a given offered load A and ratio of free-riders α, we start the simulation by
building a static overlay. First we add Nc = (1 − α)A contributors then as many of
αA free-riders as possible. We set λ = Aµ and let nodes join and leave the overlay
for 10000 s. The measurements are made after this warm-up period for 10000 s and
the presented results are the averages of 100 simulation runs. The results have less
than 5 percent margin of error at a 95 percent level of confidence.
6
Numerical Results
In this section we evaluate the service the peer-to-peer system can offer to the
free-riders. We consider the probability that free riders are blocked, dropped or
have to wait for reconnection. Note that contributors are never blocked, dropped
or disconnected, neither in the optimized, nor in the multiple-tree overlays with
flexible upload capacity allocation[12]. First we use the mathematical model to
analyze the behavior of an optimized overlay, then we compare the performance of
C-9
1
Blocking probability (pb)
0.8
A=100, m=4
A=100, m=40
A=3000, m=4
A=3000, m=40
A=3000, m=40, Log−Normal
Probability that a free−rider is dropped (pd)
0.9
0.7
0.6
0.5
0.4
0.3
0.2
A=100, m=4
A=100, m=40
A=3000, m=4
A=3000, m=40
A=3000, m=40, Log−Normal
0.6
0.5
0.4
0.3
0.2
0.1
0.1
0
0.4
0.5
0.6
0.7
0.8
0.9
0
0.4
1
0.5
Figure 4: Block and Drop policy. Blocking probability versus α the ratio of freeriders. A=100,3000, m=4,40.
0.6
0.7
0.8
0.9
1
Ratio of free−riders (α)
Ratio of free−riders (α)
Figure 5: Block and Drop policy. Dropping probability versus α the ratio of
free-riders. A=100,3000, m=4,40.
the optimized system to the one based on the less flexible multiple transmission tree
structure.
Figures 4-6 show the system behavior under the BD policy as a function
of α, the ratio of free-riders. Since the
contributors’ upload capacity is c = 2
the feasibility limit is around α = 0.5,
depending on the ratio of offered load
and m. Both the blocking and the
dropping probability increase rapidly
A=100, m=4
around the feasibility limit. Below this
A=100, m=40
A=3000, m=4
A=3000, m=40
limit the blocking and dropping values
Ratio of free−riders (α)
are close to zero, which means that even
small systems are rather efficient. For
A = 100 increasing the source capacity
to m = 40 increases the feasibility limit Figure 6: Block and Drop policy. Overlay
to α = 0.7 but the characteristics of the utilization versus α the ratio of free-riders.
A=100,3000, m=4,40.
performance curves do not change.
We can also see that both the probability of blocking and the probability of dropping increase rapidly with α, that is,
free-riders that were admitted are dropped with high probability at high α.
To evaluate the effect of the assumption on exponential holding times we show
simulation results with log-normal holding times, t = 1, A = 3000 and m = 40.
With log-normal holding times the blocking and dropping probabilities are slightly
lower, that is, the model underestimates the performance free-riders receive.
The utilization values on Figure 6 show that in large overlays the overlay re1
0.99
0.98
Utilization (U)
0.97
0.96
0.95
0.94
0.93
0.92
0.91
0.9
0.4
0.5
0.6
0.7
0.8
0.9
1
C-10
1
b
Blocking probability (p )
0.8
A=100, m=4
A=100, m=40
A=3000, m=4
A=3000, m=40
A=3000, m=40, Log−Normal
1
Average number of peers waiting to reconnect (NW)
0.9
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0.4
0.5
0.6
0.7
0.8
0.9
1
Ratio of free−riders (α)
Figure 7: Block and Wait policy.
Blocking probability versus α the ratio
of free-riders. A=100,3000, m=4,40.
0.9
0.8
A=100, m=4
A=100, m=40
A=3000, m=4
A=3000, m=40
A=3000, m=40, Log−Normal
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0.4
0.5
0.6
0.7
0.8
0.9
1
Ratio of free−riders (α)
Figure 8: Block and Wait policy. Average number of peers waiting to reconnect versus α the ratio of free-riders.
A=100,3000, m=4,40.
sources are stable despite churn. In small overlays the fluctuation of transmission
resources decreases the utilization significantly around the feasibility limit.
Next we evaluate the BW policy. Figures 7-8 show how the blocking probability
and the average number of nodes waiting for reconnection change in an optimized
overlay. The simulation results with t = 1 and log-normal holding times fit the
analytical results on the blocking probability. Simulations give higher values for
the average number of nodes waiting than the model due to the deterministic time
intervals of reconnection attempts. If we decrease the reconnection interval the
difference decreases as well. Figure 9 shows the average time nodes have to wait to
reconnect, normalized by the average holding time µf . The normalized reconnection
time is very low for all cases.
Comparing the BD and BW policies, we can see that under the BW policy freeriders are blocked with higher probability, while even at high ratio of free-riders
there are very few nodes waiting for reconnection and the waiting time to reconnect
is very low. From this we can conclude that under the BW policy free-riders that
are admitted will receive the stream with little disturbances. As figure 10 shows
the utilization of the overlay resources are very similar under the BD and the BW
policies, despite the different characteristics of blocking.
Finally, we compare the performance of the optimized overlays and of overlays
based on multiple-tree structure. Figure 11 compares the utilization of single tree
(t = 1) and multiple-tree overlays for t = 8 under the BD policy. As t increases,
the probability that free-riders are dropped increases as well, since nodes that can
not reconnect to even one tree are dropped. This generates free capacity in the
overlay, which in turn leads to decreasing blocking probability for increasing t. As a
result, the utilization of overlay resources is not sensitive to the number of trees in
C-11
1
0.12
0.99
0.98
0.97
0.08
Utilization (U)
Normalized waiting time (T
Wait
*µ)
0.1
A=100, m=4
A=100, m=40
A=3000, m=4
A=3000, m=40
0.06
0.96
0.95
0.94
0.04
0.93
0.92
0.02
0.91
0
0.4
0.5
0.6
0.7
0.8
0.9
A=100, m=4
A=100, m=40
A=3000, m=4
A=3000, m=40
0.9
0.4
1
0.5
0.6
0.7
0.8
0.9
1
Ratio of free−riders (α)
Ratio of free−riders (α)
Figure 9: Block and Wait policy. Average waiting time versus α the ratio of
free-riders. A=100,3000, m=4,40.
Figure 10: Block and Wait policy.
Overlay utilization versus α the ratio
of free-riders. A=100,3000, m=4,40.
1
1
0.95
0.95
0.9
0.9
Utilization (U)
Utilization (U)
large overlays (A = 3000). In small overlays (A = 100) there can be a loss of 20%,
increasing with t. Figure 12 shows the overlay utilization for the same scenarios,
but for the BW policy. Comparing figures 11 and 12, the BW policy seems to be
more efficient, but its efficiency depends on the interval of reconnection attempts.
0.85
0.8
0.75
0.7
0.4
0.85
0.8
t=1, A=100
t=1, A=3000
t=4, A=100
t=4, A=3000
t=8, A=100
t=8, A=3000
0.45
0.5
0.75
0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
Ratio of free−riders (α)
Figure 11: Multiple-tree overlay, Block
and Drop policy. The effect of multiple
trees on the overlay utilization. Simulation results.
0.7
0.4
t=1, A=100
t=1, A=3000
t=4, A=100
t=4, A=3000
t=8, A=100
t=8, A=3000
0.45
0.5
0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
Ratio of free−riders (α)
Figure 12: Multiple-tree overlay, Block
and Wait policy. The effect of multiple
trees on the overlay utilization. Simulation results.
C-12
7
Conclusion
In this paper we evaluated the performance goodwill free-riders receive in a peer-topeer streaming overlay. We compared two policies to limit the number of free-riders
in the system, the Block and Drop and the Block and Wait policies. We showed analytically that under the Block and Drop policy both the blocking and the dropping
probabilities can be high, which means that the free-riders already admitted to the
system are often dropped. Under the BW policy, however, the number of free-riders
waiting to be reconnected is very low for all parameter settings, which suggests that
once admitted, free-riders receive the stream without interruption with high probability. This feature makes the BW policy a good candidate to control free-riders.
We compared the performance of optimized overlays and overlays based on rigid
multiple-tree structures. We showed that in a multiple-tree overlay the blocking
and dropping probabilities and the average number of free-riders waiting depend on
the number of distribution trees, but the resulting overlay utilization approaches
the one of the optimized overlay.
References
[1] G. Tan and S.A. Jarvis. A payment-based incentive and service differentiation
mechanisms for peer-to-peer streaming broadcast. In Proceedings of IWQoS,
2006.
[2] Y. Sung, M. Bishop, and S. Rao. Enabling contribution awareness in an overlay
broadcasting system. In ACM Sigcomm, 2006.
[3] X. Hei, Ch. Liang, Y.Liu, and K.W. Ross. A measurement study of a large-scale
p2p iptv system. IEEE Transactions on Multimedia, 2007.
[4] R. Kumar, Y. Liu, and K. Ross. Stochastic fluid theory for p2p streaming
systems. In IEEE INFOCOM, 2007.
[5] V. Fodor and Gy. Dán. Resilience in live peer-to-peer streaming. IEEE Communications Magazine, 45(6), 2007.
[6] Miguel Castro, Peter Druschel, Anne-Marie Kermarrec, Animesh Nandi,
Antony Rowstron, and Atul Singh. Splitstream: High-bandwidth multicast
in a cooperative environment. In Proceedings of ACM Symposium on Operating Systems Principles (SOSP), 2003.
[7] Venkata N. Padmanabhan, Helen J. Wang, and Philip A. Chou. Resilient peerto-peer streaming. In Proceedings of the 11th IEEE International Conference
on Network Protocols, 2003.
C-13
[8] X. Zhang, J. Liu, B. Li, and T-S. P. Yum. Coolstreaming/donet: a data driven
overlay network for efficient live media streaming. In Proceedings of IEEE
INFOCOM, 2005.
[9] N. Magharei, R. Rejaie, and Y. Guo. Mesh or multiple-tree: A comparative
study of live p2p streaming approaches. In Proceedings of IEEE INFOCOM,
2007.
[10] R. Rejaie N. Magharei. Prime: Peer-to-peer receiver-driven mesh-based streaming. In Proceedings of IEEE INFOCOM, 2007.
[11] T. Small, B. Liang, and B. Li. Scaling laws and tradeoffs in peer-to-peer live
multimedia streaming. In Proceedings of ACM Multimedia, 2006.
[12] Gy. Dán, V. Fodor, and I. Chatzidrossos. On the performance of multipletree-based peer-to-peer live streaming. In Proceedings of IEEE INFOCOM,
2007.
[13] Gy. Dán and V. Fodor. An analytical study of low delay multi-tree-based
overlay multicast. In Proceedings of ACM Peer-to-peer Streaming and IPTV
Workshop, 2007.
[14] L. Massoulie, A. Twigg, Ch. Gkantsidis, and P. Rodriguez. Randomized decentralized broadcasting algorithms. In Proceedings of IEEE INFOCOM, 2007.
[15] D. Carra, R. Lo Cigno, and E.W. Biersack. Graph based modeling of p2p
streaming systems. In Proceedings of IFIP Networking, 2007.
[16] E. Veloso V. Almeida W. Meira A. Bestavros and S. Jin. A hierarchical characterization of a live streaming media workload. In Proceedings of ACM IMC,
2002.
[17] K. Sripanidkulchai, B. Maggs, and H. Zhang. An analysis of live streaming
workloads on the internet. In Proceedings of ACM IMC, 2004.
Paper D
Server Guaranteed Cap: An incentive mechanism
for maximizing streaming quality in heterogeneous
overlays
Ilias Chatzidrossos, György Dán and Viktória Fodor.
In Proc. of IFIP Networking, Chennai, India, May 2010.
Server Guaranteed Cap: An incentive mechanism
for maximizing streaming quality in heterogeneous
overlays
Ilias Chatzidrossos, György Dán, Viktória Fodor
Laboratory for Communication Networks
School of Electrical Engineering
KTH, Royal Institute of Technology
Abstract
We address the problem of maximizing the social welfare in a peer-to-peer
streaming overlay given a fixed amount of server upload capacity. We show
that peers’ selfish behavior leads to an equilibrium that is suboptimal in terms
of social welfare, because selfish peers are interested in forming clusters and
exchanging data among themselves. In order to increase the social welfare we
propose a novel incentive mechanism, Server Guaranteed Cap (SGC ), that
uses the server capacity as an incentive for high contributing peers to upload
to low contributing ones. We prove that SGC is individually rational and
incentive compatible. We also show that under very general conditions, there
exists exactly one server capacity allocation that maximizes the social welfare
under SGC, hence simple gradient based method can be used to find the
optimal allocation.
1
Introduction
The goal of peer-to-peer (p2p) streaming systems is to achieve the maximum possible streaming quality using the upload capacities of the peers and the available
server upload capacity. In general, the achievable streaming quality depends heavily on the aggregate upload capacity of the peers [1]. Hence, a key problem of p2p
streaming systems is how to give incentives to selfish peers to contribute with all
their upload capacity. Numerous schemes were proposed to solve this problem (e.g.,
[2, 3]). These schemes relate peers’ contribution with the streaming quality they
receive: the more a peer contributes, the better streaming quality it can potentially
receive. The correlation of peer contribution to the quality it receives is based on
the assumption that all peers are capable of contributing but refrain from doing so.
1
D-2
Nevertheless, peers might be unable to have a substantial contribution with
respect to the stream rate because of their last-mile connection technology. Most
DSL and cable Internet connections are asymmetric, hence peers may have sufficient
capacity to, e.g., download high definition video but insufficient for forwarding it.
Similarly, in high-speed mobile technologies, such as High Speed Downlink Packet
Access (HSDPA), the download rates are an order of magnitude higher than the
upload rates [4]. Peers using assymetric access technologies would receive poor
quality under incentive schemes that offer a quality proportional to the level of peer
contribution.
Furthermore, using such incentive schemes high contributing peers maximize
their streaming quality if they prioritize other high contributing peers when uploading data. As a consequence, peers with similar contribution levels form clusters
and exchange data primarily among themselves. While high contributing peers
can achieve excellent streaming quality this way, the quality experienced by low
contributing peers is low, and the average streaming quality in the p2p system is
suboptimal.
In order to increase the average streaming quality in the system, we propose a
mechanism that gives incentives to high contributing peers to upload to low contributing ones. The mechanism relies on reserving a portion of the server capacity
and providing it as a safety resource for high contributing peers who meet certain
criteria. We show that high contributing peers gain by following the rules set by the
incentive mechanism, and they fare best when they follow the rules truthfully. We
also show that due to some basic properties of p2p streaming systems our mechanism can easily be used to maximize the streaming quality.
The rest of the paper is organized as follows. In Section 2, we motivate our
work by studying the effect of selfish peer behavior in a push-based p2p streaming
overlay. In Section 3, we describe our incentive mechanism and provide analytical
results. We show performance results in Section 4. In Section 5 we discuss previous
works on incentives in peer-to-peer streaming systems. Finally, Section 6 concludes
our paper.
2
Motivation
In order to understand the effects of selfish peer behavior on the performance of p2p
streaming systems, in the following we study a mesh-based p2p streaming system.
Mesh-based systems have received significant attention in the research community
[5, 6, 7, 8, 9], and are underlying the majority of commercial streaming systems
(e.g., [10], [11]).
2.1
Case study: a mesh-based p2p streaming system
The streaming system we use as an example was proposed in [8] and was subsequently analyzed in [9, 12]. The system consists of a server and N peers. The
D-3
upload capacity of the server is mt times the stream rate. For simplicity we consider two types of peers: peers with high upload capacity, called contributors, and
peers without upload capacity, called non-contributors. The upload capacity of the
contributors is c times the stream rate, while that of non-contributors is zero. We
denote by α the ratio of non-contributors in the overlay.
Each peer is connected to d other peers, called its neighbors. The server is
neighbor to all peers. Every peer maintains a playout buffer of recent packets,
and exchanges information about its playout buffer contents with its neighbors
periodically, via so called buffer maps. The server sends a copy of every packet to
mt randomly chosen peers. The peers then distribute the packets among each other
according to a forwarding algorithm. The algorithm takes as input the information
about packet availability in neighboring peers (known from the buffer maps) and
produces a forwarding decision, consisting of a neighbor and a packet sequence
number. In this work we consider the Random Packet - Random Peer (RpRp)
forwarding algorithm. This algorithm has been shown to have a good playback
continuity - playback delay tradeoff ([8, 12]). According to this algorithm, a sending
peer first chooses randomly a neighbor that is missing at least one packet that itself
has and it sends to that neighbor a random packet that it is missing. Peers play
out data B time after they were generated by the server, and we refer to this as the
playback delay.
2.2
Playout probability, individual utility and social welfare
The performance of p2p streaming systems is usually measured in terms of the
playout probabilities of the peers, i.e., the probability pi that peer i receives packets
upon their playout deadlines [8, 12, 9]. The impact of the playout probability pi
on the peers’ satisfaction is, however, typically influenced by the loss resilience of
the audiovisual encoding. To allow for a wide range of encodings, we use utility
functions to map the playout probability to user satisfaction. Formally, the utility
function is a mapping u : [0, 1] → [0, 1]. We consider three kinds of utility functions.
Linear function: Utility function of the form y = a · pi + b. An improvement in
the playout probability yields the same increase in utility regardless of the already
achieved playout probability.
Concave function: Utility is a concave function of the playout probability, that is,
the marginal utility is a non-increasing function of the playout probability.
Step function: There is an instantaneous transition from a zero utility to a utility of
a unit upon reaching a threshold p∗i . The peer is only satisfied above the threshold
playout probability.
We measure the aggregate utility of the peers, called the social welfare, using
the utilitarian welfare model. In the utilitarian welfare model the social welfare is
the sum of the utilities, which is equivalent to the average peer utility
SW F = (1 − α) · u(pc ) + α · u(pnc ),
(1)
D-4
where pc and pnc denote the playout probability of contributors and non-contributors
respectively.
2.3
Modelling peer behavior
To study the impact of peer cooperation in the overlay, we introduce the notion
of generosity factor, which we denote by β. This parameter shows how generous a
peer is towards its non-contributing neighbors. The generosity factor takes values in
the interval [0, 1]. When β = 1, the peers are completely generous and they upload
to their neighbors regardless of whether they, on their turn, are uploading or not.
When β = 0, peers are not generous at all, or equivalently completely selfish, and
will only upload to peers that upload as well. Values of the generosity level in the
set (0, 1) correspond to intermediate generosity levels.
The generosity level affects the playout probabilities of the contributing and
non-contributing peers. Since the major source of capacity for the non-contributors
are the contributors, the generosity level of contributors determines their playout
probability. When β = 1, then contributors share equally their capacity between
their contributing and non-contributing neighbors. As β decreases, capacity is subtracted from the non-contributors and added to the contributors. This means that
the playout probability of the contributors increases, while that of non-contributors
decreases.
2.4
The effects of selfish behavior
In the following we show the effects of selfish behavior on the social welfare. The
numerical results we show were obtained using an analytical model and via simulations. The analytical model is an extension of our previous work [12], where we
developed a model of the playout probability in a push-based system with homogeneous peer upload capacities. We extended the model to incorporate two types of
peers, contributors and non-contributors. The extended model can be found in [13].
The simulation results were obtained using the packet-level event-driven simulator
used in [12]. In the simulations, nodes join the overlay at the beginning of the
simulation, and are organized into a random, d-regular graph. After the overlay
with N peers is built, the data distribution starts according to the forwarding algorithm described in Section 2.1. The algorithm is executed in time slots in a way
that contributors with capacity c make c forwarding decisions per slot. All results
presented in the following refer to an overlay of N = 500 peers, where each peer is
connected to d = 30 neighbors and contributors have an upload capacity of c = 2
times the stream bitrate.
Fig. 1a and 1b show the effect of the generosity factor on the playout probability of the contributors and the non-contributors obtained using the model and
simulations. The figures also show the average playout probability in the overlay
(dotted lines). The share of non-contributors is α = 0.5. Fig. 1a shows a system
D-5
(a)
(b)
1
Ratio of successfully played out packets (PPl)
Pl
Ratio of successfully played out packets (P )
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
Contributors, Model
Non−Contributors, Model
Average, Model
Contributors, Simulations
Non−Contributors, Simulations
Average, Simulations
0.2
0.1
0
0
0.2
0.4
0.6
Generosity factor (β)
0.8
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
Contributors, Model
Non−Contributors, Model
Average, Model
Contributors, Simulations
Non−Contributors, Simulations
Average, Simulations
0.2
0.1
0
0
0.2
0.4
0.6
Generosity factor (β)
0.8
1
Figure 1: Ratio of successfully played out packets vs generosity factor β for playback
delay of (a) B = 10 and (b) B = 40. Analytical and simulation results.
Ratio of duplicate packets (Pd)
where the playback delay is small. Clearly, contributors maximize their playout
probabilities for β = 0, but the average playout probability is suboptimal in this
case. Surprisingly, the average playout probability is suboptimal for β = 1 as well.
This shows that when β is small, the upload capacity is better utilized when allocated to non-contributors, but for large β values it is better utilized by contributors.
Nevertheless, for a larger playback delay (Fig. 1b) the average playout probability
is maximized for β = 1. This is because for such a large playback delay the upload
capacity is better utilized when used to feed the non-contributors for all β. From
these two figures we draw the conclusion that average playout probability depends
on the contributors’ generosity, but β = 1 is not necessarily optimal.
The performance degradation when
peers act selfishly is a general charac0.4
α=0.5, B=10
teristics of mesh-based p2p streaming
α=0.5, B=40
0.35
α=0.7, B=10
systems. The inefficiencies in data deα=0.7, B=40
0.3
livery are due to the lack of coordina0.25
tion between peers [14], which prohibits
0.2
seamless streaming. In push-based al0.15
gorithms [8, 12] the lack of coordination
0.1
leads to duplicate packet receptions at
0.05
peers, i.e., a peer receives the same data
0
0
0.2
0.4
0.6
0.8
1
from more than one of its neighbors.
Generosity factor (β)
Fig. 2 supports that the decrease in
the average playout probability is actu- Figure 2: Ratio of duplicate transmissions
ally due to the clustering of contribu- vs generosity factor (β) for B = 10 and
tors, which leads to the increase in the B = 40. Simulations.
ratio of duplicate transmissions. In the
case of pull-based systems the lack of coordination leads to multiple requests for
data at sending peers, also a source of inefficient bandwidth use. While coordination can mitigate the inefficiency [14], it leads to higher delay in delivering the
D-6
(b)
1
0.8
0.9
0.7
Social welfare function (SWF)
Social welfare function (SWF)
(a)
0.9
0.6
0.5
0.4
0.3
0.2
Linear
0.1
Log
Step − x =0.95
0.8
0.7
0.6
0.5
0.4
0.3
0.2
Linear
0.1
Log
Step − x =0.95
0
0
0
0.2
0.4
0.6
Generosity factor (β)
0
0.8
1
0
0
0.2
0.4
0.6
Generosity factor (β)
0.8
1
Figure 3: Social welfare vs. generosity factor β for playback delays of (a) B = 10
and (b) B = 40. Overlay with α = 0.5. Analytical results.
data, which in turn leads to lower playout probabilities for any fixed playback delay. Based on these findings, we argue that performance degradation due to peer
clustering is not restricted to push systems only, but is intrinsic to uncoordinated
p2p dissemination algorithms.
Next, we proceed with our utility based analysis of the overlay. For linear
utility function we use u(pi ) = pi , so the utility curve coincides with the curve
presented in Fig. 1a and 1b. For concave utility we use a logarithmic function,
u(pi ) = log10 (1 + 9pi ). For the step function we set the threshold to p∗i = 0.95. Our
conclusions do not depend on the the particular values of the parameters and the
choice of the logarithmic function.
Fig. 3a and 3b show the social welfare versus the generosity factor for the three
kinds of utility functions and for playback delays of B = 10 and B = 40 respectively.
In the case of small playback delay (B = 10) the social welfare for the linear and
the concave utility functions attains its maximum for β < 1. For the step function
the social welfare equals 0 for high values of β, when contributors are not able to
receive at least with probability p∗i = 0.95. As β decreases, there is a transition in
utility, but the contributors do not gain anything by becoming more selfish after the
transition, and the social welfare remains constant. In the case of large playback
delay (B = 40), we see that the social welfare for linear and concave utility functions
attains its maximum for β = 1. For the step function we observe a similar transition
of the social welfare as for B = 10, but at a higher value of the generosity factor
β. The transition occurs where the contributors achieve a playout probability of
p∗i = 0.95. To understand the importance of the threshold value, let us consider
p∗i = 0.8. It is easy to see based on Fig. 1b that in this case the social welfare
would be maximal for β ≥ 0.8, as both contributors and non-contributors achieve
playout probabilities above the threshold. To summarize, we draw two conclusions
from these figures. First, for the linear and concave utility functions the value of β
that maximizes the social welfare is a function of the playback delay, but in general
D-7
β = 0 is far from optimal. Second, for the step function the threshold value p∗i plays
an important role in whether β = 0 is optimal.
3
The SGC incentive mechanism
Our work is motivated by the observation that the peers’ selfish behavior leads to
a loss of social welfare. In our solution, we exploit the inability of contributors to
achieve the maximum playout probability by being selfish and offer them seamless
streaming if they increase their generosity, that is if they serve non-contributors as
well. In the following, we describe our incentive mechanism, called Server Guaranteed Cap (SGC ).
Under SGC, there are two types of data delivery: p2p dissemination and direct
delivery from the server. Fresh data is distributed in the overlay using p2p dissemination: the peers forward the data according to some forwarding algorithm.
Contributors can also request data that they miss directly from the server if they
do not exceed a threshold playout probability of Tp via p2p dissemination. In our
scheme the server ensures that by combining p2p dissemination and direct delivery
the contributors possess all data with probability 1. In order to be able to serve the
requests for direct delivery, the server reserves mr of its total upload capacity mt
for direct delivery. mr has to be large enough to cap the gap between the threshold
probability Tp and 1. Given the number of contributors in the overlay and the
reserved capacity mr , the server can calculate the threshold value of the playout
probability below which it would not be able to cap all contributors
Tp = 1 −
mr
(1 − α) · N
(2)
The server advertises the threshold value Tp as the maximum playout probability that contributors should attain through p2p dissemination. Peers report their
playout probabilities pi achieved via p2p dissemination. Based on the reports, the
server knows which are the contributors with pi ≤ Tp , that is, which contributors
are entitled for direct delivery.
3.1
Properties of SGC
In the following we show two important properties of the proposed mechanism:
ex-post individual rationality and incentive compatibility. Ex-post individual rationality means that a contributing peer does not achieve inferior performance by
following the rules of the mechanism irrespective of the playout probability it would
achieve without following the mechanism.
Proposition 1. The SGC mechanism is ex-post individually rational.
Proof. Consider that the server advertises a threshold probability of Tp . All contributors that receive up to pi ≤ Tp via p2p dissemination are entitled to pull the
D-8
remaining 1 − Tp directly from the server. Hence a peer with pi = Tp receives data
with probability Pi = pi + (1 − Tp ) = 1, which is at least as much as it would achieve
by not following the rules of the mechanism.
Since SGC relies on peers reporting their playout probabilities to the server,
it is important that peers do not have an incentive to mis-report their playout
probabilities. In the following we show that SGC satifies this criterion, i.e., it is
incentive compatible.
Proposition 2. The SGC mechanism is incentive compatible.
Proof. Let us denote the playout probability of peer i by pi and the probability it
reports by pi . Tp is the threshold probability that the contributors must not exceed
in order to be directly served by the server, and mr is the corresponding reserved
capacity at the server. Contributors can thus receive mr /(1 − α)N = 1 − Tp share
of the stream from the server directly if they report pi ≤ Tp . Consequently, if peer i
achieves pi ≤ Tp and reports it truthfully (pi = pi ), it receives data with probability
Pi = min(1, pi + (1 − Tp )). If pi > Tp and peer i reports truthfully, it receives with
probability Pi = pi .
Clearly, peer i can not benefit from over-reporting its playout probability, so we
only have to show that it has no incentive for under-reporting it either. In order to
show this we distinguish between three cases.
• p < p ≤ Tp : the playout probability that the peer will finally receive will be
Pi = min(1, p + 1 − Tp ) ≤ 1, which is the same that it would receive if it were
telling the truth
• p ≤ Tp < p: the playout probability that the peer will finally receive will be
Pi = min(1, p + 1 − Tp ) = 1. The peer could achieve the same by having
p = Tp and reporting p = p.
• Tp < p < p: the peer is not entitled to direct delivery, so Pi = pi .
We note that apart from not gaining, peer i can actually lose by declaring that
it does not have packets it already has: it can reduce the probability of receiving
packets from its neighbors that it does not possess in reality. We did not have to
account for this to prove incentive compatibility, however.
3.2
Optimal server capacity allocation
A key question for the implementation of the mechanism is how to determine the
advertised probability threshold Tp , that is, how to find the reserved capacity mr .
Since the server capacity is fixed, the choice of mr affects the server capacity available for the p2p dissemination, and hence the efficiency of the data delivery through
D-9
p2p dissemination. To study the effect of server resource allocation on the playout
probability of the peers, we express the success of a forwarding algorithm in delivering the stream as a function of the overlay size and the capacity allocated to the
peers. We define the mapping f : (N, R) → [0, 1] of number of peers in an overlay
and the aggregate capacity allocated to them, to the average playout probability of
the peers.
In the following we show that for a wide class of p2p streaming systems there is
a unique value of mr that maximizes the social welfare. This class of p2p streaming
systems is characterized by the fact that the marginal gain of increasing the upload
capacity in the system is non-increasing.
Definition 1. A p2p streaming system is called efficient if the playout probability
of the peers is a concave function of the overlay capacity.
We only consider systems where the efficiency of the forwarding algorithm does
not depend on the overlay size for a given ratio of peers over total upload capacity,
that is for systems where it holds that f (k · N, k · C) = f (N, C), ∀k ∈ R. Given
that, we formulate the following proposition.
Proposition 3. The construction of an efficient p2p streaming system is always
feasible regardless of the characteristics of the forwarding algorithm used.
Proof. Let us consider a system with N peers and total upload capacity C. Suppose
that f is strictly convex on an interval in its domain. Formally, there exist upload
capacity values C1 , C2 , with C1 < C2 , for which it holds
λf (N, C1 ) + (1 − λ)f (N, C2 ) > f (N, λC1 + (1 − λ)C2 ), ∀λ ∈ (0, 1)
(3)
We split the overlay into two partitions, one with size λN and server capacity λC1
and the other with (1 − λ)N peers and (1 − λ)C2 server capacity. For the two
overlays we have that
f (λN, λC1 ) =
f (N, C1 )
(4)
f ((1 − λ)N, (1 − λ)C2 ) =
f (N, C2 )
(5)
By combining (4) and (5) we get f (N, λC1 + (1 − λ)C2 ) = λf (N, C1 ) + (1 −
λ)f (N, C2 ), which contradicts (3). Hence, by splitting the overlay we can create an
efficient p2p streaming system.
For a given server capacity, mt , SGC requires that the server caps the gap
between the playout probability pi achieved via p2p dissemination and 1. Therefore,
the value of mr should be such that contributors can achieve Tp for some β ∈ [0, 1].
The feasible range for the implementation
of SGC is then defined as Mr = {mr ∈
(0, mt ) : mr ≥ (1 − f (1 − α) · N, Ct ) · (1 − α) · N }, where Ct is the total capacity
of the contributors and the server capacity used for the p2p dissemination.
D-10
Proposition 4. For an efficient system, a feasible range of server upload capacities
Mr and a concave utility function, the social welfare is a concave function of the
reserved server capacity mr .
Proof. The social welfare of the system is given as
SW F = (1 − α) · u f ((1 − α) · N, Cc ) +
mr
+ α · u f (α · N, Cnc ) (6)
(1 − α) · N
where Cc and Cnc are the upload capacities allocated to contributors and to noncontributors respectively (as a function of β), and Ct = Cc + Cnc . Under the SGC
mechanism, the contributors receive the stream with probability 1, so the above
equation becomes
SW F = (1 − α) · u(1) + α · u f (α · N, Cnc ) .
(7)
In the following we show that Cnc is a concave function of mr . Since our system
is efficient the playout probability pi is concave with respect to Cc , or equivalently
Cc is convex in pi =Tp . Since Cnc = Ct − Cc , Cnc is concave in 1 − Tp , which on
its turn is linear in mr . Therefore, Cnc is a concave function with respect to mr .
Consequently the composite function f (Cnc ) is concave as well with respect to mr ,
as a composition of non-decreasing concave functions [15]. For the same reason u ◦ f
is concave with respect to mr , which proves the proposition.
A consequence of Proposition 4 is that the social welfare function SW F has
exactly one, global, maximum on Mr . Hence, the server can discover the optimal
amount of reserved capacity mr by using a gradient based method starting from
any mr ∈ Mr .
4
Numerical results
In the following we show numerical results that quantify the gain of the proposed
incentive mechanism. The social welfare with respect to the reserved capacity by
the server is shown in Fig. 4. The total capacity of the server is mt = 11. We can
see that the feasible region of SGC depends on the playback delay for the system.
For B=10, it holds that mr ∈ [2, 9], while for larger playback delays mr ∈ [1, 10].
The increase of mr triggers two contradicting effects. On one side, it increases the
playout probability of contributors through the direct delivery. On the other side, it
decreases the efficiency of the p2p dissemination phase, since the amount of server
capacity dedicated to that type of dissemination is decreased. The social optimum
is at the allocation where the rate of decrease of the efficiency of p2p dissemination
becomes equal to that of the increase achieved through the direct delivery.
Finally, we note that even using SGC there is a loss of social welfare compared
to the hypothetical case when β is optimized by generous peers to maximize the
D-11
(b)
1
0.95
0.95
0.9
Social welfare function (SWF)
Social welfare function (SWF)
(a)
1
0.85
0.8
0.75
B=10
0.7
B=20
B=30
0.65
B=40
0.9
0.85
B=10
0.8
B=20
0.75
B=30
B=40
0.7
0.65
0.6
0.6
0.55
0.55
0.5
1
2
3
4
5
6
7
Reserved server capacity (m )
r
8
9
10
0.5
1
2
3
4
5
6
7
Reserved server capacity (m )
8
9
10
r
Figure 4: Social welfare versus reserved server capacity for different playback delays.
Linear (a) and logarithmic (b) utility functions. Overlay with N = 500, d = 30 and
m = 11.
social welfare. We can observe this loss by comparing the maximum social welfare
obtained in Figs. 4 to that in Fig. 3 (for B = 10 and B = 40). This loss of social
welfare is the social cost of the selfishness of peers.
5
Related work
A large number of incentive mechanisms was proposed in recent years to solve the
problem of free-riding in p2p streaming systems. These mechanisms are either based
on pairwise incentives or on global incentives.
Pairwise incentive schemes were inspired by the tit-for-tat mechanism used in
the BitTorrent protocol [3, 16]. However, tit-for-tat, as used in BitTorrent, was
shown not to work well in live streaming with random neighbor selection [3, 16].
The authors in [16] proposed an incentive mechanism for neighbor selection based on
playback lag and latency among peers, achieving thus better pairwise performance.
In [17], the video was encoded in layers and supplier peers favored neighbors that
uploaded back to them, achieving thus service differentiation as well as robustness
against free-riders.
Global incentive schemes take into account the total contribution of a peer to its
neighbors. In [2], a rank-based tournament was proposed, where peers are ranked
according to their total upload contribution and each peer can choose as neighbor
any peer that is below itself in the ranked list. Thus, peers that have high contribution have also higher flexibility in selecting their neighbors. In [18], the authors
proposed a payment-based incentive mechanism, where peers earn points by uploading to other peers. The supplier peer selection is performed through first price
auctions, that is, the supplier chooses to serve the peer that offers her the most
points. This means that peers that contribute more, accumulate more points and
can make high bids, increasing thus their probability of winning an auction for a
parent.
D-12
All the aforementioned incentive mechanisms assume that peers are always capable of contributing but, due to selfishness, refrain from doing so. We, on the
contrary, consider peers that are unable to contribute because of their access technologies. Associating streaming quality with contribution unnecessarily punishes
these weak peers. Therefore our goal is to maximize the social welfare in the system, by having the high contributing peers upload to low contributing peers as
well. In this aspect, our work is closely related to [19], where a taxation scheme was
proposed, based on which high contributing peers subsidize low contributing ones
so that the social welfare is maximized. However, in contrast to [19], where it is
assumed that peers voluntarily obey to the taxation scheme and they can only react
to it by tuning their contribution level, we prove that our mechanism is individually rational and incentive compatible. To the best of our knowledge our incentive
scheme is unique in these two important aspects.
6
Conclusion
In this paper we addressed the issue of maximizing the social welfare in a p2p streaming system through an incentive mechanism. We considered a system consisting of
contributing and non-contributing peers and studied the playout probability for the
two groups of peers. We showed that when contributing peers are selfish the system
operates in a state that is suboptimal in terms of social welfare. We proposed an
incentive mechanism to maximize the social welfare, which uses the server’s capacity as an incentive for contributors to upload to non-contributing peers as well. We
proved that our mechanism is both individually rational and incentive compatible.
We introduced the notiona of efficient p2p systems and proved that for any efficient
system there exists exactly one server resource allocation that maximizes the social
welfare. An extension of our scheme to several classes of contribution levels will be
subject of our future work.
References
[1] Kumar, R., Liu, Y., Ross, K.: Stochastic fluid theory for p2p streaming systems. In: IEEE INFOCOM. (2007)
[2] Habib, A., Chuang, J.: Service differentiated peer selection: An incentive
mechanism for peer-to-peer media streaming. IEEE Transactions on Multimedia 8 (June 2009) 610–621
[3] Silverston, T., Fourmaux, O., Crowcroft, J.: Towards an incentive mechanism
for peer-to-peer multimedia live streaming systems. In: IEEE International
Conference on Peer-to-Peer Computing. (2008)
D-13
[4] Chahed, T., Altman, E., Elayoubi, S.: Joint uplink and downlink admission
control to both streaming and elastic flows in CDMA/HSDPA systems. Performance Evaluation 65 (November 2008) 869–882
[5] N. Magharei, R.R.: Prime: Peer-to-peer receiver-driven mesh-based streaming.
In: Proc. of IEEE INFOCOM. (2007)
[6] M. Zhang, L. Zhao, Y.T., Luo, J.G., Yang, S.Q.: Large-scale live media streaming over peer-to-peer networks through the global internet. In: Proc. ACM
Workshop on Advances in peer-to-peer multimedia streaming (P2PMMS).
(2005)
[7] A. Vlavianos, M. Iliofotou, M.F.: Bitos: Enhancing BitTorrent for supporting
streaming applications. In: Proc. of IEEE INFOCOM. (2006)
[8] Bonald, T., Massoulié, L., Mathieu, F., Perino, D., Twigg, A.: Epidemic live
streaming: Optimal performance trade-offs. In: Proc. of ACM SIGMETRICS.
(2008)
[9] Liang, C., Guo, Y., Liu, Y.: Investigating the scheduling sensitivity of p2p
video streaming: An experimental study. IEEE Transactions on Multimedia
11 (April 2009) 348–360
[10] PPLive: http://www.pplive.com/en/about.html.
[11] UUSee: http://www.uusee.com
[12] Chatzidrossos, I., Dán, G., Fodor, V.: Delay and playout probability trade-off
in mesh-based peer-to-peer streaming with delayed buffer map updates. P2P
Networking and Applications (May 2009)
[13] Chatzidrossos, I., Dán, G., Fodor, V.: Server Guaranteed Cap: An incentive
mechanism for maximizing streaming quality in heterogeneous overlays. Technical Report TRITA-EE 2009:059, KTH, Royal Institue of Technology (Dec
2009)
[14] Picconi, F., Massoulié, L.: Is there a future for mesh-based live video streaming? In: IEEE International Conference on Peer-to-Peer Computing. (2008)
[15] Boyd, S., Vandenberghe, L.:
Press (2004)
Convex Optimization. Cambridge University
[16] Pianese, F., Perino, D.: Resource and locality awareness in an incentivebased P2P live streaming system. In: Proc. of the Workshop on Peer-to-peer
Streaming and IP-TV. (2007)
D-14
[17] Liu, Z., Shen, Y., Panwar, S.S., Ross, K.W., Wang, Y.: Using layered video to
provide incentives in p2p live streaming. In: Proc. of Workshop on Peer-to-Peer
Streaming and IP-TV. (2007)
[18] Tan, G., Jarvis, S.A.: A payment-based incentive and service differentiation
mechanism for peer-to-peer streaming broadcast. In: Proc. of 14th International Workshop on Quality of Service (IWQoS). (2006)
[19] Chu, Y., Chuang, J., Zhang, H.: A case for taxation in peer-to-peer streaming
broadcast. In: Proc. of the ACM SIGCOMM workshop on Practice and theory
of incentives in networked systems. (2004)
Appendix: Data Propagation Model
We denote by Pij the probability that an arbitrary peer has packet j at the end of
time-slot i. Each peer buffers packets for a number of slots before it plays them out
in order to increase the probability of uninterrupted playback. The buffer size is
the playback delay (B) of the peer. Thus, a packet that is generated at time-slot j
will be played out at time slot j + B. In order for a packet to be successfully played
out, it has to be at the buffer of the peer by the end of the time-slot that precedes
j
its playout slot. Namely the playout probability of packet j is expressed as Pj+B−1
.
The forwarding of packets by contributors depends on the generosity factor β,
which shows how generous contributors are towards their non-contributing neighbors. We denote by p, the probability that at any given slot a contributor will
choose to forward a packet to one of its non-contributing neighbors. Then, the
generosity factor can be defined as β = p/α. Intuitively, the generosity factor
can be considered as the fraction of time that a contributing peer is forwarding to
non-contributing neighbors over the ratio of its non-contributing neighbors.
A peer can have packet j at the end of time-slot j only if it received it directly
from the server. At the end of any time-slot i, with i > j, a peer can have packet j
if it already had it at the end of time-slot i − 1 or if it received it during time-slot i
from any of its contributing neighbors. This is expressed by the following equation:

i<j
 0
m
i
=j
(8)
Pij =
c
 Nj
j
Pi−1 + (1 − Pi−1
)(1 − (1 − πij )D ) i > j.
where Dc is the number of contributing neighbors of a peer and πij is the probability
that packet j was sent by a contributing neighbor during time-slot i.
Since the overlay is a random regular graph, the average number of contributing
neighbors of contributors and non-contributors is the same. However, for values of
the generosity factor β of less than 1, the probability πij differs between contributors
and non-contributors, resulting in a different probability Pij . Therefore, in order to
D-15
describe the data propagation in a heterogeneous overlay, we need two equations
of the form of (8), one for the contributors and another for the non-contributors.
We denote by ξij and φji the probability Pij for a contributor and a non-contributor
respectively.
Next, we proceed with the calculation of the probability πij . For that, we consider
an arbitrary peer r, who does not have packet j at the beginning of time-slot i, and
one of its contributing neighbors, s. Since contributors may forward up to c packets
per slot, we divide the slot in c sequential selections of a pair (neighbor,packet).
For the sake of simplicity we assume that s does not keep memory of the pairs that
it has chosen in the previous selections within a time-slot. That means, we allow
s to choose the same pair of neighbor and packet more than once in a time-slot.
The probability that r will receive packet j from s, is the probability that in one
of these selections s will choose the pair (r,j). Let us denote by ℓ(i) the lowest
packet sequence number that peers would potentially forward in time slot i. Since
in slot i a peer would not forward the packet that is to be played out in that slot,
ℓ(i) = max{0, i − B + 1}. The highest packet sequence number that any peer can
forward in slot i is i − 1, because only the source has packet i in slot i.
To calculate πij , we define the events:
A := {s has packet j},
C := {s chooses to send a packet to r},
D := {s chooses to send packet j to r},
E := {s sends to contributor during slot i},
Hn := {s sends packet j to r at the nth selection in time-slot i}.
The probability πij can then be expressed as
πij
=1−
=1−·
c
Y
(1 − P (Hn |E) · P (E)) =
n=1
c
Y
(9)
(1 − P (D|C · E · A) · P (C|E · A) · P (A) · P (E)).
n=1
j
We have that P (A) = ξi−1
. Let us now calculate πij assuming that r is a contributor.
We then have that P (E) = 1 − p, so we proceed in finding the value of P (C|E · A).
The probability that r will be chosen by s depends on the total number of eligible
contributing neighbors of s, since given E, s will only consider contributors as
possible recipients at slot i. A contributing neighbor of s is eligible if it does not
have packet j, or if it has packet j but it misses at least one other packet that s
possesses. So, the probability pe is written as
j
j
pe = 1 − ξi−1
+ ξi−1
· 1−
i−1
Y
z=ℓ(i),z6=j
z
z
1 − ξi−1
· (1 − ξi−1
)
(10)
D-16
Let us denote by K the r.v. denoting the number of eligible neighbors of s excluding
r. Given that s has Dc contributing neighbors in total, the probability that r will
be chosen by s as a recipient of the next packet is expressed as
P (C|E · A) =
c
DX
−1
1
· P (K = k),
k+1
k=0
(11)
where K follows the binomial distribution with parameters (pe , Dc − 1).
Next, we calculate P (D|E · C · A), the probability that s will send packet j to r,
given that s has packet j and it chooses to send a packet to r. This probability is
independent of the rank that r was chosen within the slot. We denote by Z the
r.v. representing the number of eligible packets of peer s with respect to r. The
probability, then, that packet j is sent is
i−ℓ(i)
P (D|C · E · A) =
X 1
P (Z = z).
z
z=1
(12)
In the following define a recursion to calculate the distribution of Z. We define the
probability vector
ℓ(i)
Qs = {ξi
· · · ξij−1 , 1, ξij+1 · · · ξii−1 },
which contains the probabilities that node s has packets at the different buffer
positions, given that it has packet j. Similarly, we define the probability vector of
peer r, given that it is a contributor.
ℓ(i)
Qr = {ξi
· · · ξij−1 , 0, ξij+1 · · · ξii−1 }
We initialize the recursion by setting L0,0 = 1 and Lz,0 = 0 for z < 0. The recursion
is then defined by
Lz,n
= Lz,n−1 (1 − Qs (n)(1 − Qr (n))) +
Lz−1,n−1 Qs (n)(1 − Qr (n)).
(13)
The recursion is executed for n = 1 . . . B − 1 and for every n for z = 0 . . . l. The
distribution of Z is then given as P (Z = z) = Lz,i−ℓ(i) for for z = 1 . . . i − ℓ(i).
We can calculate πij for the case where r is non-contributor following the same steps
as we did for the case where r is a contributor. In that case, however, we have that:
• P (E) = p
Qi−1
• pe = 1 − φji−1 + φji−1 · 1 − z=ℓ(i),z6=j 1 − φzi−1 · (1 − φzi−1 )
ℓ(i)
• Qr = {φi
· · · φj−1
, 0, φj+1
· · · φi−1
}
i
i
i
By plugging these values into eq. (9), (10), (13), we derive πij for a noncontributing peer r.
Paper E
Playout Adaptation for Peer-to-Peer Streaming
Systems under Churn
Ilias Chatzidrossos and György Dán.
Submitted to Packet Video Workshop (PV) 2012.
Playout Adaptation for Peer-to-Peer Streaming
Systems under Churn
Ilias Chatzidrossos and György Dán
School of Electrical Engineering
KTH, Royal Institute of Technology, Stockholm, Sweden
Email: {iliasc, gyuri}@kth.se
Abstract
We address the problem of playout adaptation in peer-to-peer streaming
systems. We propose two algorithms for playout adaptation: one coordinated
and one distributed. The algorithms dynamically adapt the playback delay
of the peers so that the playout miss ratio is maintained within a predefined
interval. We validate the algorithms and evaluate their performance through
simulations under various churn models. We show that playout adaptation
is essential in peer-to-peer systems when the system size changes. At the
same time, our results show that distributed adaptation performs well only
if the peers in the overlay have similar playback delays. Thus, some form of
coordination among the peers is necessary for distributed playout adaptation
in peer-to-peer streaming systems.
1
Introduction
Playout adaptation is widely used in multimedia communication to provide continuous playback of audio and/or video information despite network induced impairments, such as delay jitter and fast varying network throughput. To make playout
adaptation possible, the receiver stores the received data in a playout buffer before
eventually playing it out. Playout adaptation consists then of two tasks. At the
beginning of a connection the receiver has to decide when to start the playout and
potentially what to start the playout with; later on it aims to avoid that the playout
buffer becomes empty or that it overflows by, for example, adapting the playback
rate [1] or by rescheduling the playback of the subsequent talksuprts during silence
periods [2].
In peer-to-peer (P2P) streaming systems, the audio or video data sent by a
server can be forwarded by several peers before it reaches a particular peer. While
data forwarding saves server upload bandwidth and cost, it makes the data delivery
process subject to several factors that are hard to control or to predict. On one
1
E-2
hand, the forwarding algorithms used by the peers together with the varying upload
bandwidths of the peers result in a complex multi-path data distribution process,
in which out-of-order data delivery is not the exception but the rule [3]. On the
other hand, the peer arrivals and departures disturb the data forwarding and also
influence the time needed to distribute the data through changing the number of
peers in the system [4].
Thus, playout adaptation in P2P systems should not lead to unnecessary adaptation, despite the highly stochastic nature of the data distribution process. At
the same time, it must respond promptly to changes in the chunk missing ratio
of the peers, caused by, for example a sudden increase in the number of peers. To
meet these challenges, playout adaptation in P2P streaming systems can potentially
make use of more information than in the case of point-to-point communication.
To support playout adaptation, the peers in the system might use information from
their neighbors, or could rely on global information, obtained from a central or from
a distributed entity. Nevertheless, the playout adaptation performed by individual
peers might affect the data delivery to other peers, thus the problem is inherently
complex.
In this paper we address the problem of playout adaptation in P2P live streaming systems. We propose a centralized and a distributed algorithm to adapt the
playback delay such as to maintain the system in a desired operating regime. We
use extensive simulations to show that the algorithms are beneficial in a steady
state system, and they provide significant gains when the number of peers changes.
The rest of the paper is organized as follows. In Section 2 we review related
work. In Section 3 we describe the considered P2P streaming system and formulate
the playout scheduling and adaptation problem and in Section 4 we present the
two adaptation algorithms. Section 5 provides a simulation-based evaluation of the
algorithms. Section 6 concludes the paper.
2
Related work
Playout scheduling and adaptation has received significant attention for the case of
point-to-point media transmission. For streaming media, playout schedulers rely on
time or on buffer occupancy information [5]. In time-based playout schedulers, timing information is embedded in the packets so that the receiving host can measure
absolute or relative differences in the packet delivery times [6]. In buffer-based playout schedulers the network’s condition is inferred from the evolution of the buffer
occupancy [7].
Playout adaptation can be performed in various ways, depending on the type
of media. In the case of voice communications, schedulers can leverage the silence
periods and postpone the playout of the next talkspurt to ensure playout continuity [2]. In the case of video/audio streaming, playout adaptation can be performed
by either frame (packet) dropping or by altering the frames’ playout duration. In
E-3
the case of frame dropping, the receiver drops frames from the playout buffer to
avoid buffer overflow or freezes the playout to avoid buffer underflow [8, 9]. By
altering the frame duration the receiver can decrease the rate of the playout so that
the buffer builds up and can decrease the playback delay if the playout buffer occupancy is high [1, 7]. In [1], a window-based playout smoothing algorithm changes
the playout rate at the receiver based on the current buffer occupancy and on the
traffic during the next time window as predicted by a neural network. In terms
of objectives our work is more similar to [7], where an adaptive media playout algorithm selects the playout rate according to the channel conditions in order to
achieve low latency for a given buffer underflow probability.
Contrary to point-to-point communication, playout adaptation for P2P streaming has not received much attention. In [9], the authors compare delay-preserving
and data-preserving playout schedulers and conclude that a playout scheduler should
keep the peers synchronized to improve the data exchange efficiency. They consider
however, tree-based systems where there are only peer arrivals. In [10], a playout
adaptation scheme for tree-based systems is proposed that allows peers to adjust
their playout rate in order to reduce the average playback delay in the system.
Two processes performed locally at the peers, catching-up and parent-reversal, are
defined so that the propagation delay in the resulting overlay trees is minimized.
Nevertheless, none of these works consider the need for playout adaptation due to
the changes of the overlay size. To the best of our knowledge, our work is the first
that addresses the playout scheduling and adaptation problem for P2P streaming
and focuses on mesh-based streaming systems, which constitute the vast majority
of deployed P2P streaming systems nowadays.
3
Problem Formulation
We consider a P2P live streaming system consisting of a streaming server and a set
N (t) of peers. Peers arrive to the system according to a counting process A(t), and
depart with intensity µ(t). We denote the number of peers at time t by N (t), the
n
arrival time of peer n by TAn and its departure time by TD
. The streaming server
and the peers maintain an overlay, and use the overlay connections to distribute
the video stream generated by the streaming server to the peers. The video stream
consists of a sequence of chunks of data, e.g., data corresponding to a few frames or a
group of frames, generated at regular time intervals δ, and we denote the time when
chunk c is generated at the streaming server by tc . To distribute the stream, the
peers relay the chunks among each other according to some forwarding algorithm,
e.g., [11, 12]. In order to make relaying possible, each peer stores the chunks that
it has received in a buffer until the chunks are played out.
We denote the time when chunk c is received by peer n by tnc . The time tnc − tc
it takes for chunk c to be delivered to peer n depends on many factors, such as
the number of peers, the overlay structure, the peers’ upload rates, the fowarding
E-4
algorithm, and is in general hard to predict. Consider now an arbitrary peer n and
the sequence of chunk arrival times tnc , tnc+1 . . .. Peer n can only play out chunk c
after it receives it, i.e., at some time t ≥ tnc . We refer to the difference t−tc = B n (tnc )
as the playback delay used for chunk c. We refer to the share of chunks that a peer
cannot play out on time as the chunk missing ratio. For peer n and a time interval
ι = [T1 , T2 ] we define the chunk missing ratio as
π n (ι) =
n
|{c : tnc ∈ ι ∩ [TAn , TD
] ∧ B n (tnc ) < tnc − tc }|
n ]}|
|{c : tnc ∈ ι ∩ [TAn , TD
(1)
Furthermore, we define the average chunk missing ratio π(ι) calculated over all
peers in the system in the interval ι.
The playback delay B n (t) has to be chosen upon arrival, but need not be constant until the departure of the peer. As shown by recent work [13], the perceived
visual quality is rather insensitive to minor variations of the playout rate. According
to the model of perceived visual quality proposed in [13], the mean opinion score
(MOS) can be expressed as a function of the frame rate f as
f
1 − e−γ fm
M OS(f ) = Qmax
,
(2)
1 − e−γ
where γ and Qmax are video specific constants and fm is the maximum frame rate.
Consider now that the frame rate is changed to fa = (1 + a)f for some small a ≈ 0.
For a ≈ 0 the derivative of the MOS score can be approximated by
f
f e−γ fm
dM OS(fa )
≈ Qmax γ
,
da
fm 1 − e−γ
(3)
by using that ea |a=0 = 1. Observe that if (2) is high then (3) is low, i.e., the
perceived quality is not very sensitive to small variations of the playback rate. We
thus consider that the playback delay B n (t) of a peer can be adapted by accelerating
or decelerating the playback. We denote the maximum rate of adaptation by â > 0,
and assume that the effect of adaptation on the perceived visual quality is negligible
at adaptation rates |a| < â, similar to the assumption in [1, 7].
For peer n to be able to play out all chunks, it has to adapt its playback delay
B n (tnc ) such that tc + B n (tnc ) ≥ tnc for all chunks c that it should play out in the
n
time interval [TAn , TD
]. If all peers adapt their playback delay this way then π = 0,
but this might be difficult to achieve in practice due to the dynamics of the system.
Thus, we consider that a chunk missing ratio no higher than τ > 0 is acceptable,
and can be compensated for by some form of channel coding. At the same time if
channel coding capable of compensating for a chunk missing ratio of τ is used, then
the actual chunk missing ratio should not be below ητ , where 1 > η > 0, because
then the bandwidth used for channel coding would be wasted. Thus, we consider
that the goal of playout adaptation is to adjust the playback delay B n (t) of the
E-5
peers such that the chunk missing ratio stays within the band [ητ, τ ], subject to the
constraint on the maximum rate of adaptation â.
We measure the performance of playout adaptation over a time interval ι =
[T1 , T2 ] by the square error of the chunk missing ratio calculated over the interval ι,
SE(ι) = ([ητ − π(ι)]+ )2 + ([π(ι) − τ ]+ )2
(4)
where [.]+ denotes the positive part. When the SE is averaged over consecutive
intervals ι, then we get the mean square error (MSE) of the chunk missing ratio.
The MSE quantifies the average deviation of the chunk missing ratio from the target
interval.
4
Playout Adaptation Algorithms
In the following we present two playout adaptation algorithms. The first one, called
Coordinated Adaptation (CA), is a centralized algorithm and lets all peers have the
same playback delay calculated based on the average chunk missing ratio. The second one, called Distributed Adaptation (DA), allows each peer to adapt its playback
delay based on the chunk missing ratio it experiences.
4.1
Coordinated Adaptation (CA)
In the case of coordinated adaptation the playback delay is recalculated periodically by executing the adaptive band control algorithm shown in Algorithm 1, and
is the same for all peers in the system.
At the ith execution of the algorithm, at time Ti , the input to the control algorithm is the average chunk missing ratio π(ι) over the interval ι = [Ti − B(Ti ), Ti ].
This is used to calculate the exponentially weighted moving average π of the chunk
missing ratio and its deviation σ (lines 2-3 in Algorithm 1), similar to the round-trip
time estimation in TCP [14], using α = 0.125 and β = 0.25. The algorithm uses π,
σ, and the most recent average chunk missing ratio π(ι), to decide how to change
the playback delay. The playback delay B is increased if both the average chunk
missing ratio and its moving average exceed the target τ or if the average chunk
missing ratio exceeds the target τ and is higher than the moving average plus a
constant κ > 0 times its deviation (lines 6-12). The second condition resembles the
RTO calculation used in TCP [14]. By tuning κ we can control the trade-off between
fast adaptation to changing conditions and unnecessary adaptation in a stationary
system. The conditions for decreasing the playback delay are similar (lines 15-18).
Adaptation is performed in time units equal to the chunk time δ. The amount of
time units γ by which the playback delay is increased or decreased is determined by
the history of adaptations performed by the algorithm. Initially, γ = 1. This value
is doubled every time the playback delay has to be increased consecutively, and is
decremented by one otherwise. The adaptation of γ resembles the additive increase
E-6
Algorithm 1 Adaptive band control algorithm for CA
1: Input: π(ι) for ι = [Ti − B(Ti ), Ti ]
2: σ = (1 − β) · σ + β · |π − π(ι)|, (β = 1/4)
3: π = (1 − α) · π + α · π(ι), (α = 1/8)
4: if π(ι) > τ then
5:
if π > τ OR π(ι) > π + κ · σ then
6:
if previous action == IN CREASE then
7:
γ =2·γ
8:
else
9:
γ = max(γ − 1, 1)
10:
end if
11:
B′ = B + γ · δ
12:
previous action ← IN CREASE
13:
end if
14: else if π(ι) < η · τ then
15:
if π < η · τ OR π(ι) < π − κ · σ then
16:
γ = max(γ − 1, 1)
17:
B′ = B − δ
18:
previous action ← DECREASE
19:
end if
20: else
21:
γ = max(γ − 1, 1)
22: end if
multiplicative decrease used in TCP congestion control [14], and allows for a fast
increase of the playback delay if needed, but leads to a smaller rate of decrease.
If the playback delay is changed, the peers are informed about the new playback
delay B ′ , and accelerate or decelerate their playout rate to adapt their playback
delay to B ′ . The time needed to perform the adaptation is |B ′ − B|/â. The next
time the control algorithm is executed is time B ′ after the adaptation has finished,
that is, at time Ti+1 = Ti + |B ′ − B|/â + B ′ . The arriving peers set their playback
delay to B n (TAn ) = B ′ upon arrival and then adapt their playback delay as dictated
by the CA algorithm.
4.2
Distributed Adaptation (DA)
In the case of distributed adaptation the playback delay is recalculated periodically
by every peer through executing the band control algorithm shown in Algorithm 2.
The input to the control algorithm is the length sj of the last eight loss intervals (i.e.,
the number of chunks received between missed chunks), which is used to estimate
the average chunk missing ratio using the Average Loss Intervals method as in
TFRC [15].
E-7
Algorithm 2 Band control algorithm for DA
1: w ← (1, 1, 1, 1, 0.8, 0.6, 0.4, 0.2)
P
8
2:
ŝ ←
j=1
P
8
wj ·sj
wj
j=1
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
1
π = ŝ+1
if π > τ then
if previous action == IN CREASE then
γ =2·γ
else
γ = max(γ − 1, 1)
end if
B′ = B + γ · δ
previous action ← IN CREASE
else if π < η · τ then
γ = max(γ − 1, 1)
B′ = B − δ
previous action ← DECREASE
else
γ = max(γ − 1, 1)
end if
The algorithm uses the estimated chunk missing ratio to decide how to change
the playback delay. The playback delay is increased if the average chunk missing
ratio exceeds the target τ , is decreased if the average chunk missing ratio is lower
than ητ , and is left unchanged otherwise. The adaptation step size γ is adjusted
the same way as in the case of Algorithm 1, i.e., it is doubled upon consecutive
increases of the playback delay, and is decremented by one unit otherwise. Once
the new playback delay B ′ is calculated, the peer accelerates or decelerates its
playout rate to adapt its playback delay to the new value. The time needed for
adaptation is |B ′ − B|/â. The next time the control algorithm is executed is time
B ′ after the adaptation has finished, similar to CA.
We consider three policies that the peers can use to choose their initial playback
delay B n (TAn ) upon arrival to the system.
• Global: The initial playback delay is the
delay of the peers
P average playback
1
j
n
in the overlay, i.e., B n (TAn ) = |N (T
B
(T
)
n )|
A
j∈N (T n )
A
A
• Local: The initial playback delay is theP
average playback delay of the neigh1
j
n
n
boring peers, i.e., B n (TAn ) = |Dn (T
n ) B (TA ), where Dn (TA ) is
n )|
j∈Dn (TA
A
the set of neighbors of peer n.
• Fixed: The initial playback delay is B n (TAn ) = B0 > 0.
E-8
Class
1
2
3
4
Upload (Mbps)
5
1.5
1
0.55
Peers (%)
10
10
40
40
Table 1: Peer Bandwidth Classes
Of these three policies, the Local policy is easiest to implement in a distributed
way: An arriving peer can schedule for playback the chunk that its average neighbor
would play out. The other two policies would require a globally synchronized clock,
and therefore we use them mainly as a basis for comparison.
5
Performance evaluation
In the following we use simulations to evaluate the proposed algorithms and to get
an insight into their operation.
5.1
Simulation Methodology
We implemented the playback adaptation algorithms in the publicly available packetlevel event-driven simulator P2PTV-SIM [16]. We implemented an overlay management algorithm that maintains an overlay graph in which every peer has between
0.5d and d neighbors: arriving peers try to establish d connections to randomly selected peers, potentially by letting some peers drop one of their already established
connections. If the number of neighbors of a peer drops below 0.5d then it tries to
connect to new neighbors. In our simulations, we use d = 20.
The video stream has a rate of 1 Mbps and is segmented into equally sized
chunks of 100 kbits, having thus δ = 0.1 s. Chunk forwarding between the peers
is based on the pull-token algorithm from [12]. The download bandwidth of the
peers is unlimited, while for the upload bandwidth, we use the distribution shown
in Table 1. In order to capture the effect of network delays, peers are dispersed over
seven geographical regions according to the network model presented in [17] with
an average latency between a pair of peers of 96 ms. For the adaptation algorithms
CA and DA, we use â = 0.05 and a value of κ = 2, which we found to yield a
good trade-off between fast response to the chunk missing ratio and unnecessary
adaptation of the playback delay.
We consider two models of peer churn. In the Markovian churn model the peer
arrival process is a Poisson process with arrival intensity λ(t), and the peer holding
time distribution is exponential with mean 1/µ. In the Flash-crowd churn model
Nf peers arrive according to a homogeneous Poisson process with intensity λf over
E-9
1
C A − π = 0.0065
DA − Global − π = 0.0046
DA − Local − π = 0.0045
DA − F ixed − π = 0.0179
B = 12.5 − π = 0.0072
0.8
0.6
0.4
0.2
0
0
0.01
0.02
0.03
0.04
Chunk missing ratio (π)
0.05
0.06
Figure 1: Normalized histogram of the chunk missing ratio for the CA algorithm and
the DA algorithm with different startup policies. The target miss ratio is τ = 0.01
and η = 0.5. Overlay of N = 500 peers.
a time interval [tf , tf + Nf /λf ], and the peers remain in the overlay until the end
of the simulation.
5.2
Playout Adaptation in Steady State
The first scenario we consider is a system in steady state, generated using the
Markovian churn model. The peer arrival rate is λ(t) = 1.66/s and the mean
holding time is 1/µ = 300 s. The average number of peers is thus N = 500.
Fig. 1 shows the normalized histogram of the chunk missing ratio of the peers
after a warm-up period of 2000 seconds in a simulation of 6000 seconds, for the
CA, DA algorithms and without playout adaptation (NA). For NA, we used a fixed
playback delay of B = 12.5 s, which is the average playback delay obtained using
the CA algorithm and τ = 0.01, η = 0.5. Fig. 2 shows the cumulative distribution
function of the playback delay for the same time interval.
The results show that even in the case of a system in steady state, adaptation
decreases the occurence of high chunk missing ratios (the tail of the histogram
compared to the system without adaptation). Comparing the results for the CA
and for the DA algorithm with different policies we observe that the Fixed policy
not only leads to high chunk missing ratios (Fig. 1) but it also leads to high playback
delays (Fig. 2). The Global and the Local policies, however, lead to lower chunk
missing ratios than the CA algorithm at the price of higher playback delays. The
reason is that using DA it is not the average chunk missing ratio that is maintained
in the target band, but it is each invididual peer’s chunk missing ratio.
E-10
1
0.8
CDF
0.6
0.4
C A − B = 12.5
DA − Global − B = 14.5
DA − Local − B = 14.8
DA − F ixed − B = 16.2
0.2
0
0
10
20
30
40
Playback delay (B)
50
60
Figure 2: CDF of the playback delays for the CA and the DA algorithms with
different startup policies. The average playback delays are shown in the legend.
The target miss ratio is τ = 0.01 and η = 0.5. Overlay of N = 500 peers.
5.3
Adaptation in a Non-stationary System
The second scenario we consider is a non-stationary system, generated using the
Markovian churn model in the following way. The total simulation time is 12000 s,
and the peer arrival intensity is λ(t) = 1.66/s for the time intervals [0, 3000) and
[7000, 12000], and it is λ(t) = 16.66/s for the time interval [3000, 7000). The average
peer holding time is 1/µ = 300 s. Thus, there is a transition from an overlay of
N = 500 peers to an overlay of N = 5000 peers, and then back to an overlay of
N = 500 peers.
Fig. 3 shows the square error (SE) calculated over consecutive intervals of 50 seconds for the CA and DA algorithms and without adaptation (NA). The figure also
shows the mean square error (M SE) for the entire simulation. The SE for the CA
algorithm is very small, which means that the algorithm manages to keep the chunk
missing ratio within the interval [ητ, τ ] with small deviations, despite the increase
in the overlay size by a factor of ten. Without adaptation the chunk missing ratio
increases significantly during the time period with high arrival intensity. We also
notice an increase in the SE for the DA and NA systems right after the the switch
from the high arrival intensity to the low arrival intensity period (t = 7000 s). For
the system without adaptation the degradation is expected, since it takes some time
for the peers to acquire new neighbors and maintain an adequate download rate.
For the system employing the DA algorithm, the explanation for the performance
degradation lies in the algorithm itself. If peers do not change their playback delay
in a coordinated manner, but based on local information, clusters of peers with
similar playback delays emerge. When the departure rate in the overlay is higher
than the arrival rate, peers that are losing their neighbors try to find new ones but
the new neighbors may have different playback delays, i.e., only partially overlapping
E-11
0.02
C A − M SE = 0.0014
DA − M SE = 0.0051
N A − B = 12.5 − M SE = 0.0048
Square Error (SE)
0.015
0.01
0.005
0
0
2000
4000
6000
8000
Time (sec)
10000
12000
Figure 3: SE of the chunk missing ratio. The target chunk miss ratio is τ = 0.01
and η = 0.5 which means that the SE is 0 when π(t) ∈ [0.005, 0.01]. The MSE is
also shown in the legend.
buffers, decreasing thus the efficiency of the data exchange. This is the reason why
the same degradation is not observed when using the CA algorithm that keeps peers
synchronized. It is therefore necessary to use some form of coordination among peers
when performing playout adaptation in a distributed manner in order to maintain
similar playback delays for all the peers in the overlay.
Next, we show the gain of playout adaptation in terms of the video distortion.
We quantify the video distortion through the Peak Signal-to-Noise Ratio (PSNR) of
the received video. The PSNR is defined as P SN R = 10 · log10 (2552 /D), where D
is the total (source and channel) distortion. In order to calculate the distortion of
the video as a function of the chunk missing ratio, we use the loss-distortion model
presented in [18].
Fig. 4 shows the average PSNR over time, calculated for the Foreman sequence
for the non-stationary system. During the initial low arrival intensity period the
performance with and without adaptation is similar. When the overlay expands,
the PSNR degrades significantly if no adaptation is used, the difference varying
between 2 and 4 dB, compared to the overlays using adaptation. The CA algorithm
manages to maintain the PSNR almost constant for the whole simulation time and
the transitions from the small to large overlay and back are indistinguishable. The
DA algorithm performs well too but, as also shown earlier, its PSNR degrades
sharply (up to 6 dB) after the transition from the high arrival intensity to the low
arrival intensity period starts. Furthermore, the PSNR of the system employing the
DA algorithm exhibits large variations after t = 7000 s, which can have a significant
impact on the perceived video quality.
E-12
40
38
PSNR (db)
36
34
32
30
CA
DA
NA − B=12.5
28
26
0
2000
4000
6000
8000
Time (sec)
10000
12000
Figure 4: PSNR of the received video over time for the CA, DA algorithms and for
the an overlay without playout adaptation.
5.4
Adaptation under Flash Crowd Scenarios
Finally, we evaluate the adaptation algorithms under a flash crowd scenario. We
study the transition from an overlay of N1 = 500 peers to an overlay of N2 =
5000 peers at different peer arrival intensities. We simulate the flash-crowd scenario
by superposing two processes. The first process is generated using the Markovian
churn model, with arrival rate λ(t) = 1.66/s for the whole duration of the simulation. The peer holding times are exponentially distributed with mean 1/µ = 300
seconds. The second process is generated using the Flash-crowd churn model with
tf = 3000 s and arrival rates λf = 20/s, λf = 40/s and λf = 60/s to generate a
small, moderate and severe flash crowd, respectively. The total simulation time is
6000 seconds.
Fig. 5 shows the square error (SE) of the chunk missing ratio calculated over
consecutive intervals of 50 seconds. For the period before the flash crowd the SE
lies in the same region as in Fig. 3. During the flash crowd though, there is a sharp
increase in the SE, whose peak is higher with higher λf . The important thing to
observe here is that the CA algorithm manages to converge to the desired band
within a short period after the flash crowd. The time it takes to return the chunk
missing ratio to the desired band does not seem to depend on λf , which indicates
that the CA algorithm adapts well to different levels of impairment by appropriately
increasing the adaptation step size.
6
Conclusion
In this work we addressed the problem of playout adaptation in P2P streaming
systems. We defined two algorithms that perform playout adaptation. Using co-
E-13
−3
4
x 10
3.5
Square Error (SE)
3
λf=20
λf=40
λf=60
2.5
2
1.5
1
0.5
0
0
1000
2000
3000
4000
Time (sec)
5000
6000
Figure 5: SE of the chunk missing ratio for different arrival intensities during the
flash crowd. The target chunk miss ratio is τ = 0.01 and η = 0.5.
ordinated adaptation peers adapt their playback delay synchronously, maintaining
fully overlapping playout buffers. Using distributed adaptation each peer adapts
its playback delay on its own, without any coordination with neighbors. We used
extensive simulations to validate the algorithms and to evaluate their performance
under various churn models. We showed that playout adaptation does not decrease
the system’s performance in steady state and that it is essential when the overlay
size is changing. Our results indicate that peers can perform playout adaptation
based solely on information about the playout position of their neighbors, which
can be easily obtained locally. Nevertheless, our results show that distributed playout adaptation works well only if peers maintain similar playback delays across the
whole overlay, thus some form of coordination is necessary.
References
[1] M.C. Yuang, Po L. Tien, and Shih T. Liang. Intelligent video smoother for multimedia communications. IEEE Journal on Selected Areas in Communications,
15(2):136 –146, Feb. 1997.
[2] R. Ramjee, J. Kurose, D. Towsley, and H. Schulzrinne. Adaptive playout
mechanisms for packetized audio applications in wide-area networks. In IEEE
INFOCOM, pages 680 –688, jun 1994.
[3] I. Chatzidrossos, Gy. Dán, and V. Fodor. Delay and playout probability tradeoff in mesh-based peer-to-peer streaming with delayed buffer map updates.
P2P Networking and Applications, 3:208–221, March 2010.
E-14
[4] Gy. Dán and V. Fodor. Delay asymptotics and scalability for peer-to-peer
live streaming. IEEE Transactions on Parallel and Distributed Systems,
20(10):1499–1511, October 2009.
[5] N. Laoutaris and I. Stavrakakis. Intrastream synchronization for continuous
media streams: a survey of playout schedulers. Network, IEEE, 16(3):30 –40,
may/jun 2002.
[6] Werner Geyer, Christoph Bernhardt, and Ernst Biersack. A synchronization
scheme for stored multimedia streams. In Interactive Distributed Multimedia
Systems and Services IDMS’96, pages 277–295. Springer Verlag, 1996.
[7] M. Kalman, E. Steinbach, and B. Girod. Adaptive media playout for low-delay
video streaming over error-prone channels. Circuits and Systems for Video
Technology, IEEE Transactions on, 14(6):841–851, june 2004.
[8] E. Biersack, W. Geyer, and C. Bernhardt. Intra- and inter-stream synchronisation for stored multimedia streams. In Proc. of the Third IEEE International
Conference on Multimedia Computing and Systems, pages 372 –381, jun 1996.
[9] C. Vassilakis, N. Laoutaris, and I. Stavrakakis. On the impact of playout
scheduling on the performance of peer-to-peer live streaming. Computer Networks, 53:456–469, March 2009.
[10] H. Jiang and S. Jin. NSYNC: Network synchronization for peer-to-peer streaming overlay construction. In Proc. of NOSSDAV, pages 1–6, 2006.
[11] T. Bonald, L. Massoulié, F. Mathieu, D. Perino, and A. Twigg. Epidemic live
streaming: Optimal performance trade-offs. In Proc. of ACM SIGMETRICS,
2008.
[12] A. Carta, M. Mellia, M. Meo, and S. Traverso. Efficient uplink bandwidth
utilization in P2P-TV streaming systems. In Proc of GLOBECOM 2010, 2010
IEEE Global Telecommunications Conference, pages 1–6, December 2010.
[13] Y.F. Ou, T. Liu, Z. Zhao, Z. Ma, and Y. Wang. Modeling the impact of
frame rate on perceptual quality of video. In Proc. of 15th IEEE International
Conference on Image Processing (ICIP), pages 689–692, 2008.
[14] Computing TCP’s retransmission timer - IETF RFC 2988, November 2000.
[15] S. Floyd, M. Handley, J. Padhye, and J. Widmer. Equation-based congestion
control for unicast applications. In Proc. of ACM SIGCOMM, pages 43–56,
August 2000.
[16] P2PTV-SIM, http://napa-wine.eu/cgi-bin/twiki/view/public/p2ptvsim.
E-15
[17] R. Fortuna, E. Leonardi, M. Mellia, M. Meo, and S. Traverso.
QoE in Pull Based P2P-TV Systems: Overlay Topology Design Tradeoffs. In
Proc. of the 10th IEEE International Conference on Peer-to-Peer Computing
(P2P), pages 1 –10, August 2010.
[18] V. Vukadinovic and Gy. Dán. Multicast scheduling for scalable video streaming
in wireless networks. In ACM Multimedia Systems (MMSys), February 2010.
Paper F
Small-world Streaming: Network-aware Streaming
Overlay Construction Policies for a Flat Internet
Ilias Chatzidrossos, György Dán and Arnaud Legout.
Submitted to International Conference on Distributed Computing
Systems (ICDCS) 2012.
Small-world Streaming: Network-aware Streaming
Overlay Construction Policies for a Flat Internet
Ilias Chatzidrossos1 , György Dán1 and Arnaud Legout2
1
KTH, Royal Institute of Technology, Stockholm, Sweden
2
INRIA Sophia-Antipolis, France
Abstract
Recent measurements indicate that the peering agreements between Autonomous Systems (AS) are flattening the AS level topology of the Internet.
The transition to a more flat AS topology opens up for new possibilities for
proximity-aware peer-to-peer overlay construction. In this paper we consider
the problem of the construction of overlays for live peer-to-peer streaming that
leverage peering connections to the maximum extent possible, and investigate
how a limited number of overlay connections over transit links should be chosen such as to maximize the streaming performance. We define a set of transit
overlay link establishment policies that leverage topological characteristics of
the AS graph. We evaluate their performance over regular AS topologies using
extensive simulations, and show that the performance difference between the
policies can be up to an order of magnitude. Thus, it is possible to maximize
the system performance by leveraging the characteristics of the AS graph.
Based on our results we also argue that the average loss probability is not an
adequate measure of the performance of proximity-aware overlays. We confirm our findings via simulations over a graph of the peering AS topology of
over 600 ASs obtained from a large measurement data set.
1
Introduction
Peers establish connections between each other in peer-to-peer (P2P) systems to
form an overlay over the physical network. Depending on the geographic distribution of the peers, the overlay can span a large number of Internet Service Providers
(ISP). The connections among the peers together with the data scheduling algorithms determine the flow of data through the overlay, from some sources to the
peers, and hence between the ISPs. Thus, overlays that are constructed unaware of
the underlying network’s topology can cause unnecessary inter-ISP traffic [1].
1
F-2
A natural way to decrease the amount of inter-ISP traffic generated by P2P
systems is to establish connections by preference between peers within the same
ISP, that is, locality-aware overlay construction. In order to facilitate locality-aware
overlay construction, ISP-managed services, e.g., ALTO [2], are being developed
to provide network topology and cost information. Nevertheless, several studies
showed that locality-awareness leads to overlays in which peers form clusters, and a
mixture of locality-aware and random connection establishment is needed to achieve
a reasonable trade-off between performance and the amount of traffic delivered over
inter-ISP links, both for P2P file-sharing [3, 4, 5, 6] and for P2P live streaming [7,
8, 9].
The trade-off between locality-awareness and good P2P system performance is
analogous to the trade-off between the clustering coefficient and the characteristic
path length of sparse graphs [10, 11]. Recent results in algorithmic graph theory
show that starting from a highly clustered graph with high characteristic path
length, it is possible to obtain a clustered graph with low characteristic path length
by rewiring a few edges only [11]. Since an overlay with a low characteristic path
length would allow fast chunk distribution, these results provide theoretical support
for the trade-offs observed in locality-aware P2P systems [4, 5, 6, 8, 9]. They do,
however, also raise two fundamental questions that have not been addressed in the
context of P2P systems. First, given a network topology, how could one engineer a
matching overlay topology that allows for good P2P system performance. Second,
given a network topology and a fixed amount of traffic cost to be generated, how
should one engineer an overlay topology to maximize the system’s performance.
We address these two questions by relying on recent studies of the Internet’s
autonomous system (AS) level topology [12, 13] and on results from algorithmic
graph theory [11]. Recent studies show that peering links between ISPs have become
more prevalent over the last few years and are flattening the AS-level topology of
the Internet [12, 13]. The importance of peering links is that they are established
between ISPs for mutual benefit, and the traffic exchanged over them is not paid
for. This is in contrast with transit links between a customer and a provider ISP,
where the customer ISP pays for the traffic exchanged with its provider ISP based
on, e.g., the 95% rule.
Given that topology information is available (e.g., from ALTO [2]), in this work
we address the problem of strategically forming network-aware P2P overlays. Our
contributions are threefold. First, inspired by results in algorithmic graph theory
we define policies for constructing overlay topologies that adapt to the underlying
network topology and provide good system performance. Second, we show that
the performance difference between the resulting overlays can be more than an
order of magnitude for the same amount of transit inter-ISP traffic. Furthermore,
policies that establish transit connections between peers in distant ISPs perform
better in general. Third, we show that the optimal policy does not only depend
on the network topology but also on the location of the streaming server, and we
show evidence for that higher order statistics of the loss probabilities might be
F-3
needed for a fair comparison of proximity-aware streaming systems. These results
give important insight for future network-aware overlay design and performance
evaluation.
The rest of the paper is organized as follows. In Section 2 we review the related
work. In Section 3 we describe our model of the AS-level network topology and
the P2P overlay, and introduce results from algorithmic graph theory that motivate
our work. Section 4 provides the problem formulation and describes the evaluation
methodology. In Sections 5 and 6 we show results for regular graph topologies.
In Section 7 we show results obtained on a measured Internet AS-level topology.
Section 8 concludes the paper.
2
Related work
Locality-awareness in P2P system design was first considered for offline content distribution. A number of works investigated the impact of locality-awareness on the
amount of inter-ISP traffic and on the system performance [1, 4, 5, 3, 6], and pointed
out that locality-aware neighbor selection leads to clustering and can negatively affect the data distribution performance. To facilitate locality-aware neighbor selection, others focused on the information exchange between ISPs and P2P systems,
e.g., P4P [14] and the Oracle service proposed in [5], and are under standardization
in the IETF [2].
Locality-awareness for P2P streaming systems has also received some attention
recently. A recent measurement study by Ciullo et al. [15] examined four of the
most popular P2P streaming systems, and found that locality criteria are only
subtly taken into account for overlay creation. Nevertheless, a number of works
have addressed the problem of locality-aware P2P streaming. One direction of
work has looked at relaying streaming content to relieve the traffic on inter-ISP
transit links [16, 17] in a way that considers the peering agreements between ISPs.
Nevertheless, the problem of overlay construction was not considered in these works.
The trade-off between streaming performance and peer clustering was considered
by exploring different levels of locality-awareness in [7, 8, 9]. Picconi et al. [7]
considered the problem of maintaining a target streaming quality in a locality-aware
P2P streaming system. In their scheme the peers maintain a set of local and a set
of remote connections. They exchange data by preference over local connections,
and unchoke remote connections uniformly at random when needed. Jin et al.
[8] investigated the streaming performance under connection establishment policies
that choose at random between nearby peers and peers with high upload capacity.
Seedorf et al. [9] studied the cost savings achievable through the use of the ALTO
service through simulations on a real AS topology. Similar to results obtained for
BitTorrent [4, 6], these studies found that a fraction of the connections needs to
be established to remote peers to avoid performance degradation. Nevertheless,
relying on cost and topology information does not necessarily lead to traffic cost
F-4
savings. Seedorf et al. [9] found that if the ALTO server of every ISP recommends
connections only based on their own costs then even the traffic cost savings become
insignificant.
Our work looks at locality-awareness from a novel perspective. First, we investigate how the streaming performance can be maximized for a fixed level of
locality-awareness and inter-ISP traffic. This is different from previous works, which
explored the trade-off between the amount of inter-ISP traffic and the streaming
performance. Second, we account for the recent trend of a flattening AS-level Internet topology [13, 18], and use results from algorithmic graph theory to develop
overlay construction policies that are compatible with basic Internet economics,
have favorable locality properties but at the same time maximize the streaming
performance. Our approach of engineering overlay topologies that match the underlying network topology and maximize streaming performance paves the way for
new network-aware P2P system designs.
3
System Model and Motivation
In the following we describe our model of a peer-to-peer streaming overlay spread
over a set of ISPs with peering agreements. We then discuss results from algorithmic
graph theory that inspired our work.
3.1
System Model
We model the ISP-level peering topology with a graph G = (I, E), where I is the set
of ISPs, and there is an edge (i, j) ∈ E between vertices i and j if there is a peering
agreement between ISPs i and j. We assume that G is connected, that is, there is a
path in G between any two vertices i and j. We define the distance of two vertices i
and j as the length of the shortest path between i and j in G and denote it by d(i, j).
The measured Internet AS-level topology data presented in Section 7 confirm that
large connected components of peering ASs already exist in the Internet. At this
point let us note that our model is not restricted to ISPs, but can be used for any
network region as long as the overlay construction entity is aware of the network
regions and can map the peers to those regions. This information could be provided
by a dedicated infrastructure like the P4P infrastructure [14]. In particular, when
we consider measured topologies in Section 7, we will use the notion of ASs instead
of ISPs.
The overlay consists of a set P of peers with cardinality P . The P peers and the
streaming server are spread over the ISPs. We denote by ι(pi ) the ISP where peer pi
is located. We distinguish between three kinds of overlay connections between the
peers. We call a connection between peers pi , pj ∈ P local if ι(pi ) = ι(pj ), we call
it peering if (ι(pi ), ι(pj )) ∈ E and we call it transit otherwise. Figure 1 illustrates
an AS-level network topology and the three types of overlay connections.
F-5
transit link
ISP n+1
ISP n
Interconnection
point
ISP n+3
ISP n+2
inter-ISP link
overlay connection
Figure 1: Example of an ISP topology with four ISPs. The thick bidirectional
arrows between peers are examples of the three types of overlay connections in P2P
overlays: local, peering and transit.
The data chunks can be delivered between the peers through a combination
of local, peering and transit connections, and the cost incurred to the ISPs is a
function of the amount of data that the peers exchange through these three kinds
of overlay connections. In accordance with current charging schemes, we consider
that the marginal cost for an ISP is lowest for data that peers exchange over local
connections, and it is highest for data that peers exchange over transit connections.
3.2
Proximity-awareness and Small-world Graphs
Intuitively, a proximity-aware P2P overlay should satisfy two criteria in order to
provide good streaming quality. First, the overlay path lengths between the peers
should be short to allow for fast chunk dissemination. Second, peers in the same ISP
should form well-connected clusters to be able to exchange chunks locally. These
two requirements correspond to two well-studied characteristics of graphs: the characteristic path length and the clustering coefficient. Typically, low characteristic
path length and high clustering coefficient are, however, conflicting characteristics
in sparse graphs.
On the one hand, random graphs (e.g., Erdős-Rényi random graphs and generalized random graphs with arbitrary degree distributions) have a characteristic
path length proportional to the logarithm of the number of vertices [10], but at
the same time they have a low clustering coefficient. On the other hand, graphs
F-6
Figure 2: Peers forming a ”Connected-caveman“ graph, one of the most clustered
connected graphs. The dashed lines show the edges that are rewired.
formed based on proximity criteria tend to exhibit a high clustering coefficient,
but they have a high characteristic path length compared to random graphs [19].
These graph theoretic results are in accordance with results on the relationship
between locality-aware overlay construction and streaming performance: localityaware overlay construction leads to worse performance compared to random overlay
construction [7].
There is, however, one class of graphs that satisfies both criteria of proximityaware overlays. Small-world graphs, analyzed by Watts et al. [11], exhibit a high
clustering coefficient but at the same time they have a characteristic path length
comparable to that of random graphs of the same size.
There are numerous algorithms for creating small-world graphs (e.g., [20, 21]).
All algorithms start from a highly clustered graph, whose edges are rewired in
a probabilistic way, in order for it to be transformed into a small-world graph.
The rewiring process consists of removing local edges from a cluster of vertices
and replacing them with long distance edges to other clusters. Depending on the
rewiring process, the same original clustered graph can be transformed into different
small-world graphs with different characteristic path lengths.
A particular algorithm to construct a small-world graph starts from the socalled “connected caveman” graph [19], shown in Fig. 2. This graph is created from
a number of isolated cliques by removing one edge from each clique, and using the
removed edge to connect two neighboring cliques such that the connected cliques
form a loop. During rewiring edges are taken one-by-one from the cliques and are
rewired at random to another clique, as shown by the dashed lines in Fig. 2.
Given a flat ISP-level Internet topology with large connected components measurement data [12, 13], a proximity-aware overlay could be constructed to resemble
small-world graphs. Each cluster of vertices corresponds to the peers in an ISP.
Each cluster of vertices (peers in an ISP) has some connections to neighboring clusters, as defined by the ISP-level peering topology. During rewiring, every cluster
of vertices (peers in an ISP) establishes a small number of connections with some
appropriately chosen clusters of vertices (peers in other ISPs). The resulting overlay
has a low characteristic path length, but at the same time many local connections
F-7
between peers in the same ISP.
4
Problem formulation and methodology
The algorithms used to create small-world graphs are based on a rewiring process
that starts from a highly clustered graph. In the case of proximity-aware overlay
construction over a flat ISP-level network topology the analogous to the rewiring
process is the establishment of transit connections in an overlay that initially consists of local and peering connections.
Thus our focus is on understanding the impact of the establishment of transit
overlay connections on the P2P system performance as a function of the underlying
AS level network topology. The starting point of our investigation is a highlyclustered caveman-like overlay, which consists of local and peering overlay connections only. In this overlay every peer opens k connections to randomly chosen peers
within the local ISP. Apart from the local connections, the peers in ISP i open in
total π outgoing peering connections to the peers in each of the peering ISPs of ISP
i, that is, to ISPs j for which (i, j) ∈ E. Finally, we allow the peers in every ISP i
to establish in total τ outgoing transit connections to peers in non-peering ISPs.
The important question that we aim to answer is then the following. Given an
ISP-level network topology, an overlay consisting of local and peering connections
only, and a budget τ in terms of transit connections per ISP, how should the transit connections in the overlay be established in order to maximize the streaming
performance. Answering this question is an important step towards engineering
proximity-aware overlays for P2P streaming over a flat network topology.
4.1
Transit connection establishment policies
We consider transit connection establishment policies that rely on knowledge of the
characteristics of the ISP-level network topology. In particular, we consider that
every ISP knows its distance to the other ISPs in G and communicate this information to the overlay. The assumption is motivated by the ongoing standardization of
services like ALTO [2].
The distance information is used by the overlay to choose the destination ISP
of the transit overlay connections. The policies we consider are all special cases of
the Random-Distance Uniform AS policy defined in the following.
Definition 1 (Random-Distance Uniform AS Policy) Consider the graph G,
and for every vertex (ISP) i of G a discrete distribution Fi given by its probability
mass function fi (δ) with domain {2, . . . , maxj d(i, j)}. To establish a transit connection, a peer in ISP i picks a distance δ at random according to the distribution
Fi . Then, among all ISPs j for which d(i, j) = δ the peer in ISP i chooses one
ISP uniform at random, and establishes a transit connection to a peer in the chosen
ISP.
F-8
The Random-Distance Uniform AS policy allows transit connections to be chosen in different ways in different ISPs. Thus, the transit connection establishment
policy used by peers in an ISP can be adapted to the location of the ISP in the ASlevel graph G. This turns out to be important when the topology is asymmetric. In
the following we introduce the transit connection establishment policies considered
in the paper.
Deterministic Distance (DetDist(η)): The probability mass function fi (δ)
used by peers in ISP i is
1 if δ = min(η, maxj d(i, j))
fi (δ) =
.
(1)
0
otherwise
Using this policy, the destination ISP of a transit connection established by peers
in ISP i is choosen uniform at random among the ISPs that are η hops away, if
there are such ISPs. Otherwise, the destination ISP is chosen uniform at random
among the ISPs that are furthest away, that is, the destination is chosen uniform at
random from the set {j : d(i, j) = min(η, maxj d(i, j))}. The DetDist policy allows
precise control of the distance at which transit connections are established.
Binomially Distributed Distance (BinDist(p)): The probability mass function fi (δ) used by peers in ISP i is
maxj d(i, j) − 2
fi (δ) =
pδ−2 (1 − p)maxj d(i,j)−δ .
(2)
δ−2
Using this policy, the distance of the destination ISP of a transit connection established by peers in ISP i is chosen according to a binomial distribution with
parameters (maxj d(i, j) − 2, p), where (i, j) ∈ E. Through the probability p we
can tune the average distance at which transit connections are established, but the
control is not as precise as using the DetDist(η) policy.
Uniform Distance (UnifDist): The probability mass function fi (δ) used by
peers in ISP i is
1
fi (δ) =
.
(3)
maxj d(i, j) − 1
Using this policy, the distance δ for a transit connection established by peers in ISP
i is chosen uniform at random from {2, . . . , maxj d(i, j)}. Compared to BinDist(p),
using UnifDist the distance of the ISP to which a connection is established is more
spread.
Uniform AS (UnifAS ): The probability mass function fi (δ) used by peers in
ISP i is
|{j|d(i, j) = δ}|
.
(4)
fi (δ) = P
′
δ ′ |{j|d(i, j) = δ }|
Using this policy, the destination ISP j of a transit connection established by peers
in ISP i is chosen uniform at random among all the non-peering ISPs, i.e., ISPs
that are at least at distance d(i, j) = 2. Since the distance distribution is induced
F-9
by the AS topology, it is in general not uniform. The advantage of this policy is
that it can be implemented by knowing only the set of peering ISPs and the set of
all ISPs, i.e., without knowing the complete AS topology. We use this policy as a
baseline.
Inverse Distance Proportional (InvDist): The probability mass function
fi (δ) used by peers in ISP i is
|{j|d(i, j) = δ}|/δ
.
′
′
δ ′ |{j|d(i, j) = δ }|/δ
fi (δ) = P
(5)
Using this policy, the destination ISP j of a transit connection established by peers
in ISP i is chosen with a probability inverse proportional to the distance of j from
i. We consider this policy, because it was shown to be optimal for the routing of a
message from a source to a destination based only on local knowledge [22].
4.2
Evaluation Methodology
We use extensive simulations to evaluate the performance of the different transit
connection establishment policies. The simulations were performed in P2PTVSIM [23], a packet level event-driven simulator. We simulated a static overlay,
constructed according to one of the policies presented in Section 4.1, after all peers
joined. As mesh-based P2P streaming systems are known to be robust to node
churn, we expect that simulating churn would not significantly affect our conclusions [24, 25].
After the overlay is constructed, the source peer starts the streaming of chunks.
The chunks are distributed by the peers until their playout deadline B is reached.
Data forwarding is based on a random push algorithm [24, 25]. A peer forwards to
a random neighbor a randomly chosen chunk out of the chunks that the neighbor
is missing. After a chunk has been scheduled for transmission to a peer, no neighbor of the recipient peer will schedule the same chunk, avoiding thus the reception
of duplicate chunks and the resulting waste of upload capacity. We quantify the
streaming performance using the chunk missing ratio, which is defined as the number of chunks not received by their playout deadline divided by the total number
of chunks. We do not consider losses in the network layer, therefore the missing
chunks are solely attributed to the P2P protocol, that is, the overlay topology and
the forwarding algorithm.
We quantify the available upload capacity in the system by the resource index
(RI), which is the ratio of the aggregate peer upload capacity over the aggregate
download capacity demand of the peers. The aggregate download capacity demand
of the peers is the video streaming rate times the number of peers. The video
is segmented into chunks of 50 kbits and is streamed by the source server at a
constant rate of 500 kbps. To account for the effect of propagation delays on the
chunk diffusion we use one-way network latencies of 10 ms for local connections and
of 25 ms for peering and for transit connections. Unless otherwise stated, in our
F-10
simulation setup there are 40 peers in each ISP, each of which has k = 7 outgoing
local connections in total. The playout deadline for chunks is set to B = 6 seconds.
5
The case of a ring ISP topology
We first consider the case that the graph G formed by the peering relations between
ISPs is a ring. In this case every ISP has peering links with 2 ISPs. Without loss of
generality we denote the ISP in which the streaming server resides by ISP 0. The
streaming server forwards data exclusively to peers within ISP 0. In the following,
we present simulation results for the construction policies over a ring of 30 ISPs.
In Figure 3 we show the chunk missing ratio versus the number of peering connections for an overlay with RI = 1.3 and the BinDist, UnifAS, and InvDist policies
for one transit connection per ISP (τ = 1). We do not show results for the UnifDist
policy, because on a ring topology it is equivalent to the UnifAS policy. Instead,
we show results for an overlay that consists of local and peering connections only
(τ = 0). As expected, there is a significant difference between the results without (τ = 0) and with (τ = 1) transit connections. What is surprising is that the
difference between the worst (BinDist(0.1)) and the best (BinDist(0.75)) transit
connection policy is actually much bigger than that between the results without
transit connections (τ = 0) and the worst transit connection establishment policy (BinDist(0.1)). Furthermore, the difference between the results for the different
transit connection establishment policies increases as the number of peering connections π increases. The worst performance is achieved by the BinDist(0.1) policy,
which tends to establish transit connections between peers in nearby ISPs. The
policies that favor transit connections between peers in distant ISPs yield consistently better results, this phenomenon can be well observed on the performance of
the BinDist(p) policies, which increasingly favor transit connections between peers
in distant ISPs as p increases.
5.1
Does Distance Matter?
The fact that the BinDist(p) policies with large p values show better performance
suggests that it is favorable to open transit connections to distant ISPs. In the
following we use the DetDist(η) policies to verify this hypothesis. To compare the
DetDist(η) and the UnifAS policies, we define the relative gain ρ(η) for ploss (U nif AS) >
0 as
ploss (U nif AS) − ploss (DetDist(η))
,
ρ(η) =
ploss (U nif AS)
where ploss (Π) is the chunk missing ratio for policy Π, measured over the same
overlay.
In Figure 4 we show the relative gain for three overlays with different number of
peering connections. We show results for distances η ≥ 6, because for lower values of
F-11
0
Chunk missing ratio (p
miss
)
10
−1
10
−2
10
−3
10
No transit − τ=0
UnifAS − τ=1
InvDist − τ=1
BinDist(0.1) − τ=1
BinDist(0.5) − τ=1
BinDist(0.75) − τ=1
1
2
3
4
5
Peering outgoing connections (π)
6
7
Figure 3: Chunk missing ratio vs π for various policies. Overlay with RI=1.3. Ring
of 30 ISPs.
1
0.8
Relative gain (ρ(η))
0.6
0.4
0.2
0
−0.2
−0.4
−0.6
π=4
π=5
π=6
−0.8
−1
6
7
8
9
10
11
12
Transit distance (η)
13
14
15
Figure 4: Relative gain (ρ(η)) of the DetDist(η) policy over the UnifAS policy.
Overlay with τ = 1. Ring of 30 ISPs.
η the performance is very poor compared to the UnifAS policy. We observe a wide
range of η values for which the performance of the DetDist(η) policy is significantly
better than that of the UnifAS policy. For all three curves the maximum gain is
achieved at η = |I|/3 approximately, where |I| is the length of the ring of ISPs. The
maximum gain exceeds 50 percent, which would be equivalent to a 3dB decrease
of video distortion according to recent loss-distortion models of scalable and nonscalable video [26].
Intuitively, one would expect that establishing transit connections between peers
in distant ISPs decreases the characteristic path length of the overlay, which is the
reason for the improved streaming performance. To test this hypothesis, in Figure 5
we show the characteristic path length of the overlay for the considered policies. The
characteristic path length changes significantly as a function of η for DetDist(η),
F-12
Average shortest path length (L)
4.5
DetDist
UnifAS
InvDist
BinDist(0.75)
4
3.5
3
2.5
2
2
3
4
5
6
7
8
9 10
Transit distance (η)
11
12
13
14
15
Figure 5: Shortest path lengths from the source ISP for the UnifAS, DetDist and
InvDist policies. Ring topology of 30 ISPs.
and is always higher than for the UnifAS and InvDist policies. For the smallest
and highest values of η the characteristic path length is significantly higher than
for the UnifAS and for the InvDist policies, which could potentially explain the
higher chunk missing ratios for DetDist(η) at these values of η. For values of η
between 4 and 14 this reasoning seems to fail. In fact some of the highest gains
appear at η values (e.g., η = 10 and η = 14) where the average path length reaches
a local maximum. Nevertheless, using DetDist(η) the lowest chunk missing ratio is
achieved for the value of η for which the characteristic path length is minimal. We
made similar observations on ring topologies of different sizes.
The evaluation of the distance-based policies shows the importance of having
short path lengths for the performance of the streaming system. However, despite the fact that shortest paths are essential, results from the DetDist(η) policy
reveal that the system performance depends also on how the shortest paths are constructed. We are, thus, led to the hypothesis that the diffusion efficiency depends as
well on the ISP disjointness of the paths that are created by the transit connection
establishment policies. Disjoint paths between the ISP hosting the source server
and the rest of the ISPs allow the load of chunk forwarding to be shared between
peers in many ISPs. Thus, the data diffusion becomes faster and more efficient in
terms of resource utilization.
5.2
Per-ISP Loss Statistics
To give further insight into the impact of the transit connection establishment
policies on the streaming performance, in Figure 6 we show the histogram of the
chunk missing ratio of the peers averaged per ISP for the UnifAS, DetDist(11) and
DetDist(13) policies. In the legend we show the average, the maximum and the
coefficient of variation (CoV, the ratio of the standard deviation and the mean) of
F-13
0.1
UnifAS − Avg = 0.018 − Max = 0.035 − CoV = 0.816
DetDist(11) − Avg = 0.008 − Max = 0.014 − CoV = 0.628
DetDist(13) − Avg = 0.011 − Max = 0.036 − CoV = 1.058
Chunk missing ratio (pmiss)
0.09
0.08
0.07
0.06
0.05
0.04
0.03
0.02
0.01
0
0
5
10
15
ISP
20
25
30
Figure 6: Probability mass function of chunk missing ratio experienced by the peers
in each of the ISPs. The legend shows the average, maximum chunk missing ratio
among all ISPs and the standard deviation of the per ISP losses.
the per ISP chunk missing ratios. The different transit connection establishment
policies lead to distributions with very different characteristics: the UnifAS policy
leads to a bell-shaped distribution with highest losses in the ISPs that are furthest
away from ISP 0, the DetDist(11) policy leads to a rather uniform distribution, and
the DetDist(14) policy leads to a bimodal, almost symmetric distribution. While
the DetDist(11) policy outperforms the other policies in terms of all three metrics
(average, maximum and CoV), comparing the other two policies is problematic: the
DetDist(13) policy has lower average chunk missing ratio than the UnifAS policy
but higher CoV.
Unfortunately, the average chunk missing ratio tells little about the chunk missing ratios in the different ISPs, as the difference between the different ISPs is more
than an order of magnitude for each of the three policies. Hence, in general, the
average chunk missing ratio calculated over all peers might not be a sufficient metric
for the performance evaluation of proximity-aware overlays. The large difference in
terms of chunk missing ratios between ISPs becomes very important when video
coding or channel coding parameters are optimized for the average calculated over
all peers in the overlay [27]. In Section 7 we show that this observation does not
only hold on a ring ISP topology, but it holds also when using a real ISP-level
topology.
6
The case of a square grid ISP topology
The second regular graph topology we consider is a two-dimensional square grid
of ISPs connected by peering links. ISPs in the interior of the grid have peering
links with 4 ISPs, the ISPs that are on the edges of the grid have peering links
F-14
0
10
Chunk missing ratio (p
miss
)
UnifAS
UnifDist
InvDist
BinDist(0.1)
BinDist(0.5)
BinDist(0.75)
−1
10
−2
10
1
2
3
4
Peering outgoing connections (π)
5
6
Figure 7: Chunk missing ratio vs number of peering connections for τ = 1. Server
ISP in the middle of a 11 × 11 grid.
with 3 ISPs and the ISPs at the grid corners have peering links with 2 ISPs. On
the square grid topology the inter-ISP distance distributions are non-homogeneous,
which allows us to explore the impact of the server placement on the policies.
We first consider the case when the streaming server is placed in the ISP at
the middle of the grid. Presumably, placing the server in the middle minimizes the
average number of ISP hops that data have to travel in the overlay. In the following
we present results for a grid topology of 11 × 11 ISPs.
In Figure 7 we show the chunk missing ratio as a function of the number of peering connections π for various policies. For a few peering connections the policies
show similar performance. Nevertheless, as the number π of peering connections between ISPs increases the InvDist and the BinDist(0.1) policies perform significantly
worse than the rest. Among the other policies, BinDist(0.5) and UnifAS perform
best for all values of π, and UnifDist performs almost equally well. Thus, again,
transit connections between peers in distant ISPs provide the best performance.
6.1
Streaming server placement
To explore the impact of the location of the streaming server on the relative performance of our policies, we now consider the case when the server is located in the
ISP at a corner of the grid. In Figure 8 we show the chunk missing ratio versus
the number of peering connections for all the considered policies. The difference
between the results obtained with the different policies is significantly higher than
when the server is placed in the middle (Fig. 7). Still, the policies that favour
the short distance transit connections fare worse, while the UnifDist and BinDist
policies with p = 0.5 and p = 0.75 fare best. Interestingly, changing the location
of the streaming server negatively affected the performance of the UnifAS policy,
F-15
0
Chunk missing ratio (p
miss
)
10
−1
10
−2
10
UnifAS
UnifDist
InvDist
BinDist(0.1)
BinDist(0.5)
BinDist(0.75)
1
2
3
4
Peering outgoing connections (π)
5
6
Figure 8: Chunk missing ratio vs. number of peering connections for τ = 1. Server
ISP in the upper left corner of the 11 × 11 grid.
but not that of the UnifDist policy. We explain this phenomenon by that for the
ISPs close to the grid’s corner the UnifDist policy establishes transit connections
to peers in distant ISPs at a higher probability than the UnifAS policy. The significant difference between the results obtained for the two server locations shows
that the optimal policy for establishing transit connections is not only a function
of the ISP-level network topology, but also of the location of the server.
6.2
Topology scaling
The next question we look at is the impact of grid topology size on the performance
of the policies. In Fig. 9 we show the relative gain (ρ) of the UnifDist and BinDist
policies over the UnifAS policy versus the size of the grid topology for π = 3 peering
and τ = 1 transit connections. The server is placed in the upper left corner of the
grid. The gain for the BinDist policies that favour long distances is significant, it
exceeds 40% for the 7 × 7 grid. Nevertheless, their gain decreases almost linearly
proportional to the grid size. Contrary to the BinDist policy, the gain of the
UnifDist policy seems to be insensitive to the size of the grid.
7
The case of the Internet AS topology
The last topology we consider is based on the Internet AS-level peering topology in
the CAIDA dataset [28]. The dataset contains 36878 ASs and 103485 links between
ASs. The inter-AS links are characterized as transit provider-customer and peering.
The inference of the recorded relationships is based on methodology described and
validated in [13]. We focus on the set of ASs that have at least one peering link.
The set consists of 1200 ASs, and these 1200 ASs form 83 connected components.
F-16
0.6
UnifDist
BinDist(0.5)
BinDist(0.75)
BinDist(0.9)
0.5
Relative gain (ρ)
0.4
0.3
0.2
0.1
0
−0.1
7x7
9x9
11x11
Grid size
13x13
15x15
Figure 9: Relative gain of UnifDist and BinDist policies as a function of the grid
size. Overlay with π = 3 and τ = 1. Server ISP in the upper left corner of the
grids.
The largest connected component consists of 616 ASs connected by peering links.
We refer to this connected component as the Caida-Peer graph, and we use this
connected component as the graph G defined in Section 3.
The characteristics of the Caida-Peer graph differ significantly from those of the
AS-level topology in the complete CAIDA dataset including transit connections. In
Figure 10(a) we show the rank-degree statistics for the complete dataset and for the
Caida-Peer graph. The AS rank-degree statistics for the complete CAIDA dataset
follows a power-law over a range that spans 2 orders of magnitude of the AS rank.
Accordingly, the average distance between the ASes is small, only 3.8 hops. The
rank-degree statistics of the Caida-Peer graph does not exhibit a power-law, and
the maximum AS degree is more than an order of magnitude lower than for the
complete CAIDA topology. Despite the lower number of ASs in the graph, the
average AS distance is higher, 4.57 hops, and the diameter of the graph is 12 hops.
Figure 10(b) shows the cumulative distribution function of the average shortest
paths for the Caida-Peer graph and for the 7 × 7 grid topology used in the previous section. Interestingly, both topologies have a diameter of 12 hops and almost
the same median and average distance distance between ASes. Given the similarities of the graphs’ characteristics, an intriguing question is whether the relative
performance of the different policies on the two topologies is also similar.
To investigate this question we consider overlays with 20 peers in each of the
ASs of the Caida-Peer graph, homogeneous upload capacities and a resource index
of RI = 1.25. Figure 11 shows results obtained using the three policies that showed
the best performance in the previous sections: UnifAS, BinDist and UnifDist. Motivated by the importance of the server placement observed for the grid topology,
we consider two server placements: (a) in the AS with the highest degree, (b) in the
F-17
4
10
1
Caida−Peer Graph (G)
Complete Caida Dataset
0.8
3
0.6
CDF
Degree
10
2
10
0.4
1
10
0.2
Caida−Peer Graph (G)
Grid 7x7
0
10 0
10
1
10
2
10
Rank
(a)
3
10
4
10
0
0
2
4
6
AS hops
8
10
12
(b)
Figure 10: Characteristics of the Caida-Peer graph: (a) Rank-degree plot of the
CAIDA dataset and the Caida-Peer graph and (b) Comparison of the CDF of the
average distance between ASes for the grid of 7 × 7 and the Caida-Peer graph
AS with the lowest degree and the highest distance from all other ASs. The results
obtained for these two server placements show very similar characteristics to the
results obtained on the 11x11 grid topology for the two different server placements
(Figs 7 and 8). First, the performance of all policies is better when the server is
placed in a centrally located AS. Second, the relative performance of the different
policies is very similar. The UnifAS policy performs best when the server is placed
in the AS with the highest degree, but is outperformed by the UnifDist and several of the BinDist policies when the server is placed in the AS with the lowest
degree. The similarity of the conclusions drawn based on results for the grid and
the Caida-Peer graph shows that the overlay construction policy should be chosen
as a function of the location of the server to maximize the streaming performance.
Figure 12 shows the cumulative distribution function of the loss ratio in the ASs
of the Caida-Peer graph for π = 6, without transit connections (τ = 0) and for
three transit connection establishment policies (τ = 1).
Without transit connections the loss ratio is prohibitively high for streaming:
the average loss ratio is 0.27, and it is higher than 0.1 in 50 percent of the ASs.
Allowing for one outgoing transit connection per AS decreases the average loss ratio
by almost up to an order of magnitude (0.12, 0.067 and 0.06 for the BinDist(0.1),
BinDist(0.75) and UnifAS policies, respectively). Furthermore, the peers in less
than 15% of the ASs have a loss ratio above 0.2. Still, the difference between the
loss ratios in the ASs is very high, which confirms the observation made on the
ring topology that the average loss ratio is not a reliable indicator of the system
performance for network-aware overlays.
F-18
0
0
miss
)
10
−1
Chunk missing ratio (p
Chunk missing ratio (pmiss)
10
10
−2
10
−3
10
2
τ=0
UnifAS − τ=1
UnifDist − τ=1
BinDist(0.1) − τ=1
BinDist(0.5) − τ=1
BinDist(0.75) − τ=1
BinDist(0.9) − τ=1
3
4
5
6
7
8
9
Peering outgoing connections (π)
−1
10
−2
10
−3
10
11
(a) Server placed in highest degree AS
12
10
2
τ=0
UnifAS − τ=1
UnifDist − τ=1
BinDist(0.1) − τ=1
BinDist(0.5) − τ=1
BinDist(0.75) − τ=1
BinDist(0.9) − τ=1
3
4
5
6
7
8
9
Peering outgoing connections (π)
10
11
12
(b) Server placed in most remote AS
Figure 11: Chunk missing ratio vs number of peering connections on the Caida-Peer
graph.
7.1
Non-uniform peer populations
To study the sensitivity of the results to the distribution of the peers in the ASs, in
the following we consider an overlay in which the number of peers per AS follows
a shifted Mandelbrot-Zipf distribution with parameters α = 1.33, q = 10 and a
shift of 10 peers. These parameters were obtained by fitting recent measurement
data [29]. The peers were assigned to the ASs of the Caida-Peer graph according
to the rank of the ASs in terms of their degree, motivated by that ASs with many
peering links are likely to belong to ISPs with a large customer base and have thus
higher probability of hosting more peers than poorly connected ASs.
In Fig. 13 we show the chunk missing ratio as a function of the number of peering
connections π for two server placements: (a) in the AS with the highest degree, (b) in
the AS with the lowest degree and the highest distance from all other ASs. Our first
observation is that the average chunk missing ratio is an order of magnitude smaller
than for the uniform peer distribution over the ASs (Fig. 11). The reason is that
by levaraging the peering links between the ASs and the power-law distribution of
the peers in the ASs, we achieve a good match between the overlay and the network
topology. Our second observation is that the relative performance of the policies is
similar to that for the case of the uniform peer population, and indicates that the
results are not very sensitive to the distribution of the peers over the ASs.
7.2
Non-uniform peer bandwidths
Finally, we study the sensitivity of the results to the upload bandwidth distribution
of the peers. We consider a scenario where peers belong to four classes with respect
to their upload bandwidth as shown in Table 1. The average upload bandwidth
in the overlay is 1.25 Mbps. We maintain the resource index (RI) in the overlay
F-19
1
0.9
CDF
0.8
0.7
0.6
0.5
τ=0
UnifAS − τ=1
BinDist(0.1) − τ=1
BinDist(0.75) − τ=1
0.4
0
0.1
0.2
0.3
0.4
0.5
0.6
Chunk missing ratio (pmiss)
0.7
0.8
0.9
Figure 12: Cumulative distribution function of the loss ratio in the ASs of the
Caida-Peer graph. Overlay with π = 6.
to RI = 1.25 as with the homogeneous peer upload bandwidth distribution and
consequently the video rate is set to 1 Mbps and the chunk size to 100 kbits.
The peers are distributed over the ASs according to the shifted Mandelbrot-Zipf
distribution as in the previous sub-section.
Class
1
2
3
4
Upload (Mbps)
5
1.5
1
0.55
Peers (%)
10
10
40
40
Table 1: Peer Bandwidth Classes
In Fig. 14 we show the chunk missing ratio as a function of the number of peering
connections for the policies that performed best in the previous sections and for two
server placements: in the highest degree AS and in the AS with the lowest degree
and the highest average distance from all other ASs. When the server is placed in
the AS with the highest degree, all three policies have almost identical performance,
as was the case for the homogeneous bandwidth scenario. Similarly, when the server
is placed in the AS at the highest distance, we observe that the BinDist(0.75) and
the UnifDist policies perform distinctively better than the UnifAS policy for all π
values, confirming our previous results. In comparison to the results for the overlay
consisting of peers with homogeneous upload bandwidths (Fig. 13(b)), we see that
the heterogeneous overlay performs significantly worse, exhibiting up to an order of
magnitude higher chunk missing ratio for all the transit connection establishment
policies. Nevertheless, the better performance of the BinDist(0.75) and UnifDist
policies is observed in both scenarios, which shows that our results are not sensitive
F-20
0
0
−2
10
−3
10
)
−1
10
10
miss
τ=0
UnifAS − τ=1
UnifDist − τ=1
BinDist(0.1) − τ=1
BinDist(0.5) − τ=1
BinDist(0.75) − τ=1
BinDist(0.9) − τ=1
Chunk missing ratio (p
Chunk missing ratio (pmiss)
10
−4
10
2
τ=0
UnifAS − τ=1
UnifDist − τ=1
BinDist(0.1) − τ=1
BinDist(0.5) − τ=1
BinDist(0.75) − τ=1
BinDist(0.9) − τ=1
−1
10
−2
10
−3
10
−4
3
4
5
6
7
8
9
Peering outgoing connections (π)
10
11
12
(a) Server placed in highest degree AS
10
2
3
4
5
6
7
8
9
Peering outgoing connections (π)
10
11
12
(b) Server placed in most remote AS
Figure 13: Chunk missing ratio vs number of peering connections. Peers distributed
to ASs according to the Mandelbrot-Zipf distribution.
0
10
Chunk missing ratio (p
miss
)
Server in most
remote AS
−1
10
Server in highest
degree AS
−2
10
−3
10
2
UnifAS
UnifDist
BinDist(0.75)
3
4
5
6
7
8
9
Peering outgoing connections (π)
10
11
12
Figure 14: Chunk missing ratio vs. number of peering connections for non-uniform
upload bandwidths. Peers distributed to ASs according to the Mandelbrot-Zipf
distribution.
F-21
to the upload bandwidth distribution of the peers under random chunk forwarding.
8
Conclusion
We considered the problem of network-aware overlay construction over a network of
ISPs with peering relationships. Motivated by the analogies between the construction of small-world graphs and the construction of proximity-aware overlays, we
proposed several topology-aware policies to establish transit connections between
peers in remote ISPs. We used extensive simulations over various ISP topologies,
among them the measured peering topology of over 600 autonomous systems, to
compare the policies, and to get insight into the interplay between network topology,
overlay topology and streaming performance. Our results show that by adapting
the connection establishment policy to the network topology the performance of a
network-aware overlay can be improved significantly. In general, transit connections
should be opened between distant ISPs, and choosing uniform at random often, but
not always, implements such a policy. We showed that besides the network topology
itself, the location of the streaming server in the network topology is an important
factor that affects the performance of the overlay construction policies. Finally, we
also pointed out that the average loss probability is often not a sufficient performance metric to assess the performance of proximity-aware overlays.
References
[1] T. Karagiannis, P. Rodriguez, and K. Papagiannaki. Should Internet Service
Providers Fear Peer-Assisted Content Distribution? In Proc. of the 5th ACM
SIGCOMM conference on Internet Measurement, pages 6–6, 2005.
[2] IETF ALTO Working Group, https://datatracker.ietf.org/wg/alto/charter/.
[3] D. Choffnes and F. Bustamante. Taming the torrent: A practical approach to
reducing cross-ISP traffic in P2P systems. In Proc. of ACM SIGCOMM, 2008.
[4] R. Bindal, P. Cao, W. Chan, J. Medval, G. Suwala, T. Bates, and A. Zhang.
Improving traffic locality in bittorrent via biased neighbor selection. In Proc.
of the International Conference on Distributed Computer Systems (ICDCS),
2006.
[5] Vinay Aggarwal, Anja Feldmann, and Christian Scheideler. Can isps and P2P
users cooperate for improved performance? SIGCOMM Comput. Commun.
Rev., 37:29–40, July 2007.
[6] S. Le Blond, A. Legout, and W. Dabbous. Pushing bittorrent locality to the
limit. Computer Networks, 2010.
F-22
[7] F. Picconi and L. Massoulié. ISP-friend or foe? making P2P live streaming
ISP-aware. In Proc. of the 29thIEEE International Conference on Distributed
Computer Systems (ICDCS), pages 413–422, 2009.
[8] Xin Jin and Yu-Kwong Kwok. Network aware P2P multimedia streaming: Capacity or locality? In IEEE International Conference on Peer-to-Peer Computing (P2P), pages 54 –63, Sept. 2011.
[9] J. Seedorf, S. Niccolini, M. Stiemerling, E. Ferranti, and R. Winter. Quantifying
operational cost-savings through alto-guidance for P2P live streaming. In 3rd
Workshop on Economic Traffic Management (ETM 2010), September 2010.
[10] B. Bollobás. Random Graphs. Cambridge University Press, 2001.
[11] D. J. Watts and S. H. Strogatz. Collective dynamics of ’small-world’ networks.
Nature, 393:440–442, June 1998.
[12] C. Labovitz, S. Iekel-Johnson, D. McPherson, J. Oberheide, and F. Jahanian.
Internet inter-domain traffic. In Proc.of ACM SIGCOMM, pages 75–86, 2010.
[13] X. Dimitropoulos, D. Krioukov, M. Fomenkov, B. Huffaker, Y. Hyun, Kc Claffy,
and G. Riley. AS Relationships: Inference and Validation. SIGCOMM Comput.
Commun. Rev., 37:29–40, January 2007.
[14] H. Xie, Y. R. Yang, A. Krishnamurthy, Y. G. Liu, and A. Silberschatz. P4P:
Provider portal for applications. In Proc. of the ACM SIGCOMM 2008, pages
351–362, 2008.
[15] D. Ciullo, M. A. Garcia, A. Horvath, E. Leonardi, M. Mellia, D. Rossi,
M. Telek, and P. Veglia. Network awareness of P2P live streaming applications: a measurement study. IEEE Transactions on Multimedia, 12:54–63,
January 2010.
[16] Gy. Dán. Cooperative caching and relaying strategies for peer-to-peer content
delivery. In Proc. of Intl Workshop on Peer-to-Peer Systems (IPTPS), Feb.
2008.
[17] J. Dai, B. Li, F. Liu, B. Li, and H. Jin. On the efficiency of collaborative
caching in isp-aware P2P networks. In Proc. of IEEE INFOCOM, Apr. 2011.
[18] A. Dhamdhere and C. Dovrolis. The Internet is flat: modeling the transition
from a transit hierarchy to a peering mesh. In Proc. of ACM Co-NEXT, pages
1–12, 2010.
[19] D. J. Watts. Small worlds: The dynamics of networks between order and
randomness. Princeton University Press, 1999.
F-23
[20] M.E.J. Newman, C. Moore, and D. J. Watts. Mean-field solution of the smallworld network model. Physical Review Letters, 84:3201–3204, 2000.
[21] S. N. Dorogovtsev and J. F. F. Mendes. Exactly solvable analogy of small-world
networks. EUROPHYS.LETT., 50:1, 2000.
[22] J. Kleinberg. The small-world phenomenon: An algorithmic perspective. In
Proc. 32nd ACM Symposium on Theory of Computing, 2000.
[23] P2PTV-SIM, http://napa-wine.eu/cgi-bin/twiki/view/public/p2ptvsim.
[24] T. Bonald, L. Massoulié, F. Mathieu, D. Perino, and A. Twigg. Epidemic live
streaming: Optimal performance trade-offs. In Proc. of ACM SIGMETRICS,
2008.
[25] I. Chatzidrossos, Gy. Dán, and V. Fodor. Delay and playout probability tradeoff in mesh-based peer-to-peer streaming with delayed buffer map updates.
P2P Networking and Applications, 3:208–221, March 2010.
[26] V. Vukadinovic and Gy. Dán. Multicast scheduling for scalable video streaming
in wireless networks. In ACM Multimedia Systems (MMSys), February 2010.
[27] Gy. Dán and V. Fodor. Stability and performance of overlay multicast systems employing forward error correction. Performance Evaluation, 67:80–101,
February 2010.
[28] CAIDA. Automated
rank.caida.org/data/.
Autonomous
System
(AS)
Ranking,
http://as-
[29] Haiyang Wang, Jiangchuan Liu, and Ke Xu. On the locality of BitTorrentbased video file swarming. In Proceedings of the 8th international conference
on Peer-to-peer systems, IPTPS’09, Berkeley, CA, USA, 2009.
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Related manuals

Download PDF

advertisement