Sei sulla pagina 1di 73

Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos

Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Introduo a Ambientes Colaborativos ca Distribu dos


Rafael Viana Lopes Arajo u
Laboratrio de Sistemas Distribu o dos (LSD) http://www.lsd.deinf.ufma.br

12 de outubro de 2011

Sumrio a
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

1 Fundamentos e princ pios de sistemas distribu dos 2 Conceitos de cooperao s ca ncrona e ass ncrona 3 Controle de Concorrncia em ACDs e 4 Replicao e Controle de Concorrncia em ACDs ca e 5 Proteo de informaes compartilhadas ACDs ca co 6 Referncias e

Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

1 Fundamentos e princ pios de sistemas distribu dos 2 Conceitos de cooperao s ca ncrona e ass ncrona 3 Controle de Concorrncia em ACDs e 4 Replicao e Controle de Concorrncia em ACDs ca e 5 Proteo de informaes compartilhadas ACDs ca co 6 Referncias e

Sistemas Distribu dos


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Muitos dos fundamentos e princ pios de sistemas distribu dos tem um papel central em ACDs Os seguintes fatores contribu ram para o crescimento da importncia dos sistemas distribu a dos: Barateamento dos componentes de hardware Redes com maior largura de banda Mainframes com tempos de resposta lentos e com pouco grau de tolerncia a falhas a Crescimento do nmero de aplicaoes que u c manipulam dados complexos Usurios geogracamente dispersos (aplicaoes a c ACDs)

Denies de Sistemas Distribu co dos


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Um sistema distribu um conjunto de computadores do e independentes que se apresenta a seus usurios como um a sistema unico e coerente[Tanenbaum] so representados por sistemas de computadores que a contm mltiplos processadores conectados atravs de e u e uma rede, onde tais computadores utilizam essa rede para realizar a comunicao entre si atravs de troca de ca e mensagens[Garg]

Caracter sticas de Sistemas Distribu dos I


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Atribuio dinmica de recursos para diferentes ca a linhas de execuo (threads) distribu ca das entre as diversas unidades funcionais do sistema (componentes com hardware, software e processos prprios); o as unidades funcionais so distribu a das e, ao mesmo tempo, ligadas atravs de uma conexo em rede; e a cada uma dessas unidades funcionais possui um sistema operacional local que responsvel por seu e a controle e integrao; ca

Caracter sticas de Sistemas Distribu dos II


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

garantia de sincronizao e consistncia de dados ca e pelos diversos processos das diferentes unidades funcionais que operam sobre eles; autonomia cooperativa durante a interao entre as ca vrias unidades funcionais do sistema; a independncia entre as unidades funcionais; e apresentam um elevado grau de transparncia. e

Transparncia e
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Um sistema distribu que capaz de se apresentar a do e usurios e aplicaes como se fosse apenas um unico a co sistema de computador denominado transparente e [Tanenbaum]

Tipos de transparncia e
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Acesso Concorrncia e Escalabilidade Execuo ca Falha

Linguagem Localizao ca Migrao ca Relocao ca Replicao ca

10

Exemplo
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Exemplo: Transparncia de Acesso e Problema: Como acessar recursos (mquinas ou a servios distribu c dos) em um sistema distribu do? Do ponto de vista do usurio o acesso a recursos locais e a remotos ocorre da mesma maneira.

Consideraes sobre Transparncia co e


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Os tipos de transparncia devem ser cuidadosamente e escolhidos dependendo do tipo de aplicao. ca Exemplo: aplicaoes ACDs. c Devem prover transparncia de acesso e localizao, mas e ca devemos evitar a transparncia de concorrncia na sua e e forma estrita.

Mecanismos para Comunicao ca


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Compartilhamento de informaoes c Troca de mensagens Comunicao Bidirecional ca

Compartilhamento de informaes co
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Gerenciador integrado de informaoes c compartilhadas

Compartilhamento de informaoes com c comunicao direta ca

Troca de mensagens
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

A troca de mensagens ocorre entre um Remetente e um Receptor Estrutura da mensagem: Cabealho c Corpo Operaoes bsicas: c a send( E: receiver, N: message) receive( S: sender, B: buer) Pontos de vista: Viso do Remetente (Senders view ) a Viso do Destinatrio (Receivers view ) a a

Comunicao Bidirecional ca
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Esquema Requisio-Resposta (request-answer ) ca Requisio: nome do servio requisitado ca c juntamente com os parmetros necessrio para sua a a execuo ca Resposta: contem os resultados das operaoes c solicitadas Comunicao entre remetente e receptor inuenciado ca e por: Perca de requisies (mensagens) co Perca de respostas (mensagens) Remetente falha e reiniciado e Receptor falha e reiniciado e

Cliente-Servidor
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Uma questo fundamental em sistemas distribu a dos a e denio de como devemos organizar processos ca Um modelo bastante popular organiza os processos em clientes que requisitam servios de servidores c

Formas de comunicao ca
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Protocolo simples sem conexo a Utilizado em redes conveis (LANs) a Vantagem: ecincia e Desvantagem: diculdades em tornar a aplicao ca resiste a falhas de transmisso a Protocolo convel orientado a conexo a a Desvantagem: Baixo Desempenho Apropriado para WANs Exemplo: Aplicaoes WEB (TCP/IP) c

Distribuio Vertical ca
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Distribuio do modelo Cliente-Servidor em vrios n ca a veis (camadas)

Distribuio Horizontal ca
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Divide-se clientes ou servidores em partes logicamente equivalentes

RPC
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Decorrente da necessidade de obter transparncia de e acesso em sistemas distribu dos (o que no ocorre com o a uso dos procedimentos send e receive); Ideia surgiu a partir de uma artigo escrito por Birrell and Nelson (1982) Esconde o cdigo de chamadas a rede em procedimentos o chamados stubs

Funcionamento RPC
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Implementao RPC ca
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Arquitetura de SDs - Problemas a considerar


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Especicao de uma estrutura adequada para o ca software Mecanismos para resoluo de nomes ca Mecanismos de Comunicao ca Consistncia e Requisitos de usurios a

Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

1 Fundamentos e princ pios de sistemas distribu dos 2 Conceitos de cooperao s ca ncrona e ass ncrona 3 Controle de Concorrncia em ACDs e 4 Replicao e Controle de Concorrncia em ACDs ca e 5 Proteo de informaes compartilhadas ACDs ca co 6 Referncias e

Conceitos de cooperao s ca ncrona e ass ncrona


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Tarefas(Tasks) e Atividades(Activities) que so a executadas como parte de um ACD podem ser interpretadas como um processo Um modelo adequado desse processo pode: aumentar a compreenso do trabalho em grupo a servir de base para especicao de ACDs ca Os Processos de um Grupo (group process) so a a especicao de informaoes, atividades e caracter ca c sticas de uma equipe com algum tipo de suporte eletrnico, o incluindo o contexto utilizado para interaes entre os co seus membros.[Borgho & Schlichter]

Componentes
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Estticos: descrevem os membros do time e o a ambiente para execuo de suas tarefas ca


Objetivos Organizao ca Protocolos Ambiente

Dinmicos: progresso do grupo e seu estado a


Documentos Atividades Sesses o Estado

Modelos I
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Centralizado

Distribu e do no-replicado a

Modelos II
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Distribu e replicado do

Comunicao ca
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

A comunicao de um grupo pode ser estruturados de ca acordo: Tipo de informao: ca


1 2 3

Um-para-um Um-para-muitos Muitos-para-muitos

Direo do uxo de informao ca ca


1 2

Unidirecional Bidirecional

Controle de concorrncia e
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Devido a natureza da troca de informaoes em ACDs, c manter as informaes compartilhadas consistentes co e fundamental Interpretaes de consistncia: co e Estrita Relaxada (Frouxa)

Papis e
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u

So um aspecto importante ao se projetar ACDs a


Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Denem: Estrutura das interaoes entre os membros c Funcionalidades e direitos de acesso sobre documentos compartilhados

Modelo de Cluster
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Consideraoes iniciais: c Mdia de taxa de transmisso entre os ns e a o Conana entre os enlaces c Classicao: ca 1 Conexes diretas (ponto-a-ponto) o 2 Conexes indiretas o

Estratgias para distribuio de unidades e ca de informao ca


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Distribuio de informaoes entre os membros de um ca c time (grupo) Um participante dene uma informao (information ca unit) associada a um grupo Deseja disseminar essa informao entre todos os ca participantes do grupo Ponto-a-Ponto Hierarquia em Cluster Broadcast Flooding Roteamento (Routing )

Estruturas interaes de grupo ass co ncronas


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Membros de um time podem trocar informaoes de de c maneira ass ncrona Criar ou atualizar documentos Modelos gerais para gerenciamento de informaes co distribu das dentro de um grupo: Modelo Linear Modelo de pente (comb) Modelo de ramo (branch)

Gerenciamento de contexto compartilhado


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Em ACDs, importante prover GUIs multiusurio que e a representem objetos compartilhados e o progresso do trabalho em grupo Tambm devem apresentar o contexto compartilhado e de sesses de grupo o Representado por um conjunto de objetos, que so a visualizados e manipulados de maneira conjunta pelos participantes Esses objetos compartilhados denem os espaos de c trabalho compartilhados shared workspaces Em ACDs, s ncronosignica que os usurios cooperam a de maneira simultnea e tem cincia disso a e

Caracter sticas de aplicaes ACDs co


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Tempos de resposta curtos Tempos de noticaes curtos co Flexibilidade de sesses de grupo o Conitos de acesso Interaoes espontneas c a Processos em grupos so distribu a dos (geralmente) Canais de comunicao externos ca

WYSIWIS
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

What You See Is What I See Consistncia em apresentar as informaes e co compartilhadas entre todos os participantes Formas Estrita Relaxada (Ideal em ACDs)

Arquiteturas de aplicaoes em ACDs c


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Aplicaoes: c Com cincia de colaborao e ca Sem cincia de colaborao e ca Arquitetura: Centralizada Replicada

Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

1 Fundamentos e princ pios de sistemas distribu dos 2 Conceitos de cooperao s ca ncrona e ass ncrona 3 Controle de Concorrncia em ACDs e 4 Replicao e Controle de Concorrncia em ACDs ca e 5 Proteo de informaes compartilhadas ACDs ca co 6 Referncias e

Controle de Concorrncia em ACDs e


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

ACDs necessitam controle de concorrncia para manter e as informaoes consistentes c Conceito de consistncia deve ser redenido e Poucas restrioes de consistncia permitem que vrios c e a usurios realizem modicaes em um grupo de a co documentos Uma vez que uma modicao seja feita ela deve ser ca imediatamente propagada para todos os outros usurios a Protocolos especiais de concorrncia e Necessidade de replicao de documentos compartilhados ca

Particionamento
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Particionamento: Uma rede de computadores e considerada particionada se ela possui dois mais conjuntos diferentes s tios (computadores) com as seguintes caracter sticas: S tios de diferentes conjuntos no podem a comunicar-se diretamente uns com os outros Cada um desses conjuntos chamado de partio e ca Causadas por interrupoes na comunicao ou falhas de c ca componentes

Abordagens para controle de concorrncia e


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Otimistas Pessimista (ideal para ACDs)

Figura: Abordagens - Viso Geral a

Controle de concorrncia otimista e


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Aplica as modicaoes no menor tempo poss c vel Permite que vrios usurios modiquem diferentes ns ao a a o mesmo tempo Muitos Conitos

Controle de concorrncia Pessimista e


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Documentos so compostos de ns e links a o No permite que as modicaes solicitadas sejam a co efetivadas sem a certeza de que estaro sendo em todos a os ns em funcionamento o O contedo desses documentos est distribu u a dos atravs e dos vrios ns a o Divido em: Centralizado Descentralizado

Controle de concorrncia Centralizado I e


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Unidade de Controle Serializao e sincronizao de todas as operaoes ca ca c de escrita Apenas um unico s o principal tio e responsvelpor um arquivo a Fcil de implementar a Representa um ponto de gargalo No ideal para ACDs a e

Controle de concorrncia Centralizado II e


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Token-passing Introduz a ideia de um token que viaja pela rede entre os s tios que mantem as rplicas e Um token para cara arquivo replicado O s que est com o token tem funoes de tio a c sincronizao e serializao de acesso a todas as ca ca replicas dentro de um dom nio Problemas como a perca do token ou falha de comunicao entre os s ca tios

Controle de concorrncia descentralizado I e


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Locking Esforo adicional para conseguir e obter um lock. c Caso no seja poss obt-lo imediatamente, a vel e ocorrer um tempo de espera a A granularidade do lock o fator principal que e inuenciar no grau de concorrncia desejvel a e a As condies para iniciar um pedido de lock devem co ser identicadas

Controle de concorrncia descentralizado II e


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Mtodo oor-passing e Alterna as permisses de acesso entre os o participantes de um grupo Pode ser:
1 2 3

Explicito Impl cito com uma unidade coordenadora Impl cito com coordenador distribu do

Controle de concorrncia descentralizado e III


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Transaes co Aplicveis em situaoes onde transaoes so a c c a extremamente curtas e conitos entre operaoes c concorrentes podem ser resolvidas de maneira rpida a Geralmente so combinadas com algum tipo de a controle de concorrncia otimista e Utilizadas para comunicao ass ca ncrona entre membros de um grupo em ACDs

Operaes de Transformao co ca
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Sincronizam o acesso a pequenas unidades (pequenas palavras ou caracteres) Utilizados ACDs onde necessrio um forte acoplamento e a Quaisquer modicaes so propagadas imediatamente co a dentro do group Segue o princ WYSIWIS pio Serializao estrita de operaes abandonada em favor ca co e de um controle de concorrncia um pouco mais e otimista

Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

1 Fundamentos e princ pios de sistemas distribu dos 2 Conceitos de cooperao s ca ncrona e ass ncrona 3 Controle de Concorrncia em ACDs e 4 Replicao e Controle de Concorrncia em ACDs ca e 5 Proteo de informaes compartilhadas ACDs ca co 6 Referncias e

Replicao e Controle de Concorrncia em ca e ACDs


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Replicao de dados compartilhados em grupos podem ca reduzir a performance de aplicaes em ACDs co Outro fator que implica na performance de tais aplicaoes c o n de granularidades dos dados compartilhados e vel N de granularidade tambm afeta o trfego de vel e a mensagens na rede Blocos de dados: partesde um documento compartilhado (ou o documento inteiro)

Granularidade Fina X Grossa


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Probabilidade de conitos entre locks Nmero de locks que Baixo u devem ser adquiridos Esforo para adminis- Baixo c trao ca Paralelismo Alto

Granularidade Grossa Alto

Granularidade Fina Baixo Alto Alto Baixo

Problemas replicao em ACDs ca


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Esforo adicional de programao para prover c ca transparncia de replicao e ca Consistncia mtua entre todas as rplicas f e u e sicas e lgicas um requisito o e Fatores f sicos, como a latncia da rede, pode afetar e o processo de troca de mensagens durante o processo de consistncia de rplicas e e

Consideraes sobre o estado de Blocos de co Dados


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

locks so realizados no n de blocos de dados a vel f sicos Ler um bloco de dados pro qualquer outro tipo be de acesso concorrente (seja de leitura ou escrita) Ao gravar em um block de dados, proibido acesso e concorrente para escrita, mas permitido leitura e Acesso a blocos de dados diferentes pode ocorrer de forma paralela Todo bloco de dados possui um nmero de verso u a

Mtodo de Votao e ca
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Proposto inicialmente por Thomas (1979) A ideia bsica exigir que clientes requisitem e adquiram a e a permisso de vrios servidores antes de ler ou escrever a a em um item de dados replicado. H uma troca de disponibilidade (das modicaes) por a co conabilidade (garantia da consistncia da base de e dados) Ideal para granularidade grosseria (coarse) de acesso

Exemplo - atualizar um arquivo


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Suponha que um arquivo replicado em N servidores e Para atualizar um arquivo, um cliente deve: 1 contatar no m nimo a metades dos servidores mais um (N/2 + 1) 2 conseguir que eles concordem em fazer uma atualizao ca 3 Caso concordem, o arquivo alterado e 4 Um novo nmero de verso associado com o novo u a e arquivo

Exemplo - ler um arquivo


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u

1
Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

contatar no m nimo a metades dos servidores mais um (N/2 + 1) Solicitar o envio dos nmeros de verses dos u o arquivos associados com o arquivo Se todos os nmeros de verso forem iguais, essa u a deve ser a verso mais recente a

Votum e Quorum
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Giord (1979) generalizou o esquema proposto por Thomas (1979) Votum: a soma de votos de um conjunto de ns que o esto ativos na rede naquele momento. O votum bem a e sucedido quando esta soma de votos superior a um e limite m nimo, chamado quorum. Quorum: limite m nimos de ns necessrio para realizar o a um bloqueio bem sucedido nas rplicas de um recurso e

Esquemas de Votao ca
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

majority consensus Weighted voting Write-all-read-any Voting with witnesses Available-copy Dynamic Voting Voting-Class Hierarchical Voting

Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

1 Fundamentos e princ pios de sistemas distribu dos 2 Conceitos de cooperao s ca ncrona e ass ncrona 3 Controle de Concorrncia em ACDs e 4 Replicao e Controle de Concorrncia em ACDs ca e 5 Proteo de informaes compartilhadas ACDs ca co 6 Referncias e

Proteo de informaes compartilhadas ca co ACDs I


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Com o surgimento de ACDs vieram novos desaos na rea de segurana a c Dados que devem ser compartilhados entre muitos usurios a Requisitos bsicos de segurana presentes: a c Integridade Disponibilidade Condencialidade

Proteo de informaes compartilhadas ca co ACDs II


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Mecanismos de proteo j existentes so inadequados ca a a para ACDs Necessidade de novos mecanismo de proteo que ca serviram como suporte para pol ticas de segurana nesses c ambientes (ACDs) Variam de acordo com: Aspectos de Gesto (grupos, internos ou externos a a organizao) ca Ambiente de Implantao (intranet ou Internet) ca

Pol ticas de Segurana em ACDs c


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u

1
Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

2 3 4 5 6

Separao de responsabilidades ca Chinese Wall Condencialidade e Privacidade Sens veis ao Contexto Coordenao ca Meta-n Administrativo vel

Atributos de Pol ticas de Segurana em c ACDs


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

1 2 3 4 5

Coordenadores discretos Credencias de curto prazo Controle de acesso de granularidade na Controle de acesso sens ao contexto vel Privacidade com cincia de presena e c

Modelos de Segurana em ACDs I c


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Pol ticas de Segurana geralmente so baseadas em um c a Modelo de segurana c Representa um conjunto particular de pol ticas Desenvolvidos com base em requisitos de segurana de c uma aplicao em particular ca Devem ter as seguintes preocupaes: co 1 Ser expressivo para especicar uma ampla gama de pol ticas de segurana c 2 Capacidade de gerenciamento das pol ticas de segurana deve ser uma das mais importantes c preocupaoes c

Modelos de Segurana em ACDs II c


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Ser capaz de garantir que as restrioes especicadas c no violem as propriedades de segurana a c (condencialidade e autorizao) ca Requisitos conitantes ou inconsistentes devem ser especicados

Muitos dos modelos de segurana para ACDs no c a suportam todas as propriedades de segurana citadas c anteriormente Uma metodologia para especicao de pol ca ticas de segurana para resoluo de conitos faz-se obrigatrio c ca o em ACDs

Controle de acesso baseado em Papis e


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

No ligado a nenhum modelo de pol a e tica espec co Diferentes interpretaoes dependendo do dom da c nio aplicao (gerenciamento de redes, sistemas distribu ca dos ou ACDs) Trs tipos de entidades principais: e Usurio (User ) a Papel (Role) Permisso (Permission) a

Controle de acesso baseado em Papis e Viso Geral a


Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

1 Fundamentos e princ pios de sistemas distribu dos 2 Conceitos de cooperao s ca ncrona e ass ncrona 3 Controle de Concorrncia em ACDs e 4 Replicao e Controle de Concorrncia em ACDs ca e 5 Proteo de informaes compartilhadas ACDs ca co 6 Referncias e

Referncias I e
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

ANDREWS, Gregory R. Concurrent Programming: Principles and Practice. Addison Wesley, 1991. BORGHOFF, Uwe M, & J H SCHLICHTER. Computer-Supported Cooperative Work: Introduction to Distributed Applications. Springer-Verlag New York, Inc., 2000. Print. GARG, Vijay K. Elements of Distributed Computing. Wiley-IEEE Press, 2002.

Referncias II e
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

TANENBAUM, A. S. and STEEN, M. V. Sistemas Distribu dos: princ pios e paradigmas. 2. ed. So a Paulo: Pearson Prentice Hall, 2007. CITRO, S 2007, A framework for real time collaborative editing in a mobile replicated architecture, PhD Thesis, School of Computer Science and Information Technology, RMIT University.

Referncias III e
Introduo a ca Ambientes Colaborativos Distribu dos Rafael Viana Lopes Arajo u Fundamentos e princ pios de sistemas distribu dos Conceitos de cooperao ca s ncrona e ass ncrona Controle de Concorrncia em e ACDs Replicao e ca Controle de Concorrncia em e ACDs Proteo de ca informaes co compartilhadas

GERLICHER, Ansgar Robert S. Developing Collaborative XML Editing Systems. 2007. Tese (Doutorado em Computao) -London College of ca Communication, University of the Arts London, Londres, Reino-Unido, 2007; KAFEZA, I.; KAFEZA, E.; COUTRAS, C.; , Legal issues in grid collaborative environments,Collaborative Computing: Networking, Applications and Worksharing, 2007. CollaborateCom 2007. International Conference on , vol., no., pp.72-77, 12-15 Nov. 2007.