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.

2.3. PRINCÍPIOS 21<br />

solúveis). As técnicas <strong>de</strong> trincos (locks) [17, 60] usadas tradicionalmente <strong>em</strong> sist<strong>em</strong>as distribuídos são<br />

um ex<strong>em</strong>plo extr<strong>em</strong>o <strong>de</strong>sta estratégia: o utilizador que possui um trinco po<strong>de</strong> modificar os <strong>dados</strong> en-<br />

quanto todos os outros estão impedidos <strong>de</strong> efectuar qualquer modificação.<br />

Outro ex<strong>em</strong>plo <strong>de</strong>ssa estratégia consiste <strong>em</strong> utilizar a informação s<strong>em</strong>ântica associada aos tipos <strong>de</strong><br />

<strong>dados</strong> representados e às operações que po<strong>de</strong>m ser executadas sobre esses tipos <strong>de</strong> <strong>dados</strong> para garantir o<br />

sucesso <strong>de</strong> operações executadas concorrent<strong>em</strong>ente. Por ex<strong>em</strong>plo, é s<strong>em</strong>pre possível garantir o sucesso<br />

<strong>de</strong> uma operação <strong>de</strong> incr<strong>em</strong>ento executada sobre um número inteiro (<strong>de</strong> dimensão não limitada). Esta<br />

i<strong>de</strong>ia po<strong>de</strong> ser estendida limitando as operações que po<strong>de</strong>m ser executadas (ou, o que é equivalente, res-<br />

tringindo os valores possíveis <strong>de</strong> cada réplica). Estas i<strong>de</strong>ias foram propostas anteriormente para garantir<br />

o sucesso <strong>de</strong> operações executadas concorrent<strong>em</strong>ente [111, 168].<br />

No capítulo 7 apresentamos um sist<strong>em</strong>a <strong>de</strong> reservas que permite garantir in<strong>de</strong>pen<strong>de</strong>nt<strong>em</strong>ente o su-<br />

cesso (<strong>de</strong> algumas) das operações executadas numa base <strong>de</strong> <strong>dados</strong> para <strong>computação</strong> <strong>móvel</strong>. Quando é<br />

impossível garantir o sucesso <strong>de</strong> uma operação, é possível executá-la <strong>de</strong> forma optimista (sendo o re-<br />

sultado final <strong>de</strong>terminado aquando da sua integração na versão oficial dos <strong>dados</strong>). Este sist<strong>em</strong>a adapta e<br />

esten<strong>de</strong> algumas i<strong>de</strong>ias propostas anteriormente [60, 58, 111] a um ambiente <strong>de</strong> <strong>computação</strong> <strong>móvel</strong> e a<br />

um sist<strong>em</strong>a <strong>de</strong> bases <strong>de</strong> <strong>dados</strong> SQL.<br />

2.3.8 Suporte para os programadores<br />

Nesta dissertação apresentam-se dois sist<strong>em</strong>as <strong>de</strong> <strong>gestão</strong> <strong>de</strong> <strong>dados</strong> para <strong>ambientes</strong> <strong>de</strong> <strong>computação</strong> <strong>móvel</strong>.<br />

Nas secções anteriores discutiram-se os princípios gerais adoptados nesses sist<strong>em</strong>as. Exist<strong>em</strong> duas ca-<br />

racterísticas importantes que <strong>de</strong>v<strong>em</strong> ser tidas <strong>em</strong> consi<strong>de</strong>ração. A primeira, é a necessida<strong>de</strong> <strong>de</strong> permitir<br />

o <strong>de</strong>senvolvimento <strong>de</strong> soluções específicas para cada aplicação. A segunda, é a necessida<strong>de</strong> <strong>de</strong> permitir<br />

que as diferentes soluções sejam <strong>de</strong>finidas e utilizadas da forma mais simples possível.<br />

A necessida<strong>de</strong> <strong>de</strong> permitir o <strong>de</strong>senvolvimento <strong>de</strong> soluções específicas para cada aplicação foi justi-<br />

ficada nas secções anteriores, com especial <strong>de</strong>staque para o probl<strong>em</strong>a da reconciliação e tratamento da<br />

informação sobre a evolução dos <strong>dados</strong>. Duas aproximações po<strong>de</strong>m ser consi<strong>de</strong>radas para fornecer esta<br />

flexibilida<strong>de</strong>. Primeiro, é possível <strong>de</strong>finir um sist<strong>em</strong>a com uma estratégia única que po<strong>de</strong> ser adaptada a<br />

cada situação específica. Esta aproximação é adoptada <strong>em</strong> vários sist<strong>em</strong>a distribuídos <strong>de</strong> <strong>gestão</strong> <strong>de</strong> <strong>dados</strong><br />

— os sist<strong>em</strong>as Coda [87] e Bayou [161] são apenas dois ex<strong>em</strong>plos. A solução apresentada no capí-<br />

tulo 7 <strong>de</strong>sta dissertação também adopta esta aproximação. A segunda aproximação consiste <strong>em</strong> permitir<br />

a adopção <strong>de</strong> estratégias diferentes <strong>em</strong> diferentes situações. A i<strong>de</strong>ia consiste <strong>em</strong> permitir que se adopte<br />

a estratégia que permite a solução mais simples <strong>em</strong> cada situação. O sist<strong>em</strong>a Globe [12] e o sist<strong>em</strong>a<br />

proposto <strong>em</strong> [20] usam esta aproximação. A solução apresentada no capítulo 3 <strong>de</strong>sta dissertação também<br />

adopta esta aproximação.

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

Saved successfully!

Ooh no, something went wrong!