Amorphous and Ubiquitous Computing, Page 2
Knowledge of a device's location significantly extends the types of feasible applications being considered. With location, interests can be expressed in terms of geographic location or region of interest. A single device no longer needs a unique identifier, as decisions to respond or supply data could be made based on device location or membership in a group. Even routing becomes optimized as more direct paths are established between the querier and the queried. Much of the work being done in Sensor Networks falls under the assumption that this location information is available. With small low-power devices, a technology such as GPS may consume too much power or not provide enough accuracy for the application. In this case, other solutions must come into play such as triangulation, signal strength, or the use of base-station or reference devices to establish either approximate global or even relative local positions.
Not knowing whether a global location will be available means designing solutions that are robust enough to handle both cases. To date, most research has assumed that information regarding global location is available although a fair amount of work in devising mechanisms to establish location is being pursued.
Although synchronization allows events to be time stamped, the notion of relative time or time-in-network also may suffice in many situations. Again, the question comes down to the intent and requirements of the application in question. While clock synchronization is convenient and has therefore been assumed to exist in some work, other researches are looking into solving similar problems without it.
At present, it is difficult to say what sort of limitations or capabilities deployed devices in a sensor network will possess. It is feasible that devices will become so cheap and powerful that there could be hundreds to thousands of these devices within communication radius of one another. On the other extreme, one may desire a network (such as a smart environment) such that a minimal number of devices is deployed to reduce communication collisions. As the device hardware matures, it is feasible to see devices available from one extreme to the other. Additionally, devices should be considered that allow self-adaptation to enhance or optimize functionality.
At present, research is and will continue to explore a variety of feasible alternatives. With low-density networks, research is looking at methods to optimize communication and ensure complete network coverage. In high-density networks, research is looking into handling communication collisions and using redundancy to conserve energy. As the physical device capabilities develop, it seems reasonable to assume that the communication bounds of the device will be specified in accordance with the application as opposed to developing applications around these limitations.
Unlike communication bounds, energy constraints on devices seem to entail a less predictable future. Although improvements in processor speed, communication capabilities, and device size seem to follow Moore's law, decreasing device energy consumption has not been so successful. In fact, as processors become more powerful, energy consumption seems to suffer. For this reason, it is difficult to predict what the energy requirements of these devices will be. With smaller and smaller devices come smaller and smaller energy sources. This becomes a serious limiting factor in the design of some of the networks being researched. In the worst-case scenario, research must push designs that conserve energy at all costs. In the best-case scenario, we can only hope that technology for self-powered devices will becomes a reality.
Aside from these major issues, there are many additional aspects of ubiquitous computing systems that must be addressed. How does node density affect a network? Will systems incorporate self-adaptive code? How does security play into these systems? Will/must systems be extensible? What types of sensors exist or are available? Can communication take place over multiple channels? How will validation and debugging take place? How will new technologies handle bandwidth collisions with existing wireless technology? Will motes be self-programmable or re-programmable through communication?
The most exciting aspect of sensor networks is that at this point in their development, the possibilities seem endless. Researchers will continue to consider and attempt to solve hypothetical and interesting problems that they feel may one day represent reality. As these hypothetical problems are solved, new problems will emerge that bring about more challenging and interesting ways of looking at system design and programming. These new paradigms for computing in a distributed and often de-centralized style will evoke new ways of looking at computing in general, and could one day lead a revolution in computing that at present cannot even be found in science fiction.1 Refer to Berkeley's TOS site.
About the author
Brian Blum is currently a graduate student working on a PhD in Computer Science at the University of Virginia. He graduated in 2000 from the Systems Engineering Department of the same school and have worked a year in Northern VA for a small web consulting firm that is on the verge of collapse. His experience to date includes work in various programming languages on a wide array of operating systems and machines. His current work involves researching new paradigms for computing including distributed systems and complex coordination in sensor networks. Specifically Blum is looking into communication problems on these networks although distributed and aggregate behavior is also an area of interest. He hopes to graduate within the next few years and continue a life long pursuit of research and teaching.
Page 2 of 2