Sistema de actualización de entidades replicadas en un ambiente colaborativo distribuido

Sistema de actualización de entidades replicadas en un ambiente colaborativo distribuido

Miguel José Navarro Dávila
 

Texto completo de la Tesis     

 


Resumen

La evolución en el desarrollo de la infraestructura de la red mundial de información (Internet), origina cambios en la manera en como creamos y damos soporte al trabajo cooperativo de las personas, organizaciones e instituciones. Dentro de este ambiente, altamente distribuido, es de gran importancia proporcionar espacios de trabajo robustos e integrados capaces de soportar el trabajo colaborativo, y ofrecer herramientas adaptables y flexibles que permitan simplificar sus tareas y los ayuden a alcanzar sus objetivos de manera eficiente. El objetivo principal de los sistemas y aplicaciones colaborativas está enfocado en definir y ofrecer herramientas de producción cooperativa integrada dentro de un ambiente cooperativo, robusto, eficiente y consistente. Las herramientas cooperativas están diseñadas e implementadas tomando en cuenta los siguientes requerimientos: a) deben permitir a los usuarios producir eficientemente de una forma convenida, y b) deben asegurar la integridad de la información cooperativa producida. Estos sistemas cooperativos están basados en la definición y el uso de entidades compartidas que son replicadas y regularmente actualizadas entre los sitios participantes. Cuando se diseña y desarrolla una aplicación colaborativa dentro de una red de área extensa, la correcta elección de la política de replicación, actualización y notificación requerida para administrar la información compartida, sigue siendo un gran problema. Con el fin de solucionar este problema, hemos diseñado el prototipo de un sistema de actualización genérico, flexible y extensible, que provee soporte para controlar varios tipos de entidades colaborativas distribuidas requeridas por los distintos tipos de aplicaciones (e.g. agendas, pizarrones colaborativos, chats, producción cooperativa de sitios Web, definición colaborativa de ontologías y editores colaborativos.) Partiendo de un modelo de plataforma flexible y extensible, proponemos un conjunto de herramientas útiles para el desarrollo de aplicaciones colaborativas distribuidas. Utilizando funciones de replicación, actualización y notificación que están directamente asociadas por naturaleza a las entidades compartidas, esta plataforma automáticamente administra su distribución y sincronización. Estas funciones están encapsulada dentro de módulos de administración de replicación que pueden ser utilizados para controlar entidades diferentes. Todos los módulos de administración de la replicación utilizan la misma interfaz genérica. Debido a que cada módulo (que encapsula una política de replicación específica), puede ser fácilmente modificado y reemplazado, logramos proveer la extensiabilidad y la flexibilidad en esta plataforma. De esta forma el administrador de replicación de entidades distribuidas permanece completamente independiente de las diferentes aplicaciones colaborativas que lo utilizan. Más precisamente, este trabajo introduce los principios de diseño y la implementación de un sistema de actualización cuyo objetivo es sincronizar automáticamente las distintas réplicas distribuidas de entidades compartidas administradas. Los resultados y soluciones obtenidos se presentan y justifican en relación al campo de los sistemas colaborativos distribuidos.

Abstract

The evolution of the development infrastructure of the worldwide information network (Internet), generated changes in the way of how to conduct and support cooperative work of individuals, organizations, and institutions. Within such an highly distributed environment, it appears of main importance to provide integrated and powerful workspaces able to support collaborators' common work, and that offer flexible and adaptable tools whose aim is to simplify their tasks and help them to reach their objectives of collaborative applications and systems are targeted to define and offer cooperative production tools that are integrated within a robust, efficient and consistent cooperative working environment. Such cooperative tools are especially designed and implemented taking into account the following requirements: a) they have to allow users to efficiently produce in a concerted way, and b) they have to ensure the integrity of the cooperatively produced information. These cooperative systems are based on the definition and use of shared entities that are replicated and regularly updated between collaborators'sites. Thus, many propositions of policies have been defined to handle the replication, the updating and the notification of the distributed information. When designing/developing a collaborative application within a wide area network, the selection of the suited replication-updating-notification policy required for the management of a given shared information remains a major problem. In order to provide a solution to this problem, we designed the prototype of a generic, extensible and flexible updating system that provides supports to handle various kinds of distributed shared entities required by the different collaborative distributed applications (e.g., group diaries, whiteboards, chats, cooperative production of websites, collaborative definition of ontologies and collaborative editors). From the design of a flexible and extensible platform model, we propose a set of useful tools for developing distributed collaborative applications. Using functions of replication, updating, and notification that are directly associated with the nature of the shared entities, this platform automatically manages their distribution and synchronization. Each entity replication, updating, and notification functions are encapsulated into replication management modules that can be used for the administration of different specific entities. All replication management modules follow the same generic common interface. Because each module (that encapsulate a specific replication policy) can be easily modified, derived, or replaced, the extensibility and the flexibility of this platform is achieved. In this way, the replication management of some distributed shared entities remains completely independent of the different collaborative applications that use them. More precisely, this work introduces the design principles and the implementation of an updating system whose objective is to automatically synchronize the different distributed replicas of the managed shared entities. The provided solutions and results are presented and justified relatively to the field of distributed collaborative systems.