RTCWeb/Webrtc

RTCWeb/Webrtc

Die Nutzung des Internets für integrierte Audio- und Videokommunikation verbreitet sich immer mehr. Zurzeit gibt es dabei eine Vielzahl proprietärer Lösungen, z.B. Skype, Facetime oder Google Hangouts. Diese Lösungen haben den Nachteil, dass sie die Installation von proprietärer Software erfordern und nicht interoperabel sind. Deshalb arbeiten IETF und W3C gemeinsam an einer standardisierten Erweiterung für Webbrowser, die eine direkte Echtzeit-Kommunikation zwischen Browsern für mediale (Audio/Video) und nicht-mediale (allgemeine Daten) Anwendungsdaten ermöglicht. Hierbei werden die Kommunikationsprotokolle von der IETF Arbeitsgruppe RTCWeb und die entsprechende Programmierschnittstelle (Javascript API) von der W3C Arbeitsgruppe WebRTC entwickelt.

Der Protokollstapel, der unter der Bezeichnung RTCWeb beim IETF spezifiziert wird, muss eine sichere Kommunikation über NAT-Grenzen (Network Address Translation) hinweg realisieren, die sowohl Medien- als auch Nicht-Medienströme umfasst. Dazu werden bereits vorhandene Protokolle in einer neuen Art kombiniert. Das Transportprotokoll SCTP (Stream Control Transmission Protocol) ist einer der Kernbausteine der RTCWeb-Architektur und steht mit seiner Überlastkontrollfunktion im Fokus dieses Projektes. Die neuartige Kombination bestehender Protokolle im RTCWeb-Kontext soll im Rahmen dieses Projektes systematisch untersucht, verbessert und erweitert werden.

Von besonderem wissenschaftlichen Interesse ist, wie die vielfältigen Medien- und Nicht-Medienströme mit ihren unterschiedlichen Anforderungen und Eigenschaften im RTCWeb-Umfeld so koordiniert und gesteuert werden können, dass sich für den jeweiligen Anwendungsfall ein den Erwartungen des Nutzers angemessenes Verhalten ergibt. Bei RTCWeb sind die unterschiedlichen Ströme innerhalb einer Anwendung gebündelt. Somit besteht die Chance, die verwendeten Mechanismen - besonders die Überlastkontrollen - aktiv zu koordinieren.

Im Falle von RTCWeb bedeutet das, dass eine Anwendung mehrere Datenströme kontrolliert und gegebenenfalls erkennen und reagieren kann, wenn sich die Datenströme gegenseitig negativ beeinflussen. Im Falle von RTCWeb ist dies sehr einfach, da die gängigen Implementierungen (z.B. Mozilla Firefox, Google Chrome, Microsoft Edge) nicht auf die Implementierungen der Transportprotokolle im Betriebssystemkern zurückgreifen, sondern eine eigene mitbringen, welche in der Anwendungsebene ausgeführt wird. Dadurch werden RTCWeb-spezifische Anpassungen erheblich vereinfacht. Momentan sehen wir die Kopplung der verschiedenen Überlastkontrollmechanismen als den vielversprechendsten Ansatz für die erfolgreiche Reduktion der Ende-zu-Ende-Verzögerung.

Unsere Forschung hat gezeigt, dass durch eine Kopplung der Transportströme Warteschlangenverzögerungen im WebRTC Protokollstapel minimiert und gleichzeitig trotzdem hohe Datendurchsatzraten ermöglicht werden.

Zusammenarbeit und Finanzierung

Das Projekt wurde gefördert von der DFG (Deutsche Forschungsgemeinschaft). Durchgeführt wurde es in Zusammenarbeit mit der Gruppe von Prof. Tüxen an der Hochschule Münster.

Relevante Publikationen

Becke, Martin; Rathgeb, Erwin P.; Werner, Sebastian; Rüngeler, Irene; Tüxen, Michael; Stewart, Randall R.:
Data channel considerations for RTCWeb.          
IEEE Communications Magazine, vol. 51, no. 4, pp. 34–41, 2013

Flohr, Julius; Rathgeb, Erwin P.:
ROSIEE : Reduction of Self Inflicted Queuing Delay in WebRTC
Proceedings of the 29th International Teletraffic Congress, ITC 29 - International Teletraffic Congress, 4-8 September 2017

Flohr, Julius; Volodina, Ekaterina; Rathgeb, Erwin P.:
FSE-NG for managing real time media flows and SCTP data channel in WebRTC
2018 IEEE 43rd Conference on Local Computer Networks (LCN) - 43rd Conference on Local Computer Networks (LCN), 1-4 Oct. 2018 - Piscataway: IEEE Computer Society, 2019, S. 315 - 318