===== Turma de Sistemas Distribuídos do período 2006.1 ===== ==== Avaliação ==== A avaliação será feita através de listas de exercícios (25%), apresentações de seminários (25%) e um projeto (50%). As notas dessas atividades serão divulgadas nessa página. ==== Lista de discussão ==== * [[sistDist-20061@googlegroups.com|clique aqui para mandar uma mensagem para a lista de alunos.]] ==== Temas para Seminários ==== * Gnutella (a ser apresntado por Flávio) * Bem como não existe UM artigo que define o estado atual do protocolo gnutella (ou da rede) abaixo vão alguns links com informações sobre o assunto. * Sobre o protocolo * Especificação do protocolo do Gnutella 0.4 ( http://www9.limewire.com/developer/gnutella_protocol_0.4.pdf ) - Com base neste vou explicar o protocolo base de descoberta e roteamento do gnutella. Acho que todos deveriam ler este. * Gnutella Developers Forum ( www.the-gdf.org ou http://rfc-gnutella.sourceforge.net/) - Estes contém o "status atual" do protocolo do gnutella. A versão 0.4 acima é antiga. Como gnutella é algo muito aberto, aparentemente qualquer cliente pode implementar novos tipos de mensagens e usar na rede (clientes que não entendem a mensagem ignoram), estes dois sites contém especificações que novos clientes devem seguir. Em outras palavras descrevem a versão atual do protocolo. Não precisa ler os dois sites inteiros. A parte de Ultrapeers e QRP são as mais interessantes e que prentendo falar mais sobre. Tentarei comentar sobre as outras mudanças do protocolo 0.4 (RFC de Ultrapeers http://rfc-gnutella.sourceforge.net/Proposals/Ultrapeer/Ultrapeers.htm) * GnuFU ( http://rfc-gnutella.sourceforge.net/) - O pequeno artigo Gnutella For Users (deveria ser Gnutella for Dummies), descreve as principais características do protocolo (boa parte da segunda fonte) em um texto simples, com poucos aspectos técnicos e muitas simplificações. A leitura deste não é muito importante mas da um resumão da coisa de uma maneira bem simples. * Sobre a rede * Estou vendo alguns artigos que analisam a rede gnutella. O paper do Ripeanu é bem interessante onde ele faz diversas análises sobre a rede gnutella, como esta se comporta e como usa a infra-estrutura da internet. Dos citados é o mais denso, mas recomendo a leitura. Inicialmente escolhi este para ser a base da apresentação, depois quando percebi que o protocolo do gnutella não era exatamente o apresentado decidi iniciar pelo estudo do protocolo. Pretendo pelo menos comentar este paper por isso recomendo a leitura, embora acho que apresentar o protocolo seja mais interessante. * Mapping the Gnutella Network: Macroscopic Properties of Large-Scale Peer-to-Peer Systems. (http://www.chinagrid.net/grid/paperppt/GlobusPaper/gnutella.computing.pdf). M Ripeanu, I Foster. Análise da rede gnutella feita ainda em cima do protocolo 0.4. Este artigo é o mais "pesado" de todos e contém bastante informações da rede feita em um estudo que durou alguns meses. * Os papers abaixo falam de estudos de free-riding no gnutella. Provavelmente vou comentar em alguns resultados como o fato de que a maioria dos participantes são free-riders, poucos nós respondem a maioria das buscas e o fato do gnutella atualmente fazer nada sobre isto. * Free Riding on Gnutella. (http://darwell.uwaterloo.ca/~tozsu/courses/cs856/W05/Papers/Gnutella-2.pdf). E Adar, BA Huberman. Basicamente todos os outros textos citam este, estudo de free-riding na rede gnutella feito em 2000. * Free Riding on Gnutella Revisited: The Bell Tolls?. (http://csdl.computer.org/comp/mags/ds/2005/06/o6001.pdf). D Hughes, G Coulson, J Walkerdine. Devido as mudanças do protoloco gnutella, redes p2p, internet e etc. Este artigo compara novos estudos com os feitos no anterior. * Vários comentam sobre os problemas de escalabilidade no gnutella, o artigo abaixo parece ser o que mostra isso da maneira mais simples. * Why Gnutella Can't Scale. No, Really. (http://www.cs.ucsb.edu/~ravenben/classes/290F/papers/GnutellaScale.html). J Ritter. * Chord (a ser apresentado por Paolo) * {{:sdgrad:chord_sigcomm01.pdf|Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications}}. Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan. Proceedings of the 2001 ACM SIGCOMM Conference. * CAN (a ser apresentado por Vinícius) * {{:sdgrad:can-sigcomm01.pdf|A Scalable Content-Addressable Network}}. Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker. Proceedings of the ACM SIGCOMM 2001. * Pastry (a ser apresentado por Pablo) * {{:sdgrad:pastry-icdsp01.pdf|Pastry: Scalable, distributed object location and routing for large-scale peer-to-peer systems}}. A. Rowstron and P. Druschel. IFIP/ACM International Conference on Distributed Systems Platforms (Middleware), Heidelberg, Germany, pages 329-350, November, 2001. * OpenDHT (a ser apresentado por Thiago) * {{:sdgrad:opendht-sigcomm05.pdf|OpenDHT: A Public DHT Service and Its Uses}}. Sean Rhea, Brighten Godfrey, Brad Karp, John Kubiatowicz, Sylvia Ratnasamy, Scott Shenker, Ion Stoica, and Harlan Yu. Proceedings of ACM SIGCOMM 2005, August 2005. * NodeWiz (a ser apresentado por João) * {{:sdgrad:nodewiz-gp2pc05.pdf|NodeWiz: Peer-to-peer Resource Discovery for Grids}}. Sujoy Basu, Sujata Banerjee, Puneet Sharma, Sung-Ju Lee. IEEE International Symposium on Cluster Computing and the Grid (CCGrid 2005). May 2005. pp 213-220. * {{:sdgrad:mgc2006submitted.pdf|A Large Scale Fault-Tolerant Grid Information Service}}. Francisco Brasileiro, Lauro Costa, Alisson Andrade, Walfredo CIrne, Sujoy Basu, Sujata Banerjee.