Today, we are happy to announce yet another significant milestone in the technical evolution of the OpenTok platform – dynamic traffic shaping for audio and video through our Mantis infrastructure. We are now optimizing the experience for every participant in a multi-party call.
WebRTC is essentially defined as a peer-to-peer protocol for real-time browser-based communication. The problem is that countless real-world applications require multi-party support. So eight weeks ago we unveiled Mantis to solve this. Mantis is our next-generation cloud-scaling infrastructure that enables developers to deliver bandwidth-efficient multi-party WebRTC support.
At that time, we promised to continue innovating to deliver an intelligent OpenTok infrastructure. As of today, Mantis has traffic shaping capabilities, the first enhancement of which is audio-fallback. If for instance one participant in a multi-party call has poor download bandwidth, Mantis can intelligently detect it and automatically switch them to “audio-only” mode. All without penalizing the rest of the subscribers who will continue to get both high-quality audio and video.
The standard WebRTC approach to optimize for network conditions in a four-person call would be:
- User A publishes independently to Users B, C and D.
- User A has good upload bandwidth and Users B and C have good download bandwidth.
- User D has poor download bandwidth and is not able to subscribe to User A’s stream in a bandwidth-efficient manner.
The easiest approach to this problem would be to downgrade the quality of User A’s stream to the lowest common denominator. In this case, the maximum quality which User D can subscribe to. But this essentially penalizes Users B and C.
Tailored audio/video stream delivery
As you can imagine, this problem is exacerbated in large multi-party calls or even in smaller calls with mobile participants who may be moving across networks with high-variability. With the new quality enhancements, Mantis separates the audio and video streams from User A as required, and repackages it according to the subscriber’s network conditions. This traffic-shaping capability in Mantis paves the way forward for us to deliver other potentially interesting features and more intelligent algorithms for dynamically optimizing for varying network conditions.
Traffic shaping in real-time
Mantis continuously monitors network conditions and dynamically applies audio fallback if conditions deteriorate sufficiently. That means that if you start your call in a location where you have good network coverage and then walk into an area with bad coverage, your subscriber will fall back from audio/video to audio-only mid-call.
This is made possible by a slew of internal components which we have developed as part of our OpenTok cloud.
We use several mechanism such as RTCP to collect statistics about the quality of streams in a multi-party call using Mantis.
We leverage Symphony (our specialized call-control server) and Rumor (our messaging fabric) to aggregate statistics and be able to make intelligent decisions to assess the current quality of streams in a call. We use this as the foundation for how we in real-time track quality statistics and shape the media traffic appropriately to react and deliver the best possible “Quality of Experience” to end-users.
This is just the start of a series of quality enhancements we plan to ship as part of the OpenTok cloud. OpenTok developers can deliver the best possible experience to every single call participant, while avoiding flooding upstream bandwidth, and without having to write complex network management code themselves.
Mantis is now in external beta. If you are interested in taking it for a spin, please contact us.
[UPDATE] Good news! As of 10/1/13 Mantis is available in production. That means you no longer have to email the TokBox team to request access. Mantis is subject to the new OpenTok platform pricing which you can review here. Free access to Mantis is available through our new 30-day free trial.