A graph-based approach for automatic service activation and deactivation on the OSGi platform
More and more mobile and embedded devices, such as home appliances and network devices, have selected OSGi as the software management platform. As a result, the resource management of the OSGi platform has become a critical issue. This paper focuses on how to enhance the efficiency of resource utilization in terms of the service activation and deactivation. We propose the service activator (SA), which is designed as an OSGi bundle, to on-demand activate and deactivate OSGi services, so that the resources required by services can be allocated and deallocated automatically. This involves a graph-based representation of services dependencies and two new algorithms. We have implemented the SA on an OSGi implementation (Knopflerfish); a home network prototype with a home surveillance scenario is presented to demonstrate the feasibility. Furthermore, a simulator is developed to further evaluate the SA in terms of several scenarios; the results show that the SA performs well for a wide range of bundles, and the processing overhead is low.