realização de um serviço de grupos ligeiros para a plataforma de comunicação em grupo ensemble1...

24
Realização de um Serviço de Grupos Ligeiros para a Pla 1 "Realização De Um Serviço De Grupos Ligeiros Para a "Realização De Um Serviço De Grupos Ligeiros Para a Plataforma De Plataforma De Comunicação Em Grupo ENSEMBLE" Comunicação Em Grupo ENSEMBLE" Hugo Miranda, Francisco Costa e Luís Rodrigues

Upload: internet

Post on 18-Apr-2015

110 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 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

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

Page 2: 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

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

Page 3: 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

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

Page 4: 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

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

Page 5: 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

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$

Page 6: 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

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

Page 7: 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

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

Page 8: 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

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

Page 9: 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

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

Page 10: 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

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

Page 11: 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

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:

Page 12: 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

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

Page 13: 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

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)

Page 14: 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

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

Page 15: 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

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

Page 16: 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

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

Page 17: 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

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)

Page 18: 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

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

Page 19: 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

Realização de um Serviço de Grupos Ligeiros para a Plataforma de Comunicação em Grupo ENSEMBLE

19

EstruturaEstruturaEnsemble

Page 20: 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

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

Page 21: 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

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

Page 22: 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

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)

Page 23: 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

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

Page 24: 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

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