Peer-to-peer is the way everything will work in the future. Every single device will be able to perform the tasks that every other machine can perform. Computing power and memory are so cheap that it is cost-effective to make every node in a system an independent device able to handle any aspect of the network infrastructure. The only differences between devices will be speed (due to the quality of the processor) and user interface. A smart refrigerator can have roughly the same computing power as a TV set, the two devices just interact with the user in different ways.

This is also a core philosophy in "smart dust" distributed-sensor networks. For example,Crossbow Technologies has developed "Self-Forming Mesh Networks", a way for a large group of small, low-power sensors to form a wireless peer-to-peer network and create a huge sensor web able to report on anything happening in its coverage area. I was recently at the Embedded Systems Conference, where they had a demo going where they dropped a handful of quarter-sized sensors across the exhibition hall and showed the real-time monitoring in their booth. Since signals are relayed from sensor to sensor, power levels are kept at a minimum, and operating lifetimes are increased from days and weeks to months and years.

The entire concept of ubiquitous computing works as long as every device involved is powerful enough to provide infrastructure support at every level, creating a flexible communications net that is resilient enough to survive crashes within it as well as fast enough to provide near-real-time results.