A peer-to-peer topology and multicasting algorithm with guaranteed quality of experi-ence
Peer-to-peer applications such as BitTorrent solved a load problem of file distributing, but unfortunately these approaches are not suitable for video streaming due to a realtime data generation nature, heterogeneous behavior of peers and underlying network. The main challenge is to develop a robust...
Gespeichert in:
| Datum: | 2017 |
|---|---|
| Hauptverfasser: | , |
| Format: | Artikel |
| Sprache: | Russian English |
| Veröffentlicht: |
PROBLEMS IN PROGRAMMING
2017
|
| Schlagworte: | |
| Online Zugang: | https://pp.isofts.kiev.ua/index.php/ojs1/article/view/147 |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Назва журналу: | Problems in programming |
| Завантажити файл: | |
Institution
Problems in programming| id |
pp_isofts_kiev_ua-article-147 |
|---|---|
| record_format |
ojs |
| resource_txt_mv |
ppisoftskievua/5c/709622c8bae8d3623ad8e0eab1a6175c.pdf |
| spelling |
pp_isofts_kiev_ua-article-1472018-07-16T15:46:07Z A peer-to-peer topology and multicasting algorithm with guaranteed quality of experi-ence Одноранговая топология и мультикастинговый алгоритм с гарантированным качеством опыта Однорангова топологія та мультикастинговий алгоритм з гарантованою якістю досвіду Hordiichuk, O.V. Bychkov, O.S. UDC 004.75 УДК 004.75 УДК 004.75 Peer-to-peer applications such as BitTorrent solved a load problem of file distributing, but unfortunately these approaches are not suitable for video streaming due to a realtime data generation nature, heterogeneous behavior of peers and underlying network. The main challenge is to develop a robust topology structure and a fast dissemination algorithm that guarantees QoE (Quailty of Experience) for endusers. This paper presents a simple, but efficient and completely distributed topology constructing and data transmission algorithm that is called Tailcast. It is based on an idea of building tailed tree topology, which guarantees low stretch and reliability of the network. A delay penalty due to a peer churn doesn’t depend on a network size in the peer-to-peer system proposed in this paper and the dissemination algorithm provides fast video data transmission compared to existing solutions. Proposed system implemented using WebRTC protocol stack and could be executed in modern browsers. Achieved results demonstrate robustness and efficiency of the system. Одноранговые приложение такие как BitTorrent решили проблему нагрузок для распространения файлов, но к сожалению эти системы не подходят для трансляции видео в реальном времени из-за природы генерации таких данных, гетерогенным поведением узлов и сетью. Главный вызов это разработка надежной структуры топологии, а также быстрого алгоритма распространения данных, который гарантирует качество опыта для конечных пользователей. В этой статье представлен простой, но эффективный и также абсолютно распределенный алгоритм построения топологии и распространения данных, который называется Tailcast. Он основан на идее построения деревоподобной топологии с хвостами, которая гарантирует маленькую протяженность и надежность сети. Штраф задержки, который возникает при большом количестве отсоединений узлов из сети не зависит от ее размер в одноранговой системе пред-ложенной в данной статье. При этом алгоритм распространения позволяет быстро доставлять данные, если сравнивать его с существующими решениями. Предложенная система реализована с помощью стека протокола WebRTC и может быть выполнена в современных браузерах. Полученные результаты демонстрируют надежность и эффективность системы. Однорангові додатки такі як Bit-Torrent вирішили проблему навантажень для розповсюдження файлів, але нажаль ці системи не підходять для трансляції відео в реальному часі через природу генерування таких даних, гетеро генною поведінкою вузлів та мережею. Головним викликом є розробка надійної структури топології, а також швидкого алгоритмму розповсюдження даних, який гарантує якість досвіду для кінцевих користувачів. В цій статті представлений простий, але ефективний і також абсолютно розподілений алгоритм побудови топології і розповсюдження даних, який називається Tailcast. Він засновується на ідеї побудови деревоподібної топології з хвостами, яка гарантує маленьку протяжність і надійність мережі. Штраф затримки, який виникає при великій кількості від’єднань вузлів із мережі не залежить від його розміру в одноранговій системі запропонованій в даній статті. Водночас алгоритм розповсюдження дозволяє швидко доставляти дані, якщо порівнювати його із існуючими розв’язками. Запропонована система реалізована за допомогою стеку протоколу WebRTC і може бути виконана в сучасних браузерах. Отримані результати демонструють надійність і ефективність системи. PROBLEMS IN PROGRAMMING ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ ПРОБЛЕМИ ПРОГРАМУВАННЯ 2017-06-15 Article Article application/pdf application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/147 PROBLEMS IN PROGRAMMING; No 3 (2015) ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 3 (2015) ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 3 (2015) 1727-4907 ru en https://pp.isofts.kiev.ua/index.php/ojs1/article/view/147/140 https://pp.isofts.kiev.ua/index.php/ojs1/article/view/147/141 Copyright (c) 2017 ПРОБЛЕМИ ПРОГРАМУВАННЯ |
| institution |
Problems in programming |
| baseUrl_str |
https://pp.isofts.kiev.ua/index.php/ojs1/oai |
| datestamp_date |
2018-07-16T15:46:07Z |
| collection |
OJS |
| language |
Russian English |
| topic |
UDC 004.75 |
| spellingShingle |
UDC 004.75 Hordiichuk, O.V. Bychkov, O.S. A peer-to-peer topology and multicasting algorithm with guaranteed quality of experi-ence |
| topic_facet |
UDC 004.75 УДК 004.75 УДК 004.75 |
| format |
Article |
| author |
Hordiichuk, O.V. Bychkov, O.S. |
| author_facet |
Hordiichuk, O.V. Bychkov, O.S. |
| author_sort |
Hordiichuk, O.V. |
| title |
A peer-to-peer topology and multicasting algorithm with guaranteed quality of experi-ence |
| title_short |
A peer-to-peer topology and multicasting algorithm with guaranteed quality of experi-ence |
| title_full |
A peer-to-peer topology and multicasting algorithm with guaranteed quality of experi-ence |
| title_fullStr |
A peer-to-peer topology and multicasting algorithm with guaranteed quality of experi-ence |
| title_full_unstemmed |
A peer-to-peer topology and multicasting algorithm with guaranteed quality of experi-ence |
| title_sort |
peer-to-peer topology and multicasting algorithm with guaranteed quality of experi-ence |
| title_alt |
Одноранговая топология и мультикастинговый алгоритм с гарантированным качеством опыта Однорангова топологія та мультикастинговий алгоритм з гарантованою якістю досвіду |
| description |
Peer-to-peer applications such as BitTorrent solved a load problem of file distributing, but unfortunately these approaches are not suitable for video streaming due to a realtime data generation nature, heterogeneous behavior of peers and underlying network. The main challenge is to develop a robust topology structure and a fast dissemination algorithm that guarantees QoE (Quailty of Experience) for endusers. This paper presents a simple, but efficient and completely distributed topology constructing and data transmission algorithm that is called Tailcast. It is based on an idea of building tailed tree topology, which guarantees low stretch and reliability of the network. A delay penalty due to a peer churn doesn’t depend on a network size in the peer-to-peer system proposed in this paper and the dissemination algorithm provides fast video data transmission compared to existing solutions. Proposed system implemented using WebRTC protocol stack and could be executed in modern browsers. Achieved results demonstrate robustness and efficiency of the system. |
| publisher |
PROBLEMS IN PROGRAMMING |
| publishDate |
2017 |
| url |
https://pp.isofts.kiev.ua/index.php/ojs1/article/view/147 |
| work_keys_str_mv |
AT hordiichukov apeertopeertopologyandmulticastingalgorithmwithguaranteedqualityofexperience AT bychkovos apeertopeertopologyandmulticastingalgorithmwithguaranteedqualityofexperience AT hordiichukov odnorangovaâtopologiâimulʹtikastingovyjalgoritmsgarantirovannymkačestvomopyta AT bychkovos odnorangovaâtopologiâimulʹtikastingovyjalgoritmsgarantirovannymkačestvomopyta AT hordiichukov odnorangovatopologíâtamulʹtikastingovijalgoritmzgarantovanoûâkístûdosvídu AT bychkovos odnorangovatopologíâtamulʹtikastingovijalgoritmzgarantovanoûâkístûdosvídu AT hordiichukov peertopeertopologyandmulticastingalgorithmwithguaranteedqualityofexperience AT bychkovos peertopeertopologyandmulticastingalgorithmwithguaranteedqualityofexperience |
| first_indexed |
2025-07-17T09:48:57Z |
| last_indexed |
2025-07-17T09:48:57Z |
| _version_ |
1850410484635795456 |
| fulltext |
Програмування для комп’ютерних мереж та Internet
© O.V. Hordiichuk, O.S. Bychkov, 2015
ISSN 1727-4907. Проблеми програмування. 2015. № 3 39
UDC 004.75
O.V. Hordiichuk, O.S. Bychkov
A PEER-TO-PEER TOPOLOGY AND MULTICASTING
ALGORITHM WITH GUARANTEED QUALITY
OF EXPERIENCE
Peer-to-peer applications such as BitTorrent solved a load problem of file distributing, but unfortunately these
approaches are not suitable for video streaming due to a real-time data generation nature, heterogeneous behav-
ior of peers and underlying network. The main challenge is to develop a robust topology structure and a fast
dissemination algorithm that guarantees QoE (Quailty of Experience) for end-users. This paper presents a sim-
ple, but efficient and completely distributed topology constructing and data transmission algorithm that is
called Tailcast. It is based on an idea of building tailed tree topology, which guarantees low stretch and relia-
bility of the network. A delay penalty due to a peer churn doesn’t depend on a network size in the peer-to-peer
system proposed in this paper and the dissemination algorithm provides fast video data transmission compared
to existing solutions. Proposed system implemented using WebRTC protocol stack and could be executed in
modern browsers. Achieved results demonstrate robustness and efficiency of the system.
Introduction
Today most of Internet traffic is a vid-
eo. It takes over 57 % of all data transmitted
in the Internet and this amount will increase
up to 69 % by 2017 [1]. With increased
amount of disseminated data, cost of hard-
ware and software maintenance also grows.
Nowadays only several companies can afford
streaming over millions of simultaneously
watching users. Big sized screens and video
of ultra-high definition (so known UHDTV)
make this problem more considerable. That is
why this situation challenges lots of research-
es from the whole world to find new ap-
proaches that will solve big load problems.
The most trivial way of increasing overall
performance is working on network hardware
technology improvements such as IP multi-
casting. But unfortunately adopting this tech-
nology is nearly impossible nowadays as it
also requires replacing most of the network
hardware that serve the Internet.
While it is hard to solve this problem
on hardware level, it is still possible to opti-
mize video traffic using peer-to-peer net-
works. They provide ability to control net-
work traffic on a software level that elimi-
nates necessity of hardware replacement. An-
other important advantage is nearly unlimited
network resource due to a simple fact that
most of Internet connections are symmetric,
which means that upload and download
speeds are equal and most users in the net-
work can contribute at least equal amount of
bandwidth to its demand. Moreover this effect
could be increased if it is optimized with in-
formation about local peers. However peer-to-
peer networks lacks of stability, because they
are heterogeneous. It means that every peer
can join or leave the network in an unpredict-
able manner. Such behavior of peers performs
changes on the topology structure and there-
fore impacts on QoE (Quality of Experience)
of other peers.
Although there exist lots of video-
streaming solutions, all of them suffer either
from big delivery latency, from low robust-
ness of the system or provide good perfor-
mance only in special environments. This
paper proposes a distributed system that con-
sists of the topology constructing and self-
repairing algorithm as well as the data dis-
semination algorithm that is called Tailcast. A
main target of this system is minimizing data
transmission delay and maximizing reliability
of the network topology. This system imple-
mented using JavaScript language and
WebRTC protocol stack that is available in
modern browsers and makes possible to build
more complex video-streaming systems with-
out installing additional software for the end-
user. However, the proposed topology as well
as the data transmission algorithm could be
implemented using custom protocol built over
UDP and a congestion control algorithm that
is also described in this paper.
Програмування для комп’ютерних мереж та Internet
40
Related work
Generally, there are only two possible
ways of distributing video data: “pull” and
“push” approaches. In a case of “pull” strat-
egy every peer announces information about
available chunks to its neighbors and in a
result they can request new chunks by send-
ing appropriate command. The main ad-
vantage of this approach is a fact that peers
can be united into a topology of any type.
However, this also double dissemination
delay as every chunk should be announced
before it could be requested. Moreover, for
avoiding inefficient bandwidth utilization,
buffer-maps are distributed every T seconds
which increases the upper bound of an over-
all delay on value kT , where k – is the
height of the graph network structure. Un-
structured topologies are the most popular
approach for video streaming peer-to-peer
applications. PRIME [2] is one of possible
implementations for such system. Here au-
thors solve problem of content and band-
width bottleneck using receiver-driven be-
havior of peers. A delay problem is not di-
rectly addressed in this paper, but system
provides a tradeoff between performance and
quality of experience. Most of peer-to-peer
approaches for video streaming use UDP
protocol as it has predictable delivery delay
and a size of the chunk is typically equal to a
minimum upper bound of the MTU (Maxi-
mum Transmission Unit) value. However, in
MyMedia [3] system, which is extended for
usage in mobile devices, HTTP streaming
used with MPEG-DASH standard. Another
example is a CoolStreaming [4] where clas-
sical “pull” algorithm implemented as well
as strategies for recovering after failure
events. All of these systems suffer from big
delay problems, but at the same time they
can survive even a high churn rate due to
undirected data dissemination behavior.
In case of “push” approach a sender
side considers what data will be delivered as
well as its destination point. This significantly
decreases transmission delay as redundant
operation of available data transmission is
omitted. Perhaps the first attempt of using
tree-based topologies was Overcast [4], where
the “Up/Down” algorithm was used. The key
idea is to move each node as far as possible
from the root without losing bandwidth per-
formance. Also it stores and updates infor-
mation about all of its descendants. As a con-
sequence of this approach each peer starts
positioning from the root that leads to its
overload. Down to the tree load decreases, but
the closer node is to the root the more de-
scendants it should serve and from some big
value of the network size the topmost nodes
will not be able to process new peers. In the
Tailcast new node may be connected to a ran-
dom (any) node in the stream that provides
same load distribution among all peers and
complete decentralization of the system.
Naturally that most of “push” systems form a
tree-topology and is known that if remove any
element from such topology then all remain-
ing children nodes will become disconnected
from the network. For avoiding this problem
some approaches try to use hybrid topologies,
where mesh is combined with the tree data
structure, like it has done in AnyCast [5].
Here in the mesh topology could exist several
tree topologies with best multicasting capabil-
ities. The complexity of this operation grows
with network size and frequent churn events
lead to a poor QoE.
For solving the big latency and the
low robustness problems hybrid algorithms
such as Prime [6] and mTreebone [7] were
proposed. It is the most promising way of
creating video-streaming peer-to-peer net-
works. Here combination of tree and mesh
topologies provides a reasonable tradeoff
between reliability and performance. In the
first approach a random mesh is built and
data video stream is distributed using “push”
strategy among different subtrees. On the
one hand, missing chunks are distributed
using “pull” strategy among peers from dif-
ferent subtrees. On the other hand, mTree-
bone builds a tree from peers with a good
reputation, while others form the mesh. Here
the reputation value is presence duration of
each peer. It is assumed in this work that
probability of a peer churn depends on its
time presence. As a result this approach pro-
vides better (as compared with the mesh-
based topologies) end-user latencies. The
Tailcast also uses peer’s reputation value for
constructing topology.
Програмування для комп’ютерних мереж та Internet
41
Topology structure
The topology presented in this paper
has name “Tailcast” due to a specific chain
structure where peers from a head of se-
quence disseminate data to their neighbors
and nodes that located in the tail. When peer
joins the network it takes the last place in a
chain topology (Figure 1). Therefore, all peers
are always sorted by a duration presence in
the network starting from the most stable peer
and ending by the newest participant. This
approach guarantees that stable peers will be
always closer to a source of video stream and
thus will get better QoE (Quality of Experi-
ence) than peers in the tail. It should be men-
tioned that this topology forms a directed
graph, which means that peers are able to
disseminate data only to neighbors that are in
the right side of the topology if assume that
the source is always located in the left side.
While the chain topology has easy implemen-
tation and maintenance characteristics it also
lacks stability and reliability as when even
one peer leaves the network it makes one part
of it disconnected from another. A solution
of this problem implemented using a next
approach: every node holds a list kLL ,
of addresses that contains IP and port infor-
mation about its predecessors. In case when
peer leaves the network the corresponding
neighbors erase address information from
their list and request parent location from the
farthest node in the remaining list. At the
same time they also propagate L to a succes-
sors, which takes the first value and replaces a
record in its own list with an index k - L .
After this the node erases the first value in the
L and sends it to the next successor. This
operation continues while 0L .Value of k
should be chosen according to the peer failure
probability. The chain will break if all prede-
cessors leave the network simultaneously. If
the failure probability of one peer equals to p
then the chance of chain breakage will be
kpP . While a big value of k provides
better robustness it also introduces a
notification overhead, thus a good tradeoff
should be chosen. The Tailcast uses 7k
because it provides good robustness even
if the node failure chance is equal to 0.5,
in this case the list of predecessors will
become empty with probability 75.0P
008,0 . If the chain failure event occurs
peer should to reconnect the network via
bootstrapping node.
In the Tailcast each node has its own
unique ID (identification), which represents
its position in the chain and is used for find-
ing new links in the network. A process of
finding new links is described in the next sec-
tion. The source has always ID being equal to
1, its successor being 2 and so on. When a
new peer joins it assigns incremented ID of
the last node in the chain. When someone
leaves the network a successor node decre-
ments its own ID and sends it down to the
own successor. The receiver of the message
updates its ID according to the predecessor
and resends it down to the tree until the last
node will be reached.
120 110 20 5 1
Figure 1. The chain topology. Numbers
represent duration (in seconds) of stay
in the network. Nodes are always
sorted in a descending order
While the chain topology provides
good robustness and sorts all nodes by repu-
tation it has propagation delay proportional
to the network size, thus it is not suitable for
a system with big amount of users. Moreo-
ver, each peer has different capacity of a
bandwidth and may upload incoming video
data to more than one successor that may
significantly reduce the latency for nodes
that are at the bottom of the chain. While
propagation delay of the chain topology has
upper bound equal to N , in a directed n-ary
tree topology this value is equal to Nnlog
hops, where N – is a set of nodes. For this
purpose the chain topology is extended to
contain trees where each node contains l
links to other nodes at a distance
1210 2...2,2,2 l . The distance here is a differ-
ence between node IDs (see figure 2). This is
very similar to popular DHT (Distributed
Програмування для комп’ютерних мереж та Internet
42
Hash Table) systems like Chord [8] and
Kademlia [9] where similar approach is used.
When node needs to find another node by ID
it first looks at its own list of links if it al-
ready exists. If there is no such node then it
finds the closest node in its list and forwards
the request to this node. There will be no
more than Nnlog hops until the searcha-
ble node will be found. This approach of
storing edges allows a new node to be con-
nected with any (random) other node and
find a proper place and links in the chain in a
logarithmic time.
1 2 3 5 94 6 7 8
Figure 2. The topology of Tailcast. Numbers
represent an ID of the node. Dotted edges
represent all links from the node 1 to other
nodes and dashed edges represent links from
all nodes to the node 9. Tree edges of nodes
between 1 and 9 do not present here
Dissemination algorithm
and protocol
As it was mentioned in the previous
section the topology has directed paths
of data dissemination. That is why it is pos-
sible to use “push” approach here and avoid
additional delay for exchanging available
data information as well as their requesting.
But this topology doesn’t form an acyclic
graph that makes impossible data dissemina-
tion without duplication. Therefore, an addi-
tional mechanism for avoiding loops pro-
posed. A key idea is to provide reasonable
performance and loops elimination at the
same time. It is known that the video stream
could be represented as a continuous file
divided into chunks of equal size. We use
chunks with 1300 bytes sizes like in Bit-
Torrent’s uTP protocol as it seems to be
proven tradeoff between real minimal ob-
served MTU (Maximum Transmission Unit)
in the Internet and minimal processing over-
head. Every chunk has its own ID that rep-
resents a time of creation of every chunk
created by the source. It could be a real
timestamp, but in the Tailcast we use 4-bytes
unsigned integers for chunk IDs that are
incremented every new entity appearance.
Also the Tailcast is built on top of WebRTC
protocol stack and uses guaranteed ordered
delivery data transmission layer. At the
sender side every peer uses these facts for
future data dissemination. First of all the
peer never sends data to its predecessor.
One-direction chunks delivery guarantees
better quality for nodes closer to the source.
Secondly every node transmits information
about the latest known chunk to their nearest
neighbors, which helps them to understand
current status and make a valid decision for
the next chunk delivery. Thirdly the peer
transmits data only to those neighbors that
have the latest known ID less than its own.
These approaches eliminate a possibility for
any loops in data dissemination paths and
described in figure 3.
It should be mentioned that on the one
hand 4 bytes for ID are able to guarantee bil-
lions of unique values, but for really continu-
ous streams like TV channels it is possible to
notice that a next value after the maximum
integer )12( 32 will be 0. This will break
original ordered chunk sequence numbers
logic. For avoiding this problem we introduce
a specific comparison operator that is defined
as follows:
)()(),( yxxyyxless .
This operator is applied on computer
unsigned number, where minus operator
cannot produce negative values. Combining
this approach with a fact that at one time a
difference between the maximal and minimal
values of IDs typically will not be more than
10000 can guarantee that ordering logic will
work correct. However, there is still a possi-
bility to attack this network by providing
wrong information and therefore break the
dissemination that could be solved by intro-
ducing reputation peer-to-peer network mod-
els, but this is beyond of a topic discussion in
this paper.
It is reasonable to notice that peers
have different upload capabilities that defi-
nitely impact the performance. Moreover
they could suddenly change during different
reasons like user can start downloading a big
Програмування для комп’ютерних мереж та Internet
43
100
99
98
96
96
97
97
97
95
97
Figure 3. The dissemination algorithm over
the Tailcast topology. Numbers the latest
known chunk ID to the peer. Data distribution
is done by solid edges and dotted edges
are used for searching better sources
if they will appear
file or a network congestion may occur on
ISP level. That is why in this paper assumed
that a value b (number of links that peer
may use to upload the video data without
occurring network congestion) known by
each peer. Determination of b has done by
using a congestion control algorithm that
was previously specially designed for video
multicasting in the Tailcast [10]. This algo-
rithm handles sender’s queues that simulate a
virtual queue of network hardware, where a
transmission bottleneck occurs. A key idea is
to keep the virtual queue under a certain load
and avoid big overloading that will introduce
additional delay. With knowledge of the
bandwidth capacity peer uploads incoming
video data stream to the nearest peers. While
an amount of simultaneously served peers
may dynamically vary it doesn’t make addi-
tional problems for overall performance as a
decision for data dissemination chooses
clearly for all nodes at any given time.
Implementation and evaluating
Described topology and dissemination
algorithm were implemented using JavaScript
language and WebRTC protocol stack. While
the last technology is still not implemented in
all browsers (only Mozilla Firefox and
Google Chrome support it), anyway it makes
possible to cover more than a half of all
browser users in the Internet and avoid instal-
lation of additional software. We believe this
makes our software more applied for real sys-
tems than implementing it as a standalone
desktop or mobile application.
The Tailcast was benchmarked using
simulated tests on a local host. We used Mac
OS X and ipfw tool for simulating network
delay and packet loss events. A fake video
stream represented as a constant bitrate
(2 Mbit) continuous file and. We have meas-
ured average and maximum observed delay of
peers that are leaves of the tree (the farthest
nodes) in the Tailcast network. A size of
the swarm is equal to 150 peers with differ-
ent network environment that represented as
a neighborhood size for every peer. Every test
has run 10 times with 5 minutes duration (see
Table 1).
We have noticed that delay mostly
depends on a network delay and peer churn
rate rather on a packet loss rate. It could be
explained with bandwidth allocation system
behavior. If some packets are lost then the
congestion control algorithm of the Tailcast
will resend them and as it efficiently serves
virtual queue lost packets are quickly recov-
ered without significant impact on the per-
formance. At the same time observed values
are far from theoretical optimum because of
connection establishment time overhead that
introduced by the browser and operating sys-
tem.
Програмування для комп’ютерних мереж та Internet
44
Table 1. Test runs
Test runs 1–4
Neighborhood
size
3 3 3 3
Packet loss, % 0 2 2 5
Simulated net-
work delay, ms
0 0 10 10
Observed aver-
age delay, ms
12.1 15.2 65.3 78.4
Observed max-
imal delay, ms
20 20.1 81.2 88.2
Theoretical op-
timum, ms
4.5 4.5 45 45
Peer churn rate,
peers per mi-
nute
10 10 10 10
Test runs 5–8
Neighborhood
size
3–5 3–5 3–5 3–5
Packet loss, % 0 2 2 5
Simulated net-
work delay, ms
0 10 15 15
Observed aver-
age delay, ms
10.2 45.4 74.3 99.2
Observed max-
imal delay, ms
14.3 72.3 101 129
Theoretical op-
timum, ms
3.1–
4.5
31–
45
46.6
–
68.4
46.6
–
68.4
Peer churn rate,
peers per mi-
nute
30 30 30 30
An achieved result of implementing
the Tailcast topology demonstrates efficien-
cy. However we believe that performance
could be improved if the sender side will
also consider locality parameter when it
makes a decision for data transmission. This
will be our main direction for our future re-
searches.
Concusion
In this paper presented approaches for
building network topologies and dissemina-
tion algorithms for real-time video streaming
in peer-to-peer networks. Unlike existing so-
lutions the Tailcast does not suffer from delay
problems as here data transmitted with “push”
mechanism. At the same a specific topology
structure, which have a self-repairing algo-
rithm, makes it really reliable like popular
mesh-based topologies with “pull” data dis-
tribution models. Also this system guarantees
better QoE for those users that are the most
stable in the swarm and in a result all free-
riding peers are always in the bottom of the
topology, while real watchers receive stable
video stream.
Except technical advantages the Tail-
cast also has an ability to run in the web-
browser due to a WebRTC protocol stack that
is used here. This makes possible to create
new kind of video-streaming applications like
e-learning systems, TV-channels and video-
on-demand services in a scalable way without
additional cost for an infrastructure. Results
show flexibility, efficiency and robustness of
the system.
1. “Cisco visual networking index: forecast
and methodology, 2012-2017.”
http://www.cisco.com/en/US/solutions/colla
teral/ns341/ns525/
ns537/ns705/ns827/white\_paper\_c11-
481360.pdf.
2. Klusch M. et al. MyMedia: mobile semantic
peer-to-peer video search and live streaming
// Proceedings of the 11th International
Conference on Mobile and Ubiquitous
Systems: Computing, Networking and
Services. – ICST (Institute for Computer
Sciences, Social-Informatics and Telecom-
munications Engineering). – 2014. –
P. 277–286,
3. Magharei N. and Rejaie R. “Prime: Peer-to-
peer receiver-driven mesh-based stream-
ing,” Transactions on Networking. – 2009. –
Vol. 17. – P. 1052–1065.
4. Venkataraman V., Yoshida K., and Francis
P. “Chunkyspread: Heterogeneous unstruc-
tured tree-based peer-to-peer multicast,” in
Proceedings of the “14th IEEE International
Conference on Network Protocols, 2006.
ICNP’06”, IEEE, 2006. – P. 2–11.
5. Jannotti J., Gifford D.K., Johnson K.L.,
Kaashoek M.F., O’Toole J.W., and Jr.
“Overcast: Reliable multicasting with an
Програмування для комп’ютерних мереж та Internet
45
overlay network,” in Proceedings of the
“4th conference on Symposium on Operat-
ing System Design & Implementation”,
USENIX Association Berkeley. – 2000. –
P. 97–212.
6. Wang F., Xiong Y., and Liu J. “mtreebone:
A collaborative tree-mesh over- lay network
for multicast video streaming,” Parallel and
Distributed Systems. – 2010. – Vol. 21. –
P. 379–392.
7. Stoicay I., Morrisz R., Liben-Nowellz D.,
Kargerz D.R., Kaashoekz M.F., and Dabekz
F. “Chord: A scalable peer-to-peer lookup
service for internet application,” in Proceed-
ings of the “2001 SIGCOMM”, ACM,
2001. – P. 149–160.
8. Syropoulos A. “Kademlia: A peer-to-peer
information system based on the xor met-
rics,” in IPTPS ’01 Revised Papers from the
First International Workshop on Peer-to-
Peer Systems, Springer-Verlag, 2002. –
P. 53–65.
9. Hordichuk O. A congestion control algo-
rithm for video multicasting in peer-to-peer
networks, Bulletin of Taras Shevchenko
National University of Kyiv Series Phys-
ics & Mathematics. – 2014. – Vol. 2. –
P. 112–117.
Data received 18.03.2015
About authors:
Hordiichuk Oleh Volodymyrovich,
postgraduate,
Bychkov Oleksiy Sergiyovich,
docent,
PhD in physics and mathematics.
Location:
Taras Shevchenko National University of
Kyiv, faculty of information technologies,
03022, Kyiv, Ukraine;
Lomonosova st., 81,
E-mail: oleg.gordichuck@gmail.com,
bos.knu@gmail.com
mailto:oleg.gordichuck@gmail.com
mailto:bos.knu@gmail.com
|