
Confiabilidade de Sistemas Distribuídos
Código
11555
Unidade Orgânica
Faculdade de Ciências e Tecnologia
Departamento
Departamento de Informática
Créditos
6.0
Professor responsável
Henrique João Lopes Domingos, Nuno Manuel Ribeiro Preguiça
Horas semanais
4
Total de horas
56
Língua de ensino
Português
Objectivos
A unidade curricular (UC) visa desenvolver e especializar conhecimentos na área dos Sistemas Distribuídos Confiáveis, tendo em vista estabelecer uma base de compreensão aprofundada de técnicas avançadas usadas na concepção de sistemas descentralizados de grande escala conjugando propriedades de tolerância a falhas, segurança, tolerância a intrusões e preservação da privacidade dos dados ou computações. Visa-se o domínio dos fundamentos que estão na base desses sistemas, bem como o conhecimento das técnicas que permitem suportar a combinação daquelas propriedades. A unidade curricular tem uma forte incidência no estudo de fundamentos teóricos, como base consolidada para abordar projetos de programação que põem em prática os conceitos fundamentais e as técnicas ensinadas, com forte incidência na sua implementação prática, avaliação e observação crítica em ensaio experimental.
Pré-requisitos
É fortemente recomendada a frequência prévia das disciplinas de Sistemas Distribuídos, Segurança de redes e Sistemas de Computadores e Algoritmos e Sistemas Distribuídos.
Conteúdo
- Introdução. Problemática da confiabilidade de sistemas distribuídos; propriedades de um sistema confiável; modelos de confiabilidade e segurança, tolerância a falhas e tolerância a intrusões
- Tolerância a falhas e tolerância a intrusões
- Replicação, modelo SMR (State Machine Replication)
- Problema do consenso em sistemas distribuídos: impossibilidade e soluções práticas
- Consenso com tolerância a falhas bizantinas
- Consenso com tolerância a intrusões
- Consenso probabilístico
- Protocolos e serviços com aleatoriedade e diversidade
- Sistemas de prevenção e sistemas de detecção de intrusões
- Técnicas de recuperação de intrusões. Recuperação reativa e recuperação proactiva
- Disponibilidade e defesa contra ataques de negação de serviço
- Técnicas e tecnologias para bases de computação confiável: TPM (Trusted Platform Modules) e TEE (Trusted Executin Environments)
- Estudo de casos
Bibliografia
- William Stallings and L. Brown, Computer Security - Principles and Practice, 3rd Edition, Prentice Hall, 2014
- C. Cachin, R. Guerraoui, L. Rodrigues, Introduction to Reliable and Secure Distributed Programming (2nd Ed), Springer, 2011.
- K. Birman, Reliable Distributed Computing, Springer 2005
- A.S. Tanenbaum and M. Van Steen. Distributed Systems Principles and Paradigms. (2nd Ed.) Prentice Hall, 2007
- During the classes, suggested readings on selected papers are proposed, covering the program topics.
Método de ensino
A unidade curricular é composta por aulas teóricas, onde são transmitidos e discutidos os conceitos fundamentais e aulas práticas, desenvolvidas em ambiente laboratorial.
Nas aulas práticas são feitas apresentações práticas podendo envolver demonstrações experimentais de técnicas e realizados exercícios de programação relacionados com essas técnicas. Algumas aulas práticas serão dedicadas aos trabalhos práticos de avaliação a realizar pelos alunos, incluindo esclarecimento de dúvidas em laboratório, apresentação ou demonstração de resultados bem como discussão de soluções.
Método de avaliação
Componentes da avaliação
- Dois testes de frequência (T1, T2)
- T1 (20% da avaliação)
- T2 (30% da avaliação)
- Dois mini-projetos (P1, P2), desenvolvidos em grupos até 2 alunos
- P1 (20% da avaliação), dividido em:
- Avaliação do projeto (15%)
- Teste individual sobre o projeto (5%)
- P2 (30%)
- Com relatório
- Pode envolver demonstração e discussão
Condições de aprovação
- Aprovação em frequência
- Todos os componentes (T1, T2, P1 e P2) têm que ter avaliação superior a 8/20 valores
- A avaliação de todos os componentes deverá ser superior a 9,5/20 valores
- Condições de acesso ao exame de recurso (R)
- Os componentes P1 e P2 têm que ter avaliação superior a 8/20 valores
- O resultado dos componentes P1 e P2 deve ser superior a 9,5/20 valores
- Aprovação em recurso
- Peso do Exame de Recurso: 50% da nota final
- A nota do exame de recurso (R) deve ser superior a 8/20 valores
- O resultado de P1, P2 e R deve ser superior a 9,5/20 valores.