Topology in WebRTC Services
MetadataShow full item record
Bandwidth efficient, low latency, cheap - pick two. This has been the traditional trade-off for video conferencing providers, where the network topology has limited achievable performance in many conversation types. Consumers have also suffered under this scheme, as only the biggest companies have been capable of delivering a system that performs in a wide enough range of conversations to grow sustainable. This has limited innovation and made it hard for new providers to enter the market. This thesis demonstrates how a video conferencing solution can be built using a hybrid network topology, to combine the best properties of peer-to-peer and centralized topologies. For providers utilizing a centralized topology, adopting this work can yield lower costs and better performance for users, while providers utilizing peer-to-peer topologies today can increase the capacity and coverage of their service. The proposed system dynamically selects the best topology for a given conversation based on characteristics of each device in the conversation, and will balance routed video to best suit each device. The solution is extensible to include arbitrary characteristics of each device or network link when balancing, and special-purpose nodes like supernodes, Selective Forwarding Units (SFU) and Multipoint Control Units (MCU) can further enhance the quality. Conversations are modelled as multi-commodity flow networks, and can be solved by any standard LP-solver. Non-linear properties like queuing delays are approximated by piecewise linear functions. The peer-to-peer video conference solution appear.in is benchmarked, to see how well peer-to-peer services perform over WebRTC, and to illustrate the potential for a solution that can transcend the boundaries of peer-to-peer. The benchmarking results show severe performance issues for Firefox in constrained conversations, and more moderate potential improvements for Chrome. Tools to assist the benchmarking were developed and is included in the appendices.