En ingeniería de sistemas , la confiabilidad es una medida de la disponibilidad , confiabilidad , mantenibilidad y, en algunos casos, otras características de un sistema como durabilidad , seguridad y protección . [1] En la informática en tiempo real , la confiabilidad es la capacidad de proporcionar servicios en los que se puede confiar dentro de un período de tiempo. [2] Las garantías de servicio deben mantenerse incluso cuando el sistema esté sujeto a ataques o fallas naturales.
La Comisión Electrotécnica Internacional (IEC), a través de su Comité Técnico TC 56 , desarrolla y mantiene estándares internacionales que proporcionan métodos y herramientas sistemáticos para la evaluación y gestión de la confiabilidad de equipos, servicios y sistemas a lo largo de sus ciclos de vida. El Grupo de Trabajo IFIP 10.4 [3] sobre "Computación confiable y tolerancia a fallas" desempeña un papel en la síntesis del progreso de la comunidad técnica en el campo y organiza dos talleres cada año para difundir los resultados.
La confiabilidad se puede dividir en tres elementos:
Algunas fuentes sostienen que la palabra fue acuñada en la década de 1910 en la publicidad impresa de los automóviles Dodge Brothers. Pero la palabra es anterior a ese período, y el Oxford English Dictionary encontró su primer uso en 1901.
A medida que aumentó el interés en la tolerancia a fallas y la confiabilidad del sistema en las décadas de 1960 y 1970, la confiabilidad pasó a ser una medida de [x] a medida que las medidas de confiabilidad llegaron a abarcar medidas adicionales como la seguridad y la integridad. [4] A principios de la década de 1980, Jean-Claude Laprie eligió confiabilidad como el término para abarcar estudios de tolerancia a fallas y confiabilidad del sistema sin la extensión del significado inherente a la confiabilidad . [5]
El campo de la confiabilidad ha evolucionado desde estos inicios hasta convertirse en un campo de investigación activo a nivel internacional fomentado por una serie de conferencias internacionales destacadas, en particular la Conferencia Internacional sobre Sistemas y Redes Confiables , el Simposio Internacional sobre Sistemas Distribuidos Confiables y el Simposio Internacional sobre Confiabilidad del Software. Ingeniería .
Tradicionalmente, la confiabilidad de un sistema incorpora disponibilidad , confiabilidad y mantenibilidad , pero desde la década de 1980, la seguridad y la protección se han agregado a las medidas de confiabilidad. [6]
Los atributos son cualidades de un sistema. Estos se pueden evaluar para determinar su confiabilidad general utilizando medidas cualitativas o cuantitativas . Avizienis et al. Defina los siguientes atributos de confiabilidad:
Como sugieren estas definiciones, sólo la Disponibilidad y la Confiabilidad son cuantificables mediante mediciones directas, mientras que otras son más subjetivas. Por ejemplo, la seguridad no se puede medir directamente mediante métricas, sino que es una evaluación subjetiva que requiere que se aplique información de juicio para brindar un nivel de confianza, mientras que la confiabilidad se puede medir como fallas a lo largo del tiempo.
La confidencialidad , es decir, la ausencia de divulgación no autorizada de información, también se utiliza cuando se aborda la seguridad. La seguridad es una combinación de confidencialidad , integridad y disponibilidad . La seguridad a veces se clasifica como un atributo [7], pero la visión actual es agregarla junto con la confiabilidad y tratar la Confiabilidad como un término compuesto llamado Confiabilidad y Seguridad. [2]
En la práctica, la aplicación de medidas de seguridad a los dispositivos de un sistema generalmente mejora la confiabilidad al limitar la cantidad de errores originados externamente.
Las amenazas son cosas que pueden afectar un sistema y provocar una caída en la confiabilidad. Hay tres términos principales que deben entenderse claramente:
Es importante tener en cuenta que las fallas se registran en los límites del sistema. Básicamente son errores que se han propagado hasta los límites del sistema y se han vuelto observables. Las Fallas, Errores y Fallas operan según un mecanismo. Este mecanismo a veces se conoce como cadena Falla-Error-Falla. [8] Como regla general, una falla, cuando se activa, puede provocar un error (que es un estado no válido) y el estado no válido generado por un error puede provocar otro error o falla (que es una desviación observable del valor especificado). comportamiento en la frontera del sistema). [9]
Una vez que se activa una falla, se crea un error. Un error puede actuar de la misma manera que una falla en el sentido de que puede crear más condiciones de error; por lo tanto, un error puede propagarse varias veces dentro de los límites de un sistema sin causar una falla observable. Si un error se propaga fuera de los límites del sistema, se dice que ocurre una falla. Una falla es básicamente el punto en el que se puede decir que un servicio no cumple con sus especificaciones. Dado que los datos de salida de un servicio pueden introducirse en otro, una falla en un servicio puede propagarse a otro servicio como una falla, por lo que se puede formar una cadena de la forma: Falla que conduce a un error que conduce a una falla que conduce a un error, etc.
Una vez que se comprende el mecanismo de una cadena de fallas-errores, es posible construir medios para romper estas cadenas y así aumentar la confiabilidad de un sistema. Hasta el momento se han identificado cuatro medios:
La prevención de fallas se ocupa de evitar que se introduzcan fallas en un sistema. Esto se puede lograr mediante el uso de metodologías de desarrollo y buenas técnicas de implementación.
La eliminación de fallos se puede subdividir en dos subcategorías: eliminación durante el desarrollo y eliminación durante el uso.
La eliminación durante el desarrollo requiere verificación para que las fallas puedan detectarse y eliminarse antes de que un sistema entre en producción. Una vez que los sistemas se han puesto en producción, se necesita un sistema para registrar las fallas y eliminarlas mediante un ciclo de mantenimiento.
El pronóstico de fallas predice fallas probables para poder eliminarlas o evitar sus efectos. [10] [11]
Fault Tolerance se ocupa de implementar mecanismos que permitan que un sistema siga brindando el servicio requerido en presencia de fallas, aunque ese servicio pueda estar en un nivel degradado.
Los medios de confiabilidad están destinados a reducir la cantidad de fallas visibles para los usuarios finales de un sistema.
Según cómo aparecen o persisten las fallas, se clasifican en:
Algunos trabajos sobre confiabilidad [12] utilizan sistemas de información estructurados , por ejemplo con SOA , para introducir el atributo de supervivencia , teniendo así en cuenta los servicios degradados que un sistema de información sostiene o reanuda después de una falla no enmascarable.
La flexibilidad de los marcos actuales alienta a los arquitectos de sistemas a habilitar mecanismos de reconfiguración que reenfoquen los recursos seguros disponibles para respaldar los servicios más críticos en lugar de sobreaprovisionar para construir un sistema a prueba de fallas.
Con la generalización de los sistemas de información en red, se introdujo la accesibilidad para dar mayor importancia a la experiencia de los usuarios.
Para tener en cuenta el nivel de desempeño, la medición de la desempeño se define como "cuantificar qué tan bien se desempeña el sistema objeto en presencia de fallas durante un período de tiempo específico". [13]
Conferencias más centradas en la región: