Exercícios Capítulo Sistemas Distribuídos
Por: Elivelton Fernando Oliveira • 12/9/2019 • Trabalho acadêmico • 2.657 Palavras (11 Páginas) • 825 Visualizações
Exercícios – Sistemas Distribuídos – Capítulo 1
1. Cite cinco tipos de recursos de hardware e cinco tipos de recursos de software ou dados que podem ser compartilhados. Exemplifique como esse compartilhamento ocorre em Sds.
Hardware: Discos, impressoras;
Software: arquivos, bases de dados,objetos;
Exemplo: compartilhamento de arquivos do google drive através da internet ou o compartilhamento de impressoras entre vários computadores de uma mesma rede.
2. Como sincronizar o relógio de dois computadores ligados por uma rede local sem referência a uma fonte externa de tempo? Quais fatores limitam a precisão do procedimento descrito por você? Como poderia um grande número de computadores conectados à Internet serem sincronizados? Discuta a precisão do procedimento.
Dois relógios ligados por uma rede local podem ser sincronizados sem uma fonte de hora externa, pois , sendo síncrono, é possível saber os limites da taxa de derivação dos relógios, o atraso máximo de transmissão de mensagens e o tempo que leva para executar cada etapa de um processo e a técnica que torna isso real chama-se relógios lógicos.
Um processo envia o tempo t de seu relógio local para o outro em uma mensagem m, pois o receptor se programaria para configurar o seu com o tempo t + Tmin, onde Tmin é o tempo necessário para levar a mensagem m de um para o outro, ocorrendo sincronia perfeita entre eles.
Entretanto Tmin pode sofrer uma variação desconhecida devido às variáveis que podem influenciar na queda do desempenho da rede(concorrência pelo canal de comunicação, por exemplo), mesmo assim, Tmin pode ser estimado considerando o canal sempre acessível, ou seja, livre de congestionamentos.
Além do Tmin, também existe um limite máximo de tempo para a transmissão da mensagem. Sendo a incerteza igual a Tmax – Tmin, o receptor pode configurar o seu relógio no ponto médio da incerteza, ou seja, somar o tempo t que demorou com o Tmax e o Tmin, sendo o desvio de no máximo a incerteza dividida por dois.
3. Considere as estratégias de implementação de MMOG (massively multiplayer online games) discutidas na Seção 1.2.2. Em particular, quais vantagens você vê em adotar a estratégia de servidor único para representar o estado do jogo para vários jogadores? Quais problemas você consegue identificar e como eles poderiam ser resolvidos?
Vantagem: Utilizar uma arquitetura cliente-servidor a qual uma única cópia do estado do mundo é mantida em um servidor centralizado e acessada por programas clientes em execução, nos consoles ou em outros equipamentos dos jogadores. A arquitetura centralizada ajuda significativamente no gerenciamento do mundo virtual e a cópia única também diminui as preocupações com a concorrência. Assim, o objetivo é garantir respostas rápida por meio, da otimização de protocolos de rede e também para eventos recebidos.
Desvantagem: Se o servidor central cair não teria outro para substituí-lo.
4. Considere um viajante em uma estação de trem que nunca visitou antes, portando seu PDA com dispositivos para conexão sem fio. Sugira como o usuário poderia descobrir os serviços oferecidos pela estação e enumere os desafios técnicos para alcançar tal objetivo.
Este usuário poderia se conectar a uma wifi, e receber informações sobre este local devido ao provedor desta wifi, inserir tais informações na rede. Aplicativos reconhecimento de localização também podem dar essas informações.
Desafios: O usuário deve executar um programa em seu dispositivo que executa estas URLs, dando controle suficiente, sem que elas estejam inundadas por URLs indesejadas. Os meios de propagar a URL(por exemplo, infravermelho ou uma LAN sem fio 802.11) devem ter um alcance que correspondem à propagação física do próprio local.
5. Compare e contraste a computação em nuvem com a computação cliente-servidor mais tradicional. O que há de novo em relação à computação em nuvem como conceito?
O modelo básico de funcionamento da internet é o chamado cliente-servidor, onde existe uma máquina central que tem armazenado os documentos que os usuários desejam ver e estes, por sua vez, são chamados clientes.
A computação em nuvem é a distribuição de serviços de computação – servidores, armazenamento, banco de dados, redes, software, análise, inteligência e muito mais pela internet(“a nuvem”), proporcionando inovações mais rápidas, recursos flexíveis e economia na escala. Você normalmente paga apenas pelos serviços de nuvem que utiliza, ajudando a reduzir os custos operacionais, a executar sua infraestrutura com mais eficiência e a dimensionar conforme as necessidades de sua empresa.
6. Utilize a WWW como um exemplo para ilustrar os conceitos de compartilhamento de recurso, cliente e servidor. Quais são as vantagens e desvantagens de HTML, URL e HTTP como as tecnologias base para navegação em informação? Alguma dessas tecnologias é conveniente como base para a computação cliente/servidor em geral?
Uma página web é qualquer documento que faça parte de um sítio web e que costuma conter ligações (igualmente chamadas hiperligações ou links) para facilitar a navegação entre os conteúdos.
HTML: É uma linguagem relativamente simples para analisar e processar, está disponível em diversas plataformas e sua performance é ótima em PC`s, dispositivos móveis e tablets, mas confunde apresentação com os dados subjacentes que estão sendo apresentados.
URL: O objetivo de um URL é identificar um recurso. Os navegadores examinam os URL`s para acessar os recursos correspondentes. O usuário digita um url no navegador, mais comumente, o navegador pesquisa o url correspondente quando o usuário clica em um link, quando seleciona um url de sua lista de bookmarks ou quando o navegador busca um recurso incorporado em uma página web como imagem. A desvantagem é que não são suficientemente ricos como links de recursos.
HTTP: São protocolos simples de serem implementados, mas apesar de serem sensíveis, eles são tratados de forma textual, já que o HTTP é um protocolo baseado em texto. Dessa forma, dados que são enviados podem ser acessados no meio do tráfego, prejudicando muito a segurança de informação.
HTTP e URLs são convenientes como uma base para a computação cliente-servidor.
7. Um programa servidor escrito em uma linguagem (por exemplo, C++) fornece a implementação de um objeto BLOB destinado a ser acessado por clientes que podem estar escritos em outra linguagem (por exemplo, Java). Os computadores cliente e servidor podem ter hardware diferente, mas todos eles estão ligados em uma rede. Descreva os problemas devidos a cada um dos cinco aspectos da heterogeneidade que precisam ser resolvidos para que seja possível um objeto cliente invocar um método no objeto servidor.
...