ES2278774T3 - Sincronizacion de bases de datos no dependiente del tiempo. - Google Patents
Sincronizacion de bases de datos no dependiente del tiempo. Download PDFInfo
- Publication number
- ES2278774T3 ES2278774T3 ES01965203T ES01965203T ES2278774T3 ES 2278774 T3 ES2278774 T3 ES 2278774T3 ES 01965203 T ES01965203 T ES 01965203T ES 01965203 T ES01965203 T ES 01965203T ES 2278774 T3 ES2278774 T3 ES 2278774T3
- Authority
- ES
- Spain
- Prior art keywords
- database
- synchronization
- indicator
- value
- full
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Mobile Radio Communication Systems (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Telephonic Communication Services (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Un método de sincronizar una primera base de datos con una segunda base de datos, en el que la primera base de datos está situada en un terminal móvil, estando el método caracterizado por establecer (507, 509) un indicador en un valor de indicador en respuesta a la detección de que ha sido cambiado un reloj en el terminal móvil; y realizar selectivamente ya sea una sincronización plena (509) o una sincronización rápida (513) de la primera base de datos con la segunda base de dat4os de acuerdo con el valor del indicador.
Description
Sincronización de bases de datos no dependiente
del tiempo.
La presente invención se refiere, en general, a
sistemas de comunicaciones y, en particular, a técnicas que
proporcionan la sincronización de bases de datos, tales como una
base de datos que contiene una guía telefónica almacenada en un
módulo de identidad de abonado (SIM: Subscriber Identity Module) de
un terminal móvil utilizado en un sistema celular de comunicaciones
por radio con una base de datos correspondiente en un ordenador
personal (PC).
La industria de teléfonos celulares ha hecho
grandes progresos en operaciones comerciales en los Estados Unidos,
así como en el resto del mundo. El crecimiento en las mayores zonas
metropolitanas ha excedido con mucho las expectativas y ha superado
rápidamente la capacidad del sistema. Si continúa esta tendencia,
los efectos de este crecimiento de la industria alcanzará pronto
los mercados más pequeños. Se requieren soluciones innovativas para
satisfacer estas necesidades de capacidad creciente, así como
mantener servicio de alta calidad y evitar la elevación de
precios.
Una tendencia reconocida es la convergencia de
la industria denominada de la información, según está simbolizada
por la evolución del ordenador personal (PC), y la denominada
industria de las comunicaciones, según está simbolizada por la
evolución del teléfono móvil o portátil. Ambos tipos de dispositivos
están caracterizados por capacidades rápidamente crecientes de
prestaciones (hardware) y de aplicaciones (software) incrementadas.
En el próximo futuro, es probable que los teléfonos móviles se
comunicarán más directamente con otros dispositivos de información,
tales como el PC, para intercambiar información. Muchos abonados de
servicios inalámbricos poseen también ordenadores personales y,
como cada tipo de dispositivo resulta más complejo en su capacidad
de manipulación de datos, muchos desean intercambiar datos entre
ellos, por ejemplo, entre bases de datos (tales como guías de
teléfonos), almacenadas en cada dispositivo.
Considérese el ejemplo ilustrado en la figura 1.
En ella, un PC 10 y un teléfono móvil 20 están vinculados entre sí
a través de un enlace de comunicación 30. El enlace de comunicación
30 puede ser o bien un enlace de cables o inalámbrico (por ejemplo
de infrarrojos). Los expertos en la técnica apreciarán que, aunque
se usan un PC y un teléfono móvil como ejemplos de dos dispositivos
entre los cuales se puede realizar sincronización de bases de
datos, la presente invención no está limitada a estos dos tipos de
dispositivo y puede, de hecho, ser aplicada a sincronización de
bases de datos entre cualesquiera tipos de dispositivos, tales como
organizadores electrónicos, localizadores y similares. El PC 10
incluye una base de datos 40, por ejemplo, que contiene registros
de teléfonos o calendario, mientras que el teléfono móvil 20 incluye
una correspondiente base de datos almacenada en su tarjeta 50 de
módulo de identidad de abonado (SIM). Como apreciarán los expertos
en las técnicas de comunicaciones, la tarjeta de SIM 50 es una
tarjeta inteligente retirable que fue creada por la norma de
comunicaciones de radio de GSM como un mecanismo para agrupar
convenientemente y almacenar elementos de información relacionados
con el abonado de móvil de una manera retirable, cuya tarjeta se
puede retirar de manera insertable de teléfonos móviles. El término
"sincronización", según se utiliza aquí para referirse a
operaciones de bases de datos asociadas con dos o más dispositivos,
significa cambiar los contenidos de una base de datos de manera que
concuerde con, o "refleje" los contenidos de la otra base de
datos.
Convencionalmente, para sincronizar la base de
datos 40 y la base de datos almacenada en la tarjeta de SIM 50, fue
necesario comparar individualmente cada registro de cada base de
datos. Por ejemplo, la base de datos de registros de guías de
teléfonos almacenada en la tarjeta de SIM 50 puede ser transmitida
al PC 10 a través del enlace 30. Después, los registros de cada
base de datos pueden ser comparados y actualizados de tal manera
que las dos bases de datos sean imágenes especulares entre sí. Por
ejemplo, los cambios asociados con registros encontrados en la base
de datos 40, pero no encontrados en la versión de la base de datos
transmitida desde el teléfono móvil 20 al PC 10, podrían ser
retransmitidos al teléfono móvil 20 para actualizar la base de
datos almacenada en la tarjeta de SIM 50. Este proceso de
sincronización (al que se hace referencia algunas veces como
"sincronización plena" o "sincronización lenta") es
complicado y de gran duración. Por ejemplo, para identificar
precisamente qué cambios han sido hechos en la base de datos de la
tarjeta de SIM, se requiere con frecuencia que el PC 10 compare una
versión más recientemente recibida con una versión previamente
almacenada.
Para abordar este problema, se ha añadido un
historial de cambios a los dispositivos, como se muestra en la
figura 2. El historial de cambios contiene información relativa a
registros sobre los que se ha operado en cualquier base de datos a
continuación de la sincronización entre ellos. El historial de
cambios también registra el momento en el que fue últimamente
realizada una operación de sincronización entre dos bases de datos,
de manera que se pueden ignorar los cambios hechos antes de una
actualización previa. El historial de cambios puede ser ejecutado,
por ejemplo, en una porción de memoria que registre para cada cambio
un acontecimiento (por ejemplo, añadir, suprimir o modificar), la
identidad del registro de base de datos para el que ocurrió el
acontecimiento y una marca de tiempo que indica cuándo tuvo lugar el
acontecimiento. Por ejemplo, si se añadió un registro de teléfonos a
la base de datos 40 en el PC 10 a continuación de haber sido
sincronizado con el SIM 50 en el teléfono móvil 20, entonces se
añade una indicación de ello al historial de cambios 200. De igual
modo, si el abonado asociado con el teléfono móvil 20 (y la tarjeta
de SIM 50) suprime un registro en su guía telefónica, entonces este
cambio será reflejado en el historial de cambios 210. Además, si el
historial de cambios está vacío, entonces no es necesario hacer
cambios en la base de datos 40 del PC 10. El uso de historiales de
cambios 200 y 210 puede ser ventajoso durante la sincronización, ya
que sólo necesitan ser transmitidos entre los dispositivos aquellos
registros que han sido modificados, añadidos o suprimidos (como
registrados en el historial de cambios) desde la última
actualización de sincronización. De este modo, el proceso de
sincronización puede ser realizado más rápidamente y, por lo tanto,
se ha hecho referencia a este proceso como "sincronización
rápida".
Bajo ciertas circunstancias, sin embargo, puede
ser todavía deseable realizar sincronización plena (es decir,
lenta) de la correspondiente base de datos en dos dispositivos,
incluso cuando han sido ejecutados físicamente historiales de
cambios para hacer posible la sincronización rápida. Por ejemplo, si
un usuario repone o borra su base de datos de calendario en un
teléfono móvil, una tal acción puede imponer que sea realizada una
sincronización plena entre las dos bases de datos, es decir el gran
número de cambios que resultan no son de ventaja particular en
tales casos para usar los historiales de cambios 200 y 210 para
conseguir la sincronización. La invocación de sincronización plena
de dos bases de datos cuando está disponible sincronización rápida
ha sido realizada, por ejemplo, cambiando aleatoriamente o por
incrementos el valor de un identificador de base de datos (DID que
es hecho pasar entre los dispositivos como parte del proceso de
sincronización. El cambio de valores de DID actúa como una señal que
dice al dispositivo que realiza la sincronización de base de datos
que use sincronización plena en lugar de sincronización rápida. El
dispositivo de recepción (por ejemplo, un PC) compara el DID
recibido del otro dispositivo (por ejemplo, un teléfono móvil) con
un DID que almacenó previamente. Si estos son iguales, entonces se
usará la sincronización rápida. Si son diferentes, entonces se
realizará la sincronización plena.
Desafortunadamente, aunque ello puede acelerar
el proceso de sincronización, el añadir los historiales de cambios
introduce otro problema. Más particularmente, la sincronización
rápida se basa en el uso de una marca de tiempo asociada con cada
entrada en el historial de cambios 200, 210. La marca de tiempo
indica en qué momento fue hecho un cambio particular. Cuando es
suministrado al otro dispositivo (por ejemplo, el PC 10) un
historial de cambios asociado con una base de datos (por ejemplo el
historial de cambios 210 asociado con el SIM 50), el motor de
sincronización (no mostrado) dentro del otro dispositivo usa la
marca de tiempo para resolver conflictos potenciales que puedan
ocurrir cuando ha sido hecha una modificación en una entrada de una
de las bases de datos y ha sido hecha una modificación diferente en
la misma entrada, pero en la otra base de datos. En tales casos, la
regla es suponer que el cambio hecho más recientemente es el
correcto. Por ejemplo, considérese la situación en la que existe un
registro "A" en cada uno de dos dispositivos (indicados
"dispositivo 1" y "dispositivo 2") cuando las bases de
datos de cada uno de los dispositivos han sido sincronizadas entre
sí. A continuación de la sincronización, supóngase que en el
dispositivo 1 se suprime el registro A a las 12:34, mientras que en
el dispositivo 2 se modifica el mismo registro a las 12:40. El
siguiente momento en que sean sincronizados entre sí los
dispositivos 1 y 2, el proceso de sincronización detectará que el
mismo registro ha sido suprimido en un lado y modificado en el otro.
Adoptando la regla de que la más reciente modificación es la
correcta, la modificación del registro A que fue realizada en el
dispositivo 2 será retenida copiándola en el dispositivo 1. Los dos
dispositivos están ahora sincronizados de nuevo.
Se puede apreciar que, debido a que las marcas
de tiempo juegan un importante papel en el proceso de
sincronización, los temporizadores de los dispositivos necesitan
ser muy exactos, estar alineados entre sí, y no modificados. Esto,
sin embargo, no sucede siempre en dispositivos móviles. Es muy
común que el usuario de un dispositivo móvil se desplace a otra
zona horaria o de tiempo y, por lo tanto, cambie el tiempo del reloj
del dispositivo. Sin embargo, esto puede causar problemas con la
sincronización debido a que si el temporizador del usuario está
hecho para moverse hacia delante o hacia atrás, es posible que un
cambio reciente en una base de datos aparezca incorrectamente haber
tenido lugar antes de la operación de sincronización previa. Como
consecuencia, ese cambio sería ignorado en el esfuerzo de
sincronización, perdiéndose efectivamente el cambio.
Las figuras 3 y 4 ilustran algunos escenarios en
los que cambiar el reloj en un dispositivo puede causar resultados
erróneos cuando se realiza una subsiguiente operación de
sincronización de bases de datos. En referencia primeramente a la
figura 3, este diagrama de tiempos muestra relojes y acontecimientos
en cada uno de dos dispositivos, indicados "Dispositivo 1" y
"Dispositivo 2". En el tiempo T1, en los relojes de ambos
dispositivos se lee "1:00 pm", en cuyo momento se realiza una
operación de sincronización rápida de base de datos. Como se ha
mencionado antes, esto origina, entre otras cosas, que sea
registrado el momento de sincronización en el historial de cambios
200. Algo más tarde, en el tiempo indicado T2, el reloj del
Dispositivo 1 ha sido repuesto, de manera que en él se lee ahora
12:00 pm (es decir, un tiempo anterior a 1:00 pm). Esto puede haber
sido hecho, por ejemplo, para tener en cuenta el desplazamiento a
través de una o más zonas horarias. En el tiempo T2, se cambia un
registro "A" en la base de datos del Dispositivo 1. Este cambio
es registrado en el historial de cambios 200 junto con una marca de
tiempo = 12:00 pm, que indica el momento del cambio. En un tiempo
posterior subsiguiente, indicado tiempo T3, el reloj del
Dispositivo 1 indica 8:00 pm, y el reloj del Dispositivo 2 indica
9:00 pm. En el momento T3 es realizada otra operación de
sincronización rápida de bases de datos entre las respectivas bases
de datos del Dispositivo y el Dispositivo 2. Como parte de esta
operación de sincronización, el motor de sincronización mira las
marcas de tiempo en el historial de cambios 200, e ignora todos los
cambios que parezcan haber tenido lugar antes de la operación de
sincronización previa (que tuvo lugar en el tiempo T3). Como
resultado, el cambio en el registro "A", que tuvo lugar
realmente en el tiempo T2, parece haber ocurrido antes del tiempo
T1 (es decir, el momento de la operación de sincronización previa).
Por lo tanto, el cambio del registro "A" que fue hecho en el
tiempo T2 es ignorado en la operación de sincronización, perdiendo
esta efectivamente. Se observará que incluso si el reloj del
Dispositivo 1 ha sido movido hacia delante una hora en algún punto
entre el tiempo T2 y T3, de manera que en el tiempo T3 en los
relojes de los Dispositivos 1 y 2 se lea 9:00 pm, el cambio hecho
en el registro "A" del Dispositivo 1 en el tiempo T1 se perderá
en la operación de sincronización.
La figura 4 ilustra otro escenario en el que
cambiar el reloj en un dispositivo puede originar que ocurran
resultados erróneos cuando se realiza una operación subsiguiente de
sincronización de bases de datos. Aquí, este diagrama de tiempos
muestra relojes y acontecimientos en cada uno de dos dispositivos,
indicados "Dispositivo 1" y "Dispositivo 2". En el tiempo
T1, en los relojes de ambos dispositivos se lee "1:00 pm", en
cuyo momento se realiza una operación de sincronización rápida de
bases de datos. Como se ha mencionado antes, esto origina, entre
otras cosas, el tiempo de sincronización que se ha de registrar en
el historial de cambios 200. El valor del reloj en el Dispositivo 1
es a continuación movido hacia delante, de manera que en el tiempo
T2 se lee en él 3:00 pm, mientras que en el reloj del Dispositivo 2
se lee sólo "2:00 pm". En este tiempo T2 se cambia un registro
"A" en la base de datos del Dispositivo 1. Este cambio es
registrado en el historial de cambios 200 junto con una marca de
tiempo = 3:00 pm, que indica el momento del cambio. A continuación
se cambia de nuevo el reloj del Dispositivo 1, esta vez hacia
atrás, de manera que en un tiempo indicado T3, aquel y el reloj del
Dispositivo 2 dan la lectura 2:30 pm. En este tiempo T3 se realiza
de nuevo una operación de sincronización rápida entre las bases de
datos del Dispositivo 1 y el Dispositivo 2. Sin embargo, debido a
que la marca de tiempo asociada con el cambio al registro "A"
en el tiempo T2 indica que el cambio tuvo lugar a las 3:00 pm (es
decir, un tiempo posterior al tiempo presente de 2:30 pm), el cambio
en el registro "A" es ignorado en la operación de
sincronización, perdiéndose efectivamente estos datos.
Es posible poner todavía otros ejemplos en los
que un cambio en un reloj origina una operación de sincronización
rápida para perder efectivamente uno o más cambios en registros de
la base de datos.
Por lo tanto, sería deseable proporcionar
técnicas y aparatos que permitieran no sólo el uso de historiales
de cambios para sincronizar bases de datos, sino también acomodar el
movimiento de dispositivos portátiles a través de zonas de
tiempo.
El documento US 5666530 describe un ordenador
sostenido en la mano en el que bases de datos contenidas en un
ordenador principal y el ordenador sostenido en la mano son
sincronizadas automáticamente si ha ocurrido un tiempo transcurrido
dado desde el último intento de sincronizar.
El documento US 58324489 describe un método de
sincronizar bases de datos contenidas en un ordenador principal y un
ordenador de mano.
Se ha de enfatizar que las expresiones
"comprende" y "que comprende", cuando se utilizan en esta
memoria, son tomadas para especificar la presencia de
características, integridades, pasos o componentes indicados; pero
el uso de estas expresiones no impide la presencia o adición de una
o más de otras características, integridades, pasos, componentes o
grupos de los mismos.
De acuerdo con la presente invención, el
precedente y otros objetos se consiguen con el método, el aparato y
los medios de almacenamiento legibles con ordenador, que sincronizan
una primera base de datos con una segunda base de datos, en que la
primera base de datos está situada en un terminal móvil, y en que el
método, el aparato y los medios de almacenamiento legibles por
ordenador comprenden el establecimiento de un indicador de acuerdo
con las características de las reivindicaciones 1, 6 y 11,
respectivamente.
El indicador puede ser datos dedicados a esa
finalidad. Sin embargo, en realizaciones alternativas, el
establecimiento del indicador puede comprender, en su lugar,
cambiar un valor de un identificador de base de datos. Puesto que
el identificador de base de datos será comunicado de cualquier modo
entre las dos bases de datos, no necesita que sea comunicada
información adicional meramente para la finalidad de indicar que se
ha de realizar una sincronización plena.
Si no se establece el identificador, puede ser
realizada en su lugar una sincronización rápida de la primera base
de datos con la segunda base de datos.
Además, si se desea establecer una técnica de
sincronización por defecto, puede ser repuesto el indicador después
de realizar la sincronización plena de la primera base de datos con
la segunda base de datos.
Los objetos y ventajas de la invención se
comprenderán mediante la lectura de la siguiente descripción
detallada en relación con los dibujos, en los cuales:
La figura 1 es un esquema de bloques que ilustra
una técnica convencional para sincronizar bases de datos entre
dispositivos;
La figura 2 es un esquema de bloques que ilustra
una modificación de la técnica y del sistema de la figura 1, en la
que se introducen historiales de cambios en cada dispositivo para
sincronizar la base de datos;
La figura 3 ilustra un escenario en el que el
cambio del reloj en un dispositivo puede originar que ocurran
resultados erróneos cuando se realiza una operación subsiguiente
convencional de sincronización de base de datos.
La figura 4 ilustra un escenario en el que el
cambio del reloj en un dispositivo puede hacer que ocurran
resultados erróneos cuando se realiza una subsiguiente operación
convencional de sincronización de base de datos;
La figura 5 es un diagrama de flujo que ilustra
pasos ejemplares que pueden ser realizados por una entidad de
sincronización para seleccionar qué tipo de sincronización realizar,
de acuerdo con la invención; y
La figura 6 es un diagrama de flujo que
representa los pasos a realizar por un dispositivo para asegurar que
se realizará cuando sea necesario una operación de sincronización
plena en lugar de rápida.
Las diversas características de la invención se
describirán ahora con respecto a las figuras, en las que partes
análogas están identificadas con los mismos caracteres de
referencia.
La siguiente descripción está expuesta en
términos de un sistema de radioteléfono celular, pero se entenderá
que la invención no está limitada a ese entorno. Más concretamente,
la siguiente descripción está expuesta usando términos que pueden
estar asociados con sistemas flexibles de GSM (por ejemplo,
terminales que utilizan tarjetas de SIM), pero los expertos en la
técnica entenderán que la presente invención puede ser ejecutada en
otras aplicaciones de manejo de comunicación/información que
incluyan las que estén diseñadas de acuerdo con otras normas, tales
como IS-95 ó PDC, así como las que usen otras
metodologías de acceso, tales como CDMA. Además, las siguientes
técnicas son también aplicables a la sincronización de bases de
datos entre cualesquiera dos dispositivos de
información/comunicación.
La invención se describirá ahora con mayor
detalle de acuerdo con varias realizaciones ejemplares. Para
facilitar el entendimiento de la invención, muchos aspectos de la
invención se describen en términos de secuencias de acciones a
realizar por elementos de un sistema de ordenador. Se reconocerá que
en cada una de las realizaciones, las diversas acciones pueden ser
realizadas por circuitos especializados (por ejemplo, puertas
lógicas discretas o individuales interconectadas para realizar una
función especializada), por instrucciones de programa que sean
ejecutadas por uno o más ordenadores programables, o por una
combinación de ambos. Además, la invención puede ser adicionalmente
considerada incorporada totalmente dentro de cualquier forma de
medio de almacenamiento legible por ordenador que tenga almacenado
en el mismo un conjunto apropiado de instrucciones de ordenador que
haga que un ordenador realice las técnicas descritas en esta
memoria. De este modo, los diversos aspectos de la invención pueden
ser incorporados de muchas formas diferentes, y se contempla que
todas las citadas formas estén dentro del alcance de la invención.
Para cada uno de los diversos aspectos de la invención, se puede
hacer referencia aquí a cualquiera de tales formas de realización
como "lógica configurada para" realizar una acción
descrita.
Como se ha mencionado antes, es posible que un
sistema soporte sincronización tanto plena como rápida. En tales
sistemas, es posible seleccionar uno para usar como la operación por
defecto. Por ejemplo, la sincronización rápida puede ser el tipo de
sincronización que es realizada en la mayoría de los casos. La
invocación de sincronización plena de dos bases de datos cuando
está disponible la sincronización rápida puede ser entonces
realizada proporcionando algún tipo de indicador para la entidad de
sincronización, que dé instrucciones de que se ha de realizar una
sincronización plena. Un tal indicador puede tener la forma de, por
ejemplo, un cambio aleatorio o por incrementos del valor del
identificador de base de datos (DID) que se hace pasar entre los
dispositivos como parte del proceso de sincronización.
La figura 5 es un diagrama de flujo que ilustra
pasos ejemplares que pueden ser realizados por una entidad de
sincronización para seleccionar qué tipo de sincronización se ha de
efectuar. La entidad de sincronización se basa en dos indicadores:
un indicador generado localmente (TIPO SINC LOCAL), y uno que es
proporcionado por el otro dispositivo (TIPO SINC DISTANTE). La
razón de que haya dos indicadores es debida a que el dispositivo
que indica el proceso de sincronización puede no ser el mismo
dispositivo que haya determinado que se solicita una operación de
sincronización plena en lugar de una
rápida.
rápida.
Estos indicadores pueden ser variables
espacialmente adjudicadas que sean reservadas exclusivamente para
esta finalidad. Sin embargo, este no es un aspecto esencial de la
invención. Por ejemplo, cualquiera o ambos de estos indicadores
puede adoptar la forma de un cambio de un valor de identificador de
base de datos (DID). Tales realizaciones tienen la ventaja de que
el valor de DID es usualmente uno de los parámetros que son
intercambiados entre bases de datos como parte del historial de
cambios. De este modo, se puede eliminar la necesidad de más
parámetros adicionales de intercambio (es decir, indicadores de tipo
sinc). La estrategia particular adoptada en cualquier sistema
particular no es crítica y se puede dejar al criterio del diseñador
individual. Por razones de simplicidad, la realización ejemplar
utiliza indicadores que están dedicados a esta finalidad.
Para comenzar el proceso de sincronización, se
recupera un indicador TIPO SINC LOCAL, por ejemplo de un dispositivo
de memoria local (paso 501). (En realizaciones en las que un cambio
de DID indica la necesidad de realizar una sincronización plena, la
recuperación del indicador TIPO SINC LOCAL puede significar la
comparación de un DID presente con un DID que fue evitado en el
momento de la última operación de sincronización). El indicador
proporcionado por el otro dispositivo (indicador TIPO SINC DISTANTE)
es recibido también (paso 503).
Entonces se prueban los valores de los dos
indicadores. Por ejemplo, el TIPO SINC LOCAL puede ser probado en
primer lugar (bloque de decisión 505). Si este indica que se
requiere una sincronización plena (salida "SI" del bloque de
decisión 505), entonces el indicador TIPO SINC LOCAL es devuelto a
su valor por defecto (es decir, establecido para indicar que se ha
de realizar una sincronización rápida) (paso 507) y que se realiza
una sincronización plena (paso 509). El establecimiento del
indicador TIPO SINC LOCAL en su valor por defecto asegura que, a
menos que se tomen acciones expresas a efectuar de otro modo, la
operación por defecto será realizada cuando se invoque el siguiente
tiempo una operación de sincronización.
Si el indicador TIPO SINC LOCAL no solicita una
sincronización plena (salida "NO" del bloque de decisión 505),
es probado el TIPO SINC DISTANTE (bloque de decisión 511). Si el
indicador TIPO SINC DISTANTE indica que se ha de realizar una
sincronización plena (salida "SI" del bloque de decisión 511),
entonces se realiza una operación de sincronización plena (paso
509).
Alternativamente, si el indicador TIPO SINC
DISTANTE no indica que se debe realizar una sincronización plena
(salida "NO" del bloque de decisión 511), entonces se realiza
una sincronización rápida (paso 513).
Volviendo ahora al problema de "disparo de
tiempo" que fue descrito en la sección ANTECEDENTES de esta
descripción, de acuerdo con la invención este problema es enfocado
haciendo que sea realizada una operación de sincronización plena en
lugar de rápida siempre que esa operación de sincronización siga una
operación de cambio de tiempo. Más particularmente, una operación
de sincronización plena ha de ser realizada si sigue un cambio en el
que el temporizador del dispositivo es establecido a un tiempo
anterior. También se permite, aunque no se requiere, que sea
realizada una operación de sincronización plena si sigue un cambio
en el que el temporizador del dispositivo es fijado en un tiempo
posterior. Esto asegurará que la sincronización no será dependiente
de valores de marca de tiempo, sino que, en su lugar, será hecha
comparando registros entre dos bases de datos, uno de cada vez.
La figura 6 es un diagrama de flujo que
representa los pasos que se han de realizar por un dispositivo para
asegurar que se realice, cuando sea necesario, una operación de
sincronización plena en lugar de rápida. En primer lugar, se
realiza una prueba para determinar si el valor del temporizador
local del dispositivo ha sido ajustado a un valor anterior (bloque
de decisión 601), Si lo ha sido (salida "SI" del bloque de
decisión 601), entonces el indicador tipo de sincronización local
es establecido para indicar que se ha de realizar una operación de
sincronización plena (paso 603). De otro modo, se salta este paso
(salida "NO" del bloque de decisión 601). En algunas
realizaciones, el indicador tipo sincronización puede adoptar la
forma de un valor de DID cambiado.
La invención resuelve el problema de "disparo
de tiempo", haciendo con ello posible utilizar marcas de tiempo
para sincronización de bases de datos. La solución puede no ser
óptima, pero tiene la ventaja de evitar la pérdida de datos. Cada
vez que el usuario cambia el tiempo en el dispositivo (o al menos
cada vez que el usuario cambia el tiempo en el dispositivo a un
tiempo anterior), se realizada una sincronización plena, en la cual
todos los datos almacenados en el dispositivo son leídos, y
comparados con la base de datos del otro dispositivo.
Las diferencias son identificadas y actualizadas
en ambos dispositivos. Para aquellas situaciones en conflicto, en
las cuales ha sido modificado un mismo registro en las bases de
datos de ambos dispositivos sin ninguna posibilidad de determinar
exactamente qué modificación es la más reciente, se puede adoptar la
política de seleccionar siempre el registro de uno particular de los
dispositivos (por ejemplo, usando siempre la modificación que fue
hecha en el PC).
La invención ha sido descrita con referencia a
una realización particular. Sin embargo, resultará fácilmente
evidente para los expertos en la técnica que es posible realizar la
invención en formas concretas distintas a la realización preferida
descrita anteriormente sin apartarse del campo de la invención,
determinado por las reivindicaciones adjuntas. La realización
preferida es meramente ilustrativa y no ha de ser en absoluto
considerada restrictiva.
Claims (15)
1. Un método de sincronizar una primera base de
datos con una segunda base de datos, en el que la primera base de
datos está situada en un terminal móvil, estando el método
caracterizado por
- establecer (507, 509) un indicador en un valor de indicador en respuesta a la detección de que ha sido cambiado un reloj en el terminal móvil; y
- realizar selectivamente ya sea una sincronización plena (509) o una sincronización rápida (513) de la primera base de datos con la segunda base de datos de acuerdo con el valor del indicador.
2. El método de la reivindicación 1, en el que
el reloj del terminal móvil es cambiado por el usuario del terminal
móvil.
3. El método de la reivindicación 1 o la 2, en
el que el establecimiento (507, 509) del indicador comprende cambiar
un valor de un identificador de base de datos.
4. El método de la reivindicación 1 o la 2, en
el que se realiza una sincronización rápida (513) de la primera
base de datos con la segunda base de datos si el indicador no está
establecido y se realiza una sincronización plena (509) de la
primera base de datos con la segunda base de datos si el indicador
está establecido.
5. El método de la reivindicación 1 o la 2, que
comprende además:
- reponer el indicador después de realizar la sincronización plena (509) de la primera base de datos con la segunda base de datos.
6. Un aparato para sincronizar una primera base
de datos con una segunda base de datos, en el que la primera base de
datos está situada en un terminal móvil, estando el aparato
caracterizado por:
- lógica que establece un indicador en un valor de indicador en respuesta a la detección de que ha sido cambiado un reloj del terminal móvil; y
- lógica que realiza selectivamente ya sea una sincronización plena o una sincronización rápida de la primera base de datos con la segunda base de datos de acuerdo con el valor del indicador.
7. El aparato de la reivindicación 6, en el que
el reloj del terminal móvil es cambiado por el usuario del terminal
móvil.
8. El aparato de la reivindicación 6 o la 7, en
el que la lógica que establece el indicador comprende lógica que
cambia un valor de un identificador de base de datos.
9. El aparato de la reivindicación 6 o la 7, en
el que se realiza una sincronización rápida de la primera base de
datos con la segunda base de datos si el indicador no está
establecido y se realiza una sincronización plena de la primera
base de datos con la segunda base de datos si el indicador está
establecido.
10. El aparato de la reivindicación 6 o la 7,
que comprende además:
- lógica que repone el indicador después de realizarse la sincronización plena de la primera base de datos con la segunda base de datos.
11. Un medio de almacenamiento legible por
ordenador, que tiene almacenadas en el mismo instrucciones que
sincronizan una primera base de datos con una segunda base de datos,
en el que la primera base de datos está situada en un terminal
móvil, estando las instrucciones de programa caracterizadas
por:
- instrucciones de programa que establecen un indicador en un valor de indicador en respuesta a detectar que ha sido cambiado un reloj del terminal móvil; e
- instrucciones de programa que realizan selectivamente ya sea una sincronización plena o una sincronización rápida de la primera base de datos con la segunda base de datos de acuerdo con el valor del indicador.
12. El medio de almacenamiento legible por
ordenador de la reivindicación 11, en el que el reloj del terminal
móvil es cambiado por el usuario del terminal móvil.
13. El medio de almacenamiento legible por
ordenador de la reivindicación 11 o la 12, en el que las
instrucciones de programa que establecen el indicador comprenden
instrucciones de ordenador que cambian un valor de un identificador
de base de datos.
14. El medio de almacenamiento legible por
ordenador de la reivindicación 11 o la 12, en el que se realiza una
sincronización rápida de la primera base de datos con la segunda
base de datos si el indicador no está establecido y se realiza una
sincronización plena de la primera base de datos con la segunda base
de datos si el indicador está establecido.
15. El medio de almacenamiento legible por
ordenador de la reivindicación 11 o la 12, que comprende
además:
- instrucciones de programa que reponen el indicador después de realizar la sincronización plena de la primera base de datos con la segunda base de datos.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/645,305 US6718348B1 (en) | 2000-08-25 | 2000-08-25 | Non-time dependent synchronization of databases |
US645305 | 2000-08-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2278774T3 true ES2278774T3 (es) | 2007-08-16 |
Family
ID=24588486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES01965203T Expired - Lifetime ES2278774T3 (es) | 2000-08-25 | 2001-08-21 | Sincronizacion de bases de datos no dependiente del tiempo. |
Country Status (8)
Country | Link |
---|---|
US (1) | US6718348B1 (es) |
EP (1) | EP1311991B1 (es) |
CN (1) | CN100430931C (es) |
AT (1) | ATE352818T1 (es) |
AU (1) | AU2001285896A1 (es) |
DE (1) | DE60126288T2 (es) |
ES (1) | ES2278774T3 (es) |
WO (1) | WO2002017134A1 (es) |
Families Citing this family (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001093226A (ja) | 1999-09-21 | 2001-04-06 | Sony Corp | 情報通信システムおよび方法、ならびに、情報通信装置および方法 |
JP4507319B2 (ja) * | 1999-12-17 | 2010-07-21 | ソニー株式会社 | 情報処理装置、情報処理方法、プログラム、および記録媒体、端末装置、並びに、システムおよびシステムの方法 |
US6671757B1 (en) | 2000-01-26 | 2003-12-30 | Fusionone, Inc. | Data transfer and synchronization system |
US7035878B1 (en) | 2000-01-25 | 2006-04-25 | Fusionone, Inc. | Base rolling engine for data transfer and synchronization system |
US8620286B2 (en) | 2004-02-27 | 2013-12-31 | Synchronoss Technologies, Inc. | Method and system for promoting and transferring licensed content and applications |
US8156074B1 (en) | 2000-01-26 | 2012-04-10 | Synchronoss Technologies, Inc. | Data transfer and synchronization system |
US8073954B1 (en) | 2000-07-19 | 2011-12-06 | Synchronoss Technologies, Inc. | Method and apparatus for a secure remote access system |
US7895334B1 (en) | 2000-07-19 | 2011-02-22 | Fusionone, Inc. | Remote access communication architecture apparatus and method |
US6925476B1 (en) * | 2000-08-17 | 2005-08-02 | Fusionone, Inc. | Updating application data including adding first change log to aggreagate change log comprising summary of changes |
US7818435B1 (en) | 2000-12-14 | 2010-10-19 | Fusionone, Inc. | Reverse proxy mechanism for retrieving electronic content associated with a local network |
US20020138603A1 (en) * | 2001-03-20 | 2002-09-26 | Robohm Kurt W. | Systems and methods for updating IP communication service attributes |
US8660017B2 (en) * | 2001-03-20 | 2014-02-25 | Verizon Business Global Llc | Systems and methods for updating IP communication service attributes using an LDAP |
US8615566B1 (en) | 2001-03-23 | 2013-12-24 | Synchronoss Technologies, Inc. | Apparatus and method for operational support of remote network systems |
US7363388B2 (en) * | 2001-03-28 | 2008-04-22 | Siebel Systems, Inc. | Method and system for direct server synchronization with a computing device |
JP4936037B2 (ja) * | 2001-08-31 | 2012-05-23 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
US7257649B2 (en) * | 2001-09-28 | 2007-08-14 | Siebel Systems, Inc. | Method and system for transferring information during server synchronization with a computing device |
US7761535B2 (en) | 2001-09-28 | 2010-07-20 | Siebel Systems, Inc. | Method and system for server synchronization with a computing device |
US7415539B2 (en) * | 2001-09-28 | 2008-08-19 | Siebel Systems, Inc. | Method and apparatus for detecting insufficient memory for data extraction processes |
US7526575B2 (en) * | 2001-09-28 | 2009-04-28 | Siebel Systems, Inc. | Method and system for client-based operations in server synchronization with a computing device |
JP4204977B2 (ja) * | 2001-10-22 | 2009-01-07 | アップル インコーポレイテッド | メディアプレーヤーのためのインテリジェントなシンクロ操作 |
US20030167318A1 (en) * | 2001-10-22 | 2003-09-04 | Apple Computer, Inc. | Intelligent synchronization of media player with host computer |
US7814068B2 (en) * | 2001-11-16 | 2010-10-12 | Gemalto Sa | Identifying changed records in a file stored on an electronic token |
GB0128243D0 (en) * | 2001-11-26 | 2002-01-16 | Cognima Ltd | Cognima patent |
JP4279499B2 (ja) * | 2002-03-01 | 2009-06-17 | シャープ株式会社 | 情報処理装置 |
US7680849B2 (en) | 2004-10-25 | 2010-03-16 | Apple Inc. | Multiple media type synchronization between host computer and media device |
US7827259B2 (en) * | 2004-04-27 | 2010-11-02 | Apple Inc. | Method and system for configurable automatic media selection |
US7797446B2 (en) * | 2002-07-16 | 2010-09-14 | Apple Inc. | Method and system for updating playlists |
US9715500B2 (en) * | 2004-04-27 | 2017-07-25 | Apple Inc. | Method and system for sharing playlists |
US9412417B2 (en) | 2002-04-05 | 2016-08-09 | Apple Inc. | Persistent group of media items for a media device |
US8150937B2 (en) * | 2004-10-25 | 2012-04-03 | Apple Inc. | Wireless synchronization between media player and host device |
EP1383054A1 (en) * | 2002-07-19 | 2004-01-21 | SCHLUMBERGER Systèmes | Data synchronization procedures for smartcards |
US7956272B2 (en) | 2002-07-30 | 2011-06-07 | Apple Inc. | Management of files in a personal communication device |
US7166791B2 (en) * | 2002-07-30 | 2007-01-23 | Apple Computer, Inc. | Graphical user interface and methods of use thereof in a multimedia player |
US7127475B2 (en) * | 2002-08-15 | 2006-10-24 | Sap Aktiengesellschaft | Managing data integrity |
US7464097B2 (en) * | 2002-08-16 | 2008-12-09 | Sap Ag | Managing data integrity using a filter condition |
US20040049476A1 (en) * | 2002-09-06 | 2004-03-11 | Sai Sanjay K. | Efficient data management system |
GB0229572D0 (en) * | 2002-12-19 | 2003-01-22 | Cognima Ltd | Quality of service provisioning |
EP1443423A1 (en) * | 2003-01-28 | 2004-08-04 | Bombardier Transportation (Technology) Germany GmbH | Apparatus and method for data replication in a data network |
US8645471B2 (en) | 2003-07-21 | 2014-02-04 | Synchronoss Technologies, Inc. | Device message management system |
US8880735B2 (en) * | 2003-09-05 | 2014-11-04 | Sierra Wireless, Inc. | Mail server based application record synchronization |
CN100337420C (zh) * | 2003-12-17 | 2007-09-12 | 财团法人资讯工业策进会 | 资料同步系统的验证与测试方法及装置 |
KR100547896B1 (ko) * | 2004-03-05 | 2006-01-31 | 삼성전자주식회사 | 데이터 동기화 시스템 및 서버와 클라이언트의 데이터동기화 방법 |
KR20070038462A (ko) | 2004-05-12 | 2007-04-10 | 퓨전원 인코포레이티드 | 향상된 접속 인식 시스템 |
US9542076B1 (en) | 2004-05-12 | 2017-01-10 | Synchronoss Technologies, Inc. | System for and method of updating a personal profile |
US7363327B2 (en) * | 2004-05-28 | 2008-04-22 | International Business Machines Corporation | Change log handler for synchronizing data sources |
US20070110074A1 (en) | 2004-06-04 | 2007-05-17 | Bob Bradley | System and Method for Synchronizing Media Presentation at Multiple Recipients |
US10972536B2 (en) | 2004-06-04 | 2021-04-06 | Apple Inc. | System and method for synchronizing media presentation at multiple recipients |
US8797926B2 (en) | 2004-06-04 | 2014-08-05 | Apple Inc. | Networked media station |
US8443038B2 (en) | 2004-06-04 | 2013-05-14 | Apple Inc. | Network media device |
JP4484618B2 (ja) | 2004-07-30 | 2010-06-16 | 株式会社日立製作所 | ディザスタリカバリシステム、プログラム及びデータの複製方法 |
US8261246B1 (en) | 2004-09-07 | 2012-09-04 | Apple Inc. | Method and system for dynamically populating groups in a developer environment |
US11314378B2 (en) | 2005-01-07 | 2022-04-26 | Apple Inc. | Persistent group of media items for a media device |
US7958441B2 (en) * | 2005-01-07 | 2011-06-07 | Apple Inc. | Media management for groups of media items |
US7788225B2 (en) * | 2005-03-18 | 2010-08-31 | Oracle International Corporation | Apparatus and method for identifying asynchronous data in redundant data stores and for re-synchronizing same |
JP4182083B2 (ja) * | 2005-05-12 | 2008-11-19 | キヤノン株式会社 | ネットワークに接続されたネットワーク機器を管理する装置、方法、及びプログラム |
US8001076B2 (en) * | 2005-07-12 | 2011-08-16 | International Business Machines Corporation | Ranging scalable time stamp data synchronization |
DE102006024882A1 (de) * | 2006-05-24 | 2007-11-29 | Sagem Orga Gmbh | Chipkarte |
KR100834622B1 (ko) * | 2006-06-26 | 2008-06-02 | 삼성전자주식회사 | 가상의 메신저 서비스를 제공하는 방법 및 이를 위한시스템 |
US8850140B2 (en) | 2007-01-07 | 2014-09-30 | Apple Inc. | Data backup for mobile device |
US8631088B2 (en) | 2007-01-07 | 2014-01-14 | Apple Inc. | Prioritized data synchronization with host device |
US20080168185A1 (en) * | 2007-01-07 | 2008-07-10 | Robbin Jeffrey L | Data Synchronization with Host Device in Accordance with Synchronization Preferences |
US10083184B2 (en) * | 2007-01-07 | 2018-09-25 | Apple Inc. | Widget synchronization in accordance with synchronization preferences |
US7809593B2 (en) * | 2007-05-16 | 2010-10-05 | Amadeus S.A.S. | Method and system for automatically keeping travel data consistent between passenger reservation records and corresponding electronic tickets |
US8046369B2 (en) | 2007-09-04 | 2011-10-25 | Apple Inc. | Media asset rating system |
EP2073510A1 (fr) * | 2007-12-21 | 2009-06-24 | Gemplus | Procédé d'enrichissement d'un annuaire électronique provoqué par un changement dans le téléphone associé, et dispositif lié |
US8181111B1 (en) | 2007-12-31 | 2012-05-15 | Synchronoss Technologies, Inc. | System and method for providing social context to digital activity |
EP2275951A1 (en) * | 2009-07-17 | 2011-01-19 | Accenture Global Services GmbH | A data processing method, system, and computer program product |
US8255006B1 (en) | 2009-11-10 | 2012-08-28 | Fusionone, Inc. | Event dependent notification system and method |
CN101719149B (zh) * | 2009-12-03 | 2012-02-08 | 联动优势科技有限公司 | 数据同步方法及装置 |
US8943428B2 (en) | 2010-11-01 | 2015-01-27 | Synchronoss Technologies, Inc. | System for and method of field mapping |
US9043278B1 (en) | 2012-05-09 | 2015-05-26 | Bertec Corporation | System and method for the merging of databases |
US8700569B1 (en) | 2012-05-09 | 2014-04-15 | Bertec Corporation | System and method for the merging of databases |
US8543540B1 (en) * | 2012-05-09 | 2013-09-24 | Bertec Corporation | System and method for the merging of databases |
WO2013170443A1 (en) * | 2012-05-15 | 2013-11-21 | Nokia Corporation | Method and apparatus for coupon redemption based on connectivity and spatial configuration |
CN107391607B (zh) * | 2017-06-30 | 2023-06-23 | 北京拉近众博科技有限公司 | 一种协同变更关联数据项的方法及装置 |
US11297369B2 (en) | 2018-03-30 | 2022-04-05 | Apple Inc. | Remotely controlling playback devices |
US10783929B2 (en) | 2018-03-30 | 2020-09-22 | Apple Inc. | Managing playback groups |
US10993274B2 (en) | 2018-03-30 | 2021-04-27 | Apple Inc. | Pairing devices by proxy |
US10614857B2 (en) | 2018-07-02 | 2020-04-07 | Apple Inc. | Calibrating media playback channels for synchronized presentation |
CN110992961A (zh) * | 2019-12-06 | 2020-04-10 | 广州国音智能科技有限公司 | 音频数据同步方法、装置及计算机可读存储介质 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5666530A (en) * | 1992-12-02 | 1997-09-09 | Compaq Computer Corporation | System for automatic synchronization of common file between portable computer and host computer via communication channel selected from a plurality of usable channels there between |
US5966714A (en) * | 1995-04-28 | 1999-10-12 | Intel Corporation | Method and apparatus for scaling large electronic mail databases for devices with limited storage |
US5742820A (en) * | 1995-07-06 | 1998-04-21 | Novell, Inc. | Mechanism for efficiently synchronizing information over a network |
WO1997004389A1 (en) * | 1995-07-20 | 1997-02-06 | Novell, Inc. | Transaction synchronization in a disconnectable computer and network |
US5727202A (en) * | 1995-10-18 | 1998-03-10 | Palm Computing, Inc. | Method and apparatus for synchronizing information on two different computer systems |
US5924094A (en) * | 1996-11-01 | 1999-07-13 | Current Network Technologies Corporation | Independent distributed database system |
US6125368A (en) * | 1997-02-28 | 2000-09-26 | Oracle Corporation | Fault-tolerant timestamp generation for multi-node parallel databases |
JP4575591B2 (ja) * | 1997-10-24 | 2010-11-04 | マイクロソフト コーポレーション | モバイルデバイスからのミーティング要求およびグループスケジューリング生成 |
JP3534596B2 (ja) * | 1997-12-05 | 2004-06-07 | 富士通株式会社 | インテリジェントネットワーク内のデータベースの同期方法と装置 |
US6295541B1 (en) * | 1997-12-16 | 2001-09-25 | Starfish Software, Inc. | System and methods for synchronizing two or more datasets |
US6243702B1 (en) * | 1998-06-22 | 2001-06-05 | Oracle Corporation | Method and apparatus for propagating commit times between a plurality of database servers |
US6449622B1 (en) * | 1999-03-08 | 2002-09-10 | Starfish Software, Inc. | System and methods for synchronizing datasets when dataset changes may be received out of order |
US6560700B1 (en) * | 1998-11-17 | 2003-05-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Protocol for synchronizing parallel processors in a mobile communication system |
JP2000163344A (ja) * | 1998-11-27 | 2000-06-16 | Nec Corp | ネットワーク管理システムのデータベース復旧方式 |
US6393419B1 (en) * | 1999-02-08 | 2002-05-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Multipoint database synchronization protocol to avoid data corruption |
SE515459C2 (sv) * | 1999-02-10 | 2001-08-06 | Ericsson Telefon Ab L M | Metod för att synkronisera en värddatabas och en fjärrdatabas |
US6247135B1 (en) * | 1999-03-03 | 2001-06-12 | Starfish Software, Inc. | Synchronization process negotiation for computing devices |
-
2000
- 2000-08-25 US US09/645,305 patent/US6718348B1/en not_active Expired - Lifetime
-
2001
- 2001-08-21 ES ES01965203T patent/ES2278774T3/es not_active Expired - Lifetime
- 2001-08-21 AU AU2001285896A patent/AU2001285896A1/en not_active Abandoned
- 2001-08-21 EP EP01965203A patent/EP1311991B1/en not_active Expired - Lifetime
- 2001-08-21 CN CNB018179525A patent/CN100430931C/zh not_active Expired - Fee Related
- 2001-08-21 AT AT01965203T patent/ATE352818T1/de not_active IP Right Cessation
- 2001-08-21 DE DE60126288T patent/DE60126288T2/de not_active Expired - Lifetime
- 2001-08-21 WO PCT/EP2001/009610 patent/WO2002017134A1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
AU2001285896A1 (en) | 2002-03-04 |
EP1311991B1 (en) | 2007-01-24 |
WO2002017134A1 (en) | 2002-02-28 |
CN1633656A (zh) | 2005-06-29 |
US6718348B1 (en) | 2004-04-06 |
DE60126288D1 (de) | 2007-03-15 |
CN100430931C (zh) | 2008-11-05 |
EP1311991A1 (en) | 2003-05-21 |
ATE352818T1 (de) | 2007-02-15 |
DE60126288T2 (de) | 2007-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2278774T3 (es) | Sincronizacion de bases de datos no dependiente del tiempo. | |
US6968209B1 (en) | Method and apparatus for synchronizing databases in portable communication devices | |
ES2317968T3 (es) | Sistema y procedimiento de recuperacion de una sesion de sincronizacion fallida. | |
EP1030477B1 (en) | Method and circuit arrangement for implementing inter-system synchronization in a multimode device | |
KR20050079128A (ko) | 이동 통신 단말기의 사용제한 설정 방법 | |
TWI329249B (en) | Hybrid computer security clock | |
CN108062235B (zh) | 数据处理方法及装置 | |
EP4213037A1 (en) | Data storage and reconciliation method and system | |
US8385203B2 (en) | Resending control circuit, sending device, resending control method and resending control program | |
US8244670B2 (en) | System and method for reliable symmetric data synchronization | |
CN102073733A (zh) | 哈希表管理方法及装置 | |
CN106959819B (zh) | 数据存储方法、装置和系统以及便携式电子设备 | |
CN108776670A (zh) | 一种异地容灾方法、系统和电子设备 | |
US8438198B2 (en) | File sharing device in an integrated circuit | |
JP2003044161A (ja) | クロック制御方法及びクロック制御回路並びにicカードリード及び/又はライト装置 | |
CN116401081B (zh) | 数据共享方法 | |
KR200151265Y1 (ko) | 시분할다중접속방식의 gsm단말기를 위한 카운터회로 | |
JP2001127728A (ja) | 受信回路 | |
JP7322777B2 (ja) | 通信装置、情報処理方法、およびシステム | |
CN109271277A (zh) | 数据库宕机后的访问方法、装置和系统 | |
CN111104412B (zh) | 基于单线程的并发控制方法、装置和系统 | |
CN107329148A (zh) | 一种提高车载系统重置后gps定位速度的方法和系统 | |
JP2000163539A (ja) | Icカード | |
JP4049638B2 (ja) | 二重通信システム携帯端末装置 | |
CN110049478A (zh) | 报文传输方法、装置、设备及机器可读存储介质 |