Diseño y desarrollo de componentes altamente disponibles

Una aplicación distribuida está formada por múltiples componentes que serán ejecutados en cierto conjunto de ordenadores. Si alguno de esos componentes fallase, la aplicación dejaría de funcionar. Por tanto, los componentes deben replicarse para garantizar que la aplicación distribuida soporte las situaciones de fallo, permaneciendo siempre disponible.

Además de garantizar la disponibilidad, la replicación también mejora el rendimiento ya que todas las réplicas podrán atender simultáneamente a múltiples clientes. Así también se equilibra la carga entre ese conjunto de réplicas.

Existen múltiples estrategias de replicación. Cada una puede ser apropiada en un escenario diferente. Como resultados, se necesita un análisis riguroso de los requisitos de uso para seleccionar la mejor estrategia de replicación para una aplicación determinada.

Dentro de este ámbito, investigadores del Instituto de Tecnología Informática diseña y desarrolla protocolos de replicación que pueden ser adaptados fácilmente para construir aplicaciones distribuidas altamente disponibles.

El grupo de investigación ha participado en un buen número de proyectos de investigación del Plan Nacional de I+D (desde 2003) y en varios proyectos del Programa Marco de la Unión Europea centrados en estos mismos objetivos. Sus resultados se han aplicado en algunas acciones de transferencia de tecnología a empresas de la Comunidad Valenciana

//

A distributed application consists of multiple components that can be deployed in a set of computers. If any of those components fails, the application is unable to run. As a result, components should be replicated in order to ensure that a distributed application overcomes failures, remaining always available.
Besides ensuring service availability, replication also enhances performance since every replica is able to serve different clients at a time, balancing the workload among them.
There are several replication strategies. Each one may be appropriate for a different scenario. As a result a careful analysis of the user requirements is needed for choosing the best replication strategy. Our group has designed and developed multiple replication protocols that can be easily adapted to build highly available distributed applications.

Aplicaciones

  • Aplicaciones informáticas distribuidas (independientemente de la tecnología utilizada en su desarrollo)

Ventajas técnicas

  • Continuidad de servicio en caso de fallos en los componentes.
  • Continuidad de servicio durante algunas tareas de mantenimiento de las aplicaciones (actualización de software, por ejemplo).
  • Adaptabilidad de la capacidad de servicio a la carga esperada.
  • Facilidad para reparto equitativo de carga entre múltiples réplicas de un mismo componente.

Beneficios que aporta

  • Mejora de la capacidad de servicio (número de usuarios simultáneos) de las aplicaciones.
  • Continuidad de servicio.
  • Mejora en el tiempo de respuesta de las aplicaciones.

Experiencia relevante

  • Nuestro grupo de investigación ha participado en un buen número de proyectos de investigación del Plan Nacional de I+D (desde 2003) y en varios proyectos del Programa Marco de la Unión Europea centrados en estos mismos objetivos. Sus resultados se han aplicado en algunas acciones de transferencia de tecnología a empresas de la Comunidad Valenciana.