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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Landscapes
- Engineering & Computer Science (AREA)
- 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)
- 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.
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)
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)
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 |
-
1998
- 1998-09-17 US US09/156,075 patent/US6226650B1/en not_active Expired - Lifetime
-
1999
- 1999-09-17 IL IL14205899A patent/IL142058A/xx not_active IP Right Cessation
- 1999-09-17 EA EA200100363A patent/EA002931B1/ru not_active IP Right Cessation
- 1999-09-17 EP EP99948327A patent/EP1114375A4/en not_active Withdrawn
- 1999-09-17 UA UA2001042525A patent/UA65638C2/uk unknown
- 1999-09-17 JP JP2000570690A patent/JP2003522344A/ja active Pending
- 1999-09-17 WO PCT/US1999/021661 patent/WO2000016222A1/en not_active Application Discontinuation
- 1999-09-17 MX MXPA01002852A patent/MXPA01002852A/es unknown
- 1999-09-17 BR BR9913844-1A patent/BR9913844A/pt not_active IP Right Cessation
- 1999-09-17 AU AU61532/99A patent/AU755292B2/en not_active Ceased
- 1999-09-17 CA CA002344542A patent/CA2344542A1/en not_active Abandoned
-
2001
- 2001-04-03 ZA ZA2001/02717A patent/ZA200102717B/en unknown
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) | 世代データベースアクセス管理方式 |