Exercícios

Observações
Todos os exercícios devem ser implementados usando o simulador. Deve-se levar em conta que o simulador ainda se encontra em processo de construção, portanto, é necessário manter contato constante para relatar bugs ou requisitar modificações necessárias à implementação do algoritmo. Isso deve ser feito em tempo hábil, e extensões no prazo de entrega do exercício serão acordadas com a equipe caso o simulador, em seu estado atual, não dê suporte aos recursos necessários.
Até o dia 3/10/08, cada equipe deverá enviar um e-mail para o contato abaixo com o exercício escolhido. A atribuição de exercícios para a equipe será de acordo com a ordem de chegada das escolhas. Até o dia 8/10/08, deverá enviar outro e-mail com o planejamento da implementação do algoritmo (definição do escopo, informação necessárias, mudanças necessárias no simulador se for o caso, etc.).
Critério de avaliação: os exercícios serão avaliados quanto a sua corretude, eficiência da implementação, e clareza do código (boas práticas de programação). Documentação do código é desejável, mas não impactará na avaliação.

Prazo para entrega: 15/10/08.
Contato: andre at gprt.ufpe.br

Definição das equipes

1. Implementar a estratégia de placement Topology-informed*. Observar a implementação RandomPlacement e atentar o seguinte:

- Como obter a lista de nós disponíveis na topologia: linha 17
- Como verificar se o nó já não tem um serviço (surrogate, origin Server, etc): linha 22
- Como alocar um surrogate num determinado nó: linha 24

Os parâmetros necessários para a implementação devem ser passados no construtor da classe (Observar as estratégias Greedy e Hotspot). As informações sobre carga devem ser recebidas através de um XML (semelhante ao Greedy).

* S. Jamin, C. Jin, A. R. Kure, D. Raz, and Y. Shavitt, “Constrained Mirror Placement on the Internet,” In Proceedings of IEEE INFOCOM, Anchorage, Alaska, USA, April 2001. Download

2. Implementar a estratégia de placement TreeBased* nos mesmos moldes explicitados no exercício 1.

* B. Li, M. J. Golin, G. F. Italiano, D. Xin, and K. Sohraby, “On the Optimal Placement of Web Proxies in the Internet,” In Proceedings of IEEE INFOCOM, NY, USA, pp. 1282-1290, March 1999. Download

3. Implementar a estratégia de placement Dynamic Replica Placement* nos mesmos moldes explicitados no exercício 1.

* Y. Chen, R. H. Katz, and J. D. Kubiatowicz, “Dynamic Replica Placement for Scalable Content Delivery,” In Proceedings of International Workshop on Peer-to-Peer Systems (IPTPS 02), LNCS 2429, Springer-Verlag, pp. 306-318, 2002. Download

4. Implementação do algoritmo de geração de requests* de streaming. A popularidade dos objetos devem obedecer uma distribuição Zipf, e os requests devem ser produzidos segundo uma distribuição Poisson. Os parâmetros dessas distribuições são fornecidos pelo usuário, via linha de comando ou XML. A saída deve ser um arquivos XML similar ao “Requests.XML” do simulador. Pode ser um front-end para o Gismo: http://csr.bu.edu/gismo/

A. Nanopoulos, D. Katsaros, and Y. Manolopoulos. A data mining algorithm for generalized Web prefetching. IEEE Transactions onKnowledge and Data Engineering, 15(5):1155–1169, 2003. Download
GENIUS: a generator of interactive user media sessions. Costa, C.; Ramos, C.; Cunha, I.; Almeida, J.M. Workload Characterization, 2004. WWC-7. 2004 IEEE International Workshop on Volume , Issue , 25 Oct. 2004 Page(s): 29 - 36. Download
MediSyn. Download

5. Implementação de pelo menos 5 estratégias de cache replacement referenciadas no paper abaixo, uma de cada categoria, incluindo os respectivos testes de unidade. Observar a implementação do LRU e do LFU do simulador.
Duas equipes diferentes podem fazer este mesmo exercício, desde que não repita a estratégia.

Web cache replacement policies: a pragmatic approach Kin-Yeung Wong Network, IEEE. Volume 20, Issue 1, Jan.-Feb. 2006 Page(s): 28 – 34. Digital Object Identifier 10.1109/MNET.2006.1580916. Download

6. Implementação de um sistema P2P simular ao PPLive:
Challenges, Design and Analysis of a Large-scale P2P VoD System
Yan Huang (Shanghai Synacast Media Tech); Tom Z. J. Fu (Chinese University of Hong Kong); Dah-Ming Chiu (Chinese University of Hong Kong); John C. S. Lui (Chinese University of Hong Kong); Cheng Huang (Shanghai Synacast Media Tech)