Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lista de Exercícios - Sistemas Peer-to-Peer! 1) Quais as principais características dos sistemas peer-to-peer?! - Se projeto garante que cada usuário contribua com recursos para o sistema. - Embora possam diferir nos recursos que contribuem, todos os nós em um sistema peer-to-peer tem a mesma capacidade e responsabilidades funcionais. - Podem ser projetados para oferecer um grau limitado de anonimato para os provedores de usuários de recursos. - Para seu funcionamento eficiente, necessita a escolha de um algoritmo para arranjo dos dados em muito hosts e o subsequente acesso a eles, de uma maneira que equilibre a carga de trabalho e garanta a disponibilidade sem adicionar sobrecargas indevidas. 2) Cite e explique uma das principais deficiências em sistemas peer-to-peer?! Os diferentes computadores e conexões existem para usuários e organizações de sistemas peer-to-peer, podem não estar disponíveis para acesso se os proprietários não garantirem que irão mantê-los ligados, conectados e isento a falhas. Assim não podemos contar com acesso garantido a recursos individuais, pois pode não existir disponibilidade de processos e computadores participantes do sistema peer-to-peer. Projetar middleware para sistemas peer-to-peer em escala global é uma tarefa bem dificil. Os requisitos de escalabilidade e disponibilidade tornam impraticável manter um banco de dados em todos os nós clientes fornecendo fornecendo a localização de todos os recursos de interesse. 3) Quais as principais funções de um middleware peer-to-peer? É um mecanismo para permitir que aos clientes acessarem os recursos rapidamente e de maneira segura, quando estão localizados por toda rede. O sistema middleware peer-to-peer são projetados especificamente para atender a disponibilidade da disposição automática, e da subsequente localização, dos objetos distribuídos gerenciados por sistemas peer-to-peer. Para isso é necessário que cumpra alguns requisitos: funcionais e não funcionais. 4) Explique uma estratégia que pode ser usada para identificar, unicamente, recursos em um sistema P2P.! Podemos citar os overlays estruturados , a topologia do overlay é ditada por um esquema de alocação de chaves a ids de nodos, de forma a associar um determinado objeto ou serviço a um nodo específico de forma determinística e conhecida globalmente no overlay. A DHT funciona como uma tabela de roteamento distribuída, permitindo que um objeto seja encontrado em um pequeno número de passos. No entanto, ao empregar DHTs é necessário uma correspondência perfeita entre a chave buscada e a chave oferecida como parâmetro na busca; em outras palavras, o nodo requisitor precisa conhecer perfeitamente a chave do objeto procurado, e nem sempre isso é possível. 5) Explique o método de operação do Napster para permitir ao usuário obter um arquivo.! O napster é uma aplicação que fornece downloads de arquivos de musica digital. Sua arquitetura incluía índices centralizados, mas eram os usuários que forneciam os arquivos, os quais eram armazenados e acessados em seus computadores pessoais. O usuário fornece um arquivo de musica no pool de recursos compartilhados, transmitindo para o serviço de indexação do Napster um link para cada arquivo disponível. Esses recursos eram distribuídos em grande escala para os usuários em toda internet, através do fornecimento de acesso a “recursos compartilhados nos limites da internet”. 8) Cite e explique os principais requisitos de um middleware P2P.! - Requisitos funcionais: para simplificar a construção de serviços implementados em muitos hosts, em uma rede amplamente distribuída, devemos permitir aos clientes localizarem e se comunicarem com qualquer recurso individual e disponibilizado em um serviço, mesmo que os recursos estejam amplamente distribuídos entre os hosts. Outros requisitos importantes incluem a capacidade de adicionar novos recursos e removê-los à vontade, e de adicionar hosts no serviço e removê-los. E por ser um middleware deve oferecer interface de programação simples para programadores de aplicações, que seja independente dos tipos de recursos distribuídos manipulados pela aplicação. - Requisitos não-funcionais: - Ecalabilidade global: Deve ser projetado para suportar aplicativos que acessam milhões de objetos em dezenas ou centenas de hosts. - Balanceamento de carga: O desempenho balanceado entre os diferentes computadores é obtido através de um posicionamento aleatório dos recursos, junto com o uso de réplicas dos recursos muito utilizados. - Otimização das iterações locais entre peers vizinhos: O middleware deve ter como objetivo colocar os recursos próximos dos nós que mais os acessam. - Acomodar a disponibilidade altamente dinâmica dos hosts: Os hosts e os seguimentos de rede usados nos sistemas peer-to-peer devem ser gerenciados para prover confiabilidade e a participação garantida no abastecimento de um serviço. Quando os hosts entram no sistema, eles devem ser integrados nele e a carga deve ser redistribuída para explorar seus novos recursos. Quando ele saem dos sistema voluntária, ou involuntariamente, o sistema deve detectar sua saída e redistribuir sua carga e os recursos. - Segurança de dados em um ambiente com confiança heterogênea: A confiança deve ser estabelecida pelo uso de mecanismos de autenticação e criptografia, para garantir a integridade e privacidade da informação. - Anonimato, capacidade de negação e resistência à censura: Um requisito relacionado é de que os hosts que contém dados devem ser capazes de negar a responsabilidade por contê-los e fornecê-los, de forma plausível. O uso de grandes número de hosts nos sistemas peer-to-peer pode ser útil na obtenção dessas propriedades. 9) Qual a finalidade de um mecanismo de “sobreposição de roteamento”? Implementar um mecanismo de roteamento na camada de aplicação, que difere dos implementados a nível de rede. Ele deve garantir a segurança em face da disponibilidade volátil dos hosts e da conectividade intermitente da rede. De acordo com Plaxton et. al. [1997], essa estratégia de gerenciamento e localização de objetos replicados é eficaz em redes envolvendo muitos nós.
Compartilhar