In recent years, various embedded devices, such as home appliances, mobile phones, and PDAs have become equipped with network functions for communication among themselves. Jini is a Java-based distributed object technology that allows distributed systems of components to exist on different hardware/software platforms. A Jini device cooperates with other Jini devices on a network using "services" Each service has a "programmatic" interface that defines the device's operations. To accomplish interactions a conventional Jini client needs a service interface for its required service when the software is built. Without software updates, a client cannot interact with a new device as "undefined services" that may appear in the future. In case of an embedded device with severe memory restriction, a client must contain all service interfaces to be used even if required services already exist on the network. In this research, we propose the Adaptive Jini system that can exploit undefined services without a predefined interface for them. In the system, a client does not need to know the individual interfaces for services in advance when the software is built. A client only needs to know a generic interface that defines the kind of services. A client can lookup and interact with the services by a generic interface. We designed and implemented printer and MP3 audio player services as example applications for the Adaptive Jini system. In addition, we evaluated the memory usage of each client device both on the Adaptive Jini and the conventional Jini system, and confirmed that our system is suitable for embedded devices.
展开▼