Ementa/Descrição: |
Introdução aos Sistemas Distribuídos: Definição, Metas e Tipos de Sistemas Distribuídos. Arquitetura de Sistemas Distribuídos: Estilos Arquitetônicos, Arquiteturas de Sistemas, Arquiteturas versus Middleware, Autogerenciamento. Processos em Sistemas Distribuídos: Linhas de Execução (Threads), Virtualização, Clientes, Servidores, Migração de Código. Comunicação em Sistemas Distribuídos: Fundamentos, Chamada de Procedimento Remoto, Comunicação Orientada a Mensagem, Comunicação Orientada à Fluxo, Comunicação Multicast. Nomeação em Sistemas Distribuídos: Nomes, Identificadores e Endereços, Nomeação Simples, Nomeação Estruturada, Nomeação Baseada em Atributo. Sincronização em Sistemas Distribuídos: Sincronização de Relógios, Relógios Lógicos, Exclusão Mútua, Posicionamento Global de Nós, Algoritmos de Eleição. Sistemas Distribuídos Baseados em Objetos: Arquitetura, Processos, Comunicação, Sincronização, RMI JAVA, CORBA, Consistência e Replicação, Tolerância a Falhas, Segurança. Consistência e Replicação em Sistemas Distribuídos: Introdução, Modelos de Consistência Centrados em Dados e no Cliente, Gerenciamento de Réplicas, Protocolos de Consistência. Tolerância a Falhas: Introdução, Resiliência de Processo, Comunicação Confiável, Comprometimento Distribuído, Recuperação. Sistemas de Arquivos Distribuídos: Arquitetura, Processos, Comunicação, Nomeação, Sincronização, Consistência e Replicação, Tolerância a Falhas, Segurança. Sistemas Distribuídos Baseados na Web: Arquitetura, Processos, Comunicação, Nomeação, Sincronização, Consistência e Replicação, Tolerância a Falhas, Segurança. Sistemas Distribuídos Baseados em Coordenação: Introdução, Arquiteturas, Processos, Comunicação, Nomeação, Sincronização, Consistência e Replicação, Tolerância a Falha, Segurança. |