A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Modelos de Transações para Ambiente de Computação Móvel Maria Beatriz F. Toledo Tarcísio da Rocha Instituto de Computação Universidade Estadual de Campinas.

Apresentações semelhantes


Apresentação em tema: "Modelos de Transações para Ambiente de Computação Móvel Maria Beatriz F. Toledo Tarcísio da Rocha Instituto de Computação Universidade Estadual de Campinas."— Transcrição da apresentação:

1 Modelos de Transações para Ambiente de Computação Móvel Maria Beatriz F. Toledo Tarcísio da Rocha Instituto de Computação Universidade Estadual de Campinas

2 Sumário 1. Introdução 2. Transações Tradicionais 3. Report e Co-Transactions 4. Coda-IOT 5. Promotion 6. Transações Fracas e Fortes 7. MobileTrans 8. AMT 9. Comparação e Conclusões

3 Introdução 1. Consistência de dados para aplicações distribuídas –ambiente: máquinas fixas, redes tradicionais –solução: transações que oferecem transparência de concorrência e falhas

4 Introdução 2. Consistência de dados para aplicações distribuídas –ambiente: máquinas móveis, redes sem fio –problemas a enfrentar: restrições do dispositivo móvel, do meio de comunicação

5 Variações na largura de banda. - Conexão Forte Rede fixa Conexão com fio Introdução Problemas a enfrentar

6 Variações na largura de banda. - Conexão Fraca Rede fixa Conexão com rede sem fio Introdução Problemas a enfrentar

7 Variações na largura de banda. - Desconexão Rede fixa Desconectado Introdução Problemas a enfrentar

8 Erros na transmissão Alto custo da comunicação Rede fixa Conexão sem fio Introdução Problemas a enfrentar

9 Desconexões freqüentes Desconectado Rede fixa Introdução Problemas a enfrentar

10 Escassez de energia do dispositivo móvel. Menor poder computacional Introdução Problemas a enfrentar

11 Segurança mais vulnerável. Rede fixa Intruso Introdução Problemas a enfrentar

12 As considerações feitas em relação ao ambiente de rede tradicional raramente são válidas ou apropriadas para o ambiente computacional móvel. Introdução Problemas a enfrentar

13 1. autonomia da máquina móvel: capacidade de adaptação a variações no ambiente –minimizar comunicação mecanismos assíncronos compressão de dados réplicas em cache local 2. capacidade de adaptação a variações no ambiente –permitir participação da aplicação na adaptação (melhor desempenho e flexibilidade) Introdução Objetivos

14 3. revisar propriedades e mecanismos de transações –controle de concorrência baseado em trancas bloqueia dados por muito tempo se transação desconectada –controle de concorrência otimista número de conflitos aumenta com desconexões longas –critérios semânticos para diminuir conflitos para facilitar reintegração

15 Transações Tradicionais Origem –aplicações comerciais e financeiras que utilizam BDs Características das aplicações –curta duração –tipos de dados restritos –tipos de operações restritos

16 Transações Tradicionais Problemas que podem ocorrer durante execução: –compartilhamento de dados por aplicações concorrentes –ocorrência de falhas que interrompem a execução de aplicações

17 Transações Tradicionais Objetivos oferecer mecanismos para –controle de concorrência sobre dados compartilhados –recuperação de dados simplificar o desenvolvimento de aplicações assegurar a obtenção de resultados corretos

18 Transações Tradicionais Operações operações sobre itens de dado: read, write operações de controle: begin, commit, abort (estado consistente 1) begin reads/writes commit (estado consistente 2) (estado consistente 1) begin reads/writes abort (estado consistente 1)

19 Transações Tradicionais Execução com concorrência (estado consistente 1) begin reads/writes begin reads/writes commit reads/writes commit (estado consistente 2) Transação 1 Transação 2

20 Transações Tradicionais Execução com falha (estado consistente 1) begin reads/writes... (estado consistente 1) falha (estado consistente 1) begin reads/writes commit... (estado consistente 2) falha

21 Transações Tradicionais Propriedades atomicidade consistência isolamento durabilidade

22 Transações Tradicionais Controle de Concorrência transações seqüenciais –garantia de consistência –compromete desempenho transações concorrentes –entrelaçamento de operações provoca interferência –melhora desempenho

23 Transações Tradicionais Controle de Concorrência Tipos de interferência - exemplos –escrita perdida (lost update) r1(x) w1(x) w2(x) a1 –leitura inconsistente (dirty read) r1(x) w1(x) r2(x) a1

24 Transações Tradicionais Controle de Concorrência Objetivos –evitar interferências entre transações concorrentes –produzir históricos corretos (consistentes) histórico seqüencial histórico serializável –concorrente –equivalente a um histórico sequencial

25 Transações Tradicionais Controle de Concorrência Equivalência –pares de operações conflitantes aparecem na mesma ordem r1(x) w2(x), w1(x) r2(x), w1(x) w2(x) –exemplo histórico seqüencial H1: r1(x) w1(x) r2(x) w2(y) T1

26 Transações Tradicionais Mecanismo para Controle de Concorrência escalona operações de forma a produzir históricos corretos após receber uma operação pode: –executá-la imediatamente –atrasá-la bloqueando transação –rejeitá-la abortando transação

27 Transações Tradicionais Trancas (locks) tranca é solicitada antes de qualquer operação em um dos modos: –compartilhado para read –exclusivo para write tranca é concedida se compatível com trancas já existentes se incompatível transação é bloqueada trancas são liberadas no final da transação problema principal: deadlocks

28 Transações Tradicionais Ordenação por Timestamp cada transação tem um timestamp cada operação deve ser acompanhada do TS da transação cada item de dado tem associado: TS de leitura - RTS TS de escrita - WTS Histórico resultante –equivale ao seqüencial ordenado por ordem de TS

29 Transações Tradicionais Ordenação por Timestamp Operações TS é o timestamp da operação –leitura se TS < WTS rejeita senão executa (RTS= max(RTS, TS) –escrita se TS < RTS ou TS < WTS rejeita senão executa (WTS=TS) Problema principal: número de cancelamentos

30 Transações Tradicionais Certificação (Método Otimista) uma transação tem 3 fases: –fase de execução operações de leitura são executadas sem restrições operações de escrita são executadas sobre área de trabalho da transação –fase de validação testa conflitos que causem inconsistência –fase de atualização se passa na validação, efetiva atualizações problemas: números de cancelamentos

31 Transações Tradicionais Recuperação de Falhas Tipos de falha –falhas de transação –falhas de sistema Estados armazenados –estado do sistema antes de a transação iniciar (necessário quando transação é abortada) –estado contendo as atualizações da transação (necessário se transação termina com sucesso)

32 Transações Tradicionais Recuperação de Falhas estrutura utilizada - log –para guardar histórico da execução das transações. Inclui: informação para desfazer e refazer operações executadas informação sobre o estado das transações mecanismo de recuperação –operações são desfeitas em caso de falha –operações são refeitas para transações que terminarem com sucesso

33 Report e Co-Transactions Chrysanthis Objetivos –permitir troca de resultados parciais entre transações –permitir distribuição da computação entre máquinas fixas e móveis –flexibilizar atomicidade

34 Report e Co-Transactions Modelo Uma transação móvel é um conjunto de subtransações que podem ser: 1. subtransações atômicas: compensáveis: para as quais podem ser definidas transações compensatórias compensatórias: que desfazem efeitos de subtransações compensáveis 2. subtransações não compensáveis: resultados são delegados para transação móvel.

35 Report e Co-Transactions Modelo 3. subtransações report: delega resultados parciais com transação móvel. 4. subtransações co-transactions: report com comportamento de co-rotina.

36 Report e Co-Transactions Propriedades isolamento relaxado: –subtransações compensáveis tornam resultados visíveis no final –subtransações report compartilham resultados parciais com transação móvel atomicidade: efetivação de resultados parciais no final de cada subtransação compensável.

37 Report e Co-Transactions Propriedades vitais/não vitais. mobilidade: –transação móvel executa na máquina móvel –report e co-transactions executam em máquinas fixas mas podem se mover para acompanhar máquina móvel

38 Coda-IOT Lu e Satynarayanan Objetivos –permitir execução de transações em máquinas móveis conectadas ou desconectadas –evitar o bloqueio de arquivos utilizando controle de concorrência otimista

39 Coda-IOT Origem Sistema de arquivos Coda: interface Unix replicação de arquivos –cópia de primeira classe em servidores (máquinas fixas) –cópia de segunda classe na máquina móvel controle de concorrência otimista –escritas no cliente –validação no servidor

40 Coda-IOT Propriedades –atomicidade (por volume) –isolamento –durabilidade condicional –consistência baseada em seriabilidade

41 Coda-IOT controle de concorrência local baseado em trancas manutenção de log local no final da transação ou no momento da reconexão, log é enviado para servidores servidores utilizam log para validar transações estados dos arquivos são propagados do cliente para servidor se transação for válida

42 Coda-IOT Estados das Transações efetivada em resolução resolvida em execuçãopendente início fim com partição sucesso na validação resolução fim sem partição fracasso na validação Transação Desconectada Transação Conectada

43 Coda-IOT Mudança de Estados quando transação é iniciada passa para estado em execução quando termina passa para: –efetivada: se mantém conexões. Estado é imediatamente propagado. –pendente: se perde conexões. Libera dados para transações locais criando dependências.

44 Coda-IOT Mudança de Estados na reconexão: determina ordem de transações pendentes e envia log de uma em uma. –Se válida passa para estado efetivada. –Se inválida passa para estado em resolução. quando termina resolução de conflito, transação passa para estado resolvida.

45 Coda-IOT Resolução de Conflitos re-execução automática da transação cancelamento automático execução de programa para resolver conflitos reparo manual pelo usuário

46 Promotion Walborn e Chrysanthis Objetivos –evitar bloqueio utilizando controle de concorrência semântico –aumentar autonomia através de replicação local Aspectos principais –encapsulamento de dados em compacts –transações com vários níveis de consistência

47 Promotion Estrutura de Compacts dados métodos específicos informação sobre estado regras de consistência obrigações métodos para gerenciamento do compact –inquire, commit, abort

48 ProMotion Compact - Lease métodos específicos –read, modify dado regras de consistência: não tem obrigações –prazo estado –data da última atualização

49 ProMotion Compact - Objetos Fragmentáveis I Conceito –pode ser dividido em partições menores –partições podem ser armazenadas na máquina móvel Objetivos –fornecer granularidade fina de cache e controle de concorrência –facilitar integração depois de reconexão –permitir efetivação local de transações

50 ProMotion Compact - Objetos Fragmentáveis II Operações –split –merge Tipos de fragmentos –lógicos (escrow) –físicos (pilhas, filas, conjuntos)

51 ProMotion Compact - Escrow métodos específicos –increase, decrease dado (do tipo inteiro) regras de consistência –valor máximo e mínimo obrigações – prazo estado –escrow journal

52 ProMotion Compact - Pilha I operações: push, pop itens inseridos por uma transação ficam adjacentes na pilha fragmentos: porção contendo dados interdependentes fisicamente fragmentáveis reordenáveis

53 ProMotion Compact - Pilha II C T2 B T2 A T2 C T1 B T1 A T1 S i pilha é fragmentada em: C T1 B T1 A T1 S i para MH2 para MH1 C T2 B T2 A T2 A T2 T3 em MH1 faz 2 pops e termina T4 em MH2 faz 2 pops, push e termina A T4 A T1

54 ProMotion Compact - Pilha III após merge: A T4 A T1 S i A T2 que equivale T1 T4 T2 T3 A T2 A T4 A T1 ou: S i que equivale T2 T3 T1 T4

55 Promotion Transações modo: conectado, desconectado –na reconexão, prazos de expiração de compacts são verificados níveis de consistência: 0 (sem garantia),..., 8 (serializável), 9 (seqüencial) cada método tem nível e modo de acessso (read/write) cada transação tem nível para read e write

56 Promotion Transações cada operação só pode ser executada se seu nível for nível da transação transação termina com sucesso se dados lidos têm nível nível dados modificados

57 Objetivos: –lidar com desconexões –oferecer apoio à adaptação a largura de banda Idéias básicas: –agrupamento de dados –consistência dentro do agrupamento ou entre agrupamento –novas operações weak read/weak write –dois tipos de transações: weak e strict Transações Fracas/Fortes Pitoura e Barghava

58 Transações Fracas/Fortes Agrupamentos agrupamento de dados relacionados (por localização ou semântica) reconfiguração dinâmica de agrupamentos (dispositivo móvel pode sair de agrupamento devido a desconexões ou deslocamento de células) replicação no cache do dispositivo móvel (pode se tornar um agrupamento se desconectado)

59 Transações Fracas/Fortes Consistência dados dentro de um agrupamento são consistentes dados em agrupamentos diferentes podem apresentar um certo grau de inconsistência grau de consistência pode variar de acordo com disponibilidade de banda entre agrupamentos (aplicação pode se adaptar)

60 Transações Fracas/Fortes Operações Fracas/Fortes weak read/weak write operam sobre dados dentro de um agrupamento strict read/strict write operam sobre dados consistentes (read e write padrão) strict read só lê dados escritos por strict write

61 Transações Fracas/Fortes Efetivação de Transações weak transaction: realiza weak reads e weak writes. –Operam sobre dados locais ao agrupamento da transação. –Duas efetivações: local ao agrupamento (dados visíveis para outras weak transactions) e global na reintegração do agrupamento. strict transaction: realiza strict reads e strict writes. Efetivação global.

62 MobileTrans Santos, Veiga, Ferreira Objetivos –oferecer apoio à adaptação através de políticas para busca de objetos, armazenamento local de objetos, delegação de objetos, relaxamento de consistência e atomicidade, tratamento de falhas –permitir extensão com relação a outros atributos não previstos inicialmente

63 MobileTrans Consistência Atributo objeto –valores: required, replica, dispensable Atributo grau da transação –valores: high, medium, low –high: objetos devem ser buscados de nó seguro. –medium: objetos com atributo de consistência required são buscados de nó seguro. Os outros podem vir de cache local ou de outros nós. –low: required de nó seguro, replica de qualquer nó, dispensable não precisam ser alcançados.

64 MobileTrans Busca de objetos Atributo modo –valores: prefetch, ondemand Atributo objeto –valores: random, node, randset

65 MobileTrans Delegação o papel de coordenador pode ser delegado para outros nós –nó específico –aleatório dentro de um conjunto –aleatório

66 MobileTrans Atomicidade Atributo objeto –valores: mandatory, tentative Atributo grau –valores: high, low –no grau high todos os objetos (cópia principal) devem ser atualizados –no grau low só objetos mandatory precisam ser atualizados. Objetos com atributo tentative podem ser atualizados localmente ou descartadas.

67 MobileTrans Armazenamento Local indica se objeto deve ser armazenado em cache local

68 MobileTrans Tratamento de Falha Atributos: consistência, busca, delegação, atomicidade, usuário valores: abort, retry suspend

69 Adaptable Mobile Transactions Alvarado et al. Objetivos –oferecer apoio à adaptação através da definição de várias alternativas de execução Idéia básica –uma transação adaptável consiste de várias alternativas (podem ser semanticamente equivalentes) –a cada alternativa está associado um descritor de ambiente que descreve o estado necessário para executar essa alternativa

70 Adaptable Mobile Transactions Descritor de Ambiente rede –estado da conexão: connected, disconnected –largura de banda: high, medium, low –custo de comunicação: free, cheap, expensive dispositivo móvel –disponibilidade de bateria: full, half, low –disponibilidade de cache: full, half, low –disponibilidade de memória persistente: full, half, low –capacidade de processamento: high, medium, low –tempo estimado de conexão: hh:mm:ss

71 Adaptable Mobile Transactions Definição AMT = (T, CT, ) T é o conjunto de transações componentes CT é o conjunto de transações de compensação EA k para k 1, é a lista de alternativas onde EA k tem prioridade sobre EA k+1 EA k = (ED k, EP k ), uma alternativa EA k tem um plano de execução EP k se o ambiente satifaz o descritor associado ED k –EP k = {(T ki,H)}, T ki T, um plano Epk é um conjunto de pares transação componente e host para sua execução

72 Adaptable Mobile Transactions Propriedades atomicidade semântica ou todas as transações numa alternativa terminam com sucesso ou todas são abortadas (ou compensadas) isolamento transações que podem ser compensadas liberam resultados no final transações que não podem ser compensadas esperam efetivação global para liberar resultados

73 Comparação MODELOPROPRIEDADESAUTONOMIAADAPTAÇÃO ReportI, A IOTDRéplica local PROMOTIONC, DRéplica local, itens frag. Trans. Fracas/Fortes C, DRéplica localNíveis de consistência AMTI, AAlternativas MobileTransC, AReconfiguração

74 Conclusões revisão de propriedades e mecanismos do modelo tradicional de transações conhecimento sobre ambiente para configurar transação notificação sobre variações para reconfigurar transação e permitir melhor adaptação


Carregar ppt "Modelos de Transações para Ambiente de Computação Móvel Maria Beatriz F. Toledo Tarcísio da Rocha Instituto de Computação Universidade Estadual de Campinas."

Apresentações semelhantes


Anúncios Google