32
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

A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

Embed Size (px)

Citation preview

Page 1: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

A Cloud Computing Environment for Supporting Networked Robotics ApplicationsLucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego Rodrigues, Eleri CardozoSchool of Electrical EngineeringState University of CampinasCampinas, Brazil

Eliane GuimaraesInformation Technology Center Renato ArcherCampinas, Brazil

Page 2: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

Outline

Introduction REALabs Platform Project Goal A Cloud Computing Environment Workflow Management System Implementation Evaluation

Page 3: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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.

Page 4: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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

Page 5: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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

Page 6: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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

Page 7: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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.

Page 8: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

Outline

Introduction REALabs Platform Project Goal A Cloud Computing Environment Workflow Management System Implementation Evaluation

Page 9: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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.

Page 10: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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

Page 11: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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

Page 12: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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

Page 13: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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.

Page 14: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

Outline

Introduction REALabs Platform Project Goal A Cloud Computing Environment Workflow Management System Implementation Evaluation

Page 15: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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

Page 16: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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.

Page 17: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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 requirements3. Planning Services evaluate correspondences in a rank

matrix where higher values indicate better QoS matching4. SLA specifies thresholds for the task querying the properties

from the VM Manager Service5. Execution Services in Workflow Engine accomplish the tasks

with run-time monitoring– Rescheduling is done when the SLA values are under-previsioned

Page 18: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego
Page 19: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

Outline

Introduction REALabs Platform Project Goal A Cloud Computing Environment Workflow Management System Implementation Evaluation

Page 20: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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

Page 21: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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 robot2. Read the robot’s sixteen sonars3. 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%.

Page 22: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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 VirtualBoxOp1 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

Page 23: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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

Page 24: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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

Page 25: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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.

Page 26: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

Outline

Introduction REALabs Platform Project Goal A Cloud Computing Environment Workflow Management System Implementation Evaluation

Page 27: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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

Page 28: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

Evaluation

Page 29: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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.

Page 30: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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.

Page 31: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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.

Page 32: A Cloud Computing Environment for Supporting Networked Robotics Applications Lucio Agostinho, Leonardo Olivi, Guiherme Feliciano, Fernando Paolieri, Diego

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.