• Nenhum resultado encontrado

Uma infraestrutura para laboratórios de acesso remoto federados com suporte à virtualização

N/A
N/A
Protected

Academic year: 2021

Share "Uma infraestrutura para laboratórios de acesso remoto federados com suporte à virtualização"

Copied!
125
0
0

Texto

(1)

Guilherme de Oliveira Feliciano

Uma Infraestrutura para Laborat´

orios de Acesso

Remoto Federados com Suporte `

a Virtualiza¸c˜

ao

Campinas 2013

(2)
(3)

Universidade Estadual de Campinas

Faculdade de Engenharia El´

etrica e de Computa¸

ao

Guilherme de Oliveira Feliciano

Uma Infraestrutura para Laborat´orios de Acesso Remoto Federados com Suporte `a Virtualiza¸c˜ao

Disserta¸c˜ao de Mestrado apresentada ao Programa de P´os-Gradua¸c˜ao em Engenharia El´etrica da Facul-dade de Engenharia El´etrica e de Computa¸c˜ao da Universidade Estadual de Campinas para obten¸c˜ao do t´ıtulo de Mestre em Engenharia El´etrica. ´Area de concentra¸c˜ao: Engenharia de Computa¸c˜ao.

Orientador: Prof. Dr. Eleri Cardozo

Este exemplar corresponde `a vers˜ao final da disserta¸c˜ao defendida pelo aluno Guilherme de Oliveira Feliciano, e orientada pelo Prof. Dr. Eleri Cardozo.

Campinas 2013

(4)

Biblioteca da Área de Engenharia e Arquitetura Rose Meire da Silva - CRB 8/5974

Feliciano, Guilherme de Oliveira,

F334i FelUma infraestrutura para laboratórios de acesso remoto federados com suporte à virtualização / Guilherme de Oliveira Feliciano. – Campinas, SP : [s.n.], 2013.

FelOrientador: Eleri Cardozo.

FelDissertação (mestrado) – Universidade Estadual de Campinas, Faculdade de Engenharia Elétrica e de Computação.

Fel1. Redes de computadores. 2. Sistemas de segurança. 3. Virtualização. 4. Ensino a distância. 5. Robótica. I. Cardozo, Eleri,1954-. II. Universidade Estadual de Campinas. Faculdade de Engenharia Elétrica e de Computação. III. Título.

Informações para Biblioteca Digital

Título em outro idioma: An infraestructure for federated remote access laboratories with virtualization support Palavras-chave em inglês: Computer networks Security systems Virtualization Distance education Robotics

Área de concentração: Engenharia de Computação Titulação: Mestre em Engenharia Elétrica

Banca examinadora: Eleri Cardozo [Orientador] Fábio Luciano Verdi

Marco Aurélio Amaral Henriques Data de defesa: 12-08-2013

Programa de Pós-Graduação: Engenharia Elétrica

(5)
(6)
(7)

Dedico este trabalho `a minha av´o Ros´aria e in momemorian de J´ulio Feliciano e Silvio de Oliveira. Pessoas que sempre levaram alegria ao pr´oximo.

(8)
(9)

Agradecimentos

Meus sinceros agradecimentos,

`a Deus, por me dar for¸cas nos momentos mais dif´ıceis.

ao meu orientador, Prof. Dr. Eleri Cardozo, sou grato pela oportunidade de realizar este mes-trado, pela confian¸ca, pela s´abia orienta¸c˜ao e aprendizado.

`a Dra. Eliane Gomes Guimar˜aes, pelas contribui¸c˜oes dadas aos artigos e minicursos publicados. `a toda minha fam´ılia pelo apoio durante esta jornada.

`a Michelle Gardini, pelo seu amor e carinho.

aos amigos do grupo de Rob´otica: Eric Rohmer, Fernando Pinho, Ricardo Souza, Diego Ro-drigues, F´abio Teixeira e Luisa Uribe, pelas valiosas sugest˜oes a este trabalho e momentos de descontra¸c˜ao. Agrade¸co tamb´em ao Leonardo Olivi, Lucio Rocha e Fernando Paolieri, por con-tribui¸c˜oes nos resultados deste trabalho. Todos vocˆes contribu´ıram, e muito, para este trabalho. ao Mois´es Danziger, pelas conversas sobre seguran¸ca.

`a todos amigos do LCA, obrigado por toda sugest˜ao, cr´ıticas, elogios e pelos momentos de des-contra¸c˜ao.

aos professores da PUC-Campinas e Col´egio Policursos por transmitir seus conhecimentos em computa¸c˜ao. Em especial, agrade¸co ao Prof. Eduardo Nicola F. Zagari pelas orienta¸c˜oes. `a CAPES, pelo apoio financeiro.

(10)
(11)

“A maravilhosa disposi¸c˜ao e harmonia do universo s´o pode ter tido origem segundo o plano de um Ser que tudo sabe e tudo pode. Isto fica sendo a minha ´

ultima e mais elevada descoberta.”

(Isaac Newton)

(12)
(13)

Resumo

A Internet ´e hoje um importante ambiente de colabora¸c˜ao e aprendizado. Os la-borat´orios de acesso remoto (ou WebLabs) s˜ao um exemplo de tecnologia voltada para esta realidade. Com os WebLabs ´e poss´ıvel oferecer o acesso a um dispositivo real atrav´es de uma rede, usualmente a Internet, e permitir que este seja acessado e controlado remotamente. Este modelo de experimenta¸c˜ao, por´em, inviabiliza a execu¸c˜ao remota de certos tipos de experimentos, por exemplo, aqueles sens´ıveis a atrasos de comunica¸c˜ao. Este trabalho apresenta uma proposta de infraestrutura para WebLabs federados capazes de suportar experimentos com requisitos estritos de rede tais como alta taxa de comunica¸c˜ao, baixo atraso e jitter. A proposta faz uso de padr˜oes e tecnologias abertos nos diversos componentes do sistema, tais como autentica¸c˜ao federada e autoriza¸c˜ao baseada em pol´ıticas. A proposta tamb´em uti-liza virtuauti-liza¸c˜ao para que os experimentos com requisitos estritos de rede sejam executados com seguran¸ca em servidores mantidos pelo WebLab e conectados na mesma sub-rede dos recursos. Como contribui¸c˜ao, foi desenvolvida uma interface de programa¸c˜ao (API) que integra e abstrai as particularidades das tecnologias ado-tadas e oferece m´etodos para a cria¸c˜ao de pol´ıticas, realiza¸c˜ao de experimentos e controle de VMs. Para a valida¸c˜ao da proposta, utiliza-se um experimento na ´area de rob´otica m´ovel e compara-se o seu desempenho quando executado em diversos cen´arios de rede, incluindo o cen´ario de virtualiza¸c˜ao oferecido pela infraestrutura proposta.

Palavras-chave: WebLabs, Virtualiza¸c˜ao, Gerˆencia de Identidades Federadas, Pol´ı-ticas de Autoriza¸c˜ao, Experimenta¸c˜oes em Rob´otica.

(14)
(15)

Abstract

The Internet is nowadays an important environment for collaboration and learning. The remote access laboratories (or WebLabs) are an example of such technology for this reality. WebLabs can provide access to real devices through a network, usually the Internet, and allow the devices to be accessed and controlled remotely. This experimentation model, however, preclude the remote execution of certain types of experiments, for example, those sensitive to communication delays. This work pre-sents a proposal for an infrastructure for federated WebLabs capable of supporting experiments with stringent network requirements such as high communication rate and low delay and jitter. The proposed infrastructure uses open standards and tech-nologies in different system components, such as federated authentication and policy based authorization. The infrastructure also employs virtualization to run experi-ments with strict network requireexperi-ments safely on servers maintained by WebLab and connected to the same subnet connecting the resources. As a contribution, we developed an application programming interface (API) that integrates and abstracts the particularities of adopted technologies and provides methods for policy creation, experiments execution, and control of virtual machines. To validate the proposal, we evaluate an experiment in the mobile robotics area and compare its performance when executed in several network scenarios, including the virtualization scenario offered by the proposed infrastructure.

Key-words: WebLabs, Virtualization, Federated Identity Management, Authoriza-tion Policies, Robotic Experiments.

(16)
(17)

Lista de Figuras

1 Modelo de Experimenta¸c˜ao Remota que Utiliza a Internet. . . 2

1.1 Arquitetura B´asica de um WebLab. . . 7

1.2 Arquitetura do iLabs para Experimentos Interativos. Baseado em (HARWARD et al., 2008). . . 9

1.3 Vis˜ao Geral do Mecanismo de Controle de Acesso Intradom´ınio do iLab. Baseado em (NORTHRIDGE et al., 2010). . . 10

1.4 Vis˜ao Geral do Mecanismo de Controle de Acesso Interdom´ınio do iLab. Adap-tado de (MAO, 2007) . . . 12

1.5 Vis˜ao Geral da Arquitetura do WebLab-Deusto 4.0.1. Baseado em (ORDU ˜NA et al., 2011). . . 14

1.6 Vis˜ao Geral da Arquitetura do REALabs (GUIMAR ˜AES et al., 2011). . . 17

2.1 Virtualiza¸c˜ao Completa. Baseado em (JONES, 2006). . . 23

2.2 Paravirtualiza¸c˜ao. Baseado em (JONES, 2006). . . 23

2.3 Virtualiza¸c˜ao no N´ıvel do SO. Baseado em (JONES, 2006). . . 24

2.4 Suporte de Hardware para Virtualiza¸c˜ao. Baseado em (CARISSIMI, 2008). . . . 25

2.5 Virtualiza¸c˜ao com o KVM. Baseado em (JONES, 2006). . . 25

2.6 Rela¸c˜ao entre os Componentes da Identidade (FELICIANO et al., 2011b). . . . 27

2.7 Ciclo de Vida da Identidade (FELICIANO et al., 2011b). . . 28

2.8 Modelos para a IdM. Baseado em (WANGHAM et al., 2010) . . . 31

2.9 Processo de SSO que Utiliza Abordagem Baseada em Broker (FELICIANO et al., 2011b). . . 32

2.10 Processo de SSO que Utiliza Abordagem Baseada em Agente (FELICIANO et al., 2011b). . . 33

2.11 Processo de SSO que Utiliza Abordagem Baseada em Proxy Reverso (FELICI-ANO et al., 2011b). . . 33

2.12 Processo de SSO que Utiliza Abordagem Baseada em API (FELICIANO et al., 2011b). . . 34

2.13 Processo de SSO que Utiliza Abordagem Baseada em Servi¸cos (FELICIANO et al., 2011b). . . 34

2.14 Estrutura do SAML. Baseado em (BERTINO; TAKAHASHI, 2011). . . 35 xvii

(18)

TOR, 2005) . . . 40

2.17 Arquitetura Simplificada do OpenAM (FELICIANO et al., 2011b). . . 42

2.18 Implanta¸c˜ao b´asica do OpenAM (FELICIANO et al., 2011b). . . 42

3.1 Vis˜ao Geral dos Casos de Uso do Sistema. . . 46

3.2 Modelo de Referˆencia para WebLabs Federados (GUIMAR ˜AES et al., 2011). . . 49

3.3 Extens˜ao do Modelo de Referˆencia para WebLabs Federados. . . 51

3.4 Vis˜ao Geral do Fluxo de Informa¸c˜ao no Caso de Uso Realizar Experimento. . . . 52

3.5 Servi¸cos de Gerˆencia Oferecidos pela Infraestrutura. . . 53

4.1 Troca de Metadados: (a) Dentro do Dom´ınio, (b) entre Dom´ınios. . . 63

4.2 Padr˜ao de Projeto Facade Aplicado no Desenvolvimento do Servi¸co de Pol´ıticas da Infraestrutura. . . 66

4.3 Vis˜ao Geral da Distribui¸c˜ao dos Componentes da Infraestrutura. . . 68

5.1 Robˆo, Mapa e a Trajet´oria a ser Percorrida. . . 76

5.2 Cen´ario de Rede Local e a Execu¸c˜ao do Experimento. . . 77

5.3 Cen´ario de Internet e de Rede de Campus e a Execu¸c˜ao do Experimento. . . 77

5.4 Cen´ario Utilizando uma VM e a Execu¸c˜ao do Experimento. . . 78

(19)

Lista de Quadros

2.1 Exemplo de Documento XACML para Descrever uma Pol´ıtica. Baseado em (STOL-LER, 2011). . . 38 4.1 Regra Utilizada no Iptables para Liberar Acesso ao Robˆo . . . 65 4.2 Regra Utilizada no Iptables para Formatar o NAT e FORWARD . . . 65

(20)
(21)

Lista de Tabelas

1.1 Resumo dos Trabalhos Correlatos Avaliados. . . 19 5.1 Desempenho e Erro M´edio do FastSLAM no Cen´ario de Rede Local. . . 79 5.2 Desempenho e Erro M´edio do FastSLAM no Cen´ario de Internet. . . 79 5.3 Desempenho e Erro M´edio do FastSLAM no Cen´ario de Rede do Campus. . . . 80 5.4 Desempenho e Erro M´edio do FastSLAM no Cen´ario de VM com 1 N´ucleo, 2 Gb

de RAM e Interface RTL8139. . . 81 5.5 Desempenho e Erro M´edio do FastSLAM no Cen´ario de VM com 4 N´ucleos, 6

Gb de RAM e Interface Virtio. . . 82 5.6 Ranking do Desempenho (M´edia de It./s). . . 82 5.7 Ranking do Erro M´edio. . . 83

(22)
(23)

Lista de Acrˆ

onimos e Nota¸c˜

ao

AJAX Asynchronous JavaScript and XML API Application Programming Interface

ARIA Advanced Robot Interface for Applications BPEL Business Process Execution Language CA Certificate Authority

CAFe Comunidade Acadˆemica Federada CAS Central Authentication Service CLI Command Line Interface

CORBA Common Object Request Broker Architecture CoT Circles of Trust

CPLD Complex Programmable Logic Device CTI Centro de Tecnologia da Informa¸c˜ao DAUI Distributed Authentication User Interface DMA Direct Memory Access

DMZ DeMilitarized Zone DoS Denial of Service

DRDB Distributed Replicated Block Device E/S Entrada e Sa´ıda

ESS Experiment Storage Service FCFS First-Come, First-Served

(24)

HTML Hypertext Markup Language HTTP Hypertext Transfer Protocol IdM Identity Management

IdP Identity Provider

IEC International Electrotechnical Commission IETF Internet Engineering Task Force

IP Internet Protocol

IPA Internet Privatstiftung Austria ISA iLab Shared Architecture ISB Interactive Service Broker

ISO International Organization for Standardization ITU-T International Telecommunication Union J2EE Java2 Platform Enterprise Edition JSP Java Server Pages

KVM Kernel-based Virtual Machine LC Lab Client

LDAP Lightweight Directory Access Protocol LMS Learning Management System

LS Lab Server

LSS Lab-Side Schedulling Service LVM Logical Volume Manager

MIT Massachusetts Institute of Technology MMU Memory Management Unit

NTP Network Time Protocol PC Personal Computer PDP Policy Decision Point

(25)

PEP Policy Enforcement Point PKI Public Key Infraestructure QEMU Quick EMUlator

QoS Quality of Service

RDP Remote Desktop Protocol REAL Remote Accessible Laboratory REST REpresentational State Transfer ROS Robot Operation System

RPC Remote Procedure Call SaaS Software as a Service

SAML Security Assertions Markup Language SAN Storage Area Network

SLA Service Level Agreement

SLAM Simultaneous Localization and Mapping SO Sistema Operacional

SOA Service Oriented Architecture SOAP Simple Object Access Protocol SP Service Provider

SPI Service Provider Interface SS Schedulling Service

SSH Secure SHell

SSL Secure Sockets Layer SSO Single Sign-On

TIC Tecnologia da Informa¸c˜ao e Comunica¸c˜ao UML Unified Modeling Language

UML User Mode Linux

URL Uniform Resource Locator

(26)

VM Virtual Machine

VMM Virtual Machine Monitor VNC Virtual Network Computing VPN Virtual Private Network

XACML eXtensible Access Control Markup Language XML eXtensible Markup Language

(27)

Trabalhos Publicados Pelo Autor

1. FELICIANO, G. O.; ROCHA, L. A.; OLIVI, L. R.; GUIMAR ˜AES, E. G.; CARDOZO, E. “Uma Arquitetura para Gerˆencia de Identidades em Nuvens H´ıbridas”. IX Workshop em Clouds, Grids e Aplica¸c˜oes (WCGA 2011) - XXIX Simp´osio Brasileiro de Redes de Computadores e Sistemas Distribu´ıdos - Campo Grande - MS, 2011. p. 15-28.

2. ROCHA, L. A.; OLIVI, L.; PAOLIERI F.; FELICIANO, G. O.; SOUZA, R. S.; PINHO, F.; TEIXEIRA F.; RODRIGUES D.; GUIMAR ˜AES, E.; CARDOZO, E. “Computer Com-munications and Networks - Advances in Educational Robotics in Cloud with Qualitative Scheduling in WorkFlows”, London: Springer, 2011. cap. 7, p. 135-157.

3. FELICIANO, G. O.; ROCHA, L. A.; GUIMAR ˜AES, E. G.; CARDOZO, E. Gerˆencia de Identidades Federadas em Nuvens: Enfoque na Utiliza¸c˜ao de Solu¸c˜oes Abertas. In: Minicursos do XI Simp´osio Brasileiro de Seguran¸ca da Informa¸c˜ao e de Sistemas Compu-tacionais (SBSeg 2011), Bras´ılia - DF. Porto Alegre: Sociedade Brasileira de Computa¸c˜ao - SBC, 2011. cap. 5, p. 187-236.

4. ROCHA, L. A.; FELICIANO, G. O.; OLIVI, L. R.; CARDOZO, E. “A Bio-inspired Appro-ach to Provisioning of Virtual Resources in Federated Clouds”. IEEE Ninth International Conference on Dependable, Autonomic and Secure Computing (DASC 2011), Sydney -NSW, Austr´alia, 2011. p. 598-604.

5. ROCHA, L. A.; OLIVI, L. R.; FELICIANO, G. O.; PAOLIERI F.; RODRIGUES D.; CARDOZO, E. “A Cloud Computing Environment for Supporting Networked Robotics Applications”. IEEE Ninth International Conference on Dependable, Autonomic and Se-cure Computing (DASC 2011), Sydney - NSW, Austr´alia, 2011. p. 1110-1116.

(28)
(29)

Sum´

ario

Introdu¸c˜ao 1 Motiva¸c˜oes . . . 1 Objetivos e Justificativa . . . 3 Contribui¸c˜oes . . . 4 Estrutura da Disserta¸c˜ao . . . 5 1 Trabalhos Correlatos 7 1.1 Introdu¸c˜ao . . . 7 1.1.1 iLab 4.0.1 . . . 8 1.1.2 WebLab-Deusto 4.0 . . . 13 1.1.3 REALabs . . . 16 1.2 Considera¸c˜oes Finais . . . 19

2 Conceitos e Tecnologias Relevantes 21

2.1 Vis˜ao Geral sobre Virtualiza¸c˜ao . . . 21 2.1.1 T´ecnicas de Virtualiza¸c˜ao . . . 22 2.1.2 Tecnologias Adotadas . . . 24 2.2 Conceitos e T´ecnicas sobre IdM . . . 26 2.2.1 Identidade . . . 27 2.2.2 Autentica¸c˜ao e Autoriza¸c˜ao . . . 29 2.2.3 Modelos para IdM . . . 29 2.2.4 Op¸c˜oes para Implanta¸c˜ao de SSO . . . 31 2.3 Padr˜oes e Solu¸c˜oes em IdM Pesquisados . . . 34 2.3.1 SAML . . . 35 2.3.2 XACML . . . 37 2.3.3 Shibboleth . . . 39 2.3.4 OpenAM . . . 41 2.4 Considera¸c˜oes Finais . . . 43 3 Projeto da Infraestrutura 45

3.1 Requisitos para um WebLab Federado . . . 45 xxix

(30)

3.1.3 Requisitos N˜ao Funcionais . . . 47 3.2 Modelo de Dom´ınio para um WebLab Federado . . . 49 3.3 Vis˜ao Geral da Arquitetura . . . 53 3.3.1 Usu´arios e Grupos . . . 53 3.3.2 Recursos e Experimentos . . . 53 3.3.3 Sess˜ao de Acesso . . . 54 3.3.4 Federa¸c˜ao . . . 54 3.3.5 Pol´ıticas . . . 54 3.3.6 Sess˜ao de Intera¸c˜ao . . . 56 3.4 Considera¸c˜oes Finais . . . 57 4 Implementa¸c˜ao da Infraestrutura 59 4.1 Servi¸cos de Gerˆencia . . . 59 4.1.1 Usu´arios e Grupos . . . 60 4.1.2 Recursos e Experimentos . . . 60 4.1.3 Sess˜ao de Acesso . . . 61 4.1.4 Federa¸c˜ao . . . 61 4.1.5 Pol´ıticas . . . 63 4.1.6 Sess˜ao de Intera¸c˜ao . . . 65 4.2 Vis˜ao Geral da API . . . 66 4.3 Distribui¸c˜ao da Infraestrutura . . . 67 4.4 Considera¸c˜oes sobre Seguran¸ca - Amea¸cas e Contramedidas . . . 69 4.4.1 Uso do SAML . . . 69 4.4.2 Uso do OpenAM . . . 72 4.5 Considera¸c˜oes Finais . . . 74 5 Estudo de Caso 75 5.1 Introdu¸c˜ao . . . 75 5.2 Avalia¸c˜ao . . . 76 5.3 Resultados e Discuss˜ao . . . 78 5.4 Considera¸c˜oes Finais . . . 82 6 Conclus˜ao 85 6.1 Considera¸c˜oes Finais . . . 85 6.2 Trabalhos Futuros . . . 86

Referˆencias Bibliogr´aficas 90

(31)

Introdu¸c˜

ao

Este cap´ıtulo apresenta e discute os principais problemas associados `a realiza¸c˜ao de ex-perimentos em laborat´orios de acesso remoto. Uma instˆancia do problema ´e apresentado no ˆambito da rob´otica m´ovel. Neste cap´ıtulo apresenta-se tamb´em os objetivos do trabalho, as contribui¸c˜oes, os trabalhos correlatos e, por fim, a organiza¸c˜ao do texto.

Motiva¸c˜

oes

A Internet ´e hoje um importante ambiente de colabora¸c˜ao e aprendizado. Diversas tecno-logias baseadas na Internet s˜ao desenvolvidas para esta finalidade. Os laborat´orios de acesso remoto (ou WebLabs) s˜ao um exemplo de tecnologia voltada para esta realidade. Ao longo de anos esta tecnologia desempenha papel importante no ensino de ciˆencias exatas, mais es-pecificamente nas ´areas de engenharia. Com os WebLabs ´e poss´ıvel oferecer o acesso a um dispositivo real atrav´es de uma rede, usualmente a Internet, e permitir que este seja controlado remotamente.

Este modelo de experimenta¸c˜ao remota complementa o modelo de experimenta¸c˜ao tradicio-nal (presencial), pois permite um melhor compartilhamento do uso de equipamentos, simplifica a log´ıstica e os requisitos envolvidos na opera¸c˜ao de um laborat´orio convencional (tais como espa¸co, pessoal e seguran¸ca), principalmente quando a experimenta¸c˜ao envolve equipamentos de alto custo de aquisi¸c˜ao. Do ponto de vista dos usu´arios (alunos), um WebLab oferece a comodidade de realizar um experimento a qualquer hora do dia e a partir de qualquer lugar.

No modelo de experimenta¸c˜ao remota, a Internet ´e utilizada por diversas implementa¸c˜oes de WebLabs como meio de acesso para prover o servi¸co, pois ela ´e uma rede p´ublica, de longo alcance e de baixo custo. A Fig. 1 apresenta este modelo, onde uma aplica¸c˜ao, executando na m´aquina cliente, possui uma l´ogica para enviar comandos a um recurso f´ısico, que por sua vez possui um servidor HTTP (Hypertext Transfer Protocol ) embarcado para receber os comandos e traduz´ı-los em comandos nativos ao recurso. Um servidor proxy HTTP intermedia a comunica¸c˜ao para proteger o recurso f´ısico. Este modelo de experimenta¸c˜ao, por´em, est´a sujeito `as deficiˆencias caracter´ısticas da Internet (atraso e varia¸c˜ao do atraso - jitter ), devido `a sua pol´ıtica de roteamento de melhor esfor¸co e n˜ao garantia de QoS (Quality of Service). Estas caracter´ısticas inviabilizam a execu¸c˜ao de certos tipos de experimentos e por isso limitam o escopo de experimentos poss´ıveis de serem realizados.

(32)

Fig. 1: Modelo de Experimenta¸c˜ao Remota que Utiliza a Internet.

A opera¸c˜ao de alguns equipamentos cient´ıficos, tais como robˆos, telesc´opios e plantas piloto, possuem requisitos estritos de comunica¸c˜ao e processamento. Na ´area de rob´otica m´ovel, por exemplo, o controle e opera¸c˜ao de um robˆo m´ovel envolve a transferˆencia de grandes quantidades de dados, devido ao emprego de cˆameras e lasers, necessitando ent˜ao que o operador esteja conectado a uma rede de alta velocidade e com um computador com grande capacidade de processamento. Assim, estes requisitos n˜ao podem ser atendidos satisfatoriamente atrav´es de um modelo de experimenta¸c˜ao remota baseado na Internet (CARDOZO et al., 2010).

Outra limita¸c˜ao imposta pela Internet ´e com rela¸c˜ao ao uso do protocolo HTTP. Como nor-malmente este ´e capaz de atravessar firewalls, as arquiteturas de WebLabs comumente utilizam este protocolo. Como exemplo, pode-se citar solu¸c˜oes de WebLabs baseadas em arquitetura SOA (Service Oriented Architecture) (GUIMAR ˜AES et al., 2011) e servi¸cos Web (HARWARD et al., 2008). Desta forma, softwares para controle de recursos f´ısicos que utilizam protocolos diferentes do HTTP tem seu emprego limitado nos WebLabs. Do ponto de vista educacional seria interessante para o usu´ario ter contato tamb´em com estes softwares para realiza¸c˜ao de experimentos, uma vez que estes geralmente permitem explorar todas as facilidades existentes em um recurso f´ısico.

Com o advento da computa¸c˜ao em nuvem (MELL; GRANCE, 2010) (ZAPPERT, F. et al., 2010) e o surgimento de diversas tecnologias para virtualiza¸c˜ao de computadores com arquitetura PC (Personal Computer ), observa-se que a aplica¸c˜ao de conceitos e tecnologias de virtualiza¸c˜ao no contexto de WebLabs trazem vantagens significativas. Tradicionalmente, com a virtualiza¸c˜ao ´e poss´ıvel oferecer um ambiente isolado entre m´aquinas virtuais, sendo que cada uma pode executar diferentes sistemas operacionais (SOs), com seus pr´oprios processos (softwares). Cada m´aquina virtual, tamb´em, possui uma quantidade de recursos dedicados da m´aquina f´ısica e, `a medida que s˜ao necess´arios mais ou menos recursos, ´e poss´ıvel aloc´a-los de maneira el´astica, ou seja, sob-demanda (MENASC´E, 2005).

No contexto de WebLabs, a primeira vantagem ´e que a execu¸c˜ao de um experimento pode ser realizada em uma m´aquina virtual ou VM (Virtual Machine), localizada na mesma rede local do recurso controlado, permitindo assim um modelo de experimenta¸c˜ao mais adequado, pois agora utiliza-se uma rede controlada, sem as deficiˆencias da Internet (FELICIANO et al.,

(33)

Introdu¸c˜ao 3

2011a) (FELICIANO et al., 2011b). Isto ´e um fator importante, pois agrega pontos positivos oferecidos por uma rede local e mant´em a caracter´ıstica de acesso universal oferecido pela Internet. Assim, do ponto de vista do laborat´orio, o usu´ario est´a na mesma rede local do recurso e do ponto de vista do usu´ario ele ainda acessa o recurso a partir da Internet, como nas outras abordagens de WebLabs.

A segunda vantagem ´e a possibilidade de alocar recursos do servidor f´ısico (por exemplo, processador e mem´oria) para a VM do usu´ario, dependendo dos requisitos de processamento e mem´oria requeridos em cada experimento. Isto retira do lado do usu´ario (lado cliente) a necessidade de possuir um computador com grande poder de processamento e com isso amplia os tipos de experimentos poss´ıveis de serem realizados. ´E importante ressaltar que esta abordagem ´e diferente da utilizada por outros WebLabs, que deixam para o lado cliente a responsabilidade de dimensionar a m´aquina para executar o experimento.

Na rob´otica em geral, ´e comum o fabricante de um determinado equipamento, por exemplo um robˆo m´ovel, oferecer pacotes de software para o controle e opera¸c˜ao deste robˆo. Estes softwares apresentam vantagens, pois permitem explorar todas as facilidades existentes no robˆo em quest˜ao. Um exemplo ´e o ARIA (Advanced Robot Interface for Applications) (Mobile Robots Inc., 2005), uma API (Application Programming Interface) em C++ para o controle de toda a linha de robˆos da empresa Mobile Robots. No mundo de software livre, h´a tamb´em softwares para o controle de recursos rob´oticos. Como exemplo tem-se o Player (The Player Project, 2001), uma plataforma cliente-servidor para o controle do hardware de um robˆo e o ROS (Robot Operation System) (Willow Garage Inc., 2007), um framework com funcionalidades ao estilo de um sistema operacional ou SO (abstra¸c˜ao de hardware, drivers de dispositivos, interface de linha de comandos, etc.) para o controle e opera¸c˜ao de recursos rob´oticos. Estes pacotes, por´em, n˜ao empregam o HTTP na comunica¸c˜ao com os recursos. Esta ´e a terceira vantagem no uso da virtualiza¸c˜ao em ambientes de WebLabs, pois com o seu uso ´e poss´ıvel oferecer um acesso remoto a uma VM e, a partir desta, aos robˆos, utilizando pacotes de software que empregam outros protocolos de camada de aplica¸c˜ao na comunica¸c˜ao.

Ressalta-se que o uso de uma m´aquina f´ısica para prover acesso e realiza¸c˜ao de experimentos em um primeiro momento pode parecer fact´ıvel. Por´em, em muitas situa¸c˜oes, o usu´ario deve ter privil´egio de super-usu´ario para executar determinadas aplica¸c˜oes (por exemplo, aplica¸c˜oes que utilizam threads ou processos com prioridade est´atica). Com tal privil´egio, usu´arios podem executar a¸c˜oes indesej´aveis como instala¸c˜ao e configura¸c˜ao de sistemas de software, atualiza-¸c˜ao do sistema operacional e acesso a arquivos de outros usu´arios, ou ainda a¸c˜oes maliciosas, intencionais ou n˜ao. A administra¸c˜ao de contas de usu´arios, por demandar suporte de pessoal especializado, ´e outro fator que dificulta a utiliza¸c˜ao de m´aquinas f´ısicas em WebLabs.

Objetivos e Justificativa

Este trabalho possui trˆes objetivos. O primeiro objetivo ´e oferecer uma infraestrutura para WebLabs federados, que permitam a realiza¸c˜ao de experimentos atrav´es da Internet e que de-mandam como requisitos de rede o baixo atraso e o baixo jitter. Para tal, a infraestrutura oferece ao usu´ario uma VM conectada na mesma rede do recurso para minimizar o atraso e o

(34)

jitter, parˆametros que prejudicam uma experimenta¸c˜ao realizada diretamente sobre a Internet. Com esta abordagem, a minimiza¸c˜ao do atraso e jitter ocorre pela elimina¸c˜ao da comunica¸c˜ao via Internet no controle dos recursos. Ao inv´es disso, o controle ´e executado a partir de uma rede local pr´oxima do recurso. O tr´afego pela Internet ocorre apenas na intera¸c˜ao com a VM, cuja tela ´e exibida remotamente na m´aquina do usu´ario. Com esta infraestrutura, tamb´em ser´a poss´ıvel oferecer suporte a aplica¸c˜oes que n˜ao utilizam o protocolo HTTP e, assim, ampliar a gama de experimentos poss´ıveis de serem realizados.

O desenvolvimento desta infraestrutura apresenta um desafio adicional relacionado `a segu-ran¸ca deste ambiente, mais especificamente no controle de acesso (autentica¸c˜ao e autoriza¸c˜ao). A autentica¸c˜ao nestes ambientes deve ser federada, uma vez que h´a a demanda por compar-tilhamento de recursos existentes em laborat´orios localizados em dom´ınios distintos. Atrav´es do estabelecimento de uma federa¸c˜ao ´e poss´ıvel aos laborat´orios utilizarem um mecanismo de confian¸ca para acesso compartilhado a estes recursos e o SSO (Single Sign-On) ´e uma opera¸c˜ao importante, pois permite a um usu´ario realizar apenas um processo de autentica¸c˜ao e, com isso, ser identificado em qualquer dom´ınio da federa¸c˜ao. Assim, o segundo objetivo ´e desenvol-ver um modelo de seguran¸ca que realize a gerˆencia das identidades federadas ou IdM (Identity Management) federadas no acesso aos recursos destes laborat´orios parceiros.

Com rela¸c˜ao `a autoriza¸c˜ao, em WebLabs, a utiliza¸c˜ao de um determinado recurso geralmente envolve uma etapa de pr´e-agendamento, onde ´e informado o dia, a hora e a dura¸c˜ao pretendida de uso. Com base nestas informa¸c˜oes, o sistema de autoriza¸c˜ao verificar´a, em uma tentativa de acesso, se o usu´ario possui uma reserva para o recurso. O problema nesta abordagem, e utilizado em alguns WebLabs, refere-se ao modelo ser baseado apenas no uso mediante reserva. Este modelo n˜ao ´e flex´ıvel pois existem recursos que podem ser compartilhados sem a necessidade de reservas. Neste caso, uma pol´ıtica do tipo uso mediante disponibilidade seria mais adequada. Assim, o terceiro objetivo refere-se ao desenvolvimento de um mecanismo de autoriza¸c˜ao que suporte diferentes pol´ıticas de uso dos recursos.

Contribui¸c˜

oes

A principal contribui¸c˜ao do trabalho ´e uma infraestrutura que trata os problemas discutidos nas se¸c˜oes e . Sendo assim, a infraestrutura contempla:

ˆ Uso da virtualiza¸c˜ao para minimizar a influˆencia do atraso e do jitter na intera¸c˜ao com os recursos;

ˆ Um modelo fracamente acoplado para controle de acesso de WebLabs federados, baseado em solu¸c˜oes abertas;

ˆ Uso de pol´ıticas de autoriza¸c˜ao para flexibilizar o modelo de uso de recursos; ˆ Uma API para abstrair e simplificar o uso da infraestrutura.

A infraestrutura desenvolvida baseada em virtualiza¸c˜ao agrega ao modelo de intera¸c˜ao com os recursos do laborat´orio a possibilidade do usu´ario realizar o experimento na mesma rede

(35)

Introdu¸c˜ao 5

do recurso, mesmo o usu´ario estando em uma outra rede, como por exemplo a Internet. Este modelo tamb´em minimiza os problemas existentes nos demais trabalhos com rela¸c˜ao `a influˆencia de atrasos, jitter e restri¸c˜ao ao HTTP. Outra vantagem relacionada ´e que o usu´ario n˜ao precisa de uma m´aquina com alto poder de processamento e mem´oria para executar um experimento, visto que sua VM est´a executando em um servidor com alto poder de processamento e mem´oria. O modelo fracamente acoplado separa as responsabilidades do controle de acesso federado em provedor de servi¸co ou SP (Service Provider ) e provedor de identidade ou IdP (Identity Provider ). O modelo tamb´em separa as responsabilidades de autoriza¸c˜ao em ponto de aplica¸c˜ao de pol´ıtica ou PEP (Policy Enforcement Point) e ponto de decis˜ao de pol´ıtica ou PDP (Policy Decision Point). Por fim, utiliza pol´ıticas de autoriza¸c˜ao, que permite maior adapta¸c˜ao do sistema ao modelo de uso de recursos de um laborat´orio.

Uma API foi desenvolvida com o objetivo de facilitar a utiliza¸c˜ao da infraestrutura na execu¸c˜ao de experimentos, cria¸c˜ao de pol´ıticas e controle de VMs. A API abstrai muitas parti-cularidades das tecnologias adotadas e simplifica o uso destas.

Estrutura da Disserta¸c˜

ao

O texto da disserta¸c˜ao est´a dividido em sete cap´ıtulos, incluindo este. O Cap. 1 apresenta os trabalhos correlatos. O Cap. 2 apresenta os conceitos gerais relacionados `a virtualiza¸c˜ao e descreve os principais conceitos e padr˜oes relacionados `a IdM federadas. O Cap. 3 apresenta o projeto da solu¸c˜ao e o Cap. 4 apresenta a implementa¸c˜ao da solu¸c˜ao. Um estudo de caso ´e apresentado no Cap. 5 com o objetivo de validar o trabalho. Por fim, o Cap. 6 apresenta as conclus˜oes e trabalhos futuros.

(36)
(37)

Cap´ıtulo

1

Trabalhos Correlatos

Este cap´ıtulo apresenta os trabalhos relacionados a esta disserta¸c˜ao. Inicialmente, apresenta-se uma arquitetura geral de WebLabs e alguns dos principais trabalhos na ´area de WebLabs. A seguir, compara-se cada trabalho sob a ´otica de arquitetura geral, mecanismo de controle de acesso e modelo de pol´ıticas de uso dos recursos.

1.1

Introdu¸c˜

ao

Na ´area de WebLabs ainda n˜ao h´a um consenso ou padr˜ao de projeto que permita a com-para¸c˜ao direta entre as diversas propostas. Um WebLab possui, basicamente, elementos para realizar a intermedia¸c˜ao entre os recursos existentes e os usu´arios, um componente para realizar a gerˆencia do ciclo de vida dos recursos (dispon´ıvel, reservado, em uso, etc.), um componente para autenticar os usu´arios que requerem acesso aos recursos e um componente para verifi-car a autoriza¸c˜ao de acesso aos recursos. A Fig. 1.1 apresenta um modelo conceitual de uma arquitetura b´asica de um WebLab.

Fig. 1.1: Arquitetura B´asica de um WebLab.

O componente Intera¸c˜ao ´e o principal componente da arquitetura e ´e respons´avel por in-termediar o envio de comandos ao recurso controlado e receber as respostas destes comandos. Por isso, este componente depende de um Recurso para realizar o controle e opera¸c˜ao; de um componente respons´avel por realizar a Autentica¸c˜ao; e de um componente para realizar a

(38)

riza¸c˜ao do usu´ario que deseja operar o recurso. O componente Gerente de Recurso ´e respons´avel pelo ciclo de vida dos recursos.

Uma compara¸c˜ao poss´ıvel de ser feita ´e com rela¸c˜ao `as tecnologias empregadas, complexi-dade dos recursos controlados e padr˜oes arquiteturais de software e de rede empregados nos componentes da arquitetura b´asica apresentada. Em geral as abordagens mais simples s˜ao aquelas que utilizam arquitetura cliente-servidor para o controle de recursos atrav´es da Inter-net. Muitos laborat´orios utilizam a tecnologia LabView (National Instruments Corp., 1986) ou MATLAB (The MathWorks Inc., 1984) para desenvolver o software que realiza a comunica¸c˜ao entre o equipamento e o usu´ario conectado `a Internet. Na literatura, h´a diversas propostas e versam sobre o controle dos mais variados equipamentos, desde placas de circuito impresso a robˆos (GRAVIER et al., 2008). Algumas destas propostas tˆem o objetivo de oferecer o acesso remoto a um recurso espec´ıfico apenas, outras, assim como a proposta deste trabalho, tem como objetivo ser uma infraestrutura para o controle dos mais variados tipos de equipamentos e poder compartilhar estes recursos de forma segura com diversos dom´ınios parceiros atrav´es de uma ´

unica opera¸c˜ao de autentica¸c˜ao de identidades federadas.

Procurou-s nesta revis˜ao avaliar os WebLabs que permitem a integra¸c˜ao de diversos recursos de maneira federada, isto ´e, permitindo que estes recursos estejam espalhados por dom´ınios administrativos distintos e que ofere¸cam um mecanismo de autentica¸c˜ao ´unica (SSO) para os usu´arios destes dom´ınios. Nesta avalia¸c˜ao, verificou-se a arquitetura geral, mecanismo de con-trole de acesso e pol´ıtica de uso dos recursos. Dentre os trabalhos na linha de plataformas de WebLabs e relevantes para a compara¸c˜ao cita-se o iLab (HARWARD et al., 2008), o WebLab-Deusto (ORDU ˜NA et al., 2011) e o REALabs (GUIMAR ˜AES et al., 2011).

1.1.1

iLab 4.0.1

O iLab ´e um projeto iniciado no MIT (Massachusetts Institute of Technology) no ano de 1998. Surgiu como uma solu¸c˜ao para o problema de viabilidade na manipula¸c˜ao de um equipamento analisador de parˆametros em semicondutores, o ´unico equipamento existente e cujo custo n˜ao viabilizava a aquisi¸c˜ao para cada aluno e t˜ao pouco a lota¸c˜ao de todos os alunos no laborat´orio em torno deste ´unico equipamento. A solu¸c˜ao inicial foi apresentada por um aluno que desenvolveu uma interface em Java applet, que permitia aos alunos enviar pela Internet descri¸c˜oes que caracterizam semicondutores a um servidor conectado diretamente ao analisador. O projeto evoluiu no final de 1999 com o nome de iCampus e com o objetivo de desenvolver diversos WebLabs para o controle de diversos tipos de equipamentos. No ano de 2001, inicia-se uma fase do projeto cujo objetivo era a integra¸c˜ao dos diversos WebLabs atrav´es de uma infraestrutura comum. Esta infraestrutura utiliza a tecnologia de servi¸cos Web e apresenta um middleware denominado ISA (iLab Shared Architecture).

Arquitetura Geral

Na perspectiva do iLab, os experimentos est˜ao classificados em trˆes categorias ou modos de opera¸c˜ao. Um modo batch, onde os parˆametros do experimento s˜ao definidos antes do in´ıcio da execu¸c˜ao do mesmo. Um modo sensor, onde o experimento transcorre sem a intera¸c˜ao do

(39)

1.1. Introdu¸c˜ao 9

usu´ario (aluno), que apenas monitora os dados apresentados em tempo real. E um ´ultimo modo, denominado interativo, onde o usu´ario opera um dispositivo em tempo real. Para efeito de compara¸c˜ao foca-se no modo de opera¸c˜ao interativo, que ´e o modo utilizado neste trabalho. A Fig. 1.2 apresenta a arquitetura do iLabs para a execu¸c˜ao de experimentos interativos.

Fig. 1.2: Arquitetura do iLabs para Experimentos Interativos. Baseado em (HARWARD et al., 2008).

A arquitetura do iLab possui trˆes componentes distintos. O servidor do laborat´orio ou LS (Lab Server ), que se conecta ao recurso e tem como objetivo servir de meio para manipula¸c˜ao do mesmo. O cliente do laborat´orio ou LC (Lab Client) ´e instalado no computador do usu´ario e ´e a interface para efetuar a opera¸c˜ao remota. O componente ISB (Interactive Service Broker ) ´e respons´avel por mediar as trocas de informa¸c˜oes pela Internet entre o servidor do laborat´orio e o cliente antes da realiza¸c˜ao de um experimento. Este componente tamb´em oferece servi¸cos administrativos comuns, tais como autentica¸c˜ao, autoriza¸c˜ao e log da execu¸c˜ao do experimento.

´

E importante ressaltar que o controle de um experimento ocorre sem a intermedia¸c˜ao do ISB. Al´em dos trˆes componentes j´a mencionados, h´a um componente denominado servidor de armazenamento ou ESS (Experiment Storage Service), respons´avel pela armazenagem de dados decorrentes da realiza¸c˜ao de um experimento e outro componente denominado servidor de re-serva ou SS (Schedulling Service), respons´avel pela rere-serva dos experimentos. Na arquitetura do iLab este componente est´a separado em um lado cliente ou USS (User-Side Schedulling Service) e um lado servidor ou LSS (Lab-Side Schedulling Service). O lado servidor ´e respons´avel por coordenar as reservas realizadas por m´ultiplos dom´ınios e tamb´em por inicializar o LS para re-alizar tarefas pr´e-execu¸c˜ao de um determinado experimento. O lado cliente oferece aos usu´arios a possibilidade de agendar os experimentos e comunicar-se com o lado servidor dos diversos dom´ınios.

(40)

Controle de Acesso

Para um usu´ario iniciar um experimento ´e necess´ario antes se autenticar no ISB. O me-canismo de controle de acesso n˜ao segue um padr˜ao aberto e possui o nome de general ticke-ting (NORTHRIDGE et al., 2010). Neste esquema h´a 3 partes bem definidas. O chamado detentor do ticket (ticket holder ), que ´e o processo que est´a fazendo uma chamada a um servi¸co Web ou tentando acessar uma p´agina. O processo para onde o detentor do ticket envia uma re-quisi¸c˜ao para valida¸c˜ao do mesmo ´e chamado de redentor do ticket (ticket redeemer ). O servidor que expede uma credencial ´e chamado de expedidor de ticket (ticket issuer ). Como detentor do ticket pode-se ter aplica¸c˜oes Web, o USS ou a aplica¸c˜ao cliente do laborat´orio. Como redentor do ticket pode-se ter o LS, atuando no caso da tentativa de execu¸c˜ao de um experimento ou o USS, no caso de uma opera¸c˜ao de confirma¸c˜ao de uma reserva por parte de um usu´ario para executar um experimento. O expedidor do ticket sempre ´e o ISB.

O expedidor do ticket mant´em c´opias de todos os tickets expedidos para que todos os re-dentores do ticket tenham uma rela¸c˜ao de confian¸ca. Ele tamb´em deve fornecer aos detentores de ticket o chamado ticket coupon para que estes obtenham autoriza¸c˜ao de acesso aos recursos. Quando um SP (LS ou USS) recebe uma chamada via servi¸co Web de um cliente, o mesmo necessita apresentar o coupon ID, provido pelo ISB, para este redentor. O redentor usar´a este coupon ID para obter o ticket do ISB. Se o ticket for obtido do ISB significa que a a¸c˜ao foi autenticada pelo ISB. Como o ISB ´e o gerente de todos os SPs de um dado dom´ınio local, e ´e o elemento central do mecanismo de tickets, o redentor confiar´a em todos os tickets expedidos por este ISB. O ticket ´e uma estrutura de dados em XML (eXtensible Markup Language) e ´e encapsulado no cabe¸calho de uma mensagem SOAP (Simple Object Access Protocol ), utilizando estrat´egia semelhante ao WS-Security (OASIS, 2006). Para criar um canal confi´avel para o tr´a-fego destas mensagens utiliza-se o protocolo SSL (Secure Sockets Layer ). A Fig. 1.3 apresenta uma vis˜ao geral do mecanismo de controle de acesso intradom´ınio empregado no iLab.

Fig. 1.3: Vis˜ao Geral do Mecanismo de Controle de Acesso Intradom´ınio do iLab. Baseado em (NORTHRIDGE et al., 2010).

No passo 1 da Fig. 1.3 o usu´ario se autentica no ISB e indica que quer confirmar uma reserva feita anteriormente e com isso iniciar um experimento. O ISB redireciona o LC para o USS com

(41)

1.1. Introdu¸c˜ao 11

a autoriza¸c˜ao de ler e confirmar a reserva. No passo 2, o USS permite ao usu´ario resgatar a reserva feita anteriormente e tamb´em autoriza a cria¸c˜ao de um ticket no ISB, que representa a permiss˜ao de realiza¸c˜ao do experimento durante o per´ıodo de validade da reserva. Neste passo, o usu´ario ´e redirecionado de volta ao ISB. No passo 3, o LC requisita o in´ıcio do experimento. O ISB cria o coupon e adiciona um ticket autorizando armazenagem de dados do experimento no ESS e outro para in´ıcio do experimento. O ISB inicia o LC e passa o coupon. No passo 4, o LC realiza uma chamada via servi¸cos Web ao LS passando o coupon.

O LS utilizar´a este coupon para obter o ticket de execu¸c˜ao, que especifica a reserva do usu´ario e o n´ıvel de acesso. Se o usu´ario tiver autoriza¸c˜ao neste LS, este abrir´a um canal de comunica¸c˜ao direta com o LC (sem passar pelo ISB). No passo 5 o LS comunicar´a o servidor ESS para armazenar os dados do experimento em nome do usu´ario. ´E importante ressaltar que cada requisi¸c˜ao de armazenamento ´e acompanhado do mesmo coupon que o cliente originalmente apresentou para o LS. No passo 6, o ESS usa o coupon para obter o ticket de armazenamento criado pelo ISB para a realiza¸c˜ao desta sess˜ao de experimenta¸c˜ao. Este ticket ´e armazenado em mem´oria cache para uso futuro.

No controle de acesso interdom´ınio, os ISBs de ambos os dom´ınios s˜ao os elementos de confian¸ca entre o LC de um dom´ınio e os SPs de outro. Para que haja uma confian¸ca m´utua entre os ISBs h´a uma chamada via servi¸co Web denominada InstallDomainCredentials, onde h´a a passagem de um passkey, que atua no estabelecimento da confian¸ca. A Fig. 1.4 apresenta como exemplo o caso de um usu´ario de um dom´ınio A confirmar uma reserva para executar um experimento em um dom´ınio B. O USS do dom´ınio A necessita chamar um m´etodo Web denominado Confirm reservation no LSS do dom´ınio B. Com isso, o ISB do dom´ınio A (ISB A) criar´a um ticket denominado REQUEST RESERVATION TICKET ap´os autenticar esta chamada (passos 1 e 2). O coupon ID, identificando os tickets, ´e ent˜ao acrescentado nesta requisi¸c˜ao (passo 3). Quando o LSS receber esta chamada do USS, verificar´a o ticket atrav´es da obten¸c˜ao do ISB do dom´ınio B (ISB B), conforme passo 4. No passo 5, o ISB B, ent˜ao, consultar´a o ISB A para obter o ticket e, assim, encaminhar´a para o LSS, conforme passo 6, que enviar´a os hor´arios dispon´ıveis para o USS.

O USS retornar´a estes hor´arios ao usu´ario (LC), que por sua vez alterar´a ou confirmar´a a reserva no USS. O USS contactar´a o LSS para confirmar a a¸c˜ao na reserva. ´E importante ressaltar que este processo de obten¸c˜ao de tickets por parte dos ISBs de ambos os dom´ınios tamb´em ocorre no in´ıcio de um experimento.

Pol´ıtica de Uso

A pol´ıtica de uso adotada ´e de uso mediante reserva. O servi¸co de reservas do iLab oferece a usu´arios e professores distintas funcionalidades. Para os usu´arios, o iLab possibilita reservar, cancelar e receber notifica¸c˜oes. Para os professores, possibilita definir parˆametros a respeito da execu¸c˜ao de um experimento. Aos administradores do laborat´orio oferece a possibilidade de coordenar as reservas no caso de uso compartilhado entre diversos dom´ınios. Estes requisitos refletem na arquitetura do iLab no uso dos componentes USS e LSS. No iLab h´a o conceito de divis˜ao de tempo em blocos, per´ıodos e reincidˆencia. Bloco de tempo possui as propriedades de in´ıcio, fim e dura¸c˜ao. Um per´ıodo de tempo estende as propriedades do bloco de tempo

(42)

Fig. 1.4: Vis˜ao Geral do Mecanismo de Controle de Acesso Interdom´ınio do iLab. Adaptado de (MAO, 2007)

com a adi¸c˜ao de um quantum, que ´e um tempo limite para a divis˜ao do per´ıodo de tempo em blocos de tempo. O quantum ´e utilizado para determinar o tempo dispon´ıvel e para minimizar a fragmenta¸c˜ao do tempo dispon´ıvel. A reincidˆencia especifica uma cole¸c˜ao de blocos de tempo n˜ao sobrepostos que abrangem uma s´erie de datas relacionadas a um evento de experimenta¸c˜ao. As reincidˆencias podem ser di´arias, semanal, mensal, etc.

No USS, ´e permitida a defini¸c˜ao de tempo m´ınimo e tempo m´aximo de uma reserva. J´a no lado do LSS, a pol´ıtica de uso padr˜ao ´e do tipo FCFS (First-Come, First-Served ) e permite tamb´em determinar permiss˜oes para grupos executarem um experimento no tempo requisitado.

An´alise do iLab 4.0.1

Em uma an´alise geral do iLab, observa-se que sua infraestrutura ´e constitu´ıda em grande parte por tecnologias propriet´arias (como por exemplo .NET) e requer instala¸c˜ao de parte desta infraestrutura no lado cliente. Isto limita a possibilidade de ado¸c˜ao da solu¸c˜ao. Na quest˜ao do controle de acesso, tamb´em ´e utilizado uma solu¸c˜ao pr´opria (general ticketing), com elementos do WS-Security (na comunica¸c˜ao entre o USS e o LSS). Esta solu¸c˜ao dificulta a integra¸c˜ao com outras infraestruturas de WebLabs, pois n˜ao h´a a utiliza¸c˜ao de um padr˜ao aberto para IdM federadas, como por exemplo o SAML (Security Assertions Markup Language). O mecanismo de federa¸c˜ao est´a todo concentrado no ISB, que apesar de ser uma solu¸c˜ao simples e funcional, ´e uma arquitetura centralizada e, portanto, um ponto de falha.

Por fim, a quest˜ao da latˆencia da rede Internet n˜ao ´e tratada. Este fator pode prejudicar uma sess˜ao de experimenta¸c˜ao e limitar o escopo de experimentos. Apesar da comunica¸c˜ao entre o lado cliente e o lado servidor ocorrer sem a intera¸c˜ao do ISB, ainda assim o tr´afego est´a sujeito a atrasos decorrentes da pr´opria natureza da Internet e da intermedia¸c˜ao do LS. Com rela¸c˜ao `as pol´ıticas de uso, n˜ao h´a um mecanismo para permitir a defini¸c˜ao de diferentes modelos de uso.

(43)

1.1. Introdu¸c˜ao 13

1.1.2

WebLab-Deusto 4.0

O WebLab-Deusto ´e uma plataforma de WebLab desenvolvido pela Universidade de Deusto, na Espanha. Esta plataforma ´e utilizada desde 2005 e atualmente controla experimentos vari-ados. Assim como o iLab, a plataforma vem se atualizando continuamente. Em sua primeira vers˜ao a plataforma era dependente de dom´ınio e o lado cliente era baseada em Java. J´a em sua segunda vers˜ao, houve a mudan¸ca no lado cliente para o uso de AJAX (Asynchronous JavaS-cript and XML) e servi¸cos Web. A terceira vers˜ao apresentou atualiza¸c˜oes na arquitetura para facilitar a integra¸c˜ao de novos experimentos por parte dos desenvolvedores. A quarta e ´ultima vers˜ao apresenta adapta¸c˜oes para o uso em dispositivos m´oveis e navegadores comuns (como por exemplo, o Firefox). Nesta ´ultima vers˜ao tamb´em h´a o suporte a m´ultiplos esquemas de au-tentica¸c˜ao, tais como banco de dados, LDAP (Lightweight Directory Access Protocol ), OpenID e Facebook (atrav´es do OAuth 2.0) (GARC´IA-ZUBIA et al., 2012).

Arquitetura Geral

O WebLab-Deusto apresenta duas abordagens no que diz respeito ao desenvolvimento de um experimento. Uma abordagem denominada gerenciada, onde um experimento ´e executado uti-lizando todas as facilidades oferecidas pela arquitetura do WebLab. O WebLab-Deusto oferece um conjunto de bibliotecas tanto para o lado cliente quanto para o lado servidor, afim de tratar a comunica¸c˜ao entre ambos. Tamb´em oferece um componente intermedi´ario (um servidor) para tratar da seguran¸ca na comunica¸c˜ao entre os lados cliente e servidor. A comunica¸c˜ao entre ambos os lados ´e realizada com o uso do SSL. Outra abordagem ´e a denominada n˜ao gerenci-ada, onde o desenvolvedor do experimento n˜ao utiliza a infraestrutura oferecida pelo ambiente para a comunica¸c˜ao entre o cliente e o servidor. Neste caso, o desenvolvedor fica respons´avel por desenvolver tanto o lado cliente quanto o lado servidor e o m´etodo de comunica¸c˜ao entre ambos. Se desejar, pode integrar em seu experimento os componentes de autentica¸c˜ao, auto-riza¸c˜ao e reserva oferecidos pela plataforma. Para este caso, o WebLab-Deusto oferece uma VM ao desenvolvedor do experimento. A Fig. 1.5 apresenta uma vis˜ao geral da arquitetura do WebLab-Deusto.

Nesta arquitetura os clientes conectam-se aos servidores (WebLab-Deusto Servers). Utiliza-se uma arquitetura multicamadas, Utiliza-sendo que a camada de apreUtiliza-senta¸c˜ao est´a localizado no lado cliente. As camadas de l´ogica de neg´ocio e de persistˆencia de dados est˜ao localizados nestes servidores. Entre os servidores h´a um denominado servidor de autentica¸c˜ao, respons´avel por oferecer o servi¸co atrav´es de diversos m´etodos de autentica¸c˜ao. O servidor do laborat´orio (La-boratory Server ) ´e respons´avel por controlar os diversos recursos existentes e, com isso, oferecer os chamados experimentos gerenciados (Managed Experiments). No caso dos experimentos n˜ao gerenciados (Unmanaged Experiments), o acesso a VM n˜ao passa pela infraestrutura do We-bLab (a menos que o desenvolvedor implemente em seu experimento chamadas aos servi¸cos de autentica¸c˜ao, autoriza¸c˜ao e reserva da plataforma) e pode ser feito atrav´es de RDP (Remote Desktop Protocol ), SSH (Secure SHell ) ou VNC (Virtual Network Computing). Quando um usu´ario realizar este experimento, o WebLab-Deusto instanciar´a uma VM do VirtualBox (ini-ciando a partir de um snapshot), gerar´a uma senha aleat´oria e configurar´a esta senha na VM. Esta mesma senha ser´a enviada ao lado cliente e a VM passar´a a aceitar conex˜oes contendo esta

(44)

Fig. 1.5: Vis˜ao Geral da Arquitetura do WebLab-Deusto 4.0.1. Baseado em (ORDU ˜NA et al., 2011).

senha. No momento s˜ao suportadas as tecnologias SSH e VNC, em VMs Linux e VNC e RDP, em VMs Windows.

Controle de Acesso

O WebLab-Deusto oferece diversos mecanismos de autentica¸c˜ao. Por exemplo, ´e poss´ıvel utilizar mecanismos de autentica¸c˜ao baseados em base de dados, em um IP (Internet Protocol ) espec´ıfico, LDAP ou padr˜oes de autentica¸c˜ao federada. O mecanismo de autentica¸c˜ao atrav´es de base de dados utiliza um hash da senha armazenada em uma tabela do MySQL. O mecanismo baseado em um IP permite que, por exemplo, um sistema do tipo LMS (Learning Management System), pertencente a um dom´ınio parceiro (e possuindo o IP esperado), acesse o dom´ınio local, estabelecendo uma rela¸c˜ao de confian¸ca entre este dom´ınio remoto e o dom´ınio local. J´a o mecanismo LDAP utiliza os m´etodos de um servidor LDAP para autenticar um usu´ario. O mecanismo de autentica¸c˜ao federada utiliza o OpenID ou Facebook para permitir que contas vindas destes dom´ınios utilizem o laborat´orio. Este ´ultimo mecanismo pode ser estendido pelo desenvolvedor, desde que este implemente os m´etodos abstratos do padr˜ao de projetos Facade, desenvolvido em Python.

Dado os diferentes mecanismos de autentica¸c˜ao, ´e poss´ıvel, ainda, combin´a-los de maneira semelhante ao conceito de cadeias e autentica¸c˜ao (authentication chain), que torna poss´ıvel configurar, para cada usu´ario, uma sequˆencia de mecanismos de autentica¸c˜ao. No caso do WebLab-Deusto, esta configura¸c˜ao fica armazenada em banco de dados. Com isso, cada meca-nismo avaliar´a as credenciais do usu´ario de acordo com a sua l´ogica. Como exemplo, cita-se o caso de configura¸c˜ao de dois mecanismos de autentica¸c˜ao para um dado usu´ario “usu´ario1”, um atrav´es de senha armazenada em banco de dados e outro atrav´es de um servidor LDAP. Assim, o servi¸co primeiro avaliar´a as credenciais com o primeiro mecanismo. Caso este falhe, o segundo

(45)

1.1. Introdu¸c˜ao 15

mecanismo avaliar´a as credenciais segundo sua l´ogica. Caso este ´ultimo falhe, o usu´ario ´e consi-derado inv´alido. Caso algum mecanismo ateste a validade do usu´ario, o servi¸co de autentica¸c˜ao entender´a que ´e um usu´ario v´alido.

Pol´ıtica de Uso

A pol´ıtica de uso ´e baseado em filas de prioridades com balanceamento. Apesar de sua arquitetura servir para o controle de experimentos variados, historicamente, o WebLab-Deusto ´e utilizado para a realiza¸c˜ao de experimentos na ´area de engenharia eletrˆonica. Neste caso, para um dado experimento, existem diversos recursos idˆenticos para serem alocados entre os estudantes. Cada recurso possui uma fila e o conjunto de filas do experimento ´e balanceado para atender a demanda de usu´arios. Por exemplo, se houver dispon´ıveis cinco recursos diferentes e seis usu´arios querendo utilizar estes recursos, os cinco primeiros usu´arios ser˜ao atendidos e o sexto usu´ario ser´a enfileirado, ou seja, ser´a criada uma reserva. A utiliza¸c˜ao dos recursos por parte dos cinco usu´arios ocorrer´a por um certo limite de tempo e, ap´os expira¸c˜ao deste tempo, ou se houver libera¸c˜ao espontˆanea, o sexto usu´ario ser´a atendido.

O WebLab-Deusto traz algumas melhorias na pol´ıtica de uso em rela¸c˜ao a vers˜oes anteriores. No caso da possibilidade de executar o experimento em mais de um tipo de dispositivo, h´a uma l´ogica para reservar o experimento em todas as filas poss´ıveis. Por exemplo, se em uma universidade existem diferentes experimentos, um utilizando FPGA (Field-Programmable Gate Array) e outro utilizando CPLD (Complex Programmable Logic Device), haver´a uma fila para os recursos do tipo CPLD e outra fila para os recursos do tipo FPGA. Quando um usu´ario for reservar um experimento, a reserva ser´a enfileirada em todas as poss´ıveis filas v´alidas. Na ocasi˜ao do usu´ario requisitar a quantidade de reservas do experimento, neste caso o servi¸co informar´a sempre o resulado mais otimista. Por exemplo, se houver vinte reservas para FPGA e somente dez para CPLD, o sistema reportar´a que existem dez reservas.

An´alise do WebLab-Deusto 4.0

O WebLab-Deusto oferece uma VM para o desenvolvedor implementar um experimento n˜ao gerenciado. Isto ´e interessante do ponto de vista do desenvolvedor, que possui uma forma de criar um novo experimento e com isso ampliar a oferta de experimentos da plataforma, por´em este ser´a um experimento n˜ao gerenciado pela plataforma (a menos que implemente). Ainda com rela¸c˜ao ao uso de experimentos n˜ao gerenciados, a rastreabilidade das a¸c˜oes dos usu´arios ´e dif´ıcil de ser realizada, uma vez que a comunica¸c˜ao com o recurso ´e feita fora da plataforma, diferentemente dos experimentos gerenciados.

Do ponto de vista do usu´ario, que acessar´a o experimento via aplica¸c˜ao de terminal remoto, como por exemplo o RDP, h´a uma quest˜ao relacionada ao uso de firewall, pois estas aplica¸c˜oes utilizam portas muitas vezes bloqueadas em ambientes institucionais (5900 para o VNC, 22 para SSH e 3389 para o RDP). Tamb´em n˜ao ´e poss´ıvel realizar estes experimentos a partir de institui¸c˜oes que utilizam um proxy HTTP como sa´ıda para uma rede p´ublica (por exemplo, Internet), uma vez que estas comunica¸c˜oes provavelmente ser˜ao bloqueadas pelo proxy.

O esquema de controle de acesso ´e extens´ıvel para permitir que diferentes mecanismos co-existam. Isto ´e interessante pois, do ponto de vista da ´area de IdM federadas, ainda n˜ao h´a

(46)

um padr˜ao consolidado. Apesar disso, o esquema baseado em um IP espec´ıfico n˜ao ´e confi´avel, uma vez que o IP pode facilmente ser forjado por um atacante. O uso deste esquema abre uma falha de seguran¸ca no ambiente. Outra quest˜ao ´e que, para integrar aplica¸c˜oes de terceiros, h´a a necessidade de se utilizar uma API para gerenciar as identidades, fato este que pode dificultar a integra¸c˜ao.

O modelo de pol´ıticas de uso adotado pelo laborat´orio, especialmente para experimentos do tipo batch (em lote), combina um modelo de filas com a possibilidade de reserva do recurso no caso de fila cheia ou o recurso ocupado. Contudo, o modelo n˜ao ´e flex´ıvel para facilitar a cria¸c˜ao de novos modelos de uso (concorrente, oportunista, entre outros). Por fim, o uso de um conjunto de servidores no ambiente de WebLabs pode tornar mais trabalhosa a sua gerˆencia. A latˆencia da Internet pode ser tratada apenas nos experimentos do tipo n˜ao gerenciado.

1.1.3

REALabs

A plataforma REALabs, desde a sua origem at´e sua atual vers˜ao, recebeu diversas aborda-gens, implementa¸c˜oes e tecnologias. O in´ıcio das pesquisas em WebLabs, no Brasil, data do ano de 1996, por meio do projeto REAL (Robotics Research Internet-Accessible Laboratory). Esta primeira vers˜ao adota a arquitetura cl´assica cliente-servidor, onde o experimentador opera uma interface desenvolvida em Java applet. A partir de ent˜ao o projeto evolui continuamente.

A segunda vers˜ao data do ano de 1997, a partir de um acordo de coopera¸c˜ao entre o CTI (Centro de Tecnologia da Informa¸c˜ao) Renato Archer e a FEEC (Faculdade de Engenharia El´etrica e de Computa¸c˜ao) da Unicamp, com o objetivo de construir plataformas baseadas em padr˜oes abertos para o desenvolvimento de WebLabs. Denominado WebLab REAL, esta ver-s˜ao adotou uma arquitetura de objetos distribu´ıdos CORBA (Common Object Request Broker Architecture) (OBJECT MANAGEMENT GROUP, 2002). No ano de 2000 tem in´ıcio o desen-volvimento da terceira vers˜ao do REAL WebLab. Esta vers˜ao utiliza uma arquitetura baseada em um modelo de componentes CM-tel e a plataforma CCM-tel. A quarta vers˜ao, desenvolvida em 2003, do REAL WebLab utiliza o modelo de componentes CM-tel e a plataforma MECM-tel para dispositivos m´oveis. Nesta vers˜ao utilizou-se uma metodologia de desenvolvimento de software baseado em componentes para dispositivos m´oveis com baixo poder computacional.

A quinta vers˜ao desenvolveu uma arquitetura elegante, baseada em SOA, por´em ao longo do tempo a implementa¸c˜ao desta arquitetura apresentou problemas no processamento das men-sagens SOAP no lado cliente, dificuldades em operar em tempo real com o protocolo SOAP e dificuldades para compor servi¸cos utilizando BPEL (Business Process Execution Language) (MI-CROSOFT et al., 2003). Assim, a sexta vers˜ao, datada de 2007 adicionou `a vers˜ao anterior apri-moramentos com o objetivo de simplificar e ganhar maior eficiˆencia no uso da plataforma em ambos os lados cliente e servidor. A nova arquitetura substituiu SOAP por REST (REpresen-tational State Transfer ) e no lado cliente priorizou-se tecnologias baseadas em XML, tais como AJAX. Foi introduzido o conceito de SSO como mecanismo de autentica¸c˜ao entre os dom´ınios federados e o uso do protocolo SAML 1.0.

(47)

1.1. Introdu¸c˜ao 17

Arquitetura Geral

O REALabs ´e uma plataforma gen´erica para a realiza¸c˜ao de experimentos. Sua concep¸c˜ao est´a baseada na arquitetura SOA. Sua implementa¸c˜ao utiliza a tecnologia J2EE (Java2 Platform Enterprise Edition), atrav´es de servlets e JSP (Java Server Pages). A plataforma possui um conjunto de servi¸cos para gerˆencia de usu´arios, gerˆencia de recursos, gerˆencia de SLA (Service Level Agreement), pol´ıticas de QoS (sobre a Internet) e gerˆencia de acesso. Estes servi¸cos seguem o padr˜ao REST de intera¸c˜ao, que s˜ao invocados via opera¸c˜oes do HTTP (GET ou POST). Algumas destas opera¸c˜oes possuem documentos XML em seu payload. A Fig. 1.6 apresenta uma vis˜ao geral da arquitetura da plataforma REALabs.

Management User Resource HTTP Single Sign Application Service Session Management Service Service Management Microserver Tomcat Server Resource (Authentication) On Service Reservation Service Client Computer Components Web Programming Interfaces Apache Server Filter Proxy HTTP Agent Controller Traffic HTTP (Authorization)

Fig. 1.6: Vis˜ao Geral da Arquitetura do REALabs (GUIMAR ˜AES et al., 2011).

O servi¸co de gerˆencia de acesso compreende os componentes de reserva (Reservation Service), de autentica¸c˜ao federada (Single Sign-On Service) e de sess˜ao (Session Management Service). Estes componentes est˜ao instalados em um servidor Apache Tomcat. Neste mesmo servidor es-t˜ao os componentes de gerˆencia de usu´ario (User Management Service) e de gerˆencia de recursos (Resource Management Service). O componente de autentica¸c˜ao federada possui intera¸c˜ao com o componente Web (Web Components), localizado na m´aquina do cliente. Na m´aquina do cliente h´a tamb´em uma API respons´avel por oferecer uma interface de programa¸c˜ao para o controle do robˆo. Esta interface atualmente est´a desenvolvida nas linguagens Java, MATLAB, Python e C/C++.

A comunica¸c˜ao entre a m´aquina do cliente e o recurso ´e realizada atrav´es do componente de interface de programa¸c˜ao de aplica¸c˜ao (Application Programming Interfaces) e passa por um

(48)

servidor Apache configurado para atuar como um proxy (HTTP Proxy Agent). Neste servidor Apache h´a um componente para filtragem das requisi¸c˜oes e para realizar a autoriza¸c˜ao (HTTP filter ), e um componente para controle de tr´afego (Traffic Controller ). Este componente de controle de tr´afego realiza prioriza¸c˜ao do tr´afego e limita¸c˜ao de banda. No lado do recurso h´a um micro servidor HTTP (HTTP Microserver ), respons´avel por traduzir as requisi¸c˜oes em comandos nativos ao recurso.

Controle de Acesso

A autentica¸c˜ao no REALabs ´e realizada atrav´es do componente Single Sign-On Service. Este componente realiza a autentica¸c˜ao de forma federada e utiliza a biblioteca OpenSAML para criar, assinar e validar as asser¸c˜oes SAML 1.0. A autoriza¸c˜ao utiliza o componente de gerˆencia de sess˜ao para iniciar e manter sess˜oes de intera¸c˜ao. Este servi¸co de sess˜ao instala um cookie no navegador do usu´ario para ser utilizado em todas as intera¸c˜oes HTTP subsequentes. O cookie ser´a checado na autoriza¸c˜ao, onde um filtro HTTP verificar´a a existˆencia deste elemento a fim de determinar se o usu´ario possui uma sess˜ao de intera¸c˜ao v´alida.

O filtro HTTP atua como um PEP e ´e um c´odigo extra incorporado ao servidor Apache. Este filtro permite extrair parˆametros do cookie e realizar uma a¸c˜ao de autoriza¸c˜ao com base em uma decis˜ao vinda de uma terceira entidade. Esta terceira entidade atua como um PDP. Esta receber´a os parˆametros obtidos pelo filtro e verificar´a se a requisi¸c˜ao est´a autorizada ou n˜ao a continuar. A decis˜ao ser´a ent˜ao aplicada pelo filtro, que bloquear´a ou permitir´a a continua¸c˜ao da requisi¸c˜ao. Se a requisi¸c˜ao continuar, significar´a que o usu´ario est´a autorizado e, caso contr´ario, ser´a enviada uma mensagem HTTP relacionada com a proibi¸c˜ao do acesso.

Pol´ıtica de Uso

A pol´ıtica de uso adotada no REALabs ´e de uso mediante reserva. O servi¸co de reserva permite que os usu´arios reservem um per´ıodo de tempo para realizar um experimento. A reserva s´o ´e permitida durante o per´ıodo que o experimento est´a aberto para reservas. Tamb´em s´o ´e permitida a realiza¸c˜ao da reserva por pessoas autenticadas e autorizadas. Uma vez realizada a reserva, o usu´ario pode acessar o recurso no hor´ario determinado, mas antes deve apresentar suas credenciais e, se for autorizado pelo ambiente, estar´a apto a iniciar o experimento.

An´alise do REALabs

O REALabs ´e um exemplo de uma plataforma gen´erica para experimenta¸c˜ao que vem evo-luindo ao longo de uma d´ecada. Possui arquitetura baseada em SOA, que est´a em linha com os demais trabalhos estudados. Possui controle de acesso federado baseado em SAML 1.0, que ´e um protocolo com maiores preocupa¸c˜oes com a seguran¸ca em rela¸c˜ao aos protocolos utilizados nos demais trabalhos estudados, por´em ´e um protocolo mais complexo de se utilizar.

Uma quest˜ao em aberto ´e com rela¸c˜ao ao atraso inerente nas comunica¸c˜oes realizadas via Internet. Como o principal uso da plataforma ´e para ensino de rob´otica m´ovel, neste caso, os atrasos podem interferir no controle do robˆo. Al´em de degradar a experiˆencia do usu´ario,

(49)

1.2. Considera¸c˜oes Finais 19

obrigando o robˆo a operar em baixa velocidade, acabar´a por introduzir erros no experimento. Este fato, tamb´em, pode simplesmente inviabilizar a realiza¸c˜ao de determinados experimentos. Outra quest˜ao em aberto diz respeito a pol´ıtica de uso. A plataforma n˜ao contempla um mecanismo que permita a defini¸c˜ao de diferentes pol´ıticas para acesso aos recursos. ´E interes-sante ter esta flexibilidade para definir pol´ıticas de uso sem necessitar altera¸c˜oes de c´odigo no componente que realiza a autoriza¸c˜ao. Este fator facilitaria a provis˜ao de novos experimentos.

1.2

Considera¸c˜

oes Finais

Neste cap´ıtulo foram apresentados os trabalhos relacionados a esta disserta¸c˜ao. Dado a diversidade de trabalhos existentes na literatura, adotou-se os seguintes crit´erios para a escolha: compartilhamento de experimentos atrav´es de federa¸c˜ao, possibilidade de realizar experimentos independentes de dom´ınio, uso de padr˜oes e tecnologias abertas e relevˆancia hist´orica para a ´area. Segundo Guimar˜aes et al. (2011), estes crit´erios s˜ao importantes para serem considerados por institui¸c˜oes que utilizam esta tecnologia no aux´ılio `a atividades de ensino e pesquisa. Com base nestes crit´erios, estudou-se o iLabs, o WebLab-Deusto e o REALabs.

Nos trabalhos escolhidos, focou-se na avalia¸c˜ao da arquitetura geral, no mecanismo utilizado para controle de acesso federado, na pol´ıtica de uso dos recursos e no tratamento do atraso e jitter. O objetivo desta avalia¸c˜ao foi de estudar como cada trabalho trata estas quest˜oes a fim de se obter informa¸c˜oes e pontos de melhoria para o desenvolvimento de nossa proposta. Em especial, verificou-se que a quest˜ao da pol´ıtica de uso em ambos os trabalhos n˜ao ´e flex´ıvel, a ponto de permitir a defini¸c˜ao de diversos modelos. Outra quest˜ao ´e com rela¸c˜ao ao tratamento do atraso e do jitter, que n˜ao ´e tratado tanto no caso do iLabs quanto no REALabs. No caso do WebLab-Deusto, esta quest˜ao n˜ao ´e tratada diretamente. Em Garc´ıa-Zubia et al. (2012), os autores citam experimentos n˜ao gerenciados, onde o laborat´orio oferece uma VM para o desenvolvedor criar um experimento. Este, por´em, n˜ao estar´a automaticamente integrado `a infraestrutura do laborat´orio. A Tab. 1.1 apresenta um resumo destas informa¸c˜oes.

Proposta Arq. Geral Controle de Acesso Pol´ıtica de Uso Atraso e jitter

iLabs Broker Prop. + WS-Security Reserva N˜ao

REALabs Servi¸cos SAML 1.0 Reserva N˜ao

Deusto 3-tier Multipadr˜oes Fila com reserva N˜ao

Tab. 1.1: Resumo dos Trabalhos Correlatos Avaliados.

Por fim, ressalta-se que esta disserta¸c˜ao n˜ao estende a plataforma REALabs. Ao inv´es disso, prop˜oe-se uma nova infraestrutura, baseada nos trabalhos correlatos deste cap´ıtulo. A influˆencia do REALabs neste trabalho ´e relevante, uma vez que a experiˆencia do grupo est´a baseada nos estudos, evolu¸c˜oes e implementa¸c˜oes desta plataforma. No pr´oximo cap´ıtulo apresentam-se os conceitos e tecnologias relevantes que serviram de base para entendimento e escolha das tecnologias.

(50)
(51)

Cap´ıtulo

2

Conceitos e Tecnologias Relevantes

Este cap´ıtulo apresenta os principais conceitos e tecnologias relevantes para este trabalho. O cap´ıtulo ´e composto de trˆes se¸c˜oes. A primeira apresenta uma contextualiza¸c˜ao sobre o conceito de virtualiza¸c˜ao, seus tipos e uma descri¸c˜ao sobre as tecnologias adotadas. A segunda parte apresenta os conceitos e t´ecnicas relacionadas ao tema de IdM. A terceira apresenta os padr˜oes e solu¸c˜oes (middlewares) relacionados ao trabalho.

2.1

Vis˜

ao Geral sobre Virtualiza¸c˜

ao

Em essˆencia, a virtualiza¸c˜ao consiste em imitar um comportamento, seja por extens˜ao ou substitui¸c˜ao de um recurso por outro (CARISSIMI, 2008). A virtualiza¸c˜ao tamb´em ´e definida como um sistema ou um m´etodo de dividir os recursos computacionais em m´ultiplos ambientes isolados (OpenVZ, 2010). O conceito de virtualiza¸c˜ao remonta `a virtualiza¸c˜ao de recursos em SOs. Solu¸c˜oes de alto n´ıvel como interfaces gr´aficas, bibliotecas e APIs s˜ao exemplos de recursos de software que tornam transparente para o usu´ario o acesso aos recursos de hardware, em especial, o acesso aos perif´ericos de entrada e sa´ıda. Ou seja, cria-se a ilus˜ao no SO de que se tem a intera¸c˜ao direta com os recursos de hardware. Diz-se tamb´em que a virtualiza¸c˜ao ´e uma metodologia para dividir os recursos de um computador em m´ultiplos ambientes de execu¸c˜ao conhecidos como m´aquinas virtuais ou VMs, aplicando conceitos de particionamento, time-sharing, simula¸c˜ao completa ou parcial de m´aquina, emula¸c˜ao, QoS, entre outros (CARISSIMI, 2008).

Portanto, a virtualiza¸c˜ao ´e uma t´ecnica para ocultar caracter´ısticas f´ısicas de recursos com-putacionais, de forma que os sistemas, aplica¸c˜oes e usu´arios interajam com esses recursos. Nesta t´ecnica, um ´unico recurso f´ısico, como um servidor, dispositivo de armazenagem ou SO, passa a ser visto como m´ultiplos recursos l´ogicos.

A virtualiza¸c˜ao remonta `as d´ecadas de 60 e 70. Com o uso de VMs era poss´ıvel executar e migrar aplica¸c˜oes legadas entre plataformas distintas, desde que houvesse uma vers˜ao da VM para a plataforma alvo. A principal motiva¸c˜ao era ampliar e melhorar a utiliza¸c˜ao e o compartilhamento de recursos nos mainframes (CARISSIMI, 2008).

Com a redu¸c˜ao do custo de hardware em meados da d´ecada de 80, ocorreu uma mudan¸ca de foco de processamento centralizado em mainframes para o processamento distribu´ıdo em

Referências

Documentos relacionados

Assim, são apresentados os elementos que melhor descrevem este período de estágio - 5 de março a 10 de junho de 2018 -, nomeadamente aqueles que concernem a

Todavia, nos substratos de ambos os solos sem adição de matéria orgânica (Figura 4 A e 5 A), constatou-se a presença do herbicida na maior profundidade da coluna

Determine analiticamente as zonas de funcionamento do transístor ao longo de um período da tensão de entrada e esboce a forma de onda da tensão tirada do

Políticas e Práticas de Educação, Saúde e Enfermagem Processo de Cuidar em Saúde e Enfermagem Qualitativo Saúde da Família Saúde da Criança mazzas@ufpr.br 1 início

CONCLUSÕES GERAIS A injeção dos DLB em pré-semeadura do trigo e do milho em SPD, associada à adição de N-ureia em cobertura, aumenta a emissão anual de N2O, mas não

MELO NETO e FROES (1999, p.81) transcreveram a opinião de um empresário sobre responsabilidade social: “Há algumas décadas, na Europa, expandiu-se seu uso para fins.. sociais,

As contribuições científicas deste trabalho são a otimização e automatização do isolamento dos flavonoides de Glycine max e Dipteryx odorata por cromatografia líquida de

Nos dois capítulos antecedentes, a preocupação foi a de entender como importantes juristas (Manoel Gonçalves Ferreira Filho e Miguel Reale) agiram em prol do golpe