OSGi, Eclipse Equinox, ECF, Virgo, Gemini, Apache Felix, Karaf, Aires, Camel, Eclipse RCP

HBase, Hadoop, ZooKeeper, Cassandra

Flex4, AS3, Swiz framework, GraniteDS, BlazeDS etc.

There is nothing that software can't fix. Unfortunately, there is also nothing that software can't completely fuck up. That gap is called talent.

About Me


OSGi and Mobile Device Management

“Hi, I have a problem with application X on my phone.” – these words can be the starting sentence of the most expensive call a mobile operator can receive: customer care. If application X doesn’t work on a particular mobile device, it generates costs in a number of formats:

  • The customer care personnel needs to handle and fix the problem
  • The dissatisfied customer may decide to go to a different operator
  • Loss of revenue because the customer couldn’t use the application

Obviously the goal of mobile operators is to reduce the number of such calls and make sure that all applications X, Y and Z are working properly for all of their customers. Mobile Device Management (MDM) is the key technology to minimize customer care cost; it can help in a number of ways

  • Prevention: making sure that the proper version of application X is deployed to the customer’s device. Mobile terminals are very heterogenousheterogeneous. Device capabilities, operating system, input methods, display sizes, memory and CPU power can vary in a wide spectrum. Matching the proper application version to the particular device is very important.
  • Detection: when application X is not working, MDM can help in detecting the reasons remotely, to speed up the process and reduce customer inconvenience, i.e. customer doesn’t have to take the device to a service.
  • Correction: MDM can help to correct the problem remotely, by reconfiguring the application or delivering a patch. Again, the customer doesn’t have to take the device to the service to allow this.

Fixing applications over the air is a prevention method as well. If some problem was found and solved in a concrete customer case, MDM can help to deliver the solution to a large number of customers, even before they actually notice the problem. And this is probably the biggest potential of MDM: automated processes to solve issues well before they actually become a problem.

To achieve this level of functionality, some technology elements have to be in place.

figure 1

Figure 1 – Mobile Device Management end to end

The Device Management Server in the operator network is responsible for performing the management operations on all devices in the operator network. A typical management server is capable to operate interactively, for example during an ongoing customer care call but it also allows batched execution of management tasks on a large number of devices.

There’s a need for Management Protocol mutually agreed on by the management server and the device. In mobile world the most widely used management protocol is OMA DM, defined by the Open Mobile Alliance, a not for profit industry initiative. The mission of the Open Mobile Alliance is to facilitate global user adoption of mobile data services by specifying market driven mobile service enablers that ensure service interoperability across devices, geographies, service providers, operators, and networks, while allowing businesses to compete through innovation and differentiation.

And last, but not least, the managed mobile device has to cooperate. It has to support device management by exposing its functions in the forms of Management Objects that can be manipulated by the server via the management protocols.

Management Objects are a very important piece of this picture. They must be standard, to enable interoperability and transparent operation for the management server. However, the definition of management objects in the heterogeneous space of mobile device is a slow and technically complex task. OMA defined a number of management objects for common management tasks; however, there were gaps in the available set. The heterogeneous execution platforms made it very difficult to define management objects that would allow the management of software components – applications – throughout their lifecycle. The Mobile Expert Group of OSGi Alliance played an important role filling in this gap. The use of Java and OSGi technology created a platform which simplified this task to solvable level.

The role of OSGi…

In the landscape of MDM, OSGi technology and the extensions defined by the Mobile Expert Group (MEG) play a crucial role. Java and OSGi provide a common platform for the heterogeneous world of mobile devices which allows:

  • Cross platform execution via the use of Java. Applications written for this platform are portable across devices in binary format.
  • Java provides a secure execution environment, where applications are running under strict, policy-based access control.
  • Enable the dynamic extension of the execution platform. This further helps to neutralize the differences between mobile devices.
  • Component-oriented software development with complete support for dependency management between the components. During the application development, OSGi bundles can declare their dependencies and requirements. This metadata can be used by the management server when selecting the appropriate set of components to be deployed to a mobile device.

The mobile extensions enable the whole-scale management of mobile application during the complete application lifecycle by defining standard management objects for all required management functionality.


Figure 2 – OSGi supports the management of application during their complete lifecycle

The following Management Objects are defined:

  • Deployment Management Object enables the remote installation, update or removal of complex application. It also supports remote inventory of installed applications.
  • Configuration Management Object enables the remote configuration of the applications.
  • Log Management Object can be used to read log entries on the device, for example to find out the cause of some malfunction.
  • Monitoring Management Object enables the runtime diagnostic of the deployed components.
  • Application Lifecycle Management Object can be used to remotely start/stop applications or schedule applications for execution triggered by some event.
  • Policy Management Object enables the management the device security policy

In addition to this, MEG defined an advanced packaging format called deployment package. The use of deployment packages simplifies the installation of complex applications by allowing a single-package delivery and install-time initialization of the application, for example creating configuration or populating databases.


Mobile OSGi is a solid platform, built on proven technologies and widely adopted standards. It makes whole-scale management of applications possible and thereby it enables mobile operators to leverage MDM to reduce their customer care costs and improve the satisfactions of their customers. As an example, US based mobile operator Sprint announced in EclipseCon 2007 that they are going to use OSGi MEG as the next generation development environment for their 3G and 4G devices.

Article by Gabor Pecsy, Nokia

posted on 2008-05-31 01:15 gembin 阅读(664) 评论(0)  编辑  收藏 所属分类: OSGi


















Design Pattern


Favorite Links


Game Dev


Identity Management

IT resources






Version Control







free counters