En un sistema de base de datos distribuida, los datos se almacenan

Anuncio
BASES DE DATOS DISTRIBUIDAS
En un sistema de base de datos distribuida, los datos se almacenan en varios computadores. Los
computadores de un sistema distribuido se comunican entre sí a través de diversos medios de comunicación, tales como cables de alta velocidad o líneas telefónicas. No comparten la memoria principal ni el
reloj.
Los procesadores de un sistema distribuido pueden variar en cuanto su tamaño y función. Pueden
incluir microcomputadores pequeños, estaciones de trabajo, minicomputadores y sistemas de computadores grandes de aplicación general. Estos procesadores reciben diferentes nombres, tales como localidades, nodos, computadores, dependiendo en el contexto donde se mencionen. Nosotros utilizaremos
normalmente el término localidad para hacer hincapié en la distribución física de estos sistemas.
Un sistema distribuido de bases de datos consiste en un conjunto de localidades, cada una de las
cuales puede participar en la ejecución de transacciones que accedan a datos de una o varias localidades.
La diferencia principal entre los sistemas de base de datos centralizados y distribuidos es que, en los
primeros, los datos residen en una sola localidad, mientras que, en los últimos, se encuentran en varias
localidades.
ESTRUCTURA DE BASES DE DATOS DISTRIBUIDAS
Un sistema distribuido de base de datos consiste en un conjunto de localidades, cada una de las
cuales mantiene un sistema de base de datos local. Cada localidad puede procesar transacciones locales,
es decir, aquellas que sólo acceden a datos que residen en esa localidad. Además, una localidad puede
participar en la ejecución de transacciones globales, es decir, aquellas que acceden a datos de varias
localidades. La ejecución de transacciones globales requiere comunicación entre las localidades.
Las localidades en el sistema pueden conectarse físicamente de diversas formas. Las distintas
configuraciones se representan por medio de grafos cuyos nodos corresponden a las localidades. Una
arista del nodo A al nodo B corresponde a una conexión directa entre las dos localidades.
En la figura se ilustran algunas de las configuraciones más comunes. Las diferencias principales
entre estas configuraciones son:
 Coste de instalación: el coste de conectar físicamente las localidades del sistema.
 Coste de comunicación: el coste en tiempo y dinero que implica enviar un mensaje desde la
localidad A a la B.
 Fiabilidad: la frecuencia con que falla una línea de comunicación o una localidad.
 Disponibilidad: la posibilidad de acceder a información a pesar de fallos en algunas localidades o líneas de comunicación.
Estas diferencias juegan un papel importante en la elección del mecanismo adecuado para manejar la distribución de los datos.
Las localidades de un sistema distribuido de bases de datos pueden estar dispersas de forma física, ya sea por un área geográfica extensa (como un país) o en un área reducida (por ejemplo, un solo
edificio o varios edificios adyacentes). Una red del primer tipo se denomina red de larga distancia, mientras que las últimas se conocen como redes de área local.
Puesto que las localidades de las redes de larga distancia están distribuidas físicamente en un
área geográfica extensa, es probable que las líneas de comunicación sean relativamente lentas y menos
fiables en comparación con las redes de área local. Las líneas de comunicación de larga distancia normales son las líneas telefónicas, conexiones de microondas y canales de satélites. Por otra parte, como todas las localidades de las redes de área local están próximas entre sí, las líneas de comunicación son de
mayor velocidad y menor tasa de errores que sus equivalentes en las redes de larga distancia. Las conexiones más comunes: cables dobles trenzados, coaxiales de banda base, coaxiales de banda ancha y fibra
óptica.
Estos ejemplos se ilustrarán por medio de un sistema bancario que cuenta con cuatro sucursales
situadas en cuatro ciudades diferentes.
Cada sucursal tiene su propio computador con una base de datos que incluye todas las cuentas que tiene
esa sucursal. Así pues, cada una de estas instalaciones es una localidad. También existe una localidad
única que mantiene información acerca de todas las sucursales del banco. Una transacción local es la que
accede a cuentas en la localidad individual donde se inició. En cambio, una transacción global accede a
cuentas de una localidad distinta a la localidad donde se inició o a cuentas de varias localidades diferentes. Para ilustrar la diferencia considérese la transacción de añadir 50 dólares a la cuenta número 177 de
la sucursal de Mar del Plata. Si la transacción se inició en la sucursal de Mar del Plata, se la considerará
como local; en el caso contrario, se la considerará como global. Una transacción para transferir 50 dólares de la cuenta 177 a la cuenta 305, que está situada en la sucursal de Miramar, es una transacción
global, ya que su ejecución implica acceder a cuentas de dos localidades diferentes.
La configuración descrita anteriormente es una base de datos distribuida porque:
 Cada localidad es consciente de la existencia de las demás.
 Cada localidad permite ejecutar transacciones tanto locales como globales.
Se asume que cada localidad ejecuta el mismo software de control de base de datos distribuida.
Si no se cumple esta premisa, será muy difícil manejar transacciones globales.
CONSIDERACIONES AL DISTRIBUIR LA BASE DE DATOS
Existen varias razones para construir sistemas distribuidos de bases de datos que incluyen compartir la información, fiabilidad y disponibilidad y agilizar el procesamiento de las consultas. Sin embargo,
estas ventajas vienen acompañadas de varias desventajas, como son mayores costes de desarrollo del
software, mayor posibilidad de errores y el aumento en el coste extra del procesamiento. A continuación
se comentarán brevemente cada una de ellas.

Ventajas de la distribución de datos. La principal ventaja de los sistemas distribuidos de base de
datos es la capacidad de compartir y acceder a la información de una forma fiable y eficaz.

Utilización compartida de los datos y distribución del control. Si varias localidades
diferentes están conectadas entre sí, entonces un usuario de una localidad puede acceder a
datos disponibles en otra localidad. Por ejemplo, en el sistema bancario distribuido que se
describió, un usuario de una sucursal puede acceder a datos de otra. Si no se contara con
esta facilidad, un usuario que quisiera transferir fondos de una sucursal a otra tendría que
recurrir a un mecanismo externo para realizar la transferencia. Este mecanismo externo
sería, de hecho, una base de datos única centralizada.
La ventaja principal de compartir los datos por medio de la distribución es que cada localidad pueda controlar hasta cierto punto los datos almacenados localmente. En un sistema
centralizado, el administrador de base de datos de la localidad central controla la base de
datos. En un sistema distribuido existe un administrador global de la base de datos que se
encarga de todo el sistema. Parte de estas responsabilidades se delega al administrador de
base de datos de cada localidad. Dependiendo del diseño del sistema distribuido, cada administrador local podrá tener un grado de autonomía diferente, que se conoce como autonomía local. La posibilidad de contar con autonomía local es en muchos casos una ventaja
importante de las bases de datos distribuidas.


Fiabilidad y disponibilidad. Si se produce un fallo en una localidad en un sistema distribuido, es posible que las demás localidades puedan seguir trabajando. En particular, si los
datos se repiten en varias localidades, una transacción que requiere un dato específico
puede encontrarlo en más de una localidad. Así, el fallo de una localidad no implica necesariamente la desactivación del sistema.
El sistema debe detectar cuándo falla una localidad y tomar las medidas necesarias para
recuperarse del fallo. El sistema no debe seguir utilizando la localidad que falló. Por último,
cuando se recupere o repare esta localidad, debe contarse con mecanismos para reintegrarla al sistema con el mínimo de complicaciones.
Aunque la recuperación de fallos es más compleja en sistemas distribuidos que en los centralizados, la capacidad que tiene el sistema para seguir trabajando, a pesar del fallo de
una localidad, da como resultado una mayor disponibilidad. La disponibilidad es fundamental para los sistemas de base de datos que se utilizan en aplicaciones de tiempo real. Por
ejemplo, si una línea aérea no puede tener acceso a la información, es posible que pierda
clientes a favor de la competencia.

Agilización del procesamiento de consultas. Si una consulta comprende datos de varias localidades, puede ser posible dividir la consulta en varias subconsultas que se ejecuten en paralelo en distintas localidades. Se podrían usar algunas de las estrategias de
computación. Sin embargo, en un sistema distribuido no se comparte la memoria principal,
así que no todas las estrategias de intersección para procesadores paralelos se pueden
aplicar directamente a los sistemas distribuidos. En los casos en que hay repetición de los
datos, el sistema puede pasar la consulta a las localidades más ligeras de carga.
Desventajas de la distribución de los datos. La desventaja principal de los sistemas distribuidos
de base de datos es la mayor complejidad que se requiere para garantizar una coordinación, adecuada entre localidades. El aumento de la complejidad se refleja en:



Coste de desarrollo de software. Es más difícil estructurar un sistema de base de datos
distribuido y, por tanto, su coste es mayor.
Mayor posibilidad de errores. Puesto que las localidades del sistema distribuido operan
en paralelo, es más difícil garantizar que los algoritmos sean correctos. Existe la posibilidad
de errores extremadamente sutiles.
Mayor tiempo extra de procesamiento. El intercambio de mensajes y los cálculos adicionales que se requieren para coordinar las localidades son una forma de tiempo extra que
no existe en los sistemas centralizados.
Al escoger el diseño de una base de datos, el diseñador debe hacer un balance entre las ventajas y
las desventajas de la distribución de los datos. Se verá que existen varios enfoques del diseño de
bases de datos distribuidas que van desde diseños totalmente distribuidos hasta diseños que incluyen un alto grado de centralización.
DISEÑO DE BASES DE DATOS DISTRIBUIDAS
A continuación se explicarán los factores de diseño que se aplican específicamente a las bases de
datos distribuidas.
Considérese una relación r que se va a almacenar en la base de datos. Hay varios factores que
deben tomarse en cuenta al almacenar esta relación en la base de datos distribuida. Tres de ellos son:




Repetición. El sistema mantiene varias copias idénticas de la relación. Cada copia se almacena en una localidad diferente, lo que resulta en una repetición de la información. La
alternativa a la repetición es almacenar una sola copia de la relación r .
Fragmentación. La relación se divide en varios fragmentos. Cada fragmento se almacena
en una localidad diferente.
Repetición y fragmentación. Esta es una combinación de los dos conceptos antes mencionados. La relación se divide en varios fragmentos. El sistema mantiene varias copias
idénticas de cada uno de los fragmentos.
Repetición de los datos. Si la relación r está repetida, se almacena una copia en dos o más localidades. En el caso extremo se tiene repetición total, en la que se almacena una copia de la relación en
cada una de las localidades del sistema. La repetición tiene varias ventajas y desventajas.

Disponibilidad. Si falla una de las localidades que contienen la relación r, puede disponerse de ésta en otra localidad. Así, el sistema puede continuar procesando consultas que impliquen a r a pesar de haber fallado una localidad.


Mayor paralelismo. En el caso en que la mayor parte de los accesos a la relación r resulten sólo en la lectura de la relación, varias localidades podrán procesar consultas que involucren a r en paralelo. Mientras más copias de r existan, mayor será la probabilidad de que
los datos requeridos se encuentren en la localidad donde se está ejecutando la transacción.
Por tanto, la repetición de los datos reduce al mínimo el movimiento de información entre
localidades.
Mayor tiempo extra para actualizaciones. El sistema debe asegurarse de que todas las
copias de la relación r sean consistentes, pues de otra manera pueden hacerse cálculos
erróneos. Esto implica que cada vez que se actualice r, la actualización debe propagarse a
todas las localidades que contengan copias, lo que resulta en un mayor tiempo extra. Por
ejemplo, en un sistema bancario, donde se repite la información de cuentas en varias localidades, es necesario que las transacciones garanticen que el saldo de una cuenta determinada sea el mismo en todas las localidades.
En general, la repetición mejora el rendimiento de las operaciones de lectura y aumenta la disponibilidad de datos para las transacciones de lectura. Por otra parte, las transacciones de actualización
requieren mayor tiempo extra. El problema de controlar las actualizaciones concurrentes de datos
repetidos es complejo. Puede simplificarse el manejo de copias de la relación r al designar a una de
ellas copia primaria de r. Por ejemplo, en un sistema bancario, una cuenta puede estar asociada con
la localidad en que se abrió la cuenta. De manera similar, en un sistema de reservas de una línea aérea, un vuelo puede estar asociado a la localidad donde se origina el vuelo.

Fragmentación de los datos. Si la relación r está fragmentada, r se dividirá en varios fragmentos
r1, r2, ..., rn. Estos fragmentos contienen información suficiente para reconstruir la relación r original. Esta reconstrucción puede llevarse a cabo ya sea aplicando la operación de unión o un tipo especial de operación de unión sobre los diversos fragmentos. Existen dos esquemas diferentes para
fragmentar una relación: fragmentación horizontal y fragmentación vertical. La fragmentación horizontal divide a la relación asignando cada tupla de r a uno o más fragmentos. La fragmentación vertical divide la relación descomponiendo el esquema R de la relación r de una manera especial. Estos
dos esquemas pueden aplicarse en forma sucesiva a la misma relación, lo que resulta en varios fragmentos.
TRANSPARENCIA Y AUTONOMÍA
Ya se vio que una relación r puede almacenarse de varias formas en un sistema de base de datos
distribuida. Es esencial que el sistema reduzca al mínimo la necesidad de que el usuario se dé cuenta de
cómo está almacenada una relación. Como veremos, un sistema puede ocultar los detalles de la distribución de la información en la red. Esto se denomina transparencia de la red.
La transparencia de la red se relaciona, en algún modo, a la autonomía local. La transparencia de
la red es el grado hasta el cual los usuarios del sistema pueden ignorar los detalles del diseño distribuido.
La autonomía local es el grado hasta el cual el diseñador o administrador de una localidad pueden ser
independientes del resto del sistema distribuido.
Los temas de transparencia y autonomía serán considerados desde los siguientes puntos de vista:

Nombre de los datos.

Repetición de los datos.

Fragmentación de los datos.

Localización de los fragmentos y copias.

Asignación de nombres y autonomía local. Todo elemento de información de una base de datos
debe tener un nombre único. Esta propiedad se asegura fácilmente en una base de datos que no esté
distribuida. Sin embargo, en una base de datos distribuida, las distintas localidades deben asegurarse
no utilizar el mismo nombre para dos datos diferentes.
Una solución para este problema es requerir que se registren todos los nombres en un asignador central de nombres. Sin embargo, este enfoque tiene varias desventajas:



Es posible que el asignador de nombres se convierta en un cuello de botella.
Si el asignador de nombres se cae, es posible que ninguna de las localidades del sistema
distribuido pueda seguir trabajando.
Se reduce la autonomía local, ya que la asignación de nombres se controla de forma centralizada.
Un enfoque diferente que origina una mayor autonomía local es exigir que cada localidad ponga como prefijo un identificador de localidad a cualquier nombre que genere. Esto garantiza que dos localidades nunca generarán el mismo nombre (ya que cada localidad tiene un identificador único).
Además, no se requiere un control central. Esta solución al problema de asignación de nombres logra
autonomía local, pero no transparencia de la red, ya que se agregan identificadores de localidad a
los nombres. Cada copia y fragmento de un elemento de información deben tener un nombre único.
Es importante que el sistema pueda determinar qué copias son copias del mismo elemento de información y qué fragmentos son fragmentos del mismo elemento de información.

Transparencia de la repetición y la fragmentación. No es conveniente requerir que los usuarios
hagan referencia a una copia específica de un elemento de información. El sistema debe ser el que
determine a qué copia debe acceder cuando se le solicite su lectura, y debe modificar todas las copias
cuando se produzca una petición de escritura.
Cuando se solicita un dato, no es necesario especificar la copia. El sistema utiliza una tabla-catálogo
para determinar cuáles son todas las copias de ese dato.
De manera similar, no debe exigirse a los usuarios que sepan cómo está fragmentado un elemento de
información. Por tanto, un sistema de base de datos distribuido debe permitir las consultas que se
hagan en términos de elementos de información sin fragmentar. Esto no presenta problemas graves,
ya que siempre es posible reconstruir el elemento de información original a partir de sus fragmentos.
Sin embargo, este proceso puede ser ineficiente.

Transparencia de localización. Si el sistema es transparente en cuanto a repetición y fragmentación, se ocultará al usuario gran parte del esquema de la base de datos distribuida. Sin embargo, el
componente de los nombres que identifican a la localidad obliga al usuario a darse cuenta del hecho
de que el sistema está distribuido.
La transparencia de localización se logra creando un conjunto de seudónimos o alias para cada usuario. Así, el usuario puede referirse a los datos usando nombres sencillos que el sistema traduce a
nombres completos.
Con el uso de seudónimos, no será necesario que el usuario conozca la localización física de un dato.
Además, el administrador de la base de datos puede cambiar un dato de una localidad a otra sin
afectar a los usuarios.

Esquema completo de asignación de nombres. Un nombre proporcionado por el usuario debe
pasar por varios pasos de traducción antes de que pueda servir como referencia a una copia específica de un fragmento determinado en una localidad específica, para ilustrar cómo funciona el esquema,
consideramos un usuario que se encuentra en la sucursal Hillside (localidad L1). Este usuario emplea
el seudónimo depósito-local para el fragmento local depósito-f1 de la relación depósito. Cuando este
usuario hace referencia a depósito-local, el subsistema de procesamiento de consultas busca depósito-local en la tabla de seudónimos y la sustituye por L1.depósito.f1. Es posible que L1.depósito.f1 esté repetido. Si es así, debe consultarse la tabla de copias para elegir una copia. Esta copia podría
también estar fragmentada, lo que haría necesario consultar la tabla de fragmentación. En la mayor
parte de los casos, sólo es preciso consultar una o dos tablas.

Transparencia y actualizaciones. De alguna forma es más difícil hacer transparente la base de
datos para usuarios que la actualizan que para aquellos que sólo leen datos. El problema principal es
asegurarse de que se actualizan todas las copias de un dato y también todos los fragmentos afectados.
En el caso más general, el problema de actualización de información repetida y fragmentada está relacionado con el problema de actualización de vistas.
PROCESAMIENTO DISTRIBUIDO DE CONSULTAS
Existen varios medios para calcular la respuesta a una consulta. En el caso de sistemas centralizados, el criterio principal para determinar el coste de una estrategia específica es el número de accesos
al disco. En un sistema distribuido es preciso tener en cuenta otros factores, como son:


El coste de transmisión de datos en la red.
El beneficio potencial que supondría en la ejecución el que varias localidades procesaran en
paralelo partes de la consulta.
El coste relativo de la transferencia de datos en la red y la transferencia de datos entre la memoria y el disco varía en forma considerable, dependiendo del tipo de red y de la velocidad de los discos. Por
tanto, en un caso general, no podemos tener en cuenta sólo los costes del disco o los de la red. Es necesario llegar a un equilibrio adecuado entre los dos.
RECUPERACIÓN EN SISTEMAS DISTRIBUIDOS
Hemos definido una transacción como una unidad de programa cuya ejecución conserva la consistencia de una base de datos. Una transacción debe ejecutarse de forma atómica. Es decir, se ejecutan
completamente todas las instrucciones de la transacción, o no se ejecuta ninguna. Además, en el caso de
ejecución concurrente, el efecto de ejecutar una transacción debe ser el mismo que si se ejecutara sola
en el sistema.

Estructura del sistema. Para garantizar la propiedad de atomicidad, existen varias planificaciones
de recuperación y control de concurrencia. Sin embargo, cuando se tiene un sistema de base de datos distribuido, es mucho más difícil garantizar la propiedad de atomicidad de una transacción. Esto
se debe a que es posible que participen varias localidades en la ejecución de una transacción. El fallo
de una de estas localidades o el fallo de la línea de comunicación entre ellas, puede dar como resultado un cálculo erróneo.
La función del gestor de transacciones de un sistema de base de datos distribuido es asegurar que la
ejecución de las distintas transacciones de un sistema distribuido conserve la atomicidad. Cada localidad cuenta con su propio gestor de transacciones local. Los distintos gestores de transacciones
cooperan para ejecutar las transacciones globales. Para comprender cómo puede estructurarse un
gestor de este tipo, definiremos un modelo abstracto para un sistema de transacciones. Cada localidad del sistema contiene dos subsistemas:

Gestor de transacciones, cuya función es gestionar la ejecución de aquellas transacciones (o sub transacciones) que accedan a datos almacenados en esa localidad. Observamos
que cada transacción puede ser bien una transacción local (es decir, que se ejecuta sólo en
esa localidad), o parte de una transacción global (es decir, que se ejecuta en varias localidades).

Coordinador de transacciones, cuya función es la de coordinar la ejecución de varias
transacciones (tanto local como global) iniciadas en esa localidad.
La estructura de un gestor de transacciones es similar en muchos aspectos a la que se utiliza en el
caso de un sistema centralizado. Cada gestor de transacciones se encarga de:

Mantener una bitácora para la recuperación.

Participar en un esquema de control de concurrencia apropiado para coordinar la ejecución
en paralelo de las transacciones que se ejecuten en esa localidad.
Como veremos, los esquemas, tanto de recuperación como de concurrencia, deben modificarse para
tomar en cuenta la distribución de transacciones.
El subsistema coordinador de transacciones no se necesita en el sistema centralizado, ya que las
transacciones tienen acceso a datos de una sola localidad. Como su nombre indica, un coordinador de
transacciones se encarga de coordinar todas las transacciones que se inicien en esa localidad. Para
cada una de estas transacciones, el coordinador debe:

Iniciar la ejecución de la transacción.

Dividir la transacción en varias sub transacciones, las cuales ha de distribuir en las localidades apropiadas para su ejecución.

Coordinar la terminación de la transacción, ya sea que quede ejecutada o abortada en todas las localidades.

Robustez. Un sistema distribuido puede sufrir el mismo tipo de fallos que un sistema centralizado
(por ejemplo, fallo de memoria, fallo del disco ). Sin embargo, en una configuración distribuida es necesario prever otro tipo de fallos, como pueden ser:

El fallo total de una localidad.

La interrupción de una línea de comunicación.

Pérdida de mensajes.

Fragmentación de la red.
Por tanto, para que el sistema sea robusto, es menester que detecte cualquiera de estos fallos, que
reconfigure el sistema de manera que pueda reanudarse el proceso y que se recupere una vez que
haya sido reparado el procesador o la línea de comunicación afectados. En general, no es posible distinguir entre la interrupción de una línea de comunicación, el fallo total de una localidad, la pérdida
de mensajes o la fragmentación de la red. Por lo general, es posible detectar que existe un fallo, pero
resulta difícil identificar el tipo del que se trata. Por ejemplo, suponemos que la localidad L1 no se
puede comunicar con la L2. Una posibilidad es que la L2 se encuentre fuera de servicio, pero también
es factible que se haya interrumpido la línea de comunicación entre L1 y L2.
Suponemos que la localidad Ll se da cuenta de que existe un fallo. En ese momento debe iniciar un
procedimiento de reconfiguración del sistema que le permita continuar con sus operaciones normales.

Si en la localidad que está fuera de servicio se almacena información repetida, debe actualizarse el catálogo de manera que las consultas no hagan referencia a la copia que se encuentra en dicha localidad.

Si, en el momento de presentarse el fallo existían transacciones activas en la localidad que
quedó fuera de servicio, deben abortarse. Es conveniente abortar estas transacciones tan
pronto como sea posible, ya que puede darse el caso de que hayan puesto bloqueos a información que se encuentra en localidades que siguen activas.

Si la localidad que quedó fuera de servicio es el distribuidor central de algún subsistema, es
preciso «elegir» un nuevo distribuidor. Los distribuidores centrales pueden ser, por ejem-
plo, asignadores de nombres, coordinadores de concurrencia o detectores de bloqueo globales.
En general, no es posible distinguir entre los fallos en las líneas de comunicación de la red y de las localidades. Por tanto, el esquema de reconfiguración que se adopte debe estar diseñado para que funcione correctamente aun cuando la red quede fragmentada. En particular es preciso evitar que se
presenten las siguientes situaciones:


Elección de dos o más distribuidores centrales en distintos fragmentos.
Actualización de un dato repetido en más de un fragmento de la red.
También es necesario tener cuidado al reintegrar al sistema una localidad o línea de comunicación
separada. Cuando una localidad que quedó fuera de servicio se recupera, debe iniciar un procedimiento de actualización de sus tablas de sistema para que reflejen los cambios que tuvieron lugar
mientras estaba inactiva. Si la localidad tenía copias de datos, debe obtener los valores actuales de
todos ellos y asegurarse de recibir las actualizaciones futuras. Esto es más complicado de lo que parece, ya que es posible que se actualicen los datos que se están procesando mientras que el sistema
se recupera.
Una solución sencilla es suspender temporalmente todas las operaciones del sistema mientras la localidad que quedó fuera de servicio se reintegra a él. Los problemas que acarrea esta suspensión en la
mayor parte de las aplicaciones no pueden aceptarse. Es preferible representar a las tareas de recuperación como una serie de transacciones. En este caso, el subsistema de control de concurrencia y
el manejo de transacciones puede encargarse de realizar de manera fiable la reintegración de la localidad.
Si se recupera una línea de comunicación interrumpida, es posible que se unan de nuevo dos fragmentos de la red. Dado que la fragmentación de una red limita las operaciones que pueden permitirse en algunas localidades, o en todas ellas, es conveniente enviar un mensaje a todas ellas informando sin dilación que la línea se recuperó. En las redes en que no se permita el envío de este tipo de
mensajes pueden utilizarse otros esquemas.
Descargar