artigo 1 babylon v2.0 - middleware for distributed, parallel, and mobile java applications 11th...

27
Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS 2006), April, 2006.

Upload: lucas-da-conceicao-desconhecida

Post on 07-Apr-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Artigo 1

Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications

11th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS 2006), April, 2006.

Page 2: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Resumo Babylon v2.0 é na verdade uma coleção de ferramentas e serviços

(100% compatível com Java) para desenvolvimento e de sistemas paralelos, distribuídos e móveis.

Entre alguns dos recursos estão: migração de objetos, chamadas de métodos de forma assíncrona, carga de classes remotas e I/O remoto. E ainda, segundo o artigo, uma interface simples.

O middleware ainda permite que aplicações Java criem e interajam com objetos remotos enquanto protege estes de outras aplicações através de restrições e diferentes namespaces.

O artigo discute os principais recursos do Babylon, usando como exemplo um sistema de difusão de calor.

Page 3: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Resumo Apesar de Java e RMI terem alguns recursos para programação

distribuída, não implementam vários recursos importantes para este tipo sistema.

Babylon supera essa limitação, fornecendo classes e interfaces Java para criação, interação e administração de objetos remotos.

– Proxy Dinâmico para tornar o acesso remoto transparente.– Chama de métodos assíncrona, baseada em tickets assíncronos. Usando

esta técnica, as chamadas são, sintaticamente, iguais às chamadas locais (embora executadas de forma assíncrona).

– Duas formas de criação de objetos remotos: criação de um novo objeto remoto, baseado somente no nome da classe; ou usar um objeto local e torná-lo remoto.

Totalmente independente de plataforma.

Page 4: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Conclusão Segundo o autor os resultados de

performance são animadores e indicam que uma aplicação pode usar o middleware para distribuir objetos através de várias máquinas para execução eficiente em paralelo.

Os experimento usados mostraram alguns ganhos em sistemas simples “mestre-escravo” (multiplicação de matrizes) e mesmo para sistemas de comunicação intensa (difusão de calor).

Page 5: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Avaliação

Parece bastante interessante o middleware, tendo como principal vantagem a concentração de vários recursos avançados de programação paralela e distribuída num único conjunto de fácil uso.

Não apresenta novidades quanto a recursos.

Page 6: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Artigo 2Exploiting Dynamic Proxies in Middleware for Distributed, Parallel, and Mobile Java Applications

8th International Workshop on Java for Parallel and Distributed Computing (JAVAPDC 2006), April, 2006.

Page 7: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Resumo O artigo mostra como o middleware Babylon v2.0 explora proxys

dinâmicos para implementar vários recursos sem nenhuma necessidade de linguagem especial, extensão da JVM, pré-processadores ou compiladores.

Os programas gerados são totalmente independentes de plataforma e o processo de desenvolvimento é simplificado removendo a necessidade de compiladores stub externos, etc. Isso ainda permite a criação de objetos remotos de qualquer classe que suporte uma interface para tais métodos, mesmo que o código fonte não esteja disponível.

Uma importante contribuição é a redução dos requisitos para uma classe produzir objetos remotos. Babylon só precisa que a classe implemente uma interface exportando os métodos do cliente e que seja serializável.

Page 8: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Resumo

Criação sem Proxy Dinâmico– Métodos Fábrica (+ simples – sutb, servidor)– Objetos Ativáveis (+ no server – mais passos)

Não existe conversão de objeto local para remoto. Criação com Proxy Dinâmico

– Babylon.remoteNew() – criação de objetos– Babylon.export() – conversão de objetos

As duas formas acima retornam um proxy, para que as chamadas aos novos objetos remotos sejam transparentes.

Page 9: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Conclusão

Segundo o autor, um dos maiores ganhos com o uso de Proxys dinâmicos é a redução de requisitos para criar objetos remotos.

As classes só precisam implementar alguma interface que exporta métodos, e que esta seja serializável.

Isso abre a possibilidade de criar objetos remotos de classes que não se tem o código fonte (o que não é possível com RMI).

Page 10: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Avaliação

Mostra as vantagens da técnica de proxys dinâmicos e como aproveitar isso para produzir programas distribuídos de forma mais organizada e eficiente.

Explora muito bem as diferenças entre o uso ou não dessa técnica.

Não traz novidades.

Page 11: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Artigo 3

Implementing location based information/advertising for existing mobile phone users in indoor/urban environments

Mobile Business, 2005. ICMB 2005. International Conference on11-13 July 2005

Page 12: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Resumo Com o m-comércio o potencial de uso para sistemas baseados em localização

são grande, contudo as formas de se obter esta localização são baseadas na necessidade software ou hardware adicionais. E estas técnicas ainda são insuficientes para localizaçao em ambientes fechados e urbanas, devido à precisão na localização.

• Assim o artigo discute uma forma de usar o bluetooth de “qualquer” celular para sistemas de localização e inclusive para propagandas personalizadas.

Page 13: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Resumo

Sistemas “comuns” de localização com boa precisão: EOTD, e GPS ou Assisted-GPS.

Page 14: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Resumo

Para o sistema baseado em bluetooth, usa-se a localização baseado nos dongles fixos.

Estes usam OBEX para envio de dados entre os dispositivos.

Tem como base que produtos com bluetooth vão ter um aumento de vendas de 60% entre 2003 e 2008 (segundo InStat, Market Alert, 2004, http://www.instat.com).

Page 15: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Conclusão

Propõe um sistema interessante para troca de mensagens de uso comercial.

Mostra a fraqueza do sistema para lidar com flood e spams.

Localização externa e interna com uso da tecnologia.

Trabalho relacionado: Mobiluck.

Page 16: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Avaliação

Propostas interessantes, mas ainda precisa de mais amadurecimento do trabalho; e para o Brasil, ainda se mostra um pouco longe da realidade.

Sistema de segurança quanto a privacidade um tanto que falho.

Page 17: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Artigo 4

Exploring the potential of mobile phones for active learning in the classroom

38th SIGCSE technical symposium on Computer science education Covington, Kentucky, USA, 2007

Page 18: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Resumo

Aborda o uso de celulares como ferramenta de ensino ativo; já que é um acessório quase que unânime entre os alunos.

Aborda o uso dos aparelhos para envio de soluções de exercícios em texto ou foto-mensagens.

Propõe o uso deste recurso, principalmente, em salas de aula com número muito grande de alunos.

Avalia outras alternativas como notebooks, PDA’s, entre outros aparelhos.

Page 19: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Resumo Analisa vários tipos de exercícios

que podem ser usados no celular através de SMS e MMS, levando em conta a facilidade e o aproveitamento que pode ser obtido.

Necessário um registro inicial para cadastrar a classe.

Exemplos de exercícios usados: múltipla escolha, resposta curta, matemática, programação e diagramas.

O estudante mais rápido levou menos de 1 minuto para vários problemas, uns pouco em pouco mais de 1 minuto e somente o exercício de programação em 3 minutos.

E uma análise mostrou que a maioria não usa o recurso de auto-completar dos celulares (T9).

Page 20: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Conclusão

O artigo ressalta o potencial no uso de celulares para uso em sala de aula como ferramenta auxiliar no ensino.

Mostra o trabalho feito na Universidade da Califórnia, San Diego.

Leva em conta a adaptação que os professores devem ter em função de poder aproveitar o novo recurso de forma satisfatória.

Avalia a aceitação, na maioria positiva, dos alunos; mesmo levando em conta os custos.

Page 21: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Avaliação

Trabalho interessante, mas ainda um pouco “rudimentar”.

Projeto piloto pareceu transcorrer satisfatoriamente.

Provavelmente pode evoluir com o uso de softwares embutidos nos celulares, etc.

Page 22: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Artigo 5

Challenges in peer-to-peer gaming

ACM SIGCOMM Computer Communication Review archive Volume 37 , Issue 1 (January 2007) Pages: 79 - 82

Page 23: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Resumo Avalia a possibilidade de transferir parte da gerência de jogos online, para os

clientes (formando uma rede P2P).

Apesar da fácil administração do jogo, a forma centralizada tem muitos problemas:

– Servidores têm de ser testados, operarador e mantidos localmente;– Não são escaláveis, e devem ser dimensionados de acordo com o número máximo

de jogadores esperador;– Ponto central de falhas;– ...

Analisa os efeitos do mesmo jogo numa rede P2P em relação aos seguintes pontos:

– Gerenciamento do estado do jogo;– Delay;– Escalabilidade;– Trapaça!

Page 24: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Resumo Avalia a possibilidade de transferir parte da gerência de jogos online, para os

clientes (formando uma rede P2P).

Apesar da fácil administração do jogo, a forma centralizada tem muitos problemas:

– Servidores têm de ser testados, operarador e mantidos localmente;– Não são escaláveis, e devem ser dimensionados de acordo com o número máximo

de jogadores esperador;– Ponto central de falhas;– ...

Analisa os efeitos do mesmo jogo numa rede P2P em relação aos seguintes pontos:

– Gerenciamento do estado do jogo;– Delay;– Escalabilidade;– Trapaça!

Page 25: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Conclusão O autor mostra que apesar do uso efetivo de redes P2P para vários

outros tipos de sistemas com muitos usuários, ainda é preciso muito trabalho para que se possa aplicar tal técnica em jogos online.

O autor ainda identifica dois principais eixos de pesquisa: novos sistemas de gerência para suprir os problemas de delay e manter a consistência de estado do jogo; e como proteger o sistema de forma efetiva contra trapaças.

Em resumo, o desafio principal parece ser como administrar o overlay, já que existem muitos parâmetros possíveis, isso torna o problema de otimização provavelmente um NP-difícil.

Page 26: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Avaliação

Analisa os aspectos envolvidos no novo paradigma que seria o uso de redes P2P para jogos online, contudo sem apresentar nada efetivo.

Analisa de forma bem teórica o assunto, mas de fácil entendimento.

Page 27: Artigo 1 Babylon v2.0 - Middleware for Distributed, Parallel, and Mobile Java Applications 11th International Workshop on High- Level Parallel Programming

Estatística Artigo 1 Artigo 2 Artigo 3 Artigo 4 Artigo 5

Concorrência 1 1      

Sincronização         1

Comunicação         1

Herança          

Interoperabilidade          

Desempenho 1 1      

Grade 1        

Comunicação em grupo       1 1

Transações         1

Persistência          

Localização     1    

Linguagens          

Bibliotecas 1 1      

Web          

WebServices          

Aspectos          

Agentes 1 1      

Ubíqua     1 1  

Móvel     1 1  

Tolerância a Falhas         1

TOTAL 5 4 3 3 5