It is not often that one gets to read a manifesto, but that's exactly what you get in Francis daCosta's "Rethinking the Internet of Things: A Scalable Approach to Connecting Everything." Why a manifesto? Because although the author agrees with the commonly accepted view that the Internet of Things (IoT) is the next big thing, he makes a strong case for the position that, simply put, almost everyone is thinking about it wrong.
People, he argues, are focused on the question of how to get addresses to the billions, or actually hundreds of billions, of devices that will make up the IoT. And, so, they focus on the complete rollout of IPv6 with its massive address space, and then leap to the conclusion that once all of these devices have their IPv6 address, the IoT is inevitable. daCosta, however, puts that assumption to the test. The question he asks is, what are these devices that will make up the IoT, what will they be trying to do, what will they need to do it, and how much complexity can they support? His answer is that most of the devices will be conveyors of very small pieces of information (a rain gauge here, a heat sensor there) that will will only become interesting when aggregated into larger sets of information. (Infinitesimal data to small data to big data.) Burdening these devices with the cost and complexity of a full IP stack, says daCosta, is unreasonable, impractical, wasteful, and, worst of all, detrimental to the promise of the IoT. That promise, he writes, is the ability to "gather data from interesting end devices ... discovered by searching out small data streams from specific classes of device, location, or other characteristics." IP, with its technical complexity (read: "cost") and inherent point-to-point nature, is ill-suited to the problem of making small amounts of data from simple machines generally available to more complicated machines that will be able to make use of it.
The solution daCosta proposes takes, as its inspiration, an unlikely model of massive information transfer -- the natural world. The author writes that nature has solved the problem of how to move small bits of information from one place to another in a way that can massively scale in much the same way that the IoT will need to do. At the heart of the idea is the concept of a receiver oriented design, and the recognition that any single piece of information is likely to be unimportant, and small, and that massive redundancy is a way of ensuring that messages are received. So, for example, daCosta takes the example of flowers and pollen. When flowers spread pollen to other flowers, they don't set up point-to point connections to ensure the delivery of the pollen, with appropriate ACKs and retransmissions in the event of transmission failure (the IP model). Rather, flowers send out massive amounts of pollen via whatever vectors are available (wind, bees) because the arrival of any specific pollen grain is unimportant. And it's much less costly to simply send out a lot of pollen then to create the signaling necessary to ensure pollen delivery from one flow to another. The only thing that is important is that some grains do reach a compatible flower. And on this point, again, it is the receiver who decides whether the pollen that reaches it is interesting, or not. Rose pollen reaching an oak tree will be ignored. Reaching a human nose it may cause sneezing. But when reaching a rose, it will result in incredible beauty.
So it is, daCosta argues, with the Internet of Things. There will be massive numbers of small devices sending individually unimportant pieces of information which he calls, in a nod to the inspiration of his idea, "chirps". Birds chirping is another example of the use of highly redundant, small pieces of information intended for any receiver that knows how to make use of them. Any given chirp is not important, but the information that the device is trying to chirp may be important. As it is in nature, the IoT can use massive redundancy of any given, tiny message, to ensure eventual delivery. And these chirping devices need not be burdened with the high costs and complexity of an IP stack. Simpler, cheaper, more effective devices will suffice. More than suffice, actually. It is this model, and not a pure IP model, that will allow the IoT to scale to accommodate the coming wave of connected devices.
The manifesto does not stop there, however. daCosta lays out a complete description of how these small chirps will be gathered up by more intelligent receivers, and how these multitudes of small data streams will be groomed and aggregated into, finally, big data streams that will be delivered to traditional Internet applications for collation, analysis, and decision-making. The book is not short on detail, and if you are interested in bits and bytes, daCosta offers those up as well in, for example, his "Skeletal Architecture of Chirp Packets". But for this reader, those details are secondary to big idea that this book presents: that the coming IoT presents challenges not seen by the current Internet, not solvable by simply having more addresses, and analogous in many ways to natural systems which offer useful blueprints towards a solution.
One brief aside. This book contains sentences like this one: "Over time, an agent-based, machine-to-machine social network emerges, tapping into the full richness of data offered by the Internet of Things." If after reading this book you aren't starting to see how the world of "The Terminator" can come about, and aren't starting to believe that it actually might be possible, you must not have read the same book I did.