Return to search

A protocol for decentralized video conferencing with WebRTC : Solving the scalability problems of conferencing services for the web

Video conferencing has been a part of many communication platforms over the years. Over the last decades users have moved from dedicated telephony networks to the Internet, and recently to the Web. With the introduction of Web Real-Time Communication (WebRTC) it is now possible to make voice- and video calls simply by visiting a web page, without having to install any additional software. Services that enable multi-user conferences are quite common. However existing solutions such as the Multipoint Control Unit (MCU) inherently do not scale and can be a single point of failure, due to its centralized architecture. This can lead to high maintenance costs and poor service availability.To solve the scalability- and availability problems of video-conferencing services, a decentralized alternative to the MCU is proposed. A decentralized conferencing system uses the distributed resources of its users instead of relying on a central server. This means that the system can handle an increasing number of users without having to upgrade any server infrastructure. Additionally, failures are only partial and can happen regularly without affecting the rest of the system. This report presents the development of a protocol built on top of WebRTC that enables completely decentralized multi-user conferencing. It includes a distributed algorithm for voice-activated switching to reduce the computation and network resources used. A load-balancing technique based on media stream relays is used to distribute the resource requirements of the conference participants. The protocol is implemented as a Javascript library that can be included in a web application. A proof-of-concept web application is developed using the library and its performance is evaluated. The performance data is analyzed and the results are used to make incremental improvements to the protocol and implementation. Although not all features of the protocol are implemented, the tests show promising results. The application allows multiple users to participate in high-definition video conferences, with no server infrastructure aside from a Mini PC that hosts a web server and a WebRTC signaling server. / Videokonferenser har varit en del av många olika kommunikationsplattformar genom åren. Tekniken har yttats från dedikerade telefonnnät,, till Internet, och på senare tid till webben. I och med introduktionen av WebRTC (Web Real-Time Communication) är deti dag möjligt att enkelt deltaga i röst- och videosamtal genom att gå till en webbsida utan att behöva installera någon programvara annat an en webbläsare. De flesta existerande konferenstjänster är byggda med en centraliserad arkitektur, vilket kan leda till tekniska problem när antalet användare ökar eller när fel uppstår i systemens centrala servrar. Dessa problem kan leda till driftstopp och skada tjänstens tillgänglighet för användarna. Den här rapporten täcker utvecklingen av ett protokoll som tillsammans med WebRTC kan användas för att bygga en helt decentraliserad konferenstjänst. Målet är att tjänsten ska vara oberoende av centrala servrar, och på så vis lösa problemen med skalbarhet och tillgänglighet. Protokollet implementeras i en webbapplikation som testas och utvärderasöver flera iterationer för att hitta nya förbättringar. Testerna visar lovande resultat. Slutsatsen dras det är fullt möjligt att bygga en konferenstjänst på detta sätt, och möjligheter för framtida optimeringar och testfall föreslås.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-202963
Date January 2016
CreatorsHallberg, Andreas
PublisherKTH, Skolan för informations- och kommunikationsteknik (ICT)
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageEnglish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess
RelationTRITA-ICT-EX ; 2016:194

Page generated in 0.0029 seconds