Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
1.2 - Como os relógios de dois computadores ligados por uma rede local podem ser
sincronizados sem referência a uma fonte de hora externa? Quais fatores limitam a
precisão do procedimento que você descreveu? Como os relógios de um grande número
de computadores conectados pela Internet poderiam ser sincronizados? Discuta a
precisão desse procedimento.
R: Já que o relógio é 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, através da técnica de relógios lógicos. O
relógio lógico de Lamport é um contador de software que aumenta a contagem
monotonamente cujo valor não precisa ter nenhum relacionamento em particular com
qualquer relógio físico. Não existe a noção de relógio global em um sistema
distribuído; portanto, os relógios de diferentes computadores não fornecem
necessariamente a mesma hora. Toda comunicação entre processos é obtida por meio de
troca de mensagens. A comunicação por troca de mensagens em uma rede de
computadores pode ser afetada por atrasos, sofrer uma variedade de falhas e ser
vulnerável a ataques contra a segurança. É impossível fazer a sincronização através
de sistemas assíncronos
1.6 - Use a World Wide Web como exemplo para ilustrar o conceito de
compartilhamento de recursos, cliente e servidor. Quais são as vantagens e
desvantagens das tecnologias básicas HTML, URLs e HTTP para navegação em
informações? Alguma dessas tecnologias é conveniente como base para a computação
cliente-servidor em geral?
R: Páginas da Web são exemplos de recursos que são compartilhados. Esses recursos
são gerenciados por servidores Web. Arquitetura cliente-servidor. O Navegador da
Web é um programa cliente (por exemplo, Firefox ou IE) executado no computador. O
servidor Web acessa os arquivos locais que contêm as páginas da Web e os fornece ao
cliente (processos do navegador). HTML é uma linguagem relativamente simples para
analisar e processar, mas confunde apresentação com os dados subjacentes que estão
sendo apresentados. Os URLs são localizadores de recursos eficientes, mas não são
suficientemente ricos como links de recursos. Por exemplo, eles podem apontar para
um recurso que foi realocado ou destruído; sua granularidade (como um recurso) é
muito grosseira para muitos propósitos. O HTTP é um protocolo simples que pode ser
implementado com uma pequena pegada e que pode ser usado em muitos tipos de
transferência de conteúdo e outros tipos de serviço. Sua verbosidade (mensagens
HTML tendem a conter muitas strings) torna ineficaz para passar pequenas
quantidades de dados. HTTP e URLs são aceitáveis como uma base para a computação
cliente-servidor, exceto que (a) não há forte typechecking (serviços web operam por
tipo de verificação de valor sem apoio do compilador), (b) há a ineficiência que
mencionamos.
1.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.
R: À medida que os computadores estão ligados a uma internet, podemos supor que os
protocolos da Internet lidar com as diferenças de redes. Mas os computadores podem
ter um hardware diferente - portanto, temos de lidar com as diferenças de
representação de itens de dados de pedido e mensagens de resposta dos clientes aos
objetos. Um padrão comum será definido para cada tipo de item de dados que devem
ser transmitidos entre o objeto e seus clientes. Os computadores podem executar
sistemas operacionais diferentes, portanto, temos de lidar com diferentes operações
para enviar e receber mensagens ou para expressar invocações. Assim, no / C ++
nível Java uma operação comum faria ser usado que será traduzido para a operação
específica de acordo com o sistema operacional que ele é executado. Temos duas
diferentes linguagens de programação C ++ e Java, eles usam representações
diferentes para dados estruturas, tais como cordas, arrays, registros. Um padrão
comum será definido para cada tipo de estrutura de dados que devem ser transmitidos
entre o objeto e seus clientes e uma maneira de traduzir entre essa estrutura de
dados e cada um dos idiomas. Podemos ter diferentes implementadores, por exemplo,
um para C ++ e outra para Java. Eles terão de acordar sobre as normas comuns
mencionadas acima e para documentá-los
1.9 - Suponha que as operações do objeto BLOB sejam separadas em duas categorias –
operações públicas que estão disponíveis para todos os usuários e operações
protegidas, que estão disponíveis somente para certos usuários nomeados. Indique
todos os problemas envolvidos para se garantir que somente os usuários nomeados
possam usar uma operação protegida. Supondo que o acesso a uma operação protegida
forneça informações que não devem ser reveladas para todos os usuários, quais
outros problemas surgem?
1.13 - Um serviço é implementado por vários servidores. Explique por que recursos
poderiam ser transferidos entre eles. Seria satisfatório para os clientes fazer
multicast (difusão seletiva) de todos os pedidos para o grupo de servidores, como
uma maneira de proporcionar transparência de mobilidade para os clientes?
R: As mensagens multicast fornecem uma infraestrutura útil para a construção de
SDs com as seguintes características: Tolerância a falhas baseadas na replicação de
serviços. Localização de objetos em serviços distribuídos. Melhor desempenho via
replicação de dados. Múltipla atualização.
1.14 - Os recursos na World Wide Web e outros serviços são nomeados por URLs. O que
denotam as iniciais URL? Dê exemplos de três diferentes tipos de recursos da Web
que podem ser nomeados por URLs.
R: URL significa Unifor Resource Locator(localizador de recurso uniforme).Três
exemplos de recursos que podem usar URLs: um arquivo ou u ma
imagem, filme, som, qualquer coisa que pode ser processado, uma
consulta a um banco de dados ou a um mecanismo de busca.
1.15 - Cite um exemplo de URL HTTP. Liste os principais componentes de um URL HTTP,
dizendo como seus limites são denotados e ilustrando cada um, a partir de seu
exemplo. Até que ponto um URL HTTP tem transparência de localização?
R: Exemplo de URL HTTP: http:/ifapa.edu.br/index.php
Principais componentes: Antes do “:” define o protocolo: ex: http (“Hyper Text
Transport Protocol). A parte entre // e / é o nome do domínio no servidor web. Ex:
ifpa.edu.br; O resto refere-se à informação solicitada ao servidor (recurso) que
está dentro de um diretório usado no servidor web. Ex: o recurso “index.php” está
localizado no diretório raiz do servidor ifpa.edu.br; quanto à transparência: O
nome do host “www” é independente da localização, por isso temos a transparência do
local em que o endereço de um determinado computador não está incluído. Portanto, a
organização pode mover o serviço da Web para outro computador. Porém, se a
responsabilidade de fornecer um serviço de informações baseado em WWW se deslocar
para outra organização, a URL precisaria ser alterada.