CONTROL GRANULAR DE UN SISTEMA DE AUTORIZACION DE LA INFORMACION REPLICADA POR LIMITACION Y SIN LIMITACION.

Un procedimiento implementado por computadora para reproducir recursos,

en el que cada recurso está asociado con unos metadatos (830) y un contenido (825), incluyendo cada metadato uno o más campos que son actualizados siempre que el contenido del recurso asociado es modificado y un valor límite (835) independiente de cualquier cambio local efectuado en el contenido, siendo cada valor límite un valor asignado al recurso respectivo y utilizado en la resolución de conflictos de actualización, comprendiendo el procedimiento:

determinar (610 - 625) si un primer recurso (822) que reside en una primera máquina (110, 181, 201, 301, 501, 805) debe ser utilizado para actualizar un segundo recurso (822) que reside en una segunda máquina (110, 181, 202, 302, 502, 805) mediante la comparación del valor límite del primer recurso con el valor límite del segundo recurso; y

si el valor límite del primer recurso tiene una prioridad más alta que el valor límite del segundo recurso, actualizar (630) el segundo recurso a partir del primer recurso

Tipo: Patente Europea. Resumen de patente/invención. Número de Solicitud: E04102757.

Solicitante: MICROSOFT CORPORATION.

Nacionalidad solicitante: Estados Unidos de América.

Dirección: ONE MICROSOFT WAY,REDMOND, WA 98052.

Inventor/es: TEODOSIU DAN, BJORNER NIKOLAJ S.

Fecha de Publicación: .

Fecha Solicitud PCT: 16 de Junio de 2004.

Fecha Concesión Europea: 7 de Abril de 2010.

Clasificación Internacional de Patentes:

  • G06F17/30C
  • G06F17/30F
  • G06F17/30N

Clasificación PCT:

  • G06F9/46 FISICA.G06 CALCULO; CONTEO.G06F PROCESAMIENTO ELECTRICO DE DATOS DIGITALES (sistemas de computadores basados en modelos de cálculo específicos G06N). › G06F 9/00 Disposiciones para el control por programa, p. ej. unidades de control (control por programa para dispositivos periféricos G06F 13/10). › Disposiciones para la multiprogramación.

Clasificación antigua:

  • G06F9/46 G06F 9/00 […] › Disposiciones para la multiprogramación.

Países PCT: Austria, Bélgica, Suiza, Alemania, Dinamarca, España, Francia, Reino Unido, Grecia, Italia, Liechtensein, Luxemburgo, Países Bajos, Suecia, Mónaco, Portugal, Irlanda, Eslovenia, Finlandia, Rumania, Chipre, Lituania, Letonia, Ex República Yugoslava de Macedonia, Albania.

CONTROL GRANULAR DE UN SISTEMA DE AUTORIZACION DE LA INFORMACION REPLICADA POR LIMITACION Y SIN LIMITACION.

Fragmento de la descripción:

Control granular de un sistema de autorización de la información replicada por limitación y sin limitación.

Campo de la invención

La presente invención se refiere, en general, al campo de los dispositivos informáticos y, más concretamente, a los sistemas de replicación de recursos.

Antecedentes

Los sistemas de replicación multimaster oportunistas permiten cambios sin restricciones del contenido replicado de cualquier máquina que participa en un conjunto de reproducciones determinado. Estos cambios potencialmente conflictivos se concilian bajo el control del sistema de replicación utilizando unos criterios de reproducción de conflictos que definen, para cada situación conflictiva, qué cambio conflictivo tiene prioridad respecto de otros. En el pasado, los criterios principales de resolución de conflictos utilizados han sido el tiempo físico o lógico del cambio, teniendo prioridad el cambio más reciente respecto de todos los demás.

Sin embargo, existe una pluralidad de supuestos en los que los usuarios o las aplicaciones pueden desear contar con vías adicionales para controlar qué actualización concurrente tiene prioridad respecto de las demás y, a la inversa, qué actualizaciones deben ceder la prioridad. Lo que se necesita es un procedimiento y un sistema flexibles para controlar qué contenido tiene prioridad y es replicado.

El sistema Oracle8i Replication - Release 8.1.5, febrero 1999, se refiere a la replicación en sistemas de bases de datos distribuidas. Cuando dos transacciones que proceden de sitios diferentes actualizan la misma fila aproximadamente al mismo tiempo, puede producirse un conflicto de actualizaciones. El sitio de recepción detecta un conflicto de actualizaciones si hay alguna diferencia entre los antiguos valores de la fila replicada, esto es, el valor antes de la modificación y los valores actuales de la misma fila en el sitio de recepción. Hay procedimientos de resolución de conflictos preconstruidas que pueden emplearse para resolver conflictos que incluyen los procedimientos del valor de marcado temporal primero y último, los grupos de prioridad y la prioridad de sitios. El procedimiento de marcado temporal más temprano aplica los cambios procedentes del sitio con el marcado temporal más temprano y el procedimiento de marcado temporal más tardío aplica a los cambios procedentes del sitio con el tiempo de marcado temporal más tardío. Los grupos prioritarios permiten la asignación de un nivel de prioridad para cada valor posible de una columna concreta. Si se detecta un conflicto, la tabla cuya columna de "prioridad" tiene un valor menor es actualizada utilizando los datos procedentes de la tabla del valor prioritario más alto. La prioridad de sitios es una forma especializada de los grupos prioritarios. Para detectar y resolver el conflicto de actualizaciones para una fila, el sitio de propagación debe enviar una determinada cantidad de datos acerca de las nueva y antigua versiones de la fila hasta el sitio de recepción. La cantidad de datos que debe ser comunicada puede reducirse mediante el envío de los valores antiguos solo si se necesitan para detectar y resolver conflictos, así como los nuevos valores de cada columna actualizada de cada grupo de columnas.

El sistema Oracle&i - Replication Management API Reference - Release 2 (8.1.6), diciembre 1999, es una descripción de la API de gestión de reproducciones que explica la forma en la que pueden implementarse los procedimientos de resolución de conflictos.

Sumario

Constituye un objetivo de la presente invención reducir la sobrecarga de la red en los sistemas de replicación de recursos.

Este objetivo se consigue mediante el objeto de las reivindicaciones independientes.

En las reivindicaciones dependientes se exponen formas de realización de la invención.

Se proporciona un procedimiento y un sistema para controlar qué contenido consigue prioridad cuando se reproduce. Un conjunto de reproducciones está compuesto por un conjunto de recursos. Cada recurso está asociado con datos de recursos y metadatos de recursos. Los datos de recursos, en el caso de archivos, incluye los contenidos y los atributos de los archivos, mientras que los metadatos de recursos incluyen los atributos adicionales que son relevantes para negociar la sincronización durante la replicación. Un campo suplementario denominado "valor límite" es añadido a los metadatos asociado con cada recurso. Durante la sincronización, se comparan los valores límite. El recurso con un valor límite más alto incluye el contenido que está controlando y que consigue ser replicado. Si los valores límite son iguales (y mayores que un valor determinado), el recurso de control se determina en base a otros metadatos.

Los valores límite son independientes de los datos locales respecto del contenido. Esto es, aunque un cambio local de contenido pueda afectar a otros metadatos (por ejemplo un marcado temporal, un valor de reloj o de otro tipo), el cambio local de contenido no afecta al valor límite a menos que se indique lo contrario.

En un aspecto de la invención, un recurso puede tener un valor límite que indique que el recurso no está limitado. Si un recurso no está limitado, ello indica que el recurso no debe ser transmitido desde la máquina sobre la cual el recurso está almacenado. Cuando un recurso contendiente es recibido con vistas a su sincronización, un recurso que no está limitado pueden (y es sustituido durante la sincronización) frente a los recursos que están limitados.

En otro aspecto de la invención, solo se transmiten las diferencias entre recursos en una máquina con un recurso ganador y una máquina de contenido perdedor. Por ejemplo, unos metadatos de recurso pueden ser transmitidos sin transmitir el contenido de los recursos. Otro ejemplo puede ser que las diferencias en el contenido de los recursos pueden ser transmitidas durante la sincronización.

Otras ventajas se pondrán de manifiesto a partir de la descripción detallada subsecuente tomada en combinación con los dibujos, en los cuales:

Breve descripción de los dibujos

La Figura 1 es un diagrama de bloques que representa un sistema informático dentro del cual puede ser incorporada la presente invención;

la Fig. 2 es un diagrama de bloques que representa un sistema de replicación de recursos que incluye dos máquinas que reproducen recursos de acuerdo con diversos aspectos de la invención;

la Fig. 3 es un diagrama de bloques que representa un sistema en el cual dos máquinas intentan conciliar un recurso incluido en ambas de acuerdo con diversos aspectos de la invención;

la Fig. 4 muestra algunos datos de recursos ejemplares y unos metadatos que pueden ser utilizados destinados a una máquina de las Figs. 2 y 3 de acuerdo con diversos aspectos de la invención;

la Fig. 5 muestra algunos datos de recursos ejemplares y unos metadatos que pueden ser utilizados de acuerdo con algunos aspectos de la invención;

la Fig. 6 es un diagrama de flujo de datos que representa genéricamente unas etapas ejemplares que pueden producirse para sincronizar un recurso entre dos máquinas de acuerdo con diversos aspectos de la invención;

la Fig. 7 es un diagrama de flujo de datos que representa genéricamente unas etapas ejemplares que pueden producirse para llevar a cabo una salvaguardia sin autoridad de acuerdo con diversos aspectos de la invención; y

la Fig. 8 es un diagrama de bloques que representa una máquina ejemplar configurada para operar en un sistema de replicación de recursos de acuerdo con diversos aspectos de la invención.

Descripción detallada

Entorno operativo ejemplar

La Figura 1 ilustra un ejemplo de un entorno de sistema informático apropiado 100 sobre el cual puede ser implementada la invención. El entorno de sistema informático 100 es solo un ejemplo de un entorno informático apropiado y no pretende dar a atender limitación alguna acerca del alcance o el uso o la funcionalidad de la invención. Tampoco el entorno informático 100 debe ser interpretado como dependiente o condicionado con respecto a uno cualquiera o a una combinación de los componentes ilustrados en el entorno operativo ejemplar 100.

La invención es operativa con otros entornos o configuraciones de sistemas informáticos de propósito general o de propósito especial. Ejemplos de sistemas, entornos y/o configuraciones informáticas sobradamente conocidas que pueden resultar apropiados para su uso con la invención incluyen,...

 


Reivindicaciones:

1. Un procedimiento implementado por computadora para reproducir recursos, en el que cada recurso está asociado con unos metadatos (830) y un contenido (825), incluyendo cada metadato uno o más campos que son actualizados siempre que el contenido del recurso asociado es modificado y un valor límite (835) independiente de cualquier cambio local efectuado en el contenido, siendo cada valor límite un valor asignado al recurso respectivo y utilizado en la resolución de conflictos de actualización, comprendiendo el procedimiento:

determinar (610 - 625) si un primer recurso (822) que reside en una primera máquina (110, 181, 201, 301, 501, 805) debe ser utilizado para actualizar un segundo recurso (822) que reside en una segunda máquina (110, 181, 202, 302, 502, 805) mediante la comparación del valor límite del primer recurso con el valor límite del segundo recurso; y
si el valor límite del primer recurso tiene una prioridad más alta que el valor límite del segundo recurso, actualizar (630) el segundo recurso a partir del primer recurso.

2. El procedimiento de la reivindicación 1, que comprende así mismo la etapa de, si los valores límite de los primero y segundo recursos son equivalentes, determinar (625) qué máquina actualizará la otra en base a metadatos distintos de los valores límite.

3. El procedimiento de la reivindicación 2, en el que los demás metadatos comprenden un reloj lógico que indica la última vez que el contenido correspondiente fue actualizado.

4. El procedimiento de la reivindicación 3, en el que un valor límite indica que su correspondiente recurso puede ser propagado a otras máquinas hasta que otro recurso con un valor límite más alto se sitúe sobre otra máquina.

5. El procedimiento de una de las reivindicaciones 1 a 4, en el que los metadatos asociados con el primer recurso son almacenados en una estructura de datos separada de su correspondiente recurso.

6. El procedimiento de la reivindicación 5, que comprende así mismo la etapa de, si la estructura de datos está corrompida o borrada (710), reconstruir (715) la estructura de datos y reducir el valor límite asociado con el primer recurso.

7. El procedimiento de la reivindicación 6, que comprende así mismo la etapa de reconstruir la estructura de datos una pluralidad de veces y reducir el valor límite asociado con el primer recurso cada vez que la estructura de datos es reconstruida.

8. El procedimiento de la reivindicación 7, que comprende así mismo la etapa de, si el valor límite del segundo recurso tiene una prioridad más alta que el valor límite del primer recurso, actualizar (630) el primer recurso a partir del segundo recurso.

9. El procedimiento de las reivindicaciones 1 a 8, que comprende así mismo la etapa de recuperar los metadatos de los primero y segundo recursos, siendo los primero y segundo recursos versiones de un mismo recurso replicado sobre una pluralidad de máquinas (110, 181, 201, 202, 301, 302, 501, 502, 805) que incluyen las primera y segunda máquinas, teniendo el recurso unos metadatos y un contenido que reside en cada máquina sobre la cual se reproduce el recurso.

10. El procedimiento de una de las reivindicaciones 1 a 9, en el que el los metadatos son almacenados en un almacén (130, 141, 152, 156, 181) separados del contenido.

11. El procedimiento de una de las reivindicaciones 1 a 10, en el que la etapa de actualizar el segundo recurso comprende determinar una o más diferencias entre el contenido existente en las primera y segunda máquinas y transmitir las una o más diferencias.

12. El procedimiento de una de las reivindicaciones 1 a 10, en el que la etapa de actualizar el segundo recurso comprende transmitir solo los metadatos.

13. El procedimiento de la reivindicación 12, en el que el contenido existente en las primera y segunda máquinas es el mismo.

14. El procedimiento de una de las reivindicaciones 1 a 13, en el que el contenido comprende datos de archivos y atributos de archivos.

15. El procedimiento de una de las reivindicaciones 1 a 14, en el que cada metadato existente en cada máquina comprende un compendio que resume un recurso.

16. El procedimiento de la reivindicación 15, que comprende así mismo la etapa de comparar los compendios de los metadatos existentes en las máquinas y soslayar la actualización si los compendios son equivalentes.

17. El procedimiento de una de las reivindicaciones 1 a 16, en el que la etapa de actualizar el segundo recurso comprende actualizar el segundo valor límite para que sea igual al primer valor límite.

18. El procedimiento de una de las reivindicaciones 1 a 17, que comprende así mismo la etapa de, si los valores límite son equivalentes, comparar (625) otros datos de los metadatos para determinar si los contenidos deben ser actualizados.

19. El procedimiento de una de las reivindicaciones 1 a 18, en el que a cada valor límite se le asigna una porción o unas porciones de su recurso respectivo.

20. El procedimiento de una de las reivindicaciones 1 a 19, en el que el contenido con un cierto valor límite es invisible a otras máquinas.

21. El procedimiento de una de las reivindicaciones 1 a 20, que comprende así mismo la etapa de fijar uno de los valores límite en un máximo de [este valor + 1] y [un tiempo de reloj] de la máquina sobre la cual reside el recurso que incluye el valor límite.

22. El procedimiento de una de las reivindicaciones 1 a 21, que comprende también la etapa de mantener el mismo cada valor límite cuando el contenido asociado con el valor límite cambia.

23. El procedimiento de la reivindicación 1, que comprende así mismo las etapas de:

cargar (715) el primer recurso sobre la primera máquina;
marcar (720) el primer recurso con el correspondiente valor límite; y
sincronizar (725) al menos una porción del segundo recurso con el primer recurso existente en la segunda máquina.

24. El procedimiento de la reivindicación 23, que comprende así mismo después de la sincronización de al menos una porción del primer recurso marcar (730) la porción restante del primer recurso con un valor límite que indique que el primer recurso puede ser transmitido a partir de la primera máquina para actualizar los recursos existentes en cualquier otra máquina.

25. El procedimiento de las reivindicaciones 23 o 24, que comprende así mismo, después de sincronizar la al menos una porción del primer recurso, borrar (730) la porción restante del primer recurso.

26. El procedimiento de una de las reivindicaciones 23 a 25, en el que el primer recurso es cargado a partir de una salvaguardia.

27. El procedimiento de una de las reivindicaciones 23 a 25, en el que el primer recurso es cargado a partir de una copia del primer recurso enviada a partir de otra máquina.

28. El procedimiento de una de las reivindicaciones 23 a 27, que comprende así mismo marcar el segundo recurso existente en la segunda máquina con un valor límite correspondiente que indique que el segundo recurso debe ser sincronizado durante la sincronización.

29. El procedimiento de una de las reivindicaciones 23 a 28, que comprende así mismo cambiar una porción del primer recurso y macar la porción cargada con un valor límite (835) que indique que la porción cambiada debe ser sincronizada durante la sincronización.

30. Un medio legible por computadora que almacena unas instrucciones ejecutables por computadora que, cuando se llevan a cabo mediante un procesador, hacen que el procesador lleve a cabo el procedimiento de una de las reivindicaciones 1 a 29.

31. Un sistema para reproducir recursos, que comprende:

una primera máquina (110, 181, 201, 301, 501, 805) que presenta un primer conjunto de recursos (822); y
una segunda máquina (110, 181, 202, 302, 502, 805) que presenta un segundo conjunto de recursos (822),
en el que cada recurso existente en cada máquina está asociado con unos metadatos (830) y un contenido (825), incluyendo cada metadato uno o más campos que son actualizados siempre que el contenido del recurso asociado sea modificado y un valor límite (835) independiente de cualquier cambio efectuado en el contenido, siendo cada valor límite un valor asignado al recurso respectivo y utilizado en la resolución de conflictos de actualización, estando la primera y segunda maquinas configuradas para:
comunicar información relativa a los recursos contenidos por ambos; y
actualizar cada recurso que está desfasado de acuerdo con la siguiente prioridad:
si un valor límite de un recurso del primer conjunto de recursos tiene una prioridad más alta que el valor límite de un correspondiente recurso del segundo conjunto de recursos, actualizar el recurso del segundo conjunto de recursos con el recurso del primer conjunto de recursos; en otro caso
actualizar el recurso existente en las máquinas en base a metadatos distintos de los valores límite.

32. El sistema de la reivindicación 31, en el que el primer conjunto de recursos es cargado a partir de una salvaguardia y sus valores límite se establecen para provocar que el primer conjunto de recursos tenga prioridad sobre cualquier otro conjunto de recursos, de tal manera que cualquier otro conjunto de recursos existente en cualquier otra máquina que se corresponda con el conjunto de recursos se actualice a partir del primer conjunto de recursos.

33. El sistema de las reivindicaciones 31 o 32, en el que los valores límite del primer conjunto de recursos son marcados para que tengan prioridad respecto de los correspondientes recursos de las demás máquinas, de manera que los correspondientes recursos sean actualizados a partir del primer conjunto de recursos.


 

Patentes similares o relacionadas:

PROCEDIMIENTO Y PROGRAMA PARA LA PREPARACIÓN DE COHERENCIA DE DATOS EN REDES, del 17 de Enero de 2012, de GIP AG: Procedimiento para la preparación de coherencia entre instancias de objetos de datos, que residen en nodos distribuidos de una red no acoplada con memoria, caracterizado […]

SISTEMA Y MÉTODO PARA MANTENER LA COHERENCIA DE UN CONTENIDO "CACHÉ" EN UN SISTEMA DE SOFTWARE DE NIVELES MÚLTIPLES DESTINADO A CONSTITUIR INTERFAZ ENTRE GRANDES BASES DE DATOS, del 16 de Agosto de 2011, de AMADEUS S.A.S.: Método para mantener la coherencia de contenidos caché en una arquitectura de software de niveles múltiples, que comprende un primer nivel dotado, como mínimo, de un servidor/cliente, […]

Imagen de 'UNA FUNCION DE PAPELERA DE RECICLAJE'UNA FUNCION DE PAPELERA DE RECICLAJE, del 17 de Marzo de 2010, de PACE PLC: Un método para implementar una función de papelera de reciclaje para un primer dispositivo electrónico, comprendiendo el dispositivo electrónico un […]

PROCEDIMIENTO Y DISPOSITIVO PARA ADMINISTRAR UN DISPOSITIVO DE MEMORIA, del 22 de Noviembre de 2011, de GIESECKE & DEVRIENT GMBH: Procedimiento para administrar una memoria de datos de un soporte de datos portátil, en el que - la memoria de datos está prevista con tecnología Flash […]

SISTEMA GESTOR DE DATOS EN TIEMPO REAL BASADO EN EL CONOCIMIENTO, del 14 de Febrero de 2012, de UNIVERSIDAD DE SEVILLA: Sistema gestor de datos en tiempo real basado en el conocimiento.En el sistema participan dos tipos de almacenes de datos: una base de datos objeto-relacional y […]

Imagen de 'SISTEMA Y PROCEDIMIENTO DE DUPLICACIÓN SELECTIVA DE DATOS'SISTEMA Y PROCEDIMIENTO DE DUPLICACIÓN SELECTIVA DE DATOS, del 23 de Mayo de 2011, de COMMVAULT SYSTEMS, INC.: Un procedimiento computerizado para copiar datos electrónicos almacenados en un primer conjunto de datos de salvaguardia , comprendiendo […]

Imagen de 'SISTEMA DE JUEGOS SEPARABLE BASADO EN UN NAVEGADOR DE INTERNET…'SISTEMA DE JUEGOS SEPARABLE BASADO EN UN NAVEGADOR DE INTERNET URL, del 9 de Marzo de 2011, de BALLY GAMING INC: Sistema para proporcionar operaciones de navegador a una red de juegos no habilitada para navegadores , comprendiendo el sistema: • una red de juegos no habilitada […]

Imagen de 'SINCRONIZACION DE BASE DE DATOS'SINCRONIZACION DE BASE DE DATOS, del 2 de Julio de 2010, de GEMALTO SA: Método para sincronizar bases de datos (DB1, DB2), estando almacenada una primera base de datos (DB1) en un aparato móvil (MOB) o en una […]

Utilizamos cookies para mejorar nuestros servicios y mostrarle publicidad relevante. Si continua navegando, consideramos que acepta su uso. Puede obtener más información aquí. .