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.

106 CAPÍTULO 7. APRESENTAÇÃO DO SISTEMA MOBISNAP<br />

clientes e o servidor, além <strong>de</strong> permitir gerir a execução <strong>de</strong>ssas operações no servidor <strong>de</strong> acordo com a<br />

carga do sist<strong>em</strong>a. O Mobisnap integra um sist<strong>em</strong>a <strong>de</strong> reservas, <strong>de</strong>talhado no capítulo 8, que permite aos<br />

clientes obter garantias sobre os valores da base <strong>de</strong> <strong>dados</strong>. Caso o cliente disponha <strong>de</strong> reservas suficiente,<br />

o cliente po<strong>de</strong> garantir que não surgirá nenhum conflito quando a transacção <strong>móvel</strong> é executada no<br />

servidor, permitindo garantir o resultado da transacção <strong>de</strong> forma in<strong>de</strong>pen<strong>de</strong>nte.<br />

Alguns dos tipos <strong>de</strong> reservas <strong>de</strong>finidos no sist<strong>em</strong>a Mobisnap já foram utilizados noutros siste-<br />

mas [111]. No entanto, a sua integração num sist<strong>em</strong>a unificado como o apresentado é fundamental<br />

para a sua utilida<strong>de</strong>. Consi<strong>de</strong>re-se o ex<strong>em</strong>plo da figura 7.1. Usando técnicas <strong>de</strong> divisão (escrow) 1 é pos-<br />

sível garantir a existência <strong>de</strong> unida<strong>de</strong>s suficientes <strong>de</strong> um produto para satisfazer o pedido. No entanto,<br />

para que o sist<strong>em</strong>a possa garantir o resultado da transacção é igualmente necessário que possa garantir<br />

o valor do preço. Assim, seria necessário usar outro tipo <strong>de</strong> garantia. Neste caso, po<strong>de</strong>r-se-ia usar um<br />

trinco (lock) apesar <strong>de</strong> essa técnica ser <strong>de</strong>snecessariamente restritiva.<br />

Uma proprieda<strong>de</strong> importante do sist<strong>em</strong>a <strong>de</strong> reservas é a verificação transparente das reservas que<br />

po<strong>de</strong>m ser utilizadas para garantir uma transacção <strong>móvel</strong>. Esta verificação é efectuada a partir do código<br />

da transacção, s<strong>em</strong> que seja necessário especificar quaisquer instruções especiais. Assim, qualquer tran-<br />

sacção po<strong>de</strong> usar todas as reservas existentes e não apenas aquelas que a transacção está preparada para<br />

utilizar.<br />

O sist<strong>em</strong>a faz respeitar as garantias relativas às reservas concedidas, não ficando as proprieda<strong>de</strong>s as-<br />

sociadas <strong>de</strong>pen<strong>de</strong>ntes <strong>de</strong> convenções a cumprir pelas transacções. Assim, impe<strong>de</strong>-se qualquer transacção<br />

executada no sist<strong>em</strong>a Mobisnap ou directamente na base <strong>de</strong> <strong>dados</strong> central <strong>de</strong> modificar a base <strong>de</strong> <strong>dados</strong> <strong>de</strong><br />

forma a violar as garantias relativas a qualquer reserva. Como as reservas são t<strong>em</strong>porárias (leased) [58],<br />

garante-se que as restrições impostas às outras transacções não duram in<strong>de</strong>finidamente, mesmo que o<br />

cliente <strong>móvel</strong>, a qu<strong>em</strong> a reserva foi concedida, seja <strong>de</strong>struído ou fique permanent<strong>em</strong>ente <strong>de</strong>sconectado.<br />

No entanto, para que a garantia dada quanto ao resultado <strong>de</strong> uma transacção seja válida é necessário que<br />

a transacção seja propagada para o servidor antes das reservas usadas expirar<strong>em</strong>.<br />

Reconciliação <strong>de</strong> múltiplas transacções O sist<strong>em</strong>a Mobisnap inclui ainda um mecanismo <strong>de</strong> recon-<br />

ciliação que permite criar um plano <strong>de</strong> execução quase óptimo como resultado da reconciliação <strong>de</strong> um<br />

conjunto <strong>de</strong> transacções móveis. A solução proposta é uma extensão do mo<strong>de</strong>lo do sist<strong>em</strong>a IceCube [85],<br />

e utiliza informação s<strong>em</strong>ântica extraída automaticamente das transacções móveis. Este mecanismo <strong>de</strong><br />

reconciliação é genérico e po<strong>de</strong> ser usado in<strong>de</strong>pen<strong>de</strong>nt<strong>em</strong>ente <strong>em</strong> qualquer sist<strong>em</strong>a <strong>de</strong> bases <strong>de</strong> <strong>dados</strong><br />

para reconciliar conjuntos <strong>de</strong> transacções executadas concorrent<strong>em</strong>ente. Assim, este mecanismo é apre-<br />

1 As técnicas <strong>de</strong> divisão (escrow) permit<strong>em</strong> dividir um recurso fungível por várias réplicas — por ex<strong>em</strong>plo, a existência<br />

(stock) <strong>de</strong> um produto po<strong>de</strong> ser dividido por vários ven<strong>de</strong>dores. Cada réplica po<strong>de</strong> <strong>de</strong>cidir sobre a sua parte <strong>de</strong> forma in<strong>de</strong>pen-<br />

<strong>de</strong>nte.

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

Saved successfully!

Ooh no, something went wrong!