Data channels have more in them than just instant messaging.[If you are new around here, then you should know I’ve been writing about WebRTC lately. You can skim through the WebRTC post series or just read what WebRTC is all about.]
To start off 2014, after the acquisition of PeerCDN, I decided to write a few posts about the data channel. This is the first one.
When people refer to WebRTC, they state it enables voice, video and data. The data part is usually then placed in the connotation of text chat and “beyond”. That was how I referred to it, until I saw what people who don’t come with the baggage of VoIP and video conferencing that I carry around with me do with it.
Here are 7 different uses that vendors are employing or talking about when it comes to data channels:
1. File Sharing
One of the first obvious options is the ability to share a file between two browsers. Sans a server.
Think of it as “YouSendIt” without any limit to file size. Or Dropbox sharing without the hosting.
Of course you need to have the browser up and running on both ends, so there’s no asynchronous nature into it, but it does reduce the bandwidth required and it adds privacy as to who has access to the file being shared.
2. CDN Augmentation
What to reduce the load on a CDN when multiple browsers are accessing the same resource? Why not use the data channel to have them send pieces of that resource between themselves? That’s exactly what PeerCDN did before it got acquired.
Also known as “peer assisted delivery” or “P2P CDN”. There are a few vendors in this domain, each with its own angle towards the problem.
3. Bit Torrent on the Web
Take 1 and 2, bunch them together and you get bit torrent running on the web – the ability to share a file from one source on the web with anyone, but have those who access that file collaborate between them to get it.
Taken to the extreme, why not allow a web browser participate in a real Bit Torrent session?
4. Low Latency Networking
Since we can reach direct between browsers, we can use the data channel to create a low latency network, where data is shared directly without going through servers on the way.
Usually, this is indicated as suitable for multiplayer games. There’s more to it than that though.
5. Serverless Networks
How about using the data channel to create web servers inside browsers? This can reduce the need for “real” web servers to run services, and use those only as points of access into the dynamic network that is created ad-hoc.
There are a few trials and attempts in this area – there’s an interview of such a project this Thursday.
6. TOR Replacement
TOR is the anonymity network that is used by the shady parts of the internet. It is built out of multiple servers who delegate requests and effectively anonymizing the traffic passing through them.
The problem is that you are trusting these servers to offer privacy, making them not only the single point of access into the network, but also the single point of security risk. It got hacked by the Feds – or so it is said.
Doing the same using a drastically larger number of web browser nodes increases the chance of privacy – especially when it is all created and gets torn down in an ad-hoc fashion.
7. Privacy in Search Engines
Know Blippex? It is a search engine that plans on giving better results than others. It does that by following the people searching on it to the page they decided to go to – and checking how much time they spent them – effectively understanding how relevant that search result is by how much time the person really uses the result. This is a breach in privacy – but Blippex states they are maintaining that privacy by using the data channel to offer that anonymization – passing the search data by delegating it via other browsers.
That’s a handful of the things I have seen, though I heard of others as well – from large-scale private signaling networks to M2M filtering techniques.
Got use cases for me on the data channel? Write them down in the comments.