A Cloud Computing Environment for Supporting Networked Robotics Applications

meatcologneInternet και Εφαρμογές Web

3 Νοε 2013 (πριν από 4 χρόνια και 1 μήνα)

86 εμφανίσεις

A Cloud Computing
Environment for
Supporting Networked
Robotics Applications

Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego Rodrigues,
Eleri Cardozo

School of Electrical Engineering

State University of Campinas

Campinas, Brazil



Eliane Guimaraes

Information Technology Center Renato Archer

Campinas, Brazil

Outline


Introduction


REALabs Platform


Project Goal


A Cloud Computing Environment


Workflow Management System


Implementation


Evaluation


Introduction


The motivation for networked robotics is the availability
of network technologies that allow robots to take part of
comprehensive networking environments aggregating


processors,


environmental sensors,


mobile and stationary robots,


wireless gadgets,


other networked devices.


REALabs is a platform for networked robotics developed
by the authors and reported in [1].


Its architecture has four main software packages as
shown in Fig 1.

REALabs Platform


The Embedded package

consists of HTTP microservers
able to run on the robots’ on
-
board processors with limited
processing power


The Protocol Handler
package

intercepts all HTTP
requests targeted to the robots
and performs functions


i.e security checks, HTTP
proxying, and network address
translations

REALabs Platform


The Front
-
end package

offers APIs (Application
Programming Interfaces)
and Web components for
manipulating the robots


The Management
package

offers a wide
range of services related
to users, resources,
domains and federations.


Also provides security

REALabs Platform


REALabs is primarily used in Web Labs over the internet


Robotic applications may be time sensitive and may be inhibited by:


Slow internet connections and the delay HTTP inspections introduce


The processing power of the user for CPU intensive algorithms such as
those based on computer vision and computational intelligence
techniques.


In order to avoid the delays introduced by the slow internet
connections and by the user’s computer limitations, we developed
an environment where the user’s applications run on servers directly
connected to the resources manipulated by the application.


This environment is developed using virtualization in a cloud
environment

Goal


Our main focus in this work is to describe our
architecture to perform robotic experiments in
clouds.


As an additional contribution, our approach
extends the functionalities of Java Commodity
Grid (CoG) Kit Karajan


We use this workflow tool as a Web workflow to
schedule and map tasks according to QoS
features.

Outline


Introduction


REALabs Platform


Project Goal


A Cloud Computing Environment


Workflow Management System


Implementation


Evaluation


A Cloud Computing Environment


In the case of REALabs, virtualization helps to
bring the applications close to the robots they
operate to reduce network delays and provide
ample processing power


A user can own his/her own VMs with the proper
OS plus the network robotics software
necessary for developing and running the
applications


Architecture must be designed to offer a virtualized
environment where the distributed robotic applications
run as opposed to overriding system software.


A Cloud Computing Environment


REALcloud

offers the REALabs platform as a
service in a private (and small) cloud computing
infrastructure.


Both the client and server side are deployed
inside VMs


Server Side



Management and Protocol Handler
packages


Virtualization favors software distribution to the members of a
federation.


Client Side



Front End package


User’s applications running inside VMs access the robotic
resources with low delay and appropriate computing power

A Cloud Computing Environment


In order to speed up interaction with robotic
resources, applications running inside VMs
access the robotic resources without HTTP
inspection by the Protocol Handler package.


The REALcloud environment is built around
two Web services:

1.
VM management service
: allows users and
administrators to manage VMs.

2.
Session validation service
: allows applications
running on VMs to access the robotic resources

Session Validation Service


The SVS assigns VM privileges to users holding valid access
sessions.


Same protection as the Protocol Handler package (still needed for
accessing outside networks)


As users create sessions, they register session IDs on a Web
interface provided by the SVS


The SVS then queries the REALabs access service to check if the
session ID is valid


If the ID is valid, the SVS:


increases the resources for that VM and


configures the VM host’s firewall to open the resource’s access for the traffic
orginating at the VM


The SVS also handles reclaiming resources as sessions terminate
and re
-
enabling firewalls

REALcloud


REALcloud uses the IaaS
model for users that wish to
install and operate any other
robotic software


The REALabs Embedded
package is not virtualized as it
runs on on
-
board processors
without virtualization
capabilities


With IaaS users can operate
directly over the robotic
framework installed on the
robot without the need of the
Embedded package.

Outline


Introduction


REALabs Platform


Project Goal


A Cloud Computing Environment


Workflow Management System


Implementation


Evaluation


Workflow Management System


The Workflow Management System architecture was a concept in layered
design patterns, in which services are grouped in layers, and the lower
management layers provide services to higher management layers.


Was developed to attend to the scheduling requirements of distributed services
for several VMs within this specific cloud domain


The infrastructure maintains QoS dependencies to cloud services by
submitting tasks in XML documents along with the presented workflow
language.


Each task incorporates optional QoS arguments that are mapped to classes
of constraints


Each task is defined in an XML namespace that admits other customized
tasks


Global QoS constraints are defined as tasks in the namespace


Local QoS constraints overwrite global values when specified


Each VM uses an extended OVF (Open Virtualization Format) to
dynamically track the many parameters of the current state

Workflow Management System


Workflow layers include:


Globus Toolkit (GT)



provides Grid services at the Grid middleware
layer known as
Simple Interface with Globus (SIG)


Manager Schema Layer



queries Web Service properties such as
bandwidth, latency threshold, CPU usage, free memory, etc.


SLA (Service Level Agreement) Manager Layer



specifies the
minimum and maximum thresholds for the task and the policies applied
when the contract is violated


Interceptor of QoS Layer



efficiently performs dynamic discover
process and maintains services querying in the platform catalog


SIG Scheduler Layer



selects the available virtual hosts, keeping the
previous service’s properties.


Workflow Engine Layer



holds monitoring services that periodically
inform the higher layers when SLA contracts are violated or provisioned
QoS scenarios occur.


Workflow Specifications


The scheduling process is done using a divide
-
and
-
conquer technique:

1.
Dynamic discovery services

recover available VMs for tasks
with QoS requirements through the
VM Manager Service

2.
Mapping Services

match VMs and QoS requirements

3.
Planning Services

evaluate correspondences in a rank matrix
where higher values indicate better QoS matching

4.
SLA

specifies thresholds for the task querying the properties
from the
VM Manager Service

5.
Execution Services
in Workflow Engine accomplish the tasks
with run
-
time monitoring


Rescheduling is done when the SLA values are under
-
previsioned

Outline


Introduction


REALabs Platform


Project Goal


A Cloud Computing Environment


Workflow Management System


Implementation


Evaluation


Implementation


In order to implement the REALcloud cloud
computing environment, we started with the
selection of the virtualization solutions


XEN Cloud Platform (XCP):

native hypervisor


VirtualBox:

hosted hypervisor


KVM:

hosted hypervisor


Linux Containers (LXC):

OS level virtualization




NOTE: a hypervisor is another name for a virtual machine manager

Implementation


These four virtualization solutions were evaluated in
terms of the time it takes to perform three separate
operations


The operations given are the same criteria as the
REALabs report:

1.
Set a speed to the robot

2.
Read the robot’s sixteen sonars

3.
Acquire a 320x240 picture from the robot’s onboard camera


Operations were performed 100 times each and
results recorded


Results include Mean, standard deviation (SD) with
confidence intervals (CI) of 95%.

Virtualization Performance

(milliseconds)


LXC

Xen (XCP)

Op1

Op2

Op3

Op1

Op2

Op3

Mean

2,774

5,919

33,471

3,110

5,739

34,330

SD

801

1,143

3,826

1,204

1,169

7,255

CI

157

224

750

236

229

1,422

KVM

VirtualBox

Op1

Op2

Op3

Op1

Op2

Op3

Mean

3,142

7,081

32,896

4,205

8,773

38,593

SD

1,353

3,182

9,518

1,009

1,931

8,471

CI

265

624

1,865

198

378

1,660


Minimum value


2nd lowest value


Implementation


As expected, virtualization at the operating system level
performed slightly better, followed by virtualization
employing a native hypervisor


The choice of virtualization solutions affects the
implementation of the VM management service as this
service must interact with the interface provided by the
chosen solution


Initially we implemented the VM management service for
VirtualBox because it is the only multiplatform solution


Also VirtualBox doesn’t require a restart to alter CPU and
memory assignment

Implementation


The VM management and session validation
services are implemented as Java servlets
inside the Apache Tomcat application server


REALcloud Web UI is presented in Fig. 4


The session validation service relies on
iptables

[11], the Linux native firewall, for installing and
dropping packet filters necessary for the VMs to
access the robotic resources


REALcloud Interface


Upper part


inteface to the
session validation service


Lower part


VM management
service interface


Allows users to start, stop, and
check the status of their own
VMs


Administrators can create,
configure, remove, and assign
VMs to users.

Outline


Introduction


REALabs Platform


Project Goal


A Cloud Computing Environment


Workflow Management System


Implementation


Evaluation


Evaluation


This experiment uses the SIGFlow workflow [2]
to perform the robot navigation, and includes
two tasks, respectively:


Line detection (DexFaiza) and


Fuzzy managing (fuzzyControl)


Illustrated by figures 5 and 6.


Both tasks are distributed the cloud environment

Evaluation

Conclusions


Virtualization technologies can bring many
advantages to networked robotics environments.


We presented a cloud computing environment
that offers a networked robotics platform as a
service with strong advantages in performance
without compromising security


With virtualization and cloud computing, all the
resources the robotics applications need can be
supplied by the domain operating the robotic
equipments.

Acknowledgement

[1] E. Cardozo, E. Guimar˜aes, L. Rocha, R. Souza, F. Paolieri and F. Pinho, “A Platform
for Networked Robotics”, IEEE/RSJ International Conference on Intelligent Robots
and Systems (IROS), Taipei, Taiwan, 2010.

[2] Agostinho, L. R., Souza, R. S., Paolieri, F., Olivi, L. R., Feliciano, G., Pinho, F.,
Teixeira, F., Rodrigues, D., Guimar˜aes, E. G., Cardozo, E.“Advances in Educational
Robotics in Cloud with Qualitative Scheduling in Workflows”. In: Computer
Communications and Networks. Book Chapter. University of Derby. Springer, 2011.

[3] The Globus Project. http://www.globus.org. Accessed August 2011.

[4] E. Cardozo, E. Guimar˜aes, F. Paolieri and V. Pinto,”REALabs
-
BOT: a WebLab in
Mobile Robotics Over High Speed Networks”, First IFAC Workshop on Networked
Robotics, Golden, USA, 2009.

[5] S. Nanda and T. Chiueh, “A Survey on Virtualization Technologies”,
www.ecsl.cs.sunysb.edu/tr/TR179
. pdf, March 2011.

[6] J. Rittinghouse and J. Ransome, Cloud Computing: Implementation, Management,
and Security, CRC Press, 2009.

[7] Xen Cloud Platform,
www.xen.org/products/cloudxen
. html, March 2011.

[8] VirtualBox Web site, www.virtualbox.org, March 2011.

Acknowledgement

[9] KVM Web site, http://www.linux
-
kvm.org, March 2011.

[10] LXC Linux Containers project,
http://lxc.sourceforge.net/
, March
2011.

[11] Netfilter/Iptables project,
http://www.netfilter.org/
, March 2011.

[12] R. Gonzales and R. Woods, Digital Image Processing, 3rd Edition,
Prentice Hall, 2007.

[13] W. Pedrycz and F. Gomide, Fuzzy Sytems Engineering: Toward
Human
-
Centric Computing, Wiley
-
IEEE Press, 2007.

[14] G. Fox and D. Gannon. “Workflow in Grid Systems”, Journal
Concurrency and Computation: Practice and Experience, pp. 1009
-
1019, 2006.

[15] J. Yu and R. Buyya.“A Taxonomy of ScientificWorkflow Systems
for Grid Computing”. SIGMOD Rec., Vol. 34, No. 3, pp. 44
-
49, 2005.

Acknowledgement

[16] M. Inaba, “Remote
-
Beained Robots”, International Joint
Conference on Artificial Intelligence (IJCAI), Nagoya, Japan, 1997.

[17] R. Arumugan et. al., “DAvinCi: A Cloud Computing Framework for
Service Robots”, IEEE International Conference on Robotics and
Automation (ICRA), Anchorage, USA, 2010.

[18] Y. Chen, Z. Du and M. Garcia
-
Acosta, “Robots as a Service in
Cloud Computing”, IEEE International Symposium on Service
Oriented
-
System Engineering (SOSE), Nanjing, China, 2010.

[19] H. Bistry and J. Zhang, “A Cloud Computing Approach to Complex
Robot Vision Tasks using Smart Camera Systems”, IEEE/RSJ
International Conference on Intelligent Robots and Systems (IROS),
Taipei, Taiwan, 2010.