Do you know much about data communications networking structures?
The most common type of network you are likely to come across is is what is called a client-server network. The local device, the phone in your pocket, the computer on your desk at work, register themselves with a big fat central machine, and as the client then make requests that the central machine provide services. Your phone, for instance, along with every other nearby phone, registers with a local base station and asks that that station provide the service of relaying on telephone calls, SMS texts, Internet accesses and so on. As you move around the phone detects which of many base stations have the strongest signal and continually re registers with new ones as you pass them. Of course, when you get out into the wilderness the phone can be stuffed, no station signal strong enough to allow registration or communication.
Thing is, it isn’t just wilderness areas where communications can drop away either. Consider a natural disaster, an earthquake in a city, or a wild fire in the countryside, where the local base station infrastructure can be wiped out; situations where communications are critical but suddenly non existent?
With current client server models you are stuffed.
Ok, an alternative to client server is what is called a mesh network. Each node is capable of detecting every surrounding node, and they all cooperate in broadcasting their presence and telling one another what they are capable of. One node may have a printer attached, and tells all the other local nodes they can use it. Another may have Internet access, and tells everyone else that if they need this then it will take care of it for them. And so on. Not only that, but the information can be relayed. Node A has a printer, and tells node B, to which it can talk. Node B tells node C that it can relay a print request, even though C is too far away to detect node A, and node C then tells node D, and so on. Access to services can be spread far more widely than any one node can broadcast.
In a mesh every node can be equal, and it can reconfigure itself as nodes move around, leave or join. All without any human users being involved.
So, here in Oz we have occasional bushfires where big, I mean really big, fires across a broad front devastate bushland, rural communities and even some not so rural places as well. Local services get all sort of holocausted and vast numbers of people are displaced, and yet more people come into the area providing emergency services. You think the phone system can cope? With the simultaneous destruction of stations and the enormous spike in demand? Nope, neither do I. The ability to communicate disappears just when lives and property depend on it. Client server is a powerful tool, but in this case its degradation is more catastrophic then resilient.
What to do?
Some little time ago I was listening to the car radio and some bloke from the University of Adelaide was discussing precisely this problem, and presenting a solution.
Let me introduce you to Serval:
Serval is revolutionary, free, open-source software under development for mobile telephones, letting them communicate even in the absence of phone towers and other supporting infrastructure.
The way it works is to transform your (Android) handset into a node on an ad hoc mesh using your wifi service. Your phone is unchanged otherwise – it still works as normal when a base station is available, but the Serval software allows adjacent serval enabled phones to link to one another over wifi, and pass on calls.
So, if you are in an area where there is no service, and your phone can talk to another locally, you can still speak to one another, and then to a third relayed through the second, and if the fourth, or fifth, or sixth, does happen to be adjacent to a working base station the call is relayed to the rest of the world.
I’ve got Serval loaded, after all, who knows? There may be an earthquake here tomorrow.
The other reason I noticed?
Well, it’s a kitty kat of course, one more to add to the count.