Swirl[PPSPP implementation in Erlang/Swirl -- till 2014/12/01]
Current peer-to-peer traffic on the internet happens in a wide variety of often application-dependent protocols, limiting growth and innovation. A working group of the IETF has in recent years been developing the Peer-to-Peer Streaming Peer Protocol (PPSPP) to establish a safe, modern standard in this area. NLnet considers a mature standard for P2P applications an important building block for the future of the internet.
Swirl is an open source reference implementation of the PPSPP proposed standard in the Erlang programming language. The Swirl project is led by Dave Cottlehuber (Austria).
- The project's own website
Tomorrow's internet will bear little resemblance to that of today. The protocols we use today are not suited to scale and handle the growth of video traffic, changing connectivity types and the rise of mobile devices, and the shift towards Peer-to-Peer traffic.
This project aims to provide and promote a working solution to these problems, by implementing the IETF draft Peer-to-Peer Streaming Protocol, aka PPSPP.
"Allow anybody, anywhere, to share or live stream their content, in the small or at scale, securely and efficiently, from any device, without being dependent on centralised storage or services, using a free & open protocol".
Mobile devices are now the primary means of accessing the internet, and peer-to-peer protocols like BitTorrent are taking over from HTTP for shifting and sharing data, driven by the explosion in video, high-resolution images and audio, even as global internet usage continues to grow.
Globally, mobile data traffic will increase 13-fold between 2012 and 2017. Mobile data traffic will grow at a CAGR of 66 percent between 2012 and 2017, reaching 11.2 exabytes per month by 2017. Global mobile data traffic will grow three times faster than fixed IP traffic from 2012 to 2017. Global mobile data traffic was 2 percent of total IP traffic in 2012, and will be 9 percent of total IP traffic in 2017. -- Global Consumer Internet Traffic, 2012-2017, Cisco.
Today's reliable and stable connection from a single location at home or work, is being replaced by temporary and irregular connections through different providers and connections, as users roam over VPN, public wifi, and home wifi via broadband, on GSM and LTE cellular networks.
Internet video streaming and downloads are beginning to take a larger share of bandwidth and will grow to more than 69 percent of all consumer Internet traffic in 2017 -- Global Consumer Internet Traffic, 2012-2017, Cisco.
The primary type of traffic on the internet (by volume) is now video media, with YouTube, Netflix and similar services representing more than half of all traffic in most regions. The growth in video content has been so significant that it has pushed the proportion of peer-to-peer data consumption down even though both have risen significantly in total volume.
In North America's broadband usage, video content was already 68% of all downstream traffic, comprising 17% YouTube and 32% Netflix. HTTP by comparison is 11% only. Peer-to-peer traffic comprises a staggering 40% upstream traffic, and a much lower 6% downstream. Similar trends are present across the globe.
Commonly-used protocols such as TCP and HTTP suffer from slow startup times before content arrives, unnecessary metadata and are not ideally fitted to streaming data volumes in near or real-time, to multiple endpoints, and many existing proprietary P2P protocols have typically focused on static file sharing, needing enhancements to enable live streaming support.
From the carrier or operator perspective, every proprietary solution requires custom integration into their network, including traffic shaping, billing, and caching technologies.
For the end user, this means lock-in and spiralling complexity as each P2P network requires a separate tool or plugin, with sporadic support across their devices, from PCs, tablets, smartphones, home routers and their ISPs.
The IETF draft Peer-to-Peer streaming protocol, known as PPSP, offers a royalty-free open standard that has been designed from the ground up to fit in this complex environment, with features like fast start-up time, & full encryption, and can be implemented in embedded devices like tablets or smartphones, or in carrier-grade facilities to service large user groups for events like football matches and movie distribution.