“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 – 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.
Summary
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