b'\n_START_ARTICLE_\nAlgoritmo de Berkeley\n_START_PARAGRAPH_\nEl algoritmo de Berkeley se trata de un algoritmo de sincronizaci\xc3\xb3n de relojes dise\xc3\xb1ado por Gusella y Zatti en 1989\xe2\x80\x8b. Dicho algoritmo se cre\xc3\xb3 para entornos en los cuales no se tienen receptores de tiempo UTC, de forma que, gracias a este algoritmo se pueden mantener los relojes del entorno sincronizados con la misma hora.\xe2\x80\x8b\n_START_SECTION_\nIntroducci\xc3\xb3n\n_START_PARAGRAPH_\nSe trata de un algoritmo centralizado, en el que a diferencia de otros algoritmos como es el caso del algoritmo de Cristian, el servidor se va a elegir entre todos los equipos que se encuentran conectados en el entorno, el maestro solicita a los esclavos su hora peri\xc3\xb3dicamente, una vez recibida la hora de los esclavos, el algoritmo de Berkeley se limitar\xc3\xa1 a estimar su tiempo a partir de todos los computadores conectados, estimar\xc3\xa1 la deriva que tiene cada reloj y proceder\xc3\xa1 al env\xc3\xado de la correcci\xc3\xb3n necesaria en cada caso.\xe2\x80\x8b\n_START_SECTION_\nFuncionamiento del algoritmo\n_START_PARAGRAPH_\nEn el algoritmo de Berkeley, se procede a elegir un coordinador el cual tendr\xc3\xa1 el rol de maestro o lo que ser\xc3\xa1 lo mismo de servidor de tiempo. El coordinador en este algoritmo en diferencia con otros algoritmos de sincronizaci\xc3\xb3n como es el caso del algoritmo de Cristian, no se mantendr\xc3\xa1 pasivo, se encargar\xc3\xa1 de solicitar la hora del resto de equipos, los cuales tienen un rol de esclavos, dicha solicitud de hora se realizar\xc3\xa1 de una forma peri\xc3\xb3dica._NEWLINE_Una vez los esclavos hayan respondido con su hora local, el maestro realiza una estimaci\xc3\xb3n media de los retardos con los tiempos recibidos en los mensajes con cada uno de los equipos esclavos, obteniendo as\xc3\xad un tiempo medio que relaciona las horas recibidas durante la solicitud y la hora propia del maestro._NEWLINE_Realizada dicha estimaci\xc3\xb3n, el siguiente paso ser\xc3\xa1 actualizar los relojes de los equipos esclavos. Para ello, el maestro enviar\xc3\xa1 a cada esclavo el desfase que tiene respecto a la hora promedio que se ha calculado. Se env\xc3\xada el desfase en lugar de enviar la hora coordinada puesto que se debe tener en cuenta el error que aparecer\xc3\xada por el tiempo de transmisi\xc3\xb3n. Finalmente, cada equipo se limitar\xc3\xa1 a actualizar su reloj adelant\xc3\xa1ndolo en caso de ir con retraso o atras\xc3\xa1ndolo en caso de ir adelantado para aplicar la deriva recibida._NEWLINE_A continuaci\xc3\xb3n se a\xc3\xb1ade una ilustraci\xc3\xb3n a modo esquem\xc3\xa1tica para entender el funcionamiento del algoritmo de Berkeley._NEWLINE_\xe2\x80\x8b_NEWLINE_Estudiando dicho algoritmo se puede pensar que no se tiene en cuenta el tiempo de propagaci\xc3\xb3n en la respuesta a la solicitud de la hora del esclavo a nuestro coordinador y por tanto, se recibe una hora con retraso. Dicha situaci\xc3\xb3n no es un escenario que se necesite tener en cuenta, puesto que la finalidad del algoritmo es la de calcular una hora promedio entre las que se reciben con el sondeo del maestro a todos sus esclavos. Adem\xc3\xa1s, en una red de \xc3\xa1rea local entre los tiempos de propagaci\xc3\xb3n de mensajes entre maestro y los esclavos ser\xc3\xa1 despreciable y, por ello, no es necesario tener en cuenta._NEWLINE_El algoritmo de Berkeley realiza un promedio tolerante a fallos usando de base los tiempos enviados por los esclavos, lo cual significa que \xc3\xbanicamente se toman para calcular el promedio los tiempos enviados por aquellos relojes cuya diferencia no difiere entre s\xc3\xad entre unos umbrales estipulados, de forma que se entender\xc3\xa1 que el resto de relojes no est\xc3\xa1n funcionando correctamente.\xe2\x80\x8b_NEWLINE_En caso de fallo del maestro el proceso ser\xc3\xa1 el de elegir otro coordinador. Como fallo se entender\xc3\xa1 que el maestro no realice las solicitudes de tiempo peri\xc3\xb3dicas, no env\xc3\xade a cada esclavo la deriva pertinente su reloj o simplemente que dote a los esclavos de un valor de deriva el cual no es muy l\xc3\xb3gico.\n_START_SECTION_\nInconvenientes\xe2\x80\x8b\n_START_PARAGRAPH_\n\xc2\xb7 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0En caso de que el maestro falle, dejar\xc3\xa1 de preguntar la hora y, en consecuencia, se perder\xc3\xa1 la sincronizaci\xc3\xb3n._NEWLINE_\xc2\xb7 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0En el paso de mensajes entre maestro y esclavos y vicerversa se ha de tener en cuenta el retraso que genera el propio env\xc3\xado de los mensajes por lo que tendremos errores a la hora de sincronizar._NEWLINE_\xc2\xb7 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0Otro de los problemas de ser un algoritmo centralizado ser\xc3\xa1 el de tener que elegir un nuevo maestro debido a que se puedan producir  fallos en el tratamiento de los datos para llevar a a cabo la sincronizaci\xc3\xb3n, buscando un maestro que cometa menor cantidad de fallos y el sistema se mantenga en correcto funcionamiento.'