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 |