This Article 
 Bibliographic References 
 Add to: 
Mobile Computing with the Rover Toolkit
March 1997 (vol. 46 no. 3)
pp. 337-352

Abstract—Rover is a software toolkit that supports the construction of both mobile-transparent and mobile-aware applications. The mobile-transparent approach aims to enable existing applications to run in a mobile environment without alteration. This transparency is achieved by developing proxies for system services that hide the mobile characteristics of the environment from applications. However, to excel, applications operating in the harsh conditions of a mobile environment must often be aware of and actively adapt to those conditions. Using the programming and communication abstractions present in the Rover toolkit, applications obtain increased availability, concurrency, resource allocation efficiency, fault tolerance, consistency, and adaptation. Experimental evaluation of a suite of mobile applications demonstrates that use of the toolkit requires relatively little programming overhead, allows correct operation, substantially increases interactive performance, and dramatically reduces network utilization.

[1] J.J. Kistler and M. Satyanarayanan, "Disconnected Operation in the Coda File System," ACM Trans. Computer Systems, vol. 10, no. 1, Feb. 1992, pp. 3-25.
[2] H.T. Kung and J.T. Robinson, "On Optimistic Methods for Concurrency Control," ACM Trans. Database Systems, vol. 6, no. 2, pp. 213-226, June 1981.
[3] L. Huston and P. Honeyman, "Partially Connected Operation," Proc. Second USENIX Symp. Mobile and Location-Independent Computing, pp. 91-97,Ann Arbor, Mich., Apr. 1995.
[4] P. Kumar, "Mitigating the Effects of Optimistic Replication in a Distributed File System," PhD thesis, School of Computer Science, Carnegie Mellon Univ., Dec. 1994.
[5] J.H. Saltzer, D.P. Reed, and D.D. Clark, "End-to-End Arguments in System Design," ACM Trans. Computer Systems, vol. 2, no. 4, Nov. 1984, pp. 277-288.
[6] A.D. Joseph, A.F. de Lespinasse, J.A. Tauber, D.K. Gifford, and M.F. Kaashoek, “Rover: A Toolkit for Mobile Information Access,” Proc. ACM Symp. Operating Systems Principles, 1995.
[7] A. Birrell and B. Nelson, "Implementing Remote Procedure Calls," ACM Trans. Computer Systems," vol. 2, pp. 39-59, 1984.
[8] A. Joseph and F. Kaasshoek, "Building Reliable Mobile-Aware Applications Using the Rover Toolkit," Proc. Second Int'l Conf. Mobile Computing and Networking (MOBICOM '96), pp. 117-129,Rye, N.Y., Nov. 1996.
[9] R.H. Katz, “Adaptation and Mobility in Wireless Information Systems,” IEEE Personal Comm. Magazine, vol. 1, no. 1, pp. 6-17, 1994.
[10] N. Davies, G.S. Blair, K. Cheverst, and A. Friday, “Supporting Collaborative Application in a Heterogeneous Mobile Environment,” Computer Comm. Specical Issues on Mobile Computing, 1996.
[11] M.F. Kaashoek, T. Pinckney, and J.A. Tauber, “Dynamic Documents: Mobile Wireless Access to the WWW,” IEEE Workshop Mobile Computing Systems and Applications, pp. 179-184, Dec. 1994.
[12] D.B. Terry, M.M. Theimer, K. Petersen, A.J. Demers, M.J. Spreitzer, and C.H. Hauser, Managing Update Conflicts in a Weakly Connected Replicated Storage System Proc. ACM Symp. Operating Systems Principles, 1995.
[13] M. Baker, "Changing Communication Environments in MosquitoNet," Proc. Workshop on Mobile Computing Systems and Applications, IEEE Computer Society Press, Los Alamitos, Calif., 1994, pp. 64-68.
[14] L. Mummert, M. Ebling, and M. Satyanarayanan, "Exploiting Weak Connectivity for Mobile File Access," Proc. 15th ACM Symp. Operating Systems Principles, pp. 143-155, Dec. 1995.
[15] B.D. Noble, M. Price, and M. Satyanarayanan, "A Programming Interface for Application-Aware Adaptation in Mobile Computing," Proc. USENIX Symp. Mobile and Location-Independent Computing, USENIX, Berkeley, Calif., 1995.
[16] P. Reiher, J. Heidemann, D. Ratner, G. Skinner, and G.J. Popek, "Resolving File Conflicts in the Ficus File System," Proc. USENIX Summer 1994 Technical Conf., pp. 183-195,Boston, 1994.
[17] T. Watson and B. Bershad, "Local Area Mobile Computing on Stock Hardware and Mostly Stock Software," Proc. First USENIX Symp. Mobile and Location-Independent Computing, pp. 109-116,Cambridge, Mass., Aug. 1993.
[18] T. Watson, "Application Design for Wireless Computing," IEEE Workshop on Mobile Computing, Santa Cruz, Calif., Dec. 1994.
[19] D. Terry, A. Demers, K. Petersen, M. Spreitzer, M. Theimer, and B. Welch, Session Guarantees for Weakly Consistent Replicated Data Proc. Int'l Conf. Parallel and Distributed Information Systems, pp. 140-149, Sept. 1994.
[20] B.R. Badrinath and G. Welling, "Event Delivery Abstractions for Mobile Computing," Technical Report LCSR-TR-242, Dept. of Computer Science, Rutgers Univ., 1996.
[21] M. Le, F. Burghart, S. Seshan, and J. Rabey, "InfoNet: TheNetworking Infrastructure for InfoPad," Digest of Papers, IEEE COMPCON '95: Technologies for the Information Superhighway, pp. 163-168, Mar. 1995.
[22] S. Narayanaswami et al., "Application and Network Support for InfoPad," IEEE Personal Comm., vol. 3, no. 2, pp. 4-17, Apr. 1996.
[23] A. Fox, S.D. Gribble, E.A. Brewer, and E. Amir, "Adapting to Network and Client Variability via On-Demand Dynamic Distillation," ASPLOS-VII Proc., Seventh Int'l Conf. Architectural Support for Programming Languages and Operating Systems,Cambridge, Mass., pp. 160-173, Oct. 1996.
[24] J. Bartlett, "W4—The Wireless World-Wide Web," Proc. Workshop Mobile Computing Systems and Applications, pp. 176-178,Santa Cruz, Calif., Dec. 1994.
[25] M.H. Brown and R.A. Schillner, "DeckScape: An Experimental Web Browser," Technical Report 135a, Digital Equipment Corp. Systems Research Center, Mar. 1995.
[26] R.H. Katz et al., The Bay Area Research Wireless Access Network (BARWAN) Proc. Spring COMPCON Conf., 1996.
[27] L. Kawell, S. Beckhardt, T. Halvorsen, R. Ozie, and L. Greif, Replicated Document Management in a Group Communication System Proc. Conf. Computer Supported Cooperative Work, 1988.
[28] J. Gray, P. Helland, P. O'Neil, and D. Shasha, “The Dangers of Replication and a Solution,” Proc. 1996 ACM SIGMOD Conf. Management of Data, SIGMOD Record, pp. 173-182, June 1996.
[29] D.K. Gifford and J.E. Donahue, "Coordinating Independent Atomic Actions," Proc. Spring COMPCON Conf., p. 92,San Francisco, Feb. 1985.
[30] W. Weihl and B. Liskov, “Implementation of Resilient, Atomic Data Types,” ACM Trans. Programming Languages and Systems, vol. 7, no. 2, pp. 244-269, Apr. 1985.
[31] J. Ousterhout, Tcl and the Tk Toolkit, Addison Wesley Longman, Reading, Mass., 1994.
[32] K. Arnold and J. Gosling, The Java Programming Language. Addison-Wesley, 1996.
[33] B. Liskov and L. Shira, "Promises: Linguistic Support for Efficient Asynchronous Procedure Calls," Proc. SIGPLAN Conf. Programming Language Design and Implementation, pp. 260-267,Atlanta, June 1988.

Index Terms:
Mobile computing, distributed objects, mobile code, wireless networks, software libraries, distributed systems, replication, caching, operating systems, remote procedure call.
Anthony D. Joseph, Joshua A. Tauber, M. Frans Kaashoek, "Mobile Computing with the Rover Toolkit," IEEE Transactions on Computers, vol. 46, no. 3, pp. 337-352, March 1997, doi:10.1109/12.580429
Usage of this product signifies your acceptance of the Terms of Use.