`
`This manuscript has been reproduced from the microfilm master. UMI
`films the text directly from the original or copy submitted. Thus, some
`
`thesis and dissenation copies are in typewriter face, while others may be
`from any type of computer printer.
`
`The quality of this reproduction is dependent upon the quality of the
`
`copy submitted. Broken or indistinct print, colored or poor quality
`illustrations and photographs, print bleedthrough, substandard margins,
`and improper alignment can adversely affect reproduction.
`
`In the unlikely event that the author did not send UMI a complete
`manuscript and there are missing pages, these will be noted. Also, if
`unauthorized copyright material had to be removed, a note will indicate
`
`the deletion.
`
`Oversize materials (e.g .• maps, drawings, charts) are reproduced by
`sectioning the original, beginning at the upper left-hand corner and
`continuing from left to right in equal sections with small overlaps. Each
`original is also photographed in one exposure and is included in reduced
`form at the back of the book.
`
`Photographs included in the original manuscript have been reproduced
`xerographically in this copy. Higher quality 6" x 9" black and white
`photographic prints are available for any photographs or illustrations
`appearing in this copy for an additional charge. Contact UMI directly to
`
`order.
`
`UMI
`
`A Bell & Howell Information Company
`300 North Zeeb Road, Ann Arbor MI 48l06-1346 USA
`313n6I-4700
`soots21-0600
`
`Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
`
`LG Electronics, Inc. et al.
`EXHIBIT 1002
`IPR Petition for
`U.S. Patent No. 7,149,511
`
`
`
`Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
`
`
`
`A NEW FILE SYSTEM FOR MOBILE COMPUTING
`
`A Dissertation
`
`Submitted to the Graduate School
`
`of the University of Notre Dame
`
`in Partial Fulfillment of the Requirements
`
`for the Degree of
`
`Doctor of Philosophy
`
`by
`
`John Saldanha, B.Tech., M.S.E.E.
`
`i.
`O ^ J
`David L. Cohn, Director
`
`Department of Computer Science and Engineering
`
`Notre Dame, Indiana
`
`November, 1996
`
`Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
`
`
`
`UMI Number: 9708664
`
`UMI Microform 9708664
`Copyright 1996, by UMI Company. All rights reserved.
`
`This microform edition is protected against unauthorized
`copying under Title 17, United States Code.
`
`UMI
`
`300 North Zeeb Road
`Ann Arbor, MI 48103
`
`Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
`
`
`
`A NEW FILE SYSTEM FOR MOBILE COMPUTING
`
`Abstract
`
`by
`
`John Saldanha
`
`The recent proliferation of portable computers, the introduction of a variety of
`
`pocket-sized computing devices and the rapid expansion of computer networks provide
`
`great promise for a future in which mobility of both users and computers will be standard.
`
`However, these developments also invalidate many of the assumptions made by current
`
`system software, which was designed for stationary systems and users.
`
`An important component of system software that needs redesign for mobility is the
`
`file system. Ideally, a user should be able to access the files he or she needs regardless of
`
`location. Although existing distributed file systems such as Coda provide a partial solu
`
`tion by supporting disconnected operation of clients, significant deficiencies remain. For
`
`example, the distributed file system is unavailable at isolated computers. This work
`
`argues that the limited availability results from the strict client-server model used and pro
`
`poses a looser model.
`
`A design based on this relaxed model is presented. It utilizes a persona carrier, a
`
`computer that accompanies its owner at all times, as the bridge between isolated comput-
`
`Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
`
`
`
`John Saldanha
`
`ers and servers. The persona carrier acts as a regular client when connected, hoarding files
`
`from servers. When disconnected, it may be used independently or as a pseudo-server to
`
`an isolated computer, providing it with needed files and recording any updates made there.
`
`Upon reconnection, the persona carrier propagates these updates to the servers.
`
`A prototype implementation has been built successfully, thereby demonstrating the
`
`viability and usefulness of the proposed design. It uses Coda as the distributed file system.
`
`The Coda client has been modified to allow it to act as a pseudo-server to an isolated com
`
`puter. It has also been modified for use on an isolated computer, as a client of a persona
`
`carrier. An evaluation of the prototype indicates that Coda access at the isolated computer
`
`resembles that at a regular connected client in both feel and performance.
`
`Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
`
`
`
`To my parents, who encouraged me to start on this journey,
`
`and to Maryann, who helped me finish it.
`
`ii
`
`Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
`
`
`
`TABLE OF CONTENTS
`
`LIST OF TABLES............................................................................................................vi
`
`LIST OF FIGURES ..........................................................................................................vi
`
`ACKNOWLEDGEMENTS............................................................................................. vii
`
`1. INTRODUCTION..........................................................................................................1
`
`2. MOBILE COMPUTING ............................................................................................... 4
`
`2.1 Characteristics of Mobile Computing................................................................ 4
`2.2 Assumptions about the Future............................................................................ 6
`2.3 Problem Areas in Mobile Computing ................................................................ 8
`2.4 Mobile Hardware................................................................................................ 9
`2.5 System Software for Mobility...........................................................................11
`2.5.1 Mobility-resilient System Software......................................................12
`2.5.2 System Support for Mobility-aware Applications................................16
`2.6 Mobile Communications.................................................................................. 20
`2.7 Mobile Applications......................................................................................... 24
`
`3. MOBILE ACCESS TO DISTRIBUTED FILE SYSTEMS ........................................ 26
`
`3.1 The Coda File System...................................................................................... 26
`3.1.1 Hoarding.............................................................................................. 28
`3.1.2 Emulation............................................................................................. 30
`3.1.3 Reintegration........................................................................................ 31
`3.2 Disconnected Operation for AFS .....................................................................34
`3.3 Ficus .................................................................................................................35
`
`4. DESIGN.......................................................................................................................38
`
`4.1 Problem Exposition.......................................................................................... 38
`4.2 Computing Persona and the File System..........................................................42
`4.3 A PCar-based File System Design...................................................................44
`4.4 Appraisal of the Design.................................................................................... 45
`4.4.1 Location independence........................................................................45
`4.4.2 Integrity................................................................................................ 46
`4.4.3 Security................................................................................................ 46
`
`Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
`
`
`
`4.4.4 Performance.........................................................................................47
`4.5 Underlying Assumptions..................................................................................48
`4.5.1 Mobile Hardware.................................................................................48
`4.5.2 Network Connectivity.......................................................................... 49
`
`5. PROTOTYPE IMPLEMENTATION.......................................................................... 51
`
`5.1 Implementation Choices...................................................................................51
`5.1.1 Choice of Distributed File System....................................................... 52
`5.1.2 Choice of Hardware............................................................................. 53
`5.2 The Chosen Approach......................................................................................53
`5.3 The vnode Architecture....................................................................................54
`5.4 Supporting Coda at the Satellite....................................................................... 58
`5.5 Adding a Pseudo-server to Venus.................................................................... 61
`5.6 Communication between Satellite and PC ar.................................................... 63
`5.7 Internal Representation of a Coda File System O bject.................................... 64
`5.8 Modifications and Additions to Venus............................................................. 66
`5.8.1 Fetching Status Information ................................................................ 67
`5.8.2 Fetching Data Contents........................................................................ 69
`5.8.3 Storing a Modified Object................................................................... 70
`5.8.4 Creating a New File............................................................................. 72
`5.8.5 Creating a New Directory.................................................................... 74
`5.8.6 Creating a Symbolic Link.................................................................... 75
`5.8.7 Setting Attributes.................................................................................76
`5.8.8 Creating a Hard Link........................................................................... 77
`5.8.9 Removing a File...................................................................................78
`5.8.10 Removing a Directory........................................................................ 79
`5.8.11 Renaming an Object .......................................................................... 79
`5.9 Coherency Issues..............................................................................................80
`
`6. STATUS AND EVALUATION..................................................................................83
`
`6.1 Implementation Status......................................................................................83
`6.2 Evaluation Testbed...........................................................................................84
`6.3 Qualitative Evaluation......................................................................................85
`6.4 Quantitative Evaluation....................................................................................86
`6.4.1 Make task.............................................................................................87
`6.4.1.1 Impact of Modifications on Client Performance..................... 87
`6.4.1.2 Relative Performance of Coda Satellite.................................. 88
`6.4.2 Andrew Benchmark............................................................................. 89
`6.4.3 Trace Replay........................................................................................91
`
`7. CONCLUSIONS AND FUTURE WORK.................................................................. 96
`
`7.1 Conclusions......................................................................................................96
`7.2 Directions for Future W ork..............................................................................98
`
`iv
`
`Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
`
`
`
`7.2.1 Implementation Issues..........................................................................98
`7.2.2 An Alternative Design........................................................................100
`
`LIST OF REFERENCES................................................................................................102
`
`v
`
`Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
`
`
`
`LIST OF TABLES
`
`TABLE 5.1 VNODE OPERATIONS............................................................................56
`TABLE 5.2 VFS OPERATIONS...................................................................................57
`TABLE 6.1 TIME TAKEN (IN SECONDS) FOR VENUS “MAKE”
`USING UNMODIFIED AND MODIFIED CODA CLIENTS .................88
`TABLE 6.2 TIME TAKEN (IN SECONDS) FOR VENUS “MAKE”
`USING DIFFERENT FILE SYSTEM CONFIGURATIONS...................89
`TABLE 6.3 RUNNING TIME (IN SECONDS) OF ANDREW BENCHMARK ........91
`TABLE 6.4 REPLAY TIMES (IN SECONDS) FOR HOLST SEGMENT .................93
`TABLE 6.5 REPLAY TIMES (IN SECONDS) FOR MESSIAEN SEGMENT............94
`
`LIST OF FIGURES
`
`Figure 2.1 An example Prospero virtual system............................................................ 15
`Figure 4.1 Proposed replication model......................................................................... 41
`Figure 4.2 A PCar-based file system............................................................................ 45
`Figure 5.1 A file system implementation based on the vnode architecture.................. 55
`Figure 5.2 Structure of the Coda client......................................................................... 59
`Figure 5.3 Communication needed to service Coda call at satellite............................. 64
`Figure 6.1 Configurations used in evaluation testbed...................................................86
`
`vi
`
`Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
`
`
`
`ACKNOWLEDGEMENTS
`
`This work is the result of the help, support and inspiration of a number of people. I
`
`would like to thank all those who helped me, but I am sure I shall forget to mention the
`
`contributions of at least a few.
`
`First, I must thank my advisor, Dr. David Cohn, for the direction he provided, for his
`
`criticism of this document and for giving me the opportunity to work in the excellent envi
`
`ronment of the Distributed Computing Research Laboratory (DCR Lab). My thanks also
`
`to Dr. Jay Brockman, Dr. Eugene Henry and Dr. Edwin Sha, for consenting to be my read
`
`ers and for their comments on this document.
`
`I am also very grateful to all the members of the DCR Lab, both past and present for
`
`their help and friendship, and for making this such an enjoyable place to work in. I would
`
`specially like to thank Arindam Baneiji, Larry Barchett, Michael Casey, Dinesh Kulkami,
`
`John Tracey and Alan Yoder. Their help with problems that cropped up and their com
`
`ments on my work were invaluable.
`
`The work described here builds on the work of many others, but especially on that
`
`of the Coda project at Carnegie Mellon University. Many thanks to Prof. M. Satyanaray-
`
`anan for making the Coda source code available to me for my research, to Joshua Raiff for
`
`Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
`
`
`
`his considerable assistance in getting Coda to run here, and to Jay Kistler for his helpful
`
`comments on my dissertation proposal.
`
`My deepest thanks to everyone in my family who supported and encouraged me
`
`over all the time it took me to finish my Ph.D.
`
`It would be impossible to properly
`
`acknowledge the role that each person played so I shall not even try. However, there are
`
`three people whom I simply must mention. My parents gave me the value for education
`
`without which I would not even have started on this degree. Their example of dedication
`
`and hard work was a source of inspiration whenever things got tough. I must also express
`
`my heartfelt thanks to my wife, Maryann. Without her love, support and encouragement, I
`
`would not have completed this work.
`
`This work was supported by research grants and a fellowship from the IBM Corpo
`
`ration.
`
`viii
`
`Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
`
`
`
`1. INTRODUCTION
`
`We are currently witnessing two broad developments in the computing world. First,
`
`the availability and use of portable computers has become widespread. The portable com
`
`puter, a novelty at the start of this decade, is now as commonplace an accessory for the
`
`business traveler as the briefcase. Second, computer networks have been expanding at an
`
`astonishing pace. Many of these networks continue to be of the conventional wired type,
`
`but wide-area wireless networks are emerging in several metropolitan areas and local-area
`
`wireless networks are appearing in some university and office environments. The conver
`
`gence of these two developments has led to the dawn of a new era in computing: the era of
`
`mobile computing.
`
`While mobile computing, at least in a limited sense, is clearly a reality today, it is
`
`still far from achieving its full promise. For mobility generally exacts a heavy price in
`
`terms of performance, functionality, useability and cost. Users are therefore frequently
`
`forced to choose between unrestricted mobility and a satisfactory level of computing ser
`
`vice. An important challenge facing computer science is to make this choice less inevita
`
`ble.
`
`Improvements in hardware and expansion of the network infrastructure cannot by
`
`themselves provide a complete answer to this challenge. Considerable attention must also
`
`1
`
`Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
`
`
`
`be focussed on redesigning software, particularly at the system level, to deal with the new
`
`demands imposed by mobility. Many of the assumptions on which current system soft
`
`ware is based apply to stationary computer and users, and no longer hold under typical
`
`mobile conditions. For example, the availability of a reliable high-bandwidth network
`
`connection is taken for granted by most distributed computing software but is an entirely
`
`unrealistic assumption for a mobile computer. System software therefore needs to be rede
`
`signed treating mobility as an explicit consideration in order to make the choices available
`
`to mobile users more palatable than they are today.
`
`One of the most critical pieces of system software is the file system. The file system
`
`acts as the repository for information as well as for programs to display, manipulate and
`
`modify that information. Many devices not associated with storage, such as printers, are
`
`also commonly represented as file system objects. Therefore, the usefulness of a comput
`
`ing system is heavily dependent on the nature and performance of file system access it
`
`provides. The problem of providing satisfactory file system access in a computing system
`
`that includes mobile elements or that serves mobile users is therefore one of undeniable
`
`importance. It is this problem that forms the focus of this document.
`
`Distributed file systems have been a partial answer to the needs of mobile users. By
`
`separating the point of storage from the point of access, they have provided some freedom
`
`of movement to users. In the case of most systems though, the user is limited to staying
`
`within the confines of the interconnection that forms that distributed system. Some recent
`
`systems do allow continued access to a distributed file system at a portable computer even
`
`Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
`
`
`
`while it is disconnected from its home network. This access, however, is only available at
`
`computers that at least periodically connect to the distributed system.
`
`The research reported here has concentrated on expanding the availability of distrib
`
`uted file system access to isolated computers that may never connect to the distributed sys
`
`tem. A file system that achieves this goal has been designed. A prototype implementation
`
`has also been built and evaluated. This dissertation documents this research and its find
`
`ings. It is organized as follows: Chapter 2 discusses the research problems posed by
`
`mobile computing and the various approaches being taken to solve these problems. Chap
`
`ter 3 summarizes existing work that addresses the issue of distributed file system access
`
`under mobile conditions. Chapter 4 examines the limitations of such work and presents a
`
`design that overcomes them. Chapter 5 explains the details of the prototype implementa
`
`tion that has been built. Chapter 6 provides an evaluation of this implementation. Chapter
`
`7 presents the conclusions of this research and suggests some directions for future work.
`
`3
`
`Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
`
`
`
`2. MOBILE COMPUTING
`
`This chapter provides an overview of the research being done in mobile computing
`
`in order to put into context the specific problem addressed by the research described in this
`
`dissertation. First, the distinguishing characteristics of mobile computing are enumerated.
`
`Next, the differing assumptions about the future that are guiding research in the field are
`
`discussed. Finally, the ongoing research is divided into four broad categories: hardware,
`
`system software, communication protocols and applications; and a summary of the work
`
`being done in each area is provided.
`
`2.1 Characteristics of Mobile Computing
`
`Mobile computing is different from conventional computing in several ways. More
`
`over, as [Satyanarayanan, 1993a] points out, these differences will always exist and are
`
`not merely due to shortcomings in current technology:
`
`• Mobile computers are resource-poor compared to stationary computers. Due
`
`to constraints on weight, size and power consumption, mobile computers will
`
`always be inferior to their stationary counterparts in multiple respects such as
`
`processing power and storage capacity. Furthermore, there is a strong possibil
`
`ity that technology advances for mobile computers will focus on reducing their
`
`size and increasing battery life, thus causing the gap between them and fixed
`
`4
`
`Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
`
`
`
`systems to grow [Weiser, 1993b]. In some cases, incremental advances in tech
`
`nology will be of no avail due to human limitations. For example, no matter
`
`how much resolution is improved, there will be a limit to what the human eye
`
`can see on a small screen.
`
`• Mobile computers are more prone to loss, theft and damage. A computer that
`
`doesn’t stay in one place is clearly more likely to be lost or damaged than one
`
`that does. And while it is unlikely that a computer will be stolen from one’s
`
`office or home, the risk of being relieved of a portable while on a trip or out on
`
`the street cannot be dismissed.
`
`• Mobile computers must operate under a much wider range of networking con
`
`ditions than stationary computers. Stationary computers are generally con
`
`nected to a high-bandwidth wired network that has reliable and well-defined
`
`characteristics. The network connectivity available to a mobile computer will
`
`depend on its current location; in some locations it may be plugged into a wired
`
`network while in others it may have to cope with a low-bandwidth and unreli
`
`able wireless network; in many locations, no network connection of any kind
`
`may be available.
`
`• Network connectivity for mobile computers can be expensive. While the per-
`
`minute costs of a network connection are usually negligible or small for station
`
`ary computers, they can be very significant in the case of mobile computers.
`
`• Mobile computers frequently have a limited amount of electrical power avail
`
`able to them. Many portable computers cannot be plugged into a power outlet
`
`at all. Even for a computer that has this capability, there may be no power out-
`
`5
`
`Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
`
`
`
`let at its current location to plug it into. It must therefore depend on a battery
`
`which can provide power only for a limited amount of time.
`
`2.2 Assumptions about the Future
`
`Mobile computing is a young and emerging field of research. For this reason, about
`
`the only thing that researchers in the field are in agreement about is the broad goal of
`
`reducing the restrictions that computing makes on the mobility of users. Not surprisingly,
`
`a great deal of contention revolves around questions relating to what the future will look
`
`like. There are two sets of key questions.
`
`• What kinds of computing devices will we see in the future? Will general-pur
`
`pose computers continue to be dominant? Or will cheap specialized-function
`
`computers, each designed for a single task such as Web browsing, become the
`
`most common? And will these devices be reasonably autonomous or will they
`
`be communication-intensive components of a larger computing system?
`
`• What will be the pace of development of the network infrastructure? When will
`
`we have global coverage at a reasonable cost? When, if at all, will high-band-
`
`width data links into homes become common?
`
`These are hard questions to answer authoritatively, but nonetheless some assump
`
`tions about the future must be made in order to decide what the key problems are and how
`
`they should be tackled. For example, consider the question of how rapidly the wireless
`
`network infrastructure will develop. If we assume that we will soon have widespread and
`
`relatively inexpensive wireless coverage, then we need to focus on ways for mobile com-
`
`6
`
`Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
`
`
`
`puters to utilize this wireless connectivity most effectively. If on the other hand, we
`
`assume that wireless coverage will be sporadic and expensive for quite some time to
`
`come, then we need to focus on ways to allow mobile computers to operate autonomously.
`
`It is therefore important to look at the different visions of the future that are driving
`
`research in the field of mobile computing. Probably one of the most well-known and
`
`influential visions is the one put forward by Mark Weiser of Xerox PARC [Weiser, 1991].
`
`He claims that the computer today is too often the focus of our attention and therefore gets
`
`in the way of doing useful work. He therefore advocates a future in which the physical
`
`environment is populated with scores of computers of all shapes and sizes, so that they
`
`fade into the background and thus become truly effective tools. He terms computing of
`
`this kind as ubiquitous computing.
`
`On the question of the kind of computing devices that will be common, Weiser
`
`believes that a typical room will include hundreds of tiny, inexpensive computers of vari
`
`ous shapes and kinds [Weiser, 1993a]. However, other significant projects dealing with
`
`mobility such as Coda [Mummert, 1995] and Thor [Gruber, 1994] assume reasonably
`
`powerful general-purpose computers to be the norm.
`
`As far as a network infrastructure is concerned, ubiquitous computing assumes com
`
`plete wireless coverage coupled with a high-bandwidth backbone. The MosquitoNet
`
`project at Stanford also assumes that wide-area wireless coverage will soon be widespread
`
`[Baker, 1994]. However, there are others who do not share this optimistic view and
`
`assume that mobile computers will frequently have to operate while disconnected from the
`
`network [Ebling, 1994] [Kuenning, 1994] [Joseph, 1995],
`
`7
`
`Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
`
`
`
`2.3 Problem Areas in Mobile Computing
`
`There is much diversity in the problems that mobile computing researchers are
`
`working on and the approaches they employ to solve these problems. Some of this diver
`
`sity arises from the differing views of the future within the research community, but much
`
`of it is due to the sheer breadth of the mobile computing problem. Some of the broad
`
`areas in which work is proceeding are:
`
`• Hardware
`
`• System software
`
`• Communication protocols
`
`• Applications
`
`The work being done in each of these areas is discussed more fully in the following sec
`
`tions of this chapter.
`
`Some problems such as that of power management span multiple areas from hard
`
`ware to software to application behavior. While hardware designers focus on developing
`
`less power-hungry components, software designers are looking for smart ways to shut
`
`down components that are not being used. For example, the spinning of a hard disk is a
`
`major consumer of power. Shutting the disk down when it is idle can thus save a great
`
`deal of energy. However, it causes access delays due to spin-up time and can even be
`
`counter-productive if the idle period is too short, as spinning up a stationary disk con
`
`sumes more power than keeping a spinning disk going. The threshold idle time for spin-
`
`down must therefore be chosen intelligently. [Douglis, 1995] describes a method for
`
`Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
`
`
`
`dynamically deciding this threshold based on user access patterns in order to meet user-
`
`specified tolerances for spin-up access delays.
`
`Security and privacy concerns increase in importance in mobile environments. The
`
`use of wireless networks allows anyone to eavesdrop on a mobile computer’s communica
`
`tion, thus increasing the need for good encryption schemes. Also mobile users may want
`
`to remain connected without giving away information about their location, or at least
`
`maintain control over who has access to such information. [Spreitzer, 1993] discusses
`
`some of the issues involved in guarding privacy of location information.
`
`2.4 Mobile Hardware
`
`There are a variety of portable computing devices coming out on the market. By far,
`
`the most popular of these is the traditional notebook computer, which is basically a slim
`
`mer, lighter version of the desktop computer: the notebook has a smaller screen and key
`
`board and is less powerful than a comparably priced desktop, but functionally there is no
`
`fundamental difference between the two.
`
`However, there have also been some more non-traditional introductions, variously
`
`known as hand-held computers, palmtops and personal digital assistants (PDAs), on the
`
`portable computer market in the past few years. Many of them, such as the Apple Newton
`
`MessagePad and the Casio/Tandy Zoomer, have no keyboards, using a pen and a touch-
`
`sensitive screen instead for input. These devices also tend to be geared towards specific
`
`tasks; they are most commonly used as personal organizers and as communication devices
`
`9
`
`Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
`
`
`
`that combine phone, fax, paging and e-mail capabilities, and are rarely used for compute
`
`intensive tasks or traditional applications like word processors and spreadsheets.
`
`Besides these commercial products, there are also some important research efforts to
`
`come up with the right kind of mobile hardware. The InfoPad project [Le, 1995] at the
`
`University of California, Berkeley has built a portable multimedia terminal based on the
`
`principle that as much computation as possible should be performed at remote servers so
`
`that the information travelling over the wireless link is of an I/O nature and therefore mo