process offloading from android device to cloud using jade
TRANSCRIPT
Process Offloading in Android devicesusing JADE
Presentation for
ICCPCT Conference ‘15
20 March 2015
By : * David I. Fadaraliki & S. Rajendran
*M.Tech Cloud Computing
Department of I.T.
SRM University
Introduction
Definitions
Problem Analysis
Proposed Solution
Why Mobile agents
Jade Overview
Quantitative Results
Possibilities (Applications)
Conclusion
Outlines
Introduction(1)
87% Of Connected Devices Sales By 2017 Will Be Tablets
And Smartphones. Mostly capable of connecting to the internet.
But….
IEEE, ICCPCT-2015, International Conference on Circuits, Power and Computing Technologies
Introduction(2)
processing capabilities,
storage capacities,
battery life
… with limited :
Propose Mobile Agents aided Offloading framework for data,
applications, processes and/or services from a mobile device
(android) to a cloud environment
IEEE, ICCPCT-2015, International Conference on Circuits, Power and Computing Technologies
Definitions
Offloading -sending heavy computation to a resourceful remote location
and receiving the results back.
JADE(Leap) – Java Agent DEvelopment (Light Extension Agent
Platform)
Mobile Agents - software abstraction that can migrate across the
network representing users. They communicate using
agent communication language (acl) realize a set of tasks
and goals it was designed for
Cloud Environment - remote servers and software networks that allow
centralized data storage and online access to computer
resources
IEEE, ICCPCT-2015, International Conference on Circuits, Power and Computing Technologies
Problem Analysis – Security(1)CloneCloud – “security is assumed basing on the trusted virtual
machines, all the device data is replicated in the cloud to ensure
synchronous virtualization
between the device
and its clone.”
IEEE, ICCPCT-2015, International Conference on Circuits, Power and Computing Technologies
Problem Analysis – Security(2)ThinkAir – “it assumes a trustworthy cloud server execution
environment: there is hope that
whenever data is offloaded to the
cloud, the code and state of the
data are not maliciously
modified or stolen”
IEEE, ICCPCT-2015, International Conference on Circuits, Power and Computing Technologies
Problem Analysis – Interoperability
MAUI – “it is more dependent on the hardware architecture of the hosts.
Mobile devices typically have different CPU instruction architecture
than desktops and servers. Processes cannot be easily run on devices
with different architectures.”
IEEE, ICCPCT-2015, International Conference on Circuits, Power and Computing Technologies
Proposed Solution
IEEE, ICCPCT-2015, International Conference on Circuits, Power and Computing Technologies
Mobile agents encapsulate data, instructions and protocols.
Ability to move transparently across different hosts.
Capable of adaptive learning and automation.
Some intelligent agents are equipped with techniques to check self-
integrity.
Why Mobile Agents
Encoded
Message
Content
Message
Payload
EnvelopeTransport
Information
Message
parameters
Message content
IEEE, ICCPCT-2015, International Conference on Circuits, Power and Computing Technologies
JADE OverviewJava based platform for running mobile agents which supports an
asynchronous agent programming model and Communication(using
ACL) between agents either on the same or different platforms.
IEEE, ICCPCT-2015, International Conference on Circuits, Power and Computing Technologies
JADE Hierarchy(1)
Platform
Main Container
Agent Management
System
Directory Facilitator
App Manager Agent
Agent Management System - provides the naming service; name,
ensure uniqueness, create/destroy agents
Directory Facilitator - provides a Yellow Pages service of which an
agent can find other agents providing the services it
IEEE, ICCPCT-2015, International Conference on Circuits, Power and Computing Technologies
Main Container listens and accepts incoming connections from other
containers and agents
Main container listening address
IEEE, ICCPCT-2015, International Conference on Circuits, Power and Computing Technologies
JADE Hierarchy(2)
Platform Communication
Android StackCloud Environment
But android is dalvik vm (.dex) and and java is jvm (jar)?
IEEE, ICCPCT-2015, International Conference on Circuits, Power and Computing Technologies
IEEE, ICCPCT-2015, International Conference on Circuits, Power and Computing Technologies
0
10
20
30
40
50
60
70
80
1 2 3 4 5 6 7 8 9 10
% CPU
Usage
Time/sec
CPU Usage
Traditional Offloaded
adb shell dumpsys cpuinfo
Quantitative Results (1)
IEEE, ICCPCT-2015, International Conference on Circuits, Power and Computing Technologies
Energy Saved = Pc ×𝑪
𝑴− Pi ×
𝑪
𝑺− Ptr ×
𝑫
𝑩
S : Speed of cloud to compute C instructions
M : Speed of mobile to compute C instructions
D : Data need to transmit
B : Bandwidth of the wireless Internet
Pc :Energy cost/sec when the mobile phone is doing computing
Pi :Energy cost/sec when the mobile phone is idle.
Ptr :Energy cost/sec when the mobile is transmission the data.
Quantitative Results (2)
IEEE, ICCPCT-2015, International Conference on Circuits, Power and Computing Technologies
Quantitative Results (3)
com
munic
atio
n
Computation
When to offload
Possibilities
High-end Processing
Image-Recognition
Games
n-queens problem
sudoku solver
Social Media Processing
Video decoding
Image file conversions
Electronic Commerce
User Authentication mechanism IEEE, ICCPCT-2015, International Conference on Circuits, Power and Computing Technologies
Limitations and Future Work
IEEE, ICCPCT-2015, International Conference on Circuits, Power and Computing Technologies
JADE still limited to android devices
Offload decisions need an algorithmic approach(i.e. when and when
not to offload).
I am currently working on an image recognition project with the aim
of developing a framework for other android developers to use to
offload tasks.
Conclusion
IEEE, ICCPCT-2015, International Conference on Circuits, Power and Computing Technologies
Offloading is an important feature in enhancing android mobile
capabilities.
JADE provide migration of bundled code and state to remote locations.
JADE agent mobility help achieve distributed processing without
taking much attention on the underlying operating system of each
platform.