The future of computing ever-increasingly lies in ever-increasing mobility in which computers continue their network operations while physically changing their location, and code moves from system to system performing its designated tasks throughout a network.
This book brings together in one single resource the leading edge of research and practice in three areas of mobility: process migration, mobile computing, and mobile agents. Presented chronologically, the papers in this book--each written by leading experts in that particular area--track the development of critical technologies that have influenced mobility. Introductions by the editors and original afterwords by many of the papers' authors provide information on implementation and practical application, technological context, and updates on the most recent advances.
The book highlights many common challenges and solutions inherent in various aspects of mobility: infrastructure, scalability, security, standards, robustness, naming and locating mobile entities, and more. Individual papers describe specific research and development in each of the three major areas, covering such topics as:
This selection of influential papers illustrates the evolution of mobile technology as well as the state of the art of one of the most significant trends in computing.
I. INTRODUCTION.1. Introduction.
Benefits, Deployment Challenges, and Technical Issues.
Overview of the Book.
II. MOBILITY IN A CLUSTER: PROCESS MIGRATION.2. Process Migration.
Benefits and Challenges of Process Migration.
Myths and Facts.3. Early Work.
J. Shoch and UeJ. Hupp, The Worm Programs — Early Experience with Distributed Computing.
M. Powell and B. Miller, Process Migration in DEMOS/MP.4. Kernel Supported Migration.
A. Barak and R. Wheeler, MOSIX: An Integrated Multiprocessor UNIX.
F. Douglis and J. Ousterhout, Transparent Process Migration: Design Alternatives and the Sprite Implementation.
Y. Artsy and R. Finkel, Designing a Process Migration Facility: The Charlotte Experience.
E. Zayas, Attacking the Process Migration Bottleneck.
M. Theimer, K. Lantz, and D. Cheriton, Preemptable Remote Execution Facilities for the V System.
D.S. Milojicic, W. Zint, A. Dangel, and P. Giese, Task Migration on the top of the Mach Microkernel.5. User-Space Migration.
M. Litzkow and M. Solomon, Supporting Checkpointing and Process Migration Outside the UNIX Kernel.
E. Jul, H. Levy, N. Hutchinson, and A. Black, Fine-Grained Mobility in the Emerald System.
P. Smith and N.C. Hutchinson, Heterogeneous Process Migration: The Tui System.6. Migration Policies.
Luis-Felipe Cabrera, The Influence of Workload on Load Balancing Strategies.
Exploiting Process Lifetime Distributions for Dynamic Load Balancing.7. Other Sources of Information.
III. PHYSICAL MOBILITY: MOBILE COMPUTING.8. Mobile Computing.
Benefits and Challenges of Mobile Computing.
Myths and Facts.
G.H. Forman and J. Zahorjan, The Challenges of Mobile Computing.9. Limits on Connectivity.
J.J. Kistler and M. Satyanarayanan, Disconnected Operation in the Coda File System.
L. Mummert, M. Ebling, and M. Satyanarayanan, Exploiting Weak Connectivity for Mobile File Access.
D. Terry, M. Theimer, K. Petersen, A. Demers, M. Spreitzer, and C. Hauser, Managing Update Conflicts in a Weakly Connected Replicated Storage System.
A.D. Joseph, J.A. Tauber, and M.F. Kaashoek, Mobile Computing with the Rover Toolkit.
B.C. Housel and D.B. Lindquist, WebExpress: A System for Optimizing Web Browsing in a Wireless Environment.10. Mobile IP.
J. Ioannidis and G.Q. Maguire, Jr., The Design and Implementation of a Mobile Internetworking Architecture.
C.E. Perkins, Mobile Networking with Mobile IP.
S. Cheshire and M. Baker, Internet Mobility 4x4.
H. Balakrishnan, V.N. Padmanabhan, S. Seshan, and R.H. Katz, A Comparison of Mechanisms for Improving TCP Performance over Wireless Links.11. Ubiquitous Computing.
M. Weiser, Some Computer Science Issues in Ubiquitous Computing.
A. Fox, S.D. Gribble, Y. Chawathe, and E.A. Brewer, Adapting to Network and Client Variation Using Active Proxies: Lessons and Perspectives.12. Other Sources of Information.
IV. MOBILITY ON THE INTERNET: MOBILE AGENTS.13. Mobility on the Internet.
Benefits and Challenges of Mobile Agents.
Myths and Facts.14. Mobile Agent Systems.
J.E. White, Telescript Technology: Mobile Agents.
D. Lange and M. Oshima, Mobile Agents with Java: The Aglet API.
D. Kotz, R. Gray, S. Nog, D. Rus, S. Chawla, and G. Cybenko, AGENT TCL: Targeting the Needs of Mobile Computers.
T. Walsh, N. Paciorek, and D. Wong, Security and Reliability in Concordia.
J. Baumann, F. Hohl, K. Rothermel, and M. Straber, Mole — Concepts of a Mobile Agent System.
D. Johansen, R. van Renesse, and F.B. Schneider, Operating System Support for Mobile Agents.
M. Ranganathan, A. Acharya, S.D. Sjharma, and J. Saltz, Network-Aware Mobile Programs.
H. Peine and T. Stolpmann, The Architecture of the Area Platform for Mobile Agents.
D.S. Milojicic, D. Chauhan, and W. LaForge, Mobile Objects and Agents (MOA).
G. Glass, ObjectSpace Voyager Core Package Technical Overview.
D.S. Milojicic, B. Breugst, I. Busse, J. Campbell, S. Covaci, B. Friedman, K. Kosaka, D. Lange, K. Ono, M. Oshima, C. Tham, S. Virdhagriswaran, and J. White, MASIF, The OMG Mobile Agent System Interoperability Facility.15. Other Sources of Information.
V. SUMMARY.16. Summary.
Looking into the Future.
History and Goals
This book grew out of a survey paper on process migration. After spending considerable time and effort collecting and sorting several hundred references for that work, we realized that we had almost enough material for a book. Since then, the scope of the book expanded to encompass broader issues in mobility. Mobile agents descend in many ways from earlier work in process migration, both representing a form of logical mobility, while mobile computing is physical mobility. We were struck by some of the similarities and benefits in these seemingly different areas. To the best of our knowledge, these topics are not presented in this combination elsewhere, and this book represents a unique perspective on the literature in this field.
After more than a year of selecting papers, and contacting contributing authors and publishers, we settled on the current selection. Each of the editors brings a different perspective: one has long been active in the development of parallel and distributed operating systems, one worked for several years in mobile computing research, and the third is and has been active in the mobile agents research community.
The goals of this book are threefold. First, we provide a distinguished set of papers related to the three types of mobility, focusing on systems and practical experience. In addition, several of the original authors present afterwords that update and reflect on their original work. Papers and afterwords are presented in Parts II, III, and IV. Second, we hope to transfer our experience in using and building mobile systems to a broad audience. This experience is summarized in the Introduction (Part I) of the book, as well as in the individual introductions to Parts II, III, and IV. Finally, we want to analyze mobility in these forms by exploring the similarities and differences between these approaches as presented in the Summary (Part V).Who Should Read This Book
This book is intended for three sets of readers. The first set includes software architects and practitioners who can draw from the experiences reflected in this book to guide their own projects. The second set includes computer science professors and graduate students for whom the selection of relevant papers could contribute to an advanced course in operating systems or mobile computing. Our final targeted set of readers includes researchers in any of these three areas who can hopefully motivate their own work by an increased exposure to the work of others in these fields.
We organized the book in historical order. First, we present process migration, then mobile computing, and finally mobile agents. Not coincidentally, this parallels the editors' own careers, which began with process migration and then dealt with the other areas. Clearly, different readers can take different approaches when reading this book. Those interested in only one form of mobility can focus on their selected part of the book, but we believe that all readers will benefit from reading papers in each of the fields.Acknowledgments
We would like to acknowledge the work of many people who helped this project. First and foremost, without the support of the authors of the contributed papers included in this collection this book would not exist. We thank those authors for providing their material, and offer particular thanks to those who contributed afterwords with additional commentary.
Our editors at Addison Wesley Longman, Karen Gettman and Mary Hart, were a continuous source of help and encouragement. David Ruddock and Charles Perkins reviewed our original book proposals and gave us and the publishers encouragement to proceed with this project. AWL enlisted several reviewers, Anurag Acharya, Bob Gray, Mor Harchol-Balter, Danny Lange, Bob Pemberton, M. Satyanarayanan, and Jim White, who provided many useful suggestions related to the technical contents and the organization of the book. We are also indebted to our own set of reviewers which includes Philippe Bernadat, Dan Duchamp, Laura Feeney, Mitsuru Oshima, and Jan Vitek. ACM, Baltzer, IEEE, Springer Verlag, USENIX, and Wiley each allowed us to reprint papers that appeared in their own publications. We would like to thank our employers, AT&T and The Open Group Research Institute, who supported our project. Finally, we would like to acknowledge the patience and support of our families, to whom we dedicate this book.
Dejan S. Milojicic, Acton, Massachusetts,
Frederick Douglis, Florham Park, New Jersey, and
Richard Wheeler, Belmont, Massachusetts.