ABSTRACT
Smart devices, such as personal assistants, mobile phone or smart cards, continuously spread and thus challenge every aspect of our lives. However, such environments exhibit specific constraints, such as mobility, high-level of dynamism and most often restricted resources. Traditional middle-wares were not designed for such constraints and, because of their monolithic, static and rigid architectures, are not likely to become a fit.In response, we propose a flexible micro-ORB, called Flex-ORB, that supports on demand export of services as well as their dynamic deployment and reconfiguration. Flex-ORB supports mobile code through an intermediate code representation. It is built on top of NEVERMIND, a flexible minimal execution environment, which uses a reflexive dynamic compiler as a central common language substrate upon which to achieve interoperability.Preliminary performance measurements show that, while being relatively small (120 KB) and dynamically adaptable, FlexORB outperforms traditional middlewares such as RPC, CORBA and Java RMI.
- The community openorb project. http://openorb.sourceforge.net/.]]Google Scholar
- Java rmi specification. http://java.sun.com/j2se/1.4.2/docs/guide/rmi/spec/rmiTOC.html.]]Google Scholar
- Jonathan: an open distributed objects platform. http://jonathan.objectweb.org/.]]Google Scholar
- Orbit2. http://orbit-resource.sourceforge.net/.]]Google Scholar
- Universaly interoperable core. http://ubi-core.com.]]Google Scholar
- Rpc: Remote procedure call protocol specification version 2. ftp://ds.internic.net/rfc/rfc1057.txt, June 1988.]]Google Scholar
- G. Banavar and A. Bernstein. Software infrastructure and design challenge for ubiquitous computing applications. Communications of the ACM, 45(12):92--96, December 2002.]] Google ScholarDigital Library
- G. Blair. On the failure of middleware to support multimedia applications. In Proceedings of the 7th International Workshop on Interactive Distributed Multimedia Systems and Telecommunication Services (IDMS'2000), Enschede, Netherlands, October 2000.]] Google ScholarDigital Library
- G. Blair, G. Coulson, F. Costa, and H. Duran. On the design of reflective middleware platforms. In Proceedings of the Workshop on Reflective Middleware (RM'2000), New York, April 2000.]]Google Scholar
- D. R. Engler, M. F. Kaashoek, and J. W. O'Toole. Exokernel: an operating system architecture for application-level ressource management. In the 15th ACM Symposium on Operating Systems Principles (SOSP), Copper Mountain Resort, Colorado, USA, December 1995.]] Google ScholarDigital Library
- J.-P. Fassino, J.-B. Stefani, J. Lawall, and G. Muller. THINK: A Software Framework for Component-based Operating System Kernels. In the USENIX Annual Technical Conference, pages 73--86, Monterey, CA, USA, June 2002.]] Google ScholarDigital Library
- R. Grimm, T. Anderson, B. Bershad, and D. Wetherall. A system architecture for pervasive computing. In Proceedings of the 9th ACM SIGOPS European Workshop, pages 177--182, Kolding, Denmark, 2000.]] Google ScholarDigital Library
- ISO International Organization for Standardization. Information Technology - Open Distributed Processing - Reference Model, ISO/IEC 10746-(1-4) edition, 1996 --- 1998.]]Google Scholar
- R. Klefstad, A. Krishna, and D. Schmidt. Design and performance of a modular portable object adapter for distributed, real-time, and embedded corba applications. In Proceedings of CoopIS/DOA/ODBASE, pages 549--567, 2002.]] Google ScholarDigital Library
- R. Klefstad, D. Schmidt, and C. O'Ryan. Towards highly configurable real-time object request brokers. In Proceedings of the Symposium on Object-Oriented Real-Time Distributed Computing, pages 437--447, 2002.]] Google ScholarDigital Library
- F. Ogel, G. Thomas, I. Piumarta, A. Galland, B. Folliot, and C. Baillarguet. Towards Active Applications: the Virtual Virtual Machine Approach. In New Trends in Computer Science and Engineering. A92 Publishing House, POLIROM Press, 2003.]]Google Scholar
- I. Piumarta. The Virtual Processor: Fast, Architecture-Neutral Dynamic Code Generation. In the 3rd USENIX symposium on Virtual Machine Research and Technology, San Jose, California, USA, May 2004.]] Google ScholarDigital Library
- I. Piumarta, F. Ogel, and B. Folliot. YNVM: dynamic compilation in support of software evolution. In Engineering Complex Object Oriented System for Evolution Workshop (OOPSLA)), Tampa Bay, Florida, USA, October 2001.]]Google Scholar
- M. Roman, F. Kon, and R. Campbell. Reflective middleware: From your desk to your hand. IEEE Distributed Systems Online, July 2001. Special Issue on Reflective Middleware.]]Google Scholar
- M. Roman, D. Mickunas, F. Kon, and R. Campbell. Legorb and ubiquitous corba. In Proceedings of the Workshop on Reflective Middleware (RM'2000), New York, April 2000.]]Google Scholar
- M. Roman, A. Singhai, D. Carvalho, C. Hess, and R. Campbell. Integrating pdas into distributed systems: 2k and palmorb. In Proceedings of the 1st Symposium on Handheld and Ubiquitous Computing (HUC'99), Karlsruhe, Germany, September 1999.]] Google ScholarDigital Library
- D. Saha and A. Mukherjee. Pervasive computing: A paradigm for the 21st century. IEEE Computer, pages 25--31, March 2003.]] Google ScholarDigital Library
- M. Weiser. Some Computer Issues in Ubiquitous Computing. Communications of the ACM, 36(7):74--84, 1993.]] Google ScholarDigital Library
- A step towards ubiquitous computing: an efficient flexible micro-ORB
Recommendations
Middleware design issues for ubiquitous computing
MUM '04: Proceedings of the 3rd international conference on Mobile and ubiquitous multimediaOur daily lives will be dramatically changed by embedded small computers in our environments. The environments are called ubiquitous computing environments. To realize the environments, it is important to reduce the cost to develop ubiquitous computing ...
Ubiquitous Computing: Are We There Yet?
The widespread deployment of technologies like mobile phones continues to drive new applications and to open research opportunities.
Dynamic Reconfiguration of Middleware for Ubiquitous Computing
Ubiquitous computing scenarios call for middleware support solutions able to cope with changes in environment conditions and user requirements. Changes greatly impact on the application logic the middleware is able to carry out content/service ...
Comments