Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lista de exercícios A Exercício 1 Dê três exemplos especí�cos e contrastantes dos níveis de heterogeneidade cada vez maiores experimentados nos sistemas distribuídos atuais, conforme de�nido na Seção 2.2 do livro adotado. Exercício 2 Para os aplicativos discutidos no exercício acima, quais estratégias de posicio- namento são empregadas na implementação dos serviços associados? Exercício 3 Um mecanismo de busca é um servidor Web que responde aos pedidos do cliente para pesquisar em seus índices armazenados e (concomitantemente) executa várias tarefas de web crawling para construir e atualizar esses índices. Quais são os requisitos de sincronização entre essas atividades concomitantes? Exercício 4 Frequentemente, os computadores usados nos sistemas peer-to-peer são compu- tadores desktop na casa ou no local de trabalho dos usuários. Quais são as implicações disso na disponibilidade e na segurança dos objetos de dados com- partilhados que eles contêm e até que ponto qualquer vulnerabilidade pode ser superada por meio da replicação? Exercício 5 Liste os tipos de recurso local vulneráveis a um ataque de um programa não con�ável, cujo download é feito de um site remoto e que é executado em um computador local. Exercício 6 Dê exemplos de aplicações em que o uso de código móvel seja vantajoso. 1 2 Exercício 7 Considere uma empresa de aluguel de carros hipotética e esboce uma solução de três camadas físicas para seu serviço distribuído de aluguel de carros. Use sua resposta para ilustrar vantagens e desvantagens de uma solução de três camadas físicas, considerando problemas como desempenho, mudança de escala, tratamento de falhas e manutenção do software com o passar do tempo. Exercício 8 Considere dois serviços de comunicação para uso em sistemas distribuídos as- síncronos. No serviço A, as mensagens podem ser perdidas, duplicadas ou re- tardadas, e somas de veri�cação se aplicam apenas aos cabeçalhos. No serviço B, as mensagens podem ser perdidas, retardadas ou entregues rápido demais para o destinatário manipulá-las, mas sempre chegam com o conteúdo correto. Descreva as classes de falha exibidas para cada serviço. Classi�que suas falhas de acordo com seu efeito sobre as propriedades de validade e integridade. O serviço B pode ser descrito como um serviço de comunicação con�ável? Exercício 9 Descreva as possíveis ocorrências de cada um dos principais tipos de ameaça à segurança (ameaças aos processos, ameaças aos canais de comunicação, negação de serviço) que poderiam ocorrer na Internet. Exercício 10 É concebivelmente útil que uma porta tenha vários receptores? Exercício 11 O XDR da Sun empacota dados convertendo-os para uma forma big-endian antes de transmiti-los. Discuta as vantagens e desvantagens desse método em comparação com o CDR do CORBA. Exercício 12 Por que não há nenhuma tipagem de dados explícita no CDR do CORBA? Exercício 13 Por que dados binários não podem ser representados diretamente em XML, por exemplo, como valores em Unicode? Os elementos XML podem transportar strings representados como base64. Discuta as vantagens ou desvantagens de usar esse método para representar dados binários. Exercício 14 Descreva as maneiras pelas quais o protocolo de requisição-resposta mascara a heterogeneidade dos sistemas operacionais e das redes de computador. 3 Exercício 15 Veri�que se as seguintes operações são idempotentes: 1. pressionar o botão �subir� no elevador; 2. escrever dados em um arquivo; 3. anexar dados em um arquivo. Além disso, é uma condição necessária para a idempotência o fato de a operação não estar associada a nenhum estado, ou seja, ser stateless? Exercício 16 Explique as escolhas de projeto relevantes para minimizar o volume de dados de resposta mantidos em um servidor. Compare os requisitos de armazenamento quando os protocolos RR e RRA são usados. Exercício 17 Suponha que o protocolo RRA esteja em uso. Por quanto tempo os servidores devem manter dados de resposta não con�rmados? Os servidores devem enviar a resposta repetidamente, em uma tentativa de receber uma con�rmação? Exercício 18 Um protocolo de requisição-resposta é implementado em um serviço de comuni- cação com falhas por omissão para fornecer semântica de invocação pelo menos uma vez. No primeiro caso, o desenvolvedor presume um sistema assíncrono distribuído. No segundo caso, o desenvolvedor presume que o tempo máximo para a comunicação e a execução de um método remoto é T . De que maneira esta última suposição simpli�ca a implementação?
Compartilhar