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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Datum:2017
Hauptverfasser: Hordiichuk, O.V., Bychkov, O.S.
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
Завантажити файл: Pdf

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 0L .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 7k 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