Mobilidade Cláudia Ribeiro.

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

Sistemas Distribuídos
Sistemas Distribuídos Baseados em Objetos
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Introdução aos Sistemas Distribuídos
Hardware de Topologia e
Sistemas operacionais
Sistemas Distribuídos
Modelos de Comunicação em Sistemas Distribuídos
RPC Remote Procedure Call
Arquitetura de Sistemas Operacionais
CPU – based DoS Attacks Against SIP Servers
Comunicação Distribuída
Computação Distribuída
Interação Cliente Servidor
QoS para Realidade Virtual
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
1 Sistemas Distribuídos - SDI Caracterização de Sistemas Distribuídos. Introdução. Exemplos de Sistemas Distribuídos. Desafios.
Sistemas Operacionais de Rede
Threads.
Obtenção de IP TCP UDP.
Sistemas Operacionais I
Middleware e Sistemas Distribuídos
Unidade 1-1 Processos e Threads
SISTEMAS OPERACIONAIS
1 Modelos de Sistemas Distribuídos. Introdução - Dificuldades e ameaças para SD. Grande variação na utilização de SD )carga de trabalho e requerimentos.
Sistemas Distribuídos
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Web Services Uninorte Semana de Tecnologia da Informação
Concorrência entre Threads Java
Arquitetura Cliente /Servidor
Sistemas Distribuídos
1 Mobilidade de Código com μcode Projeto Giga Alexandre Lages
Gerenciamento de Redes Utilizando Agentes Móveis
Sistemas Distribuídos Estrutura de Redes
Sistemas Distribuídos Introdução. Conceito Coleção de múltiplos processos que executam sobre uma coleção de processadores autônomos interligados em uma.
Sistemas Distribuídos
SISTEMAS OPERACIONAIS I
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
Processos.
RMI - JAVA.
Sistemas Distribuídos
Troca de Mensagens Programação concorrente
1 MAC Computação Móvel Agentes de software para Computação Móvel Aluno: Eduardo Leal Guerra
MONITORAMENTO DE REDE E SERVIDORES UTILIZANDO O CACTIEZ E SNMP
Integração de Ferramentas CASE
CONECTIVIDADE Prof.: Alessandro V. Soares Ferreira
Capítulo 4: Processos.
Abr-17 Projetar Processos Projetar distribuição.
Modelos de Comunicação em Sistemas Distribuídos
Modelos de Comunicação em Sistemas Distribuídos
1 Gerenciamento de Recursos em Sistemas de Grande Escala Jeferson R. Marques Fabio Kon Departamento de Ciência da Computação IME-USP
Redes de computadores: Aplicações Prof. Dr. Amine BERQIA
Sistemas Distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Serviços de rede e internet Jackson Eduardo da Silva.
Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – Sayuri Watanabe
Sistemas Operacionais Distribuídos
Passagens de Mensagens Prof. Dr. Norian Marranghello
Rede de Computadores MAT164 – Redes de Computadores I Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação.
Jorge Zavaleta PVM vs MPI. Introdução Objetivos do MPI Implementações e definições processos dinâmicos Contextos Operações não bloqueantes Portabilidade,heterogeneidade.
Projetar Processos. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar distribuição | 2 Descrição do Projeto.
Leandro Clementino Almeida.  Anos 50 - Sistemas Operacionais tipo Lote:  Aumentar a capacidade de processamento de programas  Usuário ia ao computador.
Protocolos de Comunicação e Passagem de Mensagens
Qualidade de Serviço Parametrização de serviços –por causa da heterogeneidade de requisitos vinda de diferentes aplicações distribuídas –flexibilidade.
Aula Prática: Demo de Sistemas Distribuídos
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE CIÊNCIA DA COMPUTAÇÃO Redes de Computadores Ferramenta NTop (Network Traffic Probe) Explorador.
Bruna Cavallero Martins Universidade Católica de Pelotas.
Curso Superior em Redes de Computadores Camada de Aplicação Prof. Sales Filho.
Transcrição da apresentação:

Mobilidade Cláudia Ribeiro

Dispositivos móveis + Wireless Introdução Dispositivos móveis + Wireless  Aplicações móveis Novas aplicações  novos requisitos

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

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

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

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 e-mail Tradução entre formatos de dados, plataformas e protocolos de rede Segurança, incluindo autenticação e encriptação Gerenciamento de dispositivos

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

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...

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)

Custo da comunicação entre threads

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

Tempos para Invocações

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

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

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

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

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

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

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