Cap. 07 Consistência e Replicação

Tamanho: px
Começar a partir da página:

Download "Cap. 07 Consistência e Replicação"

Transcrição

1 Cap. 07 Consistência e Replicação 7.1 Introdução Razões para a Replicação Replicação como Técnica de Escalabilidade 7.2 Modelos de Consistência Data-Centric Consistência Contínua Ordenação Consistente de Operações 7.3 Modelos de Consistência Client-Centric Consistência Eventual Leituras Monotônicas Escritas Monotônicas Pg. 1/116

2 Cap. 07 Consistência e Replicação 7.3 Modelos de Consistência Client-Centric Leia suas Escritas Escritas seguem Leituras 7.4 Gerenciamento de Replicação Possicionamento do Servidor de Réplica Localização e Replicação de Conteúdo Distribuição de Conteúdo Pg. 2/116

3 Cap. 07 Consistência e Replicação 7.5 Protocolos de Consistência Consistência Contínua Protocolo Primary Based Protocolo Replicated-Write Protocolo Cache-Coherence Implementação de Consistência Client-Centric Pg. 3/116

4 Referências Bibliográficas Andrew S. Tanenbaum; Maarten van Steen - Distributed Systems: Principles and Paradigms, Prentice-Hall, 2007, ISBN-10: , ISBN-13: Lectures dos autores Andrew S. Tanenbaum e Maarteen van Steen ( e ) George Coulouris; Jean Dollimore; Tim Kindberg Sistemas Distribuídos: Conceitos e Projeto, Bookman, 4th Edition, 2007, ISBN Notas de Aula do Prof. Ricardo Anido do Instituto de Computação (IC) da UNICAMP - Pg. 4/116

5 7 Consistência e Replicação 7 Consistência e Replicação Replicação de Dados - consiste em manter múltiplas cópias de dados, chamadas de réplicas, em diferentes computadores. problema - manter a consistência entre as cópias, ou seja, quando um cópia é atualizada é necessário garantir que todas as outras cópias sejam também atualizadas. 1a Abordagem - Leslie Lamport (1978) - Times, Clocks, and the Ordering of Events in a Distributed System tema de interesse em sistemas distribuídos e em banco de dados, mas sob diferentes aspectos. Pg. 5/116

6 7 Consistência e Replicação 7 Consistência e Replicação contexto - modelos de consistência para dados compartilhados são difíceis de serem implementados eficientemente em sistemas distribuídos de larga escala; duas questões constituem os principais aspectos de projeto de implementação dos modelos de consistência: gerenciamento de réplicas e como réplicas são mantidas. Pg. 6/116

7 7 Consistência e Replicação 7.1 Introdução Razões para a Replicação reliability - dependability, or reliability, describes the ability of a system or component to function under stated conditions for a specified period of time [Wikipedia 2014] availability - the ratio of (a) the total time a functional unit is capable of being used during a given interval to (b) the length of the interval [Wikipedia 2014] São várias as razões para replicação, das quais se destacam: confiabilidade - réplicas garantem que não haverá um único ponto de falha no sistema. disponibilidade - réplicas propiciam o aumento da disponibilidade do sistema como consequência da confiabilidade. Pg. 7/116

8 7 Consistência e Replicação 7.1 Introdução Razões para a Replicação razões para replicação, das quais se destacam: transparência de falha - em caso de falha, o usuário pode ser movido para outra réplica sem notar que a falha ocorreu. desempenho - balanceamento de carga, uso de cache, escalabilidade geográfica, aumento do sistema. consistência de dados - processo para manter uma informação uniforme conforme ela se move em uma rede ou entre vários processos de um computador. Obs.: fato de existir múltiplas cópias de dados, objeto de leitura e escrita de vários processos, gera o problema de inconsistência. Pg. 8/116

9 7 Consistência e Replicação 7.1 Introdução Replicação como Técnica de Escalabilidade Replicação e Caching são largamente utilizadas como técnicas de escalabilidade para efeito de desempenho; questões de escalabilidade normalmente aparecem na forma de problemas de desempenho, assim: disponibilizar cópias de dados próximas aos processos que as utilizam pode melhorar o desempenho pela redução do tempo de acesso e, assim, resolver problemas de escalabilidade. dilema - modificação desses dados em uma réplica exige que as outras cópias sejam atualizadas para manter a consistência. dilema - propagar a modificação para cada réplica é um processo caro e pode causar perda de desempenho no sistema. Pg. 9/116

10 7 Consistência e Replicação 7.1 Introdução Replicação como Técnica de Escalabilidade em muitos casos, a única solução é diminuir as restrições de consistência, ou seja, não exigir que a atualização seja executada como uma operação atômica => ganho de desempenho. nesta abordagem, evita-se a sincronização global (instantânea) dos dados => ganho de desempenho. Pg. 10/116

11 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric 7.2 Modelos de Consistência Data-Centric contexto - modelos de consistência são analisados tradicionalmente por meio de operações de leitura/escrita sobre dados compartilhados (memória ou banco de dados compartilhado). data store - pode se encontrar fisicamente distribuído em diferentes máquinas e com as sequintes características: cada processo pode acessar dados do repositório através de um cópia local de todo o conteúdo do repositório; operações de escrita são propagadas para todas as cópias; operação de dados é classificada como escrita quando altera o dado, diferentemente da operação de leitura. Pg. 11/116

12 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric 7.2 Modelos de Consistência Data-Centric Fig. 7.1 Organização geral de um Data Store, fisicamente distribuído e replicado sobre múltiplos processos. Pg. 12/116

13 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric 7.2 Modelos de Consistência Data-Centric consistency model - é essencialmente o contraste entre os processos e o repositório de dados, no sentido das regras acordadas entre os mesmos para manter a consistência. processos que realizam a leitura de um dado esperam que o valor retornado seja o valor da última escrita nesse dado; na ausência de um relógio global, é difícil definir qual operação de escrita é a última no contexto de sistemas distribuídos; assim, modelos de consistência restringem os valores que uma operação de leitura pode retornar sobre um item de dados. Pg. 13/116

14 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Consistência Contínua Yu e Vehdat (2002) propõem 03 classes de inconsistências: desvio de valores numéricos entre réplicas ; desvio de idade entre réplicas; desvio em relação à ordenação de operações de escrita. desvio de valor numérico - ocorre em aplicações onde os dados possuem semântica numérica. solução óbvia - definir um desvio numérico absoluto ou relativo entre os valores assumidos pelas cópias, assim:... enquanto os valores estiverem dentro do limite estabelecido de desvio, serão considerados como consistentes. Pg. 14/116

15 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Consistência Contínua desvio de valor numérico - também pode ser entendido como o nro. de atualizações aplicadas a uma réplica, mas ainda não disponíveis para as demais réplicas. e.g., réplicas de registros de preços de ações desvio numérico absoluto - preço de uma ação entre as réplicas não deve variar mais que $ 0,02; desvio númerico relativo - diferença entre o valor de duas cópias não deve ser maior 5%. Pg. 15/116

16 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Consistência Contínua desvio de idade - relacionado com a diferença de tempo da data da versão atual para a data da última atualização. e.g., réplica de uma previsão de tempo será considerada consistente por uma hora, independente do número de atualizações que ocorram nesse período. Pg. 16/116

17 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Consistência Contínua desvio de ordenação - ordem das operações de atualização em cada réplica podem ser diferentes dentro de um certo limite. correções são feitas alterando a ordem dessas atualizações antes de persistí-las em definitivo. Obs.: dependência de um acordo global de atualização, pode reverter atualizações já completadas para na sequência aplicá-las em uma ordem diferente de modo que se tornem permanentes. Pg. 17/116

18 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Consistência Contínua Yu e Vehdat (2002) introduziram o conceito de unidade de consistência ou Consistency Unit ou conit - especifica a unidade sobre a qual a consistência deve ser medida; ou seja, um conit pode ser definido como um registro representando 01 estoque único ou relatório individual de tempo. e.g., considere 02 réplicas A e B com um conit contendo os itens de dados x e y ; cada réplica contém um relógio vetorial bidimensional VC i (Cap. 06), com a notação t, i expressando que uma operação foi realizada pela réplica i no tempo lógico t (tempo local). Pg. 18/116

19 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Consistência Contínua Fig. 7.2 Exemplo do rastreamento do desvio de consistência extraído do artigo Yu e Vehdat (2002). Pg. 19/116

20 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Consistência Contínua Note que há a uma negociação entre conits com granularidade fina e conits com granularidade grossa; e.g. considere um conit como um banco de dados completo, assim a atualização de dados está condicionada a todo o conjunto de dados naquele unidade de consistência; como consequência, este cenário pode produzir réplicas rápidas não consistentes estado inconsistente. e.g., considere 02 réplicas que se diferem não mais do que por uma única atualização contexto de granularidade grossa, ou seja, um conit consiste de 02 itens de dados (Fig. 7.3) Pg. 20/116

21 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Consistência Contínua Fig. 7.3 Escolha da granularidade correta de um conit. a. 02 atualizações disparam uma propagação de atualização. Pg. 21/116

22 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Consistência Contínua Fig. 7.3 Escolha da granularidade correta de um conit. a. 02 atualizações disparam uma propagação de atualização. b. não há a necessidade de propagação de atualização. Pg. 22/116

23 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Consistência Contínua conits grandes - levam a réplica ao estado de inconsistência mais rápido quando comparada com conits pequenos. conits pequenos - aumentam o número de conits que precisam ser gerenciadas e, por consequência, afetam o desempenho. Obs.: para implementação deste mecanismos, faz-se necessário criar protocolos de consistência, por outro lado, identificar os seus requisitos não é uma tarefa nada fácil. Pg. 23/116

24 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Ordenação Consistente de Operações Nesta seção, discutiremos operações ordenadas de forma consistente sobre dados compartilhados e replicados. neste contexto, quando tentativas de atualização em réplicas necessitam ser concluídas, as réplicas terão que acordar quanto a ordenação global destas atualizações. é necessário que as réplicas concordem na ordenação consistente das atualizações para garantir a consistência. Pg. 24/116

25 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Ordenação Consistente de Operações Para melhor entendimento dos modelos a serem discutidos, processos realizam operações de escrita Wi(x)a e leitura Ri(x)a sobre dados ao longo do tempo, para tanto, seja a notação: Wi(x)a Processo Pi escreve/atualiza o dado x com o valor a ; Ri(x)b Processo Pi lê o dado x retornando o valor b eixo x representa o tempo que cresce da esquerda para a direita. Fig. 7.4 Comportamento de 02 processos operando sobre o mesmo item de dado x com operações de escrita e leitura. Pg. 25/116

26 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Ordenação Consistente de Operações Fig. 7.4 Comportamento de 02 processos operando sobre o mesmo item de dado x com operações de escrita e leitura. Wi(x)a é inicialmente realizada sobre uma cópia local do repositório de dados para P1 e, subsequentemente, é propagada para as outras cópias do repositório de dados; P2 lê mais tarde o valor NIL e algum tempo depois o valor a da sua cópia local do repositório de dados; leva-se um tempo para propagar a atualização de x para P2, o que é perfeitamente aceitável. Pg. 26/116

27 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Ordenação Consistente de Operações consistência sequencial - importante no modelo de consistência centrado em dados, foi definida por Lamport em 1979 no contexto de memória compartilhada de sist. multiprocessados. definição - resultado de qualquer execução é o mesmo que seria se as operações de leitura e escrita fossem executadas em alguma ordem sequencial por todos os processos no repositório; onde, as operações de cada processo aparecem nesta sequência em uma ordem especificada pelo seu programa. Obs.: definição sugere que quando processos executam concorrentemente em diferentes máquinas, um entrelaçamento válido de operações de leitura e escrita é aceitável, desde que todos os processos enxerguem o mesmo entrelaçamento. Pg. 27/116

28 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Ordenação Consistente de Operações neste contexto, um processo enxerga writes de todos os processos, mas somente seus próprios reads. Fig. 7.5 a. consistência sequencial do repositório de dados; b. repositório de dados sem consistência sequencial. Pg. 28/116

29 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Ordenação Consistente de Operações a. mostra um depósito de dados sequencialmente consistente, apesar de P3 e P4 terem lido um valor antigo; b. mostra um depósito de dados não consistente porque P3 e P4 não enxergam a mesma intercalação de operações de escrita. Fig. 7.5 a. consistência sequencial do repositório de dados; b. repositório de dados sem consistência sequencial. Pg. 29/116

30 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Ordenação Consistente de Operações e.g., considere 03 processos executando concorrentemente onde os itens de dados são formados por 03 variáveis x, y e z de um repositório de dados compartilhado. variáveis são inicializadas com o valor 0 ; operação de atribuição corresponde a operação de escrita; declaração de impressão corresponde a 02 operações de leitura. Fig processos executando concorrentemente. Pg. 30/116

31 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Ordenação Consistente de Operações análise - 06 declarações, 720 (6*5*4*3*2*1 = 6!) sequências de execução são possíveis, ainda que algumas sejam inválidas; são 120 (5!) sequências que iniciam com x 1, ½ das quais tem print(x,z) antes de y 1 o que viola a sequência no prog.; ½ das sequências tem print(x,y) antes de z 1, o que também viola a ordem do programa; análise semelhante cabe para sequências iniciadas por y 1 e sequências iniciadas por z 1 ; deste total, 90 sequências são válidas, 30 iniciando com x 1, 30 iniciando com y 1 e 30 com z 1. Pg. 31/116

32 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Ordenação Consistente de Operações Fig sequências válidas de execução para os processos P1, P2, e P3 como mostrados na Fig eixo imaginário na vertical representa a linha do tempo. Pg. 32/116

33 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Ordenação Consistente de Operações signature - concatenação das saídas de P1, P2, e P3, nesta ordem, formando um string de 06 bits que caracteriza uma sequência particular de comandos / declarações. nem todas as 64 combinações de bits são válidas: p.ex., não é permitida pois implica que as declarações print(y,z), print(x,z) e print(x,y) são executadas antes de x 1, y 1, z 1 viola a ordem de execução definida pelos programas. p.ex., também não é permitida, pois se assumirmos que P1 inicia a execução, então os 02 primeiros bits representam print(y,z) ; os próximos 02 bits 10 significam que P2 deve executar depois de P1 e antes de P3 e os últimos 02 bits 01 significam que P3 deve executar antes de P1 executar, mas já vimos que P1 deve executar primeiro. Pg. 33/116

34 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Ordenação Consistente de Operações consistência causal - proposto por Hutto e Ahamad (1990) representa uma consistência sequencial fraca para garantir concorrência em memória compartilhada distribuída. faz distinção entre eventos potencialmente relacionados por causalidade e os que não são relacionados por causalidade. e.g., se o evento b é causado ou influenciado por um evento anterior a, todos devem ver primeiro a e depois b. Obs.: operações não relacionadas por causalidade são comumente denominadas concorrentes. Pg. 34/116

35 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Ordenação Consistente de Operações consistência por causalidade - data store é considerado consistente por causalidade se satisfaz a seguinte condição: escritas que são potencialmente relacionadas por causalidade devem ser vistas por todos os processos na mesma ordem; escritas concorrentes,ou seja, sem relação de causalidade, podem ser vistas em ordem diferente em máquinas diferentes. implementação - consistência causal exige que as dependências entre operações seja monitorada, o que pode ser feito com o uso de marcas de tempo vetoriais. e.g., como exemplo de consistência causal, considere 04 processos P1, P2, P3 e P4 e uma sequência de eventos. Pg. 35/116

36 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Ordenação Consistente de Operações e.g., como exemplo de consistência causal, considere 04 processos P1, P2, P3 e P4 e uma sequência de eventos. W2(x)b e W1(x)c são concorrentes, assim não é exigido que todos os processos enxerguem estas operações na ordem. Fig. 7.8 Sequência de eventos com consistência de causalidade, mas não com consistência sequencial. Pg. 36/116

37 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Ordenação Consistente de Operações a. W2(x)b potencialmente depende W1(x)a porque b pode ser um resultado envolvendo o resultado do cálculo de a - R 2(x)a ; 02 operações de write estão relacionadas pela relação de causalidade, assim todos os processos devem exergar todas estas operações na mesma ordem. Fig. 7.9 a. violação da consistência de causalidade; b. sequência correta de eventos com consistência de causalidade. Pg. 37/116

38 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Ordenação Consistente de Operações b. W2(x)b potencialmente concorre com W1(x)a, pois a operação R2(x)a foi removida de P2; consistência de causalidade não requer que escritas concorrentes sejam globalmente ordenadas. Fig. 7.9 a. violação da consistência de causalidade; b. sequência correta de eventos com consistência de causalidade. Pg. 38/116

39 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Ordenação Consistente de Operações consistência causal e sequencial - definidas no nível (granularidade) de operações de leitura e escrita por razões históricas; em muitos casos este nível de granularidade fino não atende a granularide suportada pela aplicações; Normalmente, compartilhamento de dados é mantido através de mecanismos de sincronização para sincronização, enquanto as transações mantém o controle de concorrência. ENTER_CS - significa que o dado no armazenamento local está atualizado, ou seja, leituras e escritas podem ser realizadas; ao terminar as operações o processo invoca LEAVE_CS, protegendo as operações do acesso concorrente. Obs.: operações são atomicamene executadas como unidades. Pg. 39/116

40 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Ordenação Consistente de Operações Neste ponto, é necessário dar semântica às operações ENTER_CS e LEAVE_CS através de variáveis de sincronização; dentre as possíveis maneiras, em uma abordagem geral cada variável tem um dado associado que pode ser equivalente a um conjunto de dados compartilhados; processo deve ter a posse das variáveis de sincronização para executar ENTER_CS, assim como deve liberar as variáveis de sincronização quando for executar LEAVE_CS. Obs.: Processos podem simultaneamente compartilhar uma variável de sincronização em modo não exclusivo, ou seja, podem ler mas não escrever no dado associado. Pg. 40/116

41 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Ordenação Consistente de Operações 03 critérios devem ser satisfeitos: 01 - aquisição de acesso para uma variável de sincronização não é concedida a um processo até que todas as atualizações referentes aos dados compartilhados seja realizada; ou seja, todas as mudanças para um dado compartilhado devem se tornar visíveis, ou seja, devem ser atualizados nenhum outro processo pode manter a variável de sincronização, nem mesmo no modo não exclusivo, antes que o acesso no modo exclusivo para uma variável seja concedido; ou seja, antes de atualizar um dado compartilhado, um processo precisa entrar na região crítica em modo exclusivo. Pg. 41/116

42 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Ordenação Consistente de Operações 03 critérios devem ser satisfeitos: 03 - após a concessão do acesso no modo exclusivo para uma variável de sincronização, o acesso ao modo não exclusivo por um outro processo para a variável de sincronização não pode ser realizado até que ele tenha consultado o dono da variável; ou seja, se um processo deseja entrar na região crítica no modo não exclusivo, é necessário primeiro verificar como o proprietário da variável de sincronizaçãoa a mais recente cópia do dado compartilhado. Pg. 42/116

43 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Ordenação Consistente de Operações e.g., considere o exemplo de consistência de entrada, ou seja, em vez de operar o dado compartilhado por completo, locks são associados a cada item do dado compartilhado. Acq(Lx) Acquire for x Rel(Ly) Release for y Fig Sequência válida de eventos para a consistência de entrada itens x e y compondo o dado compartilhado. Pg. 43/116

44 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Ordenação Consistente de Operações problema da consistência de entrada - associar adequadamente o dado com variáveis sincronização; abordagem simples - explicitar ao middleware quais dados serão acessados, semelhante quando é informado quais tabelas serão afetadas em uma transação. consistência versus coerência - importante entender a diferença entre 02 conceitos que estão relacionados. e.g., considere o cenário de um conjunto de processos que executam operações de leitura/escrita em um conj. de dados. Pg. 44/116

45 7 Consistência e Replicação 7.2 Modelos de Consistência Data-Centric Ordenação Consistente de Operações e.g., considere o cenário de um conjunto de processos que executam operações de leitura/escrita em um conj. de dados. Modelo de Consistência - descreve o que se espera de um conjunto de itens de dados quando vários processos operam de forma concorrente. Modelo de Coerência - descreve o que se espera de um único item de dado replicado em vários lugares quando cada cópia é submetida a um conj. de regras do modelo de coerência. e.g., modelo de consistência sequencial aplicado a um único item de dado, na prática, ocorrendo operações de escritas concorrentes, todos os processos eventualmente verão a mesma ordem de updates. Pg. 45/116

46 7 Consistência e Replicação 7.3 Modelos de Consistência Client-Centric 7.3 Modelos de Consistência Client-Centric Os modelos de consistência descritos anteriormente tem por objetivo prover uma consistência global do repositório de dados; ou seja, a suposição é a de processos concorrentes podem simultaneamente atualizar o repositório e, assim, é necessário consistência face a concorrência entre os mesmos. e.g., em modelos baseados em objetos, o repositório garante que uma cópia atual do objeto será fornecida ao processo chamador; durante a chamada, nenhum outro processo pode interferir, ou seja, acesso exclusivo é concedido ao processo chamador. Pg. 46/116

47 7 Consistência e Replicação 7.3 Modelos de Consistência Client-Centric 7.3 Modelos de Consistência Client-Centric ou seja, manipular operações concorrentes em dados compartilhados enquanto se mantém a consistência sequencial é fundamental em sistemas distribuídos. Por razões de desempenho, consistência sequencial pode ser garantida somente com o uso de mecanismos de sincronização tais como transações e locks. Nesta seção discutiremos uma classe especial de data stores distribuídos caracterizados pela ausência de atualizações simultâneas ou quando acontecem podem ser resolvidas facilmente. tais modelos de consistência são denominados eventualmente consistentes e de modo geral escondem as inconsistências. Pg. 47/116

48 7 Consistência e Replicação 7.3 Modelos de Consistência Client-Centric Consistência Eventual Processos podem operar de modo concorrente de diferentes maneiras, bem como pode variar o nível de consistência que deve ser garantido aos dados objetos do compartilhamento. e.g., em muitos sistemas de banco de dados os processos executam muito mais operações de leitura do que de atualização; neste contexto, como atualizações rápidas devem estar disponíveis para processos de leitura? e.g., no DNS só a autoridade nomeada responderá pelo nome; consequentemente, conflitos de atualização nunca existirão, porém, ainda assim existem conflitos de read-write. solução - processo leitor espera algum tempo após completar a atualização para então executar a operação de leitura. Pg. 48/116

49 7 Consistência e Replicação 7.3 Modelos de Consistência Client-Centric Consistência Eventual e.g., atualização de páginas na Web se dá por uma única autoridade, tal como o webmaster ou proprietário das páginas; ou seja, não há conflitos write-write, mas por outro lado, para melhorar o desempenho, browsers e proxies são configurados para buscar e manter páginas na cache ; o que pode ocasionar o retorno de páginas não atualizadas, ou seja, a versão da página é uma versão mais antiga do que aquela mantida pelo servidor Web atual. Obs.: exemplos descritos podem ser vistos como casos de repositórios de dados distribuídos e replicados que toleram relativamente um alto grau de inconsistência. Pg. 49/116

50 7 Consistência e Replicação 7.3 Modelos de Consistência Client-Centric Consistência Eventual Neles, se nenhuma atualização acontecer por um tempo longo, todas as réplicas estarão gradualmente inconsistentes, ou seja, eventualmente consistente - o que exige que atualizações sejam propagadas a todas as réplicas. conflitos de atualizações são geralmente mais fáceis e baratos de serem resolvidas, desde que um pequeno grupo de processos executem as operações de escrita. Normalmente consistência eventual funciona bem na medida que clientes acessam as mesmas réplicas; entretanto, surgem problemas quando diferentes réplicas são objeto de acesso em um curto período de tempo (Fig. 7.11). Pg. 50/116

51 7 Consistência e Replicação 7.3 Modelos de Consistência Client-Centric Consistência Eventual Fig Princípio de um Usuário Móvel acessando diferentes réplicas de um Repositório de Dados Distribuído. Pg. 51/116

52 7 Consistência e Replicação 7.3 Modelos de Consistência Client-Centric Consistência Eventual Terry et al. (1994) (1998) constituem a origem dos trabalhos de modelos de consistência centrados no cliente com o intuito de amenizar os efeitos discutidos no exemplo anterior; client-centric consistency - provê garantias para um único cliente em relação aos acessos consistentes ao data store ; no entanto, não dá garantias de consistências para acessos concorrentes de 02 ou mais clientes. Terry et al. propõem 4 diferentes modelos de consistência: ** Leituras Monotônicas ** Escritas Monotônicas ** Leia suas Escritas ** Escritas seguem Leituras Pg. 52/116

53 7 Consistência e Replicação 7.3 Modelos de Consistência Client-Centric Consistência Eventual Terry et al. (1994) (1998) propuseram 04 diferentes modelos de consistência para um repositório de dados fisicamente distribuído em diferentes máquinas e com as seguintes características: quando um processo acessa do data store, ele o faz na cópia local ou na cópia mais próxima, embora em princípio, qualquer cópia estaria apta para ser operada/manuseada; operações de leitura e escrita são realizadas na cópia local e atualizações são eventualmente propagadas para todas as cópias cada item de dado tem proprietário associado, ou seja, um processo que tem permissão para modificar aquele item, assim, evita-se conflitos do tipo escrita-escrita. Pg. 53/116

54 7 Consistência e Replicação 7.3 Modelos de Consistência Client-Centric Consistência Eventual Modelos de Consistência Client-Centric são descritos utilizando-se a notação a seguir: Seja xi[t1] a versão do dado x na cópia local Li no tempo t1 ; versão xi[t1] é o resultado de uma série de operações de escrita na cópia local Li que ocorreram desde a inicialização conjunto que é denotado por WS( xi[t1] ) ; se as operações em WS(xi[t1]) também forem executadas em uma cópia local Lj no tempo t2, escrevemos WS( xi[t1]; xj[t2] ) ; se a ordenação de operações ou a temporização estiver clara no contexto, o índice de tempo será omitido. Pg. 54/116

55 7 Consistência e Replicação 7.3 Modelos de Consistência Client-Centric Leituras Monotônicas monotonic-read consistency - se um processo ler o valor de um item de dado x, novas operações de leitura de x executadas por este processo retornaram o mesmo valor ou um mais recente. ou seja, se um processo viu o valor de x no tempo t1, este processo não verá uma versão anterior de x em t2 - t2 > t1. e.g., considere 02 cópias locais diferentes - L1 e L2 do mesmo data store e o eixo x representando o tempo - tleft < tright. em ambos os casos estamos interessados nas operações executadas por um único processo P, aqui representadas em negrito enquanto a linha pontilhada representa a ordem em que as operações são executadas - R(x1) antes de R(x2). Pg. 55/116

56 7 Consistência e Replicação 7.3 Modelos de Consistência Client-Centric Leituras Monotônicas P inicialmente executa uma leitura em x na cópia local L 1, retornando o valor x1 naquele momento, resultado da operação de escrita WS(x1) sobre L1 ; mais tarde, P executa uma leitura em x na cópia local L2, retornando o valor x2 naquele momento, no contexto onde WS(x1) foi propagada para L2 => WS(x1,x2) Fig Operações de leitura executadas por P em 02 cópias locais do mesmo data store. a) monotonic-read consistency Pg. 56/116

57 7 Consistência e Replicação 7.3 Modelos de Consistência Client-Centric Leituras Monotônicas Em contraste, Fig b) mostra que a consistência de leituras monotônicas não é garantida pois WS(x1) não se propagou para L2, pois apenas WS(x2) foi realizada; não há garantias que este conjunto contenha todas as operações contidas em WS(x1). Fig Operações de leitura executadas por P em 02 cópias locais do mesmo data store. a) monotonic-read consistency b) data store não garante a leituras monotônicas. Pg. 57/116

58 7 Consistência e Replicação 7.3 Modelos de Consistência Client-Centric Escritas Monotônicas monotonic-write consistency - uma operação de escrita em um dado x é completada antes de alguma operação de escrita subsequente do mesmo processo sobre o mesmo dado x. ou seja, uma operação de escrita executada significa que a cópia na qual operações sucessivas forem realizadas reflete operações de escrita anteriormente executadas pelo mesmo processo, independente do local onde foi iniciada. e.g., considere 02 cópias locais diferentes - L 1 e L2 do mesmo data store e o eixo x representando o tempo - t left < tright. em ambos os casos estamos interessados nas operações executadas por um único processo P, aqui representadas em negrito enquanto a linha pontilhada representa a ordem em que as operações são executadas - W(x1) antes de W(x2). Pg. 58/116

59 7 Consistência e Replicação 7.3 Modelos de Consistência Client-Centric Escritas Monotônicas Fig a) para garantir a consistência monotônica de escritas, é necessário que as operações de escrita anteriores tenham sido propagadas para as demais cópias. Fig b) mostra cenário onde a consistência de escritas monotônicas não é garantida, pois WS(x1) não foi propagada para L2 Fig Operações de escritas executadas por P em 02 cópias locais do mesmo data store. a) data store com consistência de escritas monotônicas; b) data store que não garante a consistência de escritas monotônicas. Pg. 59/116

60 7 Consistência e Replicação 7.3 Modelos de Consistência Client-Centric Leia suas Escritas read-your-wristes consistency - efeito de operações de escrita por um processo em um item de dado x será visto por uma leitura subsequente em x pelo mesmo processo. ou seja, operação de escrita é sempre completada antes de uma operação de leitura subsequente executada pelo mesmo processo, independente de onde a operação foi executada. e.g., considere 02 cópias locais diferentes - L1 e L2 do mesmo data store e o eixo x representando o tempo - tleft < tright. em ambos os casos estamos interessados nas operações executadas por um único processo P, aqui representadas em negrito enquanto a linha pontilhada representa a ordem em que as operações são executadas - W(x1) antes de R(x2). Pg. 60/116

61 7 Consistência e Replicação 7.3 Modelos de Consistência Client-Centric Leia suas Escritas Fig a) - P executa uma operação de escrita W(x1) e mais tarde executa uma operação de leitura R(x2) em uma outra cópia com a garantia de W(x1) foi propagada para L2 => W(x1,x2) Fig b) - W(x1) foi mantida aparte da atualização W(x2), ou seja, o efeito da operação prévia de escrita não foi propagada. Fig a) data store que provê read-your-writes consistency. b) data store que não provê read-your-writes consistency. Pg. 61/116

62 7 Consistência e Replicação 7.3 Modelos de Consistência Client-Centric Escritas seguem Leituras writes-follow-reads consistency - uma operação de escrita no item de dado x após uma operação de leitura em x pelo mesmo processo é realizada em uma cópia de x atualizada com o valor mais recentemente lido por aquele processo. e.g., considere 02 cópias locais diferentes - L1 e L2 do mesmo data store e o eixo x representando o tempo - tleft < tright. em ambos os casos estamos interessados nas operações executadas por um único processo P, aqui representadas em negrito enquanto a linha pontilhada representa a ordem em que as operações são executadas - R(x1) antes de W(x2). Pg. 62/116

63 7 Consistência e Replicação 7.3 Modelos de Consistência Client-Centric Escritas seguem Leituras Fig a) P executa uma operação de leitura R(x1) e mais tarde executa uma operação de escrita W(x2) em uma outra cópia com a garantia de W(x1) é parte de W(x2) Fig b) não há garantia de que a operação em L2 se deu sobre uma cópia que é consistente com aquela lida em L1. Fig a) data store com consistência writes-follow-reads. b) data store sem consistência writes-follow-reads. Pg. 63/116

64 7 Consistência e Replicação 7.4 Gerenciamento de Réplica 7.4 Gerenciamento de Réplica questão fundamental - decidir onde, quando e por quem as réplicas devem ser posicionadas e quais mecanismos usar para manter as réplicas consistentes. problema de possicionamento pode ser subdividido em 02 subproblemas: possicionamento de servidores de réplicas e possicionamento de conteúdo; naturalmente que antes de definir o possicionamento do conteúdo, cabe o possicionamento dos servidores de réplicas. Pg. 64/116

65 7 Consistência e Replicação 7.4 Gerenciamento de Réplica Possicionamento do Servidor de Réplica possicionamento - trata-se de um problema de cunho com viez gerencial e/ou comercial do que um problema de otimização; existem diversas maneiras de se calcular a melhor localização do servidor de réplicas, ou seja, como escolher as melhores k posições de n possíveis localizações. Qui et al (2001) assume a distância entre o cliente e a localização dos servidores de réplicas como ponto de partida; localizações medidas por latênca ou largura de banda. solução - escolher um servidor por vez de modo que a distância média entre eles e seus clientes seja a menor possível, dado que k servidores tenham sido possicionados de um total de n servidores => n k localizações não são contabilizadas. Pg. 65/116

66 7 Consistência e Replicação 7.4 Gerenciamento de Réplica Possicionamento do Servidor de Réplica Radoslavov et al (2001) consideram a topologia dos servidores quanto aos Autonomous Systems - ASs desconsiderando a posição dos clientes; autonomous systems - rede na qual todos os nós executam o mesmo protocolo de roteamento e são mantidos e gerenciados pela mesma organização. proposta - considera o maior AS e possiciona o servidor no roteador com o maior número de interfaces de rede, na sequência, repete o algoritmo para o segundo maior AS....considerando que clientes estão distribuídos na rede, o resultado alcançado para clientes que conheçam a localização dos servidores em relação aqueles que não conhece é similar. Pg. 66/116

67 7 Consistência e Replicação 7.4 Gerenciamento de Réplica Possicionamento do Servidor de Réplica desvantagens - ambos os algoritmos são computacionalmene caros e apresentam complexidade > O(N2), onde N representa o número de localizações possíveis de serem inspecionadas; mesmo com alguns milhares de localizações faz-se necessário alguns minutos para encontrar o servidor mais próximo; seu uso torna-se inaceitável, ainda mais na presença de flash crowd - rajada de requisições para um site específico. Pg. 67/116

68 7 Consistência e Replicação 7.4 Gerenciamento de Réplica Possicionamento do Servidor de Réplica Szymaniak et al. (2006) - desenvolveram uma maneira de encontrar rapidamente o local onde posicionar as réplicas: região é identificada como um coleção de nós de mesmo conteúdo que apresentem baixa latência entre os nós; objetivo - selecionar a região com maior demanda, ou seja, aquela com o maior nro. de nós e na sequência permitir que um dos nós atue como o servidor de réplicas. idéia - identificar k maiores clusters e escolher um nó de cada cluster para receber o conteúdo replicado; inicialmente o espaço total é particionado em células e as k células mais densas são escolhidas para receber as réplicas. Pg. 68/116

69 7 Consistência e Replicação 7.4 Gerenciamento de Réplica Possicionamento do Servidor de Réplica Fig Escolha do tamanho apropriado de uma célula para possicionamento do servidor de réplicas. células muito grandes - pode existir diversos clusters e, assim, um nro. pequeno de servidores de réplicas é selecionado; células muito pequenas - cluster espalhado por varias células e, assim, um nro. grande de servidores de réplicas é selecionado. Pg. 69/116

70 7 Consistência e Replicação 7.4 Gerenciamento de Réplica Possicionamento do Servidor de Réplica tamanho apropriado por ser computado como um função simples da distância média entre 02 nós e o nro. de réplicas; pode ser mostrado que o algoritmo apresenta desempenho tão bom o algoritmo ótimo descrito por Qiu et al. (2001), mas com uma complexidade menor: O( N * max{ logn, K} ). e.g., experimentos monstram que encontrar os 20 melhores locais para uma coleção de nós é aproximadamente vezes mais rápido. Pg. 70/116

71 7 Consistência e Replicação 7.4 Gerenciamento de Réplica Possicionamento de Conteúdo Quando se trata de possicionamento e replicação de conteúdo, 03 diferentes tipos de réplicas podem ser logicamente organizados. Fig Organização lógica de diferentes tipos de cópias de um data store em 03 aneis concêntricos. Pg. 71/116

72 7 Consistência e Replicação 7.4 Gerenciamento de Réplica Possicionamento de Conteúdo permanent replicas - podem ser consideradas como o conjunto inicial de réplicas que constituem um data store ; e.g., sites Web estão geralmente distribuídos em 02 formas: arquivos que constituem o site são replicados em um nro. restrito de servidores de uma mesma célula, assim, uma requisição é encaminhada para um dos servidores segundo alg. round-robin. site web é copiado para um nro restrito de servidores espalhados geograficamente pela Internet, assim, clientes simplesmente escolhem um dos sites espelhados semelhança entre ambos é que há um nro. reduzido de réplicas em que a configuração é mais ou menos estática. Pg. 72/116

73 7 Consistência e Replicação 7.4 Gerenciamento de Réplica Possicionamento de Conteúdo organização similar está presente nos bancos de dados distribuídos - OSZu & Valduriez (1999); bancos de dados são distribuídos e replicados em servidores que conjuntamente formam um cluster de servidores, comumente referenciados como arquitetura nada-compartilhada ; arquitetura nada-compartilhada - memória secundária e a memória principal não são compartilhados pelos processadores. ou seja, banco de dados é distribuído e possivelmente replicado em um nro. de sites dispersos geograficamente. Pg. 73/116

74 7 Consistência e Replicação 7.4 Gerenciamento de Réplica Possicionamento de Conteúdo server-initiated replicas - são cópias do data store criados pelo proprietário do data store para aumentar o desempenho; e.g., servidor em Nova York que repentinamente começa a receber uma rajada de requisições de um local distante; talvez, seja necessário o uso de réplicas temporárias no local de origem das requisições ou ao menos próximo; serviços de hospedagem Web oferecem uma coleção relativamente estática de servidores espalhados na Internet que podem manter e prover o acesso aos arquivos Web; Sivasubramanian et al. (2004) discute a visão geral de replicação em serviços de hospedagem na Web. Pg. 74/116

75 7 Consistência e Replicação 7.4 Gerenciamento de Réplica Possicionamento de Conteúdo Uma outra abordagem para Serviço de Hospedagem Web é descrita por Rabinovich et al. (1999): algoritmo é projetado para suportar páginas Web para as quais assume-se que operações de atualização são raras comparadas com as operações de leitura; e.g., servidores no serviço de hospedagem web podem decidir qual servidor está mais próximo de um cliente C, tendo por base as informações dos bancos de dados de roteamento; se C1 e C2 compartilham o mesmo servidor mais próximo P, todas as requisições de acesso para o arquivo F no servidor Q vindas de C1 e C2 são registradas em Q com uma única contagem de acesso cnt(p,f) - Fig Pg. 75/116

76 7 Consistência e Replicação 7.4 Gerenciamento de Réplica Possicionamento de Conteúdo se C1 e C2 compartilham o mesmo servidor mais próximo P, todas as requisições de acesso para o arquivo F no servidor Q vindas de C1 e C2 são registradas em Q como uma única contagem de acesso cnt(p,f) - figura abaixo. Fig Contando requisições de acesso de diferentes clientes. Pg. 76/116

77 7 Consistência e Replicação 7.4 Gerenciamento de Réplica Possicionamento de Conteúdo quando o nro. de requisições para um arquivo F no servidor S cai abaixo de um limite estabelecido - del(s,f), o arquivo pode ser removido do servidor; como consequência o nro. de réplicas do arquivo F cai, possivelmente acarretando um aumento de carga nos servidores; medidas são tomadas para garantir que ao menos um cópia de cada arquivo continue a existir. se o limite de replicação rep(s,f) é maior que del(s,f), indica que vale a pena replicá-lo em outros servidores; se o número de requisições estiver entre os limites de replicação e remoção, então para aquele arquivo é permitido somente a migração. Pg. 77/116

78 7 Consistência e Replicação 7.4 Gerenciamento de Réplica Possicionamento de Conteúdo Quando um servidor Q decide reavaliar os arquivos no seu repositório, ele verifica o contagem de acessos para os arquivos; se o nro de acessos para F está abaixo de um limiar, remove-se F a menos que seja a última cópia; além disso, se para algum servidor P, cnt Q (P,F) excede em mais da metada do total de requisições para F em Q, o servidor P é solicitado a assumir a cópia de F, ou seja, migração. migração do arquivo F para o servidor P nem sempre ocorre, p.ex., por que P está ainda carregado e fora do disco; neste caso, Q irá tentar replicar F em outros servidores, desde que o nro total de acessos para F em Q exceda o limite de replicação rep(q,f). Pg. 78/116

79 7 Consistência e Replicação 7.4 Gerenciamento de Réplica Possicionamento de Conteúdo client-initiated replica - comumente conhecidas como cache, são na essência um armazenamento local utilizado pelo cliente para armazenar temporariamente dados objeto da requisição; data store do qual os dados foram lidos não tem nada a ver com a manutenção da consistência dos dados salvaguardados; quando a maior parte das operação são leituras de dados, o cliente pode guardar os dados que são requisitados em uma cache local para melhorar o desempenho; essa cache está na máquina cliente ou em uma cache separada na rede local onde máquina cliente se encontra. Pg. 79/116

80 7 Consistência e Replicação 7.4 Gerenciamento de Réplica Possicionamento de Conteúdo dados são mantidos na cache por um tempo limitado, p.ex., para prevenir dados obsoletos sendo usados ou simplesmente abrir espaço para outros dados; para melhorar a taxa de acerto na cache, caches podem ser compartilhadas entre os clientes, desde que dados requisitados pelo cliente C1 são também requisitados pelo cliente C2. possicionamento de cache de cliente é relativamente simples: cache é possicionada na mesma máquina que o cliente; cache na máquina compartilhada por clientes na rede local; em alguns casos, níveis extras de cache são introduzidos entre departamentos ou organizações. Pg. 80/116

81 7 Consistência e Replicação 7.4 Gerenciamento de Réplica Distribuição de Conteúdo gerenciamento de réplicas - trata da propagação e/ou atualização de conteúdo para servidores relevantes de réplicas e envolve vários aspectos: state vs operations - um importante aspecto de projeto refere-se ao que deve ser propagado: propaga somente a notificação de atualização nada é propagado além de notificações, ou seja, dados não são propagados; transferir dados de uma cópia para outra quando a relação de leituras/ escritas é alta é interessante transferir dados; propagar a operação de atualização para as outras cópias cada réplica recebe apenas parâmetros da operação de atualização. Pg. 81/116

82 7 Consistência e Replicação 7.4 Gerenciamento de Réplica Distribuição de Conteúdo propagação de notificação - nada é propagado além de notificações, ou seja, encaminha através do protocolo de invalidação notificação às outras cópias de que o dado não é mais válido; protocolo de invalidação pode especificar que parte do data store foi atualizada, assim, apenas uma parte da cópia está atualmente invalidada. principal vantagem dos protocolos de invalidação é que utilizam pouca banda da rede, pois a informação transferida é a especificação de quais dados não mais são válidos;... tais protocolos geralmente trabalham bem quando há muitas operações de atualização comparado com as operações de leitura, ou seja, relação leituras/escritas é relativamente pequena. Pg. 82/116

83 7 Consistência e Replicação 7.4 Gerenciamento de Réplica Distribuição de Conteúdo transferir dados de uma cópia para outra utilizada quando a relação de leituras/escritas é relativamente alta; neste contexto, a probabilidade que uma atualização seja efetiva no sentido de que o dado modificado será lido antes da próxima atualização é alta justicando a transferência; ao invés de propagar os dados modificados é possível salvar log as mudanças e transfera somente aquelas alterações salvas para economizar banda de rede; transferência são sempre concatenadas no sentido de que múltiplas modificações são agrupadas em um única mensagem, economizando overhead de comunicação. Pg. 83/116

84 7 Consistência e Replicação 7.4 Gerenciamento de Réplica Distribuição de Conteúdo propagar a operação de atualização para as outras cópias também chamada de replicação ativa, cada réplica recebe apenas parâmetros da operação de atualização; vantagem - pode frequentemente ser propagada com o mínimo gasto de banda de rede, uma vez que os parâmetros associados com uma operação são relativamente pequenos; desvantagem - maior processamento pode ser exigido em cada um dos servidores de réplica, especialmente onde as operações são relativamente complexas. Pg. 84/116

85 7 Consistência e Replicação 7.4 Gerenciamento de Réplica Distribuição de Conteúdo protocolos pull vs push - podem ser subdivididos em push-based protocols e pull-based protocols. push-based protocols - servidor inicia a atualização sem que outro servidor ou cliente encaminhe solicitação. pull-based protocols - servidor ou cliente encaminha solicitação de atualização para um servidor de réplicas. Pg. 85/116

86 7 Consistência e Replicação 7.4 Gerenciamento de Réplica Distribuição de Conteúdo push-based protocols ou server-based protocols - servidor propaga as atualizações para as réplicas, independente de solicitação por parte das réplicas. envio de atualizações é frequentemente usado entre réplicas permanentes iniciadas pelo servidor, mas pode ser usado para atualização de cache de clientes. são normalmente aplicadas quando as réplicas são mantidas sob um alto grau de consistência réplicas idênticas. Alto grau de consistência advém do fato de que réplicas permanentes iniciadas pelo servidor são caracterizadas por operações de leitura; nestes casos, push-based protocols são eficientes no sentido de que toda atualização será passível de leitura com alta probabilidade por 01 (um) ou mais leitores. Pg. 86/116

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Consistência e Replicação Capítulo 7 Agenda Razões para Replicação Replicação como técnica de escalabilidade Modelos de Consistência centrados

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Período letivo: 4 Semestre. Quinzena: 5ª. Faculdades Santa Cruz - Inove Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Unidade Curricular Sistemas Distribuídos Processos

Leia mais

Backup. Permitir a recuperação de sistemas de arquivo inteiros de uma só vez. Backup é somente uma cópia idêntica de todos os dados do computador?

Backup. Permitir a recuperação de sistemas de arquivo inteiros de uma só vez. Backup é somente uma cópia idêntica de todos os dados do computador? Backup O backup tem dois objetivos principais: Permitir a recuperação de arquivos individuais é a base do típico pedido de recuperação de arquivo: Um usuário apaga acidentalmente um arquivo e pede que

Leia mais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

Leia mais

Bancos de Dados III. Replicação de Dados. Rogério Costa rogcosta@inf.puc-rio.br. Replicação

Bancos de Dados III. Replicação de Dados. Rogério Costa rogcosta@inf.puc-rio.br. Replicação Bancos de Dados III Replicação de Dados Rogério Costa rogcosta@inf.puc-rio.br 1 Replicação Processo de criar e manter réplicas de versões dos objetos da base de dados (como tabelas) em um ambiente de banco

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Comunicação coletiva Modelo Peer-to-Peer Slide 6 Nielsen C. Damasceno Introdução Os modelos anteriores eram realizado entre duas partes: Cliente e Servidor. Com RPC e RMI não é possível

Leia mais

MC714 - Sistemas Distribuídos. Leandro Villas

MC714 - Sistemas Distribuídos. Leandro Villas MC714 - Sistemas Distribuídos Aula de Hoje Aula Passada Relógios Lógicos Relógios de Lamport Relógios Vetoriais Aula de Hoje Exclusão Mútua Algoritmos de Eleição Exclusão mútua Questão fundamental em SDs

Leia mais

Módulo 4. Construindo uma solução OLAP

Módulo 4. Construindo uma solução OLAP Módulo 4. Construindo uma solução OLAP Objetivos Diferenciar as diversas formas de armazenamento Compreender o que é e como definir a porcentagem de agregação Conhecer a possibilidade da utilização de

Leia mais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de processos Controle e descrição de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Representação e controle de processos pelo SO Estrutura

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Basedos na Web Capítulo 12 Agenda Arquitetura Processos Comunicação Nomeação Sincronização Consistência e Replicação Introdução

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Questões Em uma rede de sobreposição (overlay), mensagens são roteadas de acordo com a topologia da sobreposição. Qual uma importante desvantagem

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 13 Gerência de Memória Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso Sumário

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

Arquitetura dos Sistemas de Informação Distribuídos

Arquitetura dos Sistemas de Informação Distribuídos Arquitetura dos Sistemas de Informação Distribuídos Quando se projeta um sistema cuja utilização é destinada a ser feita em ambientes do mundo real, projeções devem ser feitas para que o sistema possa

Leia mais

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Bancos de Dados Distribuídos Conceitos e Arquitetura Vantagens das Arquiteturas C/S (em relação

Leia mais

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS Quando falamos em arquitetura, normalmente utilizamos esse termo para referenciar a forma como os aplicativos computacionais são estruturados e os hardwares

Leia mais

SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! CURSO

SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! CURSO 1 AULA SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! ROTEIRO PRÉ-REQUISITOS 1 INTRODUÇÃO 2 DISTRIBUIÇÕES LINUX 3 AJUDA PARA ESCOLHER SUA DISTRIBUIÇÃO LINUX 4 DÚVIDAS FREQUENTES

Leia mais

Metas de um Sistema Distribuído

Metas de um Sistema Distribuído Metas de um Sistema Distribuído Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

Documento de Análise e Projeto VideoSystem

Documento de Análise e Projeto VideoSystem Documento de Análise e Projeto VideoSystem Versão Data Versão Descrição Autor 20/10/2009 1.0 21/10/2009 1.0 05/11/2009 1.1 Definição inicial do documento de análise e projeto Revisão do documento

Leia mais

Sistemas Operacionais Gerência de Dispositivos

Sistemas Operacionais Gerência de Dispositivos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Gerência de Dispositivos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução A gerência

Leia mais

Modelos de Consistência e Replicação de Dados

Modelos de Consistência e Replicação de Dados Modelos de Consistência e Replicação de Dados Prof. Raul Ceretta Nunes Curso de Ciência da Computação ELC1018 - Sistemas Distribuídos 1 Introdução SD é adequado para replicação de dados Replicas devem

Leia mais

EDITORA FERREIRA MP/RJ_EXERCÍCIOS 01

EDITORA FERREIRA MP/RJ_EXERCÍCIOS 01 EDITORA FERREIRA MP/RJ NCE EXERCÍCIOS 01 GABARITO COMENTADO 01 Ao se arrastar um arquivo da pasta C:\DADOS para a pasta D:\TEXTOS utilizando se o botão esquerdo do mouse no Windows Explorer: (A) o arquivo

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 SISTEMA DE INTERCONEXÃO (BARRAMENTOS) Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Componentes estruturais: Memória Principal Unidade de Processamento Central

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 1 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Apresenta a diferença entre dado e informação e a importância

Leia mais

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento Professor Rene - UNIP 1 Roteamento Dinâmico Perspectiva e histórico Os protocolos de roteamento dinâmico são usados

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 11 Sincronização de Processos Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis

Leia mais

Tabela de roteamento

Tabela de roteamento Existem duas atividades que são básicas a um roteador. São elas: A determinação das melhores rotas Determinar a melhor rota é definir por qual enlace uma determinada mensagem deve ser enviada para chegar

Leia mais

2 Atualidade de uma base de dados

2 Atualidade de uma base de dados 2 Atualidade de uma base de dados Manter a atualidade de uma base de dados é um problema que pode ser abordado de diferentes maneiras. Cho e Garcia-Molina [CHO] definem esse problema da seguinte forma:

Leia mais

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP Banco de Dados Introdução João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP Importância dos Bancos de Dados A competitividade das empresas depende de dados precisos e atualizados. Conforme

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Controle de Acesso

Sistemas Distribuídos: Conceitos e Projeto Controle de Acesso Sistemas Distribuídos: Conceitos e Projeto Controle de Acesso Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.ufma.br 4 de julho

Leia mais

Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015

Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015 Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres Fundamentos de Sistemas Operacionais UNIP/2015 Disciplinas FUNDAMENTOS DE SISTEMAS OPERACIONAIS Horários Quarta-feira Fundamentos de Sistemas

Leia mais

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição? Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor remoto esteja associado. 2. Estabelecer

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Curso de Tecnologia em Redes de Computadores Disciplina: Redes I Fundamentos - 1º Período Professor: José Maurício S. Pinheiro AULA 6: Switching Uma rede corporativa

Leia mais

Visão do Usuário da DSM

Visão do Usuário da DSM Memória Compartilhada Distribuída Visão Geral Implementação Produtos 1 Memória Compartilhada Distribuída Mecanismos tradicionais de comunicação via RPC/RMI ou mensagens deixam explícitas as interações

Leia mais

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2) Definição de um Sistema Distribuído (1) Introdução Um sistema distribuído é: Uma coleção de computadores independentes que aparecem para o usuário como um único sistema coerente. Definição de um Sistema

Leia mais

Setores Trilhas. Espaço entre setores Espaço entre trilhas

Setores Trilhas. Espaço entre setores Espaço entre trilhas Memória Externa Disco Magnético O disco magnético é constituído de um prato circular de metal ou plástico, coberto com um material que poder magnetizado. Os dados são gravados e posteriormente lidos do

Leia mais

EA960 Redundância e Confiabilidade: RAID

EA960 Redundância e Confiabilidade: RAID EA960 Redundância e Confiabilidade: RAID Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1 Motivação Revisitando a lei de Amdahl:

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos Capítulo 8 Sistemas com Múltiplos Processadores 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos 1 Sistemas Multiprocessadores Necessidade contínua de computadores mais rápidos modelo

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Modelos. Comunicação com clientes

Modelos. Comunicação com clientes Material baseado nas notas de aula: Maria Luiza M. Campos IME/2005 Carlos Heuser - livro Projeto de Banco de Dados CasaNova / PUC/RJ Prof. MSc. Edilberto Silva edilms@yahoo.com Sistemas de Informação Brasília/DF

Leia mais

Arquitetura e Organização de Computadores I

Arquitetura e Organização de Computadores I Arquitetura e Organização de Computadores I Interrupções e Estrutura de Interconexão Prof. Material adaptado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Interrupções

Leia mais

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede O sistema de nome de domínio (DNS) é um sistema que nomeia computadores e serviços de rede e é organizado em uma hierarquia de domínios.

Leia mais

BC 1518 - Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento

BC 1518 - Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento BC 1518 - Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento 1 Gerência de espaço em disco Cópia de segurança do sistema de arquivo Roteiro Confiabilidade Desempenho

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

Manual AGENDA DE BACKUP

Manual AGENDA DE BACKUP Gemelo Backup Online DESKTOP Manual AGENDA DE BACKUP Realiza seus backups de maneira automática. Você só programa os dias e horas em que serão efetuados. A única coisa que você deve fazer é manter seu

Leia mais

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Versão 1.6 15/08/2013 Visão Resumida Data Criação 15/08/2013 Versão Documento 1.6 Projeto Responsáveis

Leia mais

Consistência: modelos baseados em dados Consistência: modelos baseados do cliente. Sistemas Distribuídos. junho de 2013

Consistência: modelos baseados em dados Consistência: modelos baseados do cliente. Sistemas Distribuídos. junho de 2013 Sistemas Distribuídos junho de 2013 Motivação tolerância a falhas disponibilidade resistência a inconsistências desempenho proximidade divisão da carga de trabalho: escalabilidade Consistência Se várias

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Arquiteturas Capítulo 2 Agenda Estilos Arquitetônicos Arquiteturas de Sistemas Arquiteturas Centralizadas Arquiteturas Descentralizadas Arquiteturas

Leia mais

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 5-1. A CAMADA DE TRANSPORTE Parte 1 Responsável pela movimentação de dados, de forma eficiente e confiável, entre processos em execução nos equipamentos conectados a uma rede de computadores, independentemente

Leia mais

GUIA DE REDAÇÃO PARA TRABALHO DE EM974

GUIA DE REDAÇÃO PARA TRABALHO DE EM974 GUIA DE REDAÇÃO PARA TRABALHO DE EM974 CONSIDERAÇÕES GERAIS O objetivo deste documento é informar a estrutura e a informação esperadas num texto de Trabalho de Graduação. O conteúdo do texto deverá ser

Leia mais

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho 20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam

Leia mais

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE] 1/6 Banco de Dados O que é um Banco de Dados? Uma coleção de dados relacionados [ELMASRI/NAVATHE] Conjunto de dados integrados que tem por objetivo atender a uma comunidade específica [HEUSER] Um conjunto

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Nomes, Identificadores, Endereços Nomeação Simples Capítulo 5 Agenda Nomes, Identificadores e Endereços Definição Nomeação Simples Soluções Simples

Leia mais

APOO Análise e Projeto Orientado a Objetos. Requisitos

APOO Análise e Projeto Orientado a Objetos. Requisitos + APOO Análise e Projeto Orientado a Objetos Requisitos Requisitos 2 n Segundo Larman: n São capacidades e condições às quais o sistema e em termos mais amplos, o projeto deve atender n Não são apenas

Leia mais

15/03/2010. Análise por pontos de função. Análise por Pontos de Função. Componentes dos Pontos de Função. Componentes dos Pontos de Função

15/03/2010. Análise por pontos de função. Análise por Pontos de Função. Componentes dos Pontos de Função. Componentes dos Pontos de Função Análise por pontos de função Análise por Pontos de Função Referência: Manual de práticas de contagem IFPUG Versão 4.2.1 Técnica que permite medir a funcionalidade de um software ou aplicativo, sob a visão

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Manual de Utilização

Manual de Utilização Manual de Utilização Versão 1.0 18/01/2013 Sempre consulte por atualizações deste manual em nossa página. O Cotação Web está em constante desenvolvimento, podendo ter novas funcionalidades adicionadas

Leia mais

Márcio Leandro Moraes Rodrigues. Frame Relay

Márcio Leandro Moraes Rodrigues. Frame Relay Márcio Leandro Moraes Rodrigues Frame Relay Introdução O frame relay é uma tecnologia de chaveamento baseada em pacotes que foi desenvolvida visando exclusivamente a velocidade. Embora não confiável, principalmente

Leia mais

Modelos de Arquiteturas. Prof. Andrêza Leite andreza.lba@gmail.com

Modelos de Arquiteturas. Prof. Andrêza Leite andreza.lba@gmail.com Modelos de Arquiteturas Prof. Andrêza Leite andreza.lba@gmail.com Agenda Introdução Arquitetura de Sistemas Distribuídos Clientes e Servidores Peer-to-Peer Variações Vários Servidores Proxy Código Móvel

Leia mais

Procedimentos para Reinstalação do Sisloc

Procedimentos para Reinstalação do Sisloc Procedimentos para Reinstalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Criação de backups importantes... 3 3. Reinstalação do Sisloc... 4 Passo a passo... 4 4. Instalação da base de dados Sisloc...

Leia mais

TOTVS Série 1 Varejo (Simples) - Módulo e-commerce

TOTVS Série 1 Varejo (Simples) - Módulo e-commerce Novo Módulo disponível no TOTVS S1 Varejo: permissão de utilização através de licença específica. Mesmo não adquirindo a licença de uso do módulo ele continuará presente na tela do usuário. 1 Na opção

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Introdução Um Modelo Arquiteturial dene o modo no qual os componentes de sistemas interagem e o modo no qual eles são mapeados

Leia mais

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling DIMENSIONANDO PROJETOS DE WEB-ENABLING Uma aplicação da Análise de Pontos de Função Dimensionando projetos de Web- Enabling Índice INTRODUÇÃO...3 FRONTEIRA DA APLICAÇÃO E TIPO DE CONTAGEM...3 ESCOPO DA

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

Leia mais

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais Sistemas Operacionais Prof.: Roberto Franciscatto Capítulo 1.2 Aspectos Gerais Estrutura do Sistema Operacional Principais Funções do Sistema Operacional Tratamento de interrupções e exceções Criação e

Leia mais

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM GBC043 Sistemas de Banco de Dados Introdução Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM Página 2 Definição BD Def. Banco de Dados é uma coleção de itens de dados

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

ITIL v3 - Operação de Serviço - Parte 1

ITIL v3 - Operação de Serviço - Parte 1 ITIL v3 - Operação de Serviço - Parte 1 É na Operação de Serviço que se coordena e realiza as atividades e processos necessários para fornecer e gerenciar serviços em níveis acordados com o usuário e clientes

Leia mais

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 2-1. PRINCÍPIOS DE SOFTWARE DE ENTRADA E SAÍDA (E/S) As metas gerais do software de entrada e saída é organizar o software como uma série de camadas, com as mais baixas preocupadas em esconder as

Leia mais

REDE DE COMPUTADORES

REDE DE COMPUTADORES REDE DE COMPUTADORES Tipos de classificação das redes de acordo com sua topologia Prof. Airton Ribeiro de Sousa E-mail: airton.ribeiros@gmail.com 1 Ao longo da historia das redes, varias topologias foram

Leia mais

Sistemas Distribuídos. Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br

Sistemas Distribuídos. Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Agosto/2003 Tópicos Conceitos de HW em SD Multiprocessadores e Multicomputadores Conceitos de SW

Leia mais

Footprints Service Core. Manual de uso do sistema

Footprints Service Core. Manual de uso do sistema Footprints Service Core Manual de uso do sistema Sumário Acessando o sistema... 3 Visão geral... 4 Criação de chamados... 5 Acompanhamento de chamados... 7 Compartilhamento de chamados... 8 Notificações...

Leia mais

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção Sistemas de Arquivos Funções de um SO Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção 2 Sistemas Operacionais Necessidade de Armazenamento Grandes quantidades

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Servidor Proxy armazenamento em cache.

Servidor Proxy armazenamento em cache. Servidor Proxy Servidor Proxy Um modo bastante simples de melhorar o desempenho de uma rede é gravar páginas que foram anteriormente acessadas, caso venham a ser solicitadas novamente. O procedimento de

Leia mais

Data Warehouse. Compras. Caroline B. Perlin

Data Warehouse. Compras. Caroline B. Perlin Data Warehouse Compras Caroline B. Perlin Agenda O processo de compra Requisitos de compras Transações de compra Tabela de fatos Slowly Changing Dimensions (SCD) Técnicas para lidar com SCD Abordagens

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Sistema de Arquivos - II Prof. Galvez Implementação de Arquivos Arquivos são implementados através da criação, para cada arquivo no sistema, de uma estrutura de dados

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura

Leia mais

Sistemas Operativos. Threads. 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv)

Sistemas Operativos. Threads. 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv) Sistemas Operativos Threads 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv) Dos Processos para os Threads O conceito de thread foi introduzido na tentativa de

Leia mais