Resumen En la presente tesis se trata el problema de mantener la coherencia de datos compartidos, que suelen ser utilizados por los sistemas que dan soporte a la colaboración entre personas. Concretamente, nuestro estudio se centra en aplicaciones de edición colaborativa que pueden ser ejecutadas en dispositivos móviles y que están diseñadas para dar soporte a una interacción de tipo cara a cara entre sus usuarios. El problema resuelto consta de dos partes: 1) las cuestiones encontradas en la modificación concurrente de datos distribuidos en una red local y 2) las dificultades presentes en el desarrollo de sistemas colaborativos para dispositivos móviles. La primera parte se abordó por medio de un análisis de las técnicas para mantener la coherencia de datos compartidos en sistemas colaborativos. De entre dichas técnicas se seleccionó la de Transformación Operacional, ya que brinda buena velocidad de respuesta a las acciones de los usuarios. Dicha técnica fue analizada, incluyendo sus distintas variantes y su evolución histórica. Finalmente, se seleccionó un algoritmo en particular de entre los diversos algoritmos de Transformación Operacional publicados en la literatura cientifica. Para abordar la segunda parte del problema, se consideraron las dimensiones de la movilidad, las cuales permiten caracterizar los problemas enfrentados durante el desarrollo de sistemas para dispositivos móviles. De entre estas dimensiones de la movilidad, se identificó cuáles son las más significativas para los sistemas colaborativos y se propusieron soluciones a nivel diseño e implementación. A partir de estas soluciones, se elaboró una biblioteca denominada CDCDM (Coherencia de Datos Compartidos en Dispositivos Móviles), la cual soporta el desarrollo de sistemas colaborativos que se ejecutan en dispositivos móviles y que enfrentan el problema de mantener la coherencia de datos accedidos de manera simultanea por varios usuarios. Los sistemas que se benefician de esta biblioteca son principalmente editores colaborativos. Para probar dicha biblioteca fue desarrollada una aplicación, la cual es un editor de texto colaborativo que permitió identificar algunas ventajas y limitaciones de la plataforma de desarrollo utilizada, así como algunos inconvenientes encontrados en la construcción de sistemas colaborativos ejecutables en dispositivos móviles.
Abstract This thesis deals with the problem of maintaining the consistency of shared data, which are usually employed in systems supporting the collaboration among people. Specifically, our study focuses on collaborative editing applications, which are able to be executed in mobile devices and are designed to provide support for a face-to-face interaction among its users. The solved problem consists of two parts: 1) the issues resulting from the concurrent modification of shared data distributed in a local area network, and 2) the dificulties presented during the development of groupware systems for mobile devices. The former part is faced with an analysis of the proposed techniques to ensure data consistency in groupware systems. From these techniques, we selected the Operational Transformation technique, as it provides good response time to the users' actions. Such a technique has been analyzed, including its variants and historical evolution. Then, we chose a particular algorithm from the different Operational Transformation algorithms proposed in the scientific literature. To cope with the latter part of the problem, we considered the mobility dimensions, which allow to characterize the problems faced during the development of systems intended for mobile devices. From these mobility dimensions, we identified which are the most significant for groupware systems and then we proposed solutions at the design and implementation levels. From these proposed solutions, we created a library called CDCDM (Coherencia de Datos Compartidos en Dispositivos Móviles), which supports the development of groupware systems that are able to be executed in mobile devices and that confront the matter of maintaining the consistency of data acceded in a simultaneous way by several users. The groupware systems being of benefit to this library are mainly editors. In order to test such a library, we developed an application, which is a groupware text editor that allowed to identify some advantages and limitations of the used development platform as well as some disadvantages found in the construction of groupware system executable on mobile devices.
|
||||