ES2393159T3 - Sistema y método de trazado y comunicación de estados informáticos - Google Patents
Sistema y método de trazado y comunicación de estados informáticos Download PDFInfo
- Publication number
- ES2393159T3 ES2393159T3 ES08759596T ES08759596T ES2393159T3 ES 2393159 T3 ES2393159 T3 ES 2393159T3 ES 08759596 T ES08759596 T ES 08759596T ES 08759596 T ES08759596 T ES 08759596T ES 2393159 T3 ES2393159 T3 ES 2393159T3
- Authority
- ES
- Spain
- Prior art keywords
- computer
- computing device
- state
- identifier
- states
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/14—Error detection or correction of the data by redundancy in operations
- G06F11/1471—Error detection or correction of the data by redundancy in operations involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
Método implementado por ordenador de comunicación de estados informáticos de un primer dispositivo informático(1) para registro de dichos estados informáticos por un segundo dispositivo informático (2), conectado a dicho primerdispositivo informático, dicho primer dispositivo informático siendo configurado para asumir una pluralidad de estadosinformáticos sucesivos, dicho método que incluye las etapas de:- comunicación de uno o más estados informáticos de dicho primer dispositivo informático a dicho segundo dispositivoinformático (2) como un primer conjunto de estados informáticos, dicho primer conjunto siendo identificado por un primeridentificador de conjunto y con un estado informático previo, el estado informático previo siendo obtenido después deejecutar una o más tareas en dicho primer dispositivo informático;- detección por dicho primer dispositivo informático (1) de una transición de estado de un estado informático actual,obtenido después de ejecución de una o más tareas adicionales, a dicho estado informático previo de dicho primerdispositivo informático;- solicitud por dicho primer dispositivo informático (1) de un valor momentáneo extremo de un identificador de conjuntode una secuencia de valores de identificadores de conjunto (CSN) en respuesta a la detección de dicha transición deestado;- recepción en dicho primer dispositivo informático (1) de dicho valor momentáneo extremo de un identificador deconjunto de dicho segundo dispositivo informático (2);- cambio en dicho primer dispositivo informático (1) de dicho valor momentáneo extremo de un identificador de conjuntoa un siguiente valor momentáneo extremo de un identificador de conjunto de dicha secuencia de valores deidentificadores de conjunto;- asignación de estados informáticos adicionales de dicho primer dispositivo informático (1) a un segundo conjunto deestados informáticos, dicho segundo conjunto siendo identificado por dicho siguiente valor momentáneo extremo delidentificador de conjunto y;- transmisión de dicho siguiente valor momentáneo extremo del identificador de conjunto, y dicho primer identificador deconjunto de dicho primer conjunto a dicho segundo dispositivo informático (2);- comunicación de dichos estados informáticos adicionales de dicho segundo conjunto en dicho segundo dispositivoinformático (2).
Description
Sistema y método de trazado y comunicación de estados informáticos
Campo de la invención
[0001] La invención se refiere al campo de los ordenadores. Más específicamente, la invención se refiere a un sistema y método de trazado y comunicación de estados informáticos de un primer dispositivo informático para registro de dichos estados informáticos por un segundo dispositivo informático, conectado al primer dispositivo informático, donde el primer dispositivo informático se configura para asumir una pluralidad de estados informáticos posteriores.
Antecedentes de la invención
[0002] En el campo de los ordenadores, se conocen programas que permiten instruir uno o más primeros dispositivos informáticos para ejecutar una o más tareas de un segundo dispositivo informático remoto. Un ejemplo de tal programa es RES Wisdom®, comercializado por el solicitante.
[0003] Una o más de tales tareas para ser ejecutadas por el primer dispositivo(s) informático se refieren frecuentemente como un trabajo. Después de ejecución de un trabajo por uno o más de los primeros dispositivos informáticos, el estado de un primer dispositivo informático se cambia y el trabajo se registra en el segundo dispositivo informático en una base de datos para permitir a un operador recuperar un historial de trabajo para uno o más de los primeros dispositivos informáticos. Este historial de trabajo proporciona información valiosa para un operador, por ejemplo, en el caso de problemas operativos del primer dispositivo(s) informático. Por lo tanto, es importante que la base de datos permita recuperación de un historial de trabajo que es una representación precisa del estado real del primer dispositivo informático.
[0004] Ejecutando varios trabajos, los estados del primer dispositivo informático cambian de un primer estado a un segundo estado a un tercer estado a un estado actual. Hoy en día se ha hecho posible tomar instantáneas de estados particulares del primer dispositivo informático para registrar este estado.
[0005] Un operador o usuario del primer dispositivo informático puede desear que el dispositivo vuelva del estado actual a un estado previo que fue registrado mediante la técnica instantánea. El operador o usuario puede conmutar atrás y delante entre estados del ordenador aplicando instantáneas. Tal conmutación puede, por ejemplo, aplicarse para uso de prueba.
[0006] La US 2004/025171 divulga una aplicación de software orientada a objetos para recibir actualizaciones que cambian el estado de un modelo objeto y reportar aquellas actualizaciones para solicitud de usuarios. La aplicación incluye una aplicación de base de datos para almacenar datos, un conductor de modelo de objeto para escritura de actualizaciones en la base de datos, un sistema de notificación para notificar sobre las actualizaciones y una pluralidad de monitores externos para la lectura de las actualizaciones. El modelo de objeto produce múltiples instantáneas temporales de sí mismo en co-difusión con eventos recibidos, cada instantánea con información de actualización asociada de un evento asociado y a partir de lo cual cuando la incidencia de cada instantánea coincide con un evento el sistema de notificación notifica al monitor apropiado externo o monitores, que a su vez acceden a la instantánea apropiada, ejecuta cálculos, por lo tanto, si es necesario y hace la información accesible a los usuarios.
[0007] La US 7,203,868 divulga control dinámico de recursos usando instantáneas de estados de sistema. Una solicitud de un usuario para controlar al menos un recurso especifico se envía a un módulo de solicitud de monitor. Usando el módulo de solicitud de monitor, al menos un monitor se crea para controlar el recurso específico.
[0008] La US 2002/174416 divulga un método para rastrear una variable u otra expresión a través de un programa informático. Un usuario determina la variable y las condiciones sobre las que la actividad de la variable se monitoreará. Como resultado, cada vez que la variable se referencia en una operación de memoria u otra actividad por el programa y las condiciones expuestas por el usuario se satisfacen, el estado de esta variable se guarda como una instantánea sin interrupción o parada de la ejecución del programa. Las fotografías se acumulan en una tabla de historial. La tabla de historial se puede recuperar y el estado de la variable en cualquier instantánea dada puede restaurarse. Otras variables y expresiones se pueden fijar a la variable de activación y los estados de estas otras variables cuando la actividad de la variable de activación puede también guardarse en la instantánea.
[0009] Un simple ejemplo puede ilustrar que conmutación de un estado actual a un estado previo (una transición de estado) al primer dispositivo informático complica registro preciso del historial de trabajo del primer dispositivo informático por un segundo dispositivo informático.
[0010] Asumiendo que un agente de software en el primer dispositivo informático ejecuta trabajos A, B y C. Estos trabajos se registran también en una base de datos del segundo dispositivo informático remoto. Una instantánea S1 en el primer dispositivo informático se toma después de ejecución de trabajo C. Posteriormente, trabajos D y E se realizan, de manera que el historial de trabajo del primer dispositivo informático es A,B,C,D,E. La historia de trabajo registrada en la base de datos también lee A,B,C,D,E y así corresponde al estado real del primer dispositivo informático. Ahora una instantánea S1 se aplica que activa una transición de estado del primer dispositivo informático de nuevo a estado A,B,C. El historial registrado, no obstante, todavía lee A,B,C,D,E. Si el agente de software en el primer ordenador ejecuta posteriormente un trabajo F, el historial registrado es A,B,C,D,E,F, mientras el estado real del primer dispositivo informático es A,B,C,F. Si instantánea S1 se aplica una vez más, el primer dispositivo informático tiene un estado A,B,C, mientras que el historial de trabajo en la base de datos sigue siendo A,B,C,D,E,F.
[0011] Consecuentemente, existe una necesidad en la técnica de proporcionar un método y sistema de trazado y comunicación de estados informáticos de un primer dispositivo informático a un segundo dispositivo informático, de manera que el estado del primer dispositivo informático se conoce con precisión conocido en el segundo dispositivo informático a pesar de una transición de estado a un estado previo para el primer dispositivo informático.
Resumen de la invención
[0012] El solicitante propone un método de trazado y comunicación de estados informáticos de un primer dispositivo informático para registro de dichos estados informáticos por un segundo dispositivo informático tal y como se define en la reivindicación 1.
[0013] El solicitante también propone un programa informático y un medio legible por ordenador comprendiendo tal programa informático para la ejecución del método de la invención.
[0014] Además, un sistema registrador de estado informático comprendiendo un primer dispositivo informático y un segundo dispositivo informático se define en la reivindicación 11.
[0015] Finalmente, el solicitante también propone un primer dispositivo informático y un segundo dispositivo informático para (uso en) tal sistema.
[0016] Debe apreciarse que un estado informático se puede comunicar con el segundo dispositivo informático por transmisión de uno o más identificadores al segundo dispositivo informático que son indicativos de una o más tareas ejecutadas por el primer dispositivo informático y dan como resultado o tienen como resultado tal estado informático. Un estado informático se caracteriza por el tipo y secuencia de tarea o tareas realizadas para llegar a tal estado informático. El estado informático actual puede o no puede ser dividido del primer conjunto de estados informáticos.
[0017] El solicitante ha encontrado un método y sistema donde trabajos se asignan a un conjunto diferente de trabajos cada vez que una transición de estado se ha detectado. Conjuntos nuevos se definen solo cuando una transición de estado se ha detectado y típicamente no cuando una instantánea se realiza (ocurriendo más frecuentemente), dando como resultado ahorro de espacio de almacenamiento. Con el objetivo de ser capaz de asignar un identificador de conjunto a un nuevo conjunto después de una transición de estado, el identificador de conjunto más extremo allí se obtiene de un sistema externo y se cambia a un siguiente identificador de conjunto más extremo para el nuevo conjunto. Aplicando conjuntos nuevos para estados informáticos sobre detección de transiciones de estado hacia atrás y de comunicación de estos estados informáticos en el segundo dispositivo informático, un historial de estado multidimensional se puede obtener en el segundo dispositivo informático. En vez de una secuencia lineal de estados, conjuntos de estados se obtienen donde uno o más conjuntos pueden tener una o más derivaciones a otros conjuntos de estado. Consecuentemente, un operador del segundo dispositivo informático puede recuperar el estado exacto del primer dispositivo informático a pesar de uno o más transiciones de estado atrás en el primer dispositivo informático.
[0018] Debe tenerse en cuenta que el método y sistema son también aplicables a transiciones de estado obtenidos de otra manera que aplicación de instantáneas, tal como formación de imágenes y filtros de escritura.
[0019] La forma de realización según la reivindicación 2 proporciona la ventaja de registro de ejecuciones de trabajo en el primer dispositivo informático por un número de secuencia de trabajo (JSN) y un único identificador de trabajo. Un número de secuencia de trabajo y un único identificador de trabajo se puede transmitir en el segundo dispositivo informático para comunicar un estado informático desde el primer dispositivo informático al segundo dispositivo informático.
[0020] La forma de realización según la reivindicación 3 proporciona la ventaja de registrar el último número de secuencia de trabajo (LJSN) de un conjunto en el segundo dispositivo informático.
[0021] La forma de realización de las reivindicaciones 4-6 proporcionan mecanismos adecuados para detectar una transición de estado de un estado actual a un estado previo. El JobGUID (un único identificador de trabajo) proporciona un identificador de comparación adecuado.
[0022] La forma de realización según la reivindicación 7 proporciona la ventaja de un identificador de conjunto localmente disponible (PCSN) de un conjunto previo que enlaza con un nuevo conjunto.
[0023] La forma de realización según la reivindicación 8 habilita una visión de conjunto de las trayectorias de cambio de un trabajo informático predeterminado.
[0024] De ahora en adelante, formas de realización de la invención se describirán con más detalle. Debe apreciarse, no obstante, que estas formas de realización no pueden interpretarse como limitación del alcance de protección de la actual invención.
Breve descripción de los dibujos
[0025] En los dibujos:
Las Figuras 1A y 1B proporcionan ilustraciones esquemáticas de sistemas según formas de realización de la invención.
La FIG. 2 proporciona una ilustración esquemática de un primer dispositivo informático según una forma de realización
de la invención.
La FIG. 3 es un diagrama de flujo de un método según una forma de realización de la invención.
La FIG. 4 es un diagrama de flujo de un método de detección de una transición de estado de un estado informático
actual a un estado informático previo según una forma de realización de la invención; y las figuras 5A-5I proporcionan
representaciones esquemáticas del método mostrado en la FIG. 3.
Descripción detallada de los dibujos
[0026] Figuras 1A y 1B proporcionan ilustraciones esquemáticas de un sistema comprendiendo primeros dispositivos informáticos 1 y un segundo dispositivo informático 2 con acceso a una base de datos 3. Se observa que el segundo dispositivo informático 2 puede ser también un sistema de dispositivos informáticos múltiples y que la base de datos 3 puede comprender una pluralidad de bases de datos. Segundo dispositivo informático 2 se puede controlar a partir de una consola 4 y se conecta a los primeros dispositivos informáticos 1 vía una red.
[0027] En FIG. 1A, los primeros dispositivos informáticos 1 son estaciones de trabajo y servidores conectados directamente al segundo dispositivo informático 2. En FIG. 1B, los primeros dispositivos informáticos 1 también comprenden un servidor y un terminal de trabajo. El servidor 1 y el terminal de trabajo 1 frecuentemente (p. ej. diario) reciben una imagen limpia de otro servidor 5, indicado por la flecha I. La imagen puede posteriormente adaptarse del segundo dispositivo informático 2, como indicado por flecha II.
[0028] Se observa que varios otros dispositivos (middleware) (no mostrados) pueden estar actuals entre el segundo dispositivo informático 2 y los primeros dispositivos informáticos 1.
[0029] Una ilustración muy esquemática de un primer dispositivo informático 1 se representa en la FIG. 2. El primer dispositivo informático 1 comprende un adaptador de red 10 para transmitir información y recibir información del segundo dispositivo informático 2. El primer dispositivo informático 1 comprende además un procesador 11 configurado para funcionamiento de un agente para la ejecución del método según una forma de realización de la invención como representada en las figuras 3 y 4. Por otra parte, el primer dispositivo informático 1 tiene unos medios de almacenamiento 12. Medios de almacenamiento 12 pueden comprender varios tipos de memoria, incluyendo un registro.
[0030] Primeros dispositivos informáticos 1 se pueden distinguir por el segundo dispositivo informático 2 basándose en, por ejemplo, un único AgentGUIDs. El AgentGUID de un primer dispositivo informático 1 se conoce en el segundo dispositivo informático 2 y se transmite desde los primeros dispositivos informáticos 1 cada vez que los datos se pueden transmitir al segundo dispositivo informático 2 identificando la fuente de los datos, es decir, el primer dispositivo informático 1 que ha transmitido los datos.
[0031] Los primeros dispositivos informáticos 1 se configuran para ejecutar trabajos que pueden, por ejemplo, ser recibidos del segundo dispositivo informático 2. Como resultado de la ejecución de los trabajos, los estados de los primeros dispositivos informáticos 1 cambian. Cada uno de los primeros dispositivos informáticos 1 es capaz de hacer una instantánea de su estado a una instantánea en un momento particular. Instantáneas pueden tomarse frecuentemente, por ejemplo, una vez cada segundo, en cierto modo conocido por el experto en la materia en la técnica. Tomando una instantánea, el estado del primer ordenador se registra allí y se almacena para más tarde recuperación en el primer dispositivo informático 1 o en un servidor. Si este tipo de instantánea se aplica, el estado en el momento de aplicación de la instantánea (el actual estado) se cambia a un estado del momento deseado en el tiempo en el que una instantánea se tomó (el estado previo). La aplicación de una fotografía así produce una transición de estado, mientras la toma de una instantánea solo registra un estado en un momento particular.
[0032] Las Figuras 3 y 4 proporcionan tablas de flujo que ilustran un método de trazado de estados informáticos a un primer dispositivo informático 1 y de comunicación de estos estados informáticos en el segundo dispositivo informático 2 de manera que, a pesar de transiciones atrás del estado del primer dispositivo informático 1, el estado real del primer dispositivo posible informático 1 se puede recuperar de la base de datos 3 del segundo dispositivo informático 2. La izquierda de las figuras representa el primer dispositivo informático 1 y el agente de software se ejecuta en este dispositivo, mientras que el lado derecho representa la base de datos 3 del segundo dispositivo informático 2.
[0033] El proceso comienza por la ejecución de uno o más trabajos de un conjunto particular, identificado por un identificador de conjunto CSN (el CSN actual), cada trabajo dando como resultado un estado informático del primer dispositivo informático 1 para ser comunicado al segundo dispositivo informático 2. Trabajos se caracterizan únicamente por globalmente único JobGUIDs. Sobre ejecución de un trabajo, un número de secuencia de trabajo JSN se obtiene del registro 12 del primer dispositivo informático. Números de secuencia de trabajo son números sucesivos que pueden utilizarse varias veces en el primer ordenador para trabajos de diferentes conjuntos. El JSN se incrementa a un JSN sucesivo y se almacena en el registro 12 del primer dispositivo informático 1 en combinación con el JobGUID asociado. Para comunicar un estado informático al segundo dispositivo informático 2, el JSN sucesivo y el JobGUID se transmiten también a la base de datos 3, donde el JSN sucesivo se almacena como una última JSN (LJSN) para el conjunto. El JSN sucesivo también se almacena como un primer JSN (FJSN) en la base de datos 3 si ese JSN fue el primer JSN recibido por el conjunto actual.
[0034] Los pasos anteriores se realizan como un bucle cada vez que un trabajo se ejecuta por el primer dispositivo informático 1 y, por consiguiente, un estado informático particular se asume por el primer dispositivo informático 1 que debería ser comunicado al segundo dispositivo informático 2. Si en un cierto momento del tiempo, donde el primer ordenador está en un estado actual, una transición a un estado previo se detecta, el bucle se deja a B. La detección de una transición de estado (p. ej. como resultado de la aplicación de una instantánea) se explicará debajo con más detalle con referencia a la FIG. 4.
[0035] Cuando una transición de estado se detecta en el primer dispositivo informático 1, el identificador de conjunto CSN de los trabajos ejecutados antes de la transición de estado se almacena en el registro 12 como un identificador de conjunto original (PCSN). Por otra parte, el CSN máximo para este primer dispositivo informático 1 se solicita de la base de datos 3 y posteriormente se obtiene para crear un nuevo conjunto para trabajos ejecutados después de la transición de estado. Por supuesto, el CSN solicitado puede también, por ejemplo, ser un CSN mínimo u otro identificador de conjunto momentáneo extremo. El identificador del nuevo conjunto se obtiene incrementando el CSN máximo recibido a un siguiente CSN momentáneo extremo y sirve como un identificador de conjunto para el nuevo conjunto de trabajos ejecutados después de la transición de estado. Trabajos realizados después de la transición de estado se asignan ahora al conjunto recién creado usando el nuevo identificador de conjunto y transmisión de trabajos bajo este identificador de conjunto a la base de datos 3. El PCSN es también comunicado a la base de datos 3 para indicar el conjunto original del conjunto recién creado. En la base de datos 3, una nueva tabla se crea para el nuevo conjunto sobre instrucción del agente en el primer dispositivo informático 1 para este AgentGUID. El siguiente identificador de conjunto máximo momentáneo se almacena también almacenado en el registro 12.
[0036] Una forma de realización para detectar una transición de estado del primer dispositivo informático 1 de un estado actual a un estado previo se describe ahora con referencia a la FIG. 4. La FIG. 4 ilustra dos métodos para detección de tal transición atrás de estado usada en combinación.
[0037] Cuando un trabajo se ha ejecutado en el primer dispositivo informático 1, el JobGUID de tal trabajo se almacena en el registro 1. Un (re)arranque del (sistema operativo del) primer dispositivo informático 1 puede desencadenar recuperación del último JobGUID almacenado en el registro 12 del primer dispositivo informático 1 y una solicitud a la base de datos 3 para el último JobGUID almacenado en la base de datos. Al recibo del último JobGUID de la base de datos 3, este JobGUID se puede comparar con el JobGUID obtenido del registro 12.
[0038] Si los JobGUID son diferentes, una transición de estado ha sucedido dando como resultado la formación de un nuevo conjunto de trabajos bajo un nuevo identificador de conjunto como se explica arriba con referencia a la FIG. 3.
[0039] Si los JobGUIDs son idénticos, el primer dispositivo informático 1 se monitorea para transiciones de estado durante operación del primer dispositivo informático 1 haciendo uso del tiempo de sistema del primer dispositivo informático 1. El tiempo de sistema se lee y se escribe en el registro 12. Posteriormente, después de un intervalo de tiempo particular, el tiempo de sistema se lee de nuevo y se compara con el tiempo de sistema almacenado. Si la suma del tiempo de sistema almacenado y el intervalo de tiempo se desvía del tiempo de sistema leído recientemente, una transición de estado puede haber ocurrido y los JobGUID en el registro 12 y la base de datos 3 se comparan en un modo descrito previamente.
[0040] Las Figuras 5A-5I proporcionan representaciones esquemáticas del método mostrado en la FIG. 3 durante estadios sucesivos de ejecuciones de trabajo y transiciones de estado. El procesador 11 del primer dispositivo informático ejecuta la aplicación (un agente) que realiza los pasos en el lado izquierdo de la figura 3. El presente ejemplo es de un único primer dispositivo informático 1, de manera que una referencia al AgentGUID se omite. En figuras 5A-5I, la barra superior es una representación pictórica del contenido del registro 12 (la serie de trabajos secuenciales dando como resultado un estado informático actual). La barra inferior indica una representación pictórica de la tabla de trabajo de la base de datos 3. El rectángulo derecho indica una representación pictórica de una tabla de conjunto de cambios en la base de datos 3 que permite recuperación del estado informático actual del primer dispositivo informático 1.
[0041] Se asume que el primer dispositivo informático 1 ha realizado trabajos cero y ninguna transición de estado. En este estado, las siguiente variables se aplican: CSN=1 (identificador de conjunto del primer conjunto); PCSN=0 (no hay aún un conjunto original del primer conjunto) y JSN=0 (ningún trabajo ha sido aún ejecutado en el primer dispositivo informático 1). La siguiente notación se usará (CSN.PCSN.JSN). La situación inicial se representa así por 1.0.0.
[0042] Trabajos se ejecutarán ahora en el primer dispositivo informático 1 y se añadirán al primer conjunto con CSN=1. Cada trabajo produce un estado informático sucesivo del primer dispositivo informático 1. El número de secuencia JSN del primer trabajo se almacena también en la base de datos 3 como el primer número de secuencia de trabajo FJSN. El número de secuencia del último trabajo para CSN se almacena también en la base de datos 3 como LJSN. Después de la ejecución de cinco trabajos
1.0.1 1.0.2 1.0.3 1.0.4 1.0.5.
representa el estado informático actual del primer dispositivo informático 1 que también se refleja en la tabla de trabajo y la tabla de cambio de conjunto de la base de datos 3, como se ilustra en la FIG. 5A.
[0043] Se asume ahora que una transición de estado se hace a partir de un estado actual a un estado previo en el que una instantánea se realizó. El estado actual fue el estado después de ejecución del trabajo 5 del conjunto CSN=1. El estado previo al que la transición se hace se asume para ser el estado entre JSN=3 y JSN4, como se indica por la barra de transición de estado 50 en la FIG. 5B. En este caso, el estado actual y el estado previo son ambos parte del primer conjunto con CSN=1. La transición de estado se detecta de una manera como se describe con referencia a la FIG. 4. El CSN máximo se solicita y se recibe de la base de datos 3, es decir, CSN=1. Posteriormente, el CSN máximo se aumenta a CSN=2 como un identificador para el conjunto para el nuevo conjunto de trabajos que van a ejecutarse después de la transición de estado. El CSN original (PCSN) se recupera del registro 12, es decir, PCSN=1. El primer trabajo del nuevo conjunto luego es 2.1.4. Después de ejecución de tres trabajos adicionales, el estado informático actual es como sigue:
1.0.1 1.0.2 1.0.3
2.1.4 2.1.5 2.1.6
De la FIG. 5C, se puede observar que, mientras la tabla de trabajo de la base de datos 3 todavía refleja la historia de trabajo convencional sin tener en cuenta la transición de estado, la tabla de cambio de conjunto muestra una derivación desde el primer conjunto al segundo conjunto en el trabajo con el ultimo número de secuencia de trabajo que dio lugar al estado previo en el que la transición de estado se realizó.
[0044] Posteriormente, una transición de estado, indicada por la barra de transición de estado 50 en la FIG. 5D, se realiza a partir del estado después de 2.1.6 (estado actual) a un estado entre JSN=4 y JSN=5 (estado previo) del conjunto (de manera que el estado actual y el estado previo nuevamente son estados del mismo conjunto con CSN=2). Otra vez la transición de estado se detecta en el primer dispositivo informático 1, el CSN máximo (CSN=2) se recibe de la base de datos 3, el PCSN se recupera de registro 12 y un nuevo conjunto se crea con identificador de conjunto CSN=3 en l tabla de cambio de estado de la base de datos 3, como se indica en la FIG. 5E. El original del nuevo conjunto fue indicado por CSN=2, así PCSN=2 y una derivación con trabajos del nuevo conjunto se realiza a partir del conjunto del último trabajo que fue responsable de llegar en el estado previo (2.1.4) al nuevo conjunto. Otros trabajos se ejecutan bajo el nuevo identificador de conjunto CSN=3 para llegar a
1.0.1 1.0.2 1.0.3
2.1.4
3.2.5 3.2.6 3.2.7 3.2.8
como el estado informático actual del primer dispositivo informático 1.
[0045] Otra transición de estado se detecta, indicada por la barra de transición de estado 50 en la FIG. 5F, como el estado actual de arriba a un estado previo del primer conjunto con CSN=1, es decir, entre los trabajos JSN=2 y JSN=3. El estado actual y el estado previo no son estados de diferentes conjuntos.
[0046] La transición de estado se detecta y dos trabajos se ejecutan bajo un nuevo identificador de conjunto CSN=4, obtenido mediante el aumento del identificador de conjunto momentáneo máximo CSN=3, indicado en la Fig. 5G. El estado informático actual del primer dispositivo informático 1 entonces lee:
1.0.1 1.0.2
4.1.3 4.1.4
De hecho, la tabla de cambio de estado indica que el nuevo conjunto de derivaciones de trabajos desde el primer conjunto de trabajos al último trabajo que fue responsable del estado informático previo del primer dispositivo informático 1.
[0047] Como se muestra en la FIG. 5H, una transición de estado adicional (indicada por la barra de transición de estado 50) puede hacerse del anterior estado informático actual a un estado informático previo después del trabajo con JSN=6 del conjunto con identificador de conjunto CSN=2. La transición de estado se detecta y un nuevo identificador de conjunto CSN=5 se asigna a tres trabajos nuevos después de la transición de estado, como se indica en la FIG. 5I.
5 Desde PCSN=2, el estado actual del primer dispositivo informático es:
1.0.1 1.0.2 1.0.3
2.1.4 2.1.5 2.1.6
5.2.7 5.2.8 5.2.9
10 [0048] La tabla de cambio de conjunto de la base de datos 3 de hecho ahora muestra una derivación del segundo conjunto que contenía el estado previo para el nuevo conjunto con CSN=5 en el último trabajo responsable de este estado previo.
15 [0049] La base de datos 3 ahora comprende las siguientes tablas:
tblJobs (CSN.JSN)
20 [0050] Esta tabla refleja el historial "normal".
[0051] La otra tabla es tblChangeSets:
- CSN
- PCSN FJSN LJSN
- 1
- 0 1 5
- 2
- 1 4 6
- 3
- 2 5 8
- 4
- 1 3
- 4
- 5
- 2 7 9
[0052] Los datos recogidos en la base de datos 3 del segundo dispositivo informático se pueden usar de la consola 4 para obtener varios tipos de información para el primer dispositivo informático 1. Los siguientes ejemplos, no limitativos, 30 pueden preverse.
[0053] Por supuesto, el estado informático presente del primer dispositivo informático 1 puede obtenerse, a pesar de varias transiciones de estado en el primer dispositivo informático 1. Como ejemplo, si el trabajo noveno (JSN=9) del quinto conjunto (CSN=5) se toma como el punto de partida, el siguiente pseudo código se puede utilizar para obtener el
35 presente estado:
lngCSN=5
lngJSN=9
IngJSN: =IngJSN+1
40 DO SELECT * FROM tblJobs WHERE CSN = lngCSN AND JSN < lngJSN ORDER BY JSN DESC FOR EACH RETURNED ROW: ListView.Add [JobInfo]: NEXT
45 SELECT * FROM tblChangeSets WHERE CSN = lngCSN lngCSN = PCSN: lngJSN = FJSN LOOP UNTIL lngCSN.
El resultado de ejecutar este algoritmo en la base de datos 3 es: 5.9 -5.8 -5.7 -2.6 -2.5 -2.4 -1.3 -1.2 -1.1
50 [0054] Además, la cantidad de transiciones de estado (p. ej. instantáneas aplicadas) puede determinarse, usando el siguiente algoritmo.
SELECT * FROM tlbChangeSets WHERE CSN > 1 55 FOR EACH RETURNED ROW: ListView.Add [ChangeSetInfo]: NEXT
[0055] Como ejemplo final, un trabajo particular se puede seleccionar y todas las secuencias de trabajo que siguen a
este trabajo pueden determinarse, usando el siguiente algoritmo.
Para este algoritmo, se requiere que los números de secuencia de trabajo de conjuntos conectados sean
secuencialessal trabajo que conecta los conjuntos.
Suppose that CSN = 2 y JSN = 4, such that
lngCSN =2: lngJSN = 4
PossibleEndPoints = GetEndPoints(lngCSN, lngJSN)
FOR EACH PossibleEndPoint
ListView.Add Viewl(PossibleEndPoint.CSN, PossibleEndPoint.JSN, lngCSN,lngJSN)*
NEXT
FUNCTION GetEndPoints(lngCSN, lngJSN) AS EndPoints
EndPoints.Clear ysnEndPoint = True
'Find endpoint for this Change Set
SELECT * FROM tblChangeSets
WHERE CSN = lngCSN
EndPoints.Add CSN + "." + LJSN 'Look for childs
SELECT * FROM tblChangeSets
WHERE PCSN = lngCSN AND FJSN > lngJSN
FOR EACH RETURNED ROW
EndPoints.Add fstrGetEndPoints(CSN, lngJSN)
NEXT
RETURN EndPoints
END FUNCTION
[0056] El resultado de ejecución del algoritmo es:
- 2.5
- -2.6
- 3.5
- -3.6 -3.7 -3.8
2.5 -2.6 -5.7 -5.8 -5.9
Así, todas las secuencias de trabajo después de 2.4 resultaron de ejecutar el algoritmo.
[0057] Debe apreciarse que los datos en la base de datos 3 se pueden utilizar para obtener otra información.
Claims (12)
- REIVINDICACIONES1. Método implementado por ordenador de comunicación de estados informáticos de un primer dispositivo informático(1) para registro de dichos estados informáticos por un segundo dispositivo informático (2), conectado a dicho primer dispositivo informático, dicho primer dispositivo informático siendo configurado para asumir una pluralidad de estados informáticos sucesivos, dicho método que incluye las etapas de: -comunicación de uno o más estados informáticos de dicho primer dispositivo informático a dicho segundo dispositivo informático (2) como un primer conjunto de estados informáticos, dicho primer conjunto siendo identificado por un primer identificador de conjunto y con un estado informático previo, el estado informático previo siendo obtenido después de ejecutar una o más tareas en dicho primer dispositivo informático; -detección por dicho primer dispositivo informático (1) de una transición de estado de un estado informático actual, obtenido después de ejecución de una o más tareas adicionales, a dicho estado informático previo de dicho primer dispositivo informático; -solicitud por dicho primer dispositivo informático (1) de un valor momentáneo extremo de un identificador de conjunto de una secuencia de valores de identificadores de conjunto (CSN) en respuesta a la detección de dicha transición de estado; -recepción en dicho primer dispositivo informático (1) de dicho valor momentáneo extremo de un identificador de conjunto de dicho segundo dispositivo informático (2); -cambio en dicho primer dispositivo informático (1) de dicho valor momentáneo extremo de un identificador de conjunto a un siguiente valor momentáneo extremo de un identificador de conjunto de dicha secuencia de valores de identificadores de conjunto; -asignación de estados informáticos adicionales de dicho primer dispositivo informático (1) a un segundo conjunto de estados informáticos, dicho segundo conjunto siendo identificado por dicho siguiente valor momentáneo extremo del identificador de conjunto y; -transmisión de dicho siguiente valor momentáneo extremo del identificador de conjunto, y dicho primer identificador de conjunto de dicho primer conjunto a dicho segundo dispositivo informático (2); -comunicación de dichos estados informáticos adicionales de dicho segundo conjunto en dicho segundo dispositivo informático (2).
-
- 2.
- Método según la reivindicación 1, donde dichos estados informáticos de dicho primer conjunto se obtienen por ejecución de tareas en dicho primer dispositivo informático, cada una de dichas tareas siendo identificadas por un único identificador de trabajo, el método comprendiendo además los pasos de: -recuperación de un número de secuencia de trabajo de dicho primer dispositivo informático; -incremento de dicho número de secuencia de trabajo a un número de secuencia de trabajo sucesivo para un trabajo ejecutado en dicho primer dispositivo informático; -almacenamiento de dicho número de secuencia de trabajo sucesivo y un identificador de trabajo único asociado a dicho primer dispositivo informático.
-
- 3.
- Método según la reivindicación 2, comprendiendo además los pasos de: -recepción de dicho número de secuencia de trabajo sucesivo a dicho segundo dispositivo; -almacenamiento de dicho número de secuencia de trabajo sucesivo a dicho segundo dispositivo informático como número de secuencia de trabajo momentáneo extremo para dicho primer conjunto.
-
- 4.
- Método según una o más de las reivindicaciones precedentes, donde dicho paso de detección de dicha transición de estado comprende los pasos de: -arranque de dicho primer dispositivo informático; -recuperación de un identificador de dicho estado informático previo de dicho primer dispositivo informático; -recepción de un identificador de dicho estado informático actual de dicho segundo dispositivo informático; -comparación de dichos identificadores de dicho estado informático previo y dicho estado informático actual; -señalización de una transición de estado si dichos identificadores de dicho estado informático previo y dicho estado informático actual son diferentes.
-
- 5.
- Método según una o más de las reivindicaciones precedentes, donde dicho paso de detección de dicha transición de estado comprende los pasos de: -lectura y almacenamiento del tiempo de sistema de dicho primer dispositivo informático en un primer tiempo; -lectura del tiempo de sistema de dicho primer dispositivo informático en un segundo tiempo; -recuperación de dicho tiempo de sistema almacenado desde dicho primer dispositivo informático; -si el tiempo entre dicho tiempo de sistema recuperado y dicho tiempo de sistema leído se desvía de un intervalo de tiempo definido por dicho primer tiempo y dicho segundo tiempo; -recuperación de un identificador de dicho estado informático previo desde dicho primer dispositivo informático; -recepción un identificador de dicho estado actual informático desde dicho segundo dispositivo informático -comparación de dichos identificadores de dicho estado informático previo y dicho estado informático actual; -señalización de una transición de estado si dichos identificadores de dicho estado informático previo y dicho estado informático actual son diferentes.
-
- 6.
- Método según la reivindicación 4 o 5, donde dichos identificadores de dicho estado informático previo y dicho estado informático actual se definen por un primer único identificador de trabajo {primer JobGUID) de un primer trabajo llevando dicho primer dispositivo informático en dicho estado informático previo y un segundo único identificador de trabajo {segundo JobGUID) de un segundo trabajo llevando dicho primer dispositivo informático en dicho estado informático actual.
-
- 7.
- Método según una o más de las reivindicaciones precedentes, comprendiendo además el paso de almacenamiento de dicho siguiente valor momentáneo extremo del identificador de conjunto en dicho primer dispositivo informático (1).
-
- 8.
- Método según una o más de las reivindicaciones precedentes, donde dichos estados informáticos se identifican por números de secuencia de trabajo de un intervalo de números de secuencia de trabajo, el método comprendiendo el paso de asignación de un primer número de secuencia de trabajo a dicho estado informático previo de dicho primer conjunto y un segundo número de secuencia de trabajo a un estado informático adicional de dicho segundo conjunto, dicho primer número de secuencia de trabajo y segundo número de secuencia de trabajo siendo números sucesivos de dicho intervalo de números de secuencia de trabajo.
-
- 9.
- Programa informático comprendiendo partes de código de software configuradas para, cuando se leen y ejecutan por un procesador de un dispositivo informático, realizar el método según una o más de las reivindicaciones precedentes.
-
- 10.
- Medio legible por ordenador comprendiendo el programa informático según la reivindicación 9.
-
- 11.
- Sistema de registro de estado informático comprendiendo un primer dispositivo informático y un segundo dispositivo informático, donde dicho primer dispositivo informático se configura para asumir una pluralidad de estados informáticos sucesivos y es conectable a dicho segundo dispositivo informático, donde dicho primer dispositivo informático comprende: -un módulo de comunicación configurado para efectuar la comunicación a dicho segundo dispositivo informático, de uno
o más estados informáticos de dicho primer dispositivo informático como un primer conjunto de estados informáticos, dicho primer conjunto conteniendo un estado informático previo y siendo identificado por un primer identificador de conjunto, el estado informático previo se puede obtener después de la ejecución de una o más tareas en dicho primer dispositivo informático; -un detector configurado para efectuar la detección de una transición de estado desde un estado informático actual, obtenible después de la ejecución de una o más tareas adicionales, a dicho estado informático previo de dicho primer dispositivo informático; -un módulo de solicitud configurado para la solicitud de un valor momentáneo extremo de un identificador de conjunto de una secuencia de valores de identificadores de conjunto en respuesta a la detección de dicha transición de estado; -un receptor configurado para recibir dicho valor momentáneo extremo de un identificador de conjunto de dicho segundo dispositivo informático; -un módulo de tratamiento programado para cambiar dicho valor momentáneo extremo de un identificador de conjunto a un siguiente valor momentáneo extremo de un identificador de conjunto de dicha secuencia de identificadores de conjunto; -un módulo de tratamiento programado para asignar otros estados informáticos de dicho primer dispositivo informático a un segundo conjunto de estados informáticos, dicho segundo conjunto siendo identificado por dicho siguiente valor momentáneo extremo de un identificador de conjunto y; -un transmisor configurado para transmitir dicho siguiente valor momentáneo extremo de un identificador de conjunto, y dicho primer identificador de conjunto de dicho primer conjunto a dicho segundo dispositivo informático; -un módulo de comunicación configurado para comunicación de dichos estados informáticos adicionales de dicho segundo conjunto en dicho segundo dispositivo informático. - 12. Sistema según la reivindicación 11, donde dicho sistema comprende además un módulo de tratamiento (11) configurado para ejecutar el método según una o más de las reivindicaciones 1-8.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/EP2008/055916 WO2009138121A1 (en) | 2008-05-14 | 2008-05-14 | System and method of tracking and communicating computing states |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2393159T3 true ES2393159T3 (es) | 2012-12-19 |
Family
ID=40336486
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES08759596T Active ES2393159T3 (es) | 2008-05-14 | 2008-05-14 | Sistema y método de trazado y comunicación de estados informáticos |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US8683018B2 (es) |
| EP (1) | EP2149088B1 (es) |
| CA (1) | CA2721567C (es) |
| DK (1) | DK2149088T3 (es) |
| ES (1) | ES2393159T3 (es) |
| PL (1) | PL2149088T3 (es) |
| WO (1) | WO2009138121A1 (es) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9210213B2 (en) | 2011-03-03 | 2015-12-08 | Citrix Systems, Inc. | Reverse seamless integration between local and remote computing environments |
| US8866701B2 (en) | 2011-03-03 | 2014-10-21 | Citrix Systems, Inc. | Transparent user interface integration between local and remote computing environments |
| CN104704448B (zh) | 2012-08-31 | 2017-12-15 | 思杰系统有限公司 | 本地和远程计算环境之间的反向无缝集成 |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6795966B1 (en) * | 1998-05-15 | 2004-09-21 | Vmware, Inc. | Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction |
| US6418464B1 (en) * | 1998-09-25 | 2002-07-09 | Apple Compunter, Inc. | Method and apparatus for coordination of client/server processes |
| US7203868B1 (en) | 1999-11-24 | 2007-04-10 | Unisys Corporation | Dynamic monitoring of resources using snapshots of system states |
| US7200838B2 (en) * | 2000-12-20 | 2007-04-03 | National Instruments Corporation | System and method for automatically generating a graphical program in response to a state diagram |
| CA2347647A1 (en) | 2001-05-15 | 2002-11-15 | Ibm Canada Limited-Ibm Canada Limitee | Storing and restoring snapshots of a computer process |
| US7434229B2 (en) | 2002-07-31 | 2008-10-07 | Genesys Telecommunications Laboratories, Inc. | Method for improving temporal consistency and snapshot recency in a monitored real-time software-reporting-application architecture |
| SE525748C2 (sv) * | 2002-10-28 | 2005-04-19 | Devlabs Ab | Förfarande för direkta utskrifter i nätverk |
| WO2005020001A2 (en) * | 2003-08-11 | 2005-03-03 | Chorus Systems, Inc. | Systems and methods for automated computer support |
| US7835361B1 (en) * | 2004-10-13 | 2010-11-16 | Sonicwall, Inc. | Method and apparatus for identifying data patterns in a file |
| EP1797528A1 (en) | 2005-08-16 | 2007-06-20 | Swiss Reinsurance Company | Computer-based data processing system and method of processing data objects |
| JP4688617B2 (ja) * | 2005-09-16 | 2011-05-25 | 株式会社日立製作所 | 記憶制御システム及び方法 |
| AU2006331932B2 (en) * | 2005-12-19 | 2012-09-06 | Commvault Systems, Inc. | Systems and methods for performing data replication |
| US8607009B2 (en) * | 2006-07-13 | 2013-12-10 | Microsoft Corporation | Concurrent virtual machine snapshots and restore |
-
2008
- 2008-05-14 ES ES08759596T patent/ES2393159T3/es active Active
- 2008-05-14 US US12/991,446 patent/US8683018B2/en active Active
- 2008-05-14 CA CA2721567A patent/CA2721567C/en active Active
- 2008-05-14 WO PCT/EP2008/055916 patent/WO2009138121A1/en not_active Ceased
- 2008-05-14 DK DK08759596.3T patent/DK2149088T3/da active
- 2008-05-14 PL PL08759596T patent/PL2149088T3/pl unknown
- 2008-05-14 EP EP08759596A patent/EP2149088B1/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| US20110067027A1 (en) | 2011-03-17 |
| WO2009138121A1 (en) | 2009-11-19 |
| DK2149088T3 (da) | 2012-12-03 |
| PL2149088T3 (pl) | 2013-02-28 |
| EP2149088B1 (en) | 2012-08-29 |
| CA2721567A1 (en) | 2009-11-19 |
| EP2149088A1 (en) | 2010-02-03 |
| US8683018B2 (en) | 2014-03-25 |
| CA2721567C (en) | 2017-01-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8583866B2 (en) | Full-stripe-write protocol for maintaining parity coherency in a write-back distributed redundancy data storage system | |
| US8151147B2 (en) | Synchronize error handling for a plurality of partitions | |
| US11184435B2 (en) | Message transmission method and apparatus in cluster file system | |
| ES2393159T3 (es) | Sistema y método de trazado y comunicación de estados informáticos | |
| AU740851B2 (en) | System application management method and system, and storage medium which stores program for executing system application management | |
| CN107566460A (zh) | 分布式部署计划任务的方法和系统 | |
| JP7204798B2 (ja) | 不揮発性メモリにデータを格納する装置および方法 | |
| CN111679997B (zh) | 一种多个pci/pci-e接口系统的设备管理方法 | |
| US20110096022A1 (en) | System and method for touch panel hotkey function | |
| CN109324765A (zh) | 一种磁盘状态检测方法、装置、设备及存储介质 | |
| CN102841840B (zh) | 基于消息重排序和消息数目检验的消息日志恢复方法 | |
| CN118964775A (zh) | 基于Vue的数据管理方法、装置、电子设备及存储介质 | |
| CN103678677A (zh) | 智能终端的操作方法及系统 | |
| US20070220524A1 (en) | Apparatus and method to manage system by processes using process data record | |
| US20120137242A1 (en) | Computer system and control method thereof | |
| CN106844634B (zh) | 一种数据库事务优化方法及系统 | |
| CN111104412A (zh) | 基于单线程的并发控制方法、装置和系统 | |
| JP6555908B2 (ja) | 情報処理装置及びその制御方法、プログラム | |
| EP3792781A1 (en) | Transactional integrity in a segmented database architecture | |
| CN110955546B (zh) | 一种内存地址监控方法、装置及电子设备 | |
| KR100306163B1 (ko) | 메타모델링을 이용한 다기종 교환시스템의 상태관리방법 | |
| WO2015167474A1 (en) | Relating user action flows by storing relationships between threads and objects | |
| CN119025450A (zh) | 操作的执行方法及装置、存储介质、电子设备 | |
| JP2002082896A (ja) | 並列型コントローラシステム | |
| CN104484636A (zh) | 一种数据读取方法及装置 |