A Virtual Cloud Computing Provider for Mobile Devices

advertisement
A Virtual Cloud Computing
Provider for Mobile Devices
Gonzalo Huerta-Canepa
Dongman Lee
•
•
•
•
•
•
•
•
•
•
Introduction
Proposed Approach
Related work
Motivation and Scenario
Benefits
Design Considerations
Architecture
Current implementation
Preliminary evaluation And Discussion
Conclusions and future work
Introduction
•
•
•
•
Mobile Phones are becoming pervasive.
One mobile phone every two person in the world
Mobiles are no longer a luxury, but a must.
User expects to execute any application on top of a
mobile devices.
• But lacks in terms of resource.
Mobile Cloud computing:
• It allows resources in cloud computing platforms
• Examples: Amazon EC2,Microsoft Azure and Google
AppEngine
• Management of mobile devices and jobs is done at a
coordinator located on the infrastructure
• This hinder a user from enjoying cloud services if
connection is unavailable or too expensive
Proposed approach
• It presents guidelines for a framework to create
virtual mobile cloud computing providers.
• The framework detects nearby nodes that are in a
stable mode.
• If nodes in that state are found, then the target
provider for that application is changed.
• This approach also allows avoiding a connection to
infrastructure-based cloud providers.
Related Work
• Christensen presents general requirements and key
technologies to achieve the vision of mobile cloud
computing.
• Luo introduces the idea of using cloud computing to
enhance the capabilities of mobile devices.
• Giurgiu et al. use the cloud as the container for
mobile applications.
• Chun and Maniatis explore the use of cloud
computing to execute mobile applications in behalf of
the device.
Related Work(Contd..)
• Marinelli introduce Hyrax, a mobile cloud computing
client that allows mobile devices to use cloud
computing platforms.
• Black and Edgar demonstrate the feasibility of using
mobile devices as part of a grid.
Motivation
• Offloading to devices with similar Characteristics.
• Overall performance of the task will be worse than
running it on single device.
• Accessing cloud computing providers is associated
with two cost:
1. The cost of networking
2. The cost of using providers resource.
Motivation(Contd..)
On technical side, there are several benefits to consider
1)Preserve conventional offloading.
Example: if memory is not enough then creating
instances of those objects on any remote device will
allow the application to be executed.
2)Performance, can be enhanced if the execution
sequence of an application can be reordered for
increasing the level of parallelism.
Scenario
• "Peter is visiting South Korea. He takes a city tour that will visit several
museums and places in companion of a group of foreigners. At one
museum he becomes intrigued with some form of art from ancient times,
but he cannot get more information since the description of this picture is
in Korean. Fortunately he has a translator on his mobile phone that is able
to handle Korean. He takes a picture of the text and passes it through OCR
software. However his mobile phone is not capable of processing the whole
text. He could connect to Internet and use a remote server to process it, but
the cost of roaming for data is prohibited to him. Instead he checks for
other users that are also interested in reading the material, and request
resources from their mobile devices. The other users - realizing that the
common processing is useful for them - create an ad hoc network with
Peter. He is now able to translate the text, and stores the information on his
mobile device to share with the other users when they need it."
Design Considerations
• Resource monitoring and management
• Seamless integration with the existing cloud APIs.
• A partition and offloading scheme suitable for
mobile devices.
• Activity detection to find users of the same or similar
goals.
• Spontaneous interaction network support.
• A memory cache scheme to save intermediate results.
• Lightweight and resource friendly architecture.
Architecture
• It consists of five features.
1.
2.
3.
4.
5.
Application manager
Resource manager
Context manager
P2P component
Offloading manager
Architecture(Contd..)
• The Application Manager is in charge of launching and intercepting an
application at loading time and modifying an application to add
features required for offloading – proxy creation.
• The Resource Manager is in charge of application profiling and
resource monitoring on a local device.
• The Context Manager wields and synchronizes contextual information
from context widgets and makes it available in some way for other
processes.
• Two basic contexts are of utter importance: the location and number of
nearby devices.
• P2P component gives number of nodes information.
• The Offloading manager component is in charge of sending and
managing jobs from the node to other remote devices, plus receiving
and processing jobs sent from them.
Current Implementation
• They implemented a prototype of framework in Java.
• This project consists of two sub-implementations
1. Cloud computing provider client
2. Ad Hoc mobile cloud framework
Cloud computing provider client:
• Used Retroweaver to port a client of Hadoop to Java
1.4, ensuring that it will run on top the PhoneME,
Mysaifu and JamVM, the selected target VMs for the
mobile devices.
Ad Hoc mobile cloud framework:
• It exploit the Hadoop’s API and create our own
implementation.
• Most of the classes and interfaces related to the file
system were replaced by direct downloads from the
source mobile device,
• The map/reduce framework calls were replaced to
RPC methods implemented using the Jabber RPC
extension.
Main Issues
• Modifications of applications in order to intercept
and replace references to infrastructure-based clouds
with mobile ones.
• A personalized version of Javassist was utilized for
this purpose.
• Communication between devices is based on the
Extensible Messaging and Presence Protocol
Yaja
• XMPP client implemented in Java
Benefits:
• Easy to use
• Easy to extend
• Computationally/memory efficient.
• Thread safe
• Stable/bugless.
Yaja(Contd..)
• The modifications allow us to be able to execute Yaja on
mobile devices.
• Incorporate two extensions for XMPP, Serverless
Messaging and Jabber RPC.
• Serverless Messaging is based on mDNS and ZeroConf,
and allows for the discovery and messaging among
devices without the need of an infrastructure
• Jabber RPC is a scheme based on XML-RPC using
XMPP as the transport protocol, and it is utilized to
execute the remote tasks associated with a cloud job.
Preliminary Evaluation and Discussion
Conclusion
• It presents the motivation and preliminary design for
a framework to create Ad Hoc cloud computing
providers.
• This framework takes advantage of the pervasiveness
of mobile devices.
• Creating cloud among the devices in the vicinity,
allowing them to execute jobs between the devices
• The work presented here is preliminary, and creates
the foundation for future work.
Future Work
• The usage of mobility traces will be considered to
create stable communities and not only places.
• Usage of context awareness for fault tolerance must
be introduced.
• For instance, replication of jobs based on the
instability of the nodes in the network.
Download