Líneas de actividad
Aplicaciones Distribuidas
Diseño y desarrollo de aplicaciones distribuidas robustas. Utilización de técnicas de replicación para mejorar la disponibilidad y fiabilidad de las aplicaciones distribuidas. En el ámbito académico, hemos centrado la investigación dentro de esta línea en la replicación de bases de datos, pues es una de las entidades que mayores dificultades plantea a la hora de aplicar dichas técnicas de replicación (debido a la cantidad de estado que debe ser replicado y su control de concurrencia especializado). Las soluciones que puedan encontrarse en esta área son después fácilmente migrables a otros tipos de aplicación. Esta línea proporciona un marco general que se ha refinado en las líneas que describimos seguidamente.
Protocolos de Replicación
Diseño y desarrollo de nuevos protocolos de replicación. Las estrategias de replicación deben implantarse utilizando ciertos protocolos. Existen múltiples tipos de protocolos de replicación ya aceptados, pero se pueden desarrollar nuevas variantes más especializadas. Por ejemplo, para mejorar la escalabilidad. En el caso de las bases de datos replicadas: soporte de cada nivel de aislamiento (análisis teórico), protocolos que soporten más de un nivel,...
Modelos de Consistencia
Estudio de modelos de consistencia. Todo protocolo de replicación estará proporcionando cierto nivel de consistencia. Aunque habitualmente se ha garantizado la consistencia secuencial, no todos los protocolos de replicación mantienen exactamente tal nivel. Leves diferencias pueden mejorar de manera significativa el rendimiento o la escalabilidad, proporcionando todavía un modelo fácilmente programable.
Adaptabilidad en Sistemas de Replicación
Mejora de la adaptabilidad en sistemas de replicación. Diseño y desarrollo de metaprotocolos que permitan (para un mismo modelo de consistencia) utilizar simultáneamente varios protocolos de replicación. Como las prestaciones de los protocolos de replicación varían entre las distintas clases existentes (por ejemplo, algunas clases utilizan control de concurrencia optimista, siendo mucho más eficientes, pero abortando algunas operaciones; otras emplean control pesimista, garantizando el éxito de toda operación, pero rebajando su eficiencia), un metaprotocolo de este tipo permitiría que cada aplicación / transacción / operación pudiera elegir el protocolo que la gestionara, mejorando así el rendimiento global. También permitiría el intercambio dinámico (esto es, en tiempo de ejecución y sin introducir fases de bloqueo) de protocolos.
Integridad en Sistemas Replicados
Estudio de los mecanismos de gestión de integridad en bases de datos relacionales, analizando si son capaces de soportar inconsistencias previas. Establecimiento de ciertas recomendaciones de uso de tales mecanismos en bases de datos replicadas. Estudio y mejora del soporte de integridad en protocolos de replicación. Uso de mecanismos de gestión de integridad en otros tipos de aplicaciones distribuidas.
Estrategias de Recuperación
Diseño y desarrollo de protocolos de recuperación que puedan ser fácilmente integrados en los protocolos de replicación. Estos protocolos resultan necesarios para reincorporar a réplicas que hayan fallado previamente o para incrementar el número de réplicas, transfiriendo el estado con el que deban iniciar la gestión de nuevas peticiones. Durante la recuperación no debe interrumpirse el procesamiento normal de las peticiones en las réplicas. La recuperación resulta difícil cuando la cantidad de estado a transferir es grande (bases de datos, por ejemplo).
Algorítmica Distribuida
Diseño de nuevas soluciones distribuidas y demostración formal de su corrección.
Sistemas de Comunicación a Grupos
Desarrollo de monitores de pertenencia y protocolos de difusión a grupos. Modelos de ejecución basados en sincronía virtual. Difusiones priorizadas. Soporte de comunicación a grupos en MANETs.
Middleware de Replicación
Diseño y desarrollo de sistemas “middleware” de replicación, donde se puedan integrar cada uno de los componentes generados en las líneas anteriores.
Sistemas Dinámicos
Soluciones distribuidas para sistemas dinámicos. Adaptación de los algoritmos distribuidos tradicionales a entornos altamente variables (tanto en la carga que deban gestionar como en el conjunto de nodos


Líneas de actividad

RSS