OSGi Community Event 2014
Abstract:
When developing a mobile cloud application, an important challenge is to choose which part of your application to execute locally on the device, and which part to process in the cloud. Also, often the best deployment depends on the environment, such as the hardware capabilities of the device(s) at hand, and the network connectivity. The AIOLOS platform leverages OSGi technology to decouple application bundle deployment from development. With AIOLOS it is easy to distribute bundles between wearable devices and cloud instances at runtime, as well as to scale out bundles in cloud environments. AIOLOS also provides extensive monitoring information, which can be used to trigger redeployments. To do so, AIOLOS heavily builds upon several OSGi specifications, such as Remote Services, Service Hooks, the Repository and Resolver service, and uses the low-footprint Concierge runtime to bring OSGi on the mobile. In this talk the overall architecture of AIOLOS will be presented, and some use case scenarios will be highlighted by a demo.
Speaker Bio:
Tim Verbelen received his M.Sc. degree in Computer Science from Ghent University, Belgium in June 2009. In July 2013, he received his Ph.D. degree with his dissertation "Adaptive Offloading and Configuration of Resource Intensive Mobile Applications". Since August 2009, he has been working at the Departement of Information Technology (INTEC) of the Faculty of Engineering at Ghent University, and is now active as postdoctoral researcher. His main research interests include mobile cloud computing and adaptive software. Specifically he is researching adaptive strategies to enhance real-time applications such as Augmented Reality on mobile devices.
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Mobilizing the Cloud with AIOLOS - T Verbelen
1. 1
Mobilizing the Cloud
with AIOLOS
Tim Verbelen (tim.verbelen@intec.ugent.be)
iMinds – Ghent University
EclipseCon Europe – 29.10.2014
2. 2
The Problem...
Connect all kinds of wearable devices in your
applications together ...
...and to the Cloud
3. 3
Mobile application development now
Suppose the following application:
storage
sensors
logic
viewer
4. 4
OSGi to the rescue...
We need software modularity!
storage
sensors
logic
viewer
OSGi (OCSoGnci ierge) OSGi
OSGi
5. 5
AIOLOS
We need transparent remote communication!
storage
sensors
logic
viewer
AIOLOS
OSGi OSGi
OSGi (Concierge)
AIOLOS
AIOLOS OSGi
6. http://aiolos.intec.ugent.be
6
AIOLOS: bundle distribution at runtime
AIOLOS provides:
Service discovery and binding
Fast remote service calls
Runtime (re) deployment
Service monitoring
7. 7
Don't tell me, show me!
Tardis – an immersive picture viewer
9. 9
Remote Service Admin
Core Monitoring Deployment
Repository Deployment
Proxy
Manager
Manager
Topology
Manager
Remote
Service
Admin
Service
Monitor
Node
Monitor
Cloud
Manager
Platform Manager
10. 10
Remote Service Admin
Lightweight implementation of the
RemoteServiceAdmin 1.0 spec
Protocol based on R-OSGi
Fast serialization with Kryo* and Objenesis**
*https://github.com/EsotericSoftware/kryo
**http://objenesis.org/
15. 15
Proxy Manager
Create a smart proxy for each OSGi service
A
Use OSGi Hooks
B Proxy B
AIOLOS
service.EventHook : create proxy before service is registered
service.FindHook : hide original service reference
Implement a ProxyPolicy to select service implementation
17. 17
Topology Manager
Export local application services
Import remote services that are requested on the
local framework
i.e. using service.FindHook
Discover other nodes in the network
i.e. SLP discovery implementation
19. 19
Monitoring
Node monitoring
Access to device parameters (e.g. CPU usage, …)
Implemented by reading /proc/ filesystem on *nix
Service monitoring
Collect method execution information using callbacks
from the proxies
Available metrics: execution time, size of the arguments,
size of the return value, ...
21. 21
Overhead
Perform 1 million greet method calls on local instance with and
without proxying/monitoring
1000
800
600
400
200
0
Proxy and Monitor
Proxy Only
No Proxy
Average call time (ns)
Overhead of proxy/monitoring less than 1 us
23. 23
Deployment Manager
Provides an interface to start/stop application
components on a node
Also provides (stateless) bundle migration:
Start component on target node
Once started, switch all proxy references
Stop component on source node
25. 25
Repository
Implements the OSGi Repository 1.0 spec
Makes application bundles available for
installation at runtime
Is used by the Deployment Manager to find and
resolve artifacts to be deployed
27. 27
Cloud Manager
Allows for automatic scaling in a cloud
Uses Apache jClouds* for cloud interfacing
currently tested with Amazon EC2 and OpenStack
Enables application scaling on a service-level
i.e. by using a round-robin ProxyPolicy
*https://jclouds.apache.org/
30. 30
Mobile offloading
Choose the fastest instance to execute the call
Monitor information allows to estimate local/remote time
Smart proxy enables fast switching
A B
Proxy B
Remote
Service
Admin
B
AIOLOS
Proxy´ B
AIOLOS
[T Verbelen, P Simoens, F De Turck, B Dhoedt, “AIOLOS: Middleware for improving mobile application
performance through cyber foraging”, Journal of Systems and Software 85 (11), 2629-2639]
31. Component-based cloud scaling
Scale specific application components based on
service monitoring information
31
Scale both VMs and components
ProxyPolicy determines load balancing strategy
[S Bohez, T Verbelen, P Simoens, B Dhoedt, “Enabling Component-based Mobile Cloud Computing
with the AIOLOS Middleware”, ARM'14, Bordeaux, France]
32. 32
Thank you!
An OSGi-based platform bridging the gap between mobile devices and the Cloud.
Website http://aiolos.intec.ugent.be
Source https://github.com/aiolos-dev
Repositories http://aiolos.intec.ugent.be/repositories