Pages: pp. 2-3
What is the most valuable functionality to cram into a small, lightweight device that has a long battery life? Every designer of mobile computing hardware wrestles with this question. A large reward awaits anyone who can produce a good answer and follow through with a good implementation. The iPod's success in displacing older portable music devices shows the power of combining the right device functionality with a good form factor and user interface.
Today, the cell phone is the dominant mobile device. Voice communication from anywhere at any time with anyone is clearly the most-desired functionality in mobile devices. What comes next? Here, the answer is less clear. Many cell phones today have Web cameras. These are useful but hardly a "must have" feature. PDAs and email devices such as the Blackberry are popular, but their numbers are far smaller than cell phones. As circuit density improves, we see a convergence of mobile device functionality—cell phones combined with PDAs or with email capability or both. Where do we go from here?
We can characterize the current design philosophy for mobile devices as the "Swiss Army knife" approach: cram as much functionality as possible into a single device. Unfortunately, as anyone who has used a Swiss Army knife knows, its value as survival gear is much higher than its value in everyday life. If you are stranded far from civilization, the many functions of a Swiss Army knife (knife, fork, can opener, corkscrew, screw driver, tooth pick, and so on) are invaluable. But each function is suboptimally implemented. For example, I would much rather use a full-sized screw driver, if available, than the small one in a Swiss Army knife. The same logic applies to other functions of that device.
Contrast this with the design philosophy of a wallet. Virtually every adult carries a wallet. The contents vary but typically include things such as cash, credit cards, and ID cards. Far from civilization, a wallet is useless. You could die of starvation or thirst in the wilderness even with a fat wallet! In the context of civilization, however, a wallet becomes useful. With cash or a credit card, I can buy anything I need, when and where I need it. With appropriate ID, I can enter buildings and rooms with restricted access and use many resources there.
A wallet can thus be viewed as a device that helps transform generic infrastructure into highly personalized services. This idea leads to a very different design philosophy for mobile devices. Rather than cramming direct functionality into the device, we should add indirect functionality that can leverage the external environment to provide direct functionality on demand.
What kinds of generic infrastructure can we exploit in mobile computing, and how can wallet-like devices use them? I examine three possibilities here. The scenarios I describe are hypothetical, but there is no technical reason why they cannot become commonplace over the next decade or so.
Compute servers are one kind of generic infrastructure that could be valuable in mobile computing. Using them for remote execution over wireless links would enable applications whose CPU, memory, or energy demands far outstrip the capabilities of devices that people are willing to carry or wear for extended time periods. Imagine a mobile device helping a traveler in a foreign land with real-time speech recognition and natural language translation. Or, imagine that device taking a picture of a sign in a foreign script and performing optical character recognition to help a lost traveler find his or her way.
These are examples of cyber foraging, the transient and opportunistic use of compute servers by mobile devices. 1 Although deployment of compute servers for public use is not imminent, it could become common in the future if applications that take advantage of such infrastructure become popular.
Commodity PCs are another kind of generic infrastructure that we could leverage. Personal computing binds a user so tightly to his or her desktop or laptop that manual customization is a prerequisite for productive use of any other hardware. This forces mobile computing into a paradigm of requiring each user to carry a laptop. A different paradigm would be to require users to travel with only a small mobile device that helps them use pervasive PC hardware. The device could
Regarding the last point, the challenge is to rapidly and accurately customize a PC on demand, so that a user can be productive quickly and effortlessly on a new machine. Internet Suspend/Resume is a mechanism for doing just that. 4 ISR uses virtual machine (VM) technology to cleanly encapsulate a user's entire personal computing state. This state (which includes a user's operating system, applications, and files) is stored on file servers and delivered on demand over the Internet. ISR mimics the suspend/resume feature of laptops. A user could logically suspend a machine at one Internet site, travel to some other site, and then seamlessly resume work on another machine.
Using a mechanism called lookaside caching, flash or disk storage in a mobile device can help speed up VM state transfer from ISR servers. 5 A related approach uses portable storage to transport the entire VM state, completely avoiding use of the network or servers. 6
An intriguing ISR application that I am exploring with colleagues at Carnegie Mellon is to extend the reach of HotSync. This is the feature of a PDA that synchronizes its state with a PC's state. Once operations have resumed on an ISR client, the user can perform a local HotSync on that machine to synchronize state. Upon suspend (or before then, depending on how aggressively VM state changes are propagated), ISR will save that synchronized state on servers. Such a design has elements of both the "Swiss Army knife" and "wallet" models. On a converged device, its PDA functionality is used directly while its portable storage helps customize the infrastructure through ISR. In the future, mobile devices might combine direct and indirect functionality in other creative ways.
We focus on the smart phone in this issue, recognizing its premier status among mobile devices today. The guest editors are Gregory Abowd, an associate editor-in-chief of IEEE Pervasive Computing; Liviu Iftode, an editorial board member; and Helena Mitchell, who has extensive background in telecommunications policy. Their Guest Editors' Introduction on page 18 introduces the articles in this issue.
John Heidemann is a senior project leader at the Information Sciences Institute. He is also a research associate professor in the Computer Science Department at the University of California. His research focuses on sensor networking and Internet traffic analysis. He received his BS in computer science from the University of Nebraska-Lincoln and his PhD in computer science from the University of California, Los Angeles. Contact him at firstname.lastname@example.org; www.isi.edu/~johnh/index.html.