Pervasive Computing-Vision and Challenges
This paper discusses the challenges in computer systems research posed by the emerging field of pervasive computing. It first examines the relationship of this new field to its predecessors: distributed systems and mobile computing. It then identifies four new research thrusts: effective use of smart spaces, invisibility, localized scalability, and masking uneven conditioning. Next, it sketches a couple of hypothetical pervasive computing scenarios, and uses them to identify key capabilities missing from today’s systems. The paper closes with a discussion of the research necessary to develop these capabilities.
The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it.’’ So began Mark Weiser’s seminal 1991 paper that described his vision of ubiquitous computing, now also called pervasive computing. The essence of that vision was the creation of environments saturated with computing and communication capability, yet gracefully integrated with human users. When articulated, this was a vision too far ahead of its time — the hardware technology needed to achieve it simply did not exist. Not surprisingly, the implementation attempted by Weiser and his colleagues at Xerox PARC fell short. After a decade of hardware progress, many critical elements of pervasive computing that were exotic in 1991 are now viable commercial products: handheld and wearable computers; wireless LANs; and devices to sense and control appliances. We are now better positioned to begin the quest for Weiser’s vision. Pervasive computing projects have emerged at major universities and in industry. Examples at universities include Project Aura at Carnegie Mellon, Endeavour at UC Berkeley, Oxygen at MIT, and Portalano at Washington. Industry examples include work at AT&T Research in Cambridge, U.K. and at the IBM TJ Watson Research Center. Each of these projects addresses a different mix of issues in pervasive computing, and a different blend of nearterm and far-term goals. Together, they represent a broad communal effort to make pervasive computing a reality. The goal of this paper is to help us understand the challenges in computer systems research posed by pervasive computing. We begin by examining its relationship to the closely-related fields of distributed systems and mobile computing. Next, we sketch two pervasive computing scenarios, and ask why they are fiction rather than fact today. From that starting point, we delve deeper into some key research problems. To preserve focus on computer systems issues, we avoid digressions into other areas important to pervasive computing such as human-computer interaction, expert systems and software agents.
Pervasive computing represents a major evolutionary step in a line of work dating back to the mid-1970’s. Two distinct earlier steps in this evolution are distributed systems and mobile computing. Some of the technical problems in pervasive computing correspond to problems already identified and studied earlier in the evolution. In some of those cases, existing solutions apply directly; in other cases, the demands of pervasive computing are sufficiently different that new solutions have to be sought. There are also new problems introduced by pervasive computing that have no obvious mapping to problems studied earlier. In the rest of this section, we try to sort out this complex intellectual relationship and to develop a taxonomy of issues characterizing each phase of the evolution.
The field of distributed systems arose at the intersection of personal computers and local area networks. The research that followed from the mid-1970’s through the early 1990’s created a conceptual framework and algorithmic base that has proven to be of enduring value in all work involving two or more computers connected by a network — whether mobile or static, wired or wireless, sparse or pervasive. This body of knowledge spans many areas that are foundational to pervasive computing and is now well codified in textbooks :
• remote communication, including protocol layering,
remote procedure call , the use of timeouts, and the use
of end-to-end arguments in placement of functionality [
FREE IEEE PAPER