Fiabilidad

=CONCEPTO= Se entenderá por fiabilidad la capacidad (probabilidad) de un sistema a de proporcionar un servicio correcto en un instante determinado t sabiendo que el servicio era correcto en un instante inicial t=0, tal como se destila de [Nel90]. La fiabilidad es otro concepto altamente vinculado con la disponibilidad y depende de dos factores: los fallos que puedan tener lugar en el sistema y los mecanismos que se posea para tolerarlos.

=EJEMPLO= Para entender lo que sería una falta de fiabilidad, supongamos un cliente de cierta aplicación que unicamente realiza una media de 20 peticiones al año y que éstas suelen durar 30 segundos cada una, pero para que cada solicitud tenga éxito, el servidor debe garantizar que el stream con los resultados no se corte ni que ninguno de los valores retornados pueda ser alterado. Se tiene dos tipos de servidores, cada uno de ellos 99’3 % disponible. El primero sólo falla un día entero por año, y es incapaz de proporcionar un resultado durante todo ese día pero funciona perfectamente el resto del año. El segundo falla durante 90 ms en todos los intervalos de 30 segundos, corrompiendo algunos de los bytes transmitidos y sus CRCs asociados, impidiendo que se detecten tales errores. ¿Cuál es más fiable? Con el primero, la probabilidad de que alguna de las 20 peticiones anuales para cada cliente falle es bastante baja, obteniendo una alta fiabilidad. En el segundo caso, no se consigue que ninguna de las peticiones efectuadas por los clientes tenga éxito, teniendo una fiabilidad nula.

=REFERENCIAS= [Nel90] Victor P. Nelson. Fault tolerant computing: Fundamental concepts. IEEE Computer, 1990.