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.

5.1. EDITOR MULTI-SÍNCRONO DE DOCUMENTOS 75<br />

Figura 5.4: Cópias <strong>de</strong> substituição na edição <strong>de</strong> um documento estruturado.<br />

tados <strong>em</strong> cor vermelha na janela que apresenta a estrutura do documento. Desta forma, os utilizadores<br />

sab<strong>em</strong> que não estão a observar uma versão completa do el<strong>em</strong>ento.<br />

5.1.4 Edição assíncrona<br />

O editor multi-síncrono permite a edição assíncrona <strong>de</strong> um documento. Assim, cada utilizador po<strong>de</strong><br />

modificar um documento estruturado <strong>de</strong> forma in<strong>de</strong>pen<strong>de</strong>nte. O coobjecto documento estruturado base<br />

<strong>de</strong>fine a estratégia <strong>de</strong> reconciliação que se executa para tratar as modificações executadas concorrente-<br />

mente — como se <strong>de</strong>screveu, esta estratégia combina a utilização do componente <strong>de</strong> reconciliação com<br />

o código das operações <strong>de</strong>finidas nos subobjectos.<br />

5.1.5 Edição síncrona<br />

O editor multi-síncrono permite, ainda, que um grupo <strong>de</strong> utilizadores participe numa sessão síncrona<br />

para modificar um documento estruturado. Para tal, utiliza-se a estratégia <strong>de</strong>talhada na secção 4.4.<br />

Assim, qualquer utilizador po<strong>de</strong> iniciar uma sessão síncrona para edição <strong>de</strong> um documento, usando<br />

a sua cópia privada como estado inicial. Novos participantes po<strong>de</strong>m, posteriormente, juntar-se à sessão<br />

obtendo uma cópia do coobjecto.<br />

Para manter o estado das várias cópias do coobjecto sincronamente sincronizadas usa-se o com-<br />

ponente <strong>de</strong> adaptação síncrono. Como se disse, este componente usa uma aproximação pessimista na<br />

propagação das invocações efectuadas: apenas entrega as invocações para execução local após elas te-<br />

r<strong>em</strong> sido or<strong>de</strong>nadas pelo sist<strong>em</strong>a <strong>de</strong> comunicação <strong>em</strong> grupo. Assim, para garantir a consistência das<br />

réplica, usa-se o componente <strong>de</strong> reconciliação simples, o qual se limita a executar as operações assim

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

Saved successfully!

Ooh no, something went wrong!