Modelos de Transações para Ambiente de Computação Móvel

Slides:



Advertisements
Apresentações semelhantes
CONTROLE DE CONCORRÊNCIA
Advertisements

Introdução Gdes. bancos de dados: Concorrência: Transação:
Controle de Concorrência Serializabilidade
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
A Interface entre Processadores e Periféricos
Aula 3 Requisitos dos SGBD
Consistência de Dados em Computação Móvel
© Marcelo Bezerra de AlcântaraBanco de Dados II – Controle de Concorrência - 1 Disciplina Banco de Dados II Introdução ao Controle de Concorrência Msc,
© Marcelo Bezerra de AlcântaraBanco de Dados II - Transação - 1 Disciplina Banco de Dados II Gerenciamento de transações Msc, Marcelo Bezerra de Alcântara.
Gestão de transacções noções básicas modelo simples modelo elaborado
Transações Atômicas Distribuídas
Sistemas Distribuídos
Transações Atômicas Distribuídas
Sumário 1 SQL Embutida 2 Processamento de Consultas
1 PRO-MOTION : GERENCIAMENTE DE TRANSAÇÕES MÓVEIS Prof. Maria Beatriz ToledoLucien Valeska Pereira Fernandes (ra995342)
Coerência de Memórias Cache e Modelos de Consistência de Memória
Processamento de Transação
Controle de Concorrência em Sistemas Distribuídos
Avaliação de Desempenho de Sistemas Operacionais
Fundamentals of Database Processing
1 Sistemas Distribuídos - SDI Caracterização de Sistemas Distribuídos. Introdução. Exemplos de Sistemas Distribuídos. Desafios.
SISTEMAS DISTRIBUÍDOS Princípios e Paradigmas 2ª Edição ANDREW S
Mobilidade Cláudia Ribeiro.
RECUPERAÇÃO APÓS FALHA
REDUNDÂNCIA POR SOFTWARE
Gerência de Transações em Sistema de Banco de Dados Móvel
Gerenciamento de Transações - Introdução
Um Esquema de Replicação para Suportar Conectividade Fraca em Sistemas de Informação Móveis * Gustavo Fortes Tondello PPGCC – UFSC – 2005 * Original: A.
1 Modelos de Sistemas Distribuídos. Introdução - Dificuldades e ameaças para SD. Grande variação na utilização de SD )carga de trabalho e requerimentos.
Sistemas Distribuídos
Transações Prof: Galina
Sistemas Distribuídos
Carolina Gelenske Carlos Eduardo Laís Xavier
Protocolos de Recuperação
Fiabilidade de Sistemas Informáticos Acções Atómicas
Controle Distribuído da Concorrência
Exercícios SGBD - CESPE
Controle de concorrência
Sistemas Distribuídos Introdução. Conceito Coleção de múltiplos processos que executam sobre uma coleção de processadores autônomos interligados em uma.
Sistemas Distribuídos
Controle de Concorrência Locks. Conceito de Transação Transações podem ser vistas como um grupo de operações combinadas em uma unidade lógica de trabalho.
SGBD Distribuído Lílian Simão Oliveira.
Sistemas Tolerantes a Falhas: Conceitos e Técnicas
Transações Concorrentes
SCC Bancos de Dados e Suas Aplicações
SISTEMAS DISTRIBUÍDOS Transações Atômicas
Introdução a Banco de Dados Aula 04
1 MAC Computação Móvel Agentes de software para Computação Móvel Aluno: Eduardo Leal Guerra
PROGRAMAÇÃO DISTRIBUÍDA Aula 02 Prof. Henrique Mongelli
Sistemas Distribuídos
Lendo dados temporais de forma consistente em Broadcast Disks José Flávio M. V. Júnior Baseado no artigo: Reading Temporally Consistent Data in Broadcast.
Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi.
O problema da desconexão em BD móveis Equipe: Antonio Jaime M. de Almeida Bruno de Brito Leite.
Universidade Federal de Santa Catarina Programa de Pós-Graduação em Ciência da Computação Lazy Database Replication with Ordering Guarantees Khuzaima Daudjee.
1 Universidade Federal de Santa Catarina Centro Tecnológico - CTC Departamento de Informática e Estatística - INE Bancos de Dados Distribuídos Transaction.
Sumário 1 Processamento de Consultas 2 Introdução a Transações
1 Middlewares para Aplicações Peer-to-Peer em Redes Móveis – Projeto Bayou Gustavo Luiz Bastos Baptista.
Tolerância a Falhas Carlos Oberdan Rolim Ciência da Computação.
Computação Autônoma no InteGrade Raphael Y. de Camargo (IME-USP) Janeiro de 2004.
Sumário 1 Processamento de Consultas 2 Introdução a Transações
Transações Banco de Dados II Aline S Costa 1. TRANSAÇÕES Conjunto de operações que formam uma única unidade lógica de trabalho; Conjunto de instruções.
Sistemas de Memória Cache em Multiprocessadores
Projeto e Implementação de Sistemas de Arquivos
Sistemas Operacionais Distribuídos
Sistemas Distribuídos
Redes e Sistemas Distribuídos II – Cód Prof. MSc. Ronnison Reges Vidal.
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
Bancos de Dados Móveis Alunos: Douglas Tomaz Machado
Alunas: Ana Paula/ Beatriz / Gracielle / Márci Alunas: Ana Paula/ Beatriz / Gracielle / Márci a Professor Antônio.
Denise Santin Ebone Leandro Almeida Leonardo Stadler Pezzini Mariana Gomes Santos Soraia Barbosa de Almeida.
Transcrição da apresentação:

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

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

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

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

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

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

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

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

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

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

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

Introdução Problemas a enfrentar 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 Objetivos 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 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

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

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

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

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) abort

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

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

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

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

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

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

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<T2 H2: r2(x) w2(y) r1(x) w1(x) T2<T1 histórico serializável H3: r1(x) r2(x) w2(y) w1(x) T2<T1

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

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

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

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

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

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)

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

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

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.

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.

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.

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

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

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

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

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

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

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.

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.

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

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

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

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

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

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

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

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

ProMotion Compact - Pilha II CT2 BT2 AT2 CT1 BT1 AT1 Si pilha é fragmentada em: CT1 BT1 AT1 Si para MH2 para MH1 CT2 BT2 AT2 AT2 T3 em MH1 faz 2 pop’s e termina T4 em MH2 faz 2 pop’s, push e termina AT4 AT1

ProMotion Compact - Pilha III após merge: AT4 AT1 Si AT2 que equivale T1  T4  T2  T3 AT2 AT4 AT1 ou: Si que equivale T2  T3  T1  T4

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

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

Transações Fracas/Fortes Pitoura e Barghava 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 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)

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)

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

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.

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

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.

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

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

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.

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

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

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

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

Adaptable Mobile Transactions Definição AMT = (T, CT, <EAk>) T é o conjunto de transações componentes CT é o conjunto de transações de compensação EAk para k  1, é a lista de alternativas onde EAk tem prioridade sobre EAk+1 EAk = (EDk, EPk) , uma alternativa EAk tem um plano de execução EPk se o ambiente satifaz o descritor associado EDk EPk = {(Tki,H)}, Tki  T, um plano Epk é um conjunto de pares transação componente e host para sua execução

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

Comparação Report I, A IOT D Réplica local PROMOTION C, D MODELO PROPRIEDADES AUTONOMIA ADAPTAÇÃO Report I, A IOT D Réplica local PROMOTION C, D Réplica local, itens frag. Trans. Fracas/Fortes Níveis de consistência AMT Alternativas MobileTrans C, A Reconfiguração

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