Universidade Federal de Minas Gerais

Departamento de Ciência da Computação

Engenharia de Aplicacoes em Redes 2013/1


Universidade Federal de Minas Gerais
Departamento de Ciência da Computação

Engenharia de Aplicações em Rede
Última alteração: Maio 31, 2013

Programa Calendário Avaliação Referências Moodle Versão PDF

Informações gerais


Objetivo

O objetivo da disciplina é abordar tópicos avançados relacionados ao desenvolvimento de aplicações distribuídas na Internet, considerando os últimos avanços tanto na área de projeto de sistemas quanto em termos da arquitetura da Internet em geral.

Já faz alguns anos desde que esta disciplina foi oferecida pela última vez e muita coisa mudou desde então. Nesta oferta, pretendemos ainda falar um sobre arquiteturas Peer-to-Peer e CDNs (redes de distribuição de conteúdo) pela sua importância, mas vamos focar também temas mais recentes, como Internet do Futuro, Virtualização de Redes, OpenFLow e Redes Definidas por Sofware (SDNs).

Observação importante:
Exceto por alguns conceitos gerais sobre virtualização, o conteúdo desta matéria não tem superposição com a disciplina de Tópicos, ``Virtualização e Computação em Nuvem''. A organização das aulas também será diferente, com uma parte maior conduzida pelo professor e uma organização maior para os seminários dos alunos.


Ementa

Pré-requisitos

Pela característica do curso, conhecimento anterior de Redes de Computadores é pré-requisito. Isso normalmente significa ter cursado a disciplina, mas em casos excepcionais, conforme avaliação do professor, isso pode ser liberado.


Programa

Os tópicos abordados pretendem cobrir os principais elementos para o desenvolvimento de novas aplicações na Internet. Para esse fim serão discutidos princípios gerais de organização de sistemas distribuídos, organização das novas aplicações que estão surgindo na Internet e soluções para simplificar a tarefa dos desenvolvedores, bem como aspectos de sistemas operacionais avançados, como virtualização.


Calendário

(O calendário ainda está sendo elaborado e pode sofrer alterações.

Última alteração: Maio 31, 2013


Aula Data Assunto Obs.
-- 04/03 Aula inaugural do PPGCC  
-- 06/03 Não haverá aula  
1 11/03 Introdução. Motivação, histórico. Leitura de artigos.  
2 13/03 Projeto de Sistemas Distribuídos.  
3 18/03 Redes overlay.  
4 20/03 Redes de distribuição de conteúdo (CDNs).  
5 25/03 Redes entre pares (peer-to-peer): estrutura.  
6 27/03 Redes entre pares (peer-to-peer): distribuição de conteúdo.  
7 01/04 Internet do Futuro (discussão).  
-- 03/04 Aula cancelada  
8 08/04 Ferramentas (PlanetLab, Open vSwitch, NetFPGA).  
9 10/04 Internet do Futuro. Redes orientadas a conteúdo.  
10 15/04 Redes definidas por sofware (SDNs): conceitos.  
11 17/04 Redes definidas por sofware (SDNs): aplicações.  
12 22/04 Discussão dos temas de seminário.  
-- 24/04 Aula cancelada  
13 29/04 Introdução ao trabalho prático. Sistemas Distribuídos.  
-- 01/05 Feriado: Dia do Trabalho  
14 06/05 Desenvolvimento da prova. (SBRC)
15 08/05 Desenvolvimento da prova. (SBRC)
16 13/05 Seminários (a).  
17 15/05 Seminários (a).  
18 20/05 Seminários (a).  
19 22/05 Seminários (a).  
20 27/05 Seminários (a).  
21 29/05 Discussão dos trabalhos práticos.  
22 03/06 Seminários (b).  
23 05/06 Seminários (b).  
24 10/06 Seminários (b).  
25 12/06 Seminários (b).  
-- 17/06 Copa das Confederações no Mineirão  
-- 19/06 Copa das Confederações: jogo do Brasil  
26 24/06 Seminários (b).  
-- 26/06 Copa das Confederações no Mineirão  
27 01/07 Discussão final. Conclusões.  
28 03/07 Apresentação dos trabalhos.  


Avaliação

A primeira parte do curso será baseada em aulas expositivas apresentadas pelo professor. Ao final dessa fase (aproximadamente na metade do semestre) será realizada uma prova (com consulta, para fazer em casa) sobre os temas discutidos. Durante a segunda parte do curso os alunos deverão apresentar seminários preparados sobre temas correntes de pesquisa e artigos recentes. Todos os alunos deverão ler os artigos assinalados para cada aula e participar das discussões. Em paralelo, os alunos deverão desenvolver um trabalho com três entregas ao longo do semestre sobre um tema relacionado à disciplina. Uma lista de possíveis tópicos para trabalhos será apresentada posteriormente.

Distribuição dos pontos

Esta distribuição ainda está sujeita a alterações mas, a princípio, os pontos serão distribuídos da seguinte forma:

Projeto final

Esse projeto (a ser desenvolvido em grupo) deverá abordar temas relacionados aos assuntos discutidos em sala durante o curso. O formato preciso dependerá muito do tema escolhido. Simulações, implementações, desenvolvimento de modelos formais e avaliações de desempenho são todos possíveis. Em alguns casos, levantamentos bibliográficos também podem ser aceitos.

Ainda estou definindo os detalhes, mas estou considerando fortemente focar em um desenvolvimento relacionado a redes definidas por software (SDN). Os alunos podem também propor outros trabalhos, desde que relacionados ao conteúdo da disciplina.

O trabalho constará de três entregas:

  1. Especificação: proposta do que será implementado, objetivos, possíveis problemas, referências relevantes, resultados esperados, cronograma, critérios para aprovação do trabalho. 5% da nota.
  2. Andamento: relatório de andamento do projeto, atualização do cronograma, discussão de problemas e resultados positivos. 10% da nota
  3. Relatório final: relatório final, no formato de artigos da SBC, com aproximadamente 15 páginas, descrevendo os resultados alcançados em comparação com os critérios de aprovação propostos. 25% da nota


Artigos

Não há livro texto para a disciplina. Os artigos a serem lidos para cada aula, bem como outros artigos de apoio para temas específicos, serão publicados através do espaço do curso no minha.ufmg.

A lista nesta página ainda está sendo refinada, mas já pode ser considerada como uma base. Há mais artigos do que serão assinalados para leitura, mas a idéia no momento é apenas organizar o material.



Versão HTML produzida por Dorgival Guedes
(2013-05-31)