ES2230059T3 - Sistema de acceso y de gestion de datos y procedimiento de acceso y de gestion de datos para un sistema informatico. - Google Patents

Sistema de acceso y de gestion de datos y procedimiento de acceso y de gestion de datos para un sistema informatico.

Info

Publication number
ES2230059T3
ES2230059T3 ES00903572T ES00903572T ES2230059T3 ES 2230059 T3 ES2230059 T3 ES 2230059T3 ES 00903572 T ES00903572 T ES 00903572T ES 00903572 T ES00903572 T ES 00903572T ES 2230059 T3 ES2230059 T3 ES 2230059T3
Authority
ES
Spain
Prior art keywords
data
computer
storage devices
data storage
cells
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES00903572T
Other languages
English (en)
Inventor
Thomas Binzinger
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.)
GUNSTER JOACHIM
Original Assignee
GUNSTER JOACHIM
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=7893896&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2230059(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by GUNSTER JOACHIM filed Critical GUNSTER JOACHIM
Application granted granted Critical
Publication of ES2230059T3 publication Critical patent/ES2230059T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Communication Control (AREA)

Abstract

Sistema de acceso y gestión de datos para un sistema informático, que comprende: - por lo menos dos dispositivos de almacenamiento de datos (C1, C2, ..., Cn), - por lo menos una unidad informática (CL) que accede a datos de los dispositivos de almacenamiento de datos (C), - los dispositivos de transmisión de datos (N) para transmitir datos entre los dispositivos de almacenamiento de datos (C) y la unidad informática (CL), almacenándose los datos de forma redundante en por lo menos dos de los por lo menos dos dispositivos de almacenamiento de datos (C), y - los dispositivos para captar parámetros predeterminados de la transmisión de datos entre los dispositivos de almacenamiento de datos (C) y la unidad informática (CL), almacenándose los datos de forma redundante en los dispositivos de almacenamiento de datos (C) en función de los parámetros predeterminados establecidos, y accediendo la unidad informática (CL) a uno de los dispositivos de almacenamiento de datos (C) en función de los parámetros predeterminados establecidos, caracterizado porque - los dispositivos de almacenamiento de datos (C) comprenden dispositivos para captar parámetros predeterminados para las transmisiones de datos entre los dispositivos de almacenamiento de datos (C), y - los dispositivos de almacenamiento de datos (C), independientemente de un acceso de la unidad informática (CL), desplazan los datos almacenados de forma redundante en el sistema en función de los parámetros establecidos de transmisiones de datos entre los dispositivos de almacenamiento de datos (C).

Description

Sistema de acceso y de gestión de datos y procedimiento de acceso y de gestión de datos para un sistema informático.
Antecedentes de la invención
La invención concierne en general a un sistema de acceso y de gestión de datos, así como a un procedimiento de acceso y de gestión de datos para un sistema informático. En particular, la invención concierne a un sistema y a un procedimiento para optimizar el acceso a datos y el tratamiento de los mismos en estructuras informáticas distribuidas y conectadas en red.
Estado de la técnica
La creciente aplicación de estructuras y disposiciones informáticas distribuidas y conectadas en red tiene como consecuencia que los datos y funcionalidades para la gestión de datos ya no son proporcionados o utilizados por sistemas informáticos uniformes, sino por sistemas informáticos distribuidos diferentes que están conectados en red unos con otros.
En las estructuras y disposiciones informáticas convencionales distribuidas y conectadas en red se proporcionan en general datos y funcionalidades por medio de un sistema informático central, un llamado servidor, o un colectivo de sistemas informáticos centrales, llamados racimos de servidores. Otros sistemas informáticos, llamados clientes, como, por ejemplo, ordenadores personales, están unidos con el sistema informático central a través de redes o buses para acceder a los datos y funcionalidades. Se presentan aquí diferentes problemas que restringen el abastecimiento de clientes con datos y/o funcionalidades, especialmente cuando el acceso a un sistema informático central por parte de varios clientes se efectúa en un corto espacio de tiempo o incluso simultáneamente. Un ejemplo de esto son juegos de ordenador que se ponen a disposición de varios jugadores a través de Internet.
Dado que solamente se emplea un sistema informático central (servidor), el fallo de éste conduce a que los clientes no puedan acceder ya a los datos y funcionalidades disponibles. El fallo de sectores de la red que unen el servidor con los clientes conduce también a un fallo total de toda la estructura informática.
Además, los tiempos de transmisión del servidor a los distintos clientes son en la actualidad muy diferentes, dado que la calidad de la unión con los clientes varía, por ejemplo, debido a las diferentes distancias entre el servidor y los clientes, así como a potencias de transmisión diferentes en sectores diferentes de la red. Especialmente en operaciones interactivas de varios clientes conectados con el servidor, esta característica de transmisión insuficiente conduce con frecuencia a un abastecimiento insatisfactorio de clientes individuales con datos/funcionalidades. Se pueden citar aquí, por ejemplo, las llamadas "lags" que perturban la comunicación entre el servidor y los clientes.
Para el acceso y la gestión de datos optimizados en estructuras informáticas distribuidas y conectadas en red se han descrito numerosos sistemas y procedimientos diferentes en el estado de la técnica. El documento WO 98 18076 divulga un sistema y un procedimiento para la optimización del acceso y almacenamiento de datos. Se emplean para ello los llamados "mirror service providers" para almacenar datos en forma redundante.
El documento WO 98 26559 describe un sistema y un procedimiento de red de ordenadores distribuidos para distribuir accesos de unidades informáticas a servidores en espejo. Se emplean para ello los denominados "directory servers". Estos "directory servers" sirven únicamente para seleccionar enlaces adecuados de transmisión de datos respecto de una conexión para la transmisión de datos adecuada por la optimización de la transmisión de datos. Sin embargo, no está previsto desplazar datos redundantes entre sí y optimizar el acceso. Además, son necesarios accesos de unidades informáticas (clientes) para reconocer el mejor "enlace".
El documento EP 0 884 870 muestra también un sistema dinámico para replicar memorias de datos y optimizar así accesos de unidades informáticas. Se emplean enrutadores que cuentan los accesos de unidades informáticas y pueden trasladar así datos a otras unidades de memoria.
Objetivos de la invención
El objetivo de la presente invención es eliminar los problemas anteriormente expuestos del estado de la técnica conocido. En particular, un objetivo de la invención consiste en optimizar la calidad de transmisión entre clientes y dispositivos de una estructura informática distribuida y conectada en red que proporcionan datos de modo que cada cliente sea abastecido de los respectivos datos solicitados de una manera deseada específica de la aplicación. Preferiblemente, la invención pretende posibilitar un suministro lo más rápido posible de datos/funcionalidades, debiendo quedar garantizado, además, que las transmisiones se realicen con la mayor tolerancia posible a fallos.
Asimismo, la invención pretende asegurar la capacidad funcional de un sistema informático distribuido y conectado en red en caso de que se produzca un fallo de dispositivos de la estructura informática que proporcionan datos. La invención pretende también garantizar la capacidad funcional de un sistema informático distribuido y conectado en red en caso de que fallen sectores individuales de las redes a través de las cuales están enlazados entre sí los dispositivos que proporcionan los datos y los clientes.
Además, la invención pretende posibilitar que se pongan solamente datos actuales a disposición de los clientes. La invención pretende también reducir las capacidades de transmisión necesarias de un sistema informático distribuido y conectado en red.
Breve descripción de la invención
Los objetivos anteriormente citados de la invención se atienden con sistemas según las reivindicaciones 1, 17 y 18 y con procedimientos según las reivindicaciones 30, 44 y 45, así como por medio de formas de realización preferidas de los sistemas de la invención según cualquiera de las reivindicaciones 2 a 16 y según cualquiera de las reivindicaciones 19 a 29 y por medio de formas de realización preferidas de los procedimientos de la invención según cualquiera de las reivindicaciones 31 a 43 y según cualquiera de las reivindicaciones 46 a 55.
En el sistema de la invención según la reivindicación 1 los datos presentes en un sistema informático son almacenados de forma redundante en los dispositivos de almacenamiento de datos en función de parámetros predeterminados establecidos de la transmisión de datos entre dispositivos de almacenamiento de datos y unidades informáticas, y las unidades informáticas acceden a uno de los dispositivos de almacenamiento de datos en función de los parámetros predeterminados establecidos. Se posibilita así que las transmisiones de datos entre los dispositivos de almacenamiento de datos y las unidades informáticas sean optimizadas de una manera deseada específica de la aplicación para que sean realizadas, por ejemplo, con más rapidez o afectadas de menos errores.
Además, los dispositivos de almacenamiento de datos comprenden unidades de mando para controlar el acceso y la gestión de los datos a fin de trabajar con independencia de otros dispositivos del sistema informático. Esto reduce la cantidad de datos a transmitir en el sistema según la invención y aumenta la seguridad contra fallos del sistema según la invención, ya que los datos no son tratados centralmente.
Para conseguir una optimización adicional, es preferible que los dispositivos de almacenamiento de datos se copien entre ellos datos almacenados de forma redundante en el sistema en función de los parámetros establecidos de transmisiones de datos entre los distintos dispositivos de almacenamiento de datos y la unidad informática y borren los dispositivos de memoria de datos en los que previamente estaban almacenados los datos copiados. Por tanto, dentro del sistema según la invención se pueden desplazar datos de un dispositivo de almacenamiento de datos a otros dispositivos de almacenamiento de datos, cuyos parámetros de transmisión de datos para el caso de aplicación correspondiente de la invención posibilitan en mayor medida una optimización del acceso y la gestión de los datos.
Además, es preferible que los dispositivos de almacenamiento de datos procesen los datos almacenados con independencia de la unidad informática. De esta manera, se pueden procesar datos en forma descentralizada, con lo que se consiguen una elevada seguridad de datos y una elevada seguridad contra fallos, así como un alivio de trabajo de componentes individuales del sistema.
En otra forma de realización los datos contenidos en el sistema están subdivididos en cantidades parciales de datos y los dispositivos de almacenamiento de datos están distribuidos en células de modo que cada una de las cantidades parciales de datos a almacenar de forma redundante están almacenadas en una célula respectiva de entre las células de los dispositivos de almacenamiento de datos correspondientes para almacenar en forma redundante solamente los datos que actualmente se necesiten.
Asimismo, es ventajoso que los dispositivos de almacenamiento de datos estén subdivididos en células en función de los parámetros de transmisión de datos para optimizar aún más las transmisiones de datos dentro del sistema según la invención.
Para realizar el acceso y la gestión de datos de manera más eficiente, cada célula puede presentar datos adicionales que afecten a los parámetros de transmisiones de datos entre los distintos dispositivos de almacenamiento de datos y la unidad informática, y/o a células contiguas, y/o a células que comprendan los datos almacenados de forma redundante en el sistema.
Además, resulta posible emplear células que puedan intercambiar entre ellas datos adicionales que se empleen para el acceso y la gestión de datos. Así, se reducen adicionalmente las informaciones a transmitir en el sistema según la invención para el acceso y la gestión de los datos.
En los dispositivos de almacenamiento de datos especiales las células pueden estar configuradas de modo que sean iguales los parámetros de transmisiones de datos entre los distintos dispositivos de almacenamiento de datos y la unidad informática para las células de un dispositivo de almacenamiento de datos a fin de lograr un acceso de datos uniforme para los distintos dispositivos de almacenamiento de datos.
Pueden emplearse también unidades informáticas que entreguen los datos a los dispositivos de almacenamiento de datos para su almacenamiento y/o procesen datos almacenados en los dispositivos de almacenamiento de datos para descargar de trabajo a los dispositivos de almacenamiento de datos.
Para procesar los datos con independencia del sistema según la invención, las unidades informáticas pueden estar enlazadas también con uno o varios usuarios a fin de retransmitir los datos de los dispositivos de almacenamiento de datos y/o ser controladas por el usuario. Preferiblemente, este usuario es un ordenador personal y/o una unidad de proceso central de un ordenador y/u otro dispositivo de almacenamiento de datos.
De esta manera, la unidad informática puede ser también un sistema que ponga a disposición servicios de Internet, como, por ejemplo, accesos a bancos de datos y juegos de ordenador. La unidad informática puede ser adecuada también para acceder directamente a las células individuales de los dispositivos de almacenamiento de datos, con lo que los distintos dispositivos de almacenamiento de datos son descargados de tareas de acceso y gestión de datos.
En particular, los parámetros predeterminados de transmisiones de datos entre los distintos dispositivos de almacenamiento de datos y la unidad informática pueden comprender la duración de la transmisión y/o la tasa de errores y/o la duración de procesamientos de datos de los distintos dispositivos de almacenamiento de datos antes de la transmisión de los datos. De esta manera, se puede acceder más rápidamente a los datos y se ponen a disposición datos que están menos afectados de errores.
Los distintos componentes del sistema de la invención según la reivindicación 1 están enlazados uno con otro a través de dispositivos de transmisión de datos, pudiendo éstos comprender enlaces eléctricamente conductores y/o sistemas de bus y/o redes de ordenadores y/o redes telefónicas por cable o sin cable (móviles) y/o Internet. Por tanto, la presente invención es adecuada para cualquier estructura y disposición informática, así como para cualquier sistema informático, que utilicen dispositivos distribuidos y conectados en red.
Por tanto, empleando la invención se puede construir un sistema de banco de datos o una estructura informática para el acceso y gestión de datos según la reivindicación 17, pudiendo construirse también un sistema de banco de datos según la invención o una estructura informática según la invención a base de componentes dispuestos localmente en posiciones contiguas.
Además, la invención puede emplearse en un sistema según la reivindicación 18 para un juego de ordenador que se pone a disposición a través de Internet, prefiriéndose aquí que por lo menos una unidad informática sea un proveedor de servicios de Internet para integrar la presente invención en estructuras informáticas existentes de Internet y posibilitar que los usuarios de Internet accedan a datos según la invención.
En particular, la invención es adecuada para juegos interactivos de ordenador para su uso por parte de por lo menos dos usuarios a fin de garantizar un abastecimiento optimizado de los distintos usuarios con datos necesarios para el juego de ordenador, pudiendo estar enlazado cada usuario con una respectiva unidad informática.
Preferiblemente, se transmiten a los usuarios desde las unidades informáticas datos para la realización del juego de ordenador, con lo que éste juego de ordenador puede ser realizado también por lo menos en parte con independencia de las unidades informáticas. Se puede conseguir una descarga de trabajo adicional de las unidades informáticas y de los dispositivos de almacenamiento de datos cuando los usuarios procesan los datos obtenidos para la ejecución del juego de ordenador y los transmiten de vuelta a las unidades informáticas correspondientes.
Además, el sistema según la invención para un juego de ordenador puede presentar también dispositivos para captar parámetros predeterminados de la transmisión de datos entre las unidades informáticas y los respectivos usuarios enlazados con ellas a fin de optimizar adicionalmente el acceso y la gestión de los datos. Preferiblemente, estos parámetros predeterminados comprenden la duración de la transmisión y/o las tasas de errores y/o la duración de procesamientos de datos de las distintas unidades informáticas y/o de los distintos usuarios antes de la transmisión de los datos.
Por tanto, los datos para la ejecución del juego de ordenador pueden almacenarse también en forma redundante en función de los parámetros predeterminados establecidos de la transmisión de datos entre las unidades informáticas y los respectivos usuarios enlazados con ellas.
Además, las unidades informáticas pueden recibir de los usuarios correspondientes datos de mando o control para ejecutar el juego de ordenador a fin de posibilitar unas interacciones mejoradas de los distintos usuarios.
Estos datos de mando o datos correspondientes a éstos pueden ser enviados entonces por las unidades informáticas a los dispositivos de almacenamiento de datos. De esta manera, resulta posible que las unidades informáticas procesen datos para la ejecución del juego de ordenador en función de los datos de mando y/o que los dispositivos de almacenamiento de datos procesen datos para la ejecución del juego de ordenador en función de los datos de mando o de los datos correspondientes a los datos de mando, con lo que se consigue un eficaz acceso de datos y una eficaz gestión de datos.
De manera comparable, en el procedimiento de la invención según la reivindicación 30 se almacenan datos de forma redundante en por lo menos dos de por lo menos dos dispositivos de almacenamiento de datos en función de parámetros establecidos de la transmisión de datos entre los dispositivos de almacenamiento de datos y las unidades informáticas, efectuándose el acceso a los datos almacenados por parte de las unidades informáticas en función de los parámetros establecidos de la transmisión de datos.
Preferiblemente, el acceso y la gestión de los datos son controlados por los dispositivos de almacenamiento de datos.
En una forma de realización del procedimiento según la invención los datos almacenados de forma redundante son copiados entre ellos por los dispositivos de almacenamiento de datos en función de los parámetros establecidos de transmisiones de datos entre los distintos dispositivos de almacenamiento de datos y la unidad informática y tales datos son borrados en los dispositivos de almacenamiento de datos en los que estaban previamente almacenados los datos copiados.
Además, resulta posible procesar los datos almacenados por medio de los dispositivos de almacenamiento de datos con independencia de la unidad informática para descargar de trabajo a algunos dispositivos y conseguir una elevada seguridad de funcionamiento del procedimiento según la invención.
Para posibilitar un almacenamiento de los datos específico de la aplicación y, por tanto, optimizado, los datos pueden subdividirse en cantidades parciales de datos, almacenándose las cantidades parciales de datos a almacenar de forma redundante en las respectivas células de los distintos dispositivos de almacenamiento de datos. Preferiblemente, las subdivisión en cantidades parciales de datos y el almacenamiento en las células se realizan en función de los parámetros de transmisión de datos.
Puede conseguirse una optimización adicional cuando se almacenan datos adicionales para el acceso y la gestión de datos en las células que afectan a los parámetros de transmisión de datos entre los distintos dispositivos de almacenamiento de datos y la unidad informática, y/o a células contiguas, y/o a células que comprenden los datos almacenados de forma redundante en el sistema.
Además, se pueden intercambiar datos adicionales para el acceso y la gestión de datos entre las células de los dispositivos de almacenamiento de datos. Preferiblemente, el acceso a los datos de las células de un dispositivo de almacenamiento de datos presenta los mismos parámetros de transmisión de datos para garantizar un acceso de datos uniforme para los distintos dispositivos de almacenamiento de datos.
Para descargar de trabajo a todo el sistema se pueden enviar también los datos desde la unidad informática a los dispositivos de almacenamiento de datos para almacenarlos en éstos y/o se pueden procesar por medio de la unidad informática los datos almacenados en los dispositivos de almacenamiento de datos.
Preferiblemente, se transmiten los datos de la unidad informática a un usuario y/o se controla la unidad informática por parte del usuario para procesar datos con independencia de la realización del procedimiento según la invención y controlar adicionalmente el desarrollo del procedimiento según la invención. Por tanto, con el procedimiento según la invención se pueden poner a disposición servicios de Internet.
Para lograr un acceso a los datos más eficiente y una gestión de datos más eficiente puede realizarse también directamente el acceso a los datos de células individuales de los dispositivos de almacenamiento de datos.
Además, es preferible que el establecimiento de los parámetros predeterminados de transmisiones de datos entre los distintos dispositivos de almacenamiento de datos y la unidad informática comprenda el establecimiento de la duración de la transmisión y/o la tasa de errores y/o la duración de procesamientos de datos de los distintos dispositivos de almacenamiento de datos antes de la transmisión de los datos, para acceder a los datos con más rapidez y/o seguridad.
De esta manera, resulta posible disponer de un procedimiento para un sistema de banco de datos o una estructura informática según la reivindicación 44, así como un procedimiento para un juego de ordenador por Internet según la reivindicación 45, comprendiendo preferiblemente en el último caso el acceso a datos en los dispositivos de almacenamiento de datos la utilización de un proveedor de servicios de Internet.
Asimismo, el procedimiento puede posibilitar que por lo menos dos usuarios accedan al juego de ordenador, siendo el juego de ordenador un juego de ordenador interactivo.
Los datos para la ejecución del juego de ordenador por parte de las unidades informáticas pueden ser transmitidos a los usuarios correspondientes. Preferiblemente, los datos obtenidos por los usuarios son procesados por estos usuarios y transmitidos de vuelta a las unidades informáticas correspondientes para descargar de trabajo a las unidades informáticas y a los dispositivos de almacenamiento de datos y para optimizar la ejecución del juego de ordenador.
En otra forma de realización se establecen, además, parámetros predeterminados de la transmisión de datos entre las unidades informáticas y los respectivos usuarios enlazados con ellas para realizar también el acceso de datos y la gestión de datos en el procedimiento según la invención teniendo en cuenta estos parámetros.
Además, es preferible que el establecimiento de los parámetros predeterminados de transmisiones de datos entre las unidades de ordenador y los respectivos usuarios enlazados con ellas comprenda el establecimiento de la duración de la transmisión y/o la tasa de errores y/o la duración de procesamientos de datos de las distintas unidades informáticas y/o de los distintos usuarios antes de la transmisión de los datos.
De esta manera, se puede realizar también de forma redundante el almacenamiento redundante de los datos para la ejecución del juego de ordenador en función de los parámetros predeterminados establecidos de la transmisión de datos entre las unidades informáticas y los respectivos usuarios enlazados con ellas.
Se puede lograr una realización más eficiente de procesos interactivos del juego de ordenador cuando, además, se transmiten los datos de mando para la ejecución del juego de ordenador desde los usuarios hasta las unidades informáticas correspondientes. Preferiblemente, los datos de mando o los datos correspondientes son transmitidos también desde las unidades informáticas hasta los dispositivos de almacenamiento de datos.
Por último, resulta posible procesar los datos para la ejecución del juego de ordenador por medio de las unidades informáticas en función de los datos de mando y/o procesar los datos para la ejecución del juego de ordenador por medio de los dispositivos de almacenamiento de datos en función de los datos de mando o de los datos correspondientes a los datos de mando. De esta manera, se descarga de trabajo a los distintos usuarios y los datos almacenados en forma redundante son procesados por los dispositivos de almacenamiento de datos, que aseguran una transmisión de datos deseada.
Mediante una sustitución según la invención de células individuales que hayan fallado resulta posible compensar errores de enlace y, en caso de un fallo de sectores individuales de una estructura informática distribuida y conectada en red, utilizar sectores que conservan la funcionalidad de toda la estructura informática, ya que están presentes datos de forma redundante en el sistema informático. Dado que la invención posibilita una vigilancia de los datos empleados, se garantiza también de esta manera la consistencia de los datos disponibles.
Además, el empleo de la presente invención optimiza de forma autónoma la calidad del enlace entre clientes y dispositivos de una estructura informática que proporcionan datos, de modo que se pueden compensar automáticamente deficientes calidades de transmisión (por ejemplo, baja tasa de transmisión, retardos,...).
A este fin, se disponen a escala sectores individuales de un sistema informático distribuido y conectado en red, por ejemplo sectores de memoria individuales, sin interrupción del servicio. Es decir, tales sectores individuales del sistema según la invención pueden agregarse o retirarse en cualquier momento que se desee.
Además, la invención posibilita la sustitución de sectores individuales averiados de un sistema informático distribuido y conectado en red, sin interrupción del servicio, por otros sectores. Esto resulta posible debido a que la invención no requiere un enlace central entre los sectores individuales del sistema informático, con lo que se impiden restricciones de la funcionalidad del sistema según la invención a consecuencia de fallos (por ejemplo, defectos técnicos). Además, la invención garantiza una mayor seguridad de los datos, ya que los datos no son almacenados en forma centralizada.
La cantidad de los datos a gestionar por sectores individuales de un sistema informático distribuido y conectado en red puede ser reducida de esta manera. Esto tiene como consecuencia que se reducen también las capacidades de transmisión necesarias entre sectores individuales del sistema según la invención.
Además, se pueden añadir más componentes al sistema según la invención sin que tenga que modificarse la estructura básica del mismo.
El criterio según la invención se ha originado ciertamente, en particular respecto de la solución del problema anteriormente citado, en la transposición de juegos de ordenador (interactivos) para Internet. Sin embargo, cabe destacar expresamente que la presente invención no se restringe a tal aplicación, sino que puede aplicarse sin restricciones para cualquier sistema informático y cualquier estructura informática que utilicen dispositivos distribuidos y conectados en red que proporcionan datos.
Breve descripción de los dibujos
En la descripción siguiente se hace referencia a los dibujos adjuntos, en los que:
la figura 1 es una representación esquemática de una forma de realización preferida de una estructura informática según la presente invención.
La figura 2 es una representación esquemática de una estructura de datos y su subdivisión y asociación a células según la presente invención.
La figura 3 es una representación esquemática de otra forma de realización preferida de una estructura informática según la presente invención.
La figura 4 es una representación esquemática de un fragmento de la forma de realización preferida de la figura 1 para explicar operaciones que se emplean para la ejecución de la invención.
Descripción de formas de realización preferidas de la invención
Haciendo referencia a las figuras 1 y 2 se explican en la presente invención los términos empleados en el texto siguiente.
La cantidad total de datos GD que se emplea en unión de la invención se subdivide en cantidades de datos parciales individuales que se denominan campo F.
La posición de cada campo F en la cantidad de datos total GD se describe por medio de una posición de campo inequívoca o indicativo CampoID, pudiendo dividirse la cantidad de datos total GD según una o más dimensiones. Si, por ejemplo, se divide en tres dimensiones la cantidad de datos total GD, se puede describir cada posición de campo CampoID por medio de x, y, z.
Una célula Z es la unidad más pequeña de almacenamiento de datos que almacena exactamente un campo F. Una célula Z contiene también otras informaciones sobre las cuales se entrará en detalles más adelante.
Un racimo C consiste en una célula Z o es un colectivo de varias células Z. Un racimo C puede estar formado, por ejemplo, por un ordenador individual o un circuito de mando integrado que gestiona algunas o varias células Z. Además, un racimo C puede trabajar como unidad de control de rango superior para las células Z contenidas en el mismo.
Todos los racimos C que se agrupan para la representación de las existencias de datos totales GD forman un combinado de racimos o conjunto de racimos CV. Los distintos racimos C están enlazados a través de una red N, teniendo cada racimo C una dirección unívoca. Así, un conjunto de racimos CV puede estar formado por la conexión en red de ordenadores individuales que forman un racimo y/o el conexionado de circuitos de mando integrados individuales que forman racimos.
Dentro del conjunto de racimos se identifica cada racimo con un indicativo unívoco RacimoID que puede ser un número individual o una tupla. Los distintos racimos del conjunto contienen una tabla de sus vecinos (tabla de vecinos) para poder retransmitir mensajes a racimos determinados. En este caso, un vecino es otro racimo con un indicativo RacimoID siguiente más alto o más bajo.
El número de células Z que pertenecen a un racimo C puede oscilar entre 0 y un límite superior maxcc, en donde maxcc puede ser diferente para cada racimo C en el conjunto de racimos CV. El número de células Z que están contenidas realmente en un racimo C se denomina ncc. Además, cada célula Z tiene un indicativo unívoco CélulaID dentro de un racimo C.
Además, las células Z de un racimo C pueden intercambiar información entre ellas sin enviar entonces mensajes por la red N, con lo que es posible una transmisión de mensajes segura dentro de un racimo C. Por otra parte, es preferible que todas las células Z de un racimo C dispongan de la misma calidad de enlace, es decir que la conexión a la red N puede ser ciertamente diferente entre racimos individuales C, pero es igual para todas las células Z de un racimo C.
Como se ha descrito, un racimo C comprende entre 0 y maxcc células Z. Cada lugar de memoria de un racimo C que puede almacenar una célula Z se denomina ranura S. Una ranura S puede estar llena, es decir que almacena los datos de una célula Z, o puede estar vacía, es decir que no representa ninguna célula Z. Así, los racimos C de la figura 2 presentan cada uno de ellos solamente una ranura llena S. El indicativo RanuraID de cada ranura S corresponde al indicativo CélulaID que obtendría una célula Z en este lugar de memoria.
Un cliente CL (por ejemplo, un proveedor de Internet, un ordenador personal, un ordenador en red o similares) es una unidad que se comunica a través de la red N y que solicita y procesa datos y/o da la orden de almacenar los datos modificados. En la presente invención no se hacen suposiciones de ninguna clase sobre la materialización real de la red N. Como red N pueden utilizarse dispositivos de transmisión de datos de cualquier clase, como, por ejemplo, buses propietarios, redes locales o Internet. En la invención no se presupone tampoco que la red N garantice la transmisión de todos los datos, por lo que no son necesarios tampoco retroavisos enviados al remitente correspondiente a través de una transmisión de datos ni que la red N transmita datos de conformidad con su instante de emisión.
Como se expone a continuación y se representa en la figura 2, la invención se basa, entre otras cosas, en una distribución de los datos totales GD o de los campos F sobre varias células Z del mismo contenido, es decir que un campo individual F se almacena de forma redundante en varias células Z. El número de células Z que almacenan y gestionan un campo determinado F se denomina nm y es igual en el conjunto de racimos completo CV, denominándose cada una de estas nm células Z espejo SP para el campo F que está almacenado en las nm células Z. En la explicación siguiente de la invención se parte de nm = 3, sirviendo este valor solamente para ilustrar la invención y pudiendo elegirse específicamente para cada caso de aplicación de la invención.
Una respuesta AK es la respuesta a una petición RQ. Qué contenido y función tengan las distintas peticiones RQ y respuestas AK, depende de los respectivos datos transmitidos.
Un mensaje MSG es una cantidad de datos que es intercambiada entre células Z, racimos C y clientes CL. El objetivo de la red N es la transmisión de los mensajes MSG. Dado que el remitente de un mensaje MSG no obtiene ningún retroaviso sobre una transmisión satisfactoria, se pueden perder mensajes MSG. También pueden llegar dos mensajes MSG a un destino en un intervalo de tiempo diferente. Se describen ahora el modo de proceder fundamental en la presente invención y procesos u operaciones individuales para la puesta en práctica de la invención.
La cantidad de datos total GD se divide en campos individuales F. Esta división puede efectuarse, por ejemplo, en dos o tres dimensiones. Por ejemplo, se podría dividir un tablero de ajedrez en 8*8 campos F, conteniendo entonces cada campo F la información sobre escaque correspondiente del tablero de ajedrez, por ejemplo qué figura de juego está allí. Análogamente, se puede representar también un espacio tridimensional por medio de campos F. Sin embargo, resulta igualmente posible subdividir una imagen en zonas de imagen individuales o un texto en palabras o letras (secuencias de letras) individuales y asociarlas a campos individuales F. El contenido de los campos F es específico de la aplicación y no tiene objetivo alguno en la presente invención.
Los distintos campos F se almacenan a continuación en nm células Z, almacenando cada célula Z un campo correspondiente F, es decir, los datos propiamente dichos, así como otras informaciones que conciernen preferiblemente a referencias a campos contiguos F. Estas informaciones permiten una reducción de datos, ya que así no tienen que almacenarse campos "vacíos" F y no tiene que asociarse una célula Z a cada campo F.
Por consiguiente, se agrupan varias células Z en un racimo C y todos los racimos C se agrupan a su vez en un conjunto de racimos CV. Una característica esencial de la invención es que cada célula está presente de forma redundante en el conjunto de racimos CV, concretamente nm veces en nm racimos C. Por tanto, cada campo F está almacenado nm veces en estas células Z y cada una de estas células Z se denomina espejo SP respecto del campo F almacenado en ella. Además, cada célula Z contiene también informaciones sobre los racimos C y/o las células Z de los racimos correspondientes C en los que se encuentran las otras nm-1 células Z.
Además, cada célula Z contiene otras informaciones que comprenden preferiblemente indicaciones sobre la calidad de la transmisión de datos en el conjunto de racimos CV y respecto de los clientes CL, por ejemplo calidad de transmisión, velocidad de transmisión o similares. Estas informaciones se actualizan cuando se accede a las células Z.
Para obtener el contenido de un campo F, un cliente CL envía una petición, a través de la red N, a todas las células Z y/o racimos C que incluyen el campo deseado F, es decir, a todas las células Z que son espejos SP del campo deseado F. De qué célula Z o qué racimo C obtenga una respuesta el cliente peticionario CL, depende de los parámetros de las transmisiones de datos a células Z y/o racimos C individuales, así como de vuelta a los clientes CL. Preferiblemente, el cliente peticionario CL obtiene de la célula Z y/o del racimo C una respuesta que puede materializar la más rápida transmisión de datos en el instante correspondiente y/o realizar con más rapidez un procesamiento de datos antes de su envío al cliente peticionario CL.
Todas las células Z y/o racimos C y/o clientes CL comprueban regularmente los parámetros de transmisión de datos válidos para ellos. A intervalos regulares o a continuación de acciones establecidas, todas las células Z y/o racimos C y/o clientes CL comprueban regularmente los parámetros de transmisiones de datos válidos para las células empleadas Z. Si los parámetros comprobados no corresponden a valores límite prefijados o bien otras células Z y/o racimos C presentan mejores parámetros de transmisión de datos, las células comprobadoras Z intentarán desplazar sus datos hacia estas otras células Z y/u otros racimos C para mejorar los parámetros de transmisiones de datos válidos para estos datos. De esta manera, se optimiza automáticamente durante el funcionamiento el conjunto de racimos CV según la invención en lo que concierne a transmisiones de datos.
Entre todos los espejos SP del campo correspondiente F se sincronizan determinadas peticiones de un cliente CL, tal como, por ejemplo, una petición de escritura EscribirRQ que se describe más abajo. De este modo, se identifican los espejos SP que hayan fallado. Además, se realizan comprobaciones adicionales a intervalos regulares y/o por parte de clientes CL después de recibir respuestas AK. Se identifican así también los espejos SP que hayan fallado y/o que ya no sean actuales. Estos espejos SP son sustituidos por otros espejos SP o bien se generan sustitutivamente nuevos espejos SP por parte de una célula Z o un racimo C o un cliente CL o se subsanan los errores presentes con métodos que se describen a continuación. Por tanto, el conjunto de racimos CV es tolerante de errores frente al fallo de células individuales Z y/o racimos completos C. Además, los clientes peticionarios CL pueden asignar a las células Z y/o los racimos C individuales funciones o tareas especiales de tratamiento de datos que se desarrollan independientemente de la actuación de los clientes CL. Por ejemplo, un cliente CL puede ordenar a una célula Z o a un racimo C que modifique los datos de un campo F a intervalos determinados. Esta característica resulta especialmente importante cuando la presente invención se emplee en unión de juegos de ordenador que se realizan en tiempo real a través de una red, por ejemplo Internet, para reducir las cantidades de datos a transmitir y optimizar los procesos interactivos durante la ejecución de un juego de ordenador.
Empleando un protocolo predeterminado se transmiten datos entre los distintos clientes CL, racimos C y células Z. Es decir, además de los datos de transmisión, se envían y reciben otros datos predeterminados por parte de los distintos cliente CL, racimos C y células Z para, como se describe a continuación, iniciar los procesos deseados y reaccionar de manera adecuada. Así, todos los clientes CL, racimos C y células Z realizan las operaciones necesarias para conseguir la funcionalidad deseada del conjunto de racimos correspondiente CV. Si se emplea la invención, como se muestra en la figura 1, para poner a disposición juegos de ordenador a través de Internet, la red N es la Internet y el cliente CL es el sistema informático que trabaja como proveedor de Internet. Los distintos racimos C comprenden aquí unidades de memoria del cliente CL y dispositivos de almacenamiento de otros sistemas informáticos distribuidos por Internet. Dado que en general solamente existe un único enlace entre un cliente CL (proveedor de servicios de Internet) y un usuario correspondiente B, por ejemplo a través de una línea telefónica, el usuario B y el cliente CL (proveedor de Internet) forman actualmente un sistema que ha de considerarse como unitario. Por tanto, en la figura 4 no se ha representado el usuario B de la figura 1. Una optimización según la invención de la transmisión de datos a los usuarios B sería posible únicamente cuando el usuario B tuviera acceso al mismo tiempo a diferentes proveedores de Internet. Sin embargo, en el estado actual de la técnica la presente invención permite una optimización de la gestión y transmisión de datos para clientes CL que trabajan como proveedores de Internet cuando éstos accedan a los datos necesarios, por ejemplo, para un juego de ordenador interactivo con varios jugadores y lleguen, a través de Internet, a otros sistemas informáticos que trabajan como racimos. La invención puede emplearse también, como se muestra en la figura 3, en una estructura informática unitaria, tal como, por ejemplo, en un ordenador personal PC. En este caso, la unidad de proceso central CPU trabaja como cliente y los diferentes dispositivos de gestión de datos MEM1, MEM2, MEM3 trabajan como racimos. Los dispositivos de gestión de datos MEM1, MEM2, MEM3 pueden ser unidades de memoria convencionales, por ejemplo memorias no volátiles o memorias con acceso selectivo, pero también dispositivos especiales que no sólo almacenan, por ejemplo, datos, sino que también los procesan y, por tanto, no siempre pueden poner ilimitadamente a disposición los datos de la unidad de proceso central CPU.
Una célula Z puede adoptar cinco estados, pudiendo presentarse siempre cada estado, dado que las células Z no son seguras contra fallos y la red N no garantiza ni comprueba transmisiones de datos:
Estado activo (activo): El contenido de la célula Z es válido y la célula Z está preparada para funcionar. Estado inválido (inválido): La célula Z está preparada para funcionar. Pero tiene un contenido válido que ya no es actual. Esto puede presentarse, por ejemplo, cuando la célula Z no ha ejecutado operaciones de datos debido a un defecto técnico o a informaciones no recibidas.
Estado inactivo (inactivo): No puede alcanzarse la célula Z, por ejemplo porque se pierden permanentemente transmisiones de datos hacia ella o bien la célula Z ha fallado de manera duradera.
Estado bloqueado (bloqueado): La célula Z procesa solamente determinadas transmisiones de datos, tal como, por ejemplo, solamente las peticiones de escritura EscribirRQ o las peticiones de lectura LeerRQ que se describen más abajo.
Marcha en vacío (idle): La célula Z está preparada para funcionar, pero no se utiliza actualmente en el conjunto de racimos CV.
Una célula Z contiene un campo determinado F, es decir, un campo F con una posición de campo determinada CampoID, y tiene una posición unívoca CélulaID dentro del racimo correspondiente C. El racimo C se identifica a su vez por medio de un indicativo unívoco RacimoID. Por tanto, una célula Z es identificada unívocamente por un indicativo con la fórmula RacimoID: CélulaID. Cada racimo C y cada cliente CL se identifican unívocamente en el conjunto de racimos CV por medio de un indicativo RacimoID, ClienteID, respectivamente. No se imponen exigencias especiales a estos indicativos, los cuales sólo tienen que identificar inequívocamente los racimos C y los clientes CL.
A continuación, se explican con más detalle una serie de algoritmos descritos que se utilizan por parte de las operaciones funcionales descritas más abajo que sirven para la puesta en práctica de la invención. Esta explicación se complementa por medio de pseudocódigos correspondientes que se emplean en la forma de realización actualmente preferida de la invención.
Para que puedan asociarse unívocamente mensajes MSG, es decir, transmisiones de datos, a procesos individuales, cada mensaje MSG contiene un número de ticket TNr que se genera durante el envío. En tanto no esté concluido el proceso correspondiente, todos los clientes CL, células Z y racimos C implicados pueden asociar unívocamente el mensaje MSG al proceso correspondiente con ayuda del número de ticket TNr. Para obtener números de ticket unívocos TNr, un número de ticket TNr puede combinarse, por ejemplo, a partir del tiempo de envío del mensaje (o de un contador continuo generado en la célula) y el reconocimiento del envío. Dado que el reconocimiento del envío es unívoco y los tiempos de emisión de dos mensajes MSG son diferentes, cada mensaje MSG puede adjudicarse unívocamente al respectivo proceso. Sin embargo, se pueden generar números de ticket unívocos TNr de otra manera en función de las más diferentes aplicaciones de la invención.
1
Si un racimo C recibe un mensaje MSG que está dirigido a otro racimo C, es decir que la RacimoID de la dirección de destino del mensaje MSG no corresponde a la dirección del racimo receptor C, el racimo receptor C retransmite entonces el mensaje MSG al racimo C para el que está destinado dicho mensaje MSG. El modo en que se retransmita el mensaje MSG depende de la materialización real de la red N y/o de los racimos C y/o de clientes CL y/o del protocolo de transmisión de datos y/o de datos correspondientes contenidos en el mensaje MSG. Asimismo, se retransmite un mensaje MSG cuando una célula Z recibe un mensaje MSG que está destinado a otra célula Z.
Cada célula Z contiene informaciones sobre células contiguas Z y comprueba con ayuda de estas informaciones si una célula deseada Z se encuentra dentro del racimo actual C. Cuando no ocurre esto, se selecciona preferiblemente de entre todas las células contiguas Z del racimo actual C la célula Z que es la más contigua a la célula deseada Z. Si entran en consideración varias células Z para esto, se puede seleccionar aleatoriamente una célula Z.
Opcionalmente, en cada retransmisión de un mensaje MSG se puede incrementar un contador de pasos en un paso. A cada paso, el respectivo racimo C envía una respuesta de retención RetenerAK al remitente del mensaje MSG para indicar a éste que se procesa todavía su petición RQ. Si el remitente no recibe en este caso una respuesta de retención RetenerAK de esta clase, el remitente puede partir de la consideración de que se ha perdido su mensaje MSG. El remitente puede entonces dirigir su mensaje MSG, por ejemplo, al último racimo C que ha enviado la respuesta de retención RetenerAK últimamente recibida.
No existe un procedimiento seguro de transmitir mensajes MSG y de garantizar que dichos mensajes MSG han sido recibidos, ya que la red N no tiene que garantizar la transmisión de datos y, por tanto, en cualquier momento pueden perderse mensajes MSG (por ejemplo, peticiones RQ y respuestas AK).
Para garantizar en mayor medida la transmisión de datos determinados, se puede emplear un mensaje pseudoseguro PSM. En este caso, el mensaje pseudoseguro PSM se envía con cierta frecuencia hasta que sea improbable una pérdida del mensaje. Únicamente después se parte de la consideración de que ha fallado la transmisión.
Si se parte de una probabilidad de 1/n con la que puede perderse un mensaje cualquiera MSG, se tiene que enviar así x veces un mensaje pseudoseguro PSM, de modo que es suficientemente pequeña la probabilidad p = (2/n)^x con la que se ha perdido el mensaje. En caso de que falte una respuesta AK, se puede partir entonces de la consideración de que ha fallado el receptor. Pseudocódigo para enviar un mensaje pseudoseguro PSM: procedure psm_send(message: TCellMsg; d1, d2, d3; Tadr; next_status:TCellStatus); var i:byte;
2
3
Para comprobar si una célula espera a la confirmación de un mensaje pseudoseguro PSM, se emplea el pseudocódigo siguiente: <Trata en caso de que la célula espere a la entrada de PSM>
4
La célula correspondiente Z tiene que comprobar si han entrado todas las respuestas AK cuando realiza su proceso de actualización (update procedure). Se tiene que tratar allí el estado correspondiente (cs_psm_waiting). Se puede decidir entonces si han entrado todas las respuestas AK y, si no ha sido así, si se debe esperar aún más tiempo:
5
6
La autoprueba es la operación central para asegurar la consistencia de todos los espejos SP de un conjunto para un campo F. Una autoprueba es iniciada por un tercer peticionario, por ejemplo un cliente CL o un racimo C. Un espejo SP que realiza una autoprueba hace que los demás espejos SP del conjunto realicen también una autoprueba. Cuando un espejo SP realiza una autoprueba, esto puede conducir a que este espejo u otro espejo SP realice una corrección de error. Según lo insegura que sea realmente la red (pérdida de mensajes, demoras), puede ser impracticable configurar el PSM en forma realmente segura. Las distintas operaciones (como agregación de un nuevo espejo, etc.) deberán ser tolerantes frente a errores hasta cierto grado. El caso en el que se clasifica ciertamente un mensaje como no suministrado, pero, no obstante, ha sido suministrado, es ciertamente muy improbable con PSM, pero tampoco es imposible. Por tanto, tiene que haber correcciones de error correspondientes.
Si un espejo SP recibe una petición de autoprueba AutopruebaRQ, comienza a realizar un autoprueba bajo el mismo número de ticket TNr, siempre que no esté realizando en ese momento una autoprueba que haya sido inicializada por otra petición de autoprueba AutopruebaRQ, y cuando el número de ticket TNr de la petición de autoprueba actualmente obtenida AutopruebaRQ se diferencie de la última petición de autoprueba obtenida AutopruebaRQ.
Si un tercer peticionario envía, por ejemplo, una petición de lectura LeerRQ descrita más abajo, la realización de una autoprueba es necesaria únicamente cuando el tercer peticionario obtenga respuestas inconsistentes AK de los espejos correspondientes SP de un campo F que pretende leer el tercer peticionario.
El tercer peticionario compara las respuestas AK obtenidas de los espejos SP y - si se parte, como se ha descrito anteriormente, de tres espejos SP para un campo F - acepta el resultado en caso de tres respuestas AK. En caso de dos respuestas AK, inicia una autoprueba y acepta el resultado. En caso de solamente una respuesta AK, inicia una autoprueba y descarta el resultado.
Cuando se ha recibido una petición de autoprueba AutopruebaRQ o se ha iniciado una autoprueba debido a otras especificaciones condicionadas por el sistema, por ejemplo un rebasamiento de tiempo, el espejo correspondiente SP tiene que comprobar su validez propia y es él mismo competente para la corrección del error o traspasa la tarea de corrección de error a otro espejo SP. En caso de que se seleccione un espejo SP para la corrección de errores, hay que aspirar a que siempre un solo espejo SP realice la corrección de errores, aun cuando varios espejos SP realicen casi simultáneamente una autoprueba para evitar estados inconsistentes.
El espejo SP envía a continuación una petición de validación ValidarRQ a todos lo demás espejos SP. El intercambio de los datos correspondientes tiene lugar empleando mensajes pseudoseguros PSM. Cuando no se recibe ninguna respuesta AK, se declara el destino como no alcanzable. Seguidamente, se sustituye el espejo SP que ha fallado por uno nuevo.
Pseudocódigo para la realización de una autoprueba AutopruebaRQ: un espejo comienza con una autoprueba cuando recibe para ello un mensaje correspondiente:
7
Como alternativa o como complemento de esto, la autoprueba puede ser realizada también automáticamente a intervalos determinados. A este fin, el espejo de comprobación SP envía una petición correspondiente a todos los demás espejos SP:
procedure start_selfCheck;
var m:TcellMsg;
8
Cada célula Z tiene que estar entonces en condiciones de poder responder a peticiones de validación:
9
Una vez de que la célula comprobadora Z ha obtenido todas las respuestas AK o ha transcurrido el tiempo, ésta comprueba el resultado de la autoprueba:
10
11
12
Partiendo de un conjunto de espejos con tres espejos SP se pueden diferenciar, para una entrada de ninguna, una o dos respuestas AK en el espejo SP que envía peticiones de validación ValidarRQ a los otros dos espejos SP del conjunto, los casos siguientes que se exponen en la tabla situada más abajo, clasificándose las respuestas entrantes AK de la manera siguiente:
"V" (Válido): El espejo emisor SP acepta la célula receptora Z como espejo SP, y los contadores de vida del remitente y del receptor tienen el mismo valor.
"D" (Retardado): El espejo emisor SP acepta la célula receptora Z como espejo SP, pero el contador de vida del remitente tiene un valor más bajo que el contador de vida del receptor.
"I" (Inválido): El espejo emisor SP no acepta la célula receptora Z como espejo SP.
13
En los casos en los que hay que buscar un nuevo espejo SP, se busca un nuevo espejo SP por parte de uno de los espejos restantes SP, debiendo atender a esta tarea solamente uno de los espejos. Se tiene que seleccionar aquí un espejo, por ejemplo el que presente el índice más bajo. El otro espejo SP con el índice más alto no realiza operaciones, pero, al cabo de cierto tiempo, se obtienen mensajes MSG que indican la incorporación de un nuevo espejo SP en el conjunto.
Cuando un espejo SP ha fallado en el sentido físico, entonces es posible que se hayan planteado peticiones RQ al conjunto de espejos en el tiempo intermedio, es decir que su fallo no ha sido ni siquiera percibido y no ha tenido otras repercusiones, o bien que los otros dos espejos SP le hayan declarado mientras tanto como inválido y hayan buscado un espejo sustitutivo. Cuando se realiza una operación de nuevo arranque, se puede establecer un estado de esta clase. A este fin, el espejo SP en fase de arranque realiza una autoprueba en la forma que se ha descrito anteriormente.
En la presente invención el contador de vida es un contador que se incrementa en valores enteros. Para impedir un desbordamiento del contador de vida, se igualan a intervalos regulares los contadores de duración de todos los clientes C, células Z y racimos C, es decir que se ponen a un valor común más bajo.
A este fin, la igualación es impulsada por un espejo cualquiera SP, por ejemplo por el espejo SP con el contador de vida de valor más bajo. Los nm espejos SP de un campo F esperan cada uno de ellos a la recepción de las nm-1 respuestas AK (PSM). Únicamente cuando se reciben las nm-1 respuestas AK, el espejo correspondiente SP realiza un ajuste del contador de vida.
Al ajustar el contador de vida se debe tener cuidado de que se elija el intervalo entre dos ajustes de modo que los espejos SP cambiados mientras tanto no se conviertan nuevamente en válidos por efecto de un nuevo arranque. Preferiblemente, se emplea para ello una memoria adicional en la que se almacena el valor del último contador de vida en el que se ha cambiado un espejo SP.
Pueden presentarse también errores en el caso de mensajes pseudoseguros PSM. Ciertamente, los parámetros para mensajes pseudoseguros PSM pueden elegirse de modo que los errores sean tan improbables que prácticamente no puedan presentarse para la aplicación seleccionada.
Sin embargo, esto puede conducir a que la aplicación no sea ya en realidad practicable. En ciertas circunstancias, se tienen que introducir compromisos respecto de los parámetros para mensajes pseudoseguros PSM, de modo que se produzcan por efecto de mensajes pseudoseguros erróneos PSM unos errores que tengan que corregirse.
Por tanto, la comunicación entre las células Z o los espejos SP debe estar configurada de modo que estos errores no tengan consecuencias o sean corregidos. Esto se efectúa, por ejemplo, mediante el empleo de una autoprueba AutoChequeo.
La operación Doble Campo Chequeo descrita en este apartado sirve para corregir errores que se han producido debido a errores de comunicación en el caso de mensajes pseudoseguros PSM. Dichos errores provocan que se dupliquen los conjuntos de espejos, es decir que existen más de nm espejos para un campo.
La operación Doble Campo Chequeo puede realizarse en un intervalo t_Doble Campo Chequeo por parte de uno o varios espejos SP. Cada cliente CL puede impulsar una operación Doble Campo Chequeo cuando obtenga respuestas AK de espejos SP cuyas referencias a los demás espejos SP no son consistentes.
La operación Doble Campo Chequeo retira, además, conjuntos de espejos obtenidos para establecer el estado deseado de los respectivos nm espejos SP para un campo F.
A este fin, se selecciona un gestor para la operación Doble Campo Chequeo. Éste puede ser una célula cualquiera Z (también el conjunto de espejos) o bien un cliente CL (por ejemplo, el cliente que ha descubierto la situación de error). Opcionalmente, el gestor envía una petición RQ a la red, a la cual se anuncian todas las células Z que son competentes para un campo determinado F, con lo que se descubren también otras combinaciones de espejos adicionales.
El gestor decide entonces qué células Z pertenecen a la combinación de espejos válidas y envía a todas las demás células Z una petición de borrado SuprimirRQ. Opcionalmente, el gestor envía a todos los demás espejos SP que quedan una petición rq_updateTable para actualizar sus tablas de espejos.
Si algunas células Z no reciben la petición de borrado SuprimirRQ, se desactivan éstas entonces en la siguiente autoprueba AutoChequeo o bien en la operación Doble Campo Chequeo siguiente.
Para decidir qué células Z pertenecen a la combinación de espejos válida, se pueden emplear algoritmos diferentes. A continuación, se indican ejemplos de éstos que pueden emplearse también en forma combinada.
Una posibilidad consiste en introducir un contador de generación que se incrementa cada vez que se agrega un nuevo espejo SP a un conjunto. En el caso de espejos SP con un índice doblemente existente se retira el espejo SP con el contador de generación mayor/menor. También es posible declarar como válido el conjunto de espejos en el que ha tenido últimamente lugar un acceso de escritura. Además, a través de la validez de un conjunto de espejos se puede decidir también sobre la dependencia respecto de cualesquiera otras propiedades (por ejemplo, la posición geográfica de espejos SP).
En caso de que solamente se reconozca todavía como trabajando correctamente un espejo individual SP, por ejemplo por parte de un cliente CL, es posible que el error esté localizado en este espejo SP y no en los otros nm-1 espejos SP. Para excluir esta posibilidad, se deberá realizar una comprobación de seguridad adicional a fin de garantizar el funcionamiento correcto del espejo individual SP antes de que éste sustituya a los demás espejos SP. Se evita así que el espejo individual SP que está trabajando active por equivocación espejos adicionales SP.
Si sigue trabajando realmente sólo un espejo SP, es necesario agregar nm-1 nuevos espejos SP.
En primer lugar, el espejo SP que está trabajando tiene que comprobar o asegurar el funcionamiento de sus propias transmisiones de datos. Se reclaman entonces nm-1 nuevos espejos SP con una petición rq_nedeNewCells. Se envía a los nm-1 nuevos espejos SP la invitación de que se conviertan en espejos. No es necesario entonces evaluar inmediatamente las respuestas AK, ya que los eventuales errores son corregidos por autopruebas posteriores AutoChequeos (este desarrollo corresponde aproximadamente a la agregación de un nuevo campo F, con la diferencia de que solamente se buscan nm-1 células Z y el gestor de espejos es en este caso idéntico a un espejo SP).
En los apartados siguientes se describe el intercambio de datos entre clientes CL, células Z y racimos C que se prefiere para poner a disposición células "activas" según la invención. En particular, se emplean para ello las operaciones siguientes, haciéndose referencia ahora a la figura 4:
Operación de localización (localizar): Localización de una célula Z que contiene un campo deseado F. Operación de lectura (leer): Un cliente CL lee el contenido de un campo F de un espejo SP. Operación de escritura (escribir): Un cliente modifica el contenido de un campo F en todos los espejos asociados SP.
Operación de adición (añadir): Adición de campos F que no estaban todavía contenidos hasta ahora en el conjunto de racimos CV.
Operación de borrado (suprimir): Borrado de un campo F en el conjunto de racimos CV. Enviando una petición de localización LocalizarRQ, un cliente CL establece la posición de las células Z que contienen un campo deseado F y que, por tanto, son espejos SP para el campo deseado F. Las direcciones de estas células Z contienen tanto los indicativos RacimoID de los racimos correspondientes C como los indicativos CélulaID de las propias células Z.
Para obtener las direcciones de las células Z que son espejos SP para el campo deseado F (por ejemplo, campo F8 de la figura 2), el cliente CL pregunta a un racimo cualquiera C, por ejemplo al racimo C6, si una de sus células Z incluye el campo deseado F8. Cuando ocurre esto, el racimo C6 envía el indicativo de célula correspondiente CélulaID y los indicativos de racimo RacimoID de los nm-1 racimos C que incluyen espejos SP del campo deseado F8. Como se muestra en la figura 4, éstas son aquí la célula Z4 del racimo C1 y la célula Z6 del racimo C3, es decir, en conjunto las células con los indicativos CélulaID C1Z4, C3Z6 y C6Z2.
Si el racimo interrogado C, por ejemplo el racimo C4, no contiene el campo deseado F8, el racimo interrogado C4 busca entre las células Z contenidas en él la célula Z cuya posición de campo CampoID es la más próxima a la posición de campo CampoID del campo deseado F8. A este fin, el racimo C puede establecer, por ejemplo, la suma de los valores absolutos de la diferencia entre la posición de célula CélulaID y todas las posiciones de célula contiguas CélulaID para seleccionar las células Z en las que el valor absoluto de tal diferencia sea mínimo.
Dado que las células Z contienen indicaciones sobre células contiguas, se puede encontrar de esta manera un racimo C que presente una célula Z con el campo deseado F8. El racimo C4 interrogado por el cliente CL retransmite la petición de localización LocalizarRQ al racimo C así encontrado, por ejemplo el racimo C6. Se repite este proceso de manera correspondiente hasta que se haya encontrado una célula deseada Z o no se localicen ya células Z contiguas a una célula deseada Z.
Preferiblemente, se incrementa un contador de pasos al retransmitir una petición de localización LocalizarRQ. En cada incremento del contador de pasos el respectivo racimo actual C envía una respuesta de retención RetenerAK al cliente CL para indicar a éste que se sigue procesando su petición LocalizarRQ. Si en este caso el cliente peticionario CL no recibe esta respuesta de retención RetenerAK, se puede partir de la consideración de que se ha perdido su petición LocalizarRQ. En este caso, es preferible que el cliente peticionario CL dirija de nuevo la petición LocalizarRQ al racimo C del cual ha obtenido la última respuesta de retención en el tiempo RetenerAK.
Se concluye satisfactoriamente una petición de localización LocalizarRQ cuando el cliente peticionario CL obtiene un indicativo de destino DestinoID para nm espejos SP del campo deseado F8. En el ejemplo mostrado en la figura 4 el indicativo de destino DestinoID comprendería las células C1Z4, C3Z6 y C6Z2. Si el cliente CL no recibe ninguna respuesta AK, la operación de localización ha fallado.
A continuación, se describe el proceso que se realiza en las peticiones de lectura LeerRQ y las peticiones de escritura EscribirRQ. En las peticiones de lectura y escritura LeerRQ, EscribirRQ presentadas más abajo es necesario que el cliente correspondiente CL conozca los indicativos de los espejos SP que contienen el campo F a cuyos datos quisiera acceder el cliente CL. En la presente memoria resulta problemático el hecho de que los indicativos de los espejos deseados SP pueden variar en cualquier momento por cambio de posición de los espejos SP.
En principio para evitar esto sería posible que cada petición de localización LocalizarRQ se una con una operación BloquearRQ que impida variaciones del respectivo conjunto de los espejos deseados SP antes de que las peticiones de lectura y escritura LeerRQ, EscribirRQ propiamente dichas hayan sido recibidas por los espejos deseados SP. Sin embargo, esto reduciría claramente la eficacia de transmisiones de datos entre clientes CL y racimos C.
Por tanto, en la forma de realización preferida de la presente invención se procede de la manera siguiente. Un cliente CL ejecuta una operación de localización y anota las posiciones recibidas de los espejos SP que contienen el campo deseado F.
Si un espejo SP recibe ahora peticiones de lectura y escritura LeerRQ, EscribirRQ con una posición de campo CampoID para el campo deseado F que no corresponde a la posición de campo CampoID para el campo deseado F en el espejo SP, comunica esto al cliente CL. Además, cada espejo SP devuelve siempre o alternativamente al cliente peticionario CL, a petición de éste, las posiciones de los otros nm-1 espejos SP. De esta manera, un espejo puede corregir los indicativos ID almacenados en él y, en caso necesario, emitir una nueva petición de localización LocalizarRQ.
Pseudocódigo para realizar una petición de localización LocalizarRQ:
14
La petición de un cliente CL se dirige siempre a los nm espejos SP:
15
Idealmente, el cliente CL almacena transitoriamente sus peticiones propias para poder realizar mientras tanto otras acciones (por ejemplo, otras peticiones) hasta que entren las 1..nm respuestas correspondientes ak_read o se presente un agotamiento del tiempo. Después de transcurrido el tiempo de espera TWLeer, el cliente CL debe comprobar cuántas respuestas han entrado y si las tablas de espejos de las respuestas son consistentes:
16
17
Preferiblemente, las peticiones de lectura LeerRQ y las peticiones de escritura EscribirRQ son enviadas en paralelo a todos los racimos C a través de la red N, pero, en función de la red empleada N, es posible cualquier otra clase de envío.
Cada espejo SP, por ejemplo la célula C1Z4, reenvía opcionalmente una petición de lectura LeerRQ que entra de un cliente CL a todos los demás espejos SP, es decir, aquí a las células C3Z6 y C6Z2, y cada espejo SP envía después una respuesta AK al cliente CL. En este caso, un espejo SP recibe otra petición de lectura LeerRQ que tiene el mismo número de ticket TNr que una petición de lectura LeerRQ anteriormente recibida, y esta otra petición es ignorada, puesto que este espejo SP ha enviado ya una respuesta AK a los clientes peticionarios CL.
Si se realiza una operación de lectura, el cliente CL necesita los datos de un campo determinado F, por ejemplo F8. Para obtener estos datos, el cliente CL tiene que conocer las posiciones de los espejos SP que son competentes para este campo F8. Esto puede ser posible mediante una operación de localización anteriormente realizada para establecer las células C1Z4, C3Z6 y C6Z2 que trabajan como espejos SP.
El cliente CL envía su petición de lectura correspondiente LeerRQ con un número de ticket unívoco TNr a los 3 racimos C1, C3 y C6 que contienen los espejos SP competentes para el campo deseado F8.
El cliente CL espera un espacio de tiempo predeterminado TWLeer específico de la aplicación a respuestas AK de los espejos interrogados SP que contienen los datos deseados. Cada espejo SP responde a la petición de lectura LeerRQ con una respuesta AK, de modo que se presentan nm (es decir, aquí 3) respuestas AK en el cliente peticionario CL.
El cliente CL responde en función de la clase y/o el número de las respuestas entrantes AK. Si se presuponen tres espejos SP que son competentes para el campo F de los datos deseados, se obtienen los estados diferentes siguientes.
Si el cliente CL recibe dos o tres respuestas iguales AK, se emplea el resultado.
Sin embargo, si recibe dos respuestas diferentes AK o sólo una respuesta AK, el cliente CL envía una invitación de autoprueba a los espejos correspondientes SP.
Si el cliente CL recibe respuestas diferentes AK, se emplea la respuesta AK cuyo contador de vida presente el valor más alto.
Una petición de lectura LeerRQ se desarrolla satisfactoriamente cuando el cliente CL recibe por lo menos una respuesta AK, y no puede concluirse satisfactoriamente cuando el cliente CL no recibe ninguna respuesta AK dentro del espacio de tiempo predeterminado TWLeer o uno o más racimos CL anuncian que no han encontrado la célula deseada Z.
Para evitar los problemas antes citados al enviar una petición de lectura LeerRQ es preferible ejecutar en forma combinada peticiones de localización LocalizarRQ y peticiones de lectura LeerRQ. En este caso, el cliente CL dirige una petición de localización/lectura Localizar/LeerRQ a un racimo cualquiera C y obtiene de éste una respuesta AK, tal como en el caso de que se realice una petición de localización individual LocalizarRQ. La respuesta AK no contiene aquí la dirección ID del campo deseado F, sino los datos del campo deseado F.
Sin embargo, hay que tener en cuenta que una petición de localización/lectura combinada Localizar/LeerRQ necesita más tiempo en comparación con una petición de localización inicial LocalizarRQ para localizar los espejos deseados SP y una petición de lectura subsiguiente LeerRQ enviada a los espejos deseados SP, ya que aquí todos los racimos C de un conjunto de racimos CV tienen que procesar la petición de localización/lectura Localizar/LeerRQ combinada y, por tanto, más voluminosa.
Para variar los datos de un campo F, por ejemplo el campo F8, el cliente CL emite una petición de escritura EscribirRQ. Al igual que en el caso de una petición de lectura LeerRQ, el cliente CL tiene que conocer las posiciones de los 3 espejos SP competentes para el campo deseado F8.
El cliente CL envía a los tres espejos SP del campo deseado F8 una petición de escritura EscribirRQ. Seguidamente, se varían los datos del campo deseado F8 o de las células correspondientes C1Z4, C3Z6 y C6Z2 que trabajan como espejos SP, a cuyo fin todos los espejos SP actualizan sus datos de manera correspondiente. Seguidamente, cada uno de los espejos SP devuelve una respuesta AK al cliente peticionario CL. Tan pronto como han llegado al cliente CL todas las respuestas AK de los espejos SP, el proceso de escritura queda concluido satisfactoriamente.
Si en el instante en el que el cliente CL emite su petición de escritura EscribirRQ se realiza ya otra petición de escritura EscribirRQ sobre las células deseadas C1Z4, C3Z6 y C6Z2, el cliente CL recibe una respuesta correspondiente AK que indica que ha fallado la petición de escritura EscribirRQ y que las células deseadas C1Z4, C3Z6 y C6Z2 se encuentran en un estado bloqueado (locked state). Una petición de escritura EscribirRQ no ha quedado tampoco satisfactoriamente concluida cuando el cliente peticionario CL recibe menos de nm respuestas AK, es decir, aquí menos de 3 respuestas AK.
La sincronización necesaria para una petición de escritura EscribirRQ es realizada por los espejos implicados SP para garantizar que los nm espejos SP se actualicen con los mismos datos. Si un espejo SP recibe una petición de escritura EscribirRQ, envía entonces esta petición de escritura EscribirRQ a los otros nm-1 espejos SP.
Únicamente cuando el espejo emisor SP recibe una respuesta AK de los otros nm-1 espejos SP se ejecuta la petición de escritura EscribirRQ. La petición de escritura EscribirRQ recibida por el espejo SP puede ser enviada entonces por un cliente CL o por otro espejo SP del mismo conjunto.
Si un espejo SP recibe otra petición de escritura EscribirRQ de un espejo SP con índice más bajo, se sobreescriben entonces en todos los espejos SP las peticiones de escritura EscribirRQ anteriormente ingresadas. Además, un espejo SP no acepta más peticiones de escritura EscribirRQ de un cliente CL cuando ya ha entrado de otro espejo SP o cliente CL una petición de escritura EscribirRQ no realizada todavía completamente.
Es posible ejecutar peticiones de localización LocalizarRQ y peticiones de escritura EscribirRQ en forma combinada como petición de localización/escritura Localizar/EscribirRQ, pero hay que comprobar Si es tolerable la demanda de espacio adicional.
Una petición de adición AñadirRQ sirve para acoger en el conjunto de racimos CV un campo F que hasta ahora no estaba aún contenido en el conjunto de racimos CV. Esta petición de adición AñadirRQ puede ser emitida por un racimo C o un cliente CL.
Una célula individual Z, por ejemplo la célula C2Z6 de la figura 4, recibe del cliente CL una petición de adición AñadirRQ para que trabaje como gestor de espejos e incorpore nm-1 (es decir, 2) nuevos espejos SP en el conjunto de racimos CV. En la forma de realización actualmente preferida de la invención se selecciona siempre como gestor de espejos una célula Z que no sea ella misma un espejo SP. Sin embargo, son posibles también formas de realización de la invención en las que el propio gestor de espejos es también un espejo. La célula C2Z6 que trabaja como gestor de espejos envía a la red N una petición de adición AñadirRQ para 2 espejos. La petición de adición AñadirRQ es retransmitida de un racimo C a un racimo C en el conjunto de racimos CV, por ejemplo del racimo C2 al racimo C3, reduciéndose el número de espejos SP a añadir durante la retransmisión de la petición de adición AñadirRQ cuando el racimo últimamente interrogado C tiene preparada una célula Z.
El racimo últimamente interrogado C envía los indicativos CélulaID de las células Z que entran en consideración como espejos SP, es decir, la célula C2Z6 que trabaja como gestor de espejos. La célula C2Z6 que trabaja como gestor de espejos envía entonces una respuesta correspondiente AK a todas las células C3Z1 y C1Z2 que entran en consideración como espejos SP, preferiblemente un mensaje pseudoseguro PSM que ordene a éstas para que se conviertan en espejos SP. Seguidamente, la célula C2Z6 que trabaja como gestor de espejos reenvía una respuesta correspondiente AK al cliente peticionario CL. No se concluye satisfactoriamente una petición de adición AñadirRQ cuando no se reenvía ninguna respuesta AK o se reenvía una respuesta negativa AK desde la célula C2Z6 que trabaja como gestor de espejos.
Pseudocódigo para realizar una petición de adición AñadirRQ:
18
19
La realización de una petición de adición AñadirRQ no garantiza que estén disponibles nm espejos SP para un campo deseado F, sino que estén disponibles nm espejos SP o bien, una vez transcurrido un período de tiempo predeterminado t, no estén en absoluto disponibles espejos SP para el campo deseado F.
En caso de que existan menos nm nuevos espejos SP después de la realización de una petición de adición AñadirRQ, entonces puede suceder solamente que los mensajes pseudoseguros PSM que se emplean en la petición de adición AñadirRQ suministren resultados falsos.
Dichos errores son corregidos por autopruebas posteriores de los espejos SP.
Una petición de espejo EspejoRQ representa un caso especial de una petición de adición AñadirRQ en la que una célula Z, que en lo que sigue se denomina gestor, solicita un nuevo espejo individual SP. El gestor envía entonces a las células Z que entran en consideración como espejos SP la invitación de convertirse en nuevos espejos SP.
Si el gestor envía una petición de espejo EspejoRQ a la red N, se registra a partir de este instante un tiempo de espera WT hasta que lleguen al gestor respuestas AK de las células Z que entran en consideración como espejos SP. Cada racimo C que recibe la petición de espejo EspejoRQ y que puede poner a disposición espacio de memoria envía una respuesta correspondiente AK al gestor y pone a disposición espacio de memoria que se mantiene libre para que pueda incorporarse en el conjunto de racimos CV en forma de una célula Z o de un espejo SP. Si un racimo C no puede proporcionar espejos SP, retransmite la petición de espejo EspejoRQ a otros racimos C.
Si el gestor ha recibido una respuesta correspondiente AK de un nuevo espejo SP, consigna esto en una tabla de espejos. Si una célula Z que entra en consideración como espejo SP recibe del gestor, antes de que transcurra el intervalo de tiempo wt, un mensaje MSG en el sentido de que no se necesita ya ningún espejo SP, se libera dicha célula nuevamente y se desecha la petición de espejo EspejoRQ.
Si en una de las células interrogadas Z se presenta un rebasamiento de tiempo Timeout, es decir que ha transcurrido el espacio de tiempo wt de la petición de espejo EspejoRQ para esta célula Z, se busca entonces una nueva célula Z que entre en consideración como espejo. Este proceso se repite varias veces o hasta que hayan respondido todas las células Z que entran en consideración como espejos. Las células Z que se hayan puesto a disposición como posibles espejos SP y cuyas respuestas AK lleguen al gestor después de transcurrido el espacio de tiempo wt asociado a ellas, son ignoradas por dicho gestor.
Pseudocódigo para realizar una petición de espejo EspejoRQ:
20
Tanto si el espejo SP recibe una respuesta AK como si falla la petición de espejo EspejoRQ:
\vskip1.000000\baselineskip
21
\vskip1.000000\baselineskip
Por tanto, el espejo SP no empleado todavía recibe la petición de espejo EspejoRQ de convertirse en espejo, que se procesa con el pseudocódigo siguiente:
\vskip1.000000\baselineskip
22
\vskip1.000000\baselineskip
Este candidato a espejo envía ahora a los nm-1 espejos viejos SP la invitación de acogerle como espejo
(rq_addMirror). Dado que los espejos viejos SP han de verificar también esto recíprocamente, la célula tiene que esperar en esta petición a la contestación del mensaje durante posiblemente más tiempo que el habitual. Un espejo SP que reciba esta invitación consulta a los otros nm-2 espejos SP si éstos han recibido también esta petición (rq_certify). Únicamente cuando esto ocurre, los espejos SP contestan con una respuesta correspondiente ak_addMirror y actualizan su propia tabla de espejos:
23
Finalmente, el candidato de espejo actualiza sus datos:
24
Para retirar un campo F del conjunto de racimos CV se envía, por ejemplo por parte de un cliente CL o un racimo C, una petición de borrado SuprimirRQ a los nm espejos SP asociados al campo F. Una petición de borrado SuprimirRQ asegura que se retiren los nm espejos SP o que, en el caso de una realización no satisfactoria de la petición de borrado SuprimirRQ, no se retire ningún espejo SP a fin de garantizar datos consistentes en el conjunto de racimos CV.
Opcionalmente, cada espejo SP que recibe la petición de borrado SuprimirRQ la retransmite a los otros nm-1 espejos SP. Un espejo que recibe la petición de borrado SuprimirRQ se "borra", es decir que la célula respectiva Z cambia a un estado de funcionamiento en vacío (idle) y notifica esto, con una respuesta correspondiente AK, al remitente de la petición de borrado SuprimirRQ.
Una petición de borrado SuprimirRQ se desarrolla satisfactoriamente cuando el remitente recibe nm respuestas AK, según las cuales se han borrado los nm espejos SP del campo F. Si, después de transcurrido un espacio de tiempo predeterminado, el remitente no recibe ninguna respuesta AK según la cual se han borrado los nm espejos SP del campo F, ha fallado la petición de borrado SuprimirRQ.
Pseudocódigo para realizar una petición de borrado SuprimirRQ:
rq_delete:
25
Se emplean operaciones de desplazamiento para asignar a otras células Z espejos individuales SP de un conjunto de espejos que sustituyen entonces de manera correspondiente a los espejos actuales SP. Existen diferentes motivos que hacen necesarias operaciones de desplazamiento:
-
Fallo de un racimo C o de células individuales Z
-
Retirada de un racimo C de un conjunto de racimos CV
-
Insuficiente capacidad de transmisión de datos de un racimo C
-
Causas/motivos específicos de la aplicación
El desplazamiento de espejos SP al requerir nuevos espejos SP ya ha sido descrito anteriormente. Si se debe retirar un racimo C del conjunto de racimos CV, por ejemplo cuando un racimo C deba desplazarse hacia abajo o bien emplearse para otras tareas en la red N, los datos de sus células activas Z, es decir, las células Z que trabajan como espejos SP, tienen que ser desplazados a otros racimos C. En este caso, el racimo C a retirar inicia el desplazamiento de los datos o de los espejos SP de los distintos combinados de espejos (como se ha descrito anteriormente).
Para iniciar operaciones de desplazamiento a consecuencia de una capacidad insuficiente de transmisión de datos se comprueba aquí la capacidad de transmisión de datos de los racimos C y/o las células Z durante el funcionamiento. La forma de realización preferida de la presente invención emplea para ello un contador por cada espejo SP y/o cada célula Z, el cual establece la duración de la transmisión en el caso de mensajes pseudoseguros PSM. Opcionalmente, se implementa un emisor de tiempo (timer) que establece cada vez la duración media de la transmisión de datos, siendo necesaria aquí una base de tiempo común.
Preferiblemente, cada racimo C establece las capacidades de transmisión de datos de sus células Z. Los espejos SP o las células Z cuyos tiempos de transmisión de datos sobrepasan valores límite predeterminados son desplazados.
Sin embargo, la valoración de la capacidad de transmisión de datos respecto de la duración de la transmisión de datos ha de entenderse solamente como un ejemplo y cada parámetro deseado de capacidades de transmisión de datos adecuado para la respectiva aplicación de la invención puede ser comprobado para iniciar operaciones de desplazamiento con procedimientos conocidos. Por ejemplo, se podría comprobar la potencia de cálculo de células Z y/o racimos C individuales o bien la capacidad de zonas individuales de la red N.
Si se ha detectado esta capacidad insuficiente de transmisión de datos para un espejo SP, por ejemplo la célula C6Z2 de la figura 4, se envía al gestor, por ejemplo a la célula C1Z4, un espejo individual SP del conjunto correspondiente. El gestor C1Z4 envía preferiblemente con un mensaje pseudoseguro PSM una petición RQ de retirar el espejo correspondiente SP (C6Z2) a las otras 2 células C3Z6 y C6Z2 que trabajan como espejos SP. Este espejo se hace él mismo inválido o bien es declarado como inválido por el racimo correspondiente C6.
Seguidamente, el gestor C1Z4 reclama un nuevo espejo SP en el conjunto de racimos CV, a cuyo fin, en contraposición a la sustitución anteriormente descrita de un espejo SP, se pueden imponer otras condiciones al nuevo espejo SP, preferiblemente condiciones referentes a la capacidad de transmisión de datos. El nuevo espejo SP es integrado en el conjunto de espejos de la manera anteriormente descrita.
Para garantizar que todos los espejos SP hayan recibido informaciones sobre la operación de desplazamiento, el gestor envía una petición RQ (preferiblemente con un mensaje pseudoseguro PSM) para que se anule nuevamente la operación de desplazamiento cuando él no haya recibido una respuesta correspondiente AK de los nm-1 espejos SP. En este caso, no ha podido realizarse satisfactoriamente la operación de desplazamiento.
Las operaciones anteriormente descritas en relación con células Z y espejos SP pueden aplicarse de manera correspondiente también a operaciones referentes a los racimos C según la invención. Por tanto, se prescinde aquí de una descripción detallada de las operaciones para añadir, retirar, desplazar y desactivar racimos individuales C.

Claims (55)

1. Sistema de acceso y gestión de datos para un sistema informático, que comprende
-
por lo menos dos dispositivos de almacenamiento de datos (C1, C2,..., Cn),
-
por lo menos una unidad informática (CL) que accede a datos de los dispositivos de almacenamiento de datos (C),
-
los dispositivos de transmisión de datos (N) para transmitir datos entre los dispositivos de almacenamiento de datos (C) y la unidad informática (CL), almacenándose los datos de forma redundante en por lo menos dos de los por lo menos dos dispositivos de almacenamiento de datos (C), y
-
los dispositivos para captar parámetros predeterminados de la transmisión de datos entre los dispositivos de almacenamiento de datos (C) y la unidad informática (CL), almacenándose los datos de forma redundante en los dispositivos de almacenamiento de datos (C) en función de los parámetros predeterminados establecidos, y accediendo la unidad informática (CL) a uno de los dispositivos de almacenamiento de datos (C) en función de los parámetros predeterminados establecidos,
caracterizado porque
-
los dispositivos de almacenamiento de datos (C) comprenden dispositivos para captar parámetros predeterminados para las transmisiones de datos entre los dispositivos de almacenamiento de datos (C), y
-
los dispositivos de almacenamiento de datos (C), independientemente de un acceso de la unidad informática (CL), desplazan los datos almacenados de forma redundante en el sistema en función de los parámetros establecidos de transmisiones de datos entre los dispositivos de almacenamiento de datos (C).
2. Sistema según la reivindicación 1, caracterizado porque los dispositivos de almacenamiento de datos (C) comprenden respectivas unidades de control para controlar el acceso de datos y la gestión de datos.
3. Sistema según cualquiera de las reivindicaciones anteriores, caracterizado porque los dispositivos de almacenamiento de datos (C) se copian entre sí datos almacenados de forma redundante en el sistema en función de los parámetros establecidos de transmisiones de datos entre los distintos dispositivos de almacenamiento de datos (C) y la unidad informática (CL) y borran dichos datos en los dispositivos de almacenamiento de datos (C) en los que estaban previamente almacenados los datos copiados.
4. Sistema según cualquiera de las reivindicaciones anteriores, caracterizado porque los dispositivos de almacenamiento de datos (C) procesan los datos almacenados con independencia de la unidad informática (CL).
5. Sistema según cualquiera de las reivindicaciones anteriores, caracterizado porque los datos almacenados en el sistema están subdivididos en cantidades parciales de datos (F) y los dispositivos de almacenamiento de datos (C) están subdivididos en células (Z) de modo que las cantidades parciales de datos (F) a almacenar de forma redundante estén almacenadas en una de las células (Z) de los dispositivos de almacenamiento de datos (C).
6. Sistema según la reivindicación 5, caracterizado porque los dispositivos de almacenamiento de datos (C) están subdivididos en células (Z) en función de los parámetros de transmisión de datos.
7. Sistema según cualquiera de las reivindicaciones 5 ó 6, caracterizado porque cada célula (Z) presenta datos adicionales para el acceso de datos y la gestión de datos, los cuales conciernen a los parámetros de transmisiones de datos entre los distintos dispositivos de almacenamiento de datos (C) y la unidad informática (CL) y/o a células contiguas (Z) y/o a células (Z) que comprenden los datos almacenados de forma redundante en el sistema.
8. Sistema según cualquiera de las reivindicaciones 5 a 7, caracterizado porque las células (Z) intercambian entre ellas datos que se emplean para el acceso de datos y la gestión de datos.
9. Sistema según cualquiera de las reivindicaciones 5 a 8, caracterizado porque los parámetros de transmisiones de datos entre los distintos dispositivos de almacenamiento de datos (C) y la unidad informática (CL) son iguales para las células (Z) de un dispositivo de almacenamiento de datos (C).
10. Sistema según cualquiera de las reivindicaciones anteriores, caracterizado porque la unidad informática (CL) entrega los datos para su almacenamiento en los dispositivos de almacenamiento de datos (C) y/o procesa los datos almacenados en los dispositivos de almacenamiento de datos (C).
11. Sistema según cualquiera de las reivindicaciones anteriores, caracterizado porque la unidad informática (CL) está unida con un usuario (B) para retransmitir los datos recibidos y/o ser controlada por el usuario (B).
12. Sistema según la reivindicación 11, caracterizado porque el usuario (B) es un ordenador personal y/o una unidad de proceso central de un ordenador y/u otro dispositivo de almacenamiento de datos.
13. Sistema según cualquiera de las reivindicaciones anteriores, caracterizado porque la unidad informática (CL) es un sistema que pone a disposición servicios de Internet.
14. Sistema según cualquiera de las reivindicaciones 5 a 13, caracterizado porque la unidad informática (CL) accede directamente a las células individuales (Z) de los dispositivos de almacenamiento de datos (C).
15. Sistema según cualquiera de las reivindicaciones anteriores, caracterizado porque los parámetros predeterminados de transmisiones de datos entre los distintos dispositivos de almacenamiento de datos (C) y la unidad informática (CL) comprenden la duración de la transmisión y/o la tasa de errores y/o la duración del procesamiento de datos de los distintos dispositivos de almacenamiento de datos (C) antes de la transmisión de los datos.
16. Sistema según cualquiera de las reivindicaciones anteriores, caracterizado porque los dispositivos de transmisión de datos (N) comprenden enlaces eléctricamente conductores y/o sistemas de bus y/o redes de ordenadores y/o redes telefónicas por cable o inalámbricas (móviles) y/o la Internet.
17. Sistema de banco de datos o estructura informática que gestiona los datos con un sistema según cualquiera de las reivindicaciones 1 a 16.
18. Sistema para un juego de ordenador que se pone a disposición a través de Internet y que comprende un sistema según cualquiera de las reivindicaciones 1 a 17.
19. Sistema según la reivindicación 18, caracterizado porque por lo menos una unidad informática (CL) es un proveedor de servicios de Internet.
20. Sistema según la reivindicación 18 ó 19, caracterizado porque el juego de ordenador es un juego de ordenador interactivo para su utilización al menos por dos usuarios (B).
21. Sistema según la reivindicación 20, caracterizado porque cada usuario (B) está unido respectivamente con una unidad informática (CL).
22. Sistema según la reivindicación 20 ó 21, caracterizado porque las unidades informáticas (CL) transmiten los datos para la realización del juego de ordenador a los usuarios correspondientes (B).
23. Sistema según la reivindicación 22, caracterizado porque los usuarios (B) procesan los datos recibidos para la realización del juego de ordenador y los transmiten de vuelta a las unidades informáticas correspondientes (CL).
24. Sistema según cualquiera de las reivindicaciones 18 a 23, caracterizado porque están presentes, además, dispositivos para captar parámetros predeterminados de la transmisión de datos entre las unidades informáticas (CL) y los respectivos usuarios (B) conectados a ellas.
25. Sistema según la reivindicación 24, caracterizado porque los parámetros predeterminados de transmisiones de datos entre las unidades informáticas (CL) y los respectivos usuarios (B) conectados a ellas comprenden la duración de la transmisión y/o la tasa de errores y/o la duración de procesamientos de datos de las distintas unidades informáticas (CL) y/o de los distintos usuarios (B) antes de la transmisión de los datos.
26. Sistema según la reivindicación 24 ó 25, caracterizado porque los datos para realizar el juego de ordenador están almacenados también de forma redundante en función de los parámetros predeterminados establecidos de la transmisión de datos entre las unidades informáticas (CL) y los respectivos usuarios (B) conectados a ellas.
27. Sistema según cualquiera de las reivindicaciones 18 a 26, caracterizado porque las unidades informáticas (CL) reciben de los usuarios correspondientes (B) los datos de control para realizar el juego de ordenador.
28. Sistema según la reivindicación 27, caracterizado porque las unidades informáticas (CL) entregan los datos de control o datos correspondientes a los dispositivos de almacenamiento de datos (C).
29. Sistema según cualquiera de las reivindicaciones 27 ó 28, caracterizado porque las unidades informáticas (CL) procesan los datos para la realización del juego de ordenador en función de los datos de control y/o los dispositivos de almacenamiento de datos (C) procesan datos para la realización del juego de ordenador en función de los datos de control o de los datos correspondientes a los datos de control.
30. Procedimiento de acceso de datos y de gestión de datos para un sistema informático, que comprende las siguientes etapas:
-
almacenar datos en por lo menos dos dispositivos de almacenamiento de datos (C),
-
acceder a los datos de los dispositivos de almacenamiento de datos (C) por medio de por lo menos una unidad informática (CL) y a través de dispositivos de transmisión de datos (N),
-
estableciéndose parámetros predeterminados de la transmisión de datos entre los dispositivos de almacenamiento de datos (C) y la unidad informática (CL),
-
almacenándose los datos de forma redundante en por lo menos dos de los por lo menos dos dispositivos de almacenamiento de datos (C) en función de los parámetros establecidos de la transmisión de datos, y
-
efectuándose el acceso a los datos en función de los parámetros establecidos de la transmisión de datos,
caracterizado porque
-
los dispositivos de almacenamiento de datos (C) captan parámetros predeterminados para las transmisiones de datos entre los dispositivos de almacenamiento de datos (C), y
-
datos almacenados de forma redundante son desplazados con independencia de un acceso de la unidad informática (CL) a los datos en función de los parámetros establecidos de transmisiones de datos entre los dispositivos de almacenamiento de datos.
31. Procedimiento según la reivindicación 30, caracterizado porque el acceso de datos y la gestión de datos son controlados por los dispositivos de almacenamiento de datos (C).
32. Procedimiento según la reivindicación 30 ó 31, caracterizado porque los datos almacenados de forma redundante con el procedimiento son copiados entre sí por los dispositivos de almacenamiento de datos en función de los parámetros establecidos de transmisiones de datos entre los distintos dispositivos de almacenamiento de datos (C) y la unidad informática y dichos datos son borrados en los dispositivos de almacenamiento de datos en los que se habían almacenado previamente los datos copiados.
33. Procedimiento según cualquiera de las reivindicaciones 30 a 32, caracterizado porque los datos almacenados son procesados por los dispositivos de almacenamiento de datos (C) con independencia de la unidad informática (CL).
34. Procedimiento según cualquiera de las reivindicaciones 30 a 33, caracterizado porque se subdividen los datos en cantidades parciales de datos (F) y los datos de las cantidades parciales de datos (F) que han de ser almacenados en forma redundante se almacenan en respectivas células (Z) de los distintos dispositivos de almacenamiento de datos (C).
35. Procedimiento según cualquiera de las reivindicaciones 30 a 34, caracterizado porque la subdivisión en cantidades parciales de datos (F) y el almacenamiento en las células (Z) se realizan en función de los parámetros de transmisión de datos.
36. Procedimiento según cualquiera de las reivindicaciones 34 y 35, caracterizado porque se almacenan en las células (Z) los datos adicionales para el acceso de datos y la gestión de datos que conciernen a los parámetros de transmisiones de datos entre los distintos dispositivos de almacenamiento de datos (C) y la unidad informática (CL), y/o a células contiguas (Z), y/o a células (Z) que comprenden los datos almacenados de forma redundante en el sistema.
37. Procedimiento según cualquiera de las reivindicaciones 34 a 36, caracterizado porque se intercambian los datos adicionales para el acceso de datos y la gestión de datos entre las células (Z) de los dispositivos de almacenamiento de datos (C).
38. Procedimiento según cualquiera de las reivindicaciones 34 a 37, caracterizado porque el acceso a datos de células (Z) de un dispositivo de almacenamiento de datos (C) presenta los mismos parámetros de transmisión de datos.
39. Procedimiento según cualquiera de las reivindicaciones 30 a 38, caracterizado porque se entregan los datos desde la unidad informática (CL) para su almacenamiento en los dispositivos de almacenamiento de datos (C) y/o se procesan por parte de la unidad informática (CL) los datos almacenados en los dispositivos de almacenamiento de datos (C).
40. Procedimiento según cualquiera de las reivindicaciones 30 a 39, caracterizado porque se transmiten los datos desde la unidad informática (CL) a un usuario (B) y/o la unidad informática (CL) es controlada por el usuario (B).
41. Procedimiento según cualquiera de las reivindicaciones 30 a 40, caracterizado porque el procedimiento pone a disposición servicios de Internet.
42. Procedimiento según cualquiera de las reivindicaciones 34 a 41, caracterizado porque el acceso se efectúa directamente a los datos de células individuales (Z) de los dispositivos de almacenamiento de datos (C).
43. Procedimiento según cualquiera de las reivindicaciones 30 a 42, caracterizado porque el establecimiento de los parámetros predeterminados de transmisiones de datos entre los distintos dispositivos de almacenamiento de datos (C) y la unidad informática (CL) comprende el establecimiento de la duración de la transmisión y/o la tasa de errores y/o la duración de transmisiones de datos de los distintos dispositivos de almacenamiento de datos (C) antes de la transmisión de los datos.
44. Procedimiento para un sistema de banco de datos o una estructura informática que gestiona los datos con un procedimiento según cualquiera de las reivindicaciones 30 a 43.
45. Procedimiento para un juego de ordenador, que se pone a disposición a través de Internet y que comprende un procedimiento según cualquiera de las reivindicaciones 30 a 44.
46. Procedimiento según la reivindicación 45, caracterizado porque el acceso a los datos en los dispositivos de almacenamiento de datos (C) comprende la utilización de un proveedor de servicios de Internet que funciona como unidad informática (CL).
47. Procedimiento según la reivindicación 45 ó 46, caracterizado porque por lo menos dos usuarios (B) acceden al juego de ordenador, siendo el juego de ordenador un juego de ordenador interactivo.
48. Procedimiento según la reivindicación 47, caracterizado porque los datos para la ejecución del juego de ordenador son transmitidos por las unidades informáticas (CL) a los usuarios correspondientes (B).
49. Procedimiento según la reivindicación 48, caracterizado porque los datos recibidos por los usuarios (B) son procesados por dichos usuarios (B) y transmitidos de vuelta a las unidades informáticas correspondientes (CL).
50. Procedimiento según cualquiera de las reivindicaciones 45 a 49, caracterizado porque se establecen, además, parámetros predeterminados de la transmisión de datos entre las unidades informáticas (CL) y los respectivos usuarios (B) unidos con ellas.
51. Procedimiento según la reivindicación 50, caracterizado porque el establecimiento de los parámetros predeterminados de transmisiones de datos entre las unidades informáticas (CL) y los respectivos usuarios (B) conectados a ellas comprende el establecimiento de la duración de la transmisión y/o la tasa de errores y/o la duración de procesamientos de datos de las distintas unidades informáticas (CL) y/o los distintos usuarios (B) antes de la transmisión de los datos.
52. Procedimiento según la reivindicación 50 ó 51, caracterizado porque el almacenamiento redundante de los datos para la ejecución del juego de ordenador se realiza también en función de los parámetros predeterminados establecidos de la transmisión de datos entre las unidades informáticas (CL) y los respectivos usuarios (B) conectadas a ellas.
53. Procedimiento según cualquiera de las reivindicaciones 45 a 52, caracterizado porque los datos de control para la ejecución del juego de ordenador son transmitidos por los usuarios (B) a las unidades informáticas correspondientes (CL).
54. Procedimiento según la reivindicación 53, caracterizado porque los datos de control o datos correspondientes son transmitidos por las unidades informáticas (CL) a los dispositivos de almacenamiento de datos (C).
55. Procedimiento según cualquiera de las reivindicaciones 53 ó 54, caracterizado porque los datos para la ejecución del juego de ordenador son procesados por las unidades informáticas (CL) en función de los datos de control y/o los datos para la ejecución del juego de ordenador son procesados por los dispositivos de almacenamiento de datos (C) en función de los datos de control o de los datos correspondientes a los datos de control.
ES00903572T 1999-01-11 2000-01-11 Sistema de acceso y de gestion de datos y procedimiento de acceso y de gestion de datos para un sistema informatico. Expired - Lifetime ES2230059T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19900636A DE19900636B8 (de) 1999-01-11 1999-01-11 Datenzugriffs- und -verwaltungssystem sowie Verfahren zum Datenzugriff und zur Datenverwaltung für ein Rechnersystem sowie deren Verwendung
DE19900636 1999-01-11

Publications (1)

Publication Number Publication Date
ES2230059T3 true ES2230059T3 (es) 2005-05-01

Family

ID=7893896

Family Applications (1)

Application Number Title Priority Date Filing Date
ES00903572T Expired - Lifetime ES2230059T3 (es) 1999-01-11 2000-01-11 Sistema de acceso y de gestion de datos y procedimiento de acceso y de gestion de datos para un sistema informatico.

Country Status (8)

Country Link
US (8) US7000084B2 (es)
EP (1) EP1151591B1 (es)
AT (1) ATE277474T1 (es)
DE (2) DE19900636B8 (es)
DK (1) DK1151591T3 (es)
ES (1) ES2230059T3 (es)
PT (1) PT1151591E (es)
WO (1) WO2000041471A2 (es)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19900636B8 (de) * 1999-01-11 2005-04-07 Gailer, Peter Datenzugriffs- und -verwaltungssystem sowie Verfahren zum Datenzugriff und zur Datenverwaltung für ein Rechnersystem sowie deren Verwendung
US8560691B2 (en) * 2007-06-19 2013-10-15 Microsoft Corporation Relocating item in distributed storage system
WO2009009754A2 (en) * 2007-07-12 2009-01-15 Cornell Research Foundation, Inc. Semantic transactions in online applications
US8380960B2 (en) * 2008-11-04 2013-02-19 Microsoft Corporation Data allocation and replication across distributed storage system
KR20130087810A (ko) * 2012-01-30 2013-08-07 삼성전자주식회사 이동통신 시스템에서 협력적 캐슁 방법 및 장치
US9436842B2 (en) * 2013-08-16 2016-09-06 Vinay Purohit Distributed fragments file system
US10430217B2 (en) * 2013-09-16 2019-10-01 Vmware, Inc. High availability using dynamic quorum-based arbitration
WO2016005355A1 (en) * 2014-07-08 2016-01-14 Osr Enterprises Ag Device, system and method for storing data
US9785473B2 (en) 2014-07-14 2017-10-10 Nxp Usa, Inc. Configurable per-task state counters for processing cores in multi-tasking processing systems

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5606693A (en) * 1991-10-02 1997-02-25 International Business Machines Corporation Distributed database management over a network
US5548724A (en) 1993-03-22 1996-08-20 Hitachi, Ltd. File server system and file access control method of the same
US5459837A (en) * 1993-04-21 1995-10-17 Digital Equipment Corporation System to facilitate efficient utilization of network resources in a computer network
JPH06332623A (ja) * 1993-05-24 1994-12-02 Mitsubishi Electric Corp アレイ型記録装置及び記録装置
US5634125A (en) * 1993-09-02 1997-05-27 International Business Machines Corporation Selecting buckets for redistributing data between nodes in a parallel database in the quiescent mode
US6185619B1 (en) 1996-12-09 2001-02-06 Genuity Inc. Method and apparatus for balancing the process load on network servers according to network and serve based policies
US5881051A (en) 1995-07-10 1999-03-09 International Business Machines Management of route testing in packet communications networks
US6047309A (en) * 1995-10-02 2000-04-04 International Business Machines Corporation Recording observed and reported response characteristics at server and/or client nodes in a replicated data environment, and selecting a server to provide data based on the observed and/or reported response characteristics
JPH09179820A (ja) 1995-12-26 1997-07-11 Mitsubishi Electric Corp 負荷分散方式及び方法
US5828843A (en) 1996-03-21 1998-10-27 Mpath Interactive, Inc. Object-oriented method for matching clients together with servers according to attributes included in join request
US5838909A (en) 1996-05-23 1998-11-17 Sandcastle, Inc. Reducing latency when synchronizing access to a multi-user database over a network
JPH1069358A (ja) * 1996-08-28 1998-03-10 Mitsubishi Electric Corp データ配置装置
CA2269069C (en) * 1996-10-18 2001-07-24 Intervu, Inc. System and method for optimized storage and retrieval of data on a distributed computer network
US5802106A (en) 1996-12-06 1998-09-01 Packeteer, Inc. Method for rapid data rate detection in a packet communication environment without data rate supervision
US6052718A (en) 1997-01-07 2000-04-18 Sightpath, Inc Replica routing
GB9702458D0 (en) 1997-02-06 1997-03-26 British Telecomm Adaptive distributed information network
US6152824A (en) 1997-03-06 2000-11-28 Mpath Interactive, Inc. Online gaming architecture
US6073209A (en) 1997-03-31 2000-06-06 Ark Research Corporation Data storage controller providing multiple hosts with access to multiple storage subsystems
US6038599A (en) 1997-04-23 2000-03-14 Mpath Interactive, Inc. Latency server and matchmaker
US6256675B1 (en) 1997-05-06 2001-07-03 At&T Corp. System and method for allocating requests for objects and managing replicas of objects on a network
DE69830965T2 (de) * 1997-05-26 2006-05-24 Koninklijke Philips Electronics N.V. System zur wiedergabe von daten in einem video-server
US6081907A (en) 1997-06-09 2000-06-27 Microsoft Corporation Data delivery system and method for delivering data and redundant information over a unidirectional network
US6189043B1 (en) * 1997-06-09 2001-02-13 At&T Corp Dynamic cache replication in a internet environment through routers and servers utilizing a reverse tree generation
US6112239A (en) 1997-06-18 2000-08-29 Intervu, Inc System and method for server-side optimization of data delivery on a distributed computer network
US6088766A (en) 1997-10-06 2000-07-11 Emc Corporation Method for exchanging data blocks on disk storage devices utilizing disk access statistics and testing for the effect of a change
US7301944B1 (en) 1997-10-24 2007-11-27 Tranz-Send Broadcasting Network, Inc. Media file distribution with adaptive transmission protocols
US6215772B1 (en) 1997-11-26 2001-04-10 International Business Machines Corporation Dynamic parameter estimation for efficient transport of HPR data on IP
US6178160B1 (en) 1997-12-23 2001-01-23 Cisco Technology, Inc. Load balancing of client connections across a network using server based algorithms
US6415373B1 (en) 1997-12-24 2002-07-02 Avid Technology, Inc. Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US6185598B1 (en) 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6085251A (en) 1998-04-02 2000-07-04 The United States Of America As Represented By The Secretary Of The Air Force Implementing a parallel file transfer protocol
US6115752A (en) 1998-05-21 2000-09-05 Sun Microsystems, Inc. System and method for server selection for mirrored sites
DE19900636B8 (de) 1999-01-11 2005-04-07 Gailer, Peter Datenzugriffs- und -verwaltungssystem sowie Verfahren zum Datenzugriff und zur Datenverwaltung für ein Rechnersystem sowie deren Verwendung
US6339785B1 (en) 1999-11-24 2002-01-15 Idan Feigenbaum Multi-server file download

Also Published As

Publication number Publication date
US20050273504A1 (en) 2005-12-08
US9787771B2 (en) 2017-10-10
DE19900636A1 (de) 2000-07-13
DK1151591T3 (da) 2005-01-24
US20110258396A1 (en) 2011-10-20
USRE40521E1 (en) 2008-09-23
US20070244992A9 (en) 2007-10-18
US8656125B2 (en) 2014-02-18
ATE277474T1 (de) 2004-10-15
DE50007896D1 (de) 2004-10-28
WO2000041471A3 (de) 2000-11-02
US20020152363A1 (en) 2002-10-17
DE19900636B4 (de) 2004-01-15
US7904680B2 (en) 2011-03-08
US20180034907A1 (en) 2018-02-01
WO2000041471A8 (de) 2001-04-05
EP1151591B1 (de) 2004-09-22
DE19900636B8 (de) 2005-04-07
US20140201484A1 (en) 2014-07-17
US20160248854A1 (en) 2016-08-25
US20130067038A1 (en) 2013-03-14
WO2000041471A2 (de) 2000-07-20
PT1151591E (pt) 2005-02-28
EP1151591A2 (de) 2001-11-07
US7000084B2 (en) 2006-02-14

Similar Documents

Publication Publication Date Title
US9787771B2 (en) Data access and management system as well as a method for data access and data management for a computer system
CN112737916B (zh) 一种基于区块链网络的数据处理方法及相关装置
JP6942798B2 (ja) Iotデバイスの自動プロビジョニング
ES2703901T3 (es) Sistema de archivo distribuido mediante nodos de consenso
ES2308059T3 (es) Procedimiento y aparato para el descubrimiento de dispositivos de red.
EP3671516B1 (en) Hierarchical weighted consensus for permissioned blockchains
JP4690461B2 (ja) ブランチオフィスdns格納及び解決
US8099479B2 (en) Distributed mesh network
CN100578490C (zh) 刷新bean缓存的系统和方法
US20110258297A1 (en) Locator Table and Client Library for Datacenters
US20110258482A1 (en) Memory Management and Recovery for Datacenters
JP2008250767A (ja) 分散ストレージシステム
JP2007513579A (ja) ネットワーク発見と接続管理のためのシステムおよび方法
KR20210005678A (ko) 대표 노드 디바이스를 선출하기 위한 방법 및 장치, 및 컴퓨터 디바이스 및 저장 매체
US7565433B1 (en) Byzantine paxos
CN110417929A (zh) 通过在区块链网络上运行dhcp服务器提供的高可用性dhcp服务
JP2006332794A (ja) データ配信方法
CN105162879A (zh) 实现多机房数据一致性的方法、装置及系统
CN112118322A (zh) 一种网络设备的数据同步方法、网络设备及系统
EP1419445A1 (en) Method and system for safely arbitrating disk drive ownership
Cisco delete through reset--switch
Cisco delete through reset--switch
Cisco delete through reset--switch
JP2002236605A (ja) データバックアップシステム
US20050015435A1 (en) Method for detecting, reporting and responding to network node-level events and a system thereof