MXPA01002852A - Sistema para la sincronizacion y organizacion de bases de datos y metodo para el mismo. - Google Patents

Sistema para la sincronizacion y organizacion de bases de datos y metodo para el mismo.

Info

Publication number
MXPA01002852A
MXPA01002852A MXPA01002852A MXPA01002852A MXPA01002852A MX PA01002852 A MXPA01002852 A MX PA01002852A MX PA01002852 A MXPA01002852 A MX PA01002852A MX PA01002852 A MXPA01002852 A MX PA01002852A MX PA01002852 A MXPA01002852 A MX PA01002852A
Authority
MX
Mexico
Prior art keywords
data
server
client computer
database
groups
Prior art date
Application number
MXPA01002852A
Other languages
English (en)
Inventor
Sanjoy Malik
Original Assignee
Synchrologic Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Synchrologic Inc filed Critical Synchrologic Inc
Publication of MXPA01002852A publication Critical patent/MXPA01002852A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

La presente invencion provee un metodo que reduce el almacenaje y procesamiento requerido en un sistema ICDB. La reduccion en el procesamiento mejora la habilidad en un servidor para manejar mas clientes con computadora. Mas particularmente, la presente invencion provee un metodo para sincronizar sistemas de clientes con computadora con una base de datos de un servidor al dividir los datos para ser distribuidos desde una base de datos de un servidor entre grupos y asignando uno o mas de los grupos a cada sistema de computadora del cliente. Los cambios de datos en los grupos son almacenados para ser mandados a los clientes subscritos a los grupos. Cuando un sistema de computadora del cliente marca o se conecta al servidor, este manda los cambios hechos a su base de datos local al servidor. El servidor puede entonces actualizar su base de datos con cambios enviados por el cliente. Despues de realizar la actualizacion a su base de datos, el servidor determina que grupos comparten los cambios hechos, y crea archivos de modificacion para estos grupos. Los clientes pueden entonces bajar los archivos de modificacion para cada uno de los grupos a los cuales el cliente se suscribe. Los archivos de modificacion pueden contener datos superfluos, ellos son evaluados por el cliente para determinar si ciertas actualizaciones deberan ser aplicadas o descartadas. Cada cliente contiene una lista de los grupos a los que se suscribe. Cuando un cliente se conecta al servidor, el cliente solicita la modificacion de archivos correspondientes a los grupos a los que se suscribe, fusiona los archivos de modificacion bajados, filtra la informacion superflua y actualiza su base de datos local. Por lo tanto, es un objetivo de la presente invencion proveer un metodo de sincronizacion de base de datos y un sistema que mejore la habilidad de un sistema de base de datos de un servidor para manejar un mayor numero de clientes con computadora. Es el objetivo de la presente invencion lograr esto al agrupar los datos para mejorar la escalabilidad del sistema de base de datos. Estos y otros objetivos seran aparentes para aquellos que conocen el ramo al revisar los dibujos y las descripciones aqui contenidas. Breve descripcion de las ilustraciones La figura 1 es un diagrama de un ICDB. La figura 2 es un diagrama detallado de componentes cliente y componentes servidor utilizados durante una actualizacion de un cliente por el servidor. Las ilustraciones 3a, 3b y 3c son ejemplos de la agrupacion de datos en una base de datos del servidor y asociacion de clientes con estos grupos de acuerdo a los principios de la presente invencion. La ilustracion 4 es un diagrama de un formato de archivo de modificacion utilizado en conexion con la presente invencion. Las ilustraciones 5a, 5b, y 5c son diagramas de flujo de los procesos implementados de acuerdo a lo principios de la presente invencion.

Description

SISTEMA PARA LA SINCRONIZACIÓN Y ORGANIZACIÓN DE BASES DE DATOS Y MÉTODO PARA EL MISMO Área de la invención La presente invención se refiere a un método y sistema para actualizar bases de datos, y de forma mas particular se refiere a un método y sistema -.para sincronizar bases de datos remotas.
Antecedentes de la invención En muchos negocios o empresas, una base de datos del servidor ("central") se utiliza para almacenar datos que son referentes a empleados o usuarios remotos de un negocio. La base de datos del servidor es accesible por medio de sistemas computarizados remotos ("clientes") para incrementar la disponibilidad de información para los usuarios remotos. Al proveer una base de datos del servidor, a la que se pueda acceder por sistemas computarizados remotos, diseminación de información a través de la empresa se incrementa. El acceso remoto a una base de datos del servidor es más crítico en situaciones donde la fuerza de ventas o muchos empleados operan fuera de la oficina.
Por ejemplo, los empleados remotos dependen de la información contenida dentro de la BD para mantenerse informados acerca de los cambios en el inventario, precios, y eventos de la empresa. Más que permanecer conectado a la base de datos del servidor indefinidamente y evitar cargos en telecomunicaciones, los usuarios remotos solamente se conectan a sus computadoras de manera intermitente a un servidor para acceder a la base de datos del servidor. En dichas circunstancias, los SCR generalmente almacenan una porción de la base de datos del servidor localmente, para apoyar la aplicación remota aún cuando el cliente no está conectado al servidor.
Este tipo de conexión intermitente se usa por lo tanto, para mandar solamente los cambios realizados por solicitud del cliente al servidor y un "grupo" pertinente de cambios del servidor al cliente. A este tipo de SCR se le llama base de datos conectada intermitentemente (ICDB). Las ICDB tienen una gran variedad de aplicaciones en la automatización de la fuerza de ventas, proceso de reclamo de los seguros y trabajo móvil en general.
Un resultado importante en comunicación para este tipo de ambientes computacionales, es el eficiente cambio de información entre los clientes y la base de datos del servidor. El término "sincronización de base de datos" se utiliza frecuentemente para describir el proceso de consistencia de mantenimiento de datos e integridad entre la base de datos del servidor y la base de datos del cliente. Hay muchos esquemas de sincronización para mantener consistencia en algunos esquemas conocidos de sincronización de bases de datos, una estampa de fecha es asociada con el cambio de datos que especifica la fecha de la última actualización. La base de datos del servidor y la base de datos del cliente utilizan la misma estampa de fecha para determinar que registros o datos han sido modificados. Otros esquemas utilizan"bit-maps" para marcar los registros que han cambiado.
Otros esquemas usan valores anteriores para denotar los cambios.
Generalmente, solo aquellos registros modificados desde el último cambio de datos son los que se mandan.
En ambientes ICDB, el acceso continuo a una aplicación, requiere que cada cliente mantenga una copia local de los datos que comparte. Además, con conectividad intermitente, el intercambio directo de información entre clientes no es posible, y por consecuencia se requieren intermediarios para facilitar la comunicación entre clientes e intercambio de datos. Tradicionalmente, un servidor de base de datos cuyo esquema y datos consisten de la unión de los esquemas del cliente y los datos, es el papel del intermediario. Este servidor está continuamente disponible para la conexión de los clientes conectados intermitentemente. Las actualizaciones del cliente son mandadas al servidor. El servidor determina el grupo de clientes que comparten estos datos y necesita recibir una copia de la actualización. Así, en este tipo de centro de clientes, el servidor tiene que generar un grupo de datos separados para cada cliente. Desafortunadamente, esto incrementa la complejidad con cada cliente adicional y limitado la escalabilidad con respecto al máximo número de clientes que puede soportar el servidor por cada cliente adicional, el servidor debe repetir el mismo tipo de proceso que hizo para otros clientes.
Existen muchas otras técnicas para asegurar la sincronización. Una técnica para lograr la sincronización de datos para base de datos del servidor se discute en US Patent No. 5,649,195 to Scott, et al (the "195 patent"). En este sistema cada computadora remota contiene una réplica de una base de datos maestra. La computadora central de la patente 195 almacena los cambios récord hechos por la base de datos maestra para una unidad predefinida de tiempo en un archivo. Cada récord cambiado para la misma unidad de tiempo es asociada con el mismo numero de la difusora y el número de secuencia. El número de secuencia identifica el orden secuencial de los registros cambiados en el archivo. El último récord cambiado en el orden secuencial se identifica como el último récord para un número particular de difusión. Para la siguiente unidad de tiempo el número de difusión se incrementa y el número secuencial se coloca en cero. Después de que una unidad predefinida de tiempo ha expirado, el archivo de los registros de cambio se transmite a la base de datos de réplica remota. Las computadoras remotas usan los números secuenciales y la transmisora para verificar el orden de los registros cambiados para determinar si los registros cambiados por la transmisora han sido recibidos y usados correctamente para actualizar la base de datos remota de réplica.
Otro sistema de actualización de información en una base de datos se describe en US Patent No. 5,491,820 to Belove, et al. (the "820 Patent"). La patente 820 se dirige al sistema servidor cliente que utiliza una base de datos al servidor para proveer datos a clientes intermitentemente acoplados. En este sistema, los datos se mantienen en la base de datos. Estas partidas de datos pueden ser transmitidos al cliente acoplado al servidor y posteriormente actualizados al restablecer la comunicación con el servidor. Al llegar la recepción objetiva de datos, un cliente asocia un tiempo de recepción objetiva de datos. Al solicitar una actualización objetiva, el cliente transmite una lista de datos objetivos para ser actualizados en el tiempo de recepción de cada objeto. El servidor mantiene un último tiempo modificado para cada dato objetivo y compara el tiempo de recepción para un dato objetivo en una lista de datos objetivos recibida por el cliente en su último tiempo modificado. El servidor provee nuevas versiones de estos datos objetivos que han sido modificados desde la última vez de recepción.
En un sistema de sincronización típica un archivo individual que contiene cambios para ser mandados es creado en el servidor para cada cliente dentro del sistema. Esto ata el servidor, incrementando la cantidad de proceso realizado en el servidor para crear estos archivos que son directamente proporcionales al número de clientes en el sistema. Lo que se necesita es un sistema de sincronización de base de datos que permita escalar por el uso al incrementar el número de clientes sin impactar negativamente el desempeño del servidor.
Resumen de la Invención La presente invención provee un método que reduce el almacenaje y procesamiento requerido en un sistema ICDB. La reducción en el procesamiento mejora la habilidad en un servidor para manejar más clientes con computadora. Más particularmente, la presente invención provee un método para sincronizar sistemas de clientes con computadora con una base de datos de un servidor al dividir los datos para ser distribuidos desde una base de datos de un servidor entre grupos y asignando uno o más de los grupos a cada sistema de computadora del cliente. Los cambios de datos en los grupos son almacenados para ser mandados a los clientes subscritos a los grupos.
Cuando un sistema de computadora del cliente marca o se conecta al servidor, este manda los cambios hechos a su base de datos local al servidor. El servidor puede entonces actualizar su base de datos con cambios enviados por el cliente. Después de realizar la actualización a su base de datos, el servidor determina que grupos comparten los cambios hechos, y crea archivos de modificación para estos grupos. Los clientes pueden entonces bajar los archivos de modificación para cada uno de los grupos a los cuales el cliente se suscribe. Los archivos de modificación pueden contener datos superfluos, ellos son evaluados por el cliente para determinar si ciertas actualizaciones deberán ser aplicadas o descartadas.
Cada cliente contiene una lista de los grupos a los que se suscribe. Cuando un cliente se conecta al servidor, el cliente solicita la modificación de archivos correspondientes a los grupos a los que se suscribe, fusiona los archivos de modificación bajados, filtra la información superflua y actualiza su base de datos local.
Por lo tanto, es un objetivo de la presente invención proveer un método de sincronización de base de datos y un sistema que mejore la habilidad de un sistema de base de datos de un servidor para manejar un mayor número de clientes con computadora.
Es el objetivo de la presente invención lograr esto al agrupar los datos para mejorar la escalabilidad del sistema de base de datos.
Estos y otros objetivos serán aparentes para aquellos que conocen el ramo al revisar los dibujos y las descripciones aquí contenidas.
Breve descripción de las ilustraciones La figura 1 es un diagrama de un ICDB.
La figura 2 es un diagrama detallado de componentes cliente y componentes servidor utilizados durante una actualización de un cliente por el servidor.
Las ilustraciones 3a , 3b y 3c son ejemplos de la agrupación de datos en una base de datos del servidor y asociación de clientes con estos grupos de acuerdo a los principios de la presente invención.
La ilustración 4 es un diagrama de un formato de archivo de modificación utilizado en conexión con la presente invención.
Las ilustraciones 5a, 5b, y 5c son diagramas de flujo de los procesos implementados de acuerdo a lo principios de la presente invención.
Descripción detallada de la invención Refiriéndonos a los dibujos, en donde números semejantes ilustran elementos semejantes a través de varias perspectivas. La figura 1 ilustra los componentes básicos de un sistema de base de datos conectado intermitentemente (ICDB) 10 utilizado en conexión con la incorporación preferida de la presente invención. El sistema ICDB 10 incluye sistemas cliente computadora 16 a, 16b y 16c. Cada cliente tiene aplicaciones y una base de datos local 15 a, 15b y 15c. Un servidor 18 contiene aplicaciones y una base de datos del servidor 15d que son accesados por los sistemas cliente computadora 16 vía conexiones intermitentes 27. El servidor 18 corre software administrativo para una red computarizada y controla el acceso en parte o totalmente de la red y sus aparatos. Los sistemas computadora cliente 16 comparten datos de la base de datos del servidor almacenados en el servidor 18 y pueden acceder al servidor 18 por Internet, una red local (LAN), una red amplia (WAN) 26 o vía telefónica utilizando un módem. El servidor 18 puede estar conectado a la red local (LAN) dentro de una organización.
La estructura y operación de los sistemas ICDB 10 permiten al servidor 18 y base de datos del servidor 15d asociados para manejar clientes más eficientemente que los sistemas anteriormente conocidos. Particularmente, la presente invención provee una manera de organizar datos de la base de datos del servidor entre grupos seleccionados y cambios de datos de acuerdo a los grupos, en lugar de clientes individuales. Periódicamente, una modificación ("delta" o "actualización") del archivo es creada para cada grupo con todos los cambios relevantes desde la última creación del archivo modificado. Los sistemas cliente computadora 16 están asociados con grupos seleccionados y cuando los clientes se conectan al servidor 18, los archivos modificados asociados con el grupo son transmitidos a los clientes asociados al grupo que será usado para actualizar cada base de datos individual del cliente.
Los sistemas computarizados del cliente 16 a, 16b y 16c pueden localizarse en sitios remotos. Así, cuando un usuario en uno de los sistemas computadora cliente 16 desea actualizar con la información de la base de datos compartida con el servidor 18, el sistema 16 se comunica por la WAN o línea telefónica para acceder al servidor 18. La presente invención provee un sistema y método para actualizar los sistemas computadora cliente que permite a los sistemas computadora cliente adherirse al sistema ICDB sin requerir que el sistema ICDB cree modificaciones específicas a los archivos de cada cliente, agregados al sistema computarizado. En este sistema, los datos en el servidor pueden ser arreglados en grupos basados en contenido y semántica. Uno o más de los grupos se asignan a cada cliente dependiendo de los requerimientos de datos del cliente. Periódicamente, el servidor determina los datos que han cambiado para cada grupo desde la última evaluación, y llevando los registros de estos cambios en un archivo de modificación. Cuando un cliente se conecta al servidor, se solicitan los archivos de modificación para los grupos a los que está suscrito, fusiona los archivos de modificación bajados, filtra los datos superfluos y actualiza su base de datos local.
Desde este punto, la presente invención, provee una acceso a centros de datos para distribuir cambios. El almacenaje y complejidad de procesos de la base de datos del servidor están desacoplados del número de clientes que soporta, así, se mejora la escalabilidad del servidor. En lugar de enfocarse en los datos requeridos por clientes individuales, este método realiza cambios de subgrupos de datos pertinentes a los grupos. Por lo tanto, el servidor necesita solamente los cambios de trayectoria para estos subgrupos de datos, en lugar de los cambios de trayectoria para clientes individuales. Los clientes entonces, bajan los subgrupos, que contienen datos relevantes del servidor y filtran cualquier dato superfluo. El servidor sigue un grupo limitado de subgrupos de datos relacionados a los grupos de clientes en lugar del número actual de clientes, la escalabilidad del sistema se incrementa.
Sincronización de la base de datos En referencia a la figura 2, se ilustra un diagrama bloque de los componentes primarios utilizados durante la actualización de base de datos dentro del sistema ICDB 10. Programas de computación y archivos de datos ilustrados en la figura 2, son usados para implementar los diversos pasos de la presente invención. Los procesos de la invención pueden operar en computadoras personales (PCs) estaciones de trabajo y servidores.
Como se discutió antes, el sistema de la presente invención mejora la habilidad del sistema de base de datos para procesar y manejar más clientes que los sistemas previamente conocidos. Al agrupar los datos dentro de la base de datos 15d en grupos de datos 80 y al asociar archivos de modificaciones individuales (delta) 86 con cada grupo 80, los gastos generales asociados al manejo del sistema ICDB 10 disminuyen y por lo tanto la escalabilidad del sistema de base de datos mejora. Por ejemplo, en la figura 2 cuatro grupos de datos 80 a, 80b, 80c y 80d han sido definidos dentro del sistema de base de datos 15d. Los datos dentro de cada grupo de datos no son necesariamente exclusivos. Esto es, los grupos de datos pueden contener referencias de los mismos artículos de datos. Para cada uno de los grupos de datos 80, una serie de modificaciones de archivos 86 han sido asociados con un grupo. Periódicamente, el sistema administrador crea un nuevo archivo de modificación para cada grupo conteniendo todas las actualizaciones de datos correspondientes al grupo desde que fue creado el último archivo de modificación. Los archivos de modificación 86 a, 86b, 86c y 86d están asociados con los grupos de datos 80 a, 80b,80c y 80d, respectivamente. Los archivos de actualización 86 aa y 86dd están asociados con los archivos de modificación 80 a y 80d respectivamente. Cuando los cambios se hacen a cualquiera de las partidas dentro de uno de los grupos de datos 80 a-d, los cambios son guardados en la base de datos. Aunque cientos de clientes pueden estar conectados al sistema ICDB 10, un pequeño número relativo de archivos 86 a-dd, en este ejemplo son usados para identificar los cambios dentro de los grupos de datos 80 a-d. En sistemas conocidos previamente, el sistema ICDB tendría archivos de modificación asociados con cada cliente identificando todos los datos alterados a los que el cliente tiene acceso. Así, en dichos sistemas el sistema de manejo de la base de datos almacenaría y mantendría un grupo de archivos de clientes para cada cliente. Ventajosamente, al utilizar el sistema de la presente invención donde las partidas de grupos de datos dentro de los grupos de datos 80 y asocia los archivos de modificación para cada grupo de datos, el mantenimiento de los gastos generales y proceso para un sistema ICDB es reducido sustancialmente.
Cuando un sistema computadora cliente 16 se acopla por comunicación con la base de datos del servidor 15d, el sistema de manejo de la base de datos 100 provee una interfase entre la base de datos del servidor 15d y el sistema computadora cliente 16c. Debería apreciarse que el sistema computadora cliente 16c sea representativo de los sistemas computadora cliente 16 a y 16b. El sistema computadora cliente 16c también tiene un sistema de manejo de datos 106 que provee una interfase entre la base de datos local 15c y otros sistemas computarizados. En el sistema ICDB10, el sistema computadora cliente 16 mantiene porciones de los datos contenidos en la base de datos. Las porciones de datos usados en el sistema computadora cliente 16 pueden considerar un subgrupo de los datos de la base de datos del servidor y se almacenan en la base de datos local 15c. La base de datos local 15c contiene información relevante para el proceso del sistema computadora cliente 16c. El sistema computadora cliente 16c obtiene datos de los grupos de datos asociados 80, y los datos son almacenados en una base de datos local 15c. Similarmente, cuando los datos dentro de la base de datos 15c son modificados, las modificaciones son transmitidas a la base de datos del servidor 15d desde el sistema computadora cliente 16c que se usa para actualizar la base de datos del servidor 15d. Durante la transferencia de información ya sea de la base de datos local 15c o la base de datos del servidor 15d, los datos transmitidos se sincronizan con la base de datos apropiada. Un sistema computadora cliente 16c, accesando a la base de datos 15d, contiene una lista o tabla 88c del grupo de grupos que necesita. El sistema computadora cliente contacta el sistema de servidor y solicita los archivos de modificación pertinentes para los grupos asociados con el sistema computadora cliente. Un módulo de programa control 107 maneja las operaciones en el sistema computadora cliente 16c. A la hora de la conexión, el sistema computadora cliente 16c puede transmitir cambios de datos y transacciones a la base de datos del servidor 15d que afecta los datos en la base de datos del servidor 15d. Los cambios de datos que han ocurrido en el sistema computadora cliente 16c que afectan los datos en la base de datos del servidor son indicados por los archivos de modificación 105. La base de datos del servidor 15d se actualiza con los cambios provenientes del sistema computadora cliente y los cambios correspondientes se realizan para los archivos de modificación con los grupos que tenían modificaciones de datos por el cliente.
El sistema de manejo de la base de datos 100 puede acceder a los archivos de modificación apropiados que corresponden a los grupos de datos a los que el cliente ha tenido acceso. Estos archivos de modificación contienen una secuencia de transacciones y secuencia de operaciones que han ocurrido a los grupos de datos correspondientes. Los archivos de modificación 86 que corresponden a los grupos de datos a los que el cliente ha tenido acceso son transmitidos al sistema computadora cliente 16c. En sistemas conocidos previamente, un archivo del cliente se mandaba al sistema de manejo de la base de datos del cliente. A diferencia de sistemas ICDB conocidos previamente, los archivos de modificación que están asociados con los grupos seleccionados de datos se transfieren al sistema computadora cliente. El sistema computadora cliente 16c evalúa cada archivo de modificación para determinar que actualizaciones deberán eliminarse, reorganizarse, o fusionarse para sincronizar adecuadamente, como se explicará abajo con mayor detalle, la base de datos local 15c con la base de datos del servidor 15d. El sistema computadora cliente 16 puede filtrar y/o fusionar los archivos de modificación 80 para asegurar la integridad de la base de datos. El sistema de manejo de la base de datos 106 usa un módulo procesador de filtro 108 para filtrar y fusionar los archivos de modificación múltiple recibidos del sistema de manejo de base de datos 100.
Como se ilustra en la figura 2, más de un archivo de modificación puede estar asociado con un grupo. Para cada grupo o series de archivos de modificación asociados con un grupo simple, como archivos de modificación 86 a y 86 aa, los números de secuencia están asociados con cada uno de los archivos de modificación. Cuando el sistema computadora cliente 16c tiene acceso al servidor 18, el sistema computadora cliente transmite al servidor el número de secuencia del último archivo de actualización recibido del servidor. El servidor, transmite solamente aquellos archivos de modificación que no se transmitieron previamente al sistema computadora cliente 16c basándose en el número de secuencia recibido por el sistema computadora cliente 16c. El servidor manda solamente aquellos archivos de modificación con un número de secuencia mayor que el número de secuencia recibido del sistema computadora cliente. Un archivo de modificación separado 86 puede ser creado para un grupo cuando el número de transacciones contenidas dentro del archivo excedan un cierto número, después de que a expirado cierto período de tiempo, o después de que cierto número de sistemas computadora cliente conectados completan haciendo cambios a los datos de ciertos grupos. Otros esquemas para determinar cuando los archivos de modificación múltiple deberán ser creados por un grupo, son aparentes a aquellos que conocen la materia.
En referencia a las figuras 3 a, 3b y 3c, un esquema de agrupación de clientes básico es ilustrado.
El ejemplo de agrupación de las figuras 3 a, 3b y 3c se discute en términos de una base de datos relacional y técnicas de programación de base de datos relaciónales. La agrupación de datos se puede hacer de diferentes maneras. La agrupación apropiada para un sistema en particular depende de muchos factores incluyendo la velocidad del procesamiento del servidor, espacio en el disco del servidor, y el ancho de banda de la red. Las técnicas de agrupación se pueden dividir en dos categorías: dinámicas y estáticas.
En agrupación estática, que se ilustra en las figuras 3 a, 3b y 3c, los grupos de datos se conocen a priori. En la agrupación estática un administrador puede definir los grupos. Los sistemas computadora cliente se subscriben a o están asociados con grupos seleccionados. La agrupación estática reduce los requerimientos del proceso del servidor tomando la diseminación de archivos independientes de los clientes conectados. Como es sabido en este ramo, los segmentos verticales u horizontales de relaciones de datos son fragmentos de términos y se definen en un esquema particional a priori. Los fragmentos están contenidos en uno o más grupos.
Aunque no se ilustraron los grupos dinámicos pueden utilizarse. En la agrupación dinámica, el número de grupos depende de los atributos cambiantes constantemente como por ejemplo el grupo de transacciones y/o el grupo de clientes conectados. Con un tipo de agrupación dinámica, un grupo separado existe para cada transacción y el sistema computadora cliente se subscribe a los grupos dependiendo en la transacción aplicable. A este tipo de agrupación se le llama agrupación grupo-transacción. Otro tipo de agrupación dinámica es la agrupación grupo-poder, en donde un número mínimo de grupos se forma para asegurar que los clientes se tengan que suscribir al número mínimo de grupos y reciban un mínimo de datos superfluos.
Las técnicas de agrupación .dinámica ayudan a reducir el ancho de banda y el proceso de filtro de clientes, mandando solamente los datos relevantes al grupo adecuado de clientes conectados. Estas técnicas requieren un mayor procesamiento del servidor porque el servidor coordina dinámicamente la agrupación para manejar la combinación de clientes y datos. En la agrupación grupo-poder, el servidor coordina las actualizaciones de los grupos por diseminación para cada grupo de los clientes conectados. En un ambiente servidor grupo-transacción, el servidor se comunica con cada cliente individualmente para manejar las operaciones de actualización.
En referencia a la figura 3 a, se muestra una manera en que los datos del servidor pueden ser organizados. Un récord de estudiante 112 contiene una ID del estudiante 114, un nombre del estudiante 116, un teléfono del estudiante 118, y un variable por clase 120 que puede ser para estudiantes no graduados 122 o estudiantes graduados 124. El esquema del servidor general también incluye un récord de inscripción 134 que incluye una ID estudiantil 136, el curso ID 138 y un grado ID 140. Otro récord del esquema grupo-up de los datos del servidor incluyen un récord del curso 150 que incluye una ID del curso 152, nombre del curso 154 y un récord variable de clase 156 que contiene una especificación de no graduado 158 y una especificación de estudiantes graduados 160.
En referencia a la figura 3b, una tabla de identificadores de grupo es mostrada. Los identificadores de grupo 202, 206, 210, 214, y 218 se muestran asociados con o asignados a los grupos de datos de la base de datos. El identificador de estudiantes no graduados 202 incluye la información para el estudiante 112, donde la clase se especifica como estudiantes no graduados 122, menos el número telefónico 118. El identificador de grupo de estudiantes graduados 204 incluye información para el estudiante 112, donde la clase se identifica como estudiantes graduados 124 sin el número telefónico 118. El identificador de grupo de teléfonos de estudiantes 206 incluye el récord de estudiantes 112 con solamente la ID estudiantil 114 y el número telefónico 118 especificado. El grupo identificador de todos los cursos 212 incluye todos los cursos de datos en el récord 150. La clase de todas la inscripciones 216 incluye todos los datos del récord de inscripción 134.
En referencia a la figura 3c se ilustra una asignación de clientes a los grupos. Esta tabla se accesa primero por el sistema de manejo de la base de datos del servidor para determinar que archivos de modificación 86 deberán ser cobrados por un cliente. Los clientes no graduados se asignan a los grupos de estudiantes no graduados 202, todos los cursos 214, y todas las inscripciones 218. Los clientes estudiantes graduados se asignan al grupo de estudiantes graduados 206, todos los cursos 214, y todas las inscripciones 218. Los clientes profesores se asignan a los grupos de estudiantes graduados 206, grupos de estudiantes no graduados 202, grupo de números telefónicos de estudiantes 210, todos los cursos 214, y el grupo de todas las inscripciones 218. El cliente inscrito se asigna al grupo de inscripciones 218. Estos datos de grupo y asociaciones se utilizan para actualizar y sincronizar las computadoras dentro del sistema ICDB 10.
El servidor 18 procesa las actualizaciones de partidas recibidas de los clientes 16 y las actualizaciones realizadas en el servidor 18 crean un archivo delta para cada grupo, basado en el conocimiento de los datos compartidos con cada cliente. En referencia a la figura 4 se ilustra un archivo de modificación (delta) 86. El archivo de modificación 86 para un cliente contiene todo lo de las operaciones en el grupo de datos que corresponden a los cambios para agrupar datos asignados al cliente. El archivo de modificación 86 incluye una secuencia de transacciones como una transacción a, c, r y transacción j, cada uno se identifica con un número de secuencia global único (por ejemplo 1, 2, 3, 4, 5, ...) que indica el orden de ejecución de las transacciones en el servidor 18. Cada transacción representa una secuencia de operaciones 410 y cada operación tiene un número de secuencia único, como por ejemplo OP1, OP2, OP3, OP4, y OP5 que indica el orden de ejecución de la operación dentro de la transacción. Cada operación aplica solamente a un fragmento simple. Cada transacción identifica el sistema computadora cliente 16, en donde fue originalmente ejecutado como parte del récord de transacción. Un número ID de cliente 416 se asocia con la transacción.
Al utilizar números de secuencia de transacción 404, un sistema computadora 16 puede reconstruir el orden de ejecución de las operaciones que ocurrieron en el servidor 18 a pesar de la fragmentación de operaciones en los archivos de modificación 400. Debido a que cada operación ejecuta con un fragmento simple, no hay dependencias de interrelación entre estas operaciones, excepto dependencias llave exteriores. Las operaciones de interrelación en relaciones con dependencias llave no exteriores se pueden arreglar en cualquier orden. Las operaciones de interrelación preservan el orden serial en el servidor. Asumiendo una llave externa que es de una relación llamada "relación padre", y una llave primaria es de una relación llamada "relación niño", las operaciones de interrelación en relaciones con las dependencias llave externas se ordenan de tal manera que se inserten dentro de la relación "padre" precediendo el correspondiente inserto dentro de la relación "niño"; y una eliminación en la relación niño precede la correspondiente eliminación en la relación padre.
Filtro Como se mencionó arriba los grupos variados de datos pueden contener información que un cliente en particular no recibiera información que el cliente todavía tiene. Por ejemplo, si un cliente hizo un cambio de datos dentro de la base de datos, entonces el cliente ya tiene el cambio o un récord del cambio que se hizo en la base de datos. Consecuentemente, cuando los archivos de modificación que contienen todas las operaciones que se han realizado incluyen las operaciones de actualización realizadas por un cliente en particular, las operaciones realizadas por el cliente en particular no necesitan se procesadas o utilizadas cuando el sistema computadora cliente 16 recibe los archivos de modificación 86 por sus grupos de datos asociados. Consecuentemente, el sistema computadora cliente 16 realiza un filtrado, hechura de mapa y operaciones fusionadas para ayudar a asegurar la integridad de la base de datos local cuando las actualizaciones se realizan. Los tipos de procesos que ocurren en el sistema computadora cliente 16 incluyen filtrado de reflexión, mapa filtrado de interrelación, filtrado de interrelación, filtrado de duplicado, operación de fusión, y un orden de integridad referencial. La discusión del filtrado utiliza los grupos de ejemplo de las figuras 3 a, 3b y 3c.
El filtrado de reflexión se refiere al sistema computadora cliente evaluando los archivos de modificación 86 para las transacciones que fueron enviadas al sistema computadora cliente que se originaron del sistema computadora cliente. El mapa es un proceso en que los clientes aplican conversiones sinónimas a nombres para los grupos que se han nombrado de manera diferente en la base de datos local 15c que la base de datos del servidor 15d. Esto asegura que los grupos se asocien adecuadamente durante la actualización para asegurar la integridad de los datos para los grupos dentro de la base de datos.
El filtrado de datos por una relación basada en los datos a la relación es llamado filtrado de interrelación. El filtrado de interrelación filtra la columna superrlua y agrupa los datos que deberán ser mandados al cliente. Por ejemplo los estudiante no graduados reciben datos de la relación de inscripción; así como, los clientes no graduados no estas autorizados para ver datos de graduados. La información de graduados es borrada del grupo récord de inscripción cuando se transmite al estudiante no graduado. Similarmente los clientes graduados reciben todos los datos del récord de cursos; así como, los estudiantes graduados están solamente autorizados para ver la información del curso de graduados. En el ejemplo mostrado en las figura 3 a, 3b, y 3c al filtrar los grupos de cursos para estudiantes no graduados significa que la información para graduados es borrada o suprimida.
El filtrado de datos para un grupo que comparte datos con otra base de datos se le llama filtrado de interrelación. El filtrado de interrelación ocurre porque no todos los datos superfluos son filtrados por los datos dentro de un grupo. Por ejemplo, los clientes no graduados deberán recibir solamente los datos de grupo de inscripción 218 para no graduados; así como, para determinar si un grupo de inscripción 134 es para un no graduado, la ID de curso deberá determinarse utilizando el grupo de curso 134. En el ejemplo de agrupación de la figura 3b, un estudiante no graduado recibe todos los datos de inscripción en el grupo de todas las inscripciones 218. Un cliente no graduado usa entonces el grupo de cursos 214 para determinar que datos de inscripción deberán ser filtrados. El deshecho de duplicados se refiere a la detección y borrado o deshecho de transacciones duplicadas. Las transacciones duplicadas ocurren porque se duplican los mismos datos en más de un grupo. En el ejemplo de las figuras 3 a, 3b y 3c, los clientes profesor se unen al grupo de estudiantes graduados 202, los grupos de estudiantes graduados 206, y los grupos de números telefónicos de estudiantes 210. Por ejemplo, el borrado de un estudiante resultaría en que una transacción se mandara dos veces a un cliente profesor porque un grupo de números telefónicos de estudiantes 210 y los grupos de estudiantes no graduados 202 se defina basado en el récord de estudiantes 1 12. En cada uno de estos, se presenta la ID del estudiante 1 12.
Así, el cliente profesor debe detectar la transacción duplicada y llevar a cabo un simple borrado por la base de datos local 15d.
La operación de fusión incluye la fusión de operaciones que están separadas cuando se pusieron dentro de los grupos. Las operaciones de transacción pueden separarse cuando se colocan en grupos. Los clientes deben asegurar que estas operaciones estén fusionadas para mantener la integridad. Considérese la siguiente secuencia de operación en el servidor.
INSERTAR (1000, "John Smith". 555-5555, UNDER) DENTRO estudiantes; BORRAR DE estudiantes DONDE ID estudiante = 10000 Esta secuencia de operaciones estaría separada dentro de las siguientes secuencias para los grupos Under-estudiantes, y teléfono-estudiantes, respectivamente ; Insertar (1000, "john Smith", UNDER) DENTRO estudiantes; BORRAR DE estudiantes DONDE ID estudiantes=1000 e INSERTAR (1000,555-5555) DENTRO estudiantes; BORRAR DE estudiantes DONDE ID estudiante=1000; Un cliente profesor deberá fusionar las transacciones de no graduados y teléfonos-estudiantes para que (1) los insertos se fusionen dentro de un inserto simple, (2) borrado de duplicados y eliminados y (3) el inserto fusionado se ejecute antes del borrado.
"Ordenamiento de integridad referencial": incluye el proceso de los archivos de modificación para asegurar que las transacciones que se refieren a otros grupos durante una operación de fusión mantengan su integridad. En las transacciones de fusión. Las transacciones de ejecución que ya no operan para el cliente pueden resultar en operaciones rechazadas al cliente que fueron permitidas en el servidor, llevando a la degradación de la integridad de datos del cliente. Considérense dos insertos en el servidor.
INSERTO (6545. "Queuing Theory", GRAD) DENTRO Cursos; Seguido de, INSERTO (1001, 6555) DENTRO Inscripción Estos dos insertos los recibirían los clientes estudiantes graduados de los grupos todos los cursos y todas las inscripciones respectivamente. Obsérvese que la 'TD Cursos " es una llave externa de la ID Curso Inscripción; consecuentemente, el orden de los insertos deberá ser preservado, específicamente el récord para la tabla de cursos deberá ser insertada antes de la inserción récord inscripción. En general, se debe preservar un orden entre las operaciones de diferentes relaciones que están relacionadas por una restricción de integridad referencial.
Procesos del sistema SDB en referencia a las figuras 5 a, 5b y 5c, se ilustran los procesos implementados de acuerdo a los principios de la presente invención. Estos procesos describen el proceso utilizado para asociar los sistemas computadora cliente 16 con los grupos de datos de la base de datos del servidor 15d durante el acoplamiento de la base de datos del servidor 15d al sistema computadora cliente 16. Los procesos también describen el proceso de sincronización entre la base de datos del sistema ICDB 10. En el paso 502, el sistema computadora cliente 16 se conecta al servidor 18. En el paso 504, el servidor 18 recibe una solicitud de actualización del sistema computadora cliente. En el paso 512, los archivos de modificación 86 son transmitidos al sistema solicitante computadora cliente 16. En el paso 516, el sistema computadora cliente 16 comienza un análisis de los archivos de modificación 400 para determinar cuales datos de los archivos de modificación 86 deberán ser filtrados, fusionados, borrados o modificados.
En el paso 518, el proceso evalúa la ID del cliente y el archivo de modificación, y en el paso 520, el proceso determina si el sistema computadora cliente 16 ha creado alguna transacción en el archivo de modificación. Si el cliente no alguna transacción, el proceso pasa al paso 522 donde las transacciones que el cliente creó son filtradas, el proceso entonces va al paso 524. Si en el paso 520 el cliente no creó ninguna transacción, el proceso va al paso 524. En el paso 524, el sistema computadora cliente aplica conversiones de sinónimos o nombres, si es necesario, en el sistema de base de datos del cliente como se mencionó arriba. El proceso se encamina al paso 530, en donde se determina si el cliente recibirá todos los datos dentro del grupo. El proceso ahora va al paso 532 donde los datos duplicados son filtrados, para ir al paso 540. Si en el paso 530 el cliente iba a recibir todos los datos dentro de los grupos de datos, el proceso se dirige directamente al paso 540.
En el paso 540, el proceso determina si el sistema computadora cliente 16 necesita información de otros grupos para hacer una actualización confiable a la base de datos local 15c. Si el cliente 16 necesita información de otros grupos para actualizar cierta información, el proceso se dirige al paso 542 donde la información requerida para hacer actualizaciones de otros grupos es llevada. El proceso va al paso 544 donde se filtran los datos interrelacionados para localizar la información necesitada como se mencionó arriba. El proceso se dirige al paso 546 donde se determina si las transacciones están duplicadas. Si en el paso 546 no hay transacciones duplicadas, el proceso va al paso 556. Si en el paso 546, el proceso determina que las transacciones están duplicadas, la información duplicada es borrada en el paso 554. En el paso 556, el proceso determina si algunas operaciones detectadas en los archivos de modificación deberán ser fusionadas y fusiona los archivos si es necesario. El proceso se dirige al paso 562 donde la integridad referencial de los archivos de modificación se evalúan. El proceso termina en el paso 566.
Las descripciones aquí mencionadas se proveen como ejemplos y no se pretende limitar los principios o visión de la presente invención. Aquellas personas que conocen el ramo apreciarán al revisar estas descripciones, que se pueden realizar varias modificaciones cambios o extensiones de las incorporaciones específicas aquí descritas sin apartarse de la visión de la invención definida por las siguientes cláusulas:

Claims (1)

  1. REIVINDICACIONES Un método para actualización de base de datos en una computadora cliente que comprende: datos de agrupación de una base de datos de un servidor basado en un criterio seleccionado; asignando uno o más de los grupos para que sean accesibles a ciertas computadoras cliente; y guardando los cambios de datos de cada grupo en un archivo de modificación. El método de la cláusula 2 que además comprende la asociación de una pluralidad de archivos de modificación con un grupo y la trayectoria de la pluralidad de archivos se han mandado a un sistema computadora cliente en particular. El método de la cláusula 1 donde dicho paso de agrupación de dichos datos se basa en criterios estáticos preseleccionados El método de la cláusula 1 donde dicho paso de agrupación de dichos datos se basa en criterios generados dinámicamente. El método de la cláusula 2 además comprende la asociación de números de secuencia única con cada archivo de modificación. El método de la cláusula 1 además comprende el paso de actualización de bases de datos locales de sistemas computadora cliente utilizando archivos de modificación creados para guardar cambios de datos dentro de grupos asignados a los sistemas computadora cliente. El método de la cláusula 1 además comprende la transmisión de archivos de modificación a sistemas computadora cliente para ser usados para actualizar una base de datos local del sistema computadora cliente. El método de la cláusula 7 donde dicha computadora cliente tiene una base de datos local que contiene porciones seleccionadas de datos de dichos grupos asignados a computadora cliente y además comprende el paso de transmisión por dicha computadora cliente, las modificaciones hechas para dichas porciones seleccionadas para dicha base de datos del servidor; y la actualización de la mencionada base de datos del servidor con las modificaciones mencionadas para las porciones seleccionadas mencionadas de datos. El método de la cláusula 8 comprende: la determinación de que datos de los grupos de la base de datos del servidor han cambiado y creado archivos de modificación basados en estos cambios y determinando a que grupos seleccionados el sistema computadora cliente es asignado; y en respuesta a la determinación de los grupos seleccionados asociados con el sistema computadora cliente, transmitiendo los archivos de modificación asociados con los grupos seleccionados para el sistema computadora cliente. El método de la cláusula 9 además comprende el paso de evaluación de los archivos de modificación en los sistemas computadora cliente para determinar si los datos en un primer archivo de modificación contiene modificaciones que son relevantes a modificaciones contenidas en un segundo archivo de modificación; y el procesamiento de modificaciones relevantes para asegurar que la consistencia se mantenga entre la base de datos del servidor y la base de datos local. El método de la cláusula 10 donde dicho paso de procesamiento incluye la determinación de cuáles modificaciones deberán de ser borradas cuando la base de datos local se ha actualizado. El método de la cláusula 11 donde dicho paso de procesamiento incluye la determinación de cuáles transacciones de los archivos de modificación fueron creados por el sistema computadora cliente siendo actualizadas y borradas aquellas modificaciones de los archivos de modificación que fueron creados por el sistema computadora cliente siendo actualizado. El método de la cláusula 10 donde dicho paso de procesamiento incluye la determinación de cuáles modificaciones en los archivos de modificación están duplicados en un archivo de modificación asociado con otro grupo y manteniendo una modificación para las modificaciones duplicadas y borrando las otras modificaciones duplicadas. El método de la cláusula 10 donde dicho paso de procesamiento incluye la fusión de información relevante entre los archivos para formar una transacción que mantenga la consistencia de la base de datos local con la base de datos del servidor. El método de la cláusula 1 donde dicho paso de guardado de cambios incluye el mantenimiento de una lista de clientes de cambios que han sido modificados desde un período de tiempo previo en que el sistema computadora cliente fue acoplado a dicha base de datos del servidor. El método de la cláusula 1 donde dicho paso de asignación comprende mantener un índice de clientes de sistemas computadora cliente, dicho índice de clientes asociando cada sistema computadora cliente con un grupo de datos que está asociado, basado en el contenido de datos de las partidas. El método de la cláusula 1 comprende: la determinación de qué sistema computadora cliente está acoplado a la base de datos del servidor y la determinación a que grupos seleccionados es asignado el sistema computadora cliente; y en respuesta a la determinación de los grupos seleccionados asociados con el sistema computadora cliente, transmitiendo los archivos de modificación asociados con los grupos seleccionados del sistema computadora cliente. Un sistema para actualizar sistemas computadora cliente basados en datos en un sistema computarizado central, que comprende: - una pluralidad de sistemas computadora cliente . - un sistema computarizado servidor que contiene una base de datos del servidor, dicha base de datos del servidor contiene datos que están agrupados basados en un criterio preseleccionado, y cada cliente se asigna a un grupo. - un archivo de modificación creado para cada grupo de datos en donde los datos han cambiado, en el sistema computarizado del servidor. Dicho archivo de modificación incluye una lista de transacciones de modificación que han ocurrido dentro de los grupos de datos. - y un módulo programa que actualiza la base de datos local de los sistemas computadora cliente basados en los cambios en los archivos de modificación. 19. El sistema de la cláusula 18 donde el sistema computarizado del servidor asocia a los clientes correspondientes con grupos de datos seleccionados. 20. El sistema de la cláusula 18 donde el sistema computarizado cliente contiene un módulo programa cliente que evalúa cada archivo de modificación y actualiza la base de datos local basada en una evaluación y comparación de la información en los archivos de modificación. 21. El sistema de la cláusula 20 donde el módulo programa cliente actualiza la base de datos local borrando la información innecesaria de los archivos de modificación. 22. El sistema de la cláusula 20 donde el módulo programa cliente actualiza la base de datos local fusionando información de los archivos de modificación.
MXPA01002852A 1998-09-17 1999-09-17 Sistema para la sincronizacion y organizacion de bases de datos y metodo para el mismo. MXPA01002852A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/156,075 US6226650B1 (en) 1998-09-17 1998-09-17 Database synchronization and organization system and method
PCT/US1999/021661 WO2000016222A1 (en) 1998-09-17 1999-09-17 Database synchronization and organization system and method

Publications (1)

Publication Number Publication Date
MXPA01002852A true MXPA01002852A (es) 2003-06-06

Family

ID=22558001

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA01002852A MXPA01002852A (es) 1998-09-17 1999-09-17 Sistema para la sincronizacion y organizacion de bases de datos y metodo para el mismo.

Country Status (12)

Country Link
US (1) US6226650B1 (es)
EP (1) EP1114375A4 (es)
JP (1) JP2003522344A (es)
AU (1) AU755292B2 (es)
BR (1) BR9913844A (es)
CA (1) CA2344542A1 (es)
EA (1) EA002931B1 (es)
IL (1) IL142058A (es)
MX (1) MXPA01002852A (es)
UA (1) UA65638C2 (es)
WO (1) WO2000016222A1 (es)
ZA (1) ZA200102717B (es)

Families Citing this family (266)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3614495A1 (de) * 1986-04-29 1987-11-05 Kloeckner Humboldt Deutz Ag Kraftstoffeinspritzvorrichtung fuer eine brennkraftmaschine
US5689705A (en) * 1995-02-13 1997-11-18 Pulte Home Corporation System for facilitating home construction and sales
US6597392B1 (en) 1997-10-14 2003-07-22 Healthcare Vision, Inc. Apparatus and method for computerized multi-media data organization and transmission
US7956894B2 (en) 1997-10-14 2011-06-07 William Rex Akers Apparatus and method for computerized multi-media medical and pharmaceutical data organization and transmission
US7885822B2 (en) 2001-05-09 2011-02-08 William Rex Akers System and method for electronic medical file management
US6493725B1 (en) * 1998-05-18 2002-12-10 Sharp Kabushiki Kaisha Database managing system
JP4406944B2 (ja) * 1998-11-11 2010-02-03 株式会社日立製作所 計算機システム及び問合せに対する処理分散システム
US9239763B2 (en) 2012-09-28 2016-01-19 Oracle International Corporation Container database
US10191922B2 (en) 1998-11-24 2019-01-29 Oracle International Corporation Determining live migration speed based on workload and performance characteristics
JP2000163344A (ja) * 1998-11-27 2000-06-16 Nec Corp ネットワーク管理システムのデータベース復旧方式
US6658167B1 (en) * 1999-01-31 2003-12-02 Hewlett-Packard Development Company, L.P. On the fly server for modifying data characteristics for client-server network applications
AU763524B2 (en) * 1999-03-02 2003-07-24 Flexera Software Llc Data file synchronisation
US6681370B2 (en) * 1999-05-19 2004-01-20 Microsoft Corporation HTML/XML tree synchronization
US7363330B1 (en) * 1999-06-07 2008-04-22 Symantec Corporation Work monitor with file synchronization
US6427168B1 (en) * 1999-07-26 2002-07-30 Microsoft Corporation Architecture for system monitoring using high-performance providers
US6339777B1 (en) * 1999-07-30 2002-01-15 International Business Machines Corporation Method and system for handling foreign key update in an object-oriented database environment
US7099898B1 (en) * 1999-08-12 2006-08-29 International Business Machines Corporation Data access system
US6574729B1 (en) * 1999-08-26 2003-06-03 Lucent Technologies Inc. System for remotely identifying and providing information of unknown software on remote network node by comparing the unknown software with software audit file maintained on server
US6446048B1 (en) * 1999-09-03 2002-09-03 Intuit, Inc. Web-based entry of financial transaction information and subsequent download of such information
US20010047394A1 (en) * 1999-09-10 2001-11-29 Kloba David D. System, method, and computer program product for executing scripts on mobile devices
US7392308B2 (en) * 1999-09-10 2008-06-24 Ianywhere Solutions, Inc. System, method, and computer program product for placement of channels on a mobile device
US20080215672A1 (en) * 1999-09-10 2008-09-04 Sybase 365, Inc. System, Method, and Computer Program Product for a Scalable, Configurable, Client/Server, Cross-Platform Browser for Mobile Devices
US7987420B1 (en) 1999-09-10 2011-07-26 Ianywhere Solutions, Inc. System, method, and computer program product for a scalable, configurable, client/server, cross-platform browser for mobile devices
US8595308B1 (en) 1999-09-10 2013-11-26 Ianywhere Solutions, Inc. System, method, and computer program product for server side processing in a mobile device environment
US20020052781A1 (en) * 1999-09-10 2002-05-02 Avantgo, Inc. Interactive advertisement mechanism on a mobile device
GB2371902B (en) 1999-09-10 2004-11-17 Avantgo Inc System, method, and computer program product for interactive interfacing with mobile devices
US6826539B2 (en) * 1999-12-31 2004-11-30 Xactware, Inc. Virtual structure data repository and directory
US8620286B2 (en) 2004-02-27 2013-12-31 Synchronoss Technologies, Inc. Method and system for promoting and transferring licensed content and applications
US6694336B1 (en) 2000-01-25 2004-02-17 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
US8156074B1 (en) 2000-01-26 2012-04-10 Synchronoss Technologies, Inc. Data transfer and synchronization system
US6671757B1 (en) 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
US6493727B1 (en) * 2000-02-07 2002-12-10 Hewlett-Packard Company System and method for synchronizing database in a primary device and a secondary device that are derived from a common database
US6643669B1 (en) * 2000-03-14 2003-11-04 Telefonaktiebolaget Lm Ericsson (Publ) Method for optimization of synchronization between a client's database and a server database
DE10017612A1 (de) * 2000-03-31 2001-10-11 Tillmann Roepenack Verfahren zum automatischen Aktualisieren eines Benutzer-Datensatzes mit Verwaltungsdaten
US6788251B2 (en) 2000-05-03 2004-09-07 Thales Navigation, Inc. Method and apparatus for interference reduction in a positioning system
EP1282830A1 (en) * 2000-05-03 2003-02-12 Magellan Corporation Low signal-to-noise ratio positioning system
US7313782B2 (en) * 2000-05-05 2007-12-25 @Hand Corporation Method for distributing, integrating, and hosting a software platform
US6944651B2 (en) * 2000-05-19 2005-09-13 Fusionone, Inc. Single click synchronization of data from a public information store to a private information store
US6721742B1 (en) * 2000-05-31 2004-04-13 International Business Machines Corporation Method, system and program products for modifying globally stored tables of a client-server environment
US6785868B1 (en) * 2000-05-31 2004-08-31 Palm Source, Inc. Method and apparatus for managing calendar information from a shared database and managing calendar information from multiple users
US7487152B1 (en) 2000-05-31 2009-02-03 International Business Machines Corporation Method for efficiently locking resources of a global data repository
US7013316B1 (en) * 2000-07-13 2006-03-14 Microsoft Corporation System and method for synchronizing multiple database files
US7143194B1 (en) * 2000-07-13 2006-11-28 Microsoft Corporation System and method for optimizing the data transfer between mirrored databases stored on both a client and server computer
US20020059299A1 (en) * 2000-07-14 2002-05-16 Frederic Spaey System and method for synchronizing databases
US7895334B1 (en) 2000-07-19 2011-02-22 Fusionone, Inc. Remote access communication architecture apparatus and method
US8073954B1 (en) 2000-07-19 2011-12-06 Synchronoss Technologies, Inc. Method and apparatus for a secure remote access system
US7117239B1 (en) 2000-07-28 2006-10-03 Axeda Corporation Reporting the state of an apparatus to a remote computer
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
US20060074727A1 (en) 2000-09-07 2006-04-06 Briere Daniel D Method and apparatus for collection and dissemination of information over a computer network
US6879996B1 (en) * 2000-09-13 2005-04-12 Edward W. Laves Method and apparatus for displaying personal digital assistant synchronization data using primary and subordinate data fields
DE10046319A1 (de) * 2000-09-19 2002-04-04 Siemens Ag Vorrichtung und Verfahren zum Synchronisieren von Datenbanken in verteilten Kommunikationssystemen
US8108543B2 (en) 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
US7185014B1 (en) 2000-09-22 2007-02-27 Axeda Corporation Retrieving data from a server
US7587446B1 (en) 2000-11-10 2009-09-08 Fusionone, Inc. Acquisition and synchronization of digital media to a personal information space
US6718349B2 (en) * 2000-12-14 2004-04-06 Borland Software Corporation Intelligent, optimistic concurrency database access scheme
US7818435B1 (en) 2000-12-14 2010-10-19 Fusionone, Inc. Reverse proxy mechanism for retrieving electronic content associated with a local network
US20020083151A1 (en) * 2000-12-22 2002-06-27 Robert Adams System and method for database access and management
US20020194207A1 (en) * 2001-01-03 2002-12-19 Bartlett Troy L. System and method for data synronization between remote devices
US6985915B2 (en) 2001-02-28 2006-01-10 Kiran Somalwar Application independent write monitoring method for fast backup and synchronization of files
US6847983B2 (en) 2001-02-28 2005-01-25 Kiran Somalwar Application independent write monitoring method for fast backup and synchronization of open files
US7162478B2 (en) * 2001-02-28 2007-01-09 International Business Machines Corporation System and method for correlated fragmentations in databases
US8615566B1 (en) 2001-03-23 2013-12-24 Synchronoss Technologies, Inc. Apparatus and method for operational support of remote network systems
US6829655B1 (en) * 2001-03-28 2004-12-07 Siebel Systems, Inc. Method and system for server synchronization with a computing device via a companion device
US7366738B2 (en) * 2001-08-01 2008-04-29 Oracle International Corporation Method and system for object cache synchronization
US20030074379A1 (en) * 2001-10-11 2003-04-17 International Business Machines Corporation Apparatus and method of predicting file download time based on historical data
AU2002361462A1 (en) * 2001-11-07 2003-05-19 Sap Aktiengesellschaft Multi-purpose configuration model
US7370044B2 (en) * 2001-11-19 2008-05-06 Equifax, Inc. System and method for managing and updating information relating to economic entities
US7254601B2 (en) 2001-12-20 2007-08-07 Questra Corporation Method and apparatus for managing intelligent assets in a distributed environment
US7085784B2 (en) * 2002-01-10 2006-08-01 International Business Machines Corporation System and method for eliminating duplicate copies of activity history logs in bridging two or more backend database systems
US8244702B2 (en) * 2002-02-26 2012-08-14 International Business Machines Corporation Modification of a data repository based on an abstract data representation
US7398263B2 (en) * 2002-02-26 2008-07-08 International Business Machines Corporation Sequenced modification of multiple entities based on an abstract data representation
US6996558B2 (en) * 2002-02-26 2006-02-07 International Business Machines Corporation Application portability and extensibility through database schema and query abstraction
US20030172070A1 (en) * 2002-03-06 2003-09-11 Sawadsky Nicholas Justin Synchronous peer-to-peer multipoint database synchronization
AU2003218042A1 (en) * 2002-03-08 2003-09-22 Robert F. Snapp A method for preventing improper correction of a database during an updating process
US7130874B2 (en) * 2002-03-12 2006-10-31 International Business Machines Corporation Method, system, and program for maintaining data in a distributed computing environment for processing transaction requests
US7133878B2 (en) * 2002-03-21 2006-11-07 Sap Aktiengesellschaft External evaluation processes
US7031787B2 (en) 2002-03-21 2006-04-18 Sap Aktiengesellschaft Change management
US20030182167A1 (en) * 2002-03-21 2003-09-25 Wolfgang Kalthoff Goal management
EP1523716A2 (en) * 2002-03-21 2005-04-20 Sap Ag Synchronizing users on shared data with locks
US7178149B2 (en) 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
US11337047B1 (en) 2002-05-21 2022-05-17 M2M Solutions Llc System and method for remote asset management
GB0211644D0 (en) 2002-05-21 2002-07-03 Wesby Philip B System and method for remote asset management
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
US7509326B2 (en) * 2002-09-03 2009-03-24 Sap Ag Central master data management
US7236973B2 (en) * 2002-11-27 2007-06-26 Sap Aktiengesellschaft Collaborative master data management system for identifying similar objects including identical and non-identical attributes
CN100410932C (zh) * 2002-09-03 2008-08-13 Sap股份公司 在数据管理系统中分布数据的方法和系统、共享数据的系统
US20040044730A1 (en) * 2002-09-03 2004-03-04 Holger Gockel Dynamic access of data
AU2003264769A1 (en) 2002-09-03 2004-03-29 Sap Aktiengesellschaft Distribution of data in a master data management system
US8438238B2 (en) 2002-10-16 2013-05-07 Sap Ag Master data access
US6760794B2 (en) 2002-11-22 2004-07-06 Honda Giken Kogyo Kabushiki Kaisha Method for decreasing downtime in vehicle identification number stamping operations
US7044196B2 (en) * 2003-01-31 2006-05-16 Cooligy,Inc Decoupled spring-loaded mounting apparatus and method of manufacturing thereof
US8061604B1 (en) 2003-02-13 2011-11-22 Sap Ag System and method of master data management using RFID technology
US7966418B2 (en) 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
US7054877B2 (en) * 2003-03-31 2006-05-30 International Business Machines Corporation Dealing with composite data through data model entities
US7308465B2 (en) * 2003-04-03 2007-12-11 Microsoft Corporation Playback graph for data synchronization
US7162472B2 (en) * 2003-06-24 2007-01-09 Microsoft Corporation System and method for database change notification
WO2005010715A2 (en) 2003-07-21 2005-02-03 Fusionone, Inc. Device message management system
US7899843B2 (en) * 2003-09-19 2011-03-01 International Business Machines Corporation Expanding the scope of an annotation to an entity level
US7873353B2 (en) * 2003-09-30 2011-01-18 Ianywhere Solutions, Inc. Method and system for accessing applications and data, and for tracking of key indicators on mobile handheld devices
US7324473B2 (en) * 2003-10-07 2008-01-29 Accenture Global Services Gmbh Connector gateway
US7239877B2 (en) * 2003-10-07 2007-07-03 Accenture Global Services Gmbh Mobile provisioning tool system
US8655755B2 (en) * 2003-10-22 2014-02-18 Scottrade, Inc. System and method for the automated brokerage of financial instruments
US7900133B2 (en) 2003-12-09 2011-03-01 International Business Machines Corporation Annotation structure type determination
US7930149B2 (en) * 2003-12-19 2011-04-19 Sap Aktiengesellschaft Versioning of elements in a configuration model
US7272776B2 (en) * 2003-12-30 2007-09-18 Sap Aktiengesellschaft Master data quality
US20050149474A1 (en) * 2003-12-30 2005-07-07 Wolfgang Kalthoff Master data entry
US7184753B2 (en) * 2004-01-22 2007-02-27 Research In Motion Limited Mailbox pooling pre-empting criteria
US7647256B2 (en) * 2004-01-29 2010-01-12 Novell, Inc. Techniques for establishing and managing a distributed credential store
EP1759521B1 (en) 2004-05-12 2016-06-29 Synchronoss Technologies, Inc. Advanced contact identification system
US9542076B1 (en) 2004-05-12 2017-01-10 Synchronoss Technologies, Inc. System for and method of updating a personal profile
US8135803B2 (en) * 2004-08-23 2012-03-13 Ianywhere Solutions, Inc. Method, system, and computer program product for offline advertisement servicing and cycling
US20060064470A1 (en) * 2004-09-23 2006-03-23 Sargent Antony J Method, system, and computer program product for improved synchronization efficiency for mobile devices, including database hashing and caching of web access errors
US7574456B2 (en) * 2004-12-16 2009-08-11 Sap Ag Bidirectional update of client-server objects
US8122012B2 (en) * 2005-01-14 2012-02-21 International Business Machines Corporation Abstract record timeline rendering/display
US7693888B2 (en) * 2005-05-10 2010-04-06 Siemens Communications, Inc. Data synchronizer with failover facility
JP4182083B2 (ja) * 2005-05-12 2008-11-19 キヤノン株式会社 ネットワークに接続されたネットワーク機器を管理する装置、方法、及びプログラム
US7962585B2 (en) * 2005-08-15 2011-06-14 Microsoft Corporation Partial item change tracking and synchronization
EP1755046A1 (de) * 2005-08-17 2007-02-21 Deutsche Post AG Verfahren und Anordnung von Vorrichtungen zur Bereitstellung von Daten mehrerer Datensysteme an wenigstens einem Client
US7600186B2 (en) * 2005-10-07 2009-10-06 Oracle International Corporation Generating a synonym dictionary representing a mapping of elements in different data models
US20070112827A1 (en) * 2005-11-10 2007-05-17 International Business Machines Corporation Abstract rule sets
US8001077B2 (en) * 2005-12-14 2011-08-16 International Business Machines Corporation Distributed method for synchronizing and updating bookmarks on multiple computer devices
CN100373384C (zh) * 2006-04-03 2008-03-05 西安理工大学 远程数据库的可靠下载与本地数据库的使用无冲突的方法
US8370479B2 (en) 2006-10-03 2013-02-05 Axeda Acquisition Corporation System and method for dynamically grouping devices based on present device conditions
US10019501B2 (en) * 2006-12-18 2018-07-10 International Business Machines Corporation Data store synchronization utilizing synchronization logs
US8065397B2 (en) 2006-12-26 2011-11-22 Axeda Acquisition Corporation Managing configurations of distributed devices
US7756845B2 (en) * 2006-12-28 2010-07-13 Yahoo! Inc. System and method for learning a weighted index to categorize objects
US7809696B2 (en) * 2006-12-28 2010-10-05 Sap, Ag System and method for matching similar master data using associated behavioral data
US20080162728A1 (en) * 2007-01-03 2008-07-03 Microsoft Corporation Synchronization protocol for loosely coupled devices
US20080183576A1 (en) * 2007-01-30 2008-07-31 Sang Hun Kim Mobile service system and method using two-dimensional coupon code
KR20080071334A (ko) * 2007-01-30 2008-08-04 (주) 애니모비 2차원 코드의 판독부를 가지는 모바일 단말기로의 매체콘텐츠 전송 시스템 및 그 방법
US7899917B2 (en) * 2007-02-01 2011-03-01 Microsoft Corporation Synchronization framework for occasionally connected applications
US8478861B2 (en) * 2007-07-06 2013-07-02 Axeda Acquisition Corp. Managing distributed devices with limited connectivity
US8260230B2 (en) * 2007-08-31 2012-09-04 Clear Channel Management Services, Inc. Radio receiver and method for receiving and playing signals from multiple broadcast channels
KR20100080822A (ko) * 2007-09-28 2010-07-12 엑세리온 악티에볼라그 네트워크 오퍼레이팅 시스템
US20090150181A1 (en) * 2007-12-07 2009-06-11 Roche Diagnostics Operations, Inc. Method and system for personal medical data database merging
US20090150451A1 (en) * 2007-12-07 2009-06-11 Roche Diagnostics Operations, Inc. Method and system for selective merging of patient data
US9128946B2 (en) * 2007-12-31 2015-09-08 Mastercard International Incorporated Systems and methods for platform-independent data file transfers
US8181111B1 (en) 2007-12-31 2012-05-15 Synchronoss Technologies, Inc. System and method for providing social context to digital activity
US20110112961A1 (en) * 2008-10-30 2011-05-12 Frank Stokes Duplicate Payments Suspect Review Workstation
US8078582B2 (en) * 2009-04-06 2011-12-13 Microsoft Corporation Data change ordering in multi-log based replication
US8108343B2 (en) * 2009-04-23 2012-01-31 Microsoft Corporation De-duplication and completeness in multi-log based replication
US8255006B1 (en) 2009-11-10 2012-08-28 Fusionone, Inc. Event dependent notification system and method
US8380659B2 (en) 2010-02-09 2013-02-19 Google Inc. Method and system for efficiently replicating data in non-relational databases
US9305069B2 (en) * 2010-02-09 2016-04-05 Google Inc. Method and system for uploading data into a distributed storage system
US8744997B2 (en) 2010-02-09 2014-06-03 Google Inc. Pruning of blob replicas
US8862617B2 (en) * 2010-02-09 2014-10-14 Google Inc. System and method for replicating objects in a distributed storage system
US8868508B2 (en) * 2010-02-09 2014-10-21 Google Inc. Storage of data in a distributed storage system
US8874523B2 (en) * 2010-02-09 2014-10-28 Google Inc. Method and system for providing efficient access to a tape storage system
US8615485B2 (en) * 2010-02-09 2013-12-24 Google, Inc. Method and system for managing weakly mutable data in a distributed storage system
US8671074B2 (en) 2010-04-12 2014-03-11 Microsoft Corporation Logical replication in clustered database system with adaptive cloning
CN101807210B (zh) * 2010-04-26 2015-04-01 中兴通讯股份有限公司 一种数据库间数据同步的方法、系统及设备
US8805783B2 (en) 2010-05-27 2014-08-12 Microsoft Corporation Synchronization of subsets of data including support for varying set membership
US8943428B2 (en) 2010-11-01 2015-01-27 Synchronoss Technologies, Inc. System for and method of field mapping
EP2641221A4 (en) * 2010-11-16 2016-10-19 Gazit Group Usa Inc PORTFOLIO MANAGEMENT SYSTEM FOR MOBILE DIGITAL PROPERTY
US9396220B2 (en) 2014-03-10 2016-07-19 Oracle International Corporation Instantaneous unplug of pluggable database from one container database and plug into another container database
US10860605B2 (en) 2012-09-28 2020-12-08 Oracle International Corporation Near-zero downtime relocation of a pluggable database across container databases
US10635674B2 (en) 2012-09-28 2020-04-28 Oracle International Corporation Migrating a pluggable database between database server instances with minimal impact to performance
US9197700B2 (en) * 2013-01-18 2015-11-24 Apple Inc. Keychain syncing
US10152500B2 (en) 2013-03-14 2018-12-11 Oracle International Corporation Read mostly instances
US9614932B2 (en) 2013-03-14 2017-04-04 Microsoft Technology Licensing, Llc Managing and implementing web application data snapshots
US10740323B1 (en) 2013-03-15 2020-08-11 Nuodb, Inc. Global uniqueness checking in distributed databases
US11176111B2 (en) 2013-03-15 2021-11-16 Nuodb, Inc. Distributed database management system with dynamically split B-tree indexes
US9501363B1 (en) 2013-03-15 2016-11-22 Nuodb, Inc. Distributed database management system with node failure detection
JP5954738B2 (ja) * 2013-03-19 2016-07-20 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ファイルのバックアップの処理を行うコンピュータ、システム、方法およびプログラム
WO2014168913A1 (en) 2013-04-08 2014-10-16 Nuodb, Inc. Database management system with database hibernation and bursting
US9558232B1 (en) * 2013-06-21 2017-01-31 EMC IP Holding Company LLC Data movement bulk copy operation
US9830372B2 (en) * 2013-07-24 2017-11-28 Oracle International Corporation Scalable coordination aware static partitioning for database replication
US9767178B2 (en) 2013-10-30 2017-09-19 Oracle International Corporation Multi-instance redo apply
CN105723365B (zh) 2013-11-19 2019-09-03 华为技术有限公司 用于优化索引、主数据库节点和订户数据库节点的方法
US9390120B1 (en) 2013-12-31 2016-07-12 Google Inc. System and methods for organizing hierarchical database replication
WO2016032803A1 (en) * 2014-08-27 2016-03-03 Alibaba Group Holding Limited Dynamic load-based merging
CN105446653B (zh) 2014-08-27 2018-12-14 阿里巴巴集团控股有限公司 一种数据合并方法和设备
US10860604B1 (en) 2014-12-10 2020-12-08 Amazon Technologies, Inc. Scalable tracking for database udpates according to a secondary index
CN106156094B (zh) 2015-04-01 2019-09-17 阿里巴巴集团控股有限公司 一种数据库的远程数据同步方法和装置
US10884869B2 (en) 2015-04-16 2021-01-05 Nuodb, Inc. Backup and restore in a distributed database utilizing consistent database snapshots
US10180954B2 (en) 2015-05-29 2019-01-15 Nuodb, Inc. Disconnected operation within distributed database systems
US10067969B2 (en) 2015-05-29 2018-09-04 Nuodb, Inc. Table partitioning within distributed database systems
US10572551B2 (en) 2015-10-23 2020-02-25 Oracle International Corporation Application containers in container databases
US10606578B2 (en) 2015-10-23 2020-03-31 Oracle International Corporation Provisioning of pluggable databases using a central repository
EP3365807B1 (en) 2015-10-23 2019-08-07 Oracle International Corporation Application containers for container databases
WO2017070580A1 (en) 2015-10-23 2017-04-27 Oracle International Corporation Ability to group multiple container databases as a single container database cluster
US11657037B2 (en) 2015-10-23 2023-05-23 Oracle International Corporation Query execution against an in-memory standby database
US10789131B2 (en) 2015-10-23 2020-09-29 Oracle International Corporation Transportable backups for pluggable database relocation
US10635658B2 (en) 2015-10-23 2020-04-28 Oracle International Corporation Asynchronous shared application upgrade
US10579478B2 (en) 2015-10-23 2020-03-03 Oracle International Corporation Pluggable database archive
US10747752B2 (en) 2015-10-23 2020-08-18 Oracle International Corporation Space management for transactional consistency of in-memory objects on a standby database
US11068437B2 (en) 2015-10-23 2021-07-20 Oracle Interntional Corporation Periodic snapshots of a pluggable database in a container database
WO2017070590A1 (en) 2015-10-23 2017-04-27 Oracle International Corporation Proxy databases
US10698771B2 (en) 2016-09-15 2020-06-30 Oracle International Corporation Zero-data-loss with asynchronous redo shipping to a standby database
US10936559B1 (en) 2016-09-28 2021-03-02 Amazon Technologies, Inc. Strongly-consistent secondary index for a distributed data set
US10891291B2 (en) 2016-10-31 2021-01-12 Oracle International Corporation Facilitating operations on pluggable databases using separate logical timestamp services
US11475006B2 (en) 2016-12-02 2022-10-18 Oracle International Corporation Query and change propagation scheduling for heterogeneous database systems
US10691722B2 (en) 2017-05-31 2020-06-23 Oracle International Corporation Consistent query execution for big data analytics in a hybrid database
US10359954B2 (en) 2017-05-31 2019-07-23 Alibaba Group Holding Limited Method and system for implementing byte-alterable write cache
US10884926B2 (en) 2017-06-16 2021-01-05 Alibaba Group Holding Limited Method and system for distributed storage using client-side global persistent cache
US11940990B1 (en) 2017-06-16 2024-03-26 Amazon Technologies, Inc. Global clock values for consistent queries to replicated data
US10229003B2 (en) 2017-06-16 2019-03-12 Alibaba Group Holding Limited Method and system for iterative data recovery and error correction in a distributed system
US10303241B2 (en) 2017-06-19 2019-05-28 Alibaba Group Holding Limited System and method for fine-grained power control management in a high capacity computer cluster
US11314717B1 (en) 2017-06-23 2022-04-26 Amazon Technologies, Inc. Scalable architecture for propagating updates to replicated data
US10678443B2 (en) 2017-07-06 2020-06-09 Alibaba Group Holding Limited Method and system for high-density converged storage via memory bus
US10564856B2 (en) 2017-07-06 2020-02-18 Alibaba Group Holding Limited Method and system for mitigating write amplification in a phase change memory-based storage device
US10423508B2 (en) 2017-08-11 2019-09-24 Alibaba Group Holding Limited Method and system for a high-priority read based on an in-place suspend/resume write
US10303601B2 (en) 2017-08-11 2019-05-28 Alibaba Group Holding Limited Method and system for rearranging a write operation in a shingled magnetic recording device
US11573940B2 (en) 2017-08-15 2023-02-07 Nuodb, Inc. Index splitting in distributed databases
US10496829B2 (en) 2017-09-15 2019-12-03 Alibaba Group Holding Limited Method and system for data destruction in a phase change memory-based storage device
US10642522B2 (en) 2017-09-15 2020-05-05 Alibaba Group Holding Limited Method and system for in-line deduplication in a storage drive based on a non-collision hash
US10789011B2 (en) 2017-09-27 2020-09-29 Alibaba Group Holding Limited Performance enhancement of a storage device using an integrated controller-buffer
US10503409B2 (en) 2017-09-27 2019-12-10 Alibaba Group Holding Limited Low-latency lightweight distributed storage system
US11386058B2 (en) 2017-09-29 2022-07-12 Oracle International Corporation Rule-based autonomous database cloud service framework
US10860334B2 (en) 2017-10-25 2020-12-08 Alibaba Group Holding Limited System and method for centralized boot storage in an access switch shared by multiple servers
US10445190B2 (en) 2017-11-08 2019-10-15 Alibaba Group Holding Limited Method and system for enhancing backup efficiency by bypassing encoding and decoding
CN107797820B (zh) * 2017-11-13 2021-03-23 北京百度网讯科技有限公司 用于生成补丁的方法和装置
US10877898B2 (en) 2017-11-16 2020-12-29 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
US10891239B2 (en) 2018-02-07 2021-01-12 Alibaba Group Holding Limited Method and system for operating NAND flash physical space to extend memory capacity
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
US10831404B2 (en) 2018-02-08 2020-11-10 Alibaba Group Holding Limited Method and system for facilitating high-capacity shared memory using DIMM from retired servers
US10402112B1 (en) 2018-02-14 2019-09-03 Alibaba Group Holding Limited Method and system for chunk-wide data organization and placement with real-time calculation
WO2019222958A1 (en) 2018-05-24 2019-11-28 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
CN111902804B (zh) 2018-06-25 2024-03-01 阿里巴巴集团控股有限公司 用于管理存储设备的资源并量化i/o请求成本的系统和方法
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US10871921B2 (en) 2018-07-30 2020-12-22 Alibaba Group Holding Limited Method and system for facilitating atomicity assurance on metadata and data bundled storage
US10747673B2 (en) 2018-08-02 2020-08-18 Alibaba Group Holding Limited System and method for facilitating cluster-level cache and memory space
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US10852948B2 (en) 2018-10-19 2020-12-01 Alibaba Group Holding System and method for data organization in shingled magnetic recording drive
US10795586B2 (en) 2018-11-19 2020-10-06 Alibaba Group Holding Limited System and method for optimization of global data placement to mitigate wear-out of write cache and NAND flash
US10769018B2 (en) 2018-12-04 2020-09-08 Alibaba Group Holding Limited System and method for handling uncorrectable data errors in high-capacity storage
US10884654B2 (en) 2018-12-31 2021-01-05 Alibaba Group Holding Limited System and method for quality of service assurance of multi-stream scenarios in a hard disk drive
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
US10922234B2 (en) 2019-04-11 2021-02-16 Alibaba Group Holding Limited Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US10908960B2 (en) 2019-04-16 2021-02-02 Alibaba Group Holding Limited Resource allocation based on comprehensive I/O monitoring in a distributed storage system
US11169873B2 (en) 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US11042307B1 (en) 2020-01-13 2021-06-22 Alibaba Group Holding Limited System and method for facilitating improved utilization of NAND flash based on page-wise operation
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US10872622B1 (en) 2020-02-19 2020-12-22 Alibaba Group Holding Limited Method and system for deploying mixed storage products on a uniform storage infrastructure
US10923156B1 (en) 2020-02-19 2021-02-16 Alibaba Group Holding Limited Method and system for facilitating low-cost high-throughput storage for accessing large-size I/O blocks in a hard disk drive
US11150986B2 (en) 2020-02-26 2021-10-19 Alibaba Group Holding Limited Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction
US11144250B2 (en) 2020-03-13 2021-10-12 Alibaba Group Holding Limited Method and system for facilitating a persistent memory-centric system
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11250022B1 (en) 2020-09-29 2022-02-15 Amazon Technologies, Inc. Offline index builds for database tables
US11880385B1 (en) 2020-09-29 2024-01-23 Amazon Technologies, Inc. Ordering updates to secondary indexes using conditional operations
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4645873A (en) 1985-01-23 1987-02-24 Telecue Systems Transactional telecommunication system
US4648036A (en) 1985-03-06 1987-03-03 At&T Bell Laboratories Method for controlling query and update processing in a database system
US4887204A (en) * 1987-02-13 1989-12-12 International Business Machines Corporation System and method for accessing remote files in a distributed networking environment
JP2532148B2 (ja) 1990-01-19 1996-09-11 富士通株式会社 インテリジェント・ネットワ―クにおけるデ―タベ―ス管理方式
EP0522488B1 (en) * 1991-07-10 2002-02-20 Hitachi, Ltd. Method of sorting on distributed database system and method of accessing thereto
US5276901A (en) 1991-12-16 1994-01-04 International Business Machines Corporation System for controlling group access to objects using group access control folder and group identification as individual user
JP2583010B2 (ja) * 1993-01-07 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 多層インデックス構造におけるローカルインデックステーブル及び大域インデックステーブルの間の一貫性を維持する方法
CA2172517C (en) * 1993-09-24 2000-02-15 Sandeep Jain Method and apparatus for data replication
US5630124A (en) * 1993-12-06 1997-05-13 International Business Machines Corporation System and method for assuring atomicity of distributed update requests in a parallel database
DE4403614A1 (de) * 1994-02-05 1995-08-10 Philips Patentverwaltung Kommunikationssystem mit einem verteilten Datenbanksystem
US5835757A (en) * 1994-03-30 1998-11-10 Siemens Telecom Networks Distributed database management system for servicing application requests in a telecommunications switching system
US5687363A (en) 1994-03-30 1997-11-11 Siemens Stromberg-Carlson Distributed database architecture and distributed database management system for open network evolution
US5490270A (en) * 1994-06-16 1996-02-06 International Business Machines Corporation Simultaneous updates to the modification time attribute of a shared file in a cluster having a server and client nodes
US5625811A (en) * 1994-10-31 1997-04-29 International Business Machines Corporation Method and system for database load balancing
US5491820A (en) 1994-11-10 1996-02-13 At&T Corporation Distributed, intermittently connected, object-oriented database and management system
US5729730A (en) * 1995-03-28 1998-03-17 Dex Information Systems, Inc. Method and apparatus for improved information storage and retrieval system
US5649195A (en) 1995-05-22 1997-07-15 International Business Machines Corporation Systems and methods for synchronizing databases in a receive-only network
US5752042A (en) * 1996-06-07 1998-05-12 International Business Machines Corporation Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer
US5924094A (en) * 1996-11-01 1999-07-13 Current Network Technologies Corporation Independent distributed database system
US5870761A (en) * 1996-12-19 1999-02-09 Oracle Corporation Parallel queue propagation

Also Published As

Publication number Publication date
BR9913844A (pt) 2002-01-15
US6226650B1 (en) 2001-05-01
EA002931B1 (ru) 2002-10-31
UA65638C2 (uk) 2004-04-15
EP1114375A4 (en) 2006-05-10
EA200100363A1 (ru) 2001-10-22
AU755292B2 (en) 2002-12-12
ZA200102717B (en) 2002-06-26
IL142058A0 (en) 2002-03-10
IL142058A (en) 2005-12-18
EP1114375A1 (en) 2001-07-11
JP2003522344A (ja) 2003-07-22
WO2000016222A1 (en) 2000-03-23
CA2344542A1 (en) 2000-03-23
AU6153299A (en) 2000-04-03

Similar Documents

Publication Publication Date Title
MXPA01002852A (es) Sistema para la sincronizacion y organizacion de bases de datos y metodo para el mismo.
US8386646B2 (en) Simplified application object data synchronization for optimized data storage
US6438562B1 (en) Parallel index maintenance
US6754681B2 (en) Partially replicated distributed database with multiple levels of remote clients
US6240416B1 (en) Distributed metadata system and method
JP4634685B2 (ja) トークンを使用したデータ・リンキング・システムおよび方法
US6092061A (en) Data partitioning by co-locating referenced and referencing records
US5721911A (en) Mechanism for metadata for an information catalog system
US7200806B2 (en) System and method for generating pre-populated forms
US7483882B1 (en) Dynamic management of multiple persistent data stores
EP1482418A1 (en) A data processing method and system
US7599959B2 (en) Centralized access and management for multiple, disparate data repositories
JPS62125445A (ja) デ−タ・オブジエクト・レプリカの管理方法
EP1016004A1 (en) Method, computer program product, and system for distributing changes made in a data store to remote client copies of the data store
JPS62126458A (ja) デ−タ・オブジエクト変更管理方法
US7069269B2 (en) Method, system and program product for mapping data fields between a data source and a data target
CN100378731C (zh) 自动数据合并
US7559048B1 (en) System and method for managing objects between projects
WO2001093104A2 (en) System and method for retrieving data from a database using a data management system
Gladney Data replicas in distributed information services
US11556515B2 (en) Artificially-intelligent, continuously-updating, centralized-database-identifier repository system
EP0204993A2 (en) Hybrid directory data distribution system
KR100583011B1 (ko) 통신 시스템 및 방법
JPH0431936A (ja) 分散ファイルシステムのファイル管理方式
JPH10269126A (ja) 世代データベースアクセス管理方式