Sincronización de información.
Un método para sincronizar al menos una primera y una segunda instancia de un conjunto de información quecomprende una pluralidad de entradas,
en el que dichas primera y segunda instancias están ubicadas en diferentesnodos de un sistema, comprendiendo el método:
asociar un par formado por un valor de nodo y un valor actual de reloj lógico a cada entrada del conjunto deinformación de una instancia dada cuando se modifica dicha entrada de la instancia dada;
caracterizado por generar un resumen para cada una de las al menos primera y segunda instancias del conjunto deinformación, donde dichos resúmenes comprenden información de reloj lógico de un último evento de sincronizaciónde una de las al menos primera y segunda instancias con otra de las al menos primera y segunda instancias delconjunto de información; y
sincronizar las al menos primera y segunda instancias del conjunto de información comparando los resúmenes yreconciliando las al menos primera y segunda instancias;
en el que un par existente formado por un valor de nodo y un valor actual de reloj lógico de una entrada se elimina yse sustituye con un nuevo par formado por un valor de nodo y un valor actual de reloj lógico cuando se modificadicha entrada.
Tipo: Patente Europea. Resumen de patente/invención. Número de Solicitud: E09152079.
Solicitante: SAGE TECHNOLOGIES LIMITED.
Nacionalidad solicitante: Irlanda.
Dirección: UNIT 3096 CITYWEST BUSINESS PARK 24 DUBLIN IRLANDA.
Inventor/es: MILENCOVICI,TUDOR, JOUHIER,BRUNO.
Fecha de Publicación: .
Clasificación Internacional de Patentes:
- G06F17/30
PDF original: ES-2401826_T3.pdf
Fragmento de la descripción:
Sincronización de información Esta invención se refiere a un método y un aparato para sincronizar información a través de un conjunto de aplicaciones informáticas.
La información utilizada en una aplicación informática puede adoptar muchas formas, como por ejemplo datos financieros o de contabilidad. La información puede ser información de pedidos, información de facturas, información de existencias o cualquier otro tipo de información financiera que se utilice.
Cada entrada de información se conoce como un objeto y los objetos se almacenan en dispositivos de almacenamiento de datos.
Existe un problema cuando se modifican objetos que están duplicados en varios dispositivos de almacenamiento de datos. La situación ideal es que cualquier modificación se refleje inmediatamente en todas las réplicas, de manera que la información esté actualizada en todas partes. Debido a limitaciones objetivas, tales como la fiabilidad de la conexión y la latencia, la tolerancia a los errores o el deseo de mantener una alta disponibilidad de los objetos, no resulta práctico (y en muchos casos no es necesario) mantener toda la red de aplicaciones actualizada todo el tiempo.
Por lo tanto, se considera que las aplicaciones interactúan e intercambian información con el objetivo de obtener un contenido subyacente coherente. Esta interacción se denomina sincronización.
Un método existente para sincronizar datos utiliza una sincronización de reloj vectorial, que utiliza un algoritmo para generar una ordenación parcial de eventos en un sistema distribuido y detectar violaciones de causalidad. Mensajes entre procesos contienen el estado del reloj lógico del proceso emisor. Un reloj vectorial de un sistema de N procesos es un conjunto de N relojes lógicos, uno por proceso, donde una copia lógica de los cuales se mantiene en cada proceso con las siguientes reglas para las actualizaciones de reloj.
Inicialmente todos los relojes están a cero.
Cada vez que un proceso experimenta un evento interno, incrementa en uno su propio reloj lógico en el vector.
Cada vez que un proceso se prepara para enviar un mensaje, envía su vector completo junto con el mensaje que está enviándose.
Cada vez que un proceso recibe un mensaje, compara el reloj vectorial incluido en el mensaje con su propio reloj vectorial. Si el reloj vectorial incluido en el mensaje es estrictamente mayor que el reloj vectorial del proceso, el proceso acepta el nuevo estado contenido en el mensaje y sustituye su reloj vectorial por el reloj vectorial contenido en el mensaje. Si el reloj vectorial incluido en el mensaje es estrictamente menor que el reloj vectorial del proceso, el proceso ignora el mensaje. Si los dos relojes vectoriales no pueden compararse (cada uno tiene una entrada que es estrictamente mayor que la entrada correspondiente en el otro) , el proceso de recepción indica que hay un conflicto y aplica un regla de manejo de conflictos para actualizar su estado.
El reloj vectorial está asociado a cada objeto de un dispositivo de almacenamiento de datos. La sincronización se consigue utilizando el algoritmo descrito anteriormente.
El documento US 2007/0282915 da a conocer un sistema para identificar relaciones causales entre conjuntos de datos en diferentes ordenadores centrales.
Un objeto de la presente invención es proporcionar un método más eficiente de sincronización de conjuntos de datos.
Según la presente invención, se proporciona un aparato y un método como los descritos en las reivindicaciones adjuntas. Otras características de la invención resultarán evidentes a partir de las reivindicaciones dependientes y de la siguiente descripción.
Según un primer aspecto de la presente invención, se proporciona un método de sincronización de al menos una primera y una segunda instancia de un conjunto de información que comprende una pluralidad de entradas, donde dichas primera y segunda instancias están ubicadas en diferentes nodos de un sistema, comprendiendo el método:
-asociar un par formado por un valor de nodo y un valor actual de reloj lógico a cada entrada del conjunto de información de una instancia dada cuando se modifica dicha entrada de la instancia dada;
-generar un resumen para cada una de las al menos primera y segunda instancias del conjunto de información, donde dichos resúmenes comprenden información de reloj lógico de un último evento de sincronización de una de las al menos primera y segunda instancias con otra de las al menos primera y segunda instancias del conjunto de información; y
-sincronizar las al menos primera y segunda instancias del conjunto de información comparando los resúmenes y reconciliando las al menos primera y segunda instancias;
en el que un par existente formado por un valor de nodo y un valor actual de reloj lógico de una entrada se elimina y se sustituye con un nuevo par formado por un valor de nodo y un valor actual de reloj lógico cuando se modifica dicha entrada.
Puede asociarse un valor de marca de tiempo a cada entrada de datos cuando se modifica dicha entrada, además del par formado por un valor de nodo y un valor actual de reloj lógico.
El valor actual de reloj lógico puede denominarse como un tic.
Preferentemente, la sincronización se lleva a cabo de manera bidireccional, por ejemplo desde la primera instancia hasta la segunda instancia y después desde la segunda instancia hasta la primera instancia.
Preferentemente, la sincronización se lleva a cabo para un conjunto de información a la vez. Esta característica es ventajosa con respecto a la sincronización de una entrada de datos a la vez.
Cada resumen está ubicado preferentemente en un nodo con el que está relacionado.
El resumen puede comprender un par formado por un valor de nodo y un valor de reloj lógico para cada nodo del sistema.
El resumen puede incluir además un valor de prioridad de conflicto para cada nodo del sistema.
El par formado por un valor de nodo y un valor actual de reloj lógico y/o el resumen pueden transmitirse mediante un mecanismo de suministro de datos o un mecanismo de sindicación, tales como un mecanismo RSS o un mecanismo Atom.
Los nodos pueden ser puntos finales que contienen una instancia del conjunto de información. Los valores de nodo 35 pueden ser URL.
Pueden proporcionarse dos resúmenes para cada evento de sincronización, resúmenes que pueden ser un resumen de valores iniciales y un resumen de valores finales, correspondientes al estado de un nodo antes de un evento de modificación y después de un evento de modificación, respectivamente.
La invención se extiende a un dispositivo de sincronización que puede hacerse funcionar para llevar a cabo el método del aspecto anterior.
El dispositivo de sincronización puede ser una aplicación que se ejecute en un sistema informático.
Según otro aspecto de la invención, se proporciona un sistema informático que comprende una pluralidad de nodos, donde cada nodo incorpora una instancia de un conjunto de información, pudiendo hacerse funcionar el sistema informático para sincronizar las instancias del conjunto de información, y que comprende al menos un medio lógico de sincronización que puede hacerse funcionar para:
-asociar un par formado por un valor de nodo y un valor actual de reloj lógico a cada entrada del conjunto de información de una instancia dada cuando se modifica dicha entrada de la instancia dada;
-generar un resumen para cada una de las instancias del conjunto de información, donde dichos resúmenes
comprenden información de reloj lógico de un último evento de sincronización de una de las instancias con otra de las al menos instancias del conjunto de información; y
-sincronizar las instancias del conjunto de información comparando los resúmenes y reconciliando las al menos primera y segunda instancias.
El medio lógico de sincronización puede comprender un punto final de sincronización, que puede ser una interfaz o un servicio, para cada nodo o para cada instancia del conjunto de información.
El medio lógico de sincronización puede comprender uno o más motores de sincronización. Los motores de 65 sincronización pueden hacerse funcionar para llevar a cabo intercambios de mensajes entre puntos finales de sincronización. Los motores de sincronización y los puntos finales de sincronización pueden residir en diferentes ordenadores. Como alternativa, un motor de sincronización puede residir en el mismo ordenador como un punto final de sincronización.
Cada punto final de sincronización puede hacerse funcionar preferentemente para llevar... [Seguir leyendo]
Reivindicaciones:
1. Un método para sincronizar al menos una primera y una segunda instancia de un conjunto de información que comprende una pluralidad de entradas, en el que dichas primera y segunda instancias están ubicadas en diferentes 5 nodos de un sistema, comprendiendo el método:
asociar un par formado por un valor de nodo y un valor actual de reloj lógico a cada entrada del conjunto de información de una instancia dada cuando se modifica dicha entrada de la instancia dada;
caracterizado por generar un resumen para cada una de las al menos primera y segunda instancias del conjunto de información, donde dichos resúmenes comprenden información de reloj lógico de un último evento de sincronización de una de las al menos primera y segunda instancias con otra de las al menos primera y segunda instancias del conjunto de información; y
sincronizar las al menos primera y segunda instancias del conjunto de información comparando los resúmenes y reconciliando las al menos primera y segunda instancias;
en el que un par existente formado por un valor de nodo y un valor actual de reloj lógico de una entrada se elimina y se sustituye con un nuevo par formado por un valor de nodo y un valor actual de reloj lógico cuando se modifica dicha entrada.
2. El método según la reivindicación 1, en el que un valor de marca de tiempo se asocia a cada entrada de datos cuando se modifica dicha entrada, además del par formado por un valor de nodo y un valor actual de reloj lógico.
3. El método según cualquier reivindicación anterior, en el que la sincronización se lleva a cabo de manera bidireccional.
4. El método según cualquier reivindicación anterior, en el que cada resumen está ubicado en un nodo con el que está relacionado.
5. El método según cualquier reivindicación anterior, en el que el resumen comprende un par formado por un valor de nodo y un valor de reloj lógico para cada nodo del sistema.
6. El método según la reivindicación 5, en el que el resumen incluye además un valor de prioridad de conflicto para 35 cada nodo del sistema.
7. El método según cualquier reivindicación anterior, en el que se proporcionan dos resúmenes para cada evento de sincronización.
8. Un dispositivo de sincronización que puede hacerse funcionar para llevar a cabo el método según una cualquiera de las reivindicaciones 1 a 8.
9. Un sistema informático que comprende una pluralidad de nodos, donde cada nodo incorpora una instancia de un conjunto de información, haciéndose funcionar el sistema informático para sincronizar las instancias del conjunto de 45 información, y que comprende al menos un elemento lógico de sincronización que puede hacerse funcionar para:
asociar un par formado por un valor de nodo y un valor actual de reloj lógico a cada entrada del conjunto de información de una instancia dada cuando se modifica dicha entrada de la instancia dada;
caracterizado por generar un resumen para cada una de las instancias del conjunto de información, donde dichos resúmenes comprenden información de reloj lógico de un último evento de sincronización de una de las instancias con otra de las al menos instancias del conjunto de información; y
sincronizar las instancias del conjunto de información comparando los resúmenes y reconciliando las al menos 55 primera y segunda instancias;
en el que un par existente formado por un valor de nodo y un valor actual de reloj lógico de una entrada se elimina y se sustituye con un nuevo par formado por un valor de nodo y un valor actual de reloj lógico cuando se modifica dicha entrada.
10. El sistema informático según la reivindicación 9, en el que el elemento lógico de sincronización comprende un punto final de sincronización para cada nodo o para cada instancia del conjunto de información.
11. El sistema informático según la reivindicación 9 o la reivindicación 10, en el que el elemento lógico de 65 sincronización comprende uno o más motores de sincronización que pueden hacerse funcionar para llevar a cabo intercambios de mensajes entre puntos finales de sincronización.
12. El sistema informático según la reivindicación 11, en el que los motores de sincronización y los puntos finales de sincronización residen en diferentes ordenadores.
13. El sistema informático según una cualquiera de las reivindicaciones 10 a 12, en el que cada punto final de sincronización puede hacerse funcionar para llevar a cabo la asociación y la generación de resúmenes para su nodo dado.
14. El sistema informático según una cualquiera de las reivindicaciones 10 a 13, en el que la pluralidad de motores 10 de sincronización puede hacerse funcionar para la comunicación con los puntos finales para llevar a cabo la función de sincronización.
15. Un producto de programa informático que comprende instrucciones que, cuando se ejecutan en un ordenador, se hacen funcionar para implementar un método de sincronización de al menos una primera y una segunda instancia 15 de un conjunto de información que comprende una pluralidad de entradas, donde dichas primera y segunda instancias están ubicadas en diferentes nodos de un sistema informático, comprendiendo el método:
asociar un par formado por un valor de nodo y un valor actual de reloj lógico a cada entrada del conjunto de información de una instancia dada cuando se modifica dicha entrada de la instancia dada;
caracterizado por generar un resumen para cada una de las al menos primera y segunda instancias del conjunto de información, donde dichos resúmenes comprenden información de reloj lógico de un último evento de sincronización de una de las al menos primera y segunda instancias con otra de las al menos primera y segunda instancias del conjunto de información; y
sincronizar las al menos primera y segunda instancias del conjunto de información comparando los resúmenes y reconciliando las al menos primera y segunda instancias;
en el que un par existente formado por un valor de nodo y un valor actual de reloj lógico de una entrada se elimina y 30 se sustituye con un nuevo par formado por un valor de nodo y un valor actual de reloj lógico cuando se modifica dicha entrada.
Patentes similares o relacionadas:
Composiciones y métodos para modelar el metabolismo de Saccharomyces cerevisiae, del 3 de Junio de 2020, de THE REGENTS OF THE UNIVERSITY OF CALIFORNIA: Un metodo implementado por computadora para proporcionar a un usuario una simulacion de una funcion fisiologica de levadura relacionada con un gen heterologo […]
Procedimiento de visualización de páginas por medio de un navegador de un equipo como una caja descodificadora Proveedor de Servicios de Internet, del 10 de Enero de 2020, de FREEBOX (100.0%): Un procedimiento de visualización de páginas por un equipo cliente equipado de un sistema cerrado, conectado a un servidor remoto , integrando […]
Procedimiento implementado por ordenador y controlado por ordenador, producto de programa informático y plataforma para disponer datos para su procesamiento y almacenamiento en un motor de almacenamiento de datos, del 4 de Noviembre de 2019, de Dynactionize N.V: Un procedimiento implementado por ordenador y controlado por ordenador de disposición de datos para procesamiento y almacenamiento de los mismos en un […]
MÉTODO DE DOBLAJE Y LOCUCIONES DE AUDIO, del 11 de Julio de 2019, de TANGO VOZ, S.L: Se describe en este documento un método que permite gestionar la producción de doblajes y locuciones de audio destinados a medios audiovisuales de tal manera que no se […]
Un sistema de control para controlar el funcionamiento de una unidad de procesamiento de datos, del 21 de Mayo de 2019, de IG Knowhow Limited: Un sistema de control para controlar el funcionamiento de una unidad de procesamiento de datos, la unidad de procesamiento de datos recibiendo una primera […]
Método para proporcionar una estructura de índice en una base de datos, del 1 de Mayo de 2019, de Capish International AB: Metodo para proporcionar una estructura de indice en una base de datos que comprende una pluralidad de tipos de objetos, donde cada tipo de objetos […]
Dispositivo de procesamiento de información, método de procesamiento de información, programa de procesamiento de información y soporte de registro, del 1 de Mayo de 2019, de RAKUTEN, INC: Dispositivo de procesamiento de información que comprende: un medio (12b) de memoria de palabra de área local que almacena una palabra de área […]
SISTEMA PARA LA DETECCIÓN REMOTA DEL USO DEL CINTURÓN DE SEGURIDAD EN UN VEHÍCULO, del 18 de Abril de 2019, de CASANOVA RENT VOLKS, S.A. DE C.V: La presente invención se refiere a la industria automotriz, particularmente está relacionada con los cinturones de seguridad con que están equipados los vehículos, […]