modelos de transações para ambiente de computação móvel maria beatriz f. toledo tarcísio da...
TRANSCRIPT
![Page 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/1.jpg)
Modelos de Transações para Ambiente de Computação
Móvel
Maria Beatriz F. ToledoTarcísio da Rocha
Instituto de Computação
Universidade Estadual de Campinas
![Page 2: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/2.jpg)
Sumário
1. Introdução2. Transações Tradicionais3. Report e Co-Transactions4. Coda-IOT5. Promotion6. Transações Fracas e Fortes7. MobileTrans8. AMT9. Comparação e Conclusões
![Page 3: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/3.jpg)
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
![Page 4: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/4.jpg)
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
![Page 5: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/5.jpg)
Variações na largura de banda.- Conexão Forte
Rede fixaConexãocom fio
Introdução Problemas a enfrentar
![Page 6: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/6.jpg)
Variações na largura de banda.- Conexão Fraca
Rede fixaConexão com redesem fio
Introdução Problemas a enfrentar
![Page 7: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/7.jpg)
Variações na largura de banda.- Desconexão
Rede fixa
Desconectado
Introdução Problemas a enfrentar
![Page 8: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/8.jpg)
Erros na transmissão Alto custo da comunicação
Rede fixaConexãosem fio
Introdução Problemas a enfrentar
![Page 9: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/9.jpg)
Desconexões freqüentes
DesconectadoRede fixa
Introdução Problemas a enfrentar
![Page 10: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/10.jpg)
Escassez de energia do dispositivo móvel. Menor poder computacional
Introdução Problemas a enfrentar
![Page 11: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/11.jpg)
Segurança mais vulnerável.
Rede fixa
Intruso
Introdução Problemas a enfrentar
![Page 12: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/12.jpg)
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
![Page 13: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/13.jpg)
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çãoObjetivos
![Page 14: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/14.jpg)
IntroduçãoObjetivos
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
![Page 15: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/15.jpg)
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
![Page 16: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/16.jpg)
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
![Page 17: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/17.jpg)
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
![Page 18: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/18.jpg)
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)
![Page 19: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/19.jpg)
Transações TradicionaisExecuçã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
![Page 20: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/20.jpg)
Transações TradicionaisExecução com falha
(estado consistente 1)
begin
reads/writes
...
(estado consistente 1)
falha
(estado consistente 1)
begin
reads/writes
commit
...
(estado consistente 2)
falha
![Page 21: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/21.jpg)
Transações Tradicionais Propriedades
• atomicidade
• consistência
• isolamento
• durabilidade
![Page 22: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/22.jpg)
Transações TradicionaisControle 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
![Page 23: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/23.jpg)
Transações TradicionaisControle 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
![Page 24: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/24.jpg)
Transações TradicionaisControle 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
![Page 25: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/25.jpg)
Transações TradicionaisControle 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üencialH1: r1(x) w1(x) r2(x) w2(y) T1<T2H2: r2(x) w2(y) r1(x) w1(x) T2<T1• histórico serializávelH3: r1(x) r2(x) w2(y) w1(x) T2<T1
![Page 26: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/26.jpg)
Transações TradicionaisMecanismo 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
![Page 27: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/27.jpg)
Transações TradicionaisTrancas (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
![Page 28: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/28.jpg)
Transações TradicionaisOrdenaçã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
![Page 29: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/29.jpg)
Transações TradicionaisOrdenação por Timestamp
• OperaçõesTS é o timestamp da operação– leitura
se TS < WTS rejeitasenão executa (RTS= max(RTS, TS)
– escritase TS < RTS ou TS < WTS rejeitasenão executa (WTS=TS)
• Problema principal: número de cancelamentos
![Page 30: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/30.jpg)
Transações TradicionaisCertificaçã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
![Page 31: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/31.jpg)
Transações TradicionaisRecuperaçã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)
![Page 32: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/32.jpg)
Transações TradicionaisRecuperaçã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
![Page 33: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/33.jpg)
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
![Page 34: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/34.jpg)
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.
![Page 35: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/35.jpg)
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.
![Page 36: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/36.jpg)
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.
![Page 37: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/37.jpg)
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
![Page 38: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/38.jpg)
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
![Page 39: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/39.jpg)
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
![Page 40: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/40.jpg)
Coda-IOT Propriedades
– atomicidade (por volume)– isolamento– durabilidade condicional– consistência baseada em
seriabilidade
![Page 41: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/41.jpg)
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
![Page 42: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/42.jpg)
Coda-IOT Estados das Transações
efetivada em resolução
resolvida
em execução pendente início fim com
partição
sucesso na validação
resolução
fim sem partição fracasso na
validação
Transação Desconectada
TransaçãoConectada
![Page 43: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/43.jpg)
Coda-IOTMudanç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.
![Page 44: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/44.jpg)
Coda-IOTMudanç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.
![Page 45: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/45.jpg)
Coda-IOTResoluçã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
![Page 46: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/46.jpg)
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
![Page 47: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/47.jpg)
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
![Page 48: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/48.jpg)
ProMotionCompact - Lease
• métodos específicos– read, modify
• dado• regras de consistência: não tem• obrigações
– prazo
• estado– data da última atualização
![Page 49: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/49.jpg)
ProMotionCompact - 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
![Page 50: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/50.jpg)
ProMotionCompact - Objetos Fragmentáveis II
• Operações
– split
– merge
• Tipos de fragmentos
– lógicos (escrow)
– físicos (pilhas, filas, conjuntos)
![Page 51: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/51.jpg)
ProMotionCompact - 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
![Page 52: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/52.jpg)
ProMotionCompact - 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
![Page 53: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/53.jpg)
ProMotionCompact - Pilha II
CT2 BT2 AT2 CT1 BT1 AT1 Si
• pilha é fragmentada em:
CT1 BT1 AT1 Si
para MH2para 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
![Page 54: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/54.jpg)
ProMotionCompact - Pilha III
• após merge:
AT4 AT1 SiAT2
que equivale T1 T4 T2 T3
AT2AT4 AT1
• ou:
Si
que equivale T2 T3 T1 T4
![Page 55: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/55.jpg)
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
![Page 56: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/56.jpg)
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
![Page 57: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/57.jpg)
• 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/FortesPitoura e Barghava
![Page 58: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/58.jpg)
Transações Fracas/FortesAgrupamentos
• 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)
![Page 59: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/59.jpg)
Transações Fracas/FortesConsistê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)
![Page 60: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/60.jpg)
Transações Fracas/FortesOperaçõ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
![Page 61: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/61.jpg)
Transações Fracas/FortesEfetivaçã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.
![Page 62: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/62.jpg)
MobileTransSantos, 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
![Page 63: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/63.jpg)
MobileTransConsistê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.
![Page 64: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/64.jpg)
MobileTrans Busca de objetos
• Atributo modo– valores: prefetch, ondemand
• Atributo objeto– valores: random, node, randset
![Page 65: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/65.jpg)
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
![Page 66: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/66.jpg)
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.
![Page 67: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/67.jpg)
MobileTrans Armazenamento Local
• indica se objeto deve ser armazenado em cache local
![Page 68: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/68.jpg)
MobileTrans Tratamento de Falha
• Atributos: consistência, busca, delegação, atomicidade, usuário
• valores: abort, retry suspend
![Page 69: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/69.jpg)
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
![Page 70: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/70.jpg)
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
![Page 71: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/71.jpg)
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
![Page 72: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/72.jpg)
Adaptable Mobile Transactions Propriedades
• atomicidade semânticaou todas as transações numa alternativa
terminam com sucesso ou todas são abortadas (ou compensadas)
• isolamentotransações que podem ser compensadas
liberam resultados no finaltransações que não podem ser compensadas
esperam efetivação global para liberar resultados
![Page 73: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/73.jpg)
Comparação
MODELO PROPRIEDADES AUTONOMIA
ADAPTAÇÃO
Report I, A
IOT D Réplica local
PROMOTION
C, D Réplica local, itens frag.
Trans. Fracas/Fortes
C, D Réplica local
Níveis de consistência
AMT I, A Alternativas
MobileTrans C, A Reconfiguração
![Page 74: 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](https://reader034.vdocuments.pub/reader034/viewer/2022051820/552fc10b497959413d8c10ee/html5/thumbnails/74.jpg)
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