Browse Prior Art Database

Implementation of a Java Application Manager using a split architecture

IP.com Disclosure Number: IPCOM000009374D
Original Publication Date: 2002-Aug-20
Included in the Prior Art Database: 2002-Aug-20
Document File: 5 page(s) / 53K

Publishing Venue

Motorola

Related People

Paul Su: AUTHOR [+6]

Abstract

Implementing the Java Application Manager (JAM) using a split architecture increases portability, performance, and allows for extension into areas such as implementation of the system GUI. This paper covers our implementation of the JAM and the areas where our split architecture allowed us to improve its functionality and performance. It also covers techniques for coping with the limited memory constraints of a J2ME device when attempting to install an application using the Java Application Installer and De-installer (JAID).

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 22% of the total text.

Implementation of a Java Application Manager using a split architecture

Paul Su, Matt Long, Iris Plaxton, Paul Kline, Jim Lynch, and Amy Sootsman

1        � � � � � � � � � Abstract

Implementing the Java Application Manager (JAM) using a split architecture increases portability, performance, and allows for extension into areas such as implementation of the system GUI. This paper covers our implementation of the JAM and the areas where our split architecture allowed us to improve its functionality and performance. It also covers techniques for coping with the limited memory constraints of a J2ME device when attempting to install an application using the Java Application Installer and De-installer (JAID).

1.1        � � � � � � � Introduction

The specifications for MIDP 1.0a[1] states that a JAM or Java Application Manager must be implemented for installation, management, and de-installation of a Java 2 Micro Edition (J2ME) MIDlet. However, it does not specify the exact methods used to implement the JAM. By using a combination of Java and native code to handle event communication between the kJava virtual machine (KVM) and the underlying system software, both the efficiency and portability of the JAM are increased.

JAID is a tool to install, maintain, and remove MIDP applications. Using JAID with J2ME on a device with limited memory requires careful allocation of system resources since both JAID and the KVM require relatively large amounts of memory.

1.2        � � � � � � � Motivation

JAM is responsible for management of MIDlets on a MIDP device. Management of MIDlet includes, but is not limited to, installing, uninstalling, invoking, suspending, stopping, and restricting access. JAM and a MIDlet communicate state changes through a standard API defined in the MIDP specification.� Beyond the API for application state communication, the MIDP defines no standard for the JAM.� A MIDP compliant embedded device therefore requires development and integration of the JAM with the existing system software.

JAID provides the ability to install and remove applications in a space-efficient manner.� However, JAID requires a relatively large chunk of memory while it is first processing a set of class files on the device. Since MIDP devices are by nature limited in the amount of available memory, techniques must be employed to conserve and re-use the available resources.

2        � � � � � � � � � Solution

A virtual machine provider would have a much more appealing offering if it provided a complete JAM solution.� Most of the JAM components are the same across ports so it’s a waste of time to develop a completely new implementation for each product.� The most portable solution would be to implement the JAM in Java with just a thin underlying native layer.� However, this solution would not be very efficient on such limited devices.� Portability is key but shouldn’t come at the expense of efficiency.

JAM can be implemented using a split-architecture application manager to allow for ...