8 minuto(s) de leitura

Aula 7

O que são nomes? Qual sua relação com a transparência de localização?

Nomes descrevem entidades e referenciam endereços, usados na resolução de nomes.

Garantem transparência de localização pois ao mudar o ponto de acesso o nome continua o mesmo (servidor de nomes deve manter a referência atual dos pontos de acesso)).

O que é LDAP? Quais são suas siglas e hierarquias?

LDAP (lightweight directory access protocol): implementação aberta desenvolvida para uso na Internet que opera na pilha TCP/IP, inspirada no modelo de serviço de diretórios X.500 DAP que opera na pilha ISO/OSI (implementação complexa).

A hierarquia é:

  • (root)
  • DC Domain Component
  • C Country
  • L Locality
  • O Organization
  • OU Organizational Unit
  • CN Common Name

Desenhe a hierarquia LDAP abaixo:

“No topo da hierarquia da Universidade de São Paulo (USP), no Brasil, está o Departamento de Física, que abriga o Servidor Central — essencial para gerenciar e distribuir dados de pesquisa entre pesquisadores e estudantes. Esse servidor centraliza a segurança e a eficiência na troca de informações dentro do departamento.

Conectados a ele, estão os hosts Sirius e Andromeda, ambos em São Paulo. Sirius (IP 143.107.251.45) armazena grandes volumes de dados experimentais, enquanto Andromeda (IP 143.107.251.46) é responsável pelo processamento de simulações e análises complexas. Juntos, esses hosts garantem acesso constante aos dados cruciais para as pesquisas, contribuindo para a excelência acadêmica do departamento.”

image

image

Aula 8

Explique o que é transação e como usa o commit e o rollback. Defina e explique ACID.

Transação é uma sequência definida de operações e eventos que podem usar recursos compartilhados e devem proteger o acesso simultâneo a estes. Ao ser iniciada, commit solicita que outros processos se comprometam com o primero, tendo um resultado permanente e/ou rollback discorda da situação e toda a transação é revertida ao ponto de partida.

ACID é uma das propriedades de uma transação.

  • Atômica: transações são indiviseis.
  • Consistente: o sistema deve ser mantido em estado consistente.
  • Isolada: uma transação não pode interferir em outra transação.
  • Durável: os efeitos de uma transação são permanentes.

Explique o gerenciamento de transações X scheduler.

Gerenciamento de transações: garante atomicidade das transações, transforma primitivas em chamadas de escalonador e acessa diversos escalonadores.

Escalonador: controle da concorrencia e determina qual transação pode passar operações de leitura e escrita ao gerenciador de dados.

O que é serialização e como isso pode usar o algortimo 2FL?

A Serialização impõe ordem de execução, isola transações simultâneas e garante que o resultado seja equivalente ao de uma execução sequencial.

O algoritmo de bloqueio em duas fases (2PL) pode ser utilizado para dar suporte à serialização já que funciona bloqueando um recurso sempre que uma transação precisa acessá-lo (growing phase) ou liberando o recurso quando não é mais usado (shrinking phase).

Aula 9

Defina disponibilidade e confiabilidade.

Disponibilidade: quanto do SD está disponível para ser usado imediatamente (estar operante).

Confiabilidade: quanto do SD pode operar de forma confiável.

Forneça um exemplo de disponibilidade e confiabilidade.

Se um sistema parar por um milissegundo a cada hora -> disponibilidade será alta e confiabilidade baixa.

Se um sistema nunca falha, mas fica desligado duas semanas todo mês de agosto -> sua confiabilidade será alta e disponibilidade de apenas 96%.

Defina defeito, erro e falha e apresente um exemplo de cada.

Falha: causa que originou o erro.
Ex: ocorreu um problema na comunicação com o banco de dados durante o cadastro.

Erro: parte do estado de um SD originado por uma falha.
Ex: dados incorretos de autenticação estão armazenados na memória do sistema.

Defeito: consequência de um estado de erro do SD (não cumpre promessa).
Ex: sistema de login não autentica o usuário, mesmo com senha correta.

Defina falhas transientes, intermitentes e permanentes e apresente um exemplo de cada.

Falhas transientes: falhas que ocorrem apenas uma vez e desaparecem.
Ex: perda de sinal por alguns segundos ao usar streaming de vídeo.

Falhas intermitentes: não definem um padrão exato e são imprevisíveis.
Ex: mau-contato de fios.

Falhas persistentes: não podem ser consertadas e implicam em danos irreparáveis.
Ex: bugs, dano físico em hardware.

Do que se trata o agrupamento de processos? Compare com TCP/UDP.

É uma organização para replicação de processos onde processos idênticos são agrupados e podem receber multicast por grupos dinâmicos.

Os grupos podem ser plano (processos têm papéis iguais e decisões coletivas) ou hierárquico (um processo será o eleitor e fará papel diferente dos demais).

Comunicações com o TPC geram falhas, mascaram falhas e geram problema com a abordagem ponto-a-ponto (um canal entre cada par).

O agrupamento de processos resolve isso com SRM (scalable reliable multicasting) onde só são comunicadas as mensagens faltantes, reduzindo a demanda de tráfego na rede.

Explique 2FC.

Ocorre através de 2 fases.

A primeira é a fase de votação onde o coordenador envia uma mensagem ‘VOTE_REQUEST’ para os participantes. Os participantes podem responder ‘VOTE_COMMIT’ se estiverem preparados para fazer o commit local ou ‘VOTE_ABORT’ caso contrário.

A segunda é a fase de decisão onde o coordenador obtém os valores e responde a todos ‘GLOBAL_COMMIT’ se todos votarem a favor ou ‘GLOBAT_ABORT’ se apenas um votar em abortar.

Os participantes aguardam a resposta: se for ‘GLOBAL_COMMIT’ executam o commit local da transação e se for ‘GLOBAT_ABORT’ a transação local é abortada.

Aula 10

Defina confidência e integridade.

Confidência: a informação deve ser acessível apenas a quem for autorizado.

Integridade: as alterações na informação mantida por um sistema só podem ser realizadas das maneiras previstas e autorizadas.

Liste os tipos de criptografia. O que assimetria e simetria? como ocorre a autenticação? O que é assinatura digital? E hashing?

Simétricas: possui uma chave, usada tanto para criptografar quanto descriptografar. O texto é criptografado com uma chave qualquer e é descriptografado com a mesma. Algoritmo é simples e de baixo custo computacional, melhor desempenho, problema é como enviar a chave única sem vazamento e é criptografia bidirecional. EX: DES, 3DES, AES, IDEA.

Assimétricas: possui duas chaves, pública (pode ser distribuida em públio) e privada (fica guardada em segredo com o dono). O texto é criptografado com a chave pública pelo destino e só pode ser descriptografado com a chave privada do mestre, ou vice-versa. Podem ser distribuídas livremente e seu algoritmo apresenta alto custo computacional (pior desempenho), é impossível obter uma chave a partir de outra e é criptografia unidirecional. Ex: RSA, Diffie-Helman, Elgamal.

Assinatura digital: conteúdo cifrado e transmitido junto com a mensagem para sua conferência. Usadas para garantir autenticidade da mensagem (integridade) e pode ser implementadas na comunicação de duas entidades junto com o algoritmo de chave pública, onde uma entidade assina sua mensagem com sua chave privada e depois com a chave pública da outra antes de enviar e, no processo inverso, a outra decifra primeiro com sua chave privada e depois com a pública da entidade que enviou, provando para a outra que ela é ela mesma.

Hashing criptográfico: funciona “digerindo” uma mensagem de qualquer tamanho e gerando um índice hash de tamanho fixo. É considerada criptografia de caminho único pois é computacionalmente impossível recuperar a mensagem.

Explique o controle de acesso com ticket.

Um ticket de acesso assinado digitalmente é fornecido ao cliente que apresentará ao objeto de destino e este pode então confirmar a validade da autorização com o servidor e atender o pedido.

Essa estratégia reduz bastante a demanda pelo servidor para validação de acesso.

Aula 11 e 12

O que são stubs, skeletons e interfaces?

image

  • Stub: representação local que disponibiliza todos os métodos expostos pela interface do objeto remoto.

  • Skeleton: implementação server-side do objeto distribuído.

  • Interfaces: descreve os métodos que serão expostos pelos objetos distribuídos.

Esses conceitos são aplicáveis a muitas outras tecnologias de comunicação remota, como: CORBA, gRPC e SOAP.

  • Para acessar métodos de um objeto distribuído o cliente deve utilizar a interface remota desse objeto presente no stub.

  • O stub intercepta a chamada e a remete ao objeto que representa a implementação (skeleton) no servidor.

Liste detalhadamente os passos de funcionamento das interface, stub e skeleton.

  • 1 . A interface define os métodos que o cliente pode chamar.

  • 2 . O stub recebe uma chamada para um método da interface, serializa os parâmetros e envia a requisição ao servidor.

  • 3 . O skeleton recebe a requisição, desserializa os parâmetros, chama o método correspondete no servidor e serializa a resposta enviando ao cliente.

  • 4 . O stub desserializa a resposta e retorna o resultado ao cliente.

De que forma o stub empacota os parâmetros em invocações remotas de métodos?

O stub usa marshalling para serializar os parâmetros em um formato transmissível pela rede.

Descreva, sucintamente, as principais diferenças entre as tecnologias de middleware: RPC, DCOM, CORBA e Java/RMI.

Diferenças entre RPC, DCOM, CORBA e Java/RMI:

  • RPC: Simples, orientado a chamadas de função, linguagem e plataforma dependentes.

  • DCOM: Extensão do COM da Microsoft, usa protocolos proprietários, dependente de Windows.

  • CORBA: Padrão multiplataforma e multilíngue, usa IIOP para comunicação.

  • Java/RMI: Específico para Java, usa serialização de objetos.

Compare e classifique: RPC, RMI, DCOM, CORBA, WS (WebServices).

RPC: remote procedure call, comunicação através de stubs cliente (tratam passagem de argumentos e comunicação) e server (passam chamadas locais a procedimentos do servidor) - transparência: empacota e desempacota parâmetros para serem transmitidos na rede e converte representação.

RMI: remote method invocation, servidor define interface para acesso remoto e cliente localiza servidor através de nomes além de que a chamada stub faz comunicação transparente com o skeleton e empacota os parâmetros.

DCOM: distributed componente object model, servidor fornece objetos em tempo de execução em interfaces e cliente chama os métodos do server através de um objeto proxy.

CORBA: common object request broker architecture, independente de linguagem e plataforma, conhecida como ORB localiza objetos implementados, prepara para atender requisições e comunica requisições e respostas.

WS: web service, apresenta interoperabilidade, baseados em padrões abertos, uso do XML, abrangência e alcançabilidade.

Defina Web Services e apresente suas principais características.

Sistemas baseados em XML (SOAP/REST) para comunicação entre aplicações, independentes de linguagem e plataforma.

Descreva uma vantagem que o uso de Web Services apresenta frente a cada uma das seguintes tecnologias: DCOM, RMI, CORBA. Justifique cada uma.

Vantagens de Web Services sobre DCOM, RMI e CORBA:

  • DCOM: Independência de plataforma (não restrito ao Windows).
  • RMI: Interoperabilidade entre diferentes linguagens, não apenas Java.
  • CORBA: Menor complexidade e maior compatibilidade com sistemas modernos via HTTP.

Quais são os dois tipos de transações suportadas por Web Services?

São as transações atômicas similar a CORBA Object Transaction Service (CORBA OTS) ou transações distribuídas de longa duração.

Deixe um comentário