Universidade Federal do Paraná
Departamento de Informática
Bacharelado em Ciência da Computação
Prof. Elias P. Duarte Jr.

Trabalho Prático de Redes de Computadores II - Turma 2015/2

Uma Tabela Cache Simples

Entrega: Todos os trabalhos serão acessados na sexta-feira dia 4 de dezembro de 2015; não serão aceitos trabalhos disponibilizados após esta data. Atenção, são mais de 3 semanas de prazo, organize-se!

O trabalho deve preferencialmente ser feito em dupla; o código, os testes e o relatório devem ser feitos por ambos os membros da dupla. Use esta oportunidade para melhorar sua habilidade de trabalhar em equipe.

Os alunos devem informar por e-mail a URL do trabalho, usando o subject "TP REDES II 2015-2"

Especificação do Trabalho: Uma Tabela Cache Simples

Você vai implementar um serviço que retorna uma informação (definida pela dupla) dado um índice inteiro que vai de zero até um valor máximo pré-definido. O professor vai valorizar a criatividade da dupla nesta definição! Pense em informações interessantes/curiosas/úteis. O servidor mantém a tabela com as informações completas.

Um cliente mantém uma tabela cache com informações previamente solicitadas pelo usuário. Cada entrada desta tabela tem um "prazo de validade". Quando chega uma solicitação do usuário e a entrada existe e está dentro do prazo de validade, o cliente retorna a informação sem acessar o servidor. Caso contrário, é feita a comunicação com o servidor, a tabela local é atualizada, e o valor informado ao usuário.

A dupla deve implementar o serviço com valores diversos para o prazo de validade. Mostre claramente casos em que a tabela local é usada e em que é necessário contactar o servidor. A qualquer momento o usuário pode pedir para o cliente imprimir a tabela cache completa.

A linguagem de programação permitida é de livre escolha dos alunos. Sugere-se Python. Todos os detalhes, como configuração, mensagens e o que não estiver especificado aqui deve ser definido e documentado no relatório. Interface, organização, criatividade são valorizadas! Capriche!

ENTREGA DO TRABALHO

Deve ser construída uma página Web, que contém em documentos HTML, os seguintes itens:

  • Relatório de como foi feito o trabalho e quais foram os resultados obtidos. Use desenhos, diagramas, figuras, todos os recursos que permitam ao professor compreender como a dupla estruturou o trabalho e quais resultados obteve. O objetivo é o professor entender como a dupla fez o trabalho, como o trabalho funciona.
  • Código Fonte comentado. ATENÇÃO: acrescente a todo programa a terminação ".txt" para que possa ser diretamente aberto em um browser. Exemplos: cliente.py.txt ou servidor.c.txt ou dispatcher.py.txt
  • Logs de execução dos processos cliente/servidores, que demonstrem a execução correta destes processos. Os testes devem ser exaustivos até o ponto que demonstrem com clareza a funcionalidade correta do sistema.

    Observações:

  • Não serão aceitos trabalhos impressos, nem em meio ótico/magnético.
  • Alguns trabalhos serão defendidos no laboratório, portanto certifique-se que seu trabalho funciona aqui.
  • Pode ser usada qualquer linguagem de programação. A diversidade é bem vinda! O professor recomenda que os alunos usem esta oportunidade para aprender a linguagem Python.


    Prof. Elias P. Duarte Jr.     Departamento de Informática     UFPR