11.04.2013 Views

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

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

7.2. ARQUITECTURA 109<br />

O subsist<strong>em</strong>a <strong>de</strong> notificações encarrega-se <strong>de</strong> entregar as mensagens produzidas durante a execução<br />

<strong>de</strong>finitiva das transacções móveis aos serviços que efectuam a sua entrega final aos utilizadores. Este<br />

subsist<strong>em</strong>a executa as mesmas funções que o serviço <strong>de</strong> notificações do sist<strong>em</strong>a DOORS, <strong>de</strong>scrito na<br />

secção 6.2.7.<br />

O subsist<strong>em</strong>a <strong>de</strong> comunicações controla a troca <strong>de</strong> mensagens entre os clientes e os servidores usando<br />

um mo<strong>de</strong>lo <strong>de</strong> propagação <strong>de</strong> mensagens síncrono ou assíncrono. Quando se usa um mo<strong>de</strong>lo síncrono,<br />

o subsist<strong>em</strong>a executa uma s<strong>em</strong>ântica no máximo uma vez (at most once). Quando se usa um mo<strong>de</strong>lo<br />

assíncrono, o subsist<strong>em</strong>a executa uma s<strong>em</strong>ântica exactamente uma vez (exactly-once).<br />

No protótipo do sist<strong>em</strong>a Mobisnap, são usados dois transportes na propagação <strong>de</strong> mensagens: TCP<br />

e SMTP. O sist<strong>em</strong>a <strong>de</strong> propagação impl<strong>em</strong>enta um mo<strong>de</strong>lo <strong>de</strong> segurança utilizando técnicas <strong>de</strong> cripto-<br />

grafia. Este mo<strong>de</strong>lo é baseado na <strong>de</strong>finição <strong>de</strong> uma sessão segura <strong>de</strong> duração limitada que t<strong>em</strong> associada<br />

uma chave <strong>de</strong> criptografia simétrica. A sessão é estabelecida recorrendo a um mo<strong>de</strong>lo <strong>de</strong> criptografia<br />

assimétrica. O subsist<strong>em</strong>a <strong>de</strong> comunicação usado no sist<strong>em</strong>a Mobisnap é <strong>de</strong>talhado <strong>em</strong> [32, 33].<br />

7.2.2 Cliente<br />

O cliente Mobisnap é composto por um conjunto <strong>de</strong> subsist<strong>em</strong>as que interag<strong>em</strong> para executar as funcio-<br />

nalida<strong>de</strong>s do sist<strong>em</strong>a Mobisnap.<br />

O sist<strong>em</strong>a <strong>de</strong> <strong>gestão</strong> <strong>de</strong> bases <strong>de</strong> <strong>dados</strong> mantém as cópias parciais da base <strong>de</strong> <strong>dados</strong> manipulada pelas<br />

aplicações. Adicionalmente, armazena, <strong>de</strong> forma estável, a informação interna dos vários componentes<br />

do cliente. O cliente Mobisnap po<strong>de</strong> utilizar diferentes bases <strong>de</strong> <strong>dados</strong> — no protótipo do sist<strong>em</strong>a Mo-<br />

bisnap usa-se o Hypersonic SQL [71], uma sist<strong>em</strong>a <strong>de</strong> <strong>gestão</strong> <strong>de</strong> bases <strong>de</strong> <strong>dados</strong> <strong>de</strong> pequena dimensão<br />

(menor que 200 Kb) totalmente impl<strong>em</strong>entado <strong>em</strong> Java.<br />

O subsist<strong>em</strong>a <strong>de</strong> replicação controla a <strong>gestão</strong> das réplicas parciais mantidas pelo cliente. Como se<br />

referiu anteriormente, o cliente mantém duas cópias da base <strong>de</strong> <strong>dados</strong>, uma versão estável e uma versão<br />

provisória. Estas cópias são actualizadas a partir dos servidores e durante a execução local das transac-<br />

ções móveis. As aplicações po<strong>de</strong>m executar operações <strong>de</strong> interrogação sobre cada uma das versões. No<br />

protótipo actual, é impossível saber se os resultados obtidos são incompletos <strong>de</strong>vido à replicação parcial.<br />

No entanto, através da introdução <strong>de</strong> um mecanismo <strong>de</strong> replicação secundária s<strong>em</strong>ântica [35, 142] seria<br />

possível indicar a completu<strong>de</strong> do resultado.<br />

O subsist<strong>em</strong>a <strong>de</strong> reservas efectua a <strong>gestão</strong> das reservas no cliente. Duas activida<strong>de</strong>s são executa-<br />

das. Primeiro, para cada utilizador, mantém as reservas que po<strong>de</strong>m ser utilizadas localmente. Segundo,<br />

controla a utilização das reservas nas transacções móveis executadas localmente.<br />

Os subsist<strong>em</strong>as anteriores são, igualmente, responsáveis por controlar a obtenção e actualização das<br />

réplicas locais e das reservas obtidas. No protótipo actual, as aplicações <strong>de</strong>v<strong>em</strong> especificar quais os <strong>dados</strong>

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

Saved successfully!

Ooh no, something went wrong!