ES2310505T3 - Sistema tolerante a fallos segun un algoritmo bizantino. - Google Patents
Sistema tolerante a fallos segun un algoritmo bizantino. Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/187—Voting techniques
- G06F11/188—Voting techniques where exact match is not required
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/181—Eliminating the failing redundant component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/182—Error 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
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.
- DE 4401168 C2 [0002] [0002] [0010]
- US 4907232 A [0011].
- 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).
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)
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)
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 |
-
1999
- 1999-05-07 DE DE19921179A patent/DE19921179C2/de not_active Expired - Fee Related
-
2000
- 2000-04-06 AT AT00107449T patent/ATE402441T1/de active
- 2000-04-06 EP EP00107449A patent/EP1050814B1/de not_active Expired - Lifetime
- 2000-04-06 DE DE50015269T patent/DE50015269D1/de not_active Expired - Lifetime
- 2000-04-06 ES ES00107449T patent/ES2310505T3/es not_active Expired - Lifetime
- 2000-04-18 JP JP2000116621A patent/JP2000330811A/ja active Pending
- 2000-05-05 US US09/565,139 patent/US6567927B1/en not_active Expired - Lifetime
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) | 装置間ケーブルの誤接続検出方法及び装置 |