ES2372262T3 - Procedimiento y programa para la preparación de coherencia de datos en redes. - Google Patents

Procedimiento y programa para la preparación de coherencia de datos en redes. Download PDF

Info

Publication number
ES2372262T3
ES2372262T3 ES09716698T ES09716698T ES2372262T3 ES 2372262 T3 ES2372262 T3 ES 2372262T3 ES 09716698 T ES09716698 T ES 09716698T ES 09716698 T ES09716698 T ES 09716698T ES 2372262 T3 ES2372262 T3 ES 2372262T3
Authority
ES
Spain
Prior art keywords
coherence
network
node
data object
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES09716698T
Other languages
English (en)
Inventor
Alexander Ebbes
Bernd REIFENHÄUSER
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GIP AG
Original Assignee
GIP AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GIP AG filed Critical GIP AG
Application granted granted Critical
Publication of ES2372262T3 publication Critical patent/ES2372262T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems

Abstract

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 porque a cada instancia, procesada por un nodo, de un objeto de datos se generan metadatos unívocos independientes de la plataforma y se mantienen coherentes los metadatos y, por lo tanto, los objetos de datos con la ayuda de estos metadatos y de un protocolo de coherencia, que opera sobre estos metadatos.

Description

Procedimiento y programa para la preparación de coherencia de datos en redes
La presente invención se refiere a un procedimiento y a un programa para la preparación de coherencia entre instancias de objetos de datos, que residen en nodos distribuidos de una red no acoplada con memoria.
Se conocen en el estado de la técnica en particular procedimientos para una llamada coherencia Caché en ordenadores paralelos, en los que varios procesadores presentan, respectivamente, una memoria Caché asociada propia y las memorias y los procesadores están conectados entre sí típicamente a través de un bus. La coherencia caché se mantiene a través de la supervisión del acceso a una memoria común o al menos a un espacio de direcciones común de la memoria, como por ejemplo en el caso de una memoria distribuida y a través de la asociación de estados que determinan la coherencia de líneas individuales Caché (Cachelines). En este caso, se utiliza, por ejemplo, el llamado Protocolo MESI, en el que es la abreviatura de Modified Exclusive Shared Invalid, definiendo cada uno de los conceptos mencionados anteriormente en cada caso un estado de acceso de un objeto de datos. De donde resulta de nuevo la versión más actualizada respectiva de una línea caché, como conocen, en general, los técnicos en este campo.
A través de la supervisión del acceso a la memoria, cada procesador o bien cada lógica de control de una memoria caché puede establecer si algunas de las copias de una línea caché ha sido modificada o sobrescrita, lo que conduce, en general, a que eventualmente otras copias en otras memorias caché se declaren inválidas (invalid), a las que no se puede acceder ya de manera correspondiente. De este modo se asegura que cada procesador acceda siempre sólo a la línea caché más actualizada respectiva,
Los objetos de datos, que son sustituidos en redes no acopladas con memoria y que son retenidos por varios usuarios o nodos y, dado el caso, modificados, no están presentes, sin embargo, en forma de líneas caché, sino que tienen una estructura, en principio, discrecional, en función del hardware y del programa de aplicación. Una supervisión del tráfico de datos o incluso de los acceso a memorias locales no se puede realizar en la práctica precisamente en redes grandes y ampliamente distribuidas, como por ejemplo en Internet, entre todos los nodos que se contemplan para el procesamiento de un objeto de datos concreto, de manera que los procedimientos que se basan en coherencia de línea caché y conocidos por redes acopladas con memoria no se pueden transmitir a tales redes.
Pero, por otra parte, existe una necesidad considerable de que usuarios, dado el caso, muy alejados entre sí, que están conectados a través de una WAN (Wide Area Net) o bien a través de Internet, trabajen en común en uno y el mismo objeto de datos con frecuencia complejo y para esta finalidad deben registrar o bien descargar una instancia de un objeto de datos en su nodo local. Los ordenadores o bien nodos de una red de Firma mayor, conectados en forma de una Intranet, no pueden asumir los procedimientos de coherencia caché o solamente con un gasto considerable con respecto a la supervisión del tráfico de datos y en forma considerablemente modificada, de manera que también aquí existe la necesidad de un procedimiento mejorado en la preparación de coherencia de datos. Muchas Firmas tienen también localizaciones distribuidas, que solamente están conectadas entre sí a través de Internet, pero donde, a pesar de todo, los usuarios o bien colaboradores en diferentes localizaciones y, dado el caso, también usuarios móviles, que se conectan en cualquier lugar de paso a través de Internet, deben trabajar en uno y el mismo objeto de datos y a tal fin deben cargar en cada caso una instancia del objeto de datos y, en concreto, la instancia más actualizada respectiva.
Por ejemplo, en general, es habitual que documentos muy amplios sean generados y procesados parcialmente por varios usuarios, que trabajan en lugares muy alejados entre sí y procesan el mismo objeto, siendo imprescindible que las más diferentes instancias de tales objetos de datos se mantengan siempre coherentes. Un documento correspondiente, relativamente complejo sería, por ejemplo, un documento que describe y define un convenio de interfaces.
En el documento US 2003/0028695 A1 se describe la aplicación de una administración de memoria distribuida sobre un sistema de datos distribuido. El sistema ofrece una sincronización de la red, que está concebida para una consistencia secuencial con una Write-Back Cash, como es típico para sistemas de ficheros distribuidos. Una segunda sincronización de la red está prevista para una consistencia secuencial sin conversión para aplicaciones que administran sus propias cajas. Además, están previstas sincronizaciones de la red, que implementan un nodo de consistencia más blando con el Write-Back Cashing, que está diseñado para una replicación y distribución eficientes. Las sincronizaciones de la red para la replicación son adecuadas para la preparación de datos dinámicos en Internet y otras aplicaciones simultáneas de alta calidad. La selección del protocolo adecuado de sincronización de la red para cada fichero se establece para que se utilicen los metadatos del fichero. Además, se publica una sincronización de la red, que utiliza dos sincronizaciones de la red para todos los ficheros: una sincronización de la red de generación P y una sincronización de la red de recepción C. Cualquier cliente puede mantener una sincronización de la red de recepción y cuando mantiene una sincronización de la red de recepción, puede leer datos y convertir datos para la lectura. La sincronización de la red de generación solamente es mantenida por un único escritor, y un escritor, que mantiene una sincronización de la red de generación, puede escribir, asociar datos y convertir datos para la escritura.
A la vista de este estado de la técnica, la presente invención tiene el problema de crear un procedimiento y un programa para la preparación de coherencia de acuerdo con las características mencionadas al principio, que permite una coherencia entre objetos de datos en principio discrecionales o bien instancias de objetos de datos, de manera que se puede escalar en gran medida libremente y no necesita ninguna memoria o servidor para los objetos de datos.
Con respecto al procedimiento mencionado al principio, este cometido se soluciona porque para cada instancia procesada por un nodo de un objeto de datos se generan metadatos unívocos independientes de la plataforma y se comunican a través de un protocolo de coherencia entre todos los nodos de la red que mantienen una instancia del objeto de datos respectivo.
Se entiende que esta comunicación no tiene que realizarse en este caso necesariamente de forma instantánea, de modo que puede ser suficiente que se realice una comunicación correspondiente en cada caso lo más tarde cuando un nodo llama a una instancia del objeto de datos respectivo.
Los metadatos generados en cada caso para una instancia de un documento, independientes de la plataforma y unívocos (es decir, unívocos para la instancia del objeto de datos) tienen también en el caso de objetos de datos discrecionalmente grandes solamente una extensión (de tamaño constante) relativamente limitada y se pueden comunicar sin carga considerable de la red, de manera que la atención principal se fija menos en una carga eventual de la red, sino que se dirige principalmente a la reducción del tráfico de coherencia entre los nodos de la red. En realidad, tampoco deben comunicarse los metadatos completamente entre los nodos, sino que de acuerdo con una forma de realización de la invención es suficiente que a través del protocolo de coherencia se comuniquen transiciones de estado de los autómatas de estado así como las operaciones correspondientes realizadas en los objetos de datos (lectura, escritura, borrado, …) al menos entre todos los nodos de la red que mantienen una instancia del objeto de datos respectivo.
Los ordenadores y las aplicaciones individuales implicados, lo mismo que los nodos de una red de coherencia correspondiente, requieren, por lo tanto, para la obtención de la coherencia de los objetos de datos un tráfico de datos y un volumen de datos considerablemente reducidos y un gasto de tiempo y de cálculo reducido en una medida correspondiente en comparación con lo que era posible hasta ahora para la obtención de la coherencia con métodos conocidos.
De acuerdo con la invención, cada nodo que llama al objeto de datos respectivo para un procesamiento o también sólo para lectura, recibe los metadatos y, por lo tanto, la información sobre qué instancia es la actualizada en cada caso. Por lo tanto, en virtud de la asociación unívoca de los metadatos a las instancias respectivas del objeto, el nodo recibe también la versión actual de este objeto de datos o bien las indicaciones de la dirección o bien del lugar de la memoria de la instancia actual del objeto de datos y entonces puede adquirir esta instancia actual.
En este caso, de acuerdo con una forma de realización, los metadatos contienen un autómata de estado que corresponde al protocolo de coherencia. Los autómatas de estado forman una parte de los metadatos, en los que se reproduce de manera característica cada acceso a un objeto de datos. Por lo tanto, son especialmente adecuados para transmitir la coherencia de objetos de datos.
El protocolo de coherencia común es generado e interpretado correctamente, independientemente del hardware y del software local por todos los nodos que manipulan potencialmente el objeto de datos, aunque los nodos individuales puedan presentar componentes de hardware y de software muy diferentes para la manipulación de los objetos de datos. Por manipulación de objetos de datos se entiende, por lo demás, aquel proceso, que está enlazado con una llamada o registro del objeto de datos, es decir, cada solicitud de lectura, de ocupación, de modificación y de escritura o de registro.
Además, de acuerdo con una forma de realización, está previsto configurar el protocolo de coherencia de tal forma que los nodos que utilizan el protocolo de coherencia pueden formar una red superpuesta (overlay).
En este caso, de acuerdo con una forma de realización de la invención, está previsto que se acondicione un servicio que define la red superpuesta, que permite una solicitud y transmisión de objetos de datos entre al menos una parte de los nodos de la red superpuesta. Este servicio contiene los componentes de software necesarios para el direccionamiento de nodos remotos, para la implementación del protocolo de coherencia, la lectura, emisión y recepción de los metadatos y las interfaces con memorias locales y sistemas de ficheros así como con la red.
En particular, el servicio define, por lo tanto, una interfaz entre un programa de usuario y la red de coherencia.
En este caso, el servicio puede ser también parte de un programa de aplicación para el objeto de datos respectivo.
La red que sirve de base a la red superpuesta puede ser, de acuerdo con una forma de realización, Internet y también la red superpuesta puede utilizar en este caso el protocolo de Internet. De esta manera se puede acceder a normas ampliamente difundidas y de este modo se reduce el gasto para la realización de un programa de servicio correspondiente.
En este caso, de acuerdo con una forma de realización, la comunicación se puede realizar según el SIP (Session Initiation Protocol) o la Norma http.
La invención se puede emplear especialmente para objetos de datos, que representan en cada caso bajo al menos una aplicación un objeto de datos completo, en oposición a líneas caché, que contienen, en general, solamente fragmentos o en cualquier caso partes de un objeto de datos no manipulables por una aplicación concreta. Ejemplos de tales objetos de datos completos son documentos de textos, gráficos, tablas, ficheros de audio, ficheros de películas, segmentos de corrientes, programas de software, subprogramas o bien rutinas de programas y otros objetos de datos, que son manipulados en cada caso por una aplicación instalada en un nodo por encima del plano del sistema operativo.
Además, la utilización de la presente invención está prevista en particular para aplicaciones, que definen para el objeto de datos al menos una forma de representación secuencial, lo que es necesario, en general, para poder transmitir el objeto de datos a través de la red.
De acuerdo con una forma de realización, la utilización del procedimiento de acuerdo con la invención está prevista para aplicaciones que intercambian objetos de datos en Java, formato NET o formato XML.
Una configuración del procedimiento de acuerdo con la invención prevé, además, que cada instancia de un objeto de datos contenga referencias a todos los nodos que mantienen, por su parte, una instancia de este objeto de datos. Esto posibilita que en cada llamada local del objeto de datos, todos los nodos sean provistos de manera automática con los metadatos correspondiente que, por su parte, mantienen una instancia de un objeto de datos, de manera que se asegura que cada nodo sea informado sobre una llamada del objeto de datos a otro nodo.
De acuerdo con un desarrollo de la invención, se puede crear especialmente un objeto de datos designado como objeto de coherencia, que está constituido esencialmente por una lista de objetos de datos de una aplicación preparados en el nodo.
Además, en una forma de realización, puede estar previsto que un objeto de datos sea una lista de nodos, para los que se preparan, bajo una aplicación, objetos de coherencia sobre el nodo.
Como ya se ha mencionado, es conveniente que al inicio de una aplicación o bien a la llamada de un objeto de datos que debe mantenerse coherente se lleve a cabo a través de una aplicación una consulta automática de los nodos disponibles restantes de la lista de nodos de acuerdo con la instancia coherente actual del objeto de datos.
El protocolo de coherencia puede comprender especialmente el protocolo MESI, sin estar limitado, sin embargo, a ello.
Además, es conveniente que los objetos de datos o bien las instancias de los objetos de datos sean identificados de manera unívoca por medio de una designación.
En particular, la designación de la instancia de un objeto de datos puede comprender, además de su designador unívoco mencionado anteriormente, también su lugar de memoria.
La designación de la instancia de un objeto de datos puede contener también el nombre del nodo del elemento de la red, en el que se mantiene, y un nombre del objeto. Además, la designación del objeto puede contener el nombre de la aplicación correspondiente y/o el instante de la última modificación (proceso de escritura) del objeto. De esta manera se obtiene simplemente a partir de la designación de un objeto de datos la respuesta a la pregunta de la versión más actualizada y al lugar actual de la memoria, de manera que cualquier otro nodo discrecional puede deducir simplemente a partir de la designación del objeto de datos, cuál de las instancias respectivas puede llamar o bien cargar directamente en caso necesario.
De acuerdo con una forma de realización de la presente invención, está previsto que a cada agente de coherencia esté asociado un nodo de coherencia, de manera que los nodos de coherencia forman una red superpuesta y el agente de coherencia está dispuesto lógicamente entre una aplicación y una interfaz de memoria local y forma una interfaz con la red. En este caso, esta interfaz con la red puede ser también una interfaz indirecta, en la que el agente de coherencia está conectado todavía a través de un nodo de coherencia intercalado con la red, de manera que el nodo de coherencia presenta una interfaz de agente de coherencia, una interfaz de la red, una lógica de control de coherencia y una caché de coherencia.
En este caso, el nodo de coherencia puede estar instalado localmente en el ordenador del agente de coherencia en un ordenador remoto en la red y en particular también en un nodo de la red de una caché o proveedor.
Otras ventajas, características y posibilidades de aplicación de la presente invención serán evidentes con la ayuda de la siguiente descripción de una forma de realización preferida y de las figuras correspondientes.
La figura 1 muestra un diagrama de bloques de un llamado agente de coherencia.
La figura 2 muestra un diagrama de bloques de una red con agentes de coherencia y nodos de coherencia.
La figura 3 muestra un diagrama de bloques similar a la figura 2, pero con nodos de coherencia no locales.
La figura 4 muestra un diagrama de flujo de la apertura local de un objeto de datos que debe mantenerse coherente con los procesos correspondientes en un nodo de coherencia local.
La figura 5 muestra una representación esquemática de un nodo de coherencia.
La figura 6 muestra los métodos y parámetros de un agente de coherencia.
La figura 7 muestra una interfaz de la red, que establece la comunicación entre nodos de coherencia sobre la base de SIP.
La figura 8 muestra una representación esquemática de una caché de coherencia que pertenece a un nodo de coherencia.
Ejemplo de realización:
Consideramos la situación en la que un grupo de personas quieren conservar en común informaciones en un documento. Las personas pertenecen, por ejemplo, a diferentes Firmas, trabajan en redes (locales) separadas independientes entre sí y no pueden acceder a ningún servidor de ficheros central común y tampoco a una memoria común o espacio de direcciones de memoria. Sin embargo, deberían incorporar las informaciones recopiladas en un documento común, por ejemplo aquí una Tabla Excel.
El modo de proceder habitual en el estado de la técnica consiste en tales casos en que las personas se envían recíprocamente el documento por Email. Tan pronto como una persona ha realizado una modificación y quiere comunicarla, envía el documento a las otras personas. Dado el caso, la persona se asegura de que tiene presente todavía la versión más actualizada, consultando a las otras personas si han realizado modificaciones todavía no enviadas. Esta consulta es necesaria también cuando una de las personas solamente quiere leer el documento, pero quiere asegurarse de que tiene presente la versión actual.
De esta manera, no se asegura sistemáticamente la coherencia de las copias individuales de la Tabla Excel, sino que debe establecerse manualmente antes y después de las operaciones de lectura y escritura a través de las personas operativas.
El servicio de coherencia descrito a continuación asegura la coherencia entre todas las copias (las llamadas instancias) de la Tabla Excel (el llamado objeto de coherencia), sin que las personas cooperantes deban enviar manualmente ficheros. Describiremos aquí varias variantes, que se diferencian por funcionalidad creciente, pero también por complejidad arquitectónica creciente, que aseguran en cada caso, sin embargo, la coherencia entre las copias del fichero Excel.
Variante 1 – el sistema de ficheros de coherencia
Cada una de las personas cooperantes carga, por ejemplo, desde una página Web, en la que se ofrecen aplicaciones, que utilizan el servicio de coherencia, un software especial y lo instala en su ordenador local. En nuestro ejemplo, esta aplicación es el llamado sistema de ficheros de coherencia. Ésta prepara las funcionalidades habituales de un sistema de ficheros, en particular para la escritura y la lectura de ficheros, organizados en árboles de referencia, con la particularidad de que las instancias locales individuales del sistema de ficheros de coherencia se sintonizan entre sí para realizar una existencia de ficheros coherente. En ordenadores Windows se conecta el sistema de ficheros de coherencia con una letra de unidad, en ordenadores UNIX con un llamado Mountpoint, en otros entornos existen mecanismos correspondientes.
Desde el punto de vista del usuario Excel descrito anteriormente debe registrarse sobre todo la Tabla Excell en este sistema de ficheros de coherencia, es decir, bajo la lecha de la unidad o Mountpoint correspondiente. A continuación, el usuario puede leer y escribir el fichero Excel y puede asegurarse de que tanto él mismo como también sus compañeros trabajan con datos actualizados.
Componentes e interfaces
El sistema de ficheros de coherencia se realiza a través de un agente de coherencia específico de la aplicación, que utiliza de nuevo la red de coherencia. Cualquier otra aplicación se realiza de nuevo a través de un agente propio.
El agente de coherencia [100] dispone de tres interfaces (ver la figura 1).
1.
La interfaz VFSS [110] conecta el agente con el Conmutador de Sistema de Fichero Virtual [010] de un sistema Windows o de un sistema UNIX, exactamente de la misma manera que se realiza también por sistemas de ficheros locales como NTFS y UFS o por sistemas de ficheros de la red y protocolos como Samba/SMB o NFS. De esta manera, el sistema de ficheros de coherencia puede ser utilizado por cualquier programa de aplicación, que trabaja sobre E/S estándar [020].
2.
La interfaz de almacenamiento [120] conecta el agente con un sistema de ficheros estándar local del ordenador, por ejemplo con una referencia o una división bajo NTFS o UFS. De esta manera, el sistema de ficheros de coherencia puede registrar también realmente ficheros.
3.
La interfaz de agentes de coherencia [130] conecta el agente [100] con un nodo de coherencia [200] de la red de coherencia. Cualquier otro agente del sistema de ficheros de coherencia está conectado igualmente con un nodo de coherencia de este tipo.
La figura 1 muestra cómo el sistema de ficheros de coherencia interrumpe la comunicación directa entre la aplicación (no modificada), conectada a través de la interfaz VFSS, y l sistema de ficheros local (no modificado) a través de la interfaz de almacenamiento. En su lugar, se conmuta la comunicación a través de la interfaz de coherencia [130]. A través de esta conmutación se puede realizar y asegura, por medio de la comunicación a través de los nodos de coherencia con otros agentes de coherencia, que se leen y escriben exclusivamente copias coherentes de un fichero, aquí de una Tabla Excel.
Son posibles varias variaciones para emplazar nodos de coherencia de acuerdo con la técnica de la red – mencionamos esta propiedad granularidad de la coherencia:
1.
Los nodos de coherencia pueden estar instalados localmente en los ordenadores de los usuarios, ver la figura 2. Un nodo de coherencia local de este tipo realiza la coherencia solamente para los objetos de un usuario y permite el establecimiento de aplicaciones coherentes sin participación de un proveedor o portadora de la telecomunicación.
2.
Los nodos de coherencia pueden ser realizados en el lado de la red, es decir, como parte de Internet, ver la figura 3. Típicamente, tales topologías pueden ser seleccionadas a través de proveedores o portadoras de telecomunicaciones para la optimización de la capacidad de comunicación, por ejemplo en virtud de proximidad geográfica u otra buena conexión.
También son posibles formas extremas o mixtas. Por ejemplo, se pueden establecer nodos de coherencia de forma exclusiva para aplicaciones individuales o en la LAN de una empresa se puede proveer con coherencia solamente un departamento. Es posible establecer por separado la granularidad de coherencia para cada nodo de coherencia individual.
Modo de funcionamiento - carga
En el funcionamiento en curso, el usuario puede cargar fácilmente sus documentos y en este caso asegurarse de que tiene abierta la versión más actualizada.
Proceso durante la solicitud local
Descripción del proceso en un agente de coherencia [100], cuando la aplicación ejecuta una operación: en nuestro ejemplo, la aplicación es el sistema de ficheros de coherencia y la interfaz con el agente de coherencia es el Conmutador del Sistema de Fichero Virtual [010] del sistema operativo. Por lo tanto, las operaciones para todos los sistemas operativos se conocen en el estado de la técnica. Consideramos la operación de abrir un fichero. Esta operación lleva como parámetros un nombre de fichero, típicamente incluyendo una vía de fichero en una estructura de referencias, y como tal es unívoco; definimos la totalidad como “nombre del fichero” (ver la figura 6). Con este nombre del fichero como designador del objeto [215] en nuestro ejemplo la interfaz de agentes de coherencia [130] (ver la figura 1) del agente de coherencia [100] (ver la figura 1) llama el método GET [211] (ver la figura 6) del nodo de coherencia [200] (ver la figura 2). El designador del objeto es parte de los metadatos.
La figura 4 describe el proceso en un nodo de coherencia [200] (ver la figura 1), cuando a través de la interfaz de agentes de coherencia [210] (ver la figura 5) se realiza una llamada de uno de los cuatro métodos [211-214] (ver la figura 6) de esta interfaz [210] (ver la figura 5): en este ejemplo se llama el método GET [211] (ver la figura 6) con un designador del objeto [215] (ver la figura 6). Este designador del objeto es reproducido a través de la función Hash
[231] (ver la figura 5) de la lógica de control de coherencia [230] (ver la figura 5) sobre una referencia de coherencia
[316] (ver la figura 8). A través de la asociación del designador del objeto [215] y la función Hash [231], el nombre del nodo [232], el nombre de la aplicación [233], el designador de coherencia [234] y las metainformaciones [310] sobre los objetos se generan y se asocian en este ejemplo de realización los metadatos a estos objetos. La lógica de control [230] (ver la figura 5) verifica si en las meta-informaciones [310] (ver la figura 5) de la caché de coherencia
[240] (ver la figura 5) está contenida tal referencia de coherencia [316] (ver la figura 5).
Aclaración: Las meta-informaciones de coherencia [310] (ver la figura 5) dentro de la caché de coherencia [240] (ver la figura 5) del nodo de coherencia [200] (ver la figura 1) están constituidas por tres partes, ver la figura 8:
1. La referencia de coherencia [316] es una clave unívoca dentro de la caché de coherencia [240] con respecto a un objeto de coherencia del agente de coherencia. La referencia se forma por una función Hash
[231] de la lógica de control de la caché [230] a partir de un designador del objeto [215].
2.
La referencia de coherencia [313] hacia una referencia de coherencia [316] contiene una lista de aquellos otros nodos de coherencia ([220.2] y [220.3] en la figura 3), que registran instancias del objeto de coherencia referenciado a través de [316]. De esta manera, la referencia [313] define la topología actual respectiva de la limitación de instancias de objetos. La utilización de coherencia basada en referencia corresponde al estado de la técnica.
3.
El estado de coherencia [314] es uno de los estados que corresponde a un autómata de estado, la llamada máquina de coherencia. Las máquinas de coherencia de nodos individuales modifican sus estados de manera coherente de acuerdo con un procedimiento de sincronización, el llamado protocolo de coherencia. Tales protocolos corresponden al estado de la técnica; un ejemplo conocido de un protocolo de este tipo es el protocolo MESI.
Cuando está presente una entrada de este tipo con referencia [316] adecuada, entonces se verifica por la lógica
[230] si el estado de coherencia [314] asociado tiene un valor de coherencia válida:
O bien: cuando el objeto designado a través de la referencia [316] es todavía coherente – en el ejemplo mencionado anteriormente del protocolo MESI serían los estados M, E y S – entonces el método GET [211] de la interfaz [210] revuelve al agente que realiza la llamada una respuesta vacía, es decir, una respuesta con un objeto vacío [217]. El agente utiliza a continuación su propia copia del objeto –en el ejemplo del sistema de ficheros de coherencia la carga a través de la interfaz [120] desde el sistema de ficheros “normal” del ordenador local – y la suministra a la aplicación –en el ejemplo del sistema de ficheros de coherencia a través de la interfaz [110].
O: cuando el objeto designado a través de la referencia [316] no es ya coherente – en el ejemplo mencionado anteriormente del protocolo MESI sería el estado I -, entonces el nodo de coherencia carga su copia coherente del objeto de coherencia desde la red de coherencia a través de una solicitud remota (ver más adelante) a través de la interfaz de la red [220]. Esta copia es devuelta como objeto [217] a través de la interfaz [210] al agente. El agente actualiza su propia copia y suministra el objeto coherente a la aplicación.
La porción del proceso en el caso de solicitud local dentro del nodo de coherencia se representa como diagrama de flujo de control en la figura 4.
El concepto de establecer coherencia con autómatas de estado y referencias, forma parte, en efecto, del estado de la técnica, como se publica, por ejemplo en el documento DE 103 41 563 A1, pero está limitado a acoplamiento de memoria. La presente invención se basa en ello y realiza un servicio de coherencia para Redes de la Siguiente Generación e Internet Futura.
Proceso en el caso de solicitud remota
Sigue la descripción del proceso en un nodo de coherencia [200] cuando a través de la interfaz de la red [220] se realiza una llamada: la comunicación de coherencia se envía a través del método SIP [221] (ver la figura 7) de la interfaz de la red [220] y se canaliza a través de SIP como capa de transporte: SIP (Protocolo de Inicialización de la Sesión) es conocido por los técnicos en el campo y está especificado en RFC 3261. A través de la utilización de la estructura SIP de la red, como por ejemplo el IMS (Subsistema Multimedia de Internet) se asegura el direccionamiento y la accesibilidad de nodos de coherencia remotos también en el caso de usuarios móviles como cortafuegos (Firewalls) y al mismo tiempo se asegura una buena actuación durante el transporte a través de la red IP. La expresión concreta de la comunicación de coherencia se codifica en los campos “Tipo de contenido” y la descripción de SDP a través de los campo de conexión ‘c=’ y atributo ‘a=’. El SDP (Protocolo de Descripción de la Sesión) está especificado en RFC 2327.
La porción del proceso en el caso de solicitud remota dentro de un nodo de coherencia se desarrolla de manera similar a la solicitud local y a este respecto se conoce en sí. No obstante, en el presente caso existe una particularidad de la presente invención: el nodo remoto relevante se establece de la siguiente manera. A partir del designador del objeto [215] se genera a través de la función Hash [231] la referencia de coherencia [316] y a través del nombre del nodo [232] y el nombre de la aplicación [233] de la lógica de control [230] se genera el designador decoherencia [234] unívoco sobre toda la red de coherencia. Éste tiene de acuerdo con una forma de realización la estructura
coherente://sipserver//application/path/name
En este caso, sipserver es el nombre del nodo como dirección SIP application es el nombre de la aplicación y path/name es la referencia de coherencia [316].
De manera similar a la señalización del protocolo de coherencia a través de SIP se lleva a cabo el transporte de los objetos de coherencia que deben transmitirse de nodo a nodo dentro de la sesión de medios estipulada por el SIP-Handshake a través de RTP; Real Time Transport Protocol está especificado en RFC 3550.
En resumen, proporcionamos coherencia basada en SIP a través de Internet. Esto no es análogo a ordenadores en paralelo y caracteriza a la presente invención frente al estado de la técnica.
Modo de funcionamiento – registro en memoria
Tan pronto como el usuario registra de nuevo sus datos, se asegura de que todos los otros usuarios (y él mismo) recibe abierta, en la siguiente carga del fichero, esta versión actualizada de esta manera. Los procesos durante el registro en memoria se desarrollan de manera similar a la carga entre agente de coherencia [100] y nodo de coherencia [200].
En el ejemplo del sistema de ficheros de coherencia resultan escenarios de bloqueo a través de las operaciones estándar conocidas sobre ficheros, de tal manera que, por ejemplo, el primer usuario solamente puede abrir ficheros para lectura y escritura, pero otros usuarios solamente pueden abrir los ficheros para lectura, para que no se formen inconsistencias.
Modo de funcionamiento – inicialización
Los agentes de coherencia individuales están conectados entre sí a través de la red de coherencia, en nuestro ejemplo mencionado anteriormente (ver la figura 3) están constituidos por los tres usuarios mencionados. Esta red de coherencia está constituida por elementos característicos de la red, a saber, el nodo de coherencia, que están conectados con los agentes de coherencia y otros nodos de coherencia, y que intermedian y transportan el tráfico de coherencia. El usuario del agente de coherencia, por ejemplo del sistema de ficheros de coherencia conserva una lista con todos los otros usuarios, con los que quiere procesar en común documentos. Estos tipos de control de acceso corresponden a un control de acceso habitual a sistemas de ficheros y a servidores de ficheros centrales.
Variante 2 – documentos activos
Las realizaciones más especializadas permiten procedimientos todavía mejores que mantienen coherentes los documentos durante el procesamiento simultáneo a través de varias personas. Las conexiones de coherencia en aplicaciones adecuadas para ello, como las aplicaciones de Microsoft Office con su capacidad para incrustar servidores DCOM, permiten mantener coherentes los documentos, por decirlo así, como documentos de coherencia activos, las entradas comunes de manera instantánea y sin procesos de registro separados. Por lo tanto, en una Tabla Excel se puede mejorar la coherencia en el plano de las células.

Claims (19)

  1. REIVINDICACIONES
    1.- 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 porque a cada instancia, procesada por un nodo, de un objeto de datos se generan metadatos unívocos independientes de la plataforma y se mantienen coherentes los metadatos y, por lo tanto, los objetos de datos con la ayuda de estos metadatos y de un protocolo de coherencia, que opera sobre estos metadatos.
  2. 2.- Procedimiento de acuerdo con la reivindicación 1, caracterizado porque en los metadatos está contenido un autómata de estado que corresponde al protocolo de coherencia.
  3. 3.- Procedimiento de acuerdo con la reivindicación 2, caracterizado porque a través del protocolo de coherencia se comunican transiciones de estado de los autómatas de estado así como las operaciones correspondientes realizadas en los objetos de datos (lectura, escritura, borrado, …) al menos entre nodos de la red que mantienen entre sí una instancia del objeto de datos respectivo.
  4. 4.- Procedimiento de acuerdo con una de las reivindicaciones 1 a 3, caracterizado porque cada instancia de un objeto de datos contiene referencias a todos los nodos que mantienen, por su parte, una instancia de este objeto de datos.
  5. 5.- Procedimiento de acuerdo con una de las reivindicaciones 1 a 4, caracterizado porque para cada objeto de datos está previsto un objeto de coherencia, que es una lista de los objetos de datos de una aplicación mantenida preparada en el nodo.
  6. 6.- Procedimiento de acuerdo con una de las reivindicaciones 1 a 5, caracterizado porque los nodos que utilizan el protocolo de coherencia forman una red superpuesta, en el que con preferencia está previsto un servicio que define la red superpuesta, que permite una solicitud y una transmisión de objetos de datos entre al menos una parte de los nodos de la red superpuesta, en el que con preferencia la red que sirve de base para la red superpuesta es el protocolo de Internet.
  7. 7.- Procedimiento de acuerdo con la reivindicación 6, caracterizado porque el servicio es una parte de un programa de aplicación para el objeto de datos y/o define una interfaz entre un nodo y la red.
  8. 8.- Procedimiento de acuerdo con una de las reivindicaciones 1 a 7, caracterizado porque el protocolo de coherencia realiza una comunicación utilizando la Norma Session Initiation Protocol (SIP) o la norma http.
  9. 9.- Procedimiento de acuerdo con una de las reivindicaciones 1 a 6, caracterizado porque el objeto de datos es, respectivamente, bajo al menos una aplicación, un objeto de datos completo y/o porque la aplicación para el objeto de datos define al menos una forma de representación secuencial.
  10. 10.- Procedimiento de acuerdo con una de las reivindicaciones 1 a 9, caracterizado porque los objetos de datos son objetos Java, NET, COM o XML.
  11. 11.- Procedimiento de acuerdo con una de las reivindicaciones 1 a 10, caracterizado porque en cada llamada de un objeto de datos que debe mantenerse coherente a través de una aplicación se realiza una consulta automática de los restantes nodos disponibles de la red a partir de la lista del objeto de coherencia de acuerdo con la instancia coherente actual del objeto de datos.
  12. 12.- Procedimiento de acuerdo con una de las reivindicaciones 1 a 11, caracterizado porque el protocolo de coherencia comprende un protocolo de invalidación, como por ejemplo MSI, MOSI, MESI, MOESI o un protocolo basado en actualización como por ejemplo SYNAPSE o DRAGON.
  13. 13.- Procedimiento de acuerdo con una de las reivindicaciones 1 a 12, caracterizado porque la designación de la instancia de un objeto de datos comprende, además de los datos del protocolo, también su lugar de registro y/o la designación del objeto de datos es unívoca.
  14. 14.- Procedimiento de acuerdo con una de las reivindicaciones anteriores, caracterizado porque la designación del objeto de datos contiene el nombre del nodo del elemento de la red, en el que se mantiene, y un nombre de objeto y/o porque la designación de la instancia del objeto de datos contiene el nombre de la aplicación respectiva y/o el instante de la última modificación (proceso de escritura).
  15. 15.- Procedimiento de acuerdo con una de las reivindicaciones anteriores, caracterizado porque la aplicación para el objeto de datos prevé una comunicación inmediata entre varios nodos que modifican al mismo tiempo, respectivamente, una instancia del mismo objeto de datos.
  16. 16.- Procedimiento de acuerdo con una de las reivindicaciones anteriores, caracterizado porque el objeto de datos es al menos uno de los siguientes objetos: documento de texto, gráfico, tabla, fichero de audio, fichero de vídeo, segmento de corriente, elemento de un programa de software o de un subprograma (rutina de programa).
  17. 17.- Procedimiento de acuerdo con una de las reivindicaciones anteriores, caracterizado porque cada nodo presenta un agente de coherencia, que está dispuesto lógicamente entre una aplicación y una interfaz de memoria local y forma una interfaz con la red, de manera que el agente de coherencia está conectado con preferencia a través de un
    5 nodo de coherencia con la red y el nodo de coherencia presenta con preferencia una interfaz de agente de coherencia, una interfaz de la red, una lógica de control de coherencia y una caché de coherencia.
  18. 18.- Procedimiento de acuerdo con la reivindicación 17, caracterizado porque el nodo de coherencia es un nodo de coherencia instalado localmente en el nodo del agente de coherencia y/o nodo de coherencia instalado en la red o bien en otro nodo de la red, en particular un nodo de proveedor o nodo de portadora.
    10 19.- Programa para la preparación de la coherencia entre instancias de objetos de datos, que residen en nodos distribuidos de una red no acoplada con memoria, caracterizado porque el programa está configurado para la realización de un procedimiento de acuerdo con una de las reivindicaciones 1 a 18.
  19. 20.- Soporte de datos, caracterizado porque lleva un programa de acuerdo con la reivindicación 19.
ES09716698T 2008-03-06 2009-02-27 Procedimiento y programa para la preparación de coherencia de datos en redes. Active ES2372262T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102008012979 2008-03-06
DE102008012979A DE102008012979A1 (de) 2008-03-06 2008-03-06 Verfahren und Programm zum Bereitstellen von Datenkohärenz in Netzwerken

Publications (1)

Publication Number Publication Date
ES2372262T3 true ES2372262T3 (es) 2012-01-17

Family

ID=40934905

Family Applications (1)

Application Number Title Priority Date Filing Date
ES09716698T Active ES2372262T3 (es) 2008-03-06 2009-02-27 Procedimiento y programa para la preparación de coherencia de datos en redes.

Country Status (9)

Country Link
US (1) US8296368B2 (es)
EP (1) EP2250588B1 (es)
CN (1) CN101971174B (es)
AT (1) ATE523850T1 (es)
BR (1) BRPI0909108A2 (es)
DE (1) DE102008012979A1 (es)
ES (1) ES2372262T3 (es)
HK (1) HK1150890A1 (es)
WO (1) WO2009109535A2 (es)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892820B2 (en) 2010-03-19 2014-11-18 Netapp, Inc. Method and system for local caching of remote storage data
KR101598746B1 (ko) * 2012-10-22 2016-02-29 인텔 코포레이션 고성능 상호연결 물리 계층
US20140114928A1 (en) 2012-10-22 2014-04-24 Robert Beers Coherence protocol tables
US10110700B2 (en) * 2014-03-31 2018-10-23 Oracle International Corporation Multiple on-die communication networks
US10417128B2 (en) 2015-05-06 2019-09-17 Oracle International Corporation Memory coherence in a multi-core, multi-level, heterogeneous computer architecture implementing hardware-managed and software managed caches
CN108415986B (zh) * 2018-02-11 2020-10-30 杭州朗和科技有限公司 一种数据处理方法、装置、系统、介质和计算设备
US11360906B2 (en) 2020-08-14 2022-06-14 Alibaba Group Holding Limited Inter-device processing system with cache coherency
EP4012871B1 (de) 2020-12-08 2023-06-07 Gip Ag Verfahren zum gerichteten übertragen von energie in form von energiepaketen

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909540A (en) * 1996-11-22 1999-06-01 Mangosoft Corporation System and method for providing highly available data storage using globally addressable memory
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US6529921B1 (en) * 1999-06-29 2003-03-04 Microsoft Corporation Dynamic synchronization of tables
US6925515B2 (en) * 2001-05-07 2005-08-02 International Business Machines Corporation Producer/consumer locking system for efficient replication of file data
US6917967B2 (en) * 2002-12-13 2005-07-12 Sun Microsystems, Inc. System and method for implementing shared memory regions in distributed shared memory systems
US7032077B2 (en) 2002-12-23 2006-04-18 Hewlett-Packard Development Company, L.P. Multiple cache coherency
US7454576B2 (en) * 2004-12-27 2008-11-18 Intel Corporation System and method for cache coherency in a cache with different cache location lengths
US7757047B2 (en) * 2005-11-12 2010-07-13 Oracle America, Inc. Missing store operation accelerator
US7480770B2 (en) * 2006-06-14 2009-01-20 Sun Microsystems, Inc. Semi-blocking deterministic directory coherence
EP2132951A1 (en) * 2007-03-30 2009-12-16 Société de commercialisation des produits de la recherche appliquée Socpra - Sciences et Génie s.e.c Session mobility between communicating devices

Also Published As

Publication number Publication date
WO2009109535A3 (de) 2009-11-05
BRPI0909108A2 (pt) 2015-08-25
CN101971174A (zh) 2011-02-09
WO2009109535A2 (de) 2009-09-11
HK1150890A1 (en) 2012-01-13
DE102008012979A1 (de) 2009-09-10
EP2250588B1 (de) 2011-09-07
US8296368B2 (en) 2012-10-23
ATE523850T1 (de) 2011-09-15
CN101971174B (zh) 2014-10-15
EP2250588A2 (de) 2010-11-17
US20110082904A1 (en) 2011-04-07

Similar Documents

Publication Publication Date Title
ES2372262T3 (es) Procedimiento y programa para la preparación de coherencia de datos en redes.
US11388251B2 (en) Providing access to managed content
US10769108B2 (en) File storage system, cache appliance, and method
US11216418B2 (en) Method for seamless access to a cloud storage system by an endpoint device using metadata
US8788760B2 (en) Adaptive caching of data
Walfish et al. Untangling the Web from DNS.
US20210265041A1 (en) Intelligent Meta PACS System and Server
JPH10254748A (ja) 分散共有メモリ一貫性最適制御方法
US8458176B2 (en) Method and system for providing a directory overlay
US7284197B2 (en) Schema-based services for identity-based data access to application settings data
US8380806B2 (en) System and method for absolute path discovery by a storage virtualization system
JP2005063374A (ja) データ管理方法、データ管理装置、およびそのためのプログラムならびに記録媒体。
JP2004246702A (ja) 計算機システム、計算機装置、計算機システムにおけるデータアクセス方法及びプログラム
Spence et al. A scalable model of distribution promoting autonomy of and cooperation between pjava object stores
Ahamad et al. Scalable information sharing in large scale distributed systems
JP3762161B2 (ja) 複製サーバ装置
Hossein Mortazavi et al. Data Management Systems for the Hierarchical Edge
Zhou et al. TODS: cluster object storage platform designed for scalable services
JP2005092288A (ja) 分散ファイル共有システム、方法、及び、サーバ、クライアント、クライアントにおける分散ファイル共有プログラム
Skousen et al. Implementing a Very Large Single Address Space Across Multiple Nodes: Memory Partitioning, Protection Domain Migration, Kernel Replication, Consistency and Fault Tolerance
Feise Institute for Software Research
Coimbatore WWW in DSVM.
Martin et al. A Bibliographical Survey on Data Sharing Systems for Mobile Ad Hoc Networks
JP2006190220A (ja) 文書管理システム、文書管理方法、プログラム及び記録媒体