1
MAC 5743 - Computação Móvel
Agentes de software para Computação Móvel
Aluno: Eduardo Leal [email protected]
2
Introdução
Computação Móvel: Limitações de largura de banda Desconexões intermitentes Limitações de recursos Implica em variância na disponibilidade de
comunicação e recursos computacionaisNecessidade de Adaptação!=> Interesse em Agentes de Software
3
Roteiro
Conceitos sobre agentes
Agentes na computação móvel Arquiteturas de Software para Computação Móvel Paradigmas de Comunicação Novas Arquiteturas
Middlewares baseados em agentes
Conclusão
4
Agentes
“…everything that can be viewed as perceiving its environment through sensors and acting upon that environment through effectors” – Russell & Norvig
environment agent
effectors
sensorspercepts
actions
5
Agentes
Características: Autonomia: execução desacoplada Reatividade: responder a eventos do ambiente Sociabilidade: interação entre agentes Mobilidade: troca de computador hospedeiro
6
Agentes
Agentes Móveis: Programas (código + dados + estado (thread)) que podem
migrar de um computador a outro para execução Autonomia: podem migrar sem a intervenção do usuário Adaptativo: colaboram com outros agentes ou com o
ambiente Requer um ambiente de execução
7
Agentes na Computação Móvel
Vantagens: Assincronismo Adaptação Configuração Dinâmica
Problemas: Desempenho e escalabilidade Portabilidade e padronização Segurança
8
Agentes na Computação Móvel
Como são usados ? Modelo Computacional Paradigma de Comunicação
Em que são usados ? Middlewares para Adaptação e Aplicações Objetivos: gerenciamento de serviços,
recuperação de informação distribuída, distribuição de multimídia, etc.
9
Arquiteturas para Computação Móvel
Relembrando … Cliente/Proxy/Servidor Cliente/Interceptador/Servidor Peer-to-Peer Baseada em Agente Móveis
10
Arquiteturas para Computação Móvel
Modelo Cliente/Proxy/Servidor
UM
Cliente Proxy Servidor
Interface sem fio
Rede Fixa
Conversão/tradução de msgs, bufferização, compactação Adequado para clientes magros
11
Arquiteturas para Computação Móvel
Modelo Cliente/ Interceptador /Servidor
UM
AgenteCliente
Agente Servidor
Servidor
Interface sem fio
Rede Fixa
Suporte à desconexão Adequado para clientes gordos
Cliente
12
Arquiteturas para Computação Móvel
Modelo Peer-to-Peer
Adequado para aplicações P2P
UM
Proxy ProxyAplicaçã
o
Interface sem fio
Aplicação
UM
13
Arquiteturas para Computação Móvel
Baseada em Agentes Móveis
Migração de funcionalidade Execução de operações demoradas na rede fixa
UM
Agente Agente Servidor
Interface sem fio
Rede Fixa
Cliente
14
Paradigmas de Comunicação
Client-Server Remote Evaluation Agentes Móveis
15
Paradigmas de Comunicação
Cliente-Servidor Joãozinho quer fazer um bolo de chocolate:
Ele não sabe a receita Ele não tem os ingredientes nem o forno
Joãozinho sabe que Mariazinha: Sabe a receita Tem uma cozinha equipada
Joãozinho pede à Mariazinha: “Você pode me fazer um bolo de chocolate ?”
Mariazinha faz o bolo e entrega ao Joãozinho
16
Paradigmas de Comunicação
Remote Evaluation Joãozinho quer fazer um bolo de chocolate:
Ele sabe a receita Ele não tem os ingredientes nem o forno
Joãozinho sabe que Mariazinha: Não sabe a receita Tem uma cozinha equipada
Joãozinho pede à Mariazinha: “Você pode me fazer um bolo de chocolate ? Aqui está a
receita” Mariazinha faz o bolo e entrega ao Joãozinho
17
Paradigmas de Comunicação
Agentes Móveis Joãozinho quer fazer um bolo de chocolate:
Ele sabe a receita e tem os ingredientes Ele não nem o forno
Joãozinho sabe que Mariazinha: Tem um forno
Joãozinho pode: preparar a massa Ir à casa de Mariazinha Cozinha o bolo
18
Novas Arquiteturas
[Spyrou, Pitoura & Evrpidou 2004] propõem o uso do paradigma de comunicação baseado em Agentes Móveis nas arquiteturas já existentes: Cliente/Proxy/Servidor Cliente/Interceptador/Servidor
Propõem também que o modelo baseado em agentes não é ortogonal aos modelos “tradicionais”
19
Novas Arquiteturas
Vantagens Configuração Dinâmica Flexibilidade
Desvantagens Em certas situações, aumento no tráfego da rede
20
Middlewares baseados em Agentes
SOMA MAP MONADS
21
SOMA: Secure and Open Mobile Agents
3 Serviços para suporte à mobilidade: Ambiente virtual do usuário: mantém o perfil
do usuário levando em conta a mobilidade (agentes: distribuição dinâmica da informação)
Terminal virtual móvel: mobilidade dos dispositivos (agentes: rebind de recursos/serviços e operações desconectadas)
Gerente de recursos virtuais: facilita o acesso aos recursos do sistema (agentes: migração de recursos e serviços)
22
SOMA
23
MAP – Mobile Agent Platform
plataforma para desenvolvimento e gerência de agentes móveis
suporte posterior a usuários nomades monitoramento de usuários conectados por
região através de um gerenciador (Lookup Server)
24
MAP
25
Monads
foco na adaptação utilizando agentes móveis e inteligentes
suporte à protocolos padrões: IIOP, SNMP, HTTP
Objetivos: melhorar a eficiência de aplicações de rede otimizar o estabelecimento, configuração e
manutenção das conexões sem fio
26
Monads
adaptability adaptability
adaptability
co-operation
TerminalTerminal ServicesServices
Communications InfrastructureCommunications Infrastructure
Data Communication Agent
User Interface
Agent
Service Agent
Service Agent
User Interface
Agent
27
Conclusões
O uso de agentes na solução de alguns desafios da computação móvel apresenta um potencial considerável
Podemos “ver” agentes não só como modelo computacional, mas também como paradigma de comunicação
Os modelos “tradicionais” de computação móvel não são ortogonais ao modelo de agentes móveis
28
Conclusões
Agentes não resolvem todos os problemas, e nem sempre é a melhor solução
O uso de agentes não se restringe apenas aos middlewares