After a particularly
interesting chat with Mr Jackson about peer-to-peer and how it's working quite differently in some countries where symmetric side-networks have cropped up, we ended up at the topic of mesh networking with wifi.
Ideas like Consume popped up years ago, but these have appeared to stall - the idea was perhaps too grand or before its time. Networks like Fon allow you to share your wifi in a moderated way - but to my mind the really interesting idea is the establishment of a side-network between the nodes in your area.
Chris thinks that a USB dongle that connects to your secondary media network is the way to go, and while I think it's a good and cheap entry point - I think that the answer is the creation/modification of a sufficiently powerful router.
Your router is designed to be on 24/7, so its continuous presence helps to keep the network sufficiently meshed to be useful. Even when you're not downloading anything, your router could be the machine bridge between two nodes that could be sharing content.
Your router can also make this entirely transparent to either your computer and the protocols running over it. There's nothing to stop you adding this routing functionality to your desktop operating system, but suddenly you're into kernel extensions and the like to create the idea of multiple routes to certain hosts - and that increases the support impact to my mind (the interaction between the Side-Net and a firewall could be unpredictable for example) - keep it all in the network domain and any computer with any OS can take advantage.
So yes, a reasonable smart router, perhaps linux based, ideally with two wireless interfaces, one to do external meshing and one to be your local network. With a bit of custom development or deployment of existing stuff, you could have it set up to handle handover between connections over the side-net and the internet - perhaps even checking latency and loss with pathfinder packets across the side-net. None of this is particularly complicated, and can really be done with extra communication over the TCP/IP stack. I suspect that you'd run the side-net as IPV6 to take advantage of the larger address space that could make that routing simpler.
The other thing I think that is worth doing is some kind of basic encryption functionality. This is a side network, you're explicitly not going to route to the internet over this, (although the possibility of connecting back to your local network over a VPN is an interesting one if you're in your neighbourhood). Encryption is useful though for giving nodes a defence against being seen as an illegal distributor.
If people are using your mesh node to get to another node, with encryption in place you don't know is being transferred. It's an opaque bag of bits, I can't be blamed any more than the post office can for carrying a threatening letter. Is that evasive? Well yes, but it is just a network, it can be used for good, it can be used for bad. Most Bittorrent is now encrypted anyway, to get around the traffic shaping put in place with ISPs.
The attitude of telcos to this could be interesting, assuming that it took off, their much touted breakdown under the sheer weight of Kontiki could be lessened, assuming that people are downloading the same shows on iPlayer or 4OD everywhere. If anything they should thank us for freeing up their precious upstream bandwidth they are worried about.
As Chris says, boot-strapping this will be the problem, it's very much a chicken and egg situation. And it does require some development/implementation in firmware of some protocols to handle the identification of nodes and the routing overlay that would mean that protocols don't need to know that they are talking to a node over the side-net, because it just happens transparently - pretty much routers and the internet doing what they are meant to anyway.
For all that complexity though, this idea has really sat on my mind. If ISPs are going to threaten to bandwidth limit, traffic shape or similar, consumers could very well just work around this, and get a potentially massive increase in download speed for popular items as a result.
Comments
Seems important to me to get this working with as little central effort as possible. Ideally:
1. it would work with minimal firmware/software mods to a range of common hardware
2. no new protocols are required - the router/USB dongle just offers a new route to the main IP address as used for the interface to the conventional protocol
It would be amazing if the only standard required was the name of the mesh network. If the central effort is kept to a minimum I think it might just be possible to get past the chicken/egg thing.