Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE1...
Transcript of Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE1...
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
1
"Realização De Um Serviço De Grupos Ligeiros Para a "Realização De Um Serviço De Grupos Ligeiros Para a Plataforma DePlataforma De
Comunicação Em Grupo ENSEMBLE"Comunicação Em Grupo ENSEMBLE"
Hugo Miranda, Francisco Costa e Luís Rodrigues
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
2
PlanoPlano
1. Motivação
2. Comunicação em grupo
3. Serviços de grupos ligeiros
4. Ensemble
5. Concretização
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
3
MotivaçãoMotivação
SLO: Servidor De Leilões On-lineSLO: Servidor De Leilões On-line
Proporcionar às empresas de leilões uma ferramenta que lhes permita leiloar em tempo-real os seus
produtos, mantendo o modelo de interacção com os clientes que as caracteriza.
Objectivo
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
4
MotivaçãoMotivação
SLO: ConcretizaçãoSLO: Concretização
Leiloeiro: coordena um ou mais leilões
Cliente: acompanha o desenrolar do leilão de um ou mais
produtos, podendo fazer licitações
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
5
MotivaçãoMotivação
SLO: InteracçõesSLO: Interacções
Cliente
Cliente
ClienteLeiloeiro
400$
500$
400$
500$
400$
500$
400$
500$
400$
500$
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
6
MotivaçãoMotivação
SLO: RequisitosSLO: Requisitos Comunicação em grupo: todos os clientes devem receber
todas as licitações
Satisfação da propriedade de ordem total: as licitações
devem ser entregues a todos os clientes na mesma ordem
Tolerância a faltas: faltas de clientes não devem prejudicar
o decorrer do leilão
Utilização de suporte de comunicações adequado
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
7
Serviços De Comunicação Em Serviços De Comunicação Em GrupoGrupo
Serviços que abstraem a comunicação em grupo do programador.
Aplicação
Plataforma de comunicação em grupo
API de rede
Exemplos: xAMP, Isis, Horus, Ensemble
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
8
Serviços De Comunicação Em GrupoServiços De Comunicação Em Grupo
VantagensVantagens
Facilidade de programação
enviopt2pt, enviogrupo, receber, junção, abandono
Informação sobre membros activos
Propriedades imbutidas na plataforma
ordem total, ordem causal, fifo, ...
Detecção automática de falhas de membros
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
9
Aplicação a SLOAplicação a SLO
um produto um grupo
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
10
Produto 1Produto 1
Serviço De Grupos LigeirosServiço De Grupos Ligeiros
Estrutura De GruposEstrutura De Grupos
Cliente
Cliente
ClienteLeiloeiro
Produto 2
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
11
Serviço De Grupos LigeirosServiço De Grupos Ligeiros
Estrutura De GruposEstrutura De Grupos
A plataforma de comunicação em grupo gere independentemente cada um dos grupos
O consumo de recursos multiplica-se desnecessariamente pois grande
parte dos processos subscreve os mesmos grupos
Observação:
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
12
Serviço De Grupos LigeirosServiço De Grupos Ligeiros
Grupos LigeirosGrupos Ligeiros
Reunião de diversos grupos de nível de
aplicação (grupos ligeiros) num grupo da
plataforma (grupo pesado), de forma
transparente para a aplicação
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
13
SLO: Grupos LigeirosSLO: Grupos Ligeiros
Produto 1Produto 1(grupo ligeiro)(grupo ligeiro)
Cliente
Cliente
ClienteLeiloeiro
Grupo pesado
Produto 2(grupo ligeiro)
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
14
Serviço De Grupos LigeirosServiço De Grupos Ligeiros
Grupos LigeirosGrupos Ligeiros
Vantagens
Transparência para a aplicação assegura a reutilização do
código já existente
Eliminação de um factor adicional de complexidade na
programação
Consumo de recursos diminuído: a plataforma tem que
gerir um menor número de grupos
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
15
Serviço De Grupos LigeirosServiço De Grupos Ligeiros
Grupos LigeirosGrupos LigeirosPotencial desvantagem
grupo ligeirogrupo ligeiro
M2M1
M4M3
Grupo pesado
grupo ligeiro
Solução: concretização de heurísticas que realizem projecções adequadas
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
16
ConcretizaçãoConcretizaçãoEscolha da plataforma
Flexível: desenhada de forma a receber novos serviços,
concretizados externamente.
Com implantação no meio científico e comercial: para
assegurar o interesse da concretização
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
17
O EnsembleO Ensemble
Desenvolvido na Universidade de Cornell
Baixa latência: foi adoptado como suporte a outros projectos em
diversas instituições
Desenvolvido numa linguagem funcional: Objective Caml
(OCaml)
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
18
O EnsembleO Ensemble
EstruturaEstrutura
Arquitectura de camadas que quando combinadas oferecem
propriedades
A aplicação interage com o serviço através de interfaces
disponibilizados pelas camadas
Camada Appl: oferece o interface para envio e recepção de
mensagens
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
19
EstruturaEstruturaEnsemble
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
20
O EnsembleO Ensemble
EstruturaEstrutura
Muito flexível: criação de camadas é feita a partir de um
interface bem definido
Não dispõe de Serviço de Grupos Ligeiros. Para cada grupo
subscrito é criada uma pilha independente
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
21
Modelo PrevistoModelo Previsto
Concretizar o serviço como uma camada da plataforma
Impossibilidade
O núcleo de gestão das camadas não suporta a bifurcação da pilha
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
22
ConcretizaçãoConcretização
Alternativa
Instalar o serviço na zona de interface de envio e recepção de mensagens (camada Appl)
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
23
ConcretizaçãoConcretizaçãoTransparência:
O interface do serviço é composto com os restantes, graças à
composição de funções do paradigma funcional, assegurando à
aplicação a utilização de todas as facilidades de que anteriormente
dispunha.
A utilização do serviço implica apenas a alteração de duas
funções na sequência usual de criação da pilha pela plataforma
Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE
24
Conclusões E Trabalho FuturoConclusões E Trabalho Futuro Um Serviço de Grupos Ligeiros é vantajoso como
complemento opcional às plataformas de comunicação em grupo
Foi possível a concretização do serviço, no Ensemble, ao nível
da interface.
Trabalho futuro
Optimização do serviço: diminuição da interferência
Estudo da possibilidade de suporte do Ensemble à bifurcação
de pilhas