• Nenhum resultado encontrado

A classificac¸˜ao das diferentes arquiteturas de distribuic¸˜ao mostra a disposic¸˜ao dos diversos componentes em um sistema colaborativo, como estes componentes trocam informac¸˜oes entre si, bem como enumera as vantagens, desvantagens e aplicabilidade de cada uma das soluc¸˜oes. Uma classificac¸˜ao aceita e referenciada atualmente considera duas arquiteturas para aplicac¸˜oes colaborativas: centralizada e replicada [2, 27].

Na arquitetura centralizada, uma instˆancia da aplicac¸˜ao roda em um servidor central, que controla o trabalho colaborativo, e a interface compartilhada ´e replicada para cada usu ´ario do grupo. Na arquitetura replicada, em contra-partida `a centra-

2.2 Tra b a lh os c orrel a tos 21 lizada, cada usu ´ario disp˜oe de uma instˆancia da aplicac¸˜ao e c´opias das informac¸˜oes compartilhadas. As instˆancias das aplicac¸˜oes trocam informac¸˜oes (dados) diretamente entre si, al´em do que, cada instˆancia deve processar e exibir estas informac¸˜oes de forma independente das demais.

Outros trabalhos [53, 60] com ˆenfase na taxonomia dos sistemas colaborati- vos s´ıncronos, al´em da preocupac¸˜ao com a disposic¸˜ao das aplicac¸˜oes e a troca de informac¸˜oes entre elas, analisam e classificam os sistemas colaborativos com base em diferentes vis˜oes da informac¸˜ao compartilhada. Utilizaremos a primeira classificac¸˜ao como base para discuss˜ao e apresentac¸˜ao do nosso trabalho, pois ´e mais aceita e refe- renciada pela literatura e tem servido de base para a maioria dos trabalhos na ´area.

A escolha de uma arquitetura adequada est ´a diretamente relacionada aos requi- sitos, ao contexto da aplicac¸˜ao e ao compromisso entre consistˆencia e tempo de resposta do sistema. No contexto de modelagem geom´etrica, a consistˆencia da informac¸˜ao ´e um requisito priorit ´ario, ao passo que em sistemas interativos ´e o tempo de resposta. Te- mos um impasse, pois o contexto deste trabalho ´e a modelagem geom´etrica colaborativa s´ıncrona, ou seja, engloba aplicac¸˜oes interativas.

Em um sistema centralizado, como ilustra a Figura 2.3, a consistˆencia em cada transac¸˜ao pode ser garantida com menos esforc¸o, dado que se tem uma ´unica c´opia dos objetos compartilhados. No entanto, pode ter que se pagar o prec¸o da perda de interatividade inerente ao tr ´afego (tempo resposta) e da restric¸˜ao na visualizac¸˜ao (tipica-

mente WYSIWIS3 [27]), dado que todos os usu ´arios teriam o mesmo ponto de vista da

cena tridimensional. Al´em disso, pela natureza desta arquitetura, alguns equipamentos poderiam ser sobrecarregados, enquanto outros poderiam ser sub-utilizados [71]. No primeiro caso, devido `a incapacidade de equipamentos de uso geral em exibir adequa- damente cenas complexas, produzidas para serem visualizadas por equipamentos com alta capacidade de processamento gr ´afico, e no segundo, quando cenas mais pobres s˜ao geradas para atender aos requisitos de equipamentos de uso geral, provocando a sub-utilizac¸˜ao de equipamentos com alta capacidade de processamento gr ´afico.

Um sistema baseado em arquitetura replicada, cujo esquema ´e ilustrado na Fi- gura 2.4, tende a fornecer respostas mais r ´apidas `as ac¸˜oes dos usu ´arios, e portanto, apresenta maior interatividade do que em sistemas centralizados [8, 53]. Nesta arquite- 3Paradigma WYSIWIS (What You See Is What I See), no qual todos os usu ´arios tem a mesma vis˜ao da

e topológico Compartilhamento Compartilhamento Servidor Cliente Cliente Modelos geométrico Operações Luzes Câmera Pipeline de renderização Imagem Imagem Imagem Cena ï 3D

Figura 2.3: Arquitetura centralizada.

tura, cada aplicac¸˜ao interativa armazena e processa localmente os objetos geom´etricos e o tr ´afego fica restrito apenas `as mensagens com informac¸˜oes sobre quais operac¸˜oes devem ser realizadas pelas instˆancias do modelador. Al´em disso, a renderizac¸˜ao e a visualizac¸˜ao s˜ao realizadas de forma independente para cada instˆancia da aplicac¸˜ao in- terativa, dando maior flexibilidade ao trabalho individual de cada usu ´ario em relac¸˜ao `a cena, pois cada um pode independentemente ajustar os seus parˆametros de visualizac¸˜ao.

Modelos geométrico e topológico Operações Luzes Câmeras Pipeline de renderização Imagem Cena ï 3D Cena ï 3D Imagem Modelos geométrico e topológico Operações Luzes Câmeras Pipeline de renderização Imagem Cena ï 3D Modelos geométrico e topológico Operações Luzes Câmeras Pipeline de renderização

Usuário 1 (cópia) Usuário 2 (cópia) Usuário N (cópia)

Mensagens Mensagens

Figura 2.4: Arquitetura replicada.

2.3 Um a a rq uit e tura d e m o d elos fra c a m e nt e a c o pl a d os 23 jetos geom´etricos ´e extremamente dif´ıcil de ser alcanc¸ada em cada transac¸˜ao por um modelador colaborativo baseado na arquitetura replicada, mesmo que se utilize algorit- mos geom´etricos robustos nas instˆancias do modelador. Isto deve-se ao fato de que tais algoritmos geom´etricos garantem somente a consistˆencia local de cada r´eplica e n˜ao a consistˆencia global de todas as r´eplicas derivadas de um mesmo conjunto de objetos, uma vez que em uma plataforma computacional heterogˆenea as operac¸˜oes geom´etricas decorrentes de decis˜oes baseadas na computac¸˜ao em ponto flutuante n˜ao necessaria- mente produzem resultados iguais em todas m ´aquinas.

A concepc¸˜ao de aplicac¸˜oes colaborativas baseadas nestas duas arquiteturas b ´a- sicas produz diferentes gargalos: de um lado, a restric¸˜ao na visualizac¸˜ao e tempo de resposta cr´ıtico na arquitetura centralizada, e do outro, a dificuldade na garantia da consistˆencia da informac¸˜ao na arquitetura replicada, agravada pela heterogeneidade das plataformas computacionais muito comum atualmente [5, 27]. Isso nos motivou a adotar uma arquitetura que consiste essencialmente em separar a representac¸˜ao dos objetos nos modelos geom´etrico e gr ´afico, e acopl ´a-los fracamente.