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.

20 CAPÍTULO 2. PRINCÍPIOS GERAIS<br />

ser consi<strong>de</strong>rado provisório como acontece normalmente com as invocações executadas no cliente. O<br />

resultado <strong>de</strong>finitivo das operações apenas é <strong>de</strong>terminado após a sua integração no estado “oficial” do ob-<br />

jecto. A criação <strong>de</strong> cópias <strong>de</strong> substituição permite às aplicações manipular <strong>de</strong> forma s<strong>em</strong>elhante todos os<br />

objectos (<strong>em</strong>bora a interface da aplicação <strong>de</strong>va reflectir o facto <strong>de</strong> se tratar <strong>de</strong> uma cópia <strong>de</strong> substituição).<br />

Nas soluções apresentadas nesta dissertação é possível executar (submeter) operações sobre <strong>dados</strong><br />

não replicados localmente. No capítulo 3 apresenta-se um sist<strong>em</strong>a que permite também a utilização <strong>de</strong><br />

objectos <strong>de</strong> substituição. Embora esta técnica não possa ser usada <strong>em</strong> todas as situações, os ex<strong>em</strong>plos<br />

apresentados <strong>de</strong>monstram a sua utilida<strong>de</strong> quando usada convenient<strong>em</strong>ente. No capítulo 7 apresenta-<br />

-se um sist<strong>em</strong>a que permite a submissão <strong>de</strong> transacções que não po<strong>de</strong>m ser confirmadas com os <strong>dados</strong><br />

disponíveis localmente.<br />

Que o autor tenha conhecimento, nenhum outro sist<strong>em</strong>a impl<strong>em</strong>enta estas i<strong>de</strong>ias, apesar <strong>de</strong> vários<br />

ser<strong>em</strong> baseados na propagação <strong>de</strong> operações [123, 108, 161]. Por ex<strong>em</strong>plo, no sist<strong>em</strong>a Rover [79], as<br />

operações executadas nas cópias locais dos objectos são propagadas para o servidor através dum meca-<br />

nismo <strong>de</strong> RPC diferido. No entanto, apenas é possível executar operações sobre objectos disponíveis<br />

localmente.<br />

2.3.7 Prevenção <strong>de</strong> conflitos<br />

A necessida<strong>de</strong> <strong>de</strong> reconciliar as modificações executadas in<strong>de</strong>pen<strong>de</strong>nt<strong>em</strong>ente leva a que o resultado ou<br />

efeito <strong>de</strong> uma operação não seja geralmente conhecida imediatamente quando a operação é executada. O<br />

resultado <strong>de</strong>finitivo <strong>de</strong> uma operação apenas é <strong>de</strong>terminado após a sua integração final no estado oficial<br />

dos <strong>dados</strong>. Este facto é comum nos sist<strong>em</strong>as baseados <strong>em</strong> replicação optimista [87, 161, 59, 115].<br />

O conhecimento imediato dos resultados das operações executadas é importante <strong>em</strong> algumas aplica-<br />

ções. Por ex<strong>em</strong>plo, num sist<strong>em</strong>a <strong>de</strong> reserva <strong>de</strong> lugares para comboios é importante que os utilizadores<br />

possam saber imediatamente o resultado dos seus pedidos.<br />

A possibilida<strong>de</strong> <strong>de</strong> obter o resultado <strong>de</strong> uma operação <strong>de</strong> forma in<strong>de</strong>pen<strong>de</strong>nte elimina a necessida<strong>de</strong><br />

<strong>de</strong> comunicar <strong>de</strong> forma síncrona com o servidor. Assim, é possível reduzir o t<strong>em</strong>po <strong>de</strong> processamento<br />

<strong>de</strong> uma operação executando-a localmente. Dado que a latência das comunicações ten<strong>de</strong> a manter-se<br />

s<strong>em</strong> alterações significativas (ao contrário da fiabilida<strong>de</strong> e largura <strong>de</strong> banda), esta proprieda<strong>de</strong> po<strong>de</strong> ser<br />

importante mesmo quando é possível contactar o servidor.<br />

Adicionalmente, é possível utilizar os recursos comunicacionais disponíveis <strong>de</strong> forma mais eficiente<br />

propagando conjuntos <strong>de</strong> operações <strong>de</strong> forma assíncrona. O servidor po<strong>de</strong> também adiar o processamento<br />

das operações para os momentos <strong>de</strong> carga mais reduzida.<br />

A forma <strong>de</strong> garantir o sucesso <strong>de</strong> uma operação <strong>de</strong> forma in<strong>de</strong>pen<strong>de</strong>nte consiste <strong>em</strong> restringir as<br />

operações que po<strong>de</strong>m ser executadas concorrent<strong>em</strong>ente, assim garantindo que não surg<strong>em</strong> conflitos (in-

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

Saved successfully!

Ooh no, something went wrong!