Sie sind auf Seite 1von 11

Mobile Cloud Computing: Architectures, Applications and Challenges

Abstract: Mobile devices like mobile phones, laptops, smartphones have become a part of an
average person's life and so, have become networks like the Internet. Cloud computing in mobile
platforms has invoked a new wave of evolution in the rapidly developing mobile world.With the
limitations of mobile devices concerned with various facts like processor speed, storage capacity,
security etc., this paper intends to highlight how mobile cloud computing can help provide the
services on mobile devices helping them reduce their limitations like processing speed and
storage capacity, the architectures involved, its applications, a few challenges and possible
solutions.
I. INTRODUCTION
Mobile cloud computing is a term used for the cloud computing for the mobile world.
To fully understand the mobile cloud computing, we first need to explore the concepts of cloud
computing and mobile computing. The following sections below present a brief description of
cloud computing and mobile computing before we proceed to the actual mobile cloud
computing:
Cloud Computing
The National Institute of Standards and Technology (NIST) Information Technology Laboratory,
defines cloud computing as follows:
"Cloud computing is a model for enabling convenient, on-demand network access to a shared
pool of configurable and reliable computing resources (e.g., networks, servers, storage,
applications, services) that can be rapidly provisioned and released with minimal consumer
management effort or service provider interaction."
Mobile computing:
Mobile computing can be defined as humancomputer interaction by which a computer is
expected to be transported during normal usage. Mobile computing involves mobile
communication, mobile hardware, and mobile software. Communication issues include ad-hoc
and infrastructure networks as well as communication properties, protocols, data formats and
concrete technologies. Hardware includes mobile devices or device components. Mobile
software deals with the characteristics and requirements of mobile applications.
Mobile Cloud Computing (MCC)
A more formal definitions provided by the Mobile Cloud Computing Forum defines Mobile
Cloud Computing (MCC) as follows:
Mobile Cloud Computing at its simplest, refers to an infrastructure where both the data storage
and the data processing happen outside of the mobile device. Mobile cloud applications move the
computing power and data storage away from mobile phones and into the cloud, bringing
applications and mobile computing to not just smartphone users but a much broader range of
mobile subscribers.
Mobile cloud computing aims at using cloud computing techniques for storage and processing of
data on mobile devices, thereby reducing their limitations. The end mobile device user will
eventually be the benefactor of the Mobile Cloud Computing. Company users can share
resources and applications without a high level of capital expenditure on hardware and software
resources. Nature of cloud applications also is advantageous for users since they do not need to
have very technical hardware to run applications as these computing operations are run within
the cloud. This reduces the price of mobile computing to the end users. They could see a huge
number of new features enhancing their phones due to Mobile Cloud Computing. At the same
time the developers also have real advantages from Mobile Cloud Computing. The largest
benefit of cloud computing for developers is access to a broader audience of a wide range of
mobile subscribers. Since cloud computing applications go through a browser, the end users
mobile operating system does not have any impact on the application. Along with the plethora of
benefits, there are a large number of issues to be addressed and unsolved problems to be solved.
Several challenges such as the dependency on continuous network connections, data sharing
applications and collaboration, and security Another key challenge for Mobile Cloud Computing
is network availability and intermittency. Also Mobile Cloud Computing concepts rely on an
always-on connectivity and will need to provide a scalable and high quality mobile access.
II. MOBILE CLOUD ARCHITECTURE
Currently, no standard architecture for mobile cloud exists as of now. However, there exist
various mobile cloud development platforms like OpenMobster that have been developed
keeping in mind the general architecture of the mobile cloud platform. The sections below
present a general achitecture as well as the OpenMobster architecture currently under Google
(http://code.google.com/p/openmobster/).

General Mobile Cloud Architecture
A general mobile cloud computing architecture is as follows:

In the above architecture, mobile devices are connected to the mobile networks via base stations
(e.g., base transceiver station (BTS), access point, or satellite) that establish and control the
connections (air links) and functional interfaces between the networks and mobile devices.

Mobile users requests and information (e.g., ID and location) are transmitted to the central
processors that are connected to servers providing mobile network services. Here, mobile
network operators can provide services to mobile users as AAA (for authentication,
authorization, and accounting) based on the home agent (HA) and subscribers data stored in
databases. After that, the subscribers requests are delivered to a cloud through the Internet. In
the cloud, cloud controllers process the requests to provide mobile users with the corresponding
cloud services. These services are developed with the concepts of utility computing,
virtualization, and service-oriented architecture (e.g., web, application, and database servers).
However, The details of cloud architecture could be different in different contexts.

OpenMobster Architecture
The OpenMobster Architecture is as follows:


This architecture broadly consists of:
1. mobile device (client),
2. the OpenMobster Cloud Server and
3. the Backend Data and Cloud Services.
The details of the client and server stack are explained as follows:
A. Mobile Server Cloud Stack
This is a software stack that is installed on the server-side. It provides the following services to
Mobile Apps: Sync, Push, Secure Socket-Based Data Service, Mobile RPC, Security,
Management Console
.1. Sync
Sync service synchronizes device side App state changes with the backend services where the
data actually originates. It provides a plugin framework to mobilize the backend data. It uses the
concept of a data "Channel" which mobilizes the data in the form of "MobileBean" instances.



.2. Push
Push service monitors data "Channels" for updates. The moment updates are detected,
corresponding Comet-based notifications are sent back to the device. If the device is out of
coverage or disconnected for some reason, it waits in a queue, and delivers the push the moment
the device connects back to the network. Clarification: The push service does not depend on any
special infrastructure like a Blackberry Enterprise Server to achieve its functionality. Its a pure
Comet-based approach via a socket channel with the device.
.3. Secure Socket-Based Data Service
Secure Socket-Based Data Service is a high performance socket server based on Java NIO. The
service uses the Apache MINA network application framework. It provides both, a plain socket
server , and a SSL-based socket server, depending on the security requirements of the Apps.
.4. Mobile RPC
Mobile RPC service on the server-side provides a Remote Procedure Call framework for
invoking coarse grained business services of an App. The components are plugged in as
MobileService Beans and the device-side Mobile RPC service invokes them via a simple
synchronous request/response based approach.
.5. Security
Security component provides authentication and authorization services to make sure mobile
devices connecting to the Cloud Server are in fact allowed to access the system. Every device
must be first securely provisioned with the system before it can be used. After the device is
registered, it is challenged for proper credentials when the device itself needs to be activated.
Once the device is activated, all Cloud requests are properly authenticated/authorized going
forward.
.6. Management Console
Every instance of a Cloud Server ships with a Command Line application called the
Management Console. The console provides user and device provisioning functionalities. In the
future, this same component will have more device management features like remote data wipe,
remote locking, remote tracking, etc.
B. Client Cloud Stack
This is a software stack that is installed on the mobile device. It provides the following
services to Mobile Apps: Sync, Push, OfflineApp, Mobile RPC, Network, Database,
Inter-App Bus.



.1. Sync
Sync service auto-synchronizes all state changes to App/Moblet Data back with the Cloud
Server. It supports various synchronization modes such as two way sync, one way server sync,
one way device sync, slow sync, and boot sync.


.2. Push
Push service manages state updates being sent as notifications from the Cloud Server. This
improves the mobile user's experience as they do not have to pro-actively check for new
information. When relevant information becomes available on the server, the user is
automatically notified via system notifications like a beep, vibration, etc. Clarification: The Push
service is a real time comet based service. The notifications are received within the context of the
App and not as SMS alerts or some other non-intuitive experience. The experience is just like the
Blackberry email experience. The Cloud Server does not require any special infrastructure like
the Blackberry Enterprise Server to make this happen.
.3. OfflineApp
OfflineApp service provided is designed to be an App Developer's best friend. Its carries the
management capabilities to create smart coordination between low-level services like Sync and
Push. Because of the OfflineApp service, the programmer never has to write any code to actually
perform any synchronization. Synchronization is something that is managed by the OfflineApp
service and it decides which mode of synchronization is the best for the current runtime state of
the App. The App developer is never exposed to low level synchronization details like two way
sync, one way device sync, etc. It coordinates managing the Push service. It carries the smartness
to track the type of data being pushed along with which installed App on the device needs the
notification. The App developer does not have to write any special code to receive notifications.
The moment the data channel for the App is established, all synchronizations and push
notifications are automatically handled by the OfflineApp service.
.4. Mobile RPC
Mobile RPC facilitates making synchronous RPC (Remote Procedure Call) invocations from the
device to the server side 'MobileServiceBean' components.
.5. Network
Network service manages establishing a network connection with the Cloud Server. It manages
the communication channel needed to receive Push notifications from the server. It carries the
smartness to track coverage and establishes proper connections automatically. This is a very low-
level service and an App developer never has to deal with using it directly. The App developer is
shielded from any low level connection establishment, security, protocol details, etc by using the
higher level Mobile Data Framework components.
.6. Database
Database service manages local data storage details for Apps. Depending on the platform in
question it uses the corresponding storage facilities. It is designed to coordinate storage among
the suite of Apps/Moblets installed on the device. It provides thread-safe concurrent access to the
Apps. Just like the Network service, its a low-level service used by the Mobile Data Framework
components.
.7. Inter-App Bus
Inter-App Bus service provides low-level coordination/communication between the suite of
Apps/Moblets installed on the device.

III. ADVANTAGES OF MOBILE CLOUD COMPUTING
Mobile cloud applications move the computing power and data storage away from mobile
phones and into the cloud, bringing apps and mobile computing to not just smartphone users but
a much broader range of mobile subscribers. Some of the possible benefits of Mobile Cloud
Computing are as follows:
Mobile Cloud Computing will help to overcome limitations of mobile devices in
particular of the processing power and data storage.
It also might help to extend the battery life by moving the execution of commutation-
intensive application to the cloud.
Mobile Cloud Computing is also seen as a potential solution for the fragmented market of
mobile operating systems with currently eight major operating systems.
Mobile Cloud Computing can increase security level for mobile devices achieved by a
centralized monitoring and maintenance of software.
It can also become a one-stop shopping option for users of mobile devices since Mobile
Cloud Operators can simultaneously act as virtual network operators, provide e-payment
services, and provide software, data storage, etc. as a service.
A number of new technical functionalities might be provided by mobile clouds. In
particular, provisioning of context- and location-awareness enables personalization of
services is an attractive functionality.
Mobile Cloud Computing might open the cloud computing business that is currently
almost exclusively addressing businesses to consumers since they will significantly
benefit from the above described options.
IV. APPLICATIONS OF MOBILE CLOUD COMPUTING
Due to the various advantages of MCC, there are numerous applications in a variety of fields.
Some of them are listed below:
A. Mobile Commerce
Mobile commerce (m-commerce) is a business model for commerce using mobile devices.
The mcommerce applications generally fulfill some tasks that require mobility (e.g., mobile
transactions and payments, mobile messaging, and mobile ticketing). MCC can be used for
centralizing, authenticating transactions done through m-commerce.

B. Mobile Learning
Mobile learning (m-learning) is designed based on electronic learning (e-learning) and
mobility. However, traditional m-learning applications have limitations in terms of high
cost of devices and network, low network transmission rate, and limited educational
resources. Cloud-based m-learning applications are introduced to solve these limitations.
For example, utilizing a cloud with the large storage capacity and powerful processing
ability, the applications provide learners with much richer services in terms of data
(information) size, faster processing speed, and longer battery life.

C. Mobile Healthcare
The purpose of applying MCC in medical applications is to minimize the limitations of
traditional medical treatment (e.g., small physical storage, security and privacy, and medical
errors). Mobile healthcare (m-healthcare) provides mobile users with convenient helps to
access resources (e.g., patient health records) easily and quickly. Besides, m-healthcare
offers hospitals and healthcare organizations a variety of on-demand services on clouds
rather than owning standalone applications on local servers.

D. Mobile Gaming
Mobile game (m-game) is a potential market generating revenues for service providers. M-
game can completely offload game engine requiring large computing resource (e.g., graphic
rendering) to the server in the cloud, and gamers only interact with the screen interface on
their devices.

E. Other Practical Applications
A cloud becomes a useful tool to help mobile users share photos and video clips efficiently
and tag their friends in popular social networks as Twitter and Facebook. MeLog is an
MCC application that enables mobile users to share real-time experience (e.g., travel,
shopping, and event) over clouds through an automatic blogging. The mobile users (e.g.,
travelers) are supported by several cloud services such as guiding their trip, showing maps,
recording itinerary, and storing images and video.
A service called One Hour Translation provides an online translation service running on
the cloud of AmazonWeb Services. One Hour Translation helps mobile users, especially
foreign visitors, receive the information translated in their language through their mobile
devices.

V. CHALLENGES OF MCC AND POSSIBLE SOLUTIONS

The following factors are essential to delivering a good cloud service:

Partitioning of application functions across cloud and device
Low network latency for faster responses
High network bandwidth for faster data transfer between cloud and devices
Adaptive monitoring of network conditions to optimize network and device costs

Some of the challenges faced in mobile cloud computing and their possible solutions are as
follows:

1. Absence of Standards
Though cloud computing is considered to have many advantages including infinite
scalability, lowered total cost of ownership (TCO), reduced investment and risk for the
user and system automation, there is no open accepted standard available for Cloud
computing. Portability and interoperability is also impossible between different Cloud
Computing Service Providers, which handicaps the widely deploy and quick
development of cloud computing. Customers are reluctant to transform their current
datacenters and IT resources to the cloud computing platforms, because a number of
unsolved technical problems still exist for these cloud platforms. A possible solution
proposed by many researchers from industry called Open Cloud Computing Federation
(abbreviated as OCCF later) may be an answer to many of these problems. The
conception of Open Cloud Computing Federation is it incorporates multiple CCSPs
(Cloud Computing Service Provider) service to provide a uniform resource interface for
the user.

2. Access Schemes
Mobile Cloud Computing will be deployed in a heterogeneous access scenario with a
wide range of different radio access technologies such as GPRS, LTE, WLAN.
Whichever be the access technology, Mobile Cloud Computing requires wireless
connectivity with the following features.
MCC requires an always-on connectivity for a low data rate cloud control signalling
channel.
MCC requires an on-demand available wireless connectivity with a scalable link
bandwidth.
MCC requires a network selection and use that takes energy-efficiency and costs into
account.
The most critical challenge of Mobile Cloud Computing is probably to guarantee a
wireless connectivity that meets the requirements of Mobile Cloud Computing with
respect to scalability, availability, energy- and cost-efficiency. Thus access management
is a very critical aspect of Mobile Cloud Computing.
A possible solution is to use context and location information to optimize mobile access.
Currently, this is already used by a broad variety of applications, in particular context-
aware services for mobile terminals. These services exploit data collected from terminal
sensors (e.g., GPS, gyro, proximity detectors) or network sensors measuring network
status and load. Not only consumer applications but also network services exploit this
information. Deployment of Mobile Cloud Computing utilising the context information,
such as device locations and capabilities and user profiles, can be used by the mobile
cloud server to locally optimize the access management.

3. Security
Most of the mobile devices (especially the smartphones) has almost all the functionalities
of a standard desktop computer. This, unfortunately like the desktop machines, poses the
same security threats to mobile devices. To combat the security threats, current mobile
devices run the threat detection services on the mobile device itself. Such an exercise
warrants intensive usage of resources both in terms of computation and power. A possible
solution is to comes with a new model of security where detection services can be moved
to cloud. It significantly saves the device CPU and memory requirements but at the cost
of increasing bandwidth. Such an approach has several benefits:
Better detection of malicious software
Reduce on-device Resources consumption
Reduce on-device Software complexity

4. Need for Elastic Mobile applications
As far as the end user is concerned, it does not matter how the service is provided. What
the mobile user needs is a cloud mobile application store. But, unlike the applications that
are downloaded onto the end users phone, these applications can be launched on the
device or cloud, and can be migrated between them according to dynamic changes of the
computing environment or user preferences. Users can access them using mobile
browser. Above all, there are heavy limitations on the applications due to limited
resources such as low CPU frequency, small memory, and a battery-powered computing
environment. Such applications are called elastic applications.
As these applications are launched from cloud and are not constrained by the facilities in
mobile device. If more compute (or storage) is needed then this can be obtained from the
cloud. Migration of functionalities gives more flexibility to the device.

VI. CONCLUSION

The concept of cloud computing provides a brand new opportunity for the development of
mobile applications since it allows the mobile devices to maintain a very thin layer for user
applications and shift the computation and processing overhead to the virtual environment.
A cloud application needs a constant connection that might prove to be an Achilles heel for the
cloud computing movement. However as mobile internet capabilities continue to get better, it is
likely that solutions to this particular problem will become apparent. New programming
languages such as HTML 5 already provide a solution by enabling data caching through a mobile
device, and this allows a cloud application to continue working if connection has been
momentarily lost.

REFERENCES

1. OpenMobster. http://code.google.com/p/openmobster/.
2. http://chetan.ueuo.com/projects/CCMW.pdf
3. http://mobilecloudcomputingforum.com/

Das könnte Ihnen auch gefallen