Continued advances in information technologies are enabling a growing number of physical devices to be imbued with computingand communications capabilities. Aircraft, cars, household appliances, cellular telephones, and health monitoring devices all contain microprocessors that are being linked with other information processing devices. Such examples represent only the very beginning of what is possible. As microprocessors continue to shrink, wireless radios are also becoming more powerful and compact. As the cost of these and related technologies continues to decrease, computing and communications technologies will be embedded into everyday objects of all kinds to allow objects to sense and react to their changing environments. Networks comprising thousands or millions of sensors could monitor the environment, the battlefield, or the factory floor; smart spaces containing hundreds of smart surfaces and intelligent appliances could provide access to computational resources.
Getting to this point will not be easy. Networks of embedded computers pose a host of challenges qualitatively different from those faced by more traditional computers or stand-alone embedded computers because they will be more tightly integrated with their physical environments, more autonomous, and more constrained in terms of space, power, and other resources. They will also need to operate, communicate, and adapt in real time, often unattended. Enabling such innovation will require that a number of research challenges be overcome. How can large numbers of embedded computing devices assemble themselves seamviilessly into an integrated network? How can their performance be guaranteed? How can social issues raised by the advent of more pervasive information collection and processing—for example, concerns about privacy, robustness, and usability—be addressed?