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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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.
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.
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.
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.
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.
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.
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.
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;
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>
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:
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:
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;
Cada célula Z tiene que estar entonces en
condiciones de poder responder a peticiones de validación:
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:
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.
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:
La petición de un cliente CL se dirige siempre a
los nm espejos SP:
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:
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:
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:
Tanto si el espejo SP recibe una respuesta AK
como si falla la petición de espejo EspejoRQ:
\vskip1.000000\baselineskip
\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
\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:
(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:
Finalmente, el candidato de espejo actualiza sus
datos:
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:
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.
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)
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)
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 |
-
1999
- 1999-01-11 DE DE19900636A patent/DE19900636B8/de not_active Expired - Fee Related
-
2000
- 2000-01-11 DE DE50007896T patent/DE50007896D1/de not_active Expired - Lifetime
- 2000-01-11 EP EP00903572A patent/EP1151591B1/de not_active Expired - Lifetime
- 2000-01-11 DK DK00903572T patent/DK1151591T3/da active
- 2000-01-11 WO PCT/EP2000/000141 patent/WO2000041471A2/de active Search and Examination
- 2000-01-11 PT PT00903572T patent/PT1151591E/pt unknown
- 2000-01-11 AT AT00903572T patent/ATE277474T1/de active
- 2000-01-11 ES ES00903572T patent/ES2230059T3/es not_active Expired - Lifetime
-
2001
- 2001-07-10 US US09/903,431 patent/US7000084B2/en not_active Ceased
-
2005
- 2005-07-23 US US11/188,025 patent/US7904680B2/en not_active Expired - Fee Related
-
2006
- 2006-09-05 US US11/515,507 patent/USRE40521E1/en not_active Expired - Lifetime
-
2011
- 2011-02-17 US US13/029,267 patent/US8656125B2/en not_active Expired - Lifetime
-
2012
- 2012-09-10 US US13/609,065 patent/US20130067038A1/en not_active Abandoned
-
2013
- 2013-12-13 US US14/106,636 patent/US20140201484A1/en not_active Abandoned
-
2015
- 2015-09-18 US US14/858,723 patent/US9787771B2/en not_active Expired - Fee Related
-
2017
- 2017-09-28 US US15/719,160 patent/US20180034907A1/en not_active Abandoned
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 |