Process offloading from android device to cloud using JADE.
1. Process Offloading in Android devices
using 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
3. 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
4. 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
5. 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
6. 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
7. 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
8. 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
10. 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
Envelope Transport
Information
Message
parameters
Message content
IEEE, ICCPCT-2015, International Conference on Circuits, Power and Computing Technologies
11. JADE Overview
Java 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
12. 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
13. 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)
14. 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
15. 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)
16. 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)
17. IEEE, ICCPCT-2015, International Conference on Circuits, Power and Computing Technologies
Quantitative Results (3)
communication
Computation
When to offload
18. 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
19. 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.
20. 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.