The wave analogy is apt, I think, because the Internet has been coming at us in waves. We create the waves because we want to ride them, like surfers shooting through the Banzai Pipeline, but our skills are about to be severely tested.
The first wave was a network of computers that swelled to encompass hundreds of millions of systems, all connected, all continually exchanging data.
The second wave, the one we're riding now, could be described as a network of things that embed computers. It's made up of wireless phones, two-way pagers and other handsets, game players, teller machines, and automobiles. In short, billions of potential connections.
The third wave is on the way, and even as we create it, we need to prepare ourselves; it's shaping up to be a regular tsunami. I call it a network of things. Trillions of things. Things you'd hardly think of as computers. So-called sub-IP (Internet Protocol) devices such as light bulbs, environmental sensors and radio-frequency identification tags.
In the first wave, the Internet connected machines, and people tapped in when they could. The second wave is making the connection more or less continuous. The third promises to make it virtually indistinguishable from the various aspects of daily life.
If we don't rethink the way we design computers...we may find ourselves eating sand when the next wave hits.
Soon we'll be able to add miniature ID tags to all kinds of products, so we can instantly discover not only the price of the item, but where and when it was made, how it was delivered, and a host of other useful data. We'll be able to track in-transit temperature fluctuations that can affect the expiration date of a medication or the freshness of food.
Such tags cost about 50 cents to make; as the cost comes down, we'll begin to see them on more and more items. Each will have its own digital signature and a presence in cyberspace, which promises to enhance the efficiency of the whole supply chain, from maker to user to recycler.
This is science, not fiction. But the unprecedented scale of this third wave--and the incredible diversity of devices and interfaces--makes the challenge quite obvious: How on earth is anyone supposed to manage all this?
If we don't rethink the way we design computers, if we don't find new ways of reasoning about distributed systems, we may find ourselves eating sand when the next wave hits. Over the past couple of decades, the definition of a system has remained constant amid rapid refinements. The components have always included microprocessors, disks, memory and network input/output. In the decades ahead, things will look much different: Computers, storage systems and IP networks will be the components.
We must learn--and are in fact learning--to virtualize the elements of the network to create a single pool of resources that can be dynamically allocated.
What's more, virtualization will make it possible to take distributed applications from concept to wide-scale deployment far more quickly. Just carve out the resources you need and light up the application. It should be no more difficult than running an application on a single computer today.
With this new architecture, computers won't attach to networks; they will be built from networks. This shift enables radically higher-scale microprocessors, exabytes of storage, terabits of bandwidth and billions of IP connections--all of which will be imperative as we move into the Net's third wave.