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.

8.1. TIPOS DE RESERVAS 117<br />

8.1.4 Reservas escrow<br />

Uma reserva escrow fornece o direito exclusivo <strong>de</strong> usar uma parte <strong>de</strong> um recurso divisível representado<br />

por um el<strong>em</strong>ento <strong>de</strong> <strong>dados</strong> numérico. Por ex<strong>em</strong>plo, a existência <strong>de</strong> um produto (stock) po<strong>de</strong> ser dividido<br />

entre vários ven<strong>de</strong>dores móveis. Esta reserva é baseada no mo<strong>de</strong>lo <strong>de</strong> divisão (escrow) [111].<br />

O mo<strong>de</strong>lo <strong>de</strong> divisão é aplicado a el<strong>em</strong>entos <strong>de</strong> <strong>dados</strong> numéricos que representam recursos idênticos 2<br />

e divisíveis — por ex<strong>em</strong>plo, o número <strong>de</strong> CDs existentes num armazém, x. Para estes <strong>dados</strong> é comum que<br />

as seguintes proprieda<strong>de</strong>s sejam válidas. Primeiro, eles são actualizados através da adição e subtracção<br />

<strong>de</strong> constantes — por ex<strong>em</strong>plo, quando k CDs são vendidos, faz-se x ← x − k. Segundo, é necessário<br />

manter restrições quanto aos valores que esses <strong>dados</strong> po<strong>de</strong>m tomar — por ex<strong>em</strong>plo, a existência mínima<br />

<strong>de</strong> CDs é min, ou seja x ≥ min.<br />

Para estes el<strong>em</strong>entos <strong>de</strong> <strong>dados</strong> (chamados el<strong>em</strong>entos <strong>de</strong> <strong>dados</strong> fungíveis) é possível dividir os recursos<br />

disponíveis por várias réplicas — por ex<strong>em</strong>plo, po<strong>de</strong> dividir-se x <strong>em</strong> n partes xi,1 ≤ i ≤ n, tal que x = ∑xi.<br />

Cada réplica t<strong>em</strong> associada uma restrição local que garante a valida<strong>de</strong> da restrição global, xi ≥ mini :<br />

min = ∑mini. Cada réplica po<strong>de</strong> garantir in<strong>de</strong>pen<strong>de</strong>nt<strong>em</strong>ente o resultado das transacções que respeitam<br />

as restrições locais, i.e., é possível garantir o resultado <strong>de</strong> transacções que subtraiam até xi − mini (valor<br />

agregado relativo a todas as transacções garantidas na réplica i) a xi.<br />

Ex<strong>em</strong>plo: Seja <strong>de</strong>z o valor actual da existência <strong>de</strong> CDs (x = 10) e dois o seu valor mínimo (x ≥ 2).<br />

Usando o mo<strong>de</strong>lo <strong>de</strong> divisão (escrow) é possível dividir a existência actual por duas réplicas — por<br />

ex<strong>em</strong>plo, a primeira réplica po<strong>de</strong> ficar com seis CDs (x1 = 6) e a segunda réplica com quatro CDs<br />

(x2 = 4). A restrição global <strong>de</strong>ve também ser dividida entre as duas réplicas — por ex<strong>em</strong>plo, a existência<br />

mínima <strong>em</strong> cada réplica po<strong>de</strong> ser igual a um (x1 ≥ 1 ∧ x2 ≥ 1). A primeira (respectivamente segunda)<br />

réplica po<strong>de</strong> garantir transacções que subtraiam até cinco (respectivamente três) CDs à existência <strong>de</strong> CDs<br />

(x1 − min1 = 6 − 1 = 5 e x2 − min2 = 4 − 1 = 3).<br />

Discute-se agora a impl<strong>em</strong>entação do mo<strong>de</strong>lo <strong>de</strong> divisão no sist<strong>em</strong>a Mobisnap. Para reconhecer<br />

os aspectos envolvidos, consi<strong>de</strong>re-se a transacção <strong>móvel</strong> apresentada na figura 8.1, na qual se insere<br />

uma nova encomenda submetida por um ven<strong>de</strong>dor <strong>móvel</strong>. Nesta transacção é possível usar as técnicas<br />

<strong>de</strong> divisão para garantir a disponibilida<strong>de</strong> da existência do produto. A transacção executa os seguintes<br />

passos para actualizar a existência do produto: (1) o valor actual é lido e a valida<strong>de</strong> da operação verificada<br />

(linhas 3-4); (2) o valor do el<strong>em</strong>ento <strong>de</strong> <strong>dados</strong> que representa a existência é actualizado para reflectir a<br />

operação executada (linha 5). Estes passos representam um padrão na actualização <strong>de</strong> el<strong>em</strong>entos <strong>de</strong><br />

<strong>dados</strong> divisíveis.<br />

O primeiro aspecto a consi<strong>de</strong>rar consiste na garantia da valida<strong>de</strong> da operação (passo 1). Para tal, é<br />

2 Na secção 8.5 mostra-se como é possível solucionar probl<strong>em</strong>as com recursos não idênticos usando o sist<strong>em</strong>a <strong>de</strong> reservas<br />

— por ex<strong>em</strong>plo, a marcação <strong>de</strong> lugares num comboio.

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

Saved successfully!

Ooh no, something went wrong!