Se dice que un sistema falla cuando no cumple su especificación. Como las computadoras
y los sistemas distribuidos se utilizan cada vez más en misiones donde la seguridad es
crítica, la necesidad de soportar las fallas cada vez es mayor.
Es necesario que el sistema sea capaz de recuperarse de las fallas, entonces necesitamos
deshacernos del estado de error del sistema.
FALLA DE PROCESOS
Aquí, la ejecución arroja un resultado incorrecto, los procesos provocan que el sistema se
desvíe de las especificaciones y el proceso puede suspender su progreso. Por ejemplo,
interbloqueos, tiempo expirado, violación de protección, error en la entrada provista por
el usuario, violaciones de consistencia.
RECUPERACIÓN DE ERRORES
Ya dijimos que un error es una parte del estado del sistema que es distinto a los valores
esperados, así, la recuperación de una falla es un proceso que involucra la recuperación
de estados erróneos a un estado libre de error.
Hay dos enfoques para la recuperación de un estado de error a un estado libre de error.
- Si la naturaleza del error y los daños causados pueden ser completamente calculados,
entonces es posible remover esos errores del estado del proceso (o sistema) y habilitar el
movimiento hacia adelante del proceso a un estado libre de error. Esta técnica es conocida
como recuperación hacia adelante.
- Si no es posible prever la naturaleza de las fallas y remover todos los errores en el estado
del proceso (o sistema), entonces el estado del proceso puede ser restaurado a un estado
previo libre de error. Esta técnica es conocida como recuperación de error hacia atrás.
Hay dos formas de implementar una recuperación de error hacia atrás: el enfoque basado
en la operación y el enfoque basado en estado. Supongamos el siguiente sistema modelo,
para poder explicar ambos enfoques:
Sistema modelo:
Aquí, todas las modificaciones que son hechas al estado de un proceso son registrados
con suficiente detalle, así los estados previos del proceso pueden ser restaurados dando
marcha atrás a todos los cambios hechos al estado.
Al momento de diseñar un sistema tolerante a fallas se puede hacer desde dos puntos de
vista:
En el primero, al ocurrir una falla, el sistema continuo con sus funciones específicas. En
el segundo, el sistema puede o no ejecutar funciones específicas, sin embargo, puede
seguir acciones para recuperación.
Protocolo de compromiso: se utiliza para sistemas que hasta cierto punto pueden
corregir las fallas
Protocolo de elección: es utilizado para sistemas que ocultan las fallas.
Un proceso muere
Cuando un proceso muere, es importante que los recursos asignados al proceso sean
recuperados, de otra manera pueden estar perdidos permanentemente.
La máquina falla
La red falla
Asume que uno de los procesos cooperativos actúa como coordinador, otros procesos se
les refiere como subordinados. Este protocolo asume que se dispone de un medio de
almacenamiento estable en cada sitio y que se encuentra activo el protocolo de escritura
de registro anticipado. Al inicio de la transacción, el coordinador envía el mensaje "inicio
de transacción" a cada subordinado.
Protocolo de elección
Finalidad
Alcance
Aplica a todos los SI que son implementados por OGTI, tanto de origen de desarrollo
propio como de terceros (comercial y de otras áreas del MEF).
Responsable
Responsable del desarrollo del SI, manteniendo la documentación técnica necesaria para
el proceso de control de calidad. Se encarga de definir y solicitar la infraestructura
tecnológica necesaria para el funcionamiento adecuado de los SI, ante la OIT, así como
de detallar el proceso de entrega de objetos a la OIT para su Pase a Producción.
Coordinador de Calidad
Coordinador de Operaciones
Procedimiento.
Una vez que el SI está libre de errores, se compila la versión final y se procede con la
entrega del producto a OIT.
El responsable del Pase a Producción procede a verificar el recurso y disponer del entorno
de producción, conforme las especificaciones técnicas elaboradas por el equipo de
arquitectura y construcción.
Cuando el producto esté listo para el Pase a Producción, el responsable del desarrollo o
el encargado de la aplicación deberá coordinar con el Jefe de SI para la presentación del
producto y realizar las pruebas operativas necesarias.