ES2310505T3 - Sistema tolerante a fallos segun un algoritmo bizantino. - Google Patents

Sistema tolerante a fallos segun un algoritmo bizantino. Download PDF

Info

Publication number
ES2310505T3
ES2310505T3 ES00107449T ES00107449T ES2310505T3 ES 2310505 T3 ES2310505 T3 ES 2310505T3 ES 00107449 T ES00107449 T ES 00107449T ES 00107449 T ES00107449 T ES 00107449T ES 2310505 T3 ES2310505 T3 ES 2310505T3
Authority
ES
Spain
Prior art keywords
data
units
bsl
logical
calculation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES00107449T
Other languages
English (en)
Inventor
Volker Dipl.-Ing. Brinkmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Airbus DS GmbH
Original Assignee
Astrium GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Astrium GmbH filed Critical Astrium GmbH
Application granted granted Critical
Publication of ES2310505T3 publication Critical patent/ES2310505T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/187Voting techniques
    • G06F11/188Voting techniques where exact match is not required
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/181Eliminating the failing redundant component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/182Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits based on mutual exchange of the output between redundant processing components

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Steering Control In Accordance With Driving Conditions (AREA)

Abstract

Unidad lógica para la construcción de una red con varias unidades lógicas que tolere simultáneamente un número F de fallos que pueda ser operada según el algoritmo bizantino, con a) una pluralidad de entradas (+0, +1, +2, +3) para la introducción de datos en el registro (SR1 a SR10) de un juego de registros y b) una pluralidad de salidas (+1, +2, +3) para la lectura de datos de los registros (SR1 a SR10), c) en la que cada salida (+1, +2, +3) se puede unir con una entrada (+1, +2, +3) de otra unidad lógica (BSL), caracterizada porque d) los registros (SR1 a SR10) están acoplados de tal manera con las entradas (+1, +2, +3) y las salidas (+1, +2, +3) mencionadas que cada registro (SR1 a SR10), independientemente de la posición de la unidad lógica (BSL), se puede introducir y leer dentro de la red mediante una identificación relativa invariable en su posición.

Description

Sistema tolerante a fallos según un algoritmo bizantino.
La invención se refiere a una unidad lógica para la construcción de una red que tolera al mismo tiempo un número F de fallos, que se puede operar según el algoritmo bizantino, con varias unidades lógicas con una pluralidad de entradas para la introducción de datos en el registro de un juego de registros y una pluralidad de salidas para la lectura de datos de los registros, en el que cada salida se puede unir con una entrada de otra unidad lógica. Adicionalmente, la invención se refiere a una unidad de cálculo con una unidad lógica de este tipo así como a una red tolerante a fallos de al menos 3F+1 unidades lógicas o unidades de cálculo. Finalmente, la invención también se refiere a un procedimiento para la operación de una red tolerante a fallos con al menos 3F+1 unidades lógicas de este tipo o unidades de cálculo con F+1 ciclos de distribución de datos.
Se conocen ordenadores tolerantes a fallos de este tipo, por ejemplo, del documento DE4401168C2. Estos trabajan según el algoritmo bizantino, tal y como resulta del documento DE4401168C2, así como de Leslie Lamport, Robert E. Schostak, Marshall C. Pease: "The Byzantine Generals Problem", ACM Transaction on Programming Languages and Systems (TOPLAS), volumen 4, número 3, julio de 1982, páginas 382-401. El algoritmo bizantino está formado fundamentalmente por un procesado de datos redundante con varias unidades de cálculo que trabajan en paralelo, que según este algoritmo distribuyen y comparan datos de una manera explicada con más detalle posteriormente. Los ordenadores tolerantes a los fallos de este tipo están formados por una red de 3F+1 unidades de cálculo RE1 a RE(3F+1). Este tipo de unidades de cálculo, por ejemplo, para F=1, están unidas entre sí según la Figura 5 de tal manera que cada unidad de cálculo puede intercambiar datos directamente con cualquier otra unidad de cálculo. Por medio de la distribución en F+1 ciclos de distribución, y la comprobación de estos datos según el algoritmo bizantino, se puede reconocer y desactivas de esta manera una unidad de cálculo defectuosa, de modo que las unidades de cálculo no afectadas siguen trabajando con datos válidos.
Cada unidad de cálculo contiene, para esta finalidad, una memoria de datos DS1 a DS(3F+1). Para poner de manifiesto la problemática en la que se basa la invención, se describen a continuación brevemente, por ejemplo para F=1, las conexiones y los procesos en este tipo de ordenadores tolerantes a fallos a partir de las figuras 5, 5a, 5b y 5c.
La Fig. 5 muestra, cómo a través de líneas de señales de proceso 1-5 se suministran señales de proceso a cada unidad de cálculo RE1, RE2, RE3, RE4. Otras líneas de datos 6-11 unen cada unidad de cálculo con otra unidad de cálculo. Cada una de estas líneas de datos 6-11 está formada en particular por conexiones bidireccionales para datos, señales de desactivación y señales de sincronización. Las líneas 1 a 11 representadas en la Fig. 5 se vuelven a encontrar de modo correspondiente en las Fig. 5a, 5b y 5c, si bien sin indicación de cifras de referencia.
Cada una de las cuatro unidades de cálculo RE1 a RE4 presenta un interfaz de proceso PSS, una lógica de supervisión ÜL, así como un procesador específico de la aplicación AP. Las memorias de datos DS1 a DS4 pertenecen a la lógica de supervisión ÜL y sirven para el almacenamiento de datos de proceso introducidos.
Los datos generados en la unidad de cálculo o introducidos por un interfaz de proceso PSS d1 a d4 se toman en primer lugar en la memoria de datos propia DS1 a DS4, de modo correspondiente, según la Figura 5a.
A continuación, cada unidad de cálculo transmite en un primer ciclo de distribución de datos según la Figura 5b sus datos originales d1 a d4 a otra unidad de cálculo en las memorias de datos correspondientes. Al final de este ciclo de distribución, así pues, cada memoria de datos contiene los datos d1; d2; d3; d4 propios introducidos según la Figura 5a, así como los datos designados con d1/RE1; d2/RE2; d3/RE3; d4/RE4 de las otras unidades de cálculo.
En el segundo ciclo de distribución de datos según la Figura 5c, cada unidad de cálculo transmite entonces todos los datos recibidos según la Figura 5b en la memoria de datos de las dos unidades de cálculo que no han recibido ya originariamente estos datos según la Figura 5a. Con ello, al final de este ciclo de distribución, cada memoria de datos DS1, DS2, DS3 y DS4 contiene los datos propios según la Figura 5a, así como, respectivamente, tres bloques de datos DB1, DB2 y DB3, estando contenidos los datos originales di de las otras tres unidades de cálculo que han sido transmitidos respectivamente por otra de las tres unidades de cálculo RE, en un bloque de datos.
La evaluación se realiza entonces en cada unidad de cálculo, respectivamente, por medio de una primera comparación de los tres datos dentro de cada bloque de datos, evaluándose la identidad a nivel de bit, y en una segunda comparación de los bloques de datos DB1 a DB3 entre sí, así como con los datos originales según la Figura 5a, evaluándose la identidad, pudiéndose diferenciar la identidad congruente (es decir, idéntica a nivel de bit) y la identidad casi-congruente (es decir, identidad dentro de un intervalo de tolerancia). En caso de que por medio de la evaluación posterior de los resultados de la comparación por medio del conocido algoritmo bizantino se identifique una unidad de cálculo defectuosa, entonces la unidad de cálculo genera y transmite una señal de desactivación a la unidad de cálculo identificada como defectuosa. Cuando esta unidad de cálculo recibe de las otras tres unidades de cálculo así mismo una señal de desactivación, entonces esta unidad de cálculo de desactiva.
Las unidades de cálculo conocidas y las redes formadas a partir de ellas según el documento DE4401168C2 tienen, sin embargo, la desventaja de que como consecuencia de los diferentes contenidos de las memorias de datos (ver Figura 5c), así como debido a la distribución de la comparación de los datos en un plano lógico (flujo de datos) por encima de los datos individuales, se requiere una evaluación de datos individual para cada unidad de cálculo, lo que tiene como consecuencia que las unidades de cálculo conocidas o las redes de este tipo conformadas a partir de ellas trabajan de un modo relativamente lento, ya que la transmisión y evaluación de los juegos de datos requieren un coste de cálculo elevado.
Del documento US4907232A se conoce una disposición tolerante a fallos correspondiente con varias unidades lógicas que se pueden operar conjuntamente, estando unidad cada salida a las demás unidades lógicas. En este caso se han de poder reconocer posibles fallos que se produzcan en el procesado, sin que por ello el sistema en conjunto se vea perjudicado. En caso de que se reconozca una unidad lógica como defectuosa, se puede realizar entonces una desactivación de las unidades lógicas correspondientes. Esta identificación absoluta usada aquí de los registros representa una desventaja, ya que en cada unidad lógica es necesaria una evaluación de datos individual, es decir, diferente de otras unidades lógicas.
La invención, que se define en las dos reivindicaciones independientes 1 y 19, se basa en el objetivo de crear una red tolerante a fallos de unidades lógicas o unidades de cálculo individuales, estas mismas unidades así como un procedimiento para la operación de la red, cada uno de ellos según se ha mencionado al principio, de manera que trabajen de manera más rápida y sean más fiables.
Este objetivo se consigue con una unidad lógica del tipo mencionado al comienzo que está caracterizada porque los registros están acoplados de tal manera con las entradas -cada una de ellas unida con una salida- y las salidas, que cada registro, independientemente de la posición de la unidad lógica dentro de la red, se puede introducir y leer por medio de una identificación relativa invariable en posición.
Además, el objetivo se consigue mediante una unidad de cálculo con una unidad lógica de este tipo así como mediante una red tolerante a fallos con al menos 3F+1 unidades lógicas o unidades de cálculo construidas de modo idéntico, en la que las entradas y salidas de las unidades lógicas o unidades de cálculo están unidas entre sí de tal manera que los registros correspondientes de diferentes unidades lógicas o unidades de cálculo presentan datos de la misma identificación relativa del origen y de la unidad de cálculo transmisora.
Finalmente, el objetivo se consigue mediante un procedimiento para la operación de una red conforme a la invención con al menos 3F+1 unidades lógicas según la invención o unidades de cálculo, en el que F es el número de los fallos que se han de tolerar simultáneamente, con F+1 ciclos de distribución de datos, en el que los datos introducidos en la introducción y en la distribución se caracterizan con una identificación relativa, siendo la identificación relativa de los datos en registros correspondientes de las diferentes unidades lógicas o unidades de cálculo idéntica.
La identificación relativa hace posible construir una red a partir unidades de cálculo o unidades lógicas idénticas de modo ventajoso. Gracias a ello es posible operar unidades de cálculo o unidades lógicas de una red en posiciones arbitrarias dentro de una red, sin que se hayan de llevar a cabo adaptaciones de algún tipo. Adicionalmente, la invención permite llevar a cabo la distribución de datos y la comparación de datos requerida exclusivamente por medio de hardware y no por medio de software, de manera que una red tolerante a fallos trabaja frente a las redes conocidas de un modo fundamentalmente más rápido y más fiable.
Preferentemente, cada unidad de cálculo presenta una unidad lógica idéntica asignada a ella. Para el caso especial F=1, cada unidad lógica comprende respectivamente diez registros de desplazamiento de hardware, tres entradas, que se pueden unir para la lectura de juegos de datos a través de primeros dispositivos de conmutación con nueve de estos registros, así como otra entrada que sirve para la introducción de los datos de proceso originarios. Adicionalmente, cada unidad lógica presenta tres salidas que se pueden unir para la lectura de datos a través de un segundo dispositivo de conmutación con todos los registros. En este caso, cada salida de cada unidad lógica está unida respectivamente con una entrada de otra unidad lógica de este tipo de manera que los datos introducidos en el primer registro de cada unidad lógica son transmitidos con un primer ciclo de distribución de datos en un registro de cada una de las otras unidades lógicas. En un segundo ciclo de distribución de datos posterior, se transmiten los datos obtenidos con el primer ciclo desde todas las demás unidades de cálculo de cada juego de registro a los otros dos juegos de registro, que en el ciclo previo no eran emisores de los datos correspondientes. En este caso, la caracterización de los datos y de las unidades lógicas se realiza por medio de la identificación relativa y la cuenta cíclica en módulo 4. Los datos se distribuyen de tal manera que éstos en los mismos registros de todos los juegos de datos tienen correspondientemente el mismo origen relativo, y han sido transmitidos, respectivamente, desde un juego de registros con la misma identificación relativa.
Preferentemente, cada unidad lógica presenta una pluralidad de líneas de desactivación, por medio de las que las señales de desactivación se pueden enviar a otras unidades lógicas o bien se pueden recibir señales de desactivación de otras unidades lógicas en caso de que se haya reconocido un fallo. Después de que se haya realizado una desactivación se puede iniciar, de modo especialmente ventajoso, una reactivación de una unidad lógica. Tanto en la reactivación como en la activación inicial de cada unidad lógica se sincronizan las unidades lógicas con la ayuda de comunicación de datos cíclica.
De modo ventajoso, a partir de un estado de desactivación se decido si los datos de otra unidad se han de descartar o se han de incluir de la distribución de datos y de la evaluación de datos.
Otras reivindicaciones subordinadas tienen variantes ventajosas de la invención en su contenido.
Otras particularidades, características y ventajas de la invención se derivan de la siguiente descripción de una forma de realización preferida a partir del dibujo. Se muestra:
Fig. 1 una disposición de circuito a modo de ejemplo de una unidad de cálculo conforme a la invención;
Fig. 2 una unidad lógica (BSL) conforme a la invención con componentes para la distribución de datos;
Fig. 3 una red conforme a la invención con 3F+1 unidades lógicas conformes a la invención, con F=1;
Fig. 4 una unidad lógica conforme a la invención con componentes para la comparación de datos, y un microprocesador;
Fig. 5, 5a a 5c la conexión así como los procesos de la introducción y distribución de datos en una red tolerante a fallos conocidos de unidades de cálculo;
Fig. 6, 6a a 6c la conexión así como los procesos de la introducción y distribución de datos en una red tolerante a fallos conforme a la invención.
La Figura 1 muestra la representación principal de una unidad de cálculo RE conforme a la invención. Una red tolerante a fallos conforme a la invención está formado por 3F+1 de estas unidades de cálculo.
Una unidad de cálculo comprende fundamentalmente una unidad lógica BSL, que está unida por medio de un bus B1 adecuado con un microprocesador MP, y por medio de otro bus B2 que sirve para la conformación de un interfaz de datos de proceso, con los datos de proceso, en particular con las señales de entrada y salida del proceso. A través de una lógica de unión entre el bus B1 y el bus B2, el microprocesador MP tiene así mismo acceso a los datos del proceso, controlándose el acceso a los datos del proceso a través de la unidad lógica BSL, en particular por medio de una señal de liberación, para garantizar la operación síncrona requerida de las unidades lógicas. El microprocesador MP sirve para la ejecución de programas para el control del interfaz de datos de proceso (directamente y/o a través de la unidad lógica BSL), así como de programas específicos de aplicación. Además, el microprocesador se puede unir a través del bus B1 y de RAMs de doble puerto con otros procesadores específicos de aplicación.
Para procesar una pluralidad de datos de entrada de modo síncrono, cada unidad lógica BSL contiene una función de multiplexación MX, que conecta los datos de entrada de modo secuencial al interfaz de los datos de proceso (bus B2). Además, la función de multiplexación sirve para la selección de un canal de circuito abierto L para el mantenimiento de la operación cíclica cuando no hay temporalmente datos de entrada de proceso, para que la unidad lógica BSL trabaje independientemente de los procesos y de un modo absolutamente determinista. El canal en circuito abierto correspondiente también se puede usar para sincronizar entre sí diferentes aplicaciones de cálculo, en tanto que se requiera esto. Una configuración especialmente ventajosa de la invención es la selección de la unidad de entrada correspondiente que se realiza de manera tal que en cada ciclo de datos (n) se distribuyen las señales requeridas de los canales de entrada, y por medio de una decisión por mayoría se escoge el canal que se ha de procesar en el ciclo de datos (n+1).
Preferentemente, la sincronización de las unidades lógicas se realiza por medio de la transferencia de datos entre las unidades lógicas.
Finalmente también es posible, con la ayuda de unidades combinadas de entrada/salida, reconducir datos, que han sido proporcionados a éstas para su salida, si bien sólo han sido emitidas hacia el exterior por la unidad combinada de entrada/salida como señal de salida del proceso, en la que el interruptor de salida AS estaba cerrado, a través de líneas de reciprocidad ("loop-back") a todas las unidades de entrada iguales (n+1, n+2), y compararlas con la ayuda de un comparador con los datos entregados para la salida. El resultado correspondiente de la comparación se distribuye y se comprueba como parte constituyente de los datos de entrada (datos de salida que se han vuelto a leer) según el algoritmo bizantino. De este modo es posible comprobar el recorrido de salida de las unidades de cálculo RE, incluyendo las unidades de entrada/salida combinadas, según el algoritmo bizantino para identificar funcionamientos erróneos. Para esta finalidad, las unidades de salida de las unidades de entrada/salida combinadas se sincronizan por parte de la unidad lógica BSL a través de una señal correspondiente. Además, del mismo modo se pueden sincronizar unidades de salida 0 a n.
A partir de esta representación se pone de manifiesto otra configuración especialmente ventajosa de la invención que viene dada por el hecho de que la unidad lógica BSL se pueda emplear de modo flexible y sea independiente de la aplicación, ya que está conectada entre el interfaz de datos de proceso (bus B2) y el procesador de aplicación. La aplicación, con ello, recibe sus datos o bien directamente desde el interfaz de datos de proceso, o después de la comprobación por medio del algoritmo bizantino conjuntamente con información de estado a través de la unidad lógica BSL.
La Figura 2 muestra la parte de una unidad lógica BSL que sirve para la distribución de datos, así como un juego de registros de desplazamiento correspondientes formado por registros de desplazamiento SR1 - SR10 en detalle. Adicionalmente están previstos registros adicionales SR1a, SR2a, SR6a y SR10a, que están unidos con el primer, segundo, sexo o décimo registro SR1, SR2, SR6, SR10, así como con un control de multiplexador. Estos registros adicionales contienen la identificación de canal de multiplexador seleccionada respectivamente MKI+/ y sirven, conjuntamente con el control de multiplexador para la preselección, coordinada entre las unidades lógicas BSL, del siguiente canal de entrada, que se conecta a continuación en el siguiente ciclo de datos a través de cada multiplexador a la unidad lógica BSL correspondiente.
Los registros de desplazamiento SR1+SR1a, SR2, SR6 y SR10 están acoplados retroactivamente durante el proceso de salida (no representados), de manera que después de la conclusión del proceso de lectura vuelven a estar disponibles los datos originales en los registros correspondientes.
Adicionalmente están previstos interruptores adicionales Z1 a Z3, que están conectados respectivamente en las líneas de datos de entrada +1, +2, +3 del juego de registros. Estos interruptores adicionales sirven para la generación de un juego de datos completo, cuando una de las unidades lógicas ha sido desactivada. En este caso, el interruptor adicional se pone en la línea de datos de entrada que lleva a la unidad lógica desactivada frente a la posición 1 representada en la posición 2, de manera que los datos leídos de los registros y conducidos a través del interruptor S1, S2 ó S3 asignado a la unidad lógica desactivada se vuelven a introducir, para almacenar de nuevo datos válidos en los registros de desplazamiento SRi afectados.
Las condiciones referidas a posiciones de los interruptores S1 a S3, así como las entradas designadas con las cifras 1 y 2 de los registros de desplazamiento se explican conjuntamente con la Figura 3.
En la Figura 3, los componentes que sirven para la distribución de datos de las unidades lógicas BSL (ver Figura 2) de cuatro unidades de cálculo RE1, RE2, RE3, RE4 están conectados para formar una red del modo conforme a la invención. Los registros adicionales SRia representados en la Figura 2 no se representan en la Figura 3, ya que no son necesarios para la explicación de la distribución de datos entre las unidades de cálculo (RE1 a RE4).
Los ciclos de distribución de datos se realizan según la invención por medio de la conexión representada en la Figura 3 de los registros individuales conjuntamente con un control de ejecución y una identificación relativa de las unidades lógicas representadas de las cuatro unidades de cálculo RE1 a RE4 (cuenta en módulo 4).
El intercambio de datos entre las unidades lógicas de las unidades de cálculo (RE1 a RE4) se realiza en dos ciclos de distribución de datos. Las cifras 1 y 2 en las entradas de los registros de desplazamiento SR1 a SR10 muestran en cuál de los dos ciclos de distribución se leen datos a través de la entrada correspondiente. Los interruptores primero a tercero S1, S2 y S3 en cada unidad lógica tienen tres posiciones de conmutación respectivamente. La posición de conmutación 1 representada se adopta durante el primer ciclo de distribución, la posición de conmutación 2 durante el segundo ciclo de distribución para un primer juego de datos, respectivamente, y la posición de conmutación 3 durante el segundo ciclo de distribución para un segundo juego de datos. La operación, en particular, es de la siguiente manera:
Las unidades de cálculo RE1 a RE4, o bien sus unidades de lógica representadas están asignadas entre sí en un modo de cuenta incremental cíclica (cuenta en módulo 4), teniendo una unidad de cálculo, que está justo a la derecha de otra unidad de cálculo, la dirección relativa +1 respecto a ésta, y teniendo la unidad de cálculo que se conecta a la derecha de ésta la dirección relativa +2.
Los datos que han de ser procesados por la red y que han de ser verificados para comprobar que no tienen errores son suministrados en primer lugar a cada unidad lógica a través del interfaz de datos de proceso que le corresponde, en concreto el bus B2, y son introducidos en el primer registro de desplazamiento SR1 del juego de registros correspondiente.
Con un primer ciclo de distribución de datos se transmiten entonces todos los datos d+0 desde los primeros registros SR1 a través del interruptor S1 correspondiente en la posición del interruptor 1 en el décimo registro SR10 del juego de registros con la dirección relativa +1.
Al mismo tiempo, los datos introducidos correspondientemente en el primer registro SR1 de las cuatro unidades también son transmitidos a través de cada segundo interruptor S2 en posición de interruptor 1 en el sexto registro SR6 del juego de registros situado dos más allá con la dirección relativa +2, y a través de cada tercer interruptor S3 en la posición de interruptor 1 en el segundo registro SR2 del juego de registros contiguo a la izquierda con la dirección relativa +3. Al final de este primer ciclo de distribución de datos, con ello, cada juego de registro recibe en el primer registro SR1 los datos suministrados a él originariamente, así como posteriormente en los registros SR2, SR6 y SR10 los datos originales desde los tres otros juegos de registros, que han sido suministrados respectivamente a través de esta unidad lógica.
Los datos correspondientes llevan la designación d+i/RE+j. La cifra i designa en este caso el origen de los datos d, es decir en la identificación relativa la unidad de cálculo en la que se han introducido originariamente los datos, mientras que la cifra j designa la unidad de cálculo RE desde la que se han transmitido estos datos. Los datos de todos los segundos registros SR2, con ello, proceden del juego de registros contiguo en el modo de cuenta incremental, es decir, dispuesto a la derecha, con la identificación relativa +1, y también han sido suministrados a través de éste.
Los registros adicionales SR2a+i (no representados en la Figura 3) se han de considerar en el primer ciclo de distribución como prolongación de los registros SR2+i; sus contenidos se distribuyen conjuntamente con los contenidos de los registros SR2+i tal y como se ha descrito anteriormente. En el segundo ciclo de distribución, estos registros adicionales están inactivos.
Después de la conclusión del primer ciclo de distribución comienza una primera parte del segundo ciclo de distribución de datos, después de que los interruptores primeros a terceros S1 a S3 hayan sido puestos a la posición 2.
A través de los primeros interruptores S1 se transmiten ahora los datos procedentes de los sextos registros SR6 en el juego de registros con la dirección relativa +1, y allí se transmiten al séptimo registro SR7, donde entonces, durante la segunda parte del segundo ciclo de distribución, son desplazados respectivamente al quinto registro SR4. A través del segundo interruptor S2 van a parar a continuación los contenidos del décimo registro SR10 al juego de registros con la dirección relativa +2, y allí son cargados en primer lugar en el tercer registro SR3 correspondiente, desde el que entonces, durante la segunda parte del segundo ciclo de distribución, son desplazados respectivamente en el noveno registro SR9. A través del tercer interruptor S3 se cargan finalmente los contenidos del segundo registro SR2 en el juego de registros con la dirección relativa +3, y allí se cargan en primer lugar en el octavo registro SR8 correspondiente, desde donde son desplazados a continuación, durante la segunda parte del segundo ciclo de distribución, al quinto registro SR5.
Con esto finaliza la primera parte del segundo ciclo de distribución de datos. Los interruptores S1 a S3 se ponen ahora en la posición 3, de manera que puede comenzar la segunda parte del segundo ciclo de distribución de datos.
A través del primer interruptor S1 se transmiten así los contenidos de los décimos registros SR10 de cada juego de registros al juego de registros con la dirección relativa +1, y allí se almacenan en el séptimo registro SR7. A través del segundo interruptor S2 se transmiten los contenidos de los segundos registros SR2 de cada juego de registros a aquellos con la dirección relativa +2, y allí se almacenan en el tercer registro SR3. A través de los terceros interruptores S3 se transmiten finalmente los contenidos de los sextos registros SR6 de cada juego de registros a aquellos con la dirección relativa +3, y allí se transmiten en el registro SR8.
En cada transmisión de un dato se modifica su designación referida a su origen d, así como la de la unidad de cálculo RE desde la que ha sido transferido, a partir de la identificación relativa de las unidades de cálculo de modo correspondiente. Gracias a ello, después de la conclusión del segundo ciclo de distribución de datos se produce la ocupación de los registros representada en las Figuras 2 y 3, que es igual en todas las unidades de cálculo RE1 a RE4.
La Fig. 6 muestra una red de cuatro unidades de cálculo RE1, RE2, RE3, RE4, cada una de las cuales presenta una unidad lógica BSL. Estas unidades de cálculo están unidas, tal y como se muestran en la Fig. 5, con líneas de señal de proceso 1 a 5 para la entrada y salida de datos de proceso. Las líneas de datos 6 a 11 conforman, como en la Fig. 5, uniones bidireccionales entre las unidades de cálculo RE1 a RE4 para la transmisión de datos y señales de desactivación. Las líneas 1 a 11 representadas en la Fig. 6 se vuelven a encontrar de modo correspondiente en las Fig. 6a, 6b y 6c, sin bien allí no se indica las cifras de referencia.
Cada unidad de cálculo RE1 a RE4 presenta una unidad lógica BSL que está unida con las entradas/salidas designadas con la identificación relativa +1, +2, +3 a través de líneas de datos 6 a 11. En las unidades de cálculo representadas en la Fig. 6, las unidades lógicas BSL están unidas respectivamente con un microprocesador MP, tal y como se explica tomando como referencia la Fig. 1. Adicionalmente, la función de multiplexado realizada en las unidades lógicas BSL está representada esquemáticamente por medio de un bloque MX. Cada unidad lógica BSL presenta un juego de registros RS1, RS2, RS3 ó RS4, y en concreto, según la Fig. 2, compuesto por los registros SR1 a SR10.
Las etapas individuales de la distribución de datos según la invención explicada anteriormente están representadas en las Fig. 6a a 6c. A partir de una comparación de la representación en la Figura 6c y de la representación de ordenadores conocidos según la Figura 5c se pone de manifiesto que los contenidos de los cuatro juegos de registro RS1 a RS4, después de la conclusión de los ciclos de distribución de datos, son iguales (Figura 6c), mientras que las memorias de datos DS1 a DS4 (Figura 5c) presentan diferentes contenidos - supuestos libres de errores, respectivamente. Con esto, en la unidad de cálculo o en la unidad lógica conforme a la invención se prescinde de una evaluación de datos individual tal y como se requiere en las unidades de cálculo conocidas. Gracias a ello se produce la ventaja de que, en contraposición a la construcción de una red conocida tolerante a fallos, la red conforme a la invención se puede realizar con unidades de cálculo o unidades lógicas idénticas, independientemente de su lugar de empleo físico en la red de cálculo.
La conexión representada en la Figura 3 de las unidades de cálculo se ha de prever, además de las líneas de datos explicadas anteriormente, también para las líneas de desactivación (no representadas). En la Figura 1, estas líneas están representadas como líneas de entrada y de salida de la unidad lógica BSL.
La Figura 4 muestra en principio la comparación y la evaluación de los datos introducidos, así como de los bloques de datos DB1 a DB3. Para la determinación de las identidades está previsto una pluralidad de comparadores. Están dispuestos de tal manera que por bloque de datos DBi se origina un anillo de comparadores compuesto por 3 comparadores K3, K4, K5 ó K7, K8, K9 ó K11, K12, K13, así como un anillo de comparadores exterior, formado por los 4 comparadores K1, K2, K6 y K10, que une los 3 anillos de comparadores interiores y el registro SR1 entre sí.
Con un primer comparador K1 se comparan los contenidos del primer y del décimo registro SR1, SR10, con un segundo comparador K2 los contenidos del primer y del segundo registro SR1, SR2, con un tercer comparador K3 los contenidos del segundo y del tercer registro SR2, SR3, con un cuarto comparador K4 los contenidos del tercer y del cuarto registro SR3, SR4, así como con un quinto comparador K5 los contenidos del segundo y del cuarto registro SR2, SR4.
Del mismo modo, un sexto comparador K6 sirve para la comparación de los contenidos del cuarto registro SR4 con el quinto registro SR5, un séptimo comparador K7 para la comparación de los contenidos del quinto y del sexto registro SR5, SR6, un octavo comparador K8 para la comparación de los contenidos del sexto y del séptimo registro SR6, SR7, así como un noveno comparador K9 para la comparación de los contenidos del quinto y del séptimo registro SR5, SR7.
Finalmente, un décimo comparador K10 sirve para la comparación de los contenidos del séptimo registro SR7 con el octavo registro SR8, un undécimo comparador K11 para la comparación de los contenidos del octavo y del noveno registro SR8, SR9, un duodécimo comparador K12 para la comparación de los contenidos del noveno y del décimo registro SR9, SR10, así como un decimotercer comparador K13 para la comparación de los contenidos del octavo y del décimo registro SR8, SR10.
Las salidas de los comparadores K1 a K13 están unidas con una lógica de evaluación BL, que en caso de error, por su lado, puede iniciar señales de desactivación, y por otro lado envía la identificación de los registros con datos libres de fallos al microprocesador. Para la lectura de los contenidos de los registros, todos los registros están unidos con el bus de datos del microprocesador (no representado).
La comparación de datos se realiza en dos pasos lógicos, comprobándose en una primera comparación, con la ayuda de los anillos internos de comparadores K3, K4, K5 o K7, K8, K9 o K11, K12, K13 los datos d+i dentro de un bloque de datos Dbi, que originariamente proceden de la misma unidad lógica o unidad de cálculo RE+i, pero que han sido transmitidos por diferentes caminos, en su identidad a nivel de bit. En caso de que en una de estas comparaciones no se puede comparar una identidad a nivel de bit, entonces existe un fallo, y se inicia de modo correspondiente al algoritmo bizantino la generación de una señal de desactivación a la unidad lógica o unidad de cálculo con fallos. En caso de que una unidad lógica o una unidad de cálculo reciban tres señales de activación, entonces se aísla de la red de cálculo. En caso de que todos los datos d+i sean idénticos a nivel de bit dentro del bloque de datos DBi correspondiente, entonces en una segunda comparación se comparan entre sí con la ayuda del anillo de comparadores exterior K1, K2, K6, K10 los contenidos de los bloques de datos, así como el contenido del registro SR1, pudiéndose diferenciar entre datos congruentes (todos los contenidos de los registros son idénticos bit a bit) y datos casi-congruentes (idénticos a nivel de bit en las primeras comparaciones, pero diferentes entre sí). En el caso de datos congruentes, no hay ningún fallo, y no se genera ninguna señal de desactivación; en el caso de datos casi-congruentes, la responsabilidad de la evaluación de estos datos recae sobre la aplicación que, dado el caso, también puede iniciar la generación de una señal de desactivación.
En la parte izquierda de la Figura 4 están representados de nuevo los registros adicionales SR1a, SR2a, SR6a y SR10a, cuyos contenidos igualmente se comparan entre sí a través de comparadores ZK1 a ZK4. Las salidas de los comparadores están unidas con una lógica de selección AL con la que se realiza una preselección del canal del multiplexador que se ha de conectar a continuación.
Puesto que en la red tolerante a fallos conforme a la invención, en contraposición a las redes de ordenadores conocidos, la distribución de datos y la comparación de datos para comprobar la identidad a nivel de bit se puede realizar exclusivamente a través de hardware, realizándose asimismo en el plano lógico más bajo, en concreto en unidades de datos de proceso individuales, la red conforme a la invención es fundamentalmente más rápida y más fiable. La capacidad de datos es mejor, los tiempos de reacción son menores, las unidades lógicas y las unidades de cálculo operan de modo absolutamente síncrono y determinista.
\vskip1.000000\baselineskip
Documentos indicados en la descripción
Esta lista de documentos indicados por el solicitante se ha realizado exclusivamente para información del lector, y no es parte constituyente del documento de patente europeo. Se ha realizado con el mayor cuidado; sin embargo, la OPE no se hace cargo de ninguna responsabilidad por posibles errores u omisiones.
Documentos indicados en la descripción
- DE 4401168 C2 [0002] [0002] [0010]
- US 4907232 A [0011].
Bibliografía no de patentes indicada en la descripción
- ESLIE LAMPORT; ROBERT E. SCHOSTAK; MARSHALL C. PEASE. The Byzantine Generals Problem. ACM Transaction on Programming Languages and Systems (TOPLAS, julio de 1982, vol. 4(3), 382-401 [0002].

Claims (20)

1. Unidad lógica para la construcción de una red con varias unidades lógicas que tolere simultáneamente un número F de fallos que pueda ser operada según el algoritmo bizantino, con
a)
una pluralidad de entradas (+0, +1, +2, +3) para la introducción de datos en el registro (SR1 a SR10) de un juego de registros y
b)
una pluralidad de salidas (+1, +2, +3) para la lectura de datos de los registros (SR1 a SR10),
c)
en la que cada salida (+1, +2, +3) se puede unir con una entrada (+1, +2, +3) de otra unidad lógica (BSL),
caracterizada porque
d)
los registros (SR1 a SR10) están acoplados de tal manera con las entradas (+1, +2, +3) y las salidas (+1, +2, +3) mencionadas que cada registro (SR1 a SR10), independientemente de la posición de la unidad lógica (BSL), se puede introducir y leer dentro de la red mediante una identificación relativa invariable en su posición.
2. Unidad lógica según la reivindicación 1, caracterizada porque presenta una pluralidad de líneas de desactivación para el envío de señales de desactivación a otras unidades lógicas o para la recepción de señales de desactivación de otras unidades lógicas (BSL) en caso de que se haya reconocido un fallo.
3. Unidad lógica según la reivindicación 2, caracterizada porque está realizada de tal manera que después de la activación, en particular de la activación inicial o reactivación, se puede sincronizar en una o varias unidades lógicas (BSL) con la ayuda de comunicación de datos cíclica.
4. Unidad lógica según una de las reivindicaciones 1 a 3, caracterizada porque está conformada de tal manera que, a partir de un estado de desactivación, puede descartar de la distribución de datos y de la evaluación de datos o incorporar en ellas datos de otra unidad lógica (BSL).
5. Unidad lógica según una de las reivindicaciones 1 a 4, caracterizada porque presenta una pluralidad de comparadores (K1 a K13) para la comparación de los contenidos de los registros (SR1 a SR10) y una lógica de evaluación (BL) unida con los comparadores, con la que en caso de desviación o de sobrepasar una desviación permitida se puede generar una señal de desactivación para una unidad lógica (BSL) reconocida como defectuosa.
6. Unidad lógica según una de las reivindicaciones 1 a 5, caracterizada porque presenta una función de multiplexado (MX), en particular sincronizable con las demás unidades lógicas (BSL) a través de la transferencia de datos entre las unidades lógicas (BSL) para la selección de datos de proceso que se pueden suministrar a través de varios canales, en particular señales de entrada de proceso y/o señales de salida de proceso suministradas como señales de entrada recíprocas.
7. Unidad lógica según la reivindicación 6, caracterizada porque cada unidad lógica (BSL) presenta una pluralidad de registros adicionales (SR1a, SR2a, SR6a, SR10a), en particular 3F+1.
8. Unidad lógica según una de las reivindicación 1 a 7, caracterizada porque presenta una pluralidad de interruptores (Z1 a Z3) que están dispuestos entre las entradas (+1, +2, +3) y registros, y que en el caso de desactivación de otra unidad lógica (BSL) vuelven a leer los datos leídos de los registros (SR1 a SR10) en lugar de los datos de la unidad lógica (BSL) desactivada, para almacenar en los registros afectados (SR1 a SR10) de nuevo datos válidos.
9. Unidad lógica según una de las reivindicaciones 1 a 8, caracterizada porque presenta otros interruptores (S1, S2, S3) que están dispuestos entre las salidas (+1, +2, +3) y los registros (SR1 a SR10; SR1a, SR2a, SR6a, SR10a), pudiendo unir cada uno de estos interruptores (S1, S2, S3) una salida (+1, +2, +3) con uno de varios registros (SR1 a SR10, SR1a).
10. Unidad lógica según una de las reivindicaciones 1 a 9, caracterizada porque el número F de fallos tolerables es igual a uno, un juego de registros presenta diez registros (SR1 a SR10), en particular registros de desplazamiento de hardware, y están previstos cuatro registros adicionales (SR1a, SR2a, SR6a, SR10a), 13 comparadores (K1 a K13) para la comparación de datos, cuatro salidas (+0, +1, +2, +3) para la introducción y tres salidas para la lectura de datos, así como tres líneas de desactivación.
11. Unidad de cálculo, caracterizada por una unidad lógica (BSL) según una de las reivindicaciones 1 a 10.
12. Unidad de cálculo según la reivindicación 11, caracterizada por un microprocesador (MP) unido con la unidad lógica (BSL), en la que el microprocesador (MP) está conformado para el procesado de juegos de datos introducidos para comprobar, en particular, datos casi-congruentes por lo que se refiere a posibles fallos y para iniciar la generación de una señal de desactivación.
13. Unidad de cálculo según la reivindicación 11 ó 12, caracterizada porque presenta líneas de datos ("loop-back") que unen salidas para señales de salida de proceso con entradas para señales de entrada de proceso para la reconducción de datos de salida a estas entradas.
14. Unidad de cálculo según la reivindicación 13, caracterizada por al menos una unidad de entrada/salida con un comparador y un interruptor de salida (AS) que entrega ahora en el estado cerrado los datos entregados a la salida como señales de salida de proceso, en la que el comparador sirve para la comparación de los datos entregados como señales de salida de proceso con los datos entregados para la salida, y el resultado de la comparación se puede distribuir y comprobar como parte constituyente de los datos de entrada según el algoritmo bizantino.
15. Unidad de cálculo según una de las reivindicaciones 11 a 14, caracterizada porque presenta una lógica de conexión por medio de la cual el microprocesador (MP), por medio de la unidad lógica (BSL), tiene acceso coordinado a datos del proceso.
16. Red tolerante a fallos con al menos 3F+1 unidades lógicas (BSL) construidas de modo idéntico según una de las reivindicaciones 1 a 10 o unidades de cálculo (RE) según una de las reivindicaciones 11 a 15, en la que las entradas y las salidas de las unidades lógicas (BSL) o de las unidades de cálculo (RE) están unidas entre sí de tal manera que los registros correspondientes (SR1 a SR10) de diferentes unidades lógicas (BSL) o unidades de cálculo (RE) presentan datos (d+i/RE+j) de la misma identificación relativa del origen (d+i) y de la unidad de cálculo (RE+j) transmisora.
17. Red tolerante a fallos según la reivindicación 16, caracterizada porque la identificación relativa se realiza mediante un modo de cuenta cíclico, en particular incremental cíclicamente, módulo (3F+1).
18. Red tolerante a fallos según la reivindicación 16 ó 17, caracterizada porque las unidades lógicas (BSL) o las unidades de cálculo (RE) se pueden sincronizar mediante el intercambio de datos que tiene lugar entre las unidades lógicas (BSL) o las unidades de cálculo (RE).
19. Procedimiento para la operación de una red tolerante a fallos según una de las reivindicaciones 16 a 18 con al menos 3F+1 unidades lógicas según una de las reivindicaciones 1 a 10, o unidades de cálculo (RE) según una de las reivindicaciones 11 a 15, donde F es el número de los fallos que se han de tolerar simultáneamente, con F+1 ciclos de distribución de datos, caracterizado porque los datos introducidos en la introducción y en la distribución se designan con una identificación relativa invariable en la posición, siendo idéntica la identificación relativa invariable en la posición de los datos en los registros (SR1 a SR10) correspondientes de las diferentes unidades lógicas (BSL) o unidades de cálculo (RE).
20. Procedimiento según la reivindicación 19, caracterizado porque la identificación relativa invariable en la posición se realiza mediante una cuenta cíclica, en particular incremental cíclicamente, en módulo (3F+1).
ES00107449T 1999-05-07 2000-04-06 Sistema tolerante a fallos segun un algoritmo bizantino. Expired - Lifetime ES2310505T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19921179 1999-05-07
DE19921179A DE19921179C2 (de) 1999-05-07 1999-05-07 Logikeinheit nach byzantinem Algorithmus, Rechnereinheit mit solcher Logikeinheit, Verbund aus Logik- oder Rechnereinheiten und Verfahren zum Betreiben eines solchen Verbunds

Publications (1)

Publication Number Publication Date
ES2310505T3 true ES2310505T3 (es) 2009-01-16

Family

ID=7907363

Family Applications (1)

Application Number Title Priority Date Filing Date
ES00107449T Expired - Lifetime ES2310505T3 (es) 1999-05-07 2000-04-06 Sistema tolerante a fallos segun un algoritmo bizantino.

Country Status (6)

Country Link
US (1) US6567927B1 (es)
EP (1) EP1050814B1 (es)
JP (1) JP2000330811A (es)
AT (1) ATE402441T1 (es)
DE (2) DE19921179C2 (es)
ES (1) ES2310505T3 (es)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671821B1 (en) * 1999-11-22 2003-12-30 Massachusetts Institute Of Technology Byzantine fault tolerance
US7620680B1 (en) * 2002-08-15 2009-11-17 Microsoft Corporation Fast byzantine paxos
US6973654B1 (en) * 2003-05-27 2005-12-06 Microsoft Corporation Systems and methods for the repartitioning of data
US7290154B2 (en) * 2004-04-27 2007-10-30 Georgia Tech Research Corporation Probabilistic and introverted switching to conserve energy in a digital system
US8255732B2 (en) * 2008-05-28 2012-08-28 The United States Of America, As Represented By The Administrator Of The National Aeronautics And Space Administration Self-stabilizing byzantine-fault-tolerant clock synchronization system and method
WO2015033410A1 (ja) 2013-09-04 2015-03-12 株式会社東芝 情報処理システム、サーバ装置、情報処理方法及びプログラム
WO2015140942A1 (ja) * 2014-03-18 2015-09-24 株式会社東芝 情報処理システム、サーバ装置、情報処理方法およびプログラム
US10025344B2 (en) 2015-04-21 2018-07-17 The United States Of America As Represented By The Administrator Of Nasa Self-stabilizing distributed symmetric-fault tolerant synchronization protocol

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4593396A (en) * 1982-10-08 1986-06-03 August Systems Process for a fault-tolerant data processing system with error detection and resistance to fault propagation
US4907232A (en) * 1988-04-28 1990-03-06 The Charles Stark Draper Laboratory, Inc. Fault-tolerant parallel processing system
US5269016A (en) * 1990-09-24 1993-12-07 Charles Stark Draper Laboratory, Inc. Byzantine resilient fault tolerant shared memory data processing system
JP2534430B2 (ja) * 1992-04-15 1996-09-18 インターナショナル・ビジネス・マシーンズ・コーポレイション フォ―ルト・トレランスのあるコンピュ―タ・システム出力の合致を達成するための方法
US5533188A (en) * 1992-10-19 1996-07-02 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Fault-tolerant processing system
US5513354A (en) * 1992-12-18 1996-04-30 International Business Machines Corporation Fault tolerant load management system and method
DE4401168C2 (de) * 1993-02-01 1996-06-27 Daimler Benz Aerospace Ag Vorrichtung zur fehlertoleranten Ausführung von Programmen
US5680518A (en) * 1994-08-26 1997-10-21 Hangartner; Ricky D. Probabilistic computing methods and apparatus
US6141769A (en) * 1996-05-16 2000-10-31 Resilience Corporation Triple modular redundant computer system and associated method
US6202181B1 (en) * 1996-11-04 2001-03-13 The Regents Of The University Of California Method for diagnosing bridging faults in integrated circuits
US6178522B1 (en) * 1998-06-02 2001-01-23 Alliedsignal Inc. Method and apparatus for managing redundant computer-based systems for fault tolerant computing

Also Published As

Publication number Publication date
DE19921179A1 (de) 2000-11-16
EP1050814A3 (de) 2007-05-23
ATE402441T1 (de) 2008-08-15
US6567927B1 (en) 2003-05-20
EP1050814A2 (de) 2000-11-08
EP1050814B1 (de) 2008-07-23
DE50015269D1 (de) 2008-09-04
JP2000330811A (ja) 2000-11-30
DE19921179C2 (de) 2002-04-25

Similar Documents

Publication Publication Date Title
US4112488A (en) Fault-tolerant network with node branching
US7844730B2 (en) Computer system and method of communication between modules within computer system
US9037807B2 (en) Processor arrangement on a chip including data processing, memory, and interface elements
US5131041A (en) Fault tolerant interconnection networks
EP0006550B1 (en) Self-correcting and reconfigurable solid-state mass-memory organized in bits
JP2578704B2 (ja) リング伝送網のループバック方法およびリング伝送装置
KR101121344B1 (ko) 복수의 sas 확장기 결합 방법 및 단일의 결속형 sas 확장기
US5802080A (en) CRC checking using a CRC generator in a multi-port design
ES2310505T3 (es) Sistema tolerante a fallos segun un algoritmo bizantino.
US8140893B2 (en) Fault-tolerant system
US8381059B2 (en) Error correction and recovery in chained memory architectures
US7581076B2 (en) Methods and devices for treating and/or processing data
US9436631B2 (en) Chip including memory element storing higher level memory data on a page by page basis
JPS5935057B2 (ja) マルチ構成可能なモジユ−ル処理装置
KR100731664B1 (ko) 데이터 처리 시스템
JP2016157414A (ja) 通信システム及び画像形成装置
JP2001256203A (ja) 冗長構成クロスバスイッチシステム
US6594735B1 (en) High availability computing system
JP2618328B2 (ja) Atmプレーン組み合わせフィルタおよびatmセルを組み合わせる方法
JP5380978B2 (ja) 伝送装置、伝送装置の制御方法および伝送装置の制御プログラム
ES2231750T3 (es) Aparato tolerante a fallos para el tratamiento de informacion.
US8224987B2 (en) System and method for a hierarchical interconnect network
ES2217013T3 (es) Modulo electronico integrado con logica central duplicada y alimentacion de fallos del hardware con fines de comprobacion.
KR100237398B1 (ko) Atm 스위치의 이중화 제어 장치
JP2012235335A (ja) 装置間ケーブルの誤接続検出方法及び装置