Monday, June 06, 2011

Personal Mesh Nodes

One of the things I do pretty regularly is come up with science fiction settings. One feature that keeps intruding into my worlds is personal augmented reality. When everyone can look through their phone or glasses to see the world in another way, what does that mean for everyone?

One thing most people overlook is the fundamental technology behind this kind of widespread augmented reality. It implies that everyone has a strong computer - stronger than an iPhone - that is always being used to access local data. If we think in terms of a "super cellphone", we can see that the device must more or less always be transmitting and receiving tons of data from the cell towers. This is not ideal.

The solution I keep coming back to is local mesh networks. Since augmented reality heavily mixes in local stuff, it makes sense to communicate with other local devices instead of saturating the sky with long-range communication. While some stuff will still be non-local, a surprising amount of it can be made local with the assumption that nodes will have terabyte caches of random crap.

The key here is in the mix of mobile (personal) nodes and immobile (local) nodes. Your local Starbucks has their own (quite powerful) node that they make sure is always cached up-to-date with Slashdot and other geek media sites for maximum speed. It is connected to the Starbucks across the street, of course, and the Starbucks down the block... but these local nodes are also connected to every other random local node within range, including your apartment, the department store, that parked car...

Some of these nodes can connect to the internet, some cannot (except by routing through one that can). However, whether they can connect to the internet or not, they can serve up local information and perform local analysis.


Aside from developing this kind of scenario out of curiosity, what purpose does a distributed, largely anonymous mesh network serve? Isn't the internet a better choice?

When considering a scifi setting that's supposed to be reasonably hard, you have to answer these sorts of questions. Why did the mesh network come to be? What are its strengths and weaknesses? What purpose does it serve?

The answer is "an internet of things", to use an already-trite phrase.

"Things" can and will produce and ask for more and more data. Right now, we think in terms of price tags that automatically update and coffee pots that know when they're empty. But those are miniscule baby applications.

It's not unreasonable, especially if you're thinking in terms of scifi, to assume that things will become a whole lot more active. In a dystopian future, your TV watches you as much as you watch it, your clothes will whine and complain if you walk by their brand's store without shopping, your cell phone will constantly track and predict your paths to better bombard you with ads.

But dystopia is not the only place where objects are smart. Even in a utopian setting, items can be very smart and talkative.

Small ways are obvious - your clothes might track when they get tattered and alert you, your chair might detect that you are sitting in it (as opposed to someone else) and assume an ideal firmness and shape, your TV can auto-detect the signal and set its resolution correctly without you having to memorize the complexities of the menu interface...

But these reactive devices are not what I'm talking about. I'm talking about devices that buy and trade information. Huge amounts of information. Terabytes a day.

Your phone tracks the state of the network, keeping the mesh map up to date and plotting which hubs to rely on, always striving to get access to more restricted hubs for better speed. Your shirt constantly communicates with all the other clothes and adaptive murals in the region to cooperatively form a kind of mass artwork that expresses you as well as participating in the whole. Your AR gear constantly talks to the local nodes, "selling" them topological information that it can pick up with its camera in exchange for topological information it can't quite see.

The internet doesn't have infinite capacity, and cell phone communications have even less. Fundamentally, the centralizing protocols the internet uses are inappropriate for an "internet of things", no matter how many integers we increment them by. A mesh network is really the only answer.

Mesh networks have the issue that they are fundamentally decentralized, which is bad from the point of view of a corporation. Centralized information stores allow corporations much more capability to analyze, leash, and abuse their customers, so that's naturally their preference. However, less corporate devices will benefit most from talking to other devices of similar types, rather than simply serving as snoops for their hidden masters. In a utopian setting, talkative devices are largely loyal to their owners rather than their corporations, and may even be manufactured using 3D printers in someone's basement.

Right now, it probably seems like talkative devices are pointless and useless. However, they're almost guaranteed to be part of our future, much as your branded jeans and your lattes and your Youtube videos would be seen as pointless and useless luxuries fifty years ago. Unlike lattes and branded jeans, talkative devices might actually be helpful in the long run, assuming a view that is more utopian than dystopian.

Either way, in a scifi setting, mesh networks lead to a rise of things. In my settings, this is usually accompanied by a rise of AI agents and virtual pets - interactive things that the readers or players can get an intuitive emotional feel for. An equally interesting idea is that humanity will integrate the software agents into their personal feeling of self. Your shirt is an expression of your personality and will, there's no need for it to have an independent "face" for you to deal with...

Anyway, random talk.


Anonymous said...

4G wireless, with its user-owned base stations, and bluetooth as well, are starting to "mesh" like this. I know you've been thinking about this for ages, but a vocabulary has developed for this. Now we call it "ad-hoc networking", and on the carrier side there is Self-Organizing Network (SON) technology that is even self-healing when a node goes down.

The original proposals for LTE Advanced included each person's phone relaying signals from the others as ad-hoc base stations. The challenge there is getting people to let go of their bandwidth a little so that -everyone- can have bandwidth.

Craig Perko said...

Yes, I used "mesh network" instead of "ad-hoc network" or "self-organizing network" because "mesh network" is what I mean. The "mesh" is the critical part: although it is technically ad-hoc, the critical element is the juxtaposition of a fairly unchanging immobile mesh and the always-changing mobile nodes that pass across it.

A major, major issue with modern real-world implementations is that allowing strangers access to the internet on your network is a huge technical and legal minefield. You can get in trouble if they browse to something illegal, and it's easy to sniff packets...

I'd be happy to let strangers have some bandwidth if A) I couldn't be arrested for it and B) neither I or they could track the specifics of the other's traffic.