MX2007002204A - Aparato, sistema y metodo para reinicio de serializacion de sistema de archivos. - Google Patents

Aparato, sistema y metodo para reinicio de serializacion de sistema de archivos.

Info

Publication number
MX2007002204A
MX2007002204A MX2007002204A MX2007002204A MX2007002204A MX 2007002204 A MX2007002204 A MX 2007002204A MX 2007002204 A MX2007002204 A MX 2007002204A MX 2007002204 A MX2007002204 A MX 2007002204A MX 2007002204 A MX2007002204 A MX 2007002204A
Authority
MX
Mexico
Prior art keywords
serialization
data
address space
file server
module
Prior art date
Application number
MX2007002204A
Other languages
English (en)
Inventor
Gerard Maclean Dearing
William Stuart Edwards
Elmer Enrique Latorre
Thomas Alexander Mahon
Lyle Leroy Merithew Jr
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Publication of MX2007002204A publication Critical patent/MX2007002204A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Abstract

Se describe un aparato, sistema y metodo para reiniciar datos de serializacion en un servidor de archivos. El aparato incluye un modulo de reconocimiento de falla, un modulo de descartar y un modulo de serializacion. El modulo de reconocimiento de falla reconoce una falla de serializacion de sistema de archivos en un servidor de archivos. Al reconocer la falla de serializacion, el modulo de descartar, descarta datos de serializacion existentes ubicados en un primer espacio de direccion de memoria tal como un espacio de direccion de servidor de archivos. En ciertas modalidades, todo el espacio de direccion de servidor de archivos puede ser destruido por el sistema operativo. El modulo de serializacion genera entonces nuevos datos de serializacion a partir de datos existentes de conexion/posicion. Los datos de conexion/posicion se ubican en un segundo espacio de direccion tal como un espacio de direccion de cliente que se mantiene durante el proceso de reinicio de serializacion. Contener y reconstruir los datos de serializacion de esta manera evita beneficamente interrupciones del sistema, reduce tiempo no operativo y disminuye la probabilidad de bloqueos de serializacion subsecuentes.

Description

APARATO, SISTEMA Y MÉTODO PARA REINICIO DE SERIALIZACION DE SISTEMA DE ARCHIVOS Campo Técnico Esta invención se refiere a servidores de archivos y más particularmente se refiere a datos de reinicio de serialización en un servidor de archivos, en respuesta a una falla de serialización. Técnica Previa La serialización de una pluralidad de solicitudes de acceso de datos puede ser extremadamente complicada para dispositivos de almacenamiento de datos que se comparten entre servidores de sistemas de archivos de procesadores múltiples. La serialización de las solicitudes de acceso de datos, involucra definir que aplicaciones se conecta a que dispositivos de almacenamiento o sus porciones, y que tipo de acceso se proporciona para cada aplicación. Por ejemplo, a algunas aplicaciones se les dan derecho de acceso exclusivo para ciertas operaciones de escritura, mientras que otras pueden no recibir acceso exclusivo. También, algunas aplicaciones pueden recibir derechos de acceso compartido para ciertas operaciones de lectura en los dispositivos de almacenamiento de datos compartido. Al definir que aplicaciones se les otorga que tipo de acceso en que momentos, o en que tiempos, los servidores de sistemas de archivos son capaces de evitar muchos errores de operación de datos que de otra forma ocurrirían. Sin embargo, las técnicas de serialización no son perfectas y puede fallar una implementación de serialización. Una falla de serialización puede ocurrir cuando acceso de lectura o escritura a un archivo de datos solicitado o directorio no queda disponible a una solicitud que lo pide. Por ejemplo, puede ocurrir una falla de serialización cuando dos aplicaciones solicitan derechos de accesos de datos a datos que se asignan exclusivamente a la otra aplicación. La Figura la muestra un ejemplo de un ambiente de aplicación 10 en donde puede ocurrir un conflicto de serialización. En particular, el ambiente de aplicación ilustrado 10 incluye una primera aplicación 12 y una segunda aplicación 14. La primera aplicación 12 tiene derechos exclusivos (como se muestra por la flecha sólida 16) a un primer archivo de datos 18. Igualmente, la segunda aplicación 14 tiene derechos exclusivos (como se muestra por la flecha sólida 20) a un segundo archivo de datos 22. La Figura la también muestra la primera aplicación 12 que solicita derechos de acceso (como se muestra por la flecha punteada 24) al segundo archivo de datos 22. Igualmente, la segunda aplicación 14 puede solicitar derechos de acceso (como se muestra por la flecha punteada 26) al primer archivo de datos 22. En este caso, una falla de "bloqueo" de serialización, ocurre cuando ni la primera aplicación ni la segunda aplicación .14 pueden avanzar hasta que se otorguen los derechos de acceso solicitados, pero los derechos de acceso solicitados no pueden otorgarse debido a que los archivos de datos solicitados 18, 22 ya están en uso por las aplicaciones no-solicitantes 12, 14. Cuando este tipo de falla de serialización ocurre, el servidor de sistema de archivos (no mostrado) puede no responder y de esta manera no estar disponible debido a que las aplicaciones 12, 14 continúan reteniendo sus derechos de acceso existentes, mientras que solicitan los derechos de acceso adicionales. Aunque una falla de serialización interna por sí misma, no compromete ni la integridad de datos almacenados en los archivos de datos 18, 22, ni los estados de tiempo de operación de las aplicaciones al-vuelo 12, 14, esta falla de serialización puede tener efectos drásticos en el servidor del sistema de archivos. Por ejemplo, una falla de serialización seria puede ocurrir cuando el sistema central a un sistema operativo, tal como cuando la habilidad para cargar programas de un sistema de archivos es necesaria para funciones de sistema operativo básicas. Además, fallas de serialización pueden resultar en interrupciones o paradas del sistema operativo, lo que puede provocar la falla de todo procesamiento de aplicación al-vuelo, incluyendo procesamiento que no está directamente relacionado con el sistema de archivos correspondiente. Adicionalmente, fallas de serialización pueden llevar a costos excesivos debido a tiempo no operativo del servidor de sistema de archivos que impacta las aplicaciones críticas del negocio. Con respecto a las fallas de serialización de sistema de archivos, el foco convencional es para corregir las causas subyacentes de todos los problemas de serialización. Sin embargo, esta solución prácticamente no es factible dada la complejidad de los contemporáneos ambientes de múltiples tareas, multi-procesamiento y agrupación de procesadores, en donde el número de problemas de serialización posibles y las causas es abrumador. De la discusión anterior, deberá ser aparente que existe necesidad de un aparato, sistema y método para manejar automáticamente fallas de serialización de sistema de manejo de archivos en una forma para superar las desventajas de la tecnología convencional. Benéficamente, dicho aparato, sistema y método permitirán aplicaciones al-vuelo que permanezcan conectadas lógicamente al sistema de archivos mientras que la información de serialización del sistema de archivos se reinicia. Adicionalmente, este aparato, sistema y método serán ventajosos frente a sistemas y métodos convencionales, al evitar paradas del sistema y costos relacionados . DESCRIPCIÓN DE LA INVENCIÓN La presente invención proporciona en un primer aspecto, un aparato para reinicio de un servidor de archivos, el aparato comprende: un módulo de reconocimiento de falla configurado para reconocer una fallas de serialización de sistema de archivos en un servidor de archivos; un módulo de descartado o eliminación configurado para descartar datos de serialización existentes ubicados en un espacio de dirección del sistema de archivos en respuesta a la falla de serialización; y un módulo de serialización configurado para generar datos de serialización de copia de trabajo de los datos de posición/conexión existentes ubicados en un espacio de dirección de cliente. De preferencia, el espacio de dirección de servidor de archivos es un espacio de dirección de servidor de archivos .
De preferencia, el espacio de dirección de cliente es un espacio de dirección de cliente. De preferencia, los datos de conexión/posición existentes se conservan a través de la generación de nuevos datos de serialización por el módulo de serialización. El aparato de preferencia además comprende un módulo inactivo, configurado para inactivar un proceso de acceso de datos actual en anticipación de reinicialización. De preferencia, el módulo de descartar además se configura para invocar la función de un sistema operativo para destruir el espacio de dirección del servidor de archivos. De preferencia, el módulo de serialización además se configura para invocar la función de un sistema operativo para crear un nuevo espacio de dirección de servidor de archivos. De preferencia, el módulo de serialización además se configura para almacenar los nuevos datos de serialización en el nuevo espacio de dirección de servidor de archivos. De preferencia, el módulo de serialización además se configura para buscar una pluralidad de espacios de dirección y encontrar la información de posición/conexión existente en el espacio de dirección de cliente . De preferencia, los datos de conexión/posición definen una conexión abierta entre una aplicación y un recurso de almacenamiento compartido. De preferencia, los datos de conexión/posición además definen una posición actual dentro del recurso de almacenamiento compartido, en donde la aplicación más recientemente accesada es el recurso de almacenamiento compartido. De preferencia, el recurso de almacenamiento compartido comprende un recurso seleccionado de un archivo, un directorio, un sub-directorio y una entrada de directorio. De preferencia, los datos de serialización definen un tipo de conexión entre una aplicación y un recurso de almacenamiento compartido. De preferencia, el tipo de conexión define una exclusividad de una conexión abierta entre una aplicación y un recurso de almacenamiento compartido. El aparato para reiniciar un servidor de archivos puede comprender un módulo frontal o inicial configurado para almacenar datos de posición/conexión en un espacio de dirección de cliente, los datos de posición/conexión son descriptivos de una conexión abierta entre una aplicación y un recurso de almacenamiento compartido; un módulo final configurado para manejar datos de serialización para la conexión abierta, los datos de serialización son descriptivos de una exclusividad de la conexión abierta; y un módulo de serialización, configurado para generar nuevos datos de serialización a partir de los datos de posición/conexión en respuesta a una falla de serialización del sistema de archivos . De preferencia, el módulo frontal además se configura para operar dentro del espacio de dirección de cliente . De preferencia, el módulo final además se configura para operar dentro del espacio de dirección de servidor de archivos . De preferencia, el módulo de serialización además se configura para almacenar los nuevos datos de serialización en un nuevo espacio de dirección de servidor de archivos. De preferencia, el módulo de serialización además se configura para no modificar la información de posición/conexión durante la generación de los nuevos datos de serialización. El aparato además puede comprender un módulo de inactividad o reducción del número de procesos, configurado para esperar una duración de. tiempo para terminar una pluralidad de procesos de acceso de datos en proceso antes de la generación de nueva información de serialización por el módulo de serialización. De preferencia, el recurso de almacenamiento compartido comprende un recurso seleccionado de un archivo, un directorio, un sub-directorio y una entrada de directorio. Un sistema para reiniciar un servidor de archivos puede proporcionarse, el sistema comprende: una pluralidad de dispositivos de almacenamiento compartido configurados para almacenar datos; una pluralidad de servidores de archivo dentro de un agrupamiento de servidores de archivo, cada uno de la pluralidad de servidores de archivos, se configura para tener acceso a datos en los dispositivos de almacenamiento compartidos; y un aparato de reinicio de serialización configurado para reiniciar un primer servidor de archivos de la pluralidad de servidores de archivos, en respuesta a una falla de serialización del sistema de archivos en el primer servidor de archivos. Este sistema además puede comprender un módulo de notificación configurado para permitir que el primer servidor de archivos notifique a la pluralidad restante de servidores de archivos en anticipación a reinicio del primer servidor de archivos. De preferencia, el módulo de notificación además se configura para permitir que el primer servidor de archivos notifique a la pluralidad restante de servidores de archivos después de finalizar la reinicialización del primer servidor de archivos. Puede proporcionarse un medio que contiene señal que incorpora en forma tangible un programa de instrucciones legibles por máquina, que se ejecutan por un aparato de procesamiento digital para realizar operaciones para reinicio de un servidor de archivos, las instrucciones comprenden operaciones para: reconocer una falla de serialización de sistema de archivos en un servidor de archivos, descartar datos de serialización existentes ubicados en un espacio de dirección de servidor de archivos, en respuesta a la falla de serialización; y generar nuevos datos de serialización a partir de datos de posición/conexión existentes ubicados en un espacio de dirección de cliente. De preferencia, las instrucciones además comprenden operaciones para conservar los datos de posición/conexión existentes, a través de la generación de los nuevos datos de serialización por el módulo de serialización.
De preferencia, las instrucciones además comprenden operaciones para inactivar un proceso de acceso de datos actual en anticipación a reiniciar. De preferencia, las instrucciones además comprenden operaciones para invocar una función de sistema operativo, para destruir el espacio de dirección de servidor de archivos . De preferencia, las instrucciones además comprenden operaciones para invocar una función de sistema operativo para crear un nuevo espacio de dirección de servidor de archivos . De preferencia, las instrucciones además comprenden operaciones para almacenar los nuevos datos de serialización en el nuevo espacio de dirección de servidor de archivos. [0039] De preferencia, las instrucciones además comprenden operaciones 'para buscar una pluralidad de espacios de dirección y encontrar la información de posición/conexión existente en el espacio de dirección de cliente. El medio que contiene señal que incorpora en forma tangible un programa de instrucciones legibles por máquina, ejecutables por un aparato de procesamiento digital para realizar operaciones para reiniciar un servidor de archivos, puede tener instrucciones que comprenden operaciones para: almacenar datos de conexión/posición en un espacio de dirección de cliente, los datos de conexión/posición son descriptivos de una conexión abierta entre una aplicación y un recurso de almacenamiento compartido; administrar datos de serialización para la conexión abierta, los datos de serialización son descriptivos de una exclusividad de la conexión abierta; y generar nuevos datos de serialización a partir de los datos de conexión/posición en respuesta a una falla de serialización del sistema de archivos. De preferencia, las instrucciones además comprenden operaciones para ejecutar el módulo frontal dentro del espacio de dirección de cliente. De preferencia, las instrucciones además comprenden operaciones para ejecutar el módulo final dentro del espacio de dirección de servidor de archivos. De preferencia, las instrucciones además comprenden operaciones para almacenar los nuevos datos de serialización en un nuevo espacio de dirección de servidor de archivos. De preferencia, las instrucciones además comprenden operaciones para no modificar la información de conexión/posición durante la generación de los nuevos datos de serialización.
De preferencia, las instrucciones además comprenden operaciones para esperar una duración de tiempo para terminar una pluralidad de procesos de accesos de datos en curso antes de la generación de nueva información de serialización por el módulo de serialización. De preferencia, el recurso de almacenamiento compartido comprende un recurso seleccionado de un archivo, un directorio, un sub-directorio y una entrada de directorio. En un segundo aspecto, la presente invención proporciona un método para reiniciar un servidor de archivos, el método comprende: reconocer una falla de serialización del sistema de archivos en un servidor de archivos; descartar datos de serialización existentes ubicados en un espacio de dirección de servidor de archivos, en repuesta a la falla de serialización; y generar nuevos datos de serialización a partir de datos de posición/conexión existentes en un espacio de dirección de cliente. El método puede ser aquel que comprende: reconocer una falla de serialización del sistema de archivos, en un servidor de archivos; inactivar un proceso de acceso de datos actual en anticipación a reinicialización; descargar datos de serialización existentes ubicados en un espacio de dirección de servidor de archivos, en respuesta a la falla de serialización al invocar la función de sistema operativo, para destruir el espacio de dirección de servidor de archivos; invocar una función de sistema operativo para crear un nuevo espacio de dirección de servidor de archivos; buscar una pluralidad de espacios de dirección y encontrar la información de posición/conexión existente en el espacio de dirección de cliente; generar nuevos datos de serialización de datos de conexión/posición ubicados en un espacio de dirección de cliente; y almacenar los nuevos datos de serialización en el nuevo espacio de dirección de servidor de archivos. Puede proporcionarse un aparato para reiniciar un servidor de archivos, el aparato se caracteriza porque comprende: medios para reconocer una falla de serialización del sistema de archivos, en un servidor de archivos; medios para descartar datos de serialización existentes ubicados en un espacio de dirección de servidor de archivos, en respuesta a la falla de serialización; y medios para generar nuevos datos de serialización a partir de datos de posición/conexión existentes, ubicados en un espacio de dirección de cliente.
En un tercer aspecto, la presente invención proporciona un programa de computadora para, cuando se carga en un sistema de computadora y se ejecuta ahí, provocar que el sistema de computadora realice todas las etapas de un método de acuerdo con el segundo aspecto. La presente invención se ha desarrollado en respuesta al presente estado de la técnica y en particular en respuesta a los problemas y necesidades en la técnica que aún no han sido completamente resueltos por los sistemas de serialización de sistemas de archivos actualmente disponibles. De acuerdo con esto, la presente invención se ha desarrollado para proporcionar un aparato, sistema y método para reiniciar un servidor de archivos que supere muchas o todas las desventajas de la técnica anteriormente discutidas. El aparato para reiniciar un servidor de archivos, se proporciona con una unidad lógica que contiene una pluralidad de módulos configurados para ejecutar funcionalmente las etapas necesarias para reiniciar los datos de serialización de un servidor de sistema de archivos. Estos módulos en las modalidades descritas incluyen un módulo frontal y un módulo posterior. En una modalidad, el módulo frontal reside en un espacio de dirección de cliente y el módulo final reside en un espacio de dirección de servidor de archivos . En ciertas modalidades, el módulo frontal puede incluir un módulo de conexión y un aparato de suspensión. El módulo de conexión maneja la información de conexión/posición (también referida como datos de conexión/posición) que describe conexiones de archivo abierto u otras conexiones de recursos asociadas con una aplicación. El aparato de suspensión en una modalidad, suspende solicitudes de acuse de datos antes de y durante reinicio de la serialización de servidor de archivos. El módulo final en ciertas modalidades puede incluir un módulo de serialización, un módulo de inactivación, un módulo de descartado y un módulo de reconocimiento de falla. El módulo de serialización maneja los datos de serialización para una aplicación determinada correspondiente a un espacio de dirección de tiempo. El módulo de serialización también genera nuevos datos de serialización a partir de datos de conexión/posición existentes como una parte de la operación de reinicio. El módulo de reconocimiento ^ falla reconoce una falla de serialización. El módulo de descartar, descarta los datos de serialización existentes. Por ejemplo, el módulo de descartar puede solicitar que el sistema operativo destruya el espacio de dirección en donde se ubican los datos de serialización existentes. En una modalidad, los datos de serialización existentes se ubican en un espacio de dirección de servidor de archivos. En una modalidad adicional, todo el módulo final también se ubica en el espacio de dirección de servidor de archivos, se destruye por el sistema operativo. El módulo de suspensión puede facilitar la creación de un nuevo espacio de dirección de servidor de archivos después de que el espacio de dirección de servidor de archivos existente se descarta. El módulo de inactivación inactiva al servidor de archivos antes de y durante el proceso de reinicio. En una modalidad, el periodo de inactivación se coordina con el aparato de suspensión descrito anteriormente. El módulo final también puede incluir un aparato de terminación y un aparato de enjambre. El aparato de terminación da seguimiento al avance de una tarea asociada con una aplicación. En una modalidad, el aparato de terminación puede utilizarse en conjunto con el módulo de inactivación para estabilizar los datos de conexión/posición durante el periodo de inactivación. Los datos de conexión/posición pueden residir en el espacio de dirección del cliente, que se conserva y no es descartado durante el reinicio de serialización de sistema de archivos. El aparato de enjambre maneja las comunicaciones de derechos necesarios y de negociación entre una pluralidad de servidores de archivos dentro de un enjambre cuando los datos de serialización en un servidor de archivos se reinician. Un sistema de la presente invención también se presenta para reiniciar los datos de serialización de un servidor de sistemas de archivos. El sistema puede incorporarse en un enjambre de procesamiento que incluye una pluralidad de servidores de archivos que tienen acceso compartido a uno o más dispositivos de almacenamiento de datos compartidos. En particular, una modalidad del sistema incluye una pluralidad de servidores de archivos, un dispositivo de almacenamiento compartido y un aparato de reinicio de serialización. El sistema también puede incluir una instalación de acoplamiento para facilitar serialización global entre la pluralidad de servidores de archivos. El sistema además puede incluir un módulo de notificación. En una modalidad, el módulo de notificación se configura para notificar a uno o más servidores de archivos dentro del enjambre de procesamiento, cuando un servidor de archivos local se espera que reinicie. Similarmente, el módulo de notificación notifica a los servidores de archivos remotos después de que se reinicia el servidor de archivos local. Un método de la presente invención también se presenta para reiniciar un servidor de archivos. El método en las modalidades descritas sustancialmente incluye las etapas necesarias para llevar a cabo las funciones presentadas anteriormente respecto a la operación del aparato y sistemas descritos. En una modalidad, el método incluye reconocer una falla de serialización de sistema de archivos en un servidor de archivos, descartar los datos de serialización existentes y generar nuevos datos de serialización a partir de los datos de posición/conexión existentes. Como se mencionó anteriormente, los datos de posición/conexión existentes se estabilizan y mantienen, por ejemplo en el espacio de dirección de cliente a través del proceso de reinicio. El método también puede incluir inactivar el servidor de archivos, invocando una función de sistema operativo para destruir el espacio y dirección de servidor de archivos e invocar una función de sistema operativo para crear un nuevo espacio de dirección de servidor de archivos. Adicionalmente, el método puede incluir la búsqueda de la memoria para los datos de posición/conexión existentes, generando los nuevos datos de serialización a partir de los datos de posición/conexión existentes ubicados en los espacios de dirección de cliente, y almacenar los nuevos datos de serialización en el nuevo espacio de dirección de servidor de archivos. Un medio que contiene señal también se presenta. El medio que contiene señal se configura para almacenar instrucciones de soporte lógico para llevar a cabo algunas o todas las funciones anteriormente descritas con referencia al método, aparato y sistema. La referencia a través de esta especificación a características, ventajas o lenguaje similar, no implica que todas las características y ventajas que puedan lograrse con la presente invención deberán estar o estén en ninguna modalidad sencilla de la invención. Más bien, el lenguaje con referencia a las características y ventajas se entiende que significa que una específica característica ventaja o aspecto descrito en conexión con una modalidad, se incluye cuando menos en una modalidad de la presente invención. De esta manera, discusión de las características y ventajas y lenguaje similar a través de esta especificación pueden, pero no necesariamente referirse a la misma modalidad. Además, las características, ventajas y aspectos descritos de la invención pueden combinarse en cualquier forma conveniente en una o más modalidades.
Una persona con destreza en la técnica relevante reconocerá que la invención puede practicarse sin una o más de las características o ventajas específicas de una modalidad particular. En otras instancias, pueden reconocerse adicionales características y ventajas en ciertas modalidades que pueden no estar presentes en todas las modalidades de la invención. Estos aspectos y ventajas de la presente invención serán más completamente aparentes a partir de la siguiente descripción y reivindicaciones anexas o pueden aprenderse por la práctica de la invención, como se establece a continuación. BREVE DESCRIPCIÓN DE LOS DIBUJOS A fin de que las ventajas de la invención se comprendan fácilmente, una descripción más particular de la invención descrita brevemente con anterioridad se elaborará por referencia a modalidades específicas que se ilustran en los dibujos anexos. En el entendido de que estos dibujos solo ilustran modalidades típicas de la invención y por lo tanto no habrán de considerarse limitantes de su alcance, la invención será descrita y explicada con especificidad adicional y detalle a través del uso de los dibujos acompañantes, en donde: La Figura la es un diagrama de bloques esquemático que ilustra una modalidad de un ambiente de aplicación de acuerdo con la presente invención; La Figura Ib es un diagrama de bloques esquemático que ilustra una modalidad de un enjambre de sistema de almacenamiento de acuerdo con la presente invención; La Figura 2 es un diagrama de bloques esquemático que ilustra una modalidad de un dispositivo de memoria electrónica de acuerdo con la presente invención; La Figura 3a es un diagrama de bloques esquemático que ilustra una modalidad de datos de conexión/posición de acuerdo con la presente invención; La Figura 3b es un diagrama de bloques esquemático que ilustra una modalidad de datos de serialización de acuerdo con la presente invención; [0071] La Figura 4 es un diagrama de bloques esquemático que ilustra una modalidad de un aparato de reinicio de serialización de acuerdo con la presente invención; La Figura 5 es un diagrama de flujo esquemático que ilustra una modalidad de un método de reinicio de acuerdo con la presente invención; y La Figura 6 es un diagrama de flujo esquemático que ilustra una modalidad de un método de reconstrucción de acuerdo con la presente invención. MEJOR MODO PARA LLEVAR A CABO LA INVENCIÓN Muchas de las unidades funcionales descritas en esta especificación se han etiquetado como módulos, a fin de enfatizar más particularmente su independencia de implementación. Por ejemplo, puede implementarse un módulo como un circuito de equipo físico que comprende circuitos VLSI a la medida o arreglos de compuertas, semiconductores de inventario tales como chips lógicos, transistores u otros componentes discretos. Un módulo también puede implementarse en dispositivos de equipo físico programable tales como conjuntos de compuertas programables en campo lógica de arreglos programables, dispositivos lógicos programables o semejantes. También pueden implementarse módulos en soporte lógico para ejecución por diversos tipos de procesadores. Un módulo identificado de código ejecutable por ejemplo puede comprender uno o más bloques físicos o lógicos de instrucciones de computadora, que por ejemplo pueden organizarse como un objeto, procedimiento, o función. Sin embargo, los ejecutables de un módulo identificado no requieren ser ubicados físicamente en conjunto, pero pueden comprender instrucciones diferentes almacenadas en diferentes ubicaciones que, cuando se unen lógicamente en conjunto, comprenden el módulo y logran el propósito establecido para el módulo. Sin duda, un módulo de código ejecutable puede ser una sola instrucción, o muchas instrucciones, e incluso puede distribuirse sobre varios segmentos de código diferentes, entre diferentes programas, y a través de diversos dispositivos de memoria. Similarmente, datos operacionales pueden identificarse e ilustrarse aquí dentro de módulos y pueden incorporarse en cualquier forma conveniente y organizarse dentro de cualquier tipo de estructura de datos conveniente. Los datos operacionales pueden recolectarse como un solo conjunto de datos, o pueden distribuirse en diferentes ubicaciones incluyendo diferentes dispositivos de almacenamiento y pueden existir, al menos parcialmente, solo como señales electrónicas en un sistema o red. Con referencia a través de esta especificación a "una modalidad" o lenguaje similar, significa que una particular estructura, aspecto o característica descrita en conexión con la modalidad se incluye en al menos una modalidad de la invención. De esta manera, la aparición de las frases "en una modalidad", "en la modalidad" y lenguaje similar a través de esta especificación pueden pero no necesariamente todas referirse a la misma modalidad. Además, los descritos rasgos, estructuras o características de la invención pueden combinarse en cualquier forma conveniente en una o más modalidades. En la siguiente descripción, se proporcionan numerosos detalles específicos, tales como ejemplos de programación, módulos de soporte lógico o de programas, selecciones de usuario, transacciones de red, consultas a bases de datos, estructuras de bases de datos, módulos de equipo físico, circuitos de equipo físico, chips de equipo físico, etc., para proporcionar una completa comprensión de modalidades de la invención. Una persona con destreza en la técnica relevante reconocerá sin embargo que la invención puede practicarse sin uno o más de los detalles específicos o con otros métodos, componentes, materiales y así en adelante. En otros casos, estructuras, materiales u operaciones bien conocidas no se muestran o describen en detalle para evitar obscurecer aspectos de la invención. La Figura Ib ilustra una modalidad de un enjambre de procesamiento 100 en donde ciertas modalidades de la presente invención pueden emplearse. El enjambre de procesamiento ilustrado 100 incluye una pluralidad de servidores de archivo 102, uno o más dispositivos de almacenamiento compartido 104 y una instalación de acoplamiento 106. Cada servidor de archivos 102 se configura para manejar recursos en el enjambre de procesamiento 100. Por ejemplo, la pluralidad de servidores de archivo 102, maneja asignación de recursos de procesamiento memoria y almacenamiento de datos para cada aplicación u otro programa de soporte lógico que se ejecuta en el enjambre de procesamiento 100. Como se emplea aquí, referencia a una "aplicación" puede incluir soporte lógico de aplicación así como soporte lógico de sistema tal como, un sistema operativo, a menos de que se indique de otra forma . Los dispositivos de almacenamiento compartido 104 comprenden dispositivos de almacenamiento electrónico que se configuran para almacenar datos por instrucciones de la pluralidad de servidores de archivos 102. En una modalidad, los dispositivos de almacenamiento compartidos 104 comprenden una pluralidad de unidades de disco duro. En forma alterna, los dispositivos de almacenamiento compartido 104 pueden comprender uno o más unidades ópticas, unidades de cinta, y/u otras unidades de almacenamiento de datos. Datos almacenados en los dispositivos de almacenamiento compartido 104 pueden ser leídos y de otra forma se puede tener acceso por los servidores de archivo 102. En una modalidad, los datos en los dispositivos de almacenamiento compartido 104 pueden almacenarse dentro de un sistema de archivos que incluye directorios, sub-directorios, archivos y otras entradas de directorio. Cada uno de los directorios, sub-directorios, archivos y otras entradas de directorio y estructuras de datos similares son un recurso de almacenamiento compartido dentro del enjambre de procesamiento 100. Cada vez que una aplicación en uno de los servidores de archivo 102 solicita acceso a datos en uno de los dispositivos de almacenamiento compartido 104, el servidor de archivos 102 coordina el acceso de datos con otras aplicaciones de cliente que corren en el mismo servidor de archivos 102 y en los otros servidores de archivo 102 en el enjambre de procesamiento 100. Esta coordinación se refiere como serialización, debido a que el servidor de archivos 102 permite acceso en serie o consecutivo a los datos en el almacenamiento de archivos 104. La serialización permite que cada aplicación tenga ya sea acceso compartido o exclusivo a un conjunto de datos particular, de manera tal que otras aplicaciones no interfieran con o trastornen el conjunto de datos objetivo de otra forma.
La serialización puede implementarse en diversos niveles de granularidad dentro del enjambre de procesamiento 100 y los dispositivos de almacenamiento compartido 104. Por ejemplo, la serialización puede ocurrir a un nivel de directorio o a un nivel de sub-directorio. Adicionalmente, la serialización puede ocurrir a un nivel de archivo, registro o paquete. La granularidad de serialización depende del tipo de enjambre de procesamiento 100, servidores de archivos 102, dispositivos de almacenamiento de datos compartidos 104, y otro equipo físico empleado dentro del enjambre de procesamiento 100. La granularidad también puede depender del tipo de operaciones de acceso de datos que se solicitan por una aplicación o un sistema operativo. La instalación de acoplamiento 106, en una modalidad, se proporciona para facilitar serialización entre todos los servidores de archivo 102 dentro del enjambre de procesamiento 100. En particular, la instalación de acoplamiento 106 puede almacenar información de serialización y asistir en operaciones de mensaje entre los muchos servidores de archivo 102. Modalidades alternas del enjambre de procesamiento 100, sin embargo pueden realizar serialización global sin la asistencia de una instalación de acoplamiento 106.
La Figura 2 ilustra una modalidad de un dispositivo de memoria electrónica 200 que puede emplearse para almacenar programas y datos de serialización así como información relacionada. La memoria ilustrada 200 se divide en una pluralidad de espacios de dirección 202. Cada espacio de dirección 200 comprende un conjunto de direcciones de memoria legales asignadas para una aplicación determinada y representa la cantidad de memoria 200 ya sea física o virtual, que se asigna a la aplicación. La memoria ilustrada 200 específicamente incluye un espacio de dirección de cliente 202a, un espacio de dirección de servidor de cliente 202b, y uno o varios espacios de dirección adicionales 202n. La memoria 200 también incluye memoria de acceso común 204. Un espacio de dirección de cliente 202a puede crearse para cada aplicación que hace interfase con un servidor de archivos determinado 102. Por ejemplo, una memoria 200 puede incluir cuatro espacios de dirección de cliente 202a, uno por cada cuatro clientes que hacen interfase con el servidor de archivos 102. El espacio de dirección de cliente 202a también puede ser referido como el "extremo frontal" debido a que es responsable por interactuar directamente con los programas de aplicación. En general, el espacio de dirección de cliente 202a facilita las operaciones de acceso de datos para el programa de soporte lógico solicitante tal como un programa o soporte lógico de aplicación o programa o soporte lógico de sistema. El espacio de dirección de cliente 202a ilustrado incluye datos frontales 210, en general y específicamente incluye datos de conexión/posición 212. Cada espacio de dirección de cliente 202a puede contener correspondientes datos frontales 210, incluyendo datos de conexión/posición 212, pertinentes al cliente asociado. Los datos de conexión/posición son descriptivos de los datos en los dispositivos de almacenamiento compartidos 104 a los que se tiene acceso por la aplicación correspondiente. Un ejemplo de datos de conexión/posición 212 se describe con más detalle con referencia a la Figura 3a. Referencias a través de esta descripción a "un/una" o "el/la" espacio de dirección de cliente 202a en forma singular, se entiende que se refiere a uno o más' espacios de dirección de cliente 202a, en donde cada espacio de dirección de cliente 202a corresponde a un cliente independiente. Similarmente, referencias a datos frontales 210 y/o datos de conexión/posición 212 se entiende que se refieren a estos datos para uno o más clientes que hacen interfase con un servidor de archivos determinado 102. El espacio de dirección de servidor de archivos 202b, en una modalidad, es responsable por la serialización dentro del servidor de archivos 102 y para acceso de datos a los dispositivos de almacenamiento compartido 104. El espacio de dirección de servidor de archivos 202b, también puede ser referido como el "extremo final" debido a que maneja la interfase entre el servidor de archivos 102 y los dispositivos de almacenamiento compartido 104. En particular, espacio de dirección de servidor de archivos 202b serializa las solicitudes de acceso de datos para la aplicación correspondiente al espacio de dirección de cliente asociado 202a. Estas solicitudes de acceso de datos son serializadas con otras solicitudes de acceso de datos de otras aplicaciones a las que se les da servicio por el mismo servidor de archivos 102 y otros servidores de archivo 102 dentro del enjambre de procesamiento 100. El espacio de dirección de servidor de archivos 202b ilustrado incluye los datos finales 220, generalmente, y específicamente incluye datos de señalización 222. En modalidades adicionales, los datos finales 220 también pueden incluir derechos de terminación 224, que pueden indicar el estado de procesamiento de una solicitud de acceso de datos y/o la estabilidad de datos de conexión/posición 212 almacenados en el espacio de dirección de cliente 202a. El o los espacios de dirección adicionales 202n pueden emplearse para similares programas y datos como aquellos almacenados en el espacio de dirección de cliente 202a y el espacio de dirección de servidor de cliente 202b. El o los espacios de dirección adicionales 202n también pueden incluir un espacio de dirección maestro y así en adelante, como se conoce actualmente en la técnica. La memoria de dirección común 204 es una porción de la memoria 200 que puede emplearse para almacenar programas y datos que son comúnmente accesibles por uno o más espacios de dirección 202. Por ejemplo, la memoria de dirección común 204 puede emplearse para almacenar datos, tales como nombres de archivos o metadatos, referidos comúnmente tanto por los datos de conexión/posición 212 en el espacio de dirección de cliente 202a como los datos de serialización 222 en el espacio de dirección de servidor de archivos 202b. La Figura 3a ilustra una modalidad de datos de conexión/posición 300 que es substancialmente similar a los datos de conexión/posición 212 descritos con referencia a la Figura 2. Los datos de conexión/posición 300 incluyen varios campos, cada uno configurado para almacenar un identificador u otros datos para describir la información de conexión y posición asociada con una solicitud de acceso de datos correspondiente a una aplicación particular. Los datos de conexión/posición 300 también pueden se referidos aquí como información de conexión/posición o registros de conexión/posición. Los datos de conexión/posición 300 ilustrados incluyen un campo identificador de aplicación 302, un campo identificador de directorio 304, un campo identificador de archivo 306, y un campo identificador de posición 308. En una modalidad adicional, los datos de conexión/posición 300 pueden incluir menos o más campos de datos y/o metadatos. En una modalidad, el campo identificador de aplicación 302 almacena un identificador de aplicación que identifica la aplicación para la cual existe el espacio de dirección de cliente 202a. El campo identificador de directorio 304 almacena un identificador de directorio que identifica un directorio en los dispositivos de almacenamiento compartido 104 que se utilizan para operaciones asociadas con la aplicación identificada por el identificador de aplicación. Similarmente, el campo identificador de archivo 306 almacena un identificador de archivos que identifica un archivo que se utiliza para operaciones de acceso de datos asociadas con la misma aplicación. En ciertas modalidades, el identificador de archivos puede relacionarse al identificador de directorio, ya que el campo es un miembro del directorio. Dada esta relación, el identificador de archivos también puede ser referido como un identificador de memoria. El identificador de directorio y el identificador de archivos, pueden en general ser referidos como identificadores de recursos. En modalidades alternas de la invención, pueden estar presentes otros campos identificadores de recursos e identificadores de recursos dentro de los datos de conexión/posición 300. El campo identificador de posición 308, en una modalidad, almacena un identificador de posición que identifica la posición en la cual al recurso de almacenamiento o archivo se le está teniendo acceso actualmente o en forma más reciente. En una modalidad, el identificador de posición puede comprender un desplazamiento de byte que indica la posición de lectura o escritura actual por una cantidad de bytes desde el inicio del archivo al que se tiene acceso. La Figura 3b ilustra una modalidad de datos de serialización 320 que es substancialmente similar a los datos de serialización 222 descritos anteriormente con referencia a la Figura 2. Los datos de serialización 320 incluyen varios campos, cada uno configurado para almacenar un identificador u otros datos para describir la información de serialización asociada con una solicitud de acceso de datos correspondiente a una tarea particular. Una tarea es una operación de acceso de datos asociada con una aplicación particular. Una aplicación puede generar una o más tareas. Los datos de serialización 320 también pueden ser referidos aquí como registros de serialización o información de serialización. Los datos de serialización ilustrados 320 incluyen un campo identificador de tareas 322, un campo identificador de recursos 324, y un campo identificador de exclusividad 326. En una modalidad adicional, los datos de serialización 320 pueden incluir menos o más campos de datos y/o metadatos. En una modalidad, el campo identificador de tareas 322 almacena un identificador de tareas que identifica la tarea que se ejecuta dentro del espacio de dirección de servidor de archivos 202b. En una modalidad, el campo identificador de recursos 324 almacena un identificador de recursos que identifica ya sea un recurso de alimentación o un recurso de salida asociado con la tarea identificada por el identificador de tareas. En una modalidad, el identificador de recursos puede identificar un recurso de alimentación tal como un dispositivo de almacenamiento compartido 104, del cual pueden alimentarse datos a la operación de tareas. Por ejemplo, la operación de tareas puede ser leer datos de un dispositivo de almacenamiento compartido 104. En una modalidad adicional, el identificador de recursos puede identificar un recurso de salida tal como una memoria intermedia, a la cual pueden enviarse datos de acuerdo con la operación de tarea. El campo identificador de exclusividad 326 almacena un identificador de exclusividad que identifica el tipo de recurso de exclusividad de recurso que se proporciona para la tarea identificada al recurso identificador. Por ejemplo, la tarea puede ya ser acceso de lectura exclusivo o compartido a un conjunto de datos diana a leerse de los dispositivos de almacenamiento compartido 104. En muchos casos, aunque no en todos, el identificador de exclusividad proporciona acceso compartido para operaciones de lectura de datos (alimentación) . En un ejemplo adicional, la tarea puede tener acceso de escritura exclusivo a una memoria intermedia diana en la cual pueden escribirse datos. En muchos casos, aunque no en todos, el identificador de exclusividad proporciona acceso exclusivo para operaciones de escritura de datos (salida).
La Figura 4 ilustra una modalidad de un aparato de reinicio de serialización 400 que puede emplearse en conjunto con diversas modalidades de la presente invención. El aparato de reinicio de serialización ilustrado 400, incluye un módulo de extremo frontal 402 y un módulo final 404. En una modalidad, el módulo de extremo frontal 402 y el módulo final 404 son programas de soporte lógico que residen en el espacio de dirección de cliente 202a y el espacio de dirección de servidor de archivos 202b, respectivamente. El aparato de reinicio de serialización 400, se configura para reiniciar los datos de serialización 222 del servidor de archivos 102 en respuesta a un error o falla de serialización. Como se describió anteriormente, una falla de serialización puede ocurrir cuando una o más aplicaciones no pueden tener adecuado acceso a los datos almacenados que es necesario para terminar una operación. Por ejemplo, .con referencia de nuevo a la Figura 1, un servidor de archivos 102 puede esperar una primera aplicación 12 derechos de acceso exclusivo a un archivo de datos 18 para concluir una operación, antes de permitir que una segunda aplicación 14 tenga derechos de acceso al mismo archivo de datos 18. Cuando fallan los datos de serialización 222 dentro de un servidor de archivos 102 o entre una pluralidad de servidores de archivos 102 dentro de un enjambre de procesamiento 100, el servidor de archivos 102 o el enjambre de procesamiento 100 no puede quedar disponible. Por ejemplo, un servidor de archivos 102 puede volverse "bloqueado" o sin respuesta, cuando dos aplicaciones 12, 14 intentan tener acceso a datos que están reservados exclusivamente entre sí. Al reiniciar los datos de serialización 222 del servidor de archivos 102, el aparato de reinicio de serialización 400 descarta la información de serialización existente 222 y reconstruye nueva información de serialización a partir de los datos de conexión/posición 212, de esta manera corrigiendo cualesquiera fallas de serialización. Con referencia de nuevo a la Figura 4, el módulo frontal 402, en una modalidad, incluye un módulo de conexión 410 y un aparato de suspensión 412. El módulo de conexión 410 se configura para supervisar y registrar los datos de conexión/posición 212 por cada tarea asociada con una aplicación. El aparato de suspensión 412 se configura, en una modalidad, para suspender solicitudes de acceso de datos mientras que los datos de serialización 222 para el servidor de archivos 102 se reinician. En una modalidad, el aparato de suspensión 412 suspende las solicitudes de acceso de datos durante un periodo de inactividad antes de reinicio de serialización, así como durante el reinicio de serialización . El módulo final 404, como se ilustra, incluye un módulo de serialización 420, un módulo de inactivación 422, un módulo de descartado 424, un módulo de reconocimiento de falla 426, un aparato de terminación 428, y un aparato de enjambre 430. El módulo de serialización 420, en una modalidad, se configura para administrar los datos de serialización 222 para el servidor de archivos 102. Adicionalmente, el módulo de serialización 420 puede reconstruir los datos de serialización 222 a partir de los datos de conexión/posición 212 en conjunto con un reinicio de serialización del servidor de archivos 102. El módulo de inactivación 422 se configura en una modalidad para definir e implementar un periodo de inactividad antes de 'reinicio de los datos de serialización 222 servidor de archivos 102. En ciertas modalidades, el periodo de inactivación puede ser de unos cuantos segundos. En forma alterna, el periodo de inactivación puede ser más largo o más corto que unos cuantos segundos. Durante el periodo de inactivación, el módulo final 404 puede negar solicitudes de nuevo acceso de datos del módulo frontal 402. Adicionalmente, el periodo de inactivación puede emplearse para permitir que se completen tareas en proceso antes del reinicio de serialización. Además, tareas en proceso pueden ser suspendidas o de otra forma pospuestas durante el periodo de inactivación a fin de mantener la integridad de los datos de conexión/posición 212 almacenados en el espacio de dirección de cliente 202a. El módulo de descartar 424, en una modalidad, se configura para descartar los datos de serialización existentes 222 en conjunto con un reinicio de serialización del servidor de archivos 102. En ciertas modalidades, por ejemplo, el módulo de descartar 424 puede solicitar que el sistema operativo simplemente destruya toda información, programas y datos almacenados en el espacio de dirección de servidor de archivos 202b, o extremo posterior. En otras palabras, el sistema operativo puede ser invocado para eliminar los datos finales 220, incluyendo los datos de serialización existentes 222 y los derechos de terminación 224. Además, el sistema operativo puede descartar por completo el módulo final 404, incluyendo el módulo de serialización 420, el módulo de inactivación 422, el módulo de descartar 424, el módulo de reconocimiento de falla 426, el aparato de terminación 428, y el aparato de enjambre 430. Cada uno de estos módulos finales, aparatos y datos pueden ser reconstruidos durante el reinicio de serialización . El módulo de reconocimiento de falla 426 se configura, en una modalidad, para reconocer una falla de serialización dentro del servidor de archivos 102. En una modalidad adicional, el módulo de reconocimiento de falla 426 puede reconocer una falla de serialización global, por ejemplo en conjunto con la instalación de acoplamiento 106. En una modalidad alterna, un operador humano puede reconocer una situación en donde el servidor de archivos 102 no responde y expide en forma explícita un comando en un teclado de la consola del sistema (no mostrado) para iniciar el proceso de reinicio. En este caso, el operador puede utilizar auxiliares de diagnostico para ayudar en tomar dicha determinación. El aparato de terminación 428 se configura en una modalidad, para dar seguimiento al avance de terminación de una tarea. En una modalidad, el aparato de terminación 428 puede crear y utilizar los derechos de terminaciones 224 dentro de los datos finales 220 para dar seguimiento al avance de una tarea. El aparato de enjambre 430, en una modalidad, se configura para manejar comunicación y operaciones del enjambre de procesamiento 100 durante reinicio de serialización de uno de la pluralidad de servidores de archivo 102.
Los siguientes diagramas de flujo esquemáticos, en general se establecen como diagramas de flujo lógicos. Como tales, el orden ilustrado y las etapas etiquetadas son indicativos de una modalidad del método presentado. Otras etapas y métodos pueden concebirse que son equivalentes en función lógica o efecto para una o más etapas, o sus porciones, del método ilustrado. Adicionalmente, el formato y simbología empleados se proporcionan para explicar las etapas lógicas del método y se entiende que no limiten el alcance del método. Aunque pueden emplearse diversos tipos de flechas y tipos de líneas en los diagramas de flujo, se entiende que no limiten el alcance del método correspondiente. Sin duda, algunas flechas u otros conectores pueden emplearse para indicar solo el flujo lógico del método. Por ejemplo, una flecha puede indicar un periodo de espera o supervisión de duración no especificada entre etapas enumeradas del método ilustrado. Adicionalmente, el orden en el cual ocurre un método particular puede o no cumplir estrictamente con el orden de las etapas correspondientes mostradas. La Figura 5 ilustra una modalidad de un método de reinicio 500 que puede realizarse en conjunto con el aparato de reinicio de serialización 400 anteriormente descrito. El método de reinicio ilustrado 500 empieza cuando el módulo de reconocimiento de falla 426 reconoce en 502 una falla de serialización dentro del servidor de archivos 102. Aunque no se describe en detalle aquí, el módulo de reconocimiento de falla 426 puede en algunas modalidades, discriminar entre diferentes tipos de fallas de serialización. Dependiendo del tipo de • falla de serialización detectada 502, el aparato de reinicio de serialización 400 puede determinar el no empezar un reinicio de serialización. Sin embargo, en la modalidad descrita, el aparato de reinicio de serialización 400 no empieza un reinicio de serialización. Después de que se reconoce una falla de serialización 502, el aparato de reinicio de serialización local 400 notifica en 504 a cada uno de los servidores de archivo remotos 102 dentro del enjambre de procesamiento 100, que el servidor de archivos local 102 será reiniciado para corregir la falla de reinicialización. En una modalidad, el módulo final 404 puede incluir un módulo de notificación (no mostrado) configurado para notificar en 504 a los servidores de archivo remotos 102 del reinicio de serialización anticipado. En una modalidad adicional, el módulo de notificación puede incluirse dentro del módulo de reconocimiento de falla 426, el aparato de enjambre 430, u otro módulo o aparato dentro del aparato de reinicio de serialización 400. En ciertas modalidades, el módulo de notificación puede comunicar con la instalación de acoplamiento 106 a fin de notificar adecuadamente 504 los servidores de archivo remotos 102. Una vez que todos los servidores de archivo remotos 102 han sido notien ficados en 504, el módulo de inactividad 422 inicia 506 un periodo de inactividad antes de las operaciones de reinicio subsecuentes. Como se describió anteriormente con referencia a la Figura 4, nuevas tareas y/o tareas en proceso pueden negarse o suspenderse durante el periodo de inactivación. Una ventaja del periodo de inactivación es permitir que los datos de conexión/posición 212 se estabilicen antes de reiniciar. De .otra forma, si los datos de conexión/posición 212 no son estables cuando ocurre el reinicio de serialización, los nuevos datos de serialización 222 pueden ser incorrectos. Tareas que no se completan o estabilizan durante el periodo de inactivación pueden ser terminadas, en ciertas modalidades. Una vez que la información de conexión/posición 212 es estable y termina el periodo de inactivación, el módulo de descartar 424 descarta en -508 los datos de serialización existentes 222. En una modalidad, el módulo de descartar 424 puede descartar en 508 solo los datos de serialización existentes 222 y nada más. En otra modalidad, el módulo de descartar 424 puede descartar en 508 los derechos de terminación 224, total o parcialmente del módulo final 404, así como los datos de serialización 222. Como se describió anteriormente el módulo de descartar 424 puede invocar una función de sistema operativo para descartar por completo en 508 el espacio de dirección de servidor de archivos 202b. Si el módulo final 404 se descarta junto con los datos de serialización, el módulo frontal 402 subsecuentemente puede reconstruir el módulo final 404, incluyendo el módulo de serialización 420. El módulo de serialización 420 reconstruye en 510 los datos de serialización 222 a partir de los datos de conexión/posición 212 que permanecen estables en los datos frontales 210 durante el reinicio de serialización. Los nuevos datos de serialización 222 se espera que estén libres de conflictos de serialización debido a que reconstruyen a partir de los datos de conexión/posición estable 212, en vez de a partir del arribo aleatorio de solicitudes de acceso de datos. De esta manera, los nuevos datos de serialización 212 se espera que sean robustos y no lleven a una falla de serialización subsecuente. La reconstrucción en 510 de los datos de serialización 222 se describe con más detalle a continuación con referencia a la Figura 6. Con los datos de serialización 212 reconstruidos en 510, el servidor de archivos 102 notifica en 512 a los servidores de archivo remotos 102 dentro del enjambre de procesamiento 100 que el reinicio de serialización está completo. En una modalidad, el módulo de notificación anteriormente descrito puede realizar esta operación de notificación. El servidor de archivos 102 puede entonces reanudar solicitudes de acceso de datos de procesamiento utilizando los nuevos datos de serialización 222 para administrar el acceso serializado a los dispositivos de almacenamiento de datos compartido 24. El método de reinicio ilustrado 500 termina entonces. La Figura 6 ilustra una modalidad de un método de reconstrucción 600 que se da a manera de ejemplo de la operación de reconstrucción de serialización 510 del método de reinicio 500 mostrado en la Figura 5. El método de reconstrucción ilustrado 600 empieza cuando un nuevo espacio de dirección de servidor de archivos 202a es creado en 602 en la memoria 200. Esto por supuesto considera que el espacio de dirección de servidor de archivos 202b previo fue destruido como se describió anteriormente. El módulo final 404 se vuelve a cargar en 604 en el espacio de dirección de servidor de archivos 202b recientemente creado. En otras palabras, el módulo de serialización 420, el módulo de inactivación 422, el módulo de descartado 424, y así en adelante pueden almacenarse en el nuevo espacio de dirección de servidor de archivos 202b. El módulo de serialización 420 se invoca entonces en una modalidad, para generar los nuevos datos de serialización 222. Para hacer esto, el módulo de serialización 420 puede buscar la memoria 200 para los espacios de dirección de cliente 202a que contienen datos de conexión/posición 212. En particular, el módulo de serialización 420 encuentra en 606 cada espacio de dirección 202 y determina en 608 si un espacio de dirección particular 202 contiene datos de conexión/posición 212. Una vez que el módulo de serialización 420 identifica espacio de dirección de cliente 202a, que permanece intacto durante las operaciones de descartar 508 descrito con referencia al método de reinicio 500, el módulo de serialización 420 puede empezar a reconstruir los datos de serialización 222. Específicamente, el módulo de serialización 420 puede identificar en 610 datos de conexión localizados en el archivo identificador de aplicación 302, campo identificador de directorio 304, y campo identificador de archivos 306 (y otros campos identificadores similares, de aplicar) . El módulo de serialización 420 también identifica en 612, datos de posición ubicados en el campo identificador de posición 308. El módulo de serialización 420 utiliza entonces la información de datos de conexión/posición identificada 212 para crear en 614 los nuevos datos de serialización 222 en el nuevo espacio de dirección de servidor de archivos 202b. El módulo de serialización 420 continúa leyendo los datos de conexión/posición 212 a partir de los espacios de dirección de cliente 202a y escribir los nuevos datos de serialización 222 al espacio de dirección de servidor de archivos 202b hasta que el módulo de serialización 420 determina en 616 que no hay más datos de conexión/posición 212 a procesar. En una modalidad, el módulo de serialización 420 determina en 616 que todos los espacios de dirección de cliente 202a han sido buscados. El método de reconstrucción ilustrado 600 termina entonces. En ciertas modalidades, el tiempo total requerido para inactivar en 506 el servidor de archivos 102, descartar en 508 los datos de serialización existentes 222 y reconstruir en 510 los nuevos datos de serialización 222, puede ser décimas de segundos.
Ventajosamente, el reinicio de los datos de serialización 222 de esta manera no requiere que el servidor de archivos 102 sea apagado. Además, el método de reinicio ilustrado 500 benéficamente no interrumpe en forma significativa procesamiento de aplicación al-vuelo, aunque puede suspenderse posiblemente una solicitud de acceso de datos por unos cuantos segundos o más. La presente invención puede incorporarse en otras formas específicas sin apartarse de sus características esenciales. Las modalidade's descritas habrán de considerarse en todos los aspectos solo como ilustrativas y no restrictivas. El alcance de la invención por lo tanto se indica por las reivindicaciones anexas en vez de por la descripción anterior. Todos los cambios que caen dentro del significado y rango de equivalencias de las reivindicaciones, habrán de ser abarcados dentro de su alcance.

Claims (10)

  1. REIVINDICACIONES 1. Un aparato para reiniciar un servidor de archivos, el aparato se caracteriza porque comprende: un módulo para reconocimiento de falla, configurado para reconocer una falla de serialización de sistema de archivos en un servidor de archivos; un módulo de descartar, configurado para descartar datos de serialización existentes descriptivos de una conexión abierta ubicada en un espacio de dirección de servidor de archivos en respuesta a falla de serialización; y un módulo de serialización configurado para generar nuevos datos de serialización de una conexión abierta a partir de datos de conexión/posición existentes descriptivos de una ubicación de una conexión abierta y ubicados en un espacio de dirección de cliente.
  2. 2. El aparato de conformidad con la reivindicación 1, caracterizado porque el módulo de descartar además se configura para invocar una función de sistema operativo, para destruir el espacio de dirección de servidor de archivos .
  3. 3. El aparato de conformidad con la reivindicación 1 o 2, caracterizado porque el módulo de serialización además se configura para invocar una función de sistema operativo, para crear un nuevo espacio de dirección de servidor de archivos.
  4. 4. El aparato de conformidad con cualquiera de las reivindicaciones precedentes, caracterizado porque el módulo de serialización además se configura para almacenar los nuevos datos de serialización en el nuevo espacio de dirección de servidor de archivos.
  5. 5. El aparato de conformidad con cualquiera de las reivindicaciones precedentes, caracterizado porque el módulo de serialización además se configura para buscar una pluralidad de espacios de dirección y encontrar la información de conexión/posición existente en el espacio de dirección de cliente.
  6. 6. Un método para reiniciar un servidor de archivos, el método se caracteriza porque comprende: reconocer una falla de serialización de sistema de archivos en un servidor de archivos, descartar datos de serialización existentes descriptivos de una conexión abierta ubicada en un espacio de dirección de servidor de archivos, en respuesta a la falla de serialización; y generar nuevos datos de serialización descriptivos de una conexión abierta para datos de conexión/posición existentes descriptivos de una ubicación de conexión abierta y ubicados en un espacio de dirección de cliente.
  7. 7. El método de conformidad con la reivindicación 6, caracterizado porque además comprende invocar una función de sistema operativo para destruir el espacio de dirección de servidor de archivos.
  8. 8. El método de conformidad con la reivindicación 6 o la reivindicación 7, caracterizado porque además comprende invocar una función de sistema operativo para crear un nuevo espacio de dirección de servidor de archivos.
  9. 9. El método de conformidad con cualquiera de las reivindicaciones 6 a 8, caracterizado porque además comprende almacenar los nuevos datos de serialización en el nuevo espacio de dirección de servidor de archivos; y buscar una pluralidad de espacios de dirección para encontrar información de conexión/posición existente en el espacio de dirección de cliente.
  10. 10. Un programa de computadora para, cuando se carga en un sistema de computadora y ejecuta ahí, provocar que el sistema de computadora realice todas las etapas de un método de acuerdo con cualquiera de las reivindicaciones 6 a 9.
MX2007002204A 2004-09-01 2005-07-21 Aparato, sistema y metodo para reinicio de serializacion de sistema de archivos. MX2007002204A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/932,200 US7627578B2 (en) 2004-09-01 2004-09-01 Apparatus, system, and method for file system serialization reinitialization
PCT/EP2005/053541 WO2006024581A1 (en) 2004-09-01 2005-07-21 Apparatus, system, and method for file system serialization reinitialization

Publications (1)

Publication Number Publication Date
MX2007002204A true MX2007002204A (es) 2007-04-20

Family

ID=34979297

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2007002204A MX2007002204A (es) 2004-09-01 2005-07-21 Aparato, sistema y metodo para reinicio de serializacion de sistema de archivos.

Country Status (9)

Country Link
US (1) US7627578B2 (es)
EP (1) EP1787223B1 (es)
JP (1) JP4771378B2 (es)
KR (1) KR100974156B1 (es)
CN (1) CN100485676C (es)
AT (1) ATE382904T1 (es)
DE (1) DE602005004166T2 (es)
MX (1) MX2007002204A (es)
WO (1) WO2006024581A1 (es)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8156507B2 (en) * 2006-12-08 2012-04-10 Microsoft Corporation User mode file system serialization and reliability
US20100332549A1 (en) * 2009-06-26 2010-12-30 Microsoft Corporation Recipes for rebuilding files
US8359497B2 (en) * 2010-06-18 2013-01-22 International Business Machines Corporation Determining the cause of serialization failures
WO2015172107A1 (en) 2014-05-09 2015-11-12 Nutanix, Inc. Mechanism for providing external access to a secured networked virtualization environment
US11579861B2 (en) * 2016-02-12 2023-02-14 Nutanix, Inc. Virtualized file server smart data ingestion
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
US11562034B2 (en) 2016-12-02 2023-01-24 Nutanix, Inc. Transparent referrals for distributed file servers
US10824455B2 (en) 2016-12-02 2020-11-03 Nutanix, Inc. Virtualized server systems and methods including load balancing for virtualized file servers
US10728090B2 (en) 2016-12-02 2020-07-28 Nutanix, Inc. Configuring network segmentation for a virtualization environment
US11568073B2 (en) 2016-12-02 2023-01-31 Nutanix, Inc. Handling permissions for virtualized file servers
US11294777B2 (en) 2016-12-05 2022-04-05 Nutanix, Inc. Disaster recovery for distributed file servers, including metadata fixers
US11288239B2 (en) 2016-12-06 2022-03-29 Nutanix, Inc. Cloning virtualized file servers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
CN109460304B (zh) * 2017-09-06 2022-06-03 阿里巴巴集团控股有限公司 一种跨应用的通知展示、通知内容封装方法和装置
US11086826B2 (en) 2018-04-30 2021-08-10 Nutanix, Inc. Virtualized server systems and methods including domain joining techniques
US11194680B2 (en) 2018-07-20 2021-12-07 Nutanix, Inc. Two node clusters recovery on a failure
US11770447B2 (en) 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
US11599551B2 (en) 2020-03-30 2023-03-07 Oracle International Corporation Deserialization of stream objects using multiple deserialization algorithms
US11477258B2 (en) * 2020-03-30 2022-10-18 Oracle International Corporation Serialization of objects using multiple serialization algorithms
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up
US11288045B1 (en) 2021-02-09 2022-03-29 Oracle International Corporation Object creation from structured data using indirect constructor invocation
US11256480B1 (en) 2021-02-09 2022-02-22 Oracle International Corporation Deserialization of stream objects using constant-foldable method handles

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5095421A (en) * 1989-08-17 1992-03-10 International Business Machines Corporation Transaction processing facility within an operating system environment
CA2025170A1 (en) * 1989-09-28 1991-03-29 John W. White Portable and dynamic distributed applications architecture
US5185871A (en) * 1989-12-26 1993-02-09 International Business Machines Corporation Coordination of out-of-sequence fetching between multiple processors using re-execution of instructions
JPH0433139A (ja) * 1990-05-30 1992-02-04 Fujitsu Ltd ファィルアクセス方式
DE4216871C2 (de) * 1991-05-21 2001-09-06 Digital Equipment Corp Ausführungsordnen zum Sicherstellen der Serialisierbarkeit verteilter Transaktionen
EP0618532B1 (en) * 1993-03-30 2000-01-26 Fujitsu Limited Deadlock detecting device
JPH0778093A (ja) * 1993-09-08 1995-03-20 Hitachi Ltd デッドロックリトライ方式
US6920467B1 (en) * 1993-11-26 2005-07-19 Canon Kabushiki Kaisha Avoiding unwanted side-effects in the updating of transient data
US5490270A (en) * 1994-06-16 1996-02-06 International Business Machines Corporation Simultaneous updates to the modification time attribute of a shared file in a cluster having a server and client nodes
US5630047A (en) * 1995-09-12 1997-05-13 Lucent Technologies Inc. Method for software error recovery using consistent global checkpoints
US5774717A (en) * 1995-12-15 1998-06-30 International Business Machines Corporation Method and article of manufacture for resynchronizing client/server file systems and resolving file system conflicts
US6101497A (en) * 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
US5950218A (en) * 1996-11-04 1999-09-07 Storage Technology Corporation Method and system for storage and retrieval of data on a tape medium
US6192389B1 (en) * 1997-03-28 2001-02-20 International Business Machines Corporation Method and apparatus for transferring file descriptors in a multiprocess, multithreaded client/server system
US5960436A (en) * 1997-08-29 1999-09-28 International Business Machines Corp. Transaction compaction for replay of transactions from client to server
SE512880C2 (sv) * 1998-07-03 2000-05-29 Ericsson Telefon Ab L M Ett cacheservernät
AU2322900A (en) * 1999-01-29 2000-08-18 Degitaldesign, ltd. Data transmission method, computer-readable medium, and data transmission apparatus
JP3763992B2 (ja) * 1999-03-30 2006-04-05 富士通株式会社 データ処理装置及び記録媒体
US6351744B1 (en) * 1999-05-28 2002-02-26 Unisys Corporation Multi-processor system for database management
US6751617B1 (en) * 1999-07-12 2004-06-15 Xymphonic Systems As Method, system, and data structures for implementing nested databases
US6658415B1 (en) * 2000-04-28 2003-12-02 International Business Machines Corporation Monitoring and managing user access to content via a universally accessible database
ATE446663T1 (de) * 2000-08-03 2009-11-15 Infineon Technologies Ag Dynamisch, rekonfigurierbares, universelles sendersystem
JP2004509399A (ja) * 2000-09-14 2004-03-25 プロビックス・インコーポレイテッド ネットワークにわたって配布されるオブジェクトを保護するためのシステム
US6665814B2 (en) 2000-11-29 2003-12-16 International Business Machines Corporation Method and apparatus for providing serialization support for a computer system
US20020078028A1 (en) * 2000-12-18 2002-06-20 Trevalon Inc. Network server
CA2329559A1 (en) 2000-12-22 2002-06-22 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for generating serialization code for representing a model in different type systems
US6928488B1 (en) * 2001-06-27 2005-08-09 Microsoft Corporation Architecture and method for serialization and deserialization of objects
US7240114B2 (en) * 2001-09-25 2007-07-03 Hewlett-Packard Development Company, L.P. Namespace management in a distributed file system
JP4207520B2 (ja) * 2001-10-02 2009-01-14 株式会社日立製作所 排他制御装置及び排他制御方法
US20030120680A1 (en) * 2001-11-16 2003-06-26 Rakesh Agrawal Method for directly providing content and services via a computer network
US6959310B2 (en) * 2002-02-15 2005-10-25 International Business Machines Corporation Generating data set of the first file system by determining a set of changes between data stored in first snapshot of the first file system, and data stored in second snapshot of the first file system
US6886064B2 (en) * 2002-03-28 2005-04-26 International Business Machines Corporation Computer system serialization control method involving unlocking global lock of one partition, after completion of machine check analysis regardless of state of other partition locks
US7526519B2 (en) * 2002-05-01 2009-04-28 Bea Systems, Inc. High availability application view deployment
US7216258B2 (en) * 2002-05-17 2007-05-08 Xiotech Corporation Method and apparatus for recovering from a non-fatal fault during background operations
US6988099B2 (en) * 2002-06-27 2006-01-17 Bea Systems, Inc. Systems and methods for maintaining transactional persistence
US6957221B1 (en) * 2002-09-05 2005-10-18 Unisys Corporation Method for capturing a physically consistent mirrored snapshot of an online database from a remote database backup system
US7146366B2 (en) * 2002-09-13 2006-12-05 Netezza Corporation Distributed concurrency control using serialization ordering
AU2003286905A1 (en) * 2002-11-08 2004-06-03 Dun And Bradstreet, Inc. Producing electronic business information reports
US7080145B2 (en) * 2003-02-28 2006-07-18 Bea Systems, Inc. Method for performing resource pool maintenance by maintaining resources in several deques
US20050010615A1 (en) * 2003-04-11 2005-01-13 Sun Microsystems, Inc. Multi-node computer system implementing memory-correctable speculative proxy transactions
JP2005005909A (ja) * 2003-06-10 2005-01-06 Sony Ericsson Mobilecommunications Japan Inc 競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器
US7010657B2 (en) * 2003-07-21 2006-03-07 Motorola, Inc. Avoiding deadlock between storage assignments by devices in a network
US7269607B2 (en) * 2003-09-29 2007-09-11 International Business Machines Coproartion Method and information technology infrastructure for establishing a log point for automatic recovery of federated databases to a prior point in time
US20050091231A1 (en) * 2003-10-24 2005-04-28 Shankar Pal System and method for storing and retrieving XML data encapsulated as an object in a database store
US7730482B2 (en) * 2004-06-08 2010-06-01 Covia Labs, Inc. Method and system for customized programmatic dynamic creation of interoperability content

Also Published As

Publication number Publication date
KR20070049155A (ko) 2007-05-10
CN1989500A (zh) 2007-06-27
JP4771378B2 (ja) 2011-09-14
US7627578B2 (en) 2009-12-01
CN100485676C (zh) 2009-05-06
ATE382904T1 (de) 2008-01-15
KR100974156B1 (ko) 2010-08-04
WO2006024581A1 (en) 2006-03-09
DE602005004166D1 (de) 2008-02-14
JP2008511884A (ja) 2008-04-17
EP1787223A1 (en) 2007-05-23
EP1787223B1 (en) 2008-01-02
US20060047685A1 (en) 2006-03-02
DE602005004166T2 (de) 2009-01-02

Similar Documents

Publication Publication Date Title
MX2007002204A (es) Aparato, sistema y metodo para reinicio de serializacion de sistema de archivos.
US5222217A (en) System and method for implementing operating system message queues with recoverable shared virtual storage
US9600315B2 (en) Seamless takeover of a stateful protocol session in a virtual machine environment
US7584222B1 (en) Methods and apparatus facilitating access to shared storage among multiple computers
US8560747B1 (en) Associating heartbeat data with access to shared resources of a computer system
US7203774B1 (en) Bus specific device enumeration system and method
US8707305B2 (en) Failure management for a virtualized computing environment
US5659682A (en) Scheme to determine completion of directory operations for server recovery
JP4567125B2 (ja) データ・ストレージとデータ処理システムにおける書き込みキャッシュデータの転送方法及びその装置
US5845147A (en) Single lock command for an I/O storage system that performs both locking and I/O data operation
US7698390B1 (en) Pluggable device specific components and interfaces supported by cluster devices and systems and methods for implementing the same
US7904906B2 (en) Tracking modified pages on a computer system
US20110179082A1 (en) Managing concurrent file system accesses by multiple servers using locks
US7533377B2 (en) Achieving autonomic behavior in an operating system via a hot-swapping mechanism
JP2004013563A (ja) コンピュータシステム、ユーザデータ記憶装置、記憶装置のデータ受け渡し方法、ユーザデータのバックアップ方法、およびプログラム
JPH08272725A (ja) 分散オブジェクト環境においてサーバの構成情報を判定し、操作するためのシステム、及び方法
JPH11327919A (ja) オブジェクト指向割込みシステム用の方法およびデバイス
US7752367B2 (en) File-based access control for shared hardware devices
JP2000148705A (ja) 共用資源を動的に結合するための方法及びその装置
US9940152B2 (en) Methods and systems for integrating a volume shadow copy service (VSS) requester and/or a VSS provider with virtual volumes (VVOLS)
JPH11316748A (ja) 並列処理コンピュ―タ・システムにおけるデ―タの転送方法
JP2002229837A (ja) 共有ディスク・パラレル・データ・ファイル内のデータに対するアクセスを制御する方法
US20090112969A1 (en) Checkpoint and restart of nfs version 2/version 3 clients with network state preservation inside a workload partition (wpar)
JPH1063523A (ja) マルチスレッド環境においてサーバの活動化を制御する方法および装置
US20120226673A1 (en) Configuration-less network locking infrastructure for shared file systems

Legal Events

Date Code Title Description
FG Grant or registration