Fallos

=CONCEPTO DE FALLO= Según [Gär99], existen 3 niveles en los fallos: faltas, errores y fallos. Pese a la ambigüedad de la literatura asociada al tema, [Gär99] separa los términos en base a que una falta, situada a un nivel bajo de abstracción, puede producir un error, relacionado con el estado que, a su vez, provoca un fallo en el sistema, en cuanto a su funcionamiento o especificaciones. Por tanto, tomando esta clasificación, y en base a [Nel90], su puede definir fallo como **la incapacidad de un sistema de presentar la funcionalidad para la que fue diseñado.** Así pues, una falta sería la condición anómala para que tuviera lugar un fallo. =CLASIFICACIÓN DE FALLOS= Una vez definido el concepto de fallo, se proponen dos clasificaciones recogidas en [TS01], según su persistencia temporal o según el comportamiento. En cuanto a la persistencia temporal del fallo, se tiene: En cuanto al comportamiento del elemento que falla: Existen numerosas especificaciones más, como las expuestas en [Cri91] y [Sch93], aunque se ha optado por la de [TS01] por ser una de las más recientes y relativamente completa. =TIPOLOGÍA= =REFERENCIAS= [Gär99] Felix C. Gärtner. Fundamentals of fault-tolerant distributed computing in asynchronous environments. ACM Comput. Surv., 31(1):1–26, 1999. [Nel90] Victor P. Nelson. Fault tolerant computing: Fundamental concepts. IEEE Computer, 1990. [TS01] Andrew S. Tanenbaum and Maarten Van Steen. Distributed Systems: Principles and Paradigms. Prentice Hall PTR, Upper Saddle River, NJ, USA, 2001. [Lam83] L. Lamport. The weak byzantine generals problem. J. ACM, 30(3):668–676, 1983. [Cri91] Flaviu Cristian. Reaching agreement on processor-group memebership in synchronous distributed systems. Distributed Computing, 4:175–187, 1991. [Sch93] Fred B. Schneider. Replication management using the statemachine approach. ACM Press, Addison-Wesley, pages 166–197, 1993.
 * 1) Transitorios: cuando un elemento del sistema tiene un comportamiento anómalo de forma puntual, recobrando inmediatamente su comportamiento lógico.
 * 2) Intermitentes: un elemento del sistema se comporta de forma anómala de forma intermitente.
 * 3) Permanentes: cuando se produce el fallo del componente del sistema, éste no se vuelve a recuperar.
 * 1) Fallos de parada: El elemento que falla deja de funcionar y no interfiere con el resto del sistema una vez ha fallado.
 * 2) Fallos de omisión: El elemento que falla no realiza cierta parte de su cometido.
 * 3) Fallos de temporización: Llega a proporcionar servicio, pero el elemento que falla no lo hace en el tiempo previsto.
 * 4) Fallos de respuesta: El elemento responde incorrectamente a laspeticiones que se le realizan. Dentro de este grupo se englobaríanlos fallos expuestos en [Lam83] Bizantinos, que son respuestas incorrectas indetectables por el sistema.
 * 5) Fallos arbitrarios: El componente que falla funciona de forma aleatoria y descontrolada.
 * 1) Fallos en el entorno cliente-servidor