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

University essay from KTH/Skolan för informations- och kommunikationsteknik (ICT)

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

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)