Using JIT Compilation and Configurable Runtime Systems for Efficient Deployment of Java Programs on Ubiquitous Devices
Abstract
As the proliferation of ubiquitous devices moves computation away from the conventional desktop computer boundaries, distributed systems design is being exposed to new challenges. A distributed system supporting a ubiquitous computing application must deal with a wider spectrum of hardware architectures featuring structural and functional differences, and resources limitations. Due to its architecture independent infrastructure and object-oriented programming model, the Java programming environment can support flexible solutions for addressing the diversity among these devices. Unfortunately, Java solutions are often associated with high costs in terms of resource consumption, which limits the range of devices that can benefit from this approach. In this paper, we present an architecture that deals with the cost and complexity of running Java programs by partitioning the process of Java program execution between system nodes and remote devices. The system nodes prepare a Java application for execution on a remote device by generating device-specific native code and application-specific runtime system on the fly. The resulting infrastructure provides the flexibility of a high-level programming model and the architecture independence specific to Java. At the same time the amount of resources consumed by an application on the targeted device are comparable to that of a native implementation.
Keywords
Mobile Agent Ubiquitous Computing Runtime System Embed Device Method InvocationPreview
Unable to display preview. Download preview PDF.
References
- 1.Mark Weiser. Some Computer Science Issues in Ubiquitous Computing. Communication of the ACM, July 1993.Google Scholar
- 2.Roy Want, Bill Schilit, Norman Adams, Rich Gold, David Goldberg, Karin Petersen, John Ellis, Mark Weiser. An Overview of the ParcTab Ubiquitous Computing Experiment. IEEE Personal Communications, December 1995, Vol. 2 No.6, pp28–43.CrossRefGoogle Scholar
- 3.Gregory D. Abowd and Elizabeth D. Mynatt. Charting Past, Present and Future Research in Ubiquitous Computing. ACM Transactions on Computer-Human Interaction, Special issue on HCI in the new Millennium, 7(1):29–58, March.Google Scholar
- 4.Steven D. Gribble, Matt Welsh, Rob von Behren, Eric A. Brewer, David Culler, N. Borisov, S. Czerwinski, R. Gummadi, J. Hill, A. Joseph, R. H. Katz, Z. M. Mao, S. Ross, and B. Zhao. The Ninja Architecture for Robust Internet-Scale Systems and Services.Google Scholar
- 5.Kari Kangas and Juha Röning. Using Mobile Code Interfaces to Control Ubiquitous Embedded Systems. USENIX Workshop on Embedded Systems, March 29–31, 1999.Google Scholar
- 6.Markus Lauff, Hans Werner Gellersen. Adaptation in a Ubiquitous Computing Management Architecture. ACM Symposium on Applied Computing, Como, Italy, March 2000.Google Scholar
- 7.Earl Barr, Raju Pandey, Michael Haungs. MAGE: A distributed Programming Model. In Proceedings of the International Conference of Distributed Computing Systems 2001.Google Scholar
- 8.Open JIT, http://www.openjit.org
- 9.G. D. Abowd. Classroom 2000: An experiment with the instrumentation of a living educational environment. Pervasive Computing Vol 38, No. 4.Google Scholar
- 10.Daniel Salber, Anind K. Dey, Rob J. Orr and Gregory D. Abowd. Designing for Ubiquitous Computing: A Case Study in Context Sensing. GVU Technical Report GIT-GVU-99-29. Submitted to the 1999 Conference on Human Factors in Computing Systems (CHI '99), July 1999.Google Scholar
- 11.Essa I., Ubiquitous Sensing for Smart and Aware Environments: Technologies towards the building of an Aware Home. Position Paper for the DARPA/NSF/NIST Workshop on Smart Environments, July 1999.Google Scholar
- 12.A. Birrell and B. Nelson. Implementing remote procedure calls. ACM Transaction on Computer Systems, February 1984. 2(1).Google Scholar
- 13.James Stamos and Davis Gifford. Remote evaluation. In ACM Transactions on Programming Languages and Systems, October 1990. 12(4).Google Scholar
- 14.D. Chess, C. Harrison, and A. Kershenbaum. Mobile agents: Are they a good idea? Technical report, IBM T.J. Watson Research Center, 1995.Google Scholar
- 15.S. Dorward, R. Pike, D. L. Presotto, D. Ritchie, H. Trickey, and P. Winterbottom. The Inferno operating system. Bell Labs Technical Journal, 2(1):5–18, Winter 1997.CrossRefGoogle Scholar
- 16.HP. JetSend Communications Technology Protocol Specification Version 1.5. HP, White Paper, 1999.Google Scholar
- 17.J. Waldo. Jini Architecture Overview. Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, CA 94303, 1998. http://www.javasoft.com/products/jini/index.html Google Scholar
- 18.Salutation Consortium. Salutation Architecture: Overview, White Paper, 1998.Google Scholar
- 19.P. Wyckoff, S. McLaughry, T. Lehman, and D. Ford. TSpaces. IBM Systems Journal, 37(3):454–474, 1998. 6.CrossRefGoogle Scholar
- 20.Christensson, Bengt and Larsson, Olof, “Universal Plug and Play Connects Smart Devices,” WinHEC 99, 1999. http://www.axis.com/products/documentation/UPnP.doc
- 21.Sun Microsystems, Java 2 Platform Micro Edition (J2ME) Technology for Creating Mobile Devices, White Paper, May 19, 2000.Google Scholar
- 22.Sheng Liang, Gilad Bracha, Dynamic Class Loading in the Java Virtual Machine, OOPSLA '98, 1998.Google Scholar
- 23.E. Kovacs, K. Rohrle, and M. Reich, Integrating Mobile Agents into Mobile Middleware, Proc. Mobile Agents Int'l Workshop, Springer-Verlag, Berlin, 1998, pp 124–135.CrossRefGoogle Scholar
- 24.D. Kotz et al. “Agents TCL: Targeting the Needs of Mobile Computers, Internet Computing, July/Aug 1997, pp. 58–67.Google Scholar
- 25.S. Lipperts and A. Park, An agent-Based Middleware: A Solution for Terminal and User Mobility, Computer Networks, Sept 1999, pp 2053–2062.Google Scholar
- 26.Emre Kiciman, Armando Fox: Using Dynamic Mediation to Integrate COTS Entities in a Ubiquitous Computing Environment, The Second International Symposium on Handheld and Ubiquitous Computing (huc2k) Bristol, 25–27 September, 2000.Google Scholar
- 27.Barry Brumitt, Brian Meyers, John Krumm, Amanda Kern and Steven Shafer: EasyLiving: Technologies for Intelligent Environments, The Second International Symposium on Handheld and Ubiquitous Computing (huc2k) Bristol, 25–27 September, 2000Google Scholar
- 28.Kazunori Takashio, Gakuya Soeda, and Hideyuki Tokuda: A Mobile Agent Framework for Follow-Me Applications in Ubiquitous Computing Environment, The 21st International Conference on Distributed Computing Systems (ICDCS-21) April 16–19, 2001. Phoenix (Mesa), Arizona, USAGoogle Scholar
- 29.
- 30.David Curtis: Java, RMI and CORBA, White paper, Object Management Group Google Scholar
- 31.Calvin Austin and Monica Pawlan, JNI Technology, Advanced Programming for the Java™ Platform Chapter 5.Google Scholar