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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

1.3. VISÃO GERAL E CONTRIBUIÇÕES 7<br />

técnicas mais a<strong>de</strong>quadas <strong>em</strong> cada modo <strong>de</strong> interacção, incluindo a utilização <strong>de</strong> operações com diferen-<br />

tes granularida<strong>de</strong>s, diferentes técnicas <strong>de</strong> reconciliação e tratamento da informação sobre a evolução dos<br />

<strong>dados</strong>. O sist<strong>em</strong>a DOORS é o primeiro que apresenta uma solução <strong>de</strong> integração das sessões síncronas e<br />

assíncronas com estas características.<br />

1.3.2 Mobisnap<br />

O Mobisnap é um sist<strong>em</strong>a <strong>de</strong> bases <strong>de</strong> <strong>dados</strong> relacionais baseado numa arquitectura cliente/servidor. O<br />

servidor único mantém o estado oficial da base <strong>de</strong> <strong>dados</strong>. Os clientes replicam cópias parciais da base <strong>de</strong><br />

<strong>dados</strong> para suportar a operação durante os períodos <strong>de</strong> <strong>de</strong>sconexão.<br />

As aplicações, que executam nos clientes, modificam o estado da base <strong>de</strong> <strong>dados</strong> submetendo peque-<br />

nos programas escritos <strong>em</strong> PL/SQL [112], a que se chamam transacções móveis. Durante a operação<br />

<strong>de</strong>sconectada, as transacções móveis são executadas provisoriamente no cliente. Mais tar<strong>de</strong>, as transac-<br />

ções são propagadas para o servidor on<strong>de</strong> o seu resultado final é <strong>de</strong>terminado reexecutando o programa<br />

da transacção <strong>móvel</strong>. Ao contrário da execução e validação <strong>de</strong> transacções baseada nos conjuntos <strong>de</strong> lei-<br />

tura e escrita, a execução do programa das transacções móveis no servidor permite a <strong>de</strong>finição <strong>de</strong> regras<br />

<strong>de</strong> <strong>de</strong>tecção e resolução <strong>de</strong> conflitos que exploram a s<strong>em</strong>ântica das operações.<br />

Para permitir <strong>de</strong>terminar o resultado <strong>de</strong> uma transacção no cliente <strong>de</strong> forma in<strong>de</strong>pen<strong>de</strong>nte (por ex<strong>em</strong>-<br />

plo, durante os períodos <strong>de</strong> <strong>de</strong>sconexão), o sist<strong>em</strong>a Mobisnap inclui um mecanismo <strong>de</strong> reservas. Uma<br />

reserva fornece, <strong>de</strong>pen<strong>de</strong>ndo do seu tipo, uma promessa t<strong>em</strong>porária <strong>em</strong> relação ao estado da base <strong>de</strong><br />

<strong>dados</strong>. Um cliente po<strong>de</strong> obter um conjunto <strong>de</strong> reservas antes <strong>de</strong> se <strong>de</strong>sconectar. Quando uma aplicação<br />

submete uma transacção <strong>móvel</strong>, o sist<strong>em</strong>a verifica, <strong>de</strong> forma transparente, se as reservas que o cliente<br />

possui são suficientes para garantir o seu resultado final. Se o cliente possuir reservas suficientes, o re-<br />

sultado local po<strong>de</strong> ser consi<strong>de</strong>rado final porque as reservas garant<strong>em</strong> a inexistência <strong>de</strong> conflitos aquando<br />

da execução da transacção <strong>móvel</strong> no servidor.<br />

O mecanismo <strong>de</strong> reservas do sist<strong>em</strong>a Mobisnap apresenta as seguintes contribuições. Primeiro, inclui<br />

vários tipos <strong>de</strong> reservas (ao contrário <strong>de</strong> propostas anteriores que apenas <strong>de</strong>fin<strong>em</strong> um único tipo [111]).<br />

Como se mostra nesta dissertação, esta característica é fundamental para garantir o resultado <strong>de</strong> muitas<br />

transacções móveis. Segundo, o sist<strong>em</strong>a verifica <strong>de</strong> forma transparente a possibilida<strong>de</strong> <strong>de</strong> usar as reser-<br />

vas disponíveis para garantir o resultado <strong>de</strong> uma transacção <strong>móvel</strong>. Assim, não é necessário usar funções<br />

especiais para manipular os el<strong>em</strong>entos <strong>de</strong> <strong>dados</strong> reservados e qualquer transacção po<strong>de</strong> explorar todas<br />

as reservas disponíveis (e não apenas as que a transacção conhece). Terceiro, o sist<strong>em</strong>a combina a im-<br />

pl<strong>em</strong>entação do mecanismo <strong>de</strong> reservas com o mo<strong>de</strong>lo <strong>de</strong> execução das transacções móveis num sist<strong>em</strong>a<br />

baseado <strong>em</strong> SQL.<br />

O sist<strong>em</strong>a Mobisnap inclui também um novo sist<strong>em</strong>a <strong>de</strong> reconciliação <strong>de</strong> transacções móveis, o sis-

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

Saved successfully!

Ooh no, something went wrong!