Detección y corrección de errores
En matemáticas, computación y teoría de la información, la detección y corrección de errores es una importante práctica para el mantenimiento e integridad de los datos a través de canales ruidosos y medios de almacenamiento poco confiables.
Introducción
La comunicación entre varias computadoras produce continuamente un movimiento de datos, generalmente por canales no diseñados para este propósito (línea telefónica), y que introducen un ruido externo que produce errores en la transmisión.
Por lo tanto, debemos asegurarnos que si dicho movimiento causa errores, éstos puedan ser detectados. El método para detectar y corregir errores es incluir en los bloques de datos transmitidos bits adicionales denominados redundancia.
Se han desarrollado dos estrategias básicas para manejar los errores:
§ Incluir suficiente información redundante en cada bloque de datos para que se puedan detectar y corregir los bits erróneos. Se utilizancódigos de corrección de errores.
§ Incluir sólo la información redundante necesaria en cada bloque de datos para detectar los errores. En este caso el número de bits de redundancia es menor. Se utilizan códigos de detección de errores.
Si consideramos un bloque de datos formado por m bits de datos y r de redundancia, la longitud final del bloque será n, donde n = m + r.
Detección y corrección de errores
En matemáticas, computación y teoría de la información, la detección y corrección de errores es una importante práctica para el mantenimiento e integridad de los datos a través de canales ruidosos y medios de almacenamiento poco confiables.
Introducción
La comunicación entre varias computadoras produce continuamente un movimiento de datos, generalmente por canales no diseñados para este propósito (línea telefónica), y que introducen un ruido externo que produce errores en la transmisión.
Por lo tanto, debemos asegurarnos que si dicho movimiento causa errores, éstos puedan ser detectados. El método para detectar y corregir errores es incluir en los bloques de datos transmitidos bits adicionales denominados redundancia.
Se han desarrollado dos estrategias básicas para manejar los errores:
§ Incluir suficiente información redundante en cada bloque de datos para que se puedan detectar y corregir los bits erróneos. Se utilizancódigos de corrección de errores.
§ Incluir sólo la información redundante necesaria en cada bloque de datos para detectar los errores. En este caso el número de bits de redundancia es menor. Se utilizan códigos de detección de errores.
Si consideramos un bloque de datos formado por m bits de datos y r de redundancia, la longitud final del bloque será n, donde n = m + r.
CONTROL DE FLUJO
Controlar el flujo es determinar el orden en el que se ejecutarán las instrucciones en nuestros programas. Si no existiesen las sentencias de control entonces los programas se ejecutarían de forma secuencial, empezarían por la primera instrucción e irían una a una hasta llegar a la última.
Pero, obviamente este panorama sería muy malo para el programador. Por un lado, en sus programas no existiría la posibilidad de elegir uno de entre varios caminos en función de ciertas condiciones (sentencias alternativas). Y por el otro, no podrían ejecutar algo repetidas veces, sin tener que escribir el código para cada una (sentencias repetitivas).
Para estos dos problemas tenemos dos soluciones: las sentencias de control alternativas y las repetitivas. Estos dos conjuntos de sentencias forman en Pascal el grupo de las sentencias estructuradas. Y se les llama estructuradas porque a diferencia de las simples pueden contener en su cuerpo otras sentencias.
Las sentencias alternativas también son conocidas como sentencias selectivas porque permiten seleccionar uno de entre varios caminos por donde seguirá la ejecución del programa. En algunos casos esta selección viene determinada por la evaluación de una expresion lógica. Este tipo de sentencias se dividen en dos:
La sentencia if
La sentencia case
A las sentencias repetitivas se les conoce también como sentencias iterativas ya que permiten realizar algo varias veces (repetir, iterar). Dentro de ellas distinguimos tres:
La sentencia for
La sentencia while
La sentencia repeat
Control de congestión.
Es un concepto más amplio que el control de flujo. Comprende todo un conjunto de técnicas para detectar y corregir los problemas que surgen cuando no todo el tráfico ofrecido a una red puede ser cursado, con los requerimientos de retardo, u otros, necesarios desde el punto de vista de la calidad del servicio. Por tanto, es un concepto global, que involucra a toda la red, y no sólo a un remitente y un destinatario de información, como es el caso del control de flujo.
Figura 3.11 Congestión en un nodo
El control de flujo es una más de las técnicas para combatir la congestión. Se consigue con ella parar a aquellas fuentes que vierten a la red un tráfico excesivo. Sin embargo, como veremos, hay otros mecanismos.
Especificación y conformación del tráfico
Una especificación de flujo es un acuerdo entre todos los componentes de una red para especificar el tráfico que va a tener de una forma precisa y predeterminada [Tanembaum96]. Consiste en una serie de parámetros que describen como el tráfico es introducido en la red y la calidad de servicio deseado por las aplicaciones. La idea es que antes de establecer una conexión, el origen del flujo informe sobre las características del flujo a transmitir y el servicio deseado (especificación de la calidad de servicio). Toda esta información es la que compone la especificación del flujo.
Uno de los componentes más importantes de esta especificación es la descripción de cómo se va introducir el tráfico en la red que se suele denominar modelo del tráfico. El objetivo es regular el tráfico a transmitir con el objeto de eliminar la congestión en la red debido a las características de gran variabilidad del tráfico. Este mecanismo de regulación del tráfico de acuerdo al modelo del tráfico se denomina conformación del tráfico (traffic shaping).
La conformación de tráfico es un mecanismo de gestión de la congestión en bucle abierto (open loop) que permite a la red saber cómo es el tráfico que se transmite para poder decir si lo pueda manejar. Al hecho de monitorear el tráfico para que cumpla el patrón acordado se denomina comprobación del tráfico (traffic policing).
Los modelos de tráfico más comunes son el leaky bucket y token bucket. Otros esquemas como el D-BIND [Knightly94], double leaky bucket o modelos multiparámetros son ampliaciones de éstos usados con planificadores complejos. También se describe el modelo Tenet (Xmin, Xave, I, Smax) [Ferrari90a] por ser un planteamiento diferente a los anteriores.
No hay comentarios:
Publicar un comentario