Mobilidade Cláudia Ribeiro. - ppt carregar
PublicouEmily Samudio Alterado mais de 4 anos atrás
Apresentação em tema: "Mobilidade Cláudia Ribeiro."— Transcrição da apresentação:
1 Mobilidade Cláudia Ribeiro
2 Dispositivos móveis + Wireless
Introdução Dispositivos móveis + Wireless  Aplicações móveis Novas aplicações  novos requisitos
3 Limites da Computação Móvel
Capacidade dos dispositivos móveis Heterogeneidade em recursos disponíveis Conexão e rede Banda limitada Alta taxa de erros Freqüentes desconexões Mobilidade física (Mobile host) Aumenta handoff Possível redução na disponibilidade de recursos  Exige adaptabilidade da aplicação às mudanças no ambiente
4 Requisitos para Computação Móvel
Reconfiguração dinâmica Adição ou alteração de funcionalidade em tempo de execução Adaptabilidade Execução eficiente e previsível em diferentes condições Interação assíncrona Minimizar efeitos de alta latência e desconexões freqüentes Consciência de contexto (context-awareness) Para efetivar a adaptabilidade Lightweigth Middleware Devido a limitação de recursos
5 Mobile Middleware Facilita o desenvolvimento de aplicações distribuídas que incluem a conexão entre elementos móveis e aplicações corporativas através de redes sem fio, fornecendo serviços como sincronização após desconexão e adaptabilidade baseada em contexto
6 Funções Mobile middleware age como mediador entre dispositivo e a aplicação, executando as seguintes funções: Sincronização entre dispositivo e dados corporativos Messaging, incluindo Tradução entre formatos de dados, plataformas e protocolos de rede Segurança, incluindo autenticação e encriptação Gerenciamento de dispositivos
7 O suporte do Sistema Operacional
A comunicação em sistemas distribuídos dá-se entre processos em máquinas distintas Gerenciar estes processos é na perspectiva do sistema operacional, uma atividade fundamental A utilização de técnica multithreading permite organização mais eficiente de sistemas cliente-servidor Compartilhamento do espaço de endereçamento Redução do custo de troca de contexto
8 Threads em Sistemas Distribuídos
Uma importante propriedade de threads é permitir uma forma conveniente de efetivar systems calls sem bloquear o processo como um todo Permite múltiplas conexões ao mesmo tempo (pool) Ganho de performance Mas a distribuição tem seu custo...
9 Componentes do atraso em sistemas distribuídos
Tempo de transmissão Marshalling/Unmarshalling Cópia de dados – potencialmente após marshalling Através dos limites user-kernel, entre espaços de endereçamento do cliente e do servidor e buffers do kernel; Através de cada camada de protocolo (ex. RPC/UDP/IP/Ethernet) Entre interface de rede e buffers do kernel (geralmente feita através de DMA) Inicialização de pacote – envolve inicialização de cabeçalhos e checksums Escalonamento de thread e troca de contexto Espera de confirmação (ACK)
10 Custo da comunicação entre threads
11 Custo de Invocação e tamanho do parâmetro
Custo associado ao atraso no processamento da chamada remota Cada pacote adicional acrescenta um aumento extra no delay
12 Tempos para Invocações
13 Uma nova perspectiva Consideramos até então que comunicação nos sistemas distribuídos estão limitados a troca de mensagem Contudo, existem situações na qual a passagem de programas, às vezes em execução, simplifica o projeto de um sistema distribuído Motivações para migração de código: Balanceamento de carga entre máquinas - carga é geralmente expressa em termos de tamanho de fila para CPU ou utilização de CPU Redução da comunicação Acesso a grande bases de dados
14 Mobilidade de código e configuração dinâmica
Esta abordagem permite que alterações sejam efetuadas sem o conhecimento prévio do cliente Não exige a pré-instalação do software no cliente. No momento em que é solicitada a comunicação com o servidor, o código é carregado
15 Modelos para Migração de Código
Nesses modelos, um processo consiste em 3 partes: segmento de código, segmento de recursos e segmento de execução Mobilidade fraca: transferência somente do segmento de código (reinicialização do processo). Ex. Applets que rodam no mesmo espaço de endereçamento do browser Mobilidade forte: segmento de execução pode ser transferido também (mais difícil de implementar). O processo é clonado e roda em paralelo com o processo original
16 Migração e Recursos Locais
O segmento de recursos contém referências a recursos externos necessários ao processo, tais como arquivos, impressoras, dispositivos e outros como porta e sockets A migração de segmento de recursos merece atenção especial, uma vez que os recursos são locais e não podem ser simplesmente transferidos As implicações da migração de código sobre o segmento de recursos pode ser exemplificado através de ligações process-resource Ligação por identificador: ex. URL ou FTP server Ligação por valor: quando um programa usa bibliotecas, que devem estar localmente disponíveis, mas o exato local pode variar Ligação por tipo: ex. referência a dispositivos locais como monitores, impressoras, etc
17 Migração em Sistemas Heterogêneos
Principal problema refere-se à migração do segmento de execução. Java Virtual Machine e byte code atendem os requisitos para migração
18 Agentes Móveis Mobile agents são processos (programas em execução) que podem migrar de uma máquina para outra (comumente no mesmo sistema), a fim de satisfazer requisições feitas por seus clientes Implementam uma metáfora computacional que é análoga a forma de conduzir negócios: visita um lugar, usa um serviço e move-se levando consigo seu estado Vantagens de usar agentes móveis inclui: baixa exigência de recursos de rede, em geral usado para seu deslocamento, e continuidade de execução sem conexão Capacidade de clonar-se para executar tarefas em paralelo Fácil implementação e instalação Confiabilidade
19 Arquitetura de Agentes
Extensão do modelo client-server, onde cada máquina possui um servidor com as seguintes funções: Manter trilha de agentes a máquina Aceitar e autenticar agentes que chegam Fornecer namespace hierárquico para cada agente e serviço Permitir comunicação de agentes através de mensagens Permitir migração de agentes Fornecer acesso a persistência para que o agente possa salvar seu estado como desejado e em caso de falha Padrão - FIPA