Hive Tech Blog
NEW TECHNOLOGY: HIVE.JS DELIVERS HIGH-QUALITY AND ON-DEMAND VIDEO CONTENT DISTRIBUTION ON BROWSERS
Eliminating HTTP Protocol Bottlenecks Through Caching HTTP Networks
Today, we reveal the project that we’ve been working on for the past year! It’s our new distribution technology, called Hive.js. Hive.js is based on our signature cutting-edge algorithms for efficient video distribution and is built on top of WebRTC. Read below for a full description of our new technology.
Hive.js is a scalable, web-based solution for the delivery of high quality live and on-demand video in the browser. Hive.js was designed to distribute video using all popular HTTP-based adaptive bitrate protocols, such as DASH, HLS and HDS using WebRTC, a new standard for browser-to-browser communication.
Hive.js is a new implementation of the same algorithms that power our installable Java-based software, whose performance has been widely documented in multiple publications and whose novelty has been outlined in multiple patents that detail Hive’s theoretical, implementation and deployment aspects.
The main challenge of delivering HTTP-based live streams is the unicast nature of the HTTP protocol. This creates a potential bottleneck at the source of the stream with a linear increase in bandwidth demand as the number of viewers increases. A natural approach, which is also the primary solution to handle capacity issues for normal HTTP traffic, is to introduce caching. For HTTP-based video content, this is the only available solution since no multicast support has been implemented yet.
Caching HTTP video content on the Open Internet is commonly done using Content Distribution Networks (CDNs). CDNs have the advantage of providing high throughput and low latency. However, this is only the case if the CDN deployment comprises of nodes in proximity of the viewers and, most importantly, if those nodes have enough capacity to support the amount of concurrent viewers watching video content at any point in time. That is not always the case, as CDNs are mostly dimensioned to handle average load rather than peak load. Performance issues in CDN video delivery are common and well documented.
Hive solves the aforementioned performance challenges by providing a software-based CDN that efficiently delivers video streams using readily-available resources in a customer’s network. The result is a video distribution process that utilizes only a fraction of the capacity of a standard CDN. As a consequence, while using Hive.js: i) distribution costs are greatly diminished, and ii) threre is no need of deploying and managing new expensive hardware to handle the required amount of load, even during peak traffic periods.
In our deployments, Hive.js has shown to significantly diminish the load towards the source of the content. Typically, only 5-10% of the content is retrieved from the CDN/streaming server during broadcasts. Besides that, it also provided a quality of user experience that is on par with classic CDN deployments in terms of buffering time and buffering occurrences. That’s because, unlike other software-based CDNs, Hive.js is designed to achieve outstanding quality of user experience first, that is at least as good as a well-dimensioned CDN, before trying to minimize the load on the source of the broadcast.
Hive.js will be available in the next few months. Stay tuned for more news.
For more details about our technology hivestreaming.com/research.
Head of R&D