Objetivos / Competências
Identificar de uma forma abrangente os algoritmos, protocolos e fundamentos dos sistemas distribuídos modernos. Explorar o paralelismo de aplicações. Adquirir conhecimentos sobre técnicas fundamentais para o desenho de aplicações distribuídas em ambiente empresarial e para a Internet. Desenvolver aplicações distribuídas.
Conteúdos programáticos resumidos
1 Fundamentos
1.1 Caracterização de sistemas distribuídos
1.2 Modelos do Sistema
1.3 Redes e Internetworking
1.4 Comunicação entre processos
1.5 Invocação remota
1.6 Comunicação Indireta
1.7 Suporte do sistema operativo.
2 Middleware
2.1 Objetos e Componentes Distribuídos
2.2 Web Services
2.3 Sistemas Peer-to-Peer
3 Algoritmos distribuídos
3.1 Tempo e estados globais
3.2 Coordenação e Acordo
4 Partilha de dados
4.1 Transações e Controlo de Concorrência
4.2 Transações distribuídas
4.3 Replicação
5 Novos desafios
5.1 Computação móvel e ubíqua
5.2 Sistemas Multimédia Distribuídos
Metodologias de ensino e critérios de avaliação
As aulas teóricas serão orientadas para a exposição de conteúdos. Nas aulas práticas serão realizadas fichas de trabalho em ambiente de laboratório, que visam consolidar os conceitos ministrados na teórica. Nas aulas práticas serão utilizados os equipamentos de comunicação e outras ferramentas que permitem a verificação, validação e experimentação dos conceitos teóricos.
Em todas as épocas, a classificação final é obtida pela média ponderada das seguintes componentes:
-Teste Escrito: 50% (Mínimo 10 valores)
Exame em Época Normal
Exame em Época de Recurso/Época Especial
-Trabalhos Práticos: 35% (Mínimo 10 valores)
-Fichas de Avaliação: 10%
-Presenças: 5%
Os alunos deverão frequentar 2/3 das aulas práticas (1/3 para alunos com estatuto trabalhador-estudante) para serem admitidos a avaliação em época normal.
Bibliografia resumida
- Distributed Systems: Concepts and Design, George Coulouris, Jean Dollimore, Pearson, 2002 (004.451 COU)
- Distributed Systems: Principles and Paradigms (2nd Edition), Andrew S. Tanenbaum, Maarten Van Steen,2007 (004.451 TAN)
- Distributed Algorithms: An Intuitive Approach, Wan Fokkink, Massachusetts Institute of Technology, 2013