Through a twist of fate, I stumbled across this paper by Rohit Khare and Adam Rifkin. I’m pretty sure I’ve heard the concept previously (probably because the paper is almost six years old). The paper addresses the concept of ‘munchkins’, which are described:
Munchkins represent a gedankenexperiment analyzing the possibility (and desirability) of decentralizing routing, naming, and accounting services to an unprecedented degree to enable ubiquitous, untethered computing. A “munchkin” is an extremely cheap (on the order of cents), extremely low power (read: asynchronous chip technology), wireless (or at least untethered), multiway, communication device about the size of a golf ball that will be available in such quantities around the world (say, trillions, possibly quadrillions) as to achieve “true ubiquity”.
I say it is a twist of fate because at a similar time I stumbled across some screenshots from the new HP iPaq. One image that caught my eye is shown at right. It shows the connection configuration page, with buttons for GSM, GPRS, Bluetooth, Wifi, and the settings thereof. Why!?
I’ve had many and varied wireless experiences in my time: the intracacies of setting up a CDMA modem to work with a Pocket PC; the foibles of connecting to a public wifi hotspot with a laptop; or the sheer craziness of connecting a bluetooth cellphone to a PC. I commend HP for attempting to reduce the complexity of these tasks, but at the same time wonder why it can’t be taken further. Why should a user need to decide when to enable one or all connectivity options? Sure at the moment there are costs involved, but with the emergence of flat-rate cellphone data plans and open public wifi hotspots, I believe that cost decisions will become less and less of an issue. In any case, surely a (slightly) enhanced version of routing ‘metrics’1 could be employed to help the device decide on the best route and/or connection medium? I alluded to this here, when I said
If I had my way, my phone would poll for nearby devices and (securely) find its own data connection to my PC via some sort of intelligent mesh-network.
I believe Khare & Rifkin’s munchkins were what I was looking for. Their paper also assumes that munchkins are incorporated into any and all consumer devices. This means that (with munchkin technology) when I am sitting at the local asian food hall and wish to check my email, my phone would connect to the nearest munchkin, which might happen to be embedded in the cellphone in the pocket of the guy at the next table. In turn, his phone would discover the munchkin in the POS terminal at the Thai-noodle stand. Now the POS terminal knows how to connect to the
So the Thai-noodle guys end up incurring a cost (of a phone call and/or an ISP connection). Khare & Rifkin deal with this using what they called ‘kudos’:
I get some kudos every time I agree to spend power routing someone else’s messages for them, and I spend some kudos every time I request information or send messages of my own.
In my mind you would have to extend this kudos system to allow for monetary equivalence. I don’t imagine the Thai-noodle guys would need to download anywhere near the amount of bits that they would upload to cellphone users on a given day – especially if we assume that standard cellphone calls now go via
Likewise I imagine that I would end up downloading a lot more than uploading (at least with the cellphone). This is easily solved: my $30 monthly fee to my current service provider instead becomes a $30 automatic payment into the kudos bank.
It all seems to make so much sense, but like many such technologies I imagine it would never happen. Maybe one day when the underlying infrastructure has paid for itself, and connectivity is commoditised further…
1: In TCP/IP routing, each available connection (aka route) can be assigned an integer value called a metric, which denotes the ‘cost’ for this route (it might relate to the speed or availability of the connection, or perhaps the literal dollar cost involved in using that connection). The higher the metric value the higher the cost. When deciding on how to route an IP packet, the device takes the metric (or more correctly the sum of all metrics for the entire route for the packet) into account.