Protocolos de Seguridad

y la Sincronización de Datos

Algoritmos y Técnicas de Sincronización de Datos


La Sincronización es el proceso por el cual dos o más componentes intercambian datos o información. Los datos intercambiados pueden afectar la información de uno o de varios componentes. Se dice que esto se hace por medio de protocolos de sincronización, donde los componentes conocen la forma de intercambio de datos. Específicamente, la Sincronización consiste en mecanismos que faciliten un trabajo coordinado. Esta es más compleja en sistemas distribuidos que en sistemas centralizados, puesto que los primeros deben utilizar algoritmos distribuidos, no es posible reunir toda la información relativa al sistema en un lugar y después dejar que cierto proceso lo examine.

Algoritmos para la sincronización de datos

La sincronización de relojes en un sistema distribuido consiste en garantizar que los procesos se ejecuten en forma cronológica y a la misma vez respetar el orden de los eventos dentro del sistema. Para lograr esto existen varios métodos o algoritmos que se programan dentro del sistema operativo, entre los mas conocidos tenemos:

  • Algoritmo de Lamport: Lamport desarrolló una solución que es particularmente aplicable a los sistemas de procesamiento distribuido. El algoritmo usa un sistema de "toma de boleto", como el usado en las panaderías muy concurridas, y ha sido apodado el algoritmo de la panadería de Lamport. Nos centraremos únicamente en los aspectos del algoritmo relacionados con un entorno centralizado. Al entrar en la tienda cada cliente recibe un número, y se atiende primero al que tenga el número menor. Por desgracia, el algoritmo de la panadería no puede garantizar que dos procesos (clientes) no reciban el mismo número. (más información)
  • Algoritmo de Cristian: es un método para la sincronización de relojes que se puede usar en muchos campos de la computación distribuida. El algoritmo es probabilístico, es decir sólo puede sincronizar si el RTT es bajo en comparación con la precisión deseada. También tiene problemas en funciones donde se usa un solo servidor. Tampoco es adecuado para numerosas aplicaciones distribuidas donde la redundancia sería importante. (más información)
  • Algoritmo de Berkeley: en este algoritmo se elige, un computador coordinador para actuar como maestro. A diferencia del protocolo de Cristian, este computador consulta periódicamente a los otros computadores cuyos relojes están para ser sincronizados, llamadas esclavos. Los esclavos le devuelven sus valores de reloj. El maestro estima sus tiempos locales de reloj observando los tiempo de ida y vuelta y promedia los valores obtenidos. (más información)

Para optener mayor información sobre la sincronización de datos visite los siguientes sitios web: link 1, link 2, link 3