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.

40 CAPÍTULO 3. APRESENTAÇÃO DO SISTEMA DOORS<br />

a que possa ser apresentada nas aplicações. A segunda consiste <strong>em</strong> propagar esta informação para os<br />

utilizadores. Um coobjecto <strong>de</strong>ve usar a aproximação apropriada para o tipo <strong>de</strong> <strong>dados</strong> que impl<strong>em</strong>enta,<br />

po<strong>de</strong>ndo igualmente combinar a utilização <strong>de</strong> ambas. Os utilizadores <strong>de</strong>v<strong>em</strong> po<strong>de</strong>r adaptar a aproximação<br />

usada às suas necessida<strong>de</strong>s. Em particular, <strong>de</strong>ve ser possível controlar a informação recebida e o modo<br />

<strong>de</strong> recepção.<br />

Quando se mantém a informação <strong>de</strong> awareness com o coobjecto, esta informação <strong>de</strong>ve estar dis-<br />

ponível no cliente para ser apresentada nas aplicações. Assim, o componente <strong>de</strong> awareness respectivo<br />

<strong>de</strong>ve ser usado no cliente e no servidor. A informação <strong>de</strong> awareness é actualizada <strong>de</strong>finitivamente no<br />

servidor, po<strong>de</strong>ndo ser igualmente actualizada, <strong>de</strong> forma provisória, no cliente. Um aspecto a realçar é<br />

que esta informação é mantida <strong>de</strong> forma in<strong>de</strong>pen<strong>de</strong>nte para cada subobjecto, pelo que no cliente apenas<br />

se mantém a informação relativa aos subobjectos replicados localmente.<br />

Na propagação da informação <strong>de</strong> awareness, as possibilida<strong>de</strong>s disponíveis no cliente e no servidor<br />

são diferentes. No cliente apenas é possível propagar a informação através do serviço <strong>de</strong> diss<strong>em</strong>inação<br />

<strong>de</strong> eventos Deeds [45] — no entanto, <strong>em</strong> geral, como a informação produzida correspon<strong>de</strong> à execução<br />

provisória das operações, a informação não é propagada. No servidor é possível utilizar o serviço <strong>de</strong><br />

awareness disponibilizado pelo núcleo do sist<strong>em</strong>a (ver <strong>de</strong>talhes na secção 6.2.7) para propagar mensa-<br />

gens através dos vários transportes disponíveis. Em geral, quando se usam técnicas <strong>de</strong> reconciliação<br />

optimista, a propagação das mensagens apenas é executada após <strong>de</strong>terminar que a informação produzida<br />

por uma operação correspon<strong>de</strong> ao resultado final da sua execução.<br />

Componentes pré-<strong>de</strong>finidos Para impl<strong>em</strong>entar as características anteriores, no protótipo do sist<strong>em</strong>a<br />

DOORS foram criados vários componentes <strong>de</strong> awareness com diferentes funcionalida<strong>de</strong>s.<br />

Primeiro, um componente que mantém a informação <strong>de</strong> awareness como uma lista <strong>de</strong> mensagens.<br />

As mensagens relativas a cada subobjecto são mantidas num subcomponente in<strong>de</strong>pen<strong>de</strong>nte associado ao<br />

subobjecto.<br />

Segundo, um componente que propaga as mensagens <strong>de</strong> awareness. Este componente apenas en-<br />

trega as mensagens ao serviço <strong>de</strong> awareness do sist<strong>em</strong>a DOORS, o qual se encarrega <strong>de</strong> as entregar ao<br />

utilizador através do transporte indicado.<br />

Terceiro, componentes auxiliares dos quais se <strong>de</strong>stacam os seguintes. Um componente que per-<br />

mite combinar dois outros componentes, sendo as mensagens entregues a ambos. Um componente que<br />

<strong>de</strong>scarta todas as mensagens e que po<strong>de</strong> ser usado quando não se preten<strong>de</strong> processar as mensagens <strong>de</strong><br />

awareness. Um componente que permite propagar apenas uma mensag<strong>em</strong> relativa a cada operação — a<br />

impl<strong>em</strong>entação consiste <strong>em</strong> propagar a mensag<strong>em</strong> num bloco once-only. Um componente que permite<br />

propagar para outro apenas mensagens produzidas <strong>em</strong> operações estáveis. Para tal, este componente<br />

armazena as mensagens <strong>de</strong> awareness recebidas, apenas as propagando para o outro componente quando

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

Saved successfully!

Ooh no, something went wrong!