gestão de dados partilhados em ambientes de computação móvel

gestão de dados partilhados em ambientes de computação móvel gestão de dados partilhados em ambientes de computação móvel

asc.di.fct.unl.pt
from asc.di.fct.unl.pt More from this publisher
11.04.2013 Views

xii CONTEÚDO 6.3.6 Serviço de awareness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 6.4 Sumário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 7 Apresentação do sistema Mobisnap 103 7.1 Modelo geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 7.2 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 7.2.1 Servidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 7.2.2 Cliente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 7.2.3 Protótipo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 7.3 Transacções móveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 7.3.1 Processamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 7.3.2 Processamento alternativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 8 Reservas 115 8.1 Tipos de reservas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 8.1.1 Reservas value-change e slot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 8.1.2 Reserva value-lock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 8.1.3 Reservas value-use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 8.1.4 Reservas escrow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 8.1.5 Reservas shared value-change e shared slot . . . . . . . . . . . . . . . . . . . . 119 8.2 Concessão e garantia de respeito pelas reservas . . . . . . . . . . . . . . . . . . . . . . 119 8.3 Processamento das transacções móveis no cliente . . . . . . . . . . . . . . . . . . . . . 122 8.3.1 Verificação da possibilidade de garantir uma transacção móvel . . . . . . . . . . 122 8.4 Processamento das transacções móveis no servidor . . . . . . . . . . . . . . . . . . . . 125 8.5 Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 9 Avaliação do modelo básico do sistema Mobisnap 131 9.1 Aplicações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 9.1.1 Suporte a uma força de vendas . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 9.1.2 Agenda partilhada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 9.1.3 Sistema de reserva de bilhetes de comboio . . . . . . . . . . . . . . . . . . . . . 134 9.1.4 Metodologia de concepção das transacções móveis . . . . . . . . . . . . . . . . 134 9.2 Reservas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 9.2.1 Modelo das experiências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 9.2.2 Previsão fiável . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 9.2.3 Previsão não fiável . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

CONTEÚDO xiii 10 Sistema de reconciliação SqlIceCube 149 10.1 Modelo geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 10.2 Relações estáticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 10.2.1 Relações da aplicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 10.2.2 Relações dos dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 10.2.3 Transacções independentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 10.3 Algoritmo de reconciliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 10.3.1 Heurística . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 10.3.2 Algoritmo básico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 10.3.3 Complexidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 10.4 Optimização da reconciliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 10.4.1 Partições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 10.4.2 Compressão de uma sequência de transacções . . . . . . . . . . . . . . . . . . . 159 10.5 Extracção automática de relações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 10.5.1 Extracção de informação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 10.5.2 Inferir relações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 10.5.3 Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 10.5.4 Extensões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 10.6 Observações finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 11 Trabalho relacionado 173 11.1 Replicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 11.1.1 Modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 11.1.2 Arquitecturas e tipos de réplicas . . . . . . . . . . . . . . . . . . . . . . . . . . 175 11.1.3 Unidade de replicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 11.1.4 Replicação antecipada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 11.1.5 Invocação cega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 11.1.6 Propagação das modificações: propagar o quê? . . . . . . . . . . . . . . . . . . 179 11.1.7 Detecção das modificações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 11.1.8 Propagação das modificações: propagar como? . . . . . . . . . . . . . . . . . . 181 11.1.9 Reconciliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 11.1.10 Prevenção de conflitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 11.2 Informação sobre a evolução dos dados . . . . . . . . . . . . . . . . . . . . . . . . . . 189 11.3 Integração de sessões síncronas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

CONTEÚDO xiii<br />

10 Sist<strong>em</strong>a <strong>de</strong> reconciliação SqlIceCube 149<br />

10.1 Mo<strong>de</strong>lo geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149<br />

10.2 Relações estáticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151<br />

10.2.1 Relações da aplicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151<br />

10.2.2 Relações dos <strong>dados</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152<br />

10.2.3 Transacções in<strong>de</strong>pen<strong>de</strong>ntes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152<br />

10.3 Algoritmo <strong>de</strong> reconciliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153<br />

10.3.1 Heurística . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153<br />

10.3.2 Algoritmo básico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154<br />

10.3.3 Complexida<strong>de</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157<br />

10.4 Optimização da reconciliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158<br />

10.4.1 Partições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158<br />

10.4.2 Compressão <strong>de</strong> uma sequência <strong>de</strong> transacções . . . . . . . . . . . . . . . . . . . 159<br />

10.5 Extracção automática <strong>de</strong> relações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160<br />

10.5.1 Extracção <strong>de</strong> informação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161<br />

10.5.2 Inferir relações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162<br />

10.5.3 Ex<strong>em</strong>plos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166<br />

10.5.4 Extensões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168<br />

10.6 Observações finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172<br />

11 Trabalho relacionado 173<br />

11.1 Replicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173<br />

11.1.1 Mo<strong>de</strong>los . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173<br />

11.1.2 Arquitecturas e tipos <strong>de</strong> réplicas . . . . . . . . . . . . . . . . . . . . . . . . . . 175<br />

11.1.3 Unida<strong>de</strong> <strong>de</strong> replicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176<br />

11.1.4 Replicação antecipada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178<br />

11.1.5 Invocação cega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178<br />

11.1.6 Propagação das modificações: propagar o quê? . . . . . . . . . . . . . . . . . . 179<br />

11.1.7 Detecção das modificações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180<br />

11.1.8 Propagação das modificações: propagar como? . . . . . . . . . . . . . . . . . . 181<br />

11.1.9 Reconciliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183<br />

11.1.10 Prevenção <strong>de</strong> conflitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187<br />

11.2 Informação sobre a evolução dos <strong>dados</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . 189<br />

11.3 Integração <strong>de</strong> sessões síncronas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!