A Proactive Middleware Platform for Mobile Computing
An obvious prerequisite for mobile computing devices is the ability to adapt to different computing environments. Otherwise the devices are forced to carry with them everything they may eventually need during their operational life time. This is neither desirable nor feasible, thereby hinting at the need for dynamic adaptation. The idea would be to let the environment be proactive and adapt the application rather than forcing the application to adapt itself to every possible environment. In this paper we present a platform for doing exactly this. Applications running on our modified JVM can be extended at run time with new functionality. Through this platform, mobile devices can acquire on-the- fly any functionality extension they may need to work properly in a given environment. The functionality extensions are local in time and space: they are active only on a specific site and just for the time they are needed. The platform can be used in both centralized settings (with a base station providing the extensions) or in self configuring mode (extensions are provided by peers). In this paper we describe the platform, how to use it and report on one of the several prototypes that have been constructed.
KeywordsMobile Device Mobile Node Mobile Computing Extension Base Native Code
- APW01.D. Arregui, F. Pacull, and J. Willamowski. Rule-Based Transactional Object Migration over a Reflective Middleware. In Middleware 2001: IFIP/ACM Intl. Conf. on Distributed Systems Platforms, volume 2218 of LNCS, pages 179–196, 2001.Google Scholar
- AWO+99.K. Arnold, A. Wollrath, B. O’Sullivan, R. Scheifler, and J. Waldo. The Jini Specification. Addison-Wesley, Reading, MA, USA, 1999.Google Scholar
- BC01.G. S. Blair and G. Coulson. The Design and Implementation of Open ORB version 2. IEEE Distributed Systems Online Journal, 2(6), 2001.Google Scholar
- BH02.J. Baker and W. Hsieh. Runtime Aspect Weaving Through Metaprogramming. In 1st Intl. Conf. on Aspect-Oriented Software Development, Enschede, The Netherlands, pages 86–95, April 2002.Google Scholar
- CBCP01.M. Clarke, G. S. Blair, G. Coulson, and N. Parlavantzas. An Efficient Component Model for the Construction of Adaptive Middleware. In Middleware 2001: IFIP/ACM Intl. Conf. on Distributed Systems Platforms, volume 2218 of LNCS, pages 160–178, 2001.Google Scholar
- CCM97.CORBA Component Model RFP. Available at http://www.omg.org/docs/orbos/97-05-22.pdf, 1997.
- CHS01.W.-K. Chen, M. Hiltunen, and R. Schlichting. Constructing adaptive software in distributed systems. In Proc. of the 21st Intl. Conf. on Distributed Computing Systems (ICDCS-01), pages 635–643, Los Alamitos, CA, April 16–19 2001. IEEE Computer Society.Google Scholar
- ECDF01.C. Efstratiou, K. Cheverst, N. Davies, and A. Friday. An Architecture for the Effective Support of Adaptive Context-Aware Applications. LNCS, 1987, 2001.Google Scholar
- EGK+99.F. Eliassen, V. Goebel, T. Kristensen, T. Plagemann, A. Andersen, H. Rafaelsen, W. Yu, G. Blair, F. Costa, G. Coulson, and K. Saikoski. Next generation middleware: Requirements, architecture, and prototypes. In The Seventh IEEE Workshop on Future Trends of Distributed Computing Systems, pages 60-, Tunisia, South Africa, December 1999.Google Scholar
- Jos02.Jose Solorzano. leJOS, Java for the RCX. http://www.lejos.org, 2002.
- KF01.E. Kiciman and A. Fox. Separation of Concerns in Networked Service Composition. Position Paper Workshop on Advanced Separation of Concerns in Software Engineering at ICSE 2001, Toronto, Canada, May 2001.Google Scholar
- KLM+97.G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J.M. Loingtier, and J. Irwin. Aspect-Oriented Programming. In Mehmet Akşit and Satoshi Matsuoka, editors, In Proc. of ECOOP’97-Jyväskylä, Finland, volume 1241 of LNCS, pages 220–242. Springer-Verlag, New York, NY, June 1997.Google Scholar
- KZ01.Tim Kindberg and Kan Zhang. Context authentication using constrained channels. Technical Report HPL-2001-84, HP Labs, 2001.Google Scholar
- LCX+01.T. J. Lehman, A. Cozzi, Y. Xiong, J. Gottschalk, V. Vasudevan, S. Landis, P. Davis, Bruce K., and P. Bowman. Hitting the distributed computing sweet spot with TSpaces. Computer Networks (Amsterdam, Netherlands:1999), 35(4):457–472, March 2001.Google Scholar
- Leg.Lego. Lego mindstorms robotics invention system. At http://mindstorms.lego.com, 2002. Lego Mindstorms.
- NSN+97.B. D. Noble, M. Satyanarayanan, D. Narayanan, J. E. Tilton, J. Flinn, and K. R. Walker. Agile Application-Aware Adaptation for Mobility. In Sixteenth ACM Symposium on Operating Systems Principles, pages 276–287, Saint Malo, France, 1997.Google Scholar
- OL01.D. Orleans and K. Lieberherr. DJ: Dynamic Adaptive Programming in Java. In Reflection 2001: Meta-level Architectures and Separation of Crosscutting Concerns, Kyoto, Japan, September 2001. Springer Verlag.Google Scholar
- PA02.A. Popovici and G. Alonso. Ad-Hoc Transactions for Mobile Sevices. In Proc. of the 3rd VLDB Intl. Workshop on Transactions and Electronic Services (TES’ 02), Hong Kong, China, August 2002.Google Scholar
- PAG02.A. Popovici, G. Alonso, and T. Gross. Design and evaluation of spontaneous container services. Technical report no. 368, Computer Science Department, Swiss Federal Institute of Technology, 2002.Google Scholar
- PAG03.A. Popovici, G. Alonso, and T. Gross. Just in time aspects: Effcient dynamic weaving for java. In 2nd Intl. Conf. on Aspect-Oriented Software Development, Boston, USA, 2003.Google Scholar
- PGA02.A. Popovici, T. Gross, and G. Alonso. Dynamic Weaving for Aspect Oriented Programming. In 1st Intl. Conf. on Aspect-Oriented Software Development, Enschede, The Netherlands, April 2002.Google Scholar
- PLF+01.S. R. Ponnekanti, B. Lee, A. Fox, P. Hanrahan, and T. Winograd. ICrafter: A Service Framework for Ubiquitous Computing Environments. LNCS, 2201, 2001.Google Scholar
- SAW94.B. Schilit, N. Adams, and R. Want. Context-Aware Computing Applications. In IEEE Workshop on Mobile Computing Systems and Applications, Santa Cruz, CA, US, 1994.Google Scholar
- SGGB99.E.G. Sirer, R. Grimm, A.J. Gregory, and B.N. Bershad. Design and Implementation of a Distributed Virtual Machine for Networked Computers. In Symposium on Operating Systems Principles, pages 202–216, 1999.Google Scholar
- SM.Sun Microsystems. The Java Security Model. http://java.sun.com/.
- SPE.Spec-The Standard Performance Evaluation Corporation. SPECjvm.Web access http://www.spec.org/osg/jvm98/.
- Sun02.Sun Microsystems. Java 2 Platform, Standard Edition, v 1.4.0: API Specification, 2002. http://www.java.sun.com/j2se/1.4/docs/api/.
- XC02.Xerox Corporation. The AspectJ Programming Guide. Online Documentation, 2002. http://www.aspectj.org/.
- YK01.S. S. Yau and F. Karim. Reconfigurable Context-Sensitive Middleware for ADS Applications in Mobile Ad-Hoc Network Environments. In 5th International Symposium on Autonomous Decentralized Systems (ISADS), pages 319–326, March 2001.Google Scholar
- ZBS97.John A. Zinky, David E. Bakken, and Richard E. Schantz. Architectural Support for Quality of Service for CORBA Objects. Theory and Practice of Object Systems, 3(1), 1997.Google Scholar