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

asc.di.fct.unl.pt
from asc.di.fct.unl.pt More from this publisher
11.04.2013 Views

16 CAPÍTULO 2. PRINCÍPIOS GERAIS inferir quais as operações executadas a partir do novo estado do objecto (por comparação com o estado inicial). Quando se propagam as operações é possível associar a cada operação informação semântica usada durante a reconciliação. Por exemplo, podem incluir-se regras de detecção e resolução de conflitos. Assim, e para maximizar a informação semântica que pode ser usada durante a reconciliação, as soluções apresentadas nesta dissertação são baseadas na propagação de operações. 2.3.4 Informação sobre a evolução dos dados e da actividade cooperativa Quando se permite que múltiplos utilizadores modifiquem concorrentemente dados partilhados, é muitas vezes importante fornecer informação sobre a sua evolução. No exemplo do editor cooperativo apre- sentado anteriormente, um utilizador pode estar interessado em saber quais as alterações efectuadas ao documento recentemente. O acesso a este tipo de informação é importante para o sucesso das actividades cooperativas, como foi reconhecido na literatura de trabalho cooperativo há algum tempo [47, 65, 43]. A esta informação dá-se o nome de informação de awareness 5 . Num sistema baseado em replicação optimista é necessário reconciliar modificações conflituantes. Assim, é comum que o resultado final duma operação (i.e., o modo como a operação afecta o estado “oficial” dos dados) apenas seja definitivamente conhecido após a reconciliação das várias réplicas. Das características anteriores resultam três factos importantes. Primeiro, os utilizadores não têm geralmente conhecimento imediato do resultado das operações que submetem. Este facto sugere a ne- cessidade de existir um mecanismo que permita notificar os utilizadores do resultado final das operações. Por exemplo, na agenda partilhada os utilizadores devem ser informados do resultado definitivo das suas marcações. Segundo, a informação sobre a evolução dos dados apenas pode ser criada aquando do processo de reconciliação porque apenas neste momento é determinado o resultado final da operação. Assim, a criação da informação deve estar integrada com o mecanismo de reconciliação. Finalmente, os utilizadores podem não estar a usar o computador ou a aplicação em que executaram as operações quando o resultado final destas é determinado. Assim, se se pretender informar imediata- mente o utilizador do resultado das suas operações, pode não ser suficiente propagar o resultado para a máquina em que foram executadas, porque esta máquina pode estar desligada/desconectada ou o utiliza- dor pode não estar a utilizá-la. Actualmente, com o uso generalizado de telefones móveis, é geralmente possível enviar informação para os utilizadores através de mensagens curtas (por exemplo, o serviço SMS nas redes GSM). Assim, o sistema deve usar os meios disponíveis para propagar a informação 5 O termo inglês awareness é, por vezes, traduzido pelos termos consciência, conhecimento ou sensibilização. No entanto, por se considerar que a utilização destas traduções não incluem o sentido completo do termo original, obscurecendo o texto, decidiu-se utilizar o termo inglês em itálico.

2.3. PRINCÍPIOS 17 sobre a evolução dos dados para os utilizadores, mesmo aqueles que podem ser considerar exteriores ao sistema. Dos exemplos apresentados, é necessário realçar que não existe um modo único de fornecer infor- mação sobre a evolução dos dados. Nuns casos, esta informação deve ser apresentada quando se acede aos dados — o editor cooperativo é um exemplo. Noutros casos é necessário propagar a informação directamente para os utilizadores — a agenda partilhada é um exemplo. Assim, o modo como esta infor- mação é tratada pelo sistema deve ser definida em função das características específicas da aplicação (e muitas vezes dentro de uma mesma aplicação é necessário adaptar o modo de tratamento à situação e ao utilizador). Embora as características apresentadas anteriormente sejam comuns à generalidade dos sistemas que suportam operação desconectada [115, 85, 59, 161, 79, 87], o problema de fornecer informação sobre a evolução dos dados é geralmente negligenciada. Este facto leva os programadores a implementar soluções ad-hoc sem o conveniente suporte por parte do sistema. Nesta dissertação apresentam-se soluções em que a criação e o tratamento da informação sobre a evolução dos dados estão completamente integrados no sistema. Todas as operações efectuadas pelos utilizadores podem gerar informação e o modo como esta informação é tratada pode depender da aplica- ção ou situação. O sistema fornece suporte para a propagação da informação para os utilizadores através de mecanismos exteriores ao sistema. O sistema também permite que esta informação seja mantida com os dados para posterior acesso pelos utilizadores. Alguns sistemas de suporte ao trabalho coope- rativo [16, 44, 97] incluem este tipo de mecanismos. No entanto, nesta dissertação apresenta-se uma nova aproximação através da integração destes mecanismos ao nível dos tipos de dados e das operações definidas. 2.3.5 Replicação secundária parcial A replicação dos dados em vários servidores não garante a disponibilidade dos dados durante os períodos de desconexão. Para tal, é comum recorrer a um mecanismo de replicação secundária (caching) para manter cópias parciais dos dados nos computadores portáteis. No sistema Coda [87], bem como noutros sistemas de ficheiros distribuídos, a unidade de replicação secundária é o ficheiro. Esta aproximação permite uma semântica simples e clara de acesso aos ficheiros: ou é possível aceder ao ficheiro completo ou não é possível aceder a nenhuma parte do ficheiro (quando não existe uma cópia local). Quando os ficheiros são muito longos, pode ser impossível a um dispositivo móvel com recursos limitados manter cópias de ficheiros completos. Adicionalmente, o tempo necessá- rio para transmitir uma cópia total dum ficheiro pode ser inaceitável — este problema acentua-se para dispositivos móveis que utilizam redes de comunicação sem fios com reduzida largura de banda.

2.3. PRINCÍPIOS 17<br />

sobre a evolução dos <strong>dados</strong> para os utilizadores, mesmo aqueles que po<strong>de</strong>m ser consi<strong>de</strong>rar exteriores ao<br />

sist<strong>em</strong>a.<br />

Dos ex<strong>em</strong>plos apresentados, é necessário realçar que não existe um modo único <strong>de</strong> fornecer infor-<br />

mação sobre a evolução dos <strong>dados</strong>. Nuns casos, esta informação <strong>de</strong>ve ser apresentada quando se ace<strong>de</strong><br />

aos <strong>dados</strong> — o editor cooperativo é um ex<strong>em</strong>plo. Noutros casos é necessário propagar a informação<br />

directamente para os utilizadores — a agenda partilhada é um ex<strong>em</strong>plo. Assim, o modo como esta infor-<br />

mação é tratada pelo sist<strong>em</strong>a <strong>de</strong>ve ser <strong>de</strong>finida <strong>em</strong> função das características específicas da aplicação (e<br />

muitas vezes <strong>de</strong>ntro <strong>de</strong> uma mesma aplicação é necessário adaptar o modo <strong>de</strong> tratamento à situação e ao<br />

utilizador).<br />

Embora as características apresentadas anteriormente sejam comuns à generalida<strong>de</strong> dos sist<strong>em</strong>as que<br />

suportam operação <strong>de</strong>sconectada [115, 85, 59, 161, 79, 87], o probl<strong>em</strong>a <strong>de</strong> fornecer informação sobre<br />

a evolução dos <strong>dados</strong> é geralmente negligenciada. Este facto leva os programadores a impl<strong>em</strong>entar<br />

soluções ad-hoc s<strong>em</strong> o conveniente suporte por parte do sist<strong>em</strong>a.<br />

Nesta dissertação apresentam-se soluções <strong>em</strong> que a criação e o tratamento da informação sobre a<br />

evolução dos <strong>dados</strong> estão completamente integrados no sist<strong>em</strong>a. Todas as operações efectuadas pelos<br />

utilizadores po<strong>de</strong>m gerar informação e o modo como esta informação é tratada po<strong>de</strong> <strong>de</strong>pen<strong>de</strong>r da aplica-<br />

ção ou situação. O sist<strong>em</strong>a fornece suporte para a propagação da informação para os utilizadores através<br />

<strong>de</strong> mecanismos exteriores ao sist<strong>em</strong>a. O sist<strong>em</strong>a também permite que esta informação seja mantida<br />

com os <strong>dados</strong> para posterior acesso pelos utilizadores. Alguns sist<strong>em</strong>as <strong>de</strong> suporte ao trabalho coope-<br />

rativo [16, 44, 97] inclu<strong>em</strong> este tipo <strong>de</strong> mecanismos. No entanto, nesta dissertação apresenta-se uma<br />

nova aproximação através da integração <strong>de</strong>stes mecanismos ao nível dos tipos <strong>de</strong> <strong>dados</strong> e das operações<br />

<strong>de</strong>finidas.<br />

2.3.5 Replicação secundária parcial<br />

A replicação dos <strong>dados</strong> <strong>em</strong> vários servidores não garante a disponibilida<strong>de</strong> dos <strong>dados</strong> durante os períodos<br />

<strong>de</strong> <strong>de</strong>sconexão. Para tal, é comum recorrer a um mecanismo <strong>de</strong> replicação secundária (caching) para<br />

manter cópias parciais dos <strong>dados</strong> nos computadores portáteis.<br />

No sist<strong>em</strong>a Coda [87], b<strong>em</strong> como noutros sist<strong>em</strong>as <strong>de</strong> ficheiros distribuídos, a unida<strong>de</strong> <strong>de</strong> replicação<br />

secundária é o ficheiro. Esta aproximação permite uma s<strong>em</strong>ântica simples e clara <strong>de</strong> acesso aos ficheiros:<br />

ou é possível ace<strong>de</strong>r ao ficheiro completo ou não é possível ace<strong>de</strong>r a nenhuma parte do ficheiro (quando<br />

não existe uma cópia local). Quando os ficheiros são muito longos, po<strong>de</strong> ser impossível a um dispositivo<br />

<strong>móvel</strong> com recursos limitados manter cópias <strong>de</strong> ficheiros completos. Adicionalmente, o t<strong>em</strong>po necessá-<br />

rio para transmitir uma cópia total dum ficheiro po<strong>de</strong> ser inaceitável — este probl<strong>em</strong>a acentua-se para<br />

dispositivos móveis que utilizam re<strong>de</strong>s <strong>de</strong> comunicação s<strong>em</strong> fios com reduzida largura <strong>de</strong> banda.

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

Saved successfully!

Ooh no, something went wrong!