Académique Documents
Professionnel Documents
Culture Documents
Transparncia
De localizao: De migrao:
Os usurios no precisam saber onde os recursos esto localizados. Os recursos podem se mover sem alterar seus nomes. Pode ter mais de uma cpia dos recursos disponveis. Mltiplos usurios podem compartilhar um recurso automaticamente. Atividades podem ocorrer em paralelo sem que o usurio saiba. Acessos a recursos devem ser idnticos para objetos locais e remotos.
De replicao:
Flexibilidade
Sistemas distribudos so mais flexveis do que um sistema centralizado. Permite mudanas no futuro com mais facilidade:
Nvel de segurana implantado. Redundncias criadas.
Confiabilidade
isponibilidade: D Tolerncia a Falhas: Respostas certas:
Relao ao tempo que o sistema fica disponvel. Sistemas distribudos devem ter a capacidade de mascarar falhas para os usurios do sistema. possvel confiar nas respostas recebidas? Sistemas Distribudos podem ser compostos de diversas partes de fornecedores diferentes. Garantir que as partes realmente so quem dizem ser. Garantir que a requisio pode ser executada para o requisitante.
Autenticao:
Autorizao:
Segurana
Necessidade de proteger os recursos e informao gerida num sistema distribudo. Diversos aspectos envolvidos:
Autenticao dos utilizadores. Autenticao dos servidores.
Disponibilidade
Os servios do sistema devem se manter funcionando o maior tempo possvel. As falhas so inevitveis. Tcnicas que garantem a disponibilidade do servio, mesmo na presena de falhas.
Mecanismos de tolerncia falhas. Redundncia.
Componentes chaves de hardware e software devem ser replicados, de modo que se um deles falhar, os outros estaro aptos a tomar conta da tarefa.
Modelo de Falhas
No Desenvolvimento:
Preveno de Falhas:
Metodologia de desenvolvimento. Vericao.
Eliminao de Falhas:
Testes. Vericao.
Em Operao:
Tolerncia a Falhas
Mecanismos (software e/ou hardware) que permitem deteco e tratamento de falhas.
Omisso
Componente causa perda de algumas mensagens.
Performance
Componente faz com que mensagem chegue depois (ou antes) do esperado.
Maliciosa
Tudo pode acontecer.
Exerccios
Quais as caractersticas de um sistema distribudo aberto? O que um sistema escalvel?
Portabilidade
Caracteriza at que ponto duas implementaes de sistemas ou componentes de fornecedores diferentes devem coexistir e trabalhar em conjunto, especicados por um padro comum.
Caracteriza at que ponto uma aplicao desenvolvida para um sistema distribudo A pode ser executada, sem modicao, em um sistema B; Dene a capacidade de se adicionar novos componentes ou substituir componentes existentes sem afetar os que continuam no mesmo lugar.
Extensibilidade
Escalabilidade
Capacidade de se adaptar conforme o aumento da demanda. Um sistema escalvel permanece eficiente quando h um aumento significativo no nmero de recursos e no nmero de usurios. Evitar perda de desempenho computacional. Evitar gargalos. Escalabilidade em trs nveis:
Relao ao tamanho Relao distncia geogrfica
Podem-se acrescentar mais usurios e recursos ao sistema. Acesso a distncias maiores, distribuio geogrfica dos recursos pela rede. Mesmo com incluso muitas organizaes independentes ainda continua fcil a administrao.
Redes ad-hoc
RFIDs ativos
Incluem alimentao prpria e podem emitir sinais ativamente.
Grande escala
Identificao de produtos (substituindo cdigo de barras). Permite identificao individual dos produto.
RFIDs
Redes de sensores
Variao das redes Ad hoc. Sistemas distribudos compostos por um nmero elevado de pequenos sistemas computacionais (ns) com:
Fonte de alimentao prpria (em geral, uma bateria). Pequeno microprocessador. Emissor/receptor de rdio. Sensor. Ns tm preo reduzido. Quando a bateria acaba, o n deixa de funcionar.
Alguns desafios
Redes de sensores
Aplicaes:
Monitorar o espao e coisas. Valores relacionados com o ambiente (temperatura, humidade, etc.). Sistemas de vigilncias. Avies.
Monitorar interao entre as coisas e o espao. Interaes entre animais. Monitorar eventos naturais.
Redes de Sensores
Concorrncia
Uma caracterstica padro de um SD, em que os processos disputam pelos recursos compartilhados. Garantir que processos operem corretamente em ambientes concorrentes. Trabalha sobre a possibilidade que vrios clientes possam acessar um recurso compartilhado ao mesmo tempo.
A presena de mltiplos usurios uma fonte de pedidos concorrentes para seus recursos. Em ambiente concorrente, cada recurso deve ser projetado para manter sempre a consistncia. Atividades separadas de usurios. Independncia de recursos. Localizao de processos servidores em computadores distintos.
Comunicao Sncrona
Componentes progridem em passos simultneos, em rounds sncronos.
Mais simples de descrever. Programar. Raciocinar.
Comunicao Assncrona
Componentes progridem em passos independentes, em ordem arbitrria, com velocidade arbitrria.
Mais difcil de programar. Algoritmos so mais gerais e portveis.
As vezes no tem poder suciente para resolver problemas de maneira eciente (ou mesmo para resolver o problema).
Desempenho
O problema da performance muito influenciada pela comunicao. Sistemas Distribudos devem melhorar o desempenho em relao a sistemas centralizados. Concentrarmos a ateno no conjunto de mquinas que efetivamente executa certos processamentos de forma isolada do processamento dos usurios. Os usurios esperam ter suas respostas o mais rpido possvel como se o sistema estivesse executando localmente, em suas prprias mquinas. Monitorar os recursos fsicos e de software que compe o sistema distribudo a fim de garantir nveis de servio ao usurio. 4 Mtricas de desempenho:
Tempo de resposta. Throughput (tarefas / tempo). Utilizao do sistema. Quantidade consumida da capacidade da rede.
Middleware
Camada de software que fornece uma abstrao de programao Os protocolos de comunicao mascaram a diferena entre as redes e o middleware pode cuidas das outras diferenas. Software que providencia um modelo de programao por blocos de processos pela passagem de mensagem. Alguns middleware permitem que os processos sejam implementados em diferentes linguagem de programao.
CORBA.
Middleware
Exerccio
O que computao Ubqua? Qual o conceito?
Computao ubqua
O termo computao ubqua foi primeiramente sugerido por Mark Weiser em 1988. O conceito de tornar os computadores onipresentes e invisveis. Integrar a informtica com as aes e comportamentos naturais das pessoas. Sistemas inteligentes que estariam conectados ou procurando conexo o tempo todo. Tirar o computador do caminho entre o usurio e seu trabalho, sua rotina. Utilizar computadores de forma natural.
Computao pervasiva
Conceito define que os meios de computao estaro distribudos no ambiente de trabalho dos usurios de forma perceptvel ou imperceptvel. Computador estaria distribudo no ambiente, e no seria apenas uma mquina em cima da mesa. Detectar e extrair dados e variaes do ambiente, gerando automaticamente modelos computacionais controlando, configurando e ajustando aplicaes conforme as necessidades dos usurios e dos demais dispositivos. Interagir automaticamente entre eles construindo um contexto inteligente para sua melhor utilizao.
Web Services: integram software utilizando padres da Web, como XML e HTTP.
Discusso
Facilidade de desenvolvimento? Desempenho? Transparncia? Escalabilidade? Flexibilidade?