ES2566933T3 - Proporcionar recuperación frente a fallos transparente en un sistema de ficheros - Google Patents

Proporcionar recuperación frente a fallos transparente en un sistema de ficheros Download PDF

Info

Publication number
ES2566933T3
ES2566933T3 ES11846483.3T ES11846483T ES2566933T3 ES 2566933 T3 ES2566933 T3 ES 2566933T3 ES 11846483 T ES11846483 T ES 11846483T ES 2566933 T3 ES2566933 T3 ES 2566933T3
Authority
ES
Spain
Prior art keywords
server
resume
client
file
status
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES11846483.3T
Other languages
English (en)
Inventor
Paul R. Swan
Mathew George
David M. Kruse
Roopesh C. Battepati
Michael C. Johnson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Application granted granted Critical
Publication of ES2566933T3 publication Critical patent/ES2566933T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/1443Transmit or communication errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Retry When Errors Occur (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Un procedimiento implementado por ordenador para capturar información de estado del sistema de ficheros para facilitar la reanudación de las conexiones, comprendiendo el procedimiento: recibir (210) desde un cliente una solicitud para acceder a un recurso remoto almacenado en un servidor; determinar (220) un identificador que identifica una sesión de cliente relacionada con la solicitud; crear (230), en un almacenamiento (130) de datos de estado externo al servidor y accesible mediante un servidor de reanudación distinto del servidor, un registro de estado para cada manejador de fichero, pudiéndose buscar el registro de estado mediante el identificador que asocia información de estado, creada mediante las operaciones solicitadas por el cliente usando el manejador de fichero, con el identificador; recibir (240) una operación de fichero desde el cliente que solicita acceso a un fichero accesible a través del servidor; almacenar (250), en el almacenamiento de datos de estado, información de estado de reanudación en el registro de estado creado que proporciona información para reanudar la operación de fichero recibida si el cliente pierde su conexión con el servidor; detectar una condición que hace al servidor no disponible e informar al servidor de reanudación para actuar en lugar del servidor; recuperar (340) información de estado almacenada desde el almacenamiento de datos de estado, en el que la información de estado permite al servidor de reanudación reanudar cualquier operación de sistema de ficheros previamente solicitada que se interrumpiera por la condición de fallo detectada; y cargar (350) la información de estado recuperada en el servidor de reanudación para permitir al servidor de reanudación continuar (360) operaciones previamente solicitadas por el cliente, en el que se aplica un periodo de prohibición en el acceso a uno o más recursos, evitando el periodo de prohibición que un segundo cliente interfiera con los recursos de tal manera que pudiera entrar en conflicto con la reanudación de la conexión por el cliente al servidor de reanudación.

Description

5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Proporcionar recuperacion frente a fallos transparente en un sistema de ficheros Antecedentes
Existe una diversidad de tecnicas para compartir ficheros, impresoras y otros recursos entre dos ordenadores en una red. Por ejemplo, dos protocolos de red de la capa de aplicacion para compartir recursos son el Bloque de Mensajes del Servidor (SMB) y el Sistema de Ficheros en Red (NFS). SMB se usa mediante MICROSOFT TM WINDOWS Tm y otros sistemas operativos para permitir a dos ordenadores u otros recursos comunicar, solicitar acceso a recursos, especificar acceso pretendido de recursos (por ejemplo, lectura, escritura, etc.), bloquear recursos y asf sucesivamente. MICROSOFT TM WINDOWS TM Vista introdujo SMB 2.0, que simplifica el conjunto de comandos de SMB 1.0 y anade muchas otras mejoras. MICROSOFT TM WINDOWS tM 7 y Server 2008 R2 introdujeron SMB 2.1, que anade bloqueo oportunista (oplocks) y otras mejoras.
La mayona de los protocolos para comparticion remota de recursos suponen una relacion de uno a uno entre conexiones y sesiones. Una sesion representa el tiempo de vida de cualquier solicitud unica para acceder a un recurso y el posterior acceso de ese recurso hasta que la conexion se termina. Una sesion puede asociarse tambien con unos credenciales principales de seguridad particulares y de seguridad validados que determinan las acciones que se autorizan durante la sesion. Una conexion puede incluir un Protocolo de Control de Transmision (TCP), Protocolo de Datagramas de Usuario (UDP) u otro tipo de conexion a traves de la cual los protocolos de nivel superior como SMB y NFS pueden comunicarse para llevar a cabo comandos. Una sesion de SMB o de NFS tipicamente implica abrir una conexion de TCP o de UDP entre un origen de una solicitud y un objetivo de la solicitud, enviar uno o mas comandos de SMB o de NFS para acceder al recurso objetivo y a continuacion cerrar la sesion. En ocasiones las conexiones se pierden durante una sesion (por ejemplo, debido a un fallo de red), se elimina cualquier estado de cliente y de servidor establecido durante la conexion. Para reestablecer una conexion el cliente y el servidor tfpicamente tienen que repetir todas las etapas usadas para establecer inicialmente la conexion de nuevo.
El protocolo SMB2 proporciona una clave de reanudacion que permite a los clientes reestablecer rapidamente un manejador de fichero a un servidor si un cliente se desconecta del servidor, posibilitando a los clientes reducir los recorridos de ida y vuelta de red al servidor y reducir la carga en el servidor cuando un cliente se reconecta. Sin embargo, hoy en dfa la clave de reanudacion no proporciona restauracion del estado en el caso de recuperacion frente a fallos de servidor en el que el servidor de SMB2 pierde estado volatil durante un reinicio de servidor o recuperacion frente a fallos de una agrupacion. La informacion de estado asociada con las aperturas existentes se pierde y debe reestablecerse. Ademas, la clave de reanudacion es un concepto de nivel de aplicacion que puede crearse unicamente y usarse en el lfmite de una aplicacion pero no compartirse.
El documento US 2005/091212 se refiere a un procedimiento y sistema para proporcionar acceso de estado completo a ficheros y reanudar acceso si se cortara una conexion. Una clave de reanudacion se devuelve al cliente que permite al cliente solicitar un manejador duplicado a un fichero abierto. El manejador duplicado puede usarse para acceder al fichero de la misma manera que el manejador usado para abrir el fichero. Cuando se corta una conexion, el fichero permanece abierto en el servidor durante un periodo de tiempo y la informacion de estado asociada con el fichero se mantiene. Incluso si una conexion no se cortara, un cliente puede solicitar uno o mas manejadores duplicados y establecer otros canales (tambien conocidos como conexiones) con los que acceder al fichero.
El documento US 2007/192326 se refiere a un mecanismo de recuperacion frente a fallos de sesion distribuida para facilitar la replicacion y recuperacion de informacion de sesion. Un primer servidor, en una red confiable, que proporciona una solucion de inicio de sesion unificado (SSO), almacena informacion de sesion que pertenece a un cliente particular que solicita servicios asociados con el servidor. Para proporcionar recuperacion frente a fallos de sesion, el primer servidor envfa una copia de la informacion de sesion a un mecanismo de bus, que esta conectado a uno o mas repositorios persistentes. Cuando un segundo servidor intenta validar el cliente, el segundo servidor puede descubrir que el primer servidor fallo. El segundo servidor a continuacion solicita una copia de la informacion de sesion que pertenece al cliente desde el mecanismo de bus. El mecanismo de bus recupera la copia desde un repositorio persistente y proporciona la copia al segundo servidor.
El documento US 2005/223014 se refiere a un sistema de ficheros de NAS escalable y protocolos para implementar CIFS en el mismo. Los protocolos implementan el protocolo de CIFS en una arquitectura de servidor de ficheros escalable que tiene uno o mas nodos de terminacion de protocolo, uno o mas nodos de servidor de fichero y uno o mas nodos de controlador de disco. Entre las caractensticas que pueden implementarse espedficamente estan acceso al arbol, acceso a fichero, autenticacion de usuario, bloqueo, mantenimiento de estado y recuperacion frente a fallos de nodos de terminacion de protocolo y nodos de servidor de fichero.
Sumario
Es el objeto de la presente invencion proporcionar un procedimiento y sistema para capturar informacion de sistema de ficheros para facilitar reanudar conexiones.
5
10
15
20
25
30
35
40
45
50
55
Este objeto se resuelve mediante la invencion como se define mediante la materia objeto de las reivindicaciones independientes adjuntas 1 y 9.
Se definen realizaciones preferidas en las reivindicaciones dependientes.
Se describe en el presente documento un sistema de estado de conexion que permite a un cliente reanudar una conexion con un servidor o un servidor de reemplazo diferente almacenando de manera remota informacion de estado de cliente en asociacion con una clave de reanudacion. El sistema proporciona un filtro de clave de reanudacion que opera en el servidor que facilita el almacenamiento de informacion de estado de servidor volatil. La informacion de estado puede incluir informacion tal como bloqueos oportunistas, arrendamientos concedidos a un cliente y operaciones en vuelo en un manejador de fichero. El controlador de filtro de clave de reanudacion se encuentra por encima del sistema de ficheros, que permite que multiples protocolos de acceso a ficheros usen el filtro, asf como permitir que el filtro proporcione esta funcionalidad a traves de multiples sistemas de ficheros. El sistema proporciona informacion de estado al protocolo, independiente del protocolo real. Tras un evento de recuperacion frente a fallos, tal como un servidor que deja de funcionar o pierde conectividad con un cliente, el sistema puede poner otro servidor o el mismo servidor y reestablecer el estado para los manejadores de ficheros mantenidos por diversos clientes usando el filtro de clave de reanudacion. El filtro aplica una ventana de prohibicion en los ficheros activos despues de la recuperacion frente a fallos que garantiza que el estado del fichero activo puede restaurarse de manera coherente y que los otros clientes no intervienen en acceder al fichero mientras tanto. En la fase de reanudacion, la clave de reanudacion se usa para mapear manejadores de ficheros pre-recuperacion frente a fallos existentes al estado de fichero conservado post-recuperacion frente a fallos almacenado mediante el filtro de clave de reanudacion. Por lo tanto, el sistema de estado de conexion permite que el mismo u otro servidor reanuden el estado de una sesion anterior con un cliente despues de un evento de recuperacion frente a fallos con tan poca interrupcion como sea posible para los clientes.
Este Sumario se proporciona para introducir una seleccion de conceptos de una forma simplificada que se describen adicionalmente a continuacion en la Descripcion Detallada. Este Sumario no se pretende para identificar caractensticas clave o caractensticas esenciales de la materia objeto reivindicada, ni pretende usarse para limitar el alcance de la materia objeto reivindicada.
Breve descripcion de los dibujos
La Figura 1 es un diagrama de bloques que ilustra componentes del sistema de estado de conexion, en una
realizacion.
La Figura 2 es un diagrama de flujo que ilustra el procesamiento del sistema de estado de conexion para
capturar informacion de estado de sistema de ficheros, en una realizacion.
La Figura 3 es un diagrama de flujo que ilustra el procesamiento del sistema de estado de conexion para
reanudar una conexion despues de recuperacion frente a fallos, en una realizacion.
La Figura 4 es un diagrama de bloques que ilustra el entorno de operacion del sistema de estado de conexion,
en una realizacion.
Descripcion detallada
Se describe en el presente documento un sistema de estado de conexion que permite a un cliente reanudar una conexion con un servidor o un servidor de reemplazo diferente almacenando de manera remota informacion de estado de cliente en asociacion con una clave de reanudacion. El sistema proporciona un filtro de clave de reanudacion que opera en el servidor que facilita el almacenamiento de informacion de estado de servidor volatil. La informacion de estado puede incluir informacion tal como bloqueos oportunistas, arrendamientos concedidos a un cliente y operaciones en vuelo en un manejador de fichero. El controlador de filtro de clave de reanudacion se encuentra por encima del sistema de ficheros, que permite que multiples protocolos de acceso de fichero usen el filtro, asf como permitir al filtro proporcionar esta funcionalidad a traves de multiples sistemas de ficheros. El sistema proporciona informacion de estado al protocolo, independiente del protocolo real. Tras un evento de recuperacion frente a fallos, tal como un servidor que deja de funcionar o pierde conectividad con un cliente el sistema puede poner otro servidor o el mismo servidor (por ejemplo, mediante conexion diferente, tal como una conexion de Ethernet redundante) y reestablecer el estado para los manejadores de ficheros mantenidos por diversos clientes usando el filtro de clave de reanudacion.
El sistema proporciona un filtro de clave de reanudacion que puede usarse para recuperacion frente a fallos transparente despues de que un servidor pierde su conexion con un cliente. El filtro de clave de reanudacion se encuentra por encima del sistema de ficheros y es por lo tanto independiente del protocolo usado para acceder al sistema de ficheros. El filtro de clave de reanudacion registra el estado de fichero activo y a continuacion restaura el estado de fichero activo despues de una recuperacion frente a fallos. El filtro de clave de reanudacion puede capturar una diversidad de informacion de estado. Por ejemplo, el filtro registra el estado de sistema de ficheros activo que comprende manejadores abiertos (referenciados estaticamente mediante una clave de reanudacion), estado de fichero no comprometido (tal como borrar al salir, borrar pendiente y estado de bloqueo), y ciertas operaciones de fichero en vuelo/interrumpidas. El filtro restaura el estado de sistema de ficheros activo despues de recuperacion frente a fallos de manera que los manejadores abiertos se reanudan para coincidir con aquellas
5
10
15
20
25
30
35
40
45
50
55
60
operaciones anteriores a la recuperacion frente a fallos y en vuelo que pueden reproducirse de manera coherente. El filtro proporciona un medio para que multiples Sistemas de Ficheros Remotos (RFS) almacenen y recuperen datos opacos privados que estan asociados con un manejador de fichero abierto referenciado a traves de una clave de reanudacion. El filtro aplica una ventana de prohibicion en ficheros activos despues de la recuperacion frente a fallos que garantiza que el estado de fichero activo puede restaurarse de manera coherente y que los otros clientes no intervienen en acceder al fichero mientras tanto. El filtro tambien permite que un fichero actualmente activo se “suspenda” y a continuacion se reanude sin una recuperacion frente a fallos para soportar SMB en el escenario de agrupacion donde los nodos se recuperan frente a fallos.
Un sistema de fichero remoto (RFS) suministra una clave de reanudacion con cada operacion de creacion de fichero como un parametro extra durante la creacion. La clave es unica para el RFS. El filtro de clave de reanudacion usa una clave de reanudacion y una clave de identificacion de RFS juntas como un identificador globalmente unico (GUID) para un manejador de fichero. En la fase de reanudacion, la clave de reanudacion se usa para mapear los manejadores de ficheros pre-recuperacion frente a fallos existentes al estado de fichero conservado post- recuperacion frente a fallos mediante el filtro de clave de reanudacion. Por lo tanto, el sistema de estado de conexion permite que el mismo u otro servidor reanuden el estado de una sesion anterior con un cliente despues de un evento de recuperacion frente a fallos con tan poca interrupcion como sea posible para los clientes.
La Figura 1 es un diagrama de bloques que ilustra componentes del sistema de estado de conexion, en una realizacion. El sistema 100 incluye un componente 110 de recopilacion de estado, un componente 120 de almacenamiento de estado, un almacenamiento 130 de datos de estado, un componente 140 de deteccion de reanudacion, un componente 150 de recuperacion de estado, un componente 160 de restauracion de estado, un componente 170 de aplicacion de prohibicion y un componente 180 de suspension de recursos. Cada uno de estos componentes se describe en mayor detalle en el presente documento.
El componente 110 de recopilacion de estado crea un registro de estado para cada manejador de fichero y recopila informacion de estado a medida que un cliente solicita operaciones que usan el manejador de fichero. El componente 110 puede operar en un servidor y almacenar informacion de estado externamente desde el servidor de modo que puede accederse a la informacion de estado si el servidor no estuviera disponible. Por ejemplo, el componente 110 puede almacenar la informacion de estado en el almacenamiento 130 de datos de estado descrito adicionalmente en el presente documento. El componente 110 de recopilacion de estado puede recibir una clave de reanudacion desde el cliente cuando el cliente se conecta al servidor, y el componente 110 asocia informacion de estado recopilada con la clave de reanudacion en el almacenamiento 130 de datos de estado. Si un cliente se esta reconectando despues de un evento de recuperacion frente a fallos, el cliente proporcionara la misma clave de reanudacion usada para abrir la conexion inicial y el servidor actual puede encontrar la informacion de estado almacenada mediante el servidor anterior y recrear el estado de servidor desde la informacion de estado.
El componente 120 de almacenamiento de estado almacena informacion de estado recopilada en asociacion con una clave de reanudacion proporcionada mediante el cliente. El componente 120 almacena la informacion de estado en el almacenamiento 130 de datos de estado y mantiene un registro de operaciones relacionadas con la clave de reanudacion que se restauranan en el caso de un evento de recuperacion frente a fallos. La informacion de estado puede incluir manejadores de ficheros abiertos, bloqueos oportunistas concedidos, arrendamientos e informacion de arrendamiento, operaciones de fichero en progreso, bloqueos de intervalos de bytes y cualquier otra informacion que otro servidor usana para llevar a cabo las solicitudes del cliente sin que el cliente restablezca todo el estado anterior.
El almacenamiento 130 de datos de estado almacena de manera persistente informacion de estado de sistema de ficheros que un servidor de reanudacion usa para recrear informacion de estado almacenada mediante un servidor que falla. En algunos casos, el servidor de reanudacion y el servidor que falla pueden ser el mismo servidor usando una conexion diferente al cliente o que vuelve despues de un breve apagon. En otros casos, el servidor de reanudacion y el servidor que falla son servidores diferentes, y el almacenamiento 130 de datos de estado se proporciona en una localizacion accesible para que ambos servidores compartan la informacion de estado. El almacenamiento 130 de datos de estado puede incluir uno o mas ficheros, sistemas de ficheros, discos duros, bases de datos, redes de area de almacenamiento (SAN), servicios de almacenamiento basados en la nube u otra instalacion de almacenamiento para almacenar datos de manera persistente y accesible para que tanto el servidor que falla como el de reanudacion intercambien informacion. Ya que el servidor que falla esta realizando operaciones, esta almacenando informacion de estado acerca del progreso de las operaciones en el almacenamiento 130 de datos de estado. Tras un fallo, el servidor que falla se interrumpira, y un servidor de reanudacion accede a la informacion de estado para reanudar el estado y sigue llevando a cabo cualquier operacion que no se completo.
El componente 140 de deteccion de reanudacion detecta una condicion que hace al servidor que falla no disponible e informa a un servidor de reanudacion para actuar en lugar del servidor que falla. La deteccion puede accionarse por el cliente, de manera que el sistema no realiza ninguna etapa de reanudacion hasta que el cliente se reconecta al sistema y proporciona una clave de reanudacion usada previamente. El sistema identifica la clave y cualquier informacion de estado almacenada en asociacion con la clave y restaura esa informacion de estado como parte de establecimiento de la conexion. El servidor de reanudacion puede ser el mismo o un servidor diferente del servidor que falla, y el componente 140 de deteccion de reanudacion asegura que el servidor de reanudacion se vuelve activo para manejar las solicitudes de los clientes. En otras realizaciones, la deteccion puede accionarse por el
5
10
15
20
25
30
35
40
45
50
55
60
servidor y el sistema puede poner de manera proactiva un servidor de reanudacion tras detectar que un servidor que falla ha dejado de funcionar. El sistema puede pre-rellenar tambien el servidor de reanudacion con informacion de estado almacenada incluso antes de que un cliente solicite una conexion al servidor.
El componente 150 de recuperacion de estado recupera la informacion de estado almacenada desde una localizacion accesible al servidor de reanudacion, en el que la informacion de estado permite el servidor de reanudacion reanudar cualquier operacion de sistema de ficheros previamente solicitada que se interrumpiera por la condicion de fallo detectada. El componente 150 de recuperacion de estado recupera informacion de estado desde el almacenamiento 130 de datos de estado e invoca el componente 160 de restauracion de estado para cargar la informacion en el servidor de reanudacion de modo que el servidor de reanudacion puede continuar las operaciones solicitadas mediante el cliente.
El componente 160 de restauracion de estado carga la informacion de estado recuperada en el servidor de reanudacion de modo que el servidor de reanudacion puede continuar las operaciones previamente solicitadas mediante el cliente. La restauracion puede incluir tambien refrescar cualquier bloqueo oportunista y/o arrendamientos mantenidos por el cliente para asegurar que los otros clientes respeten los niveles de acceso previamente solicitados y/o exclusivamente concedidos al cliente. El componente 160 de restauracion de estado permite a un nuevo servidor o nodo tomar el lugar de un servidor o nodo que falla sin poner una carga pesada en el cliente para restaurar informacion de estado repitiendo operaciones pasadas. Los clientes que usan protocolos como SMB 2.0 ya conocen como usar una clave de reanudacion para restaurar una conexion al mismo servidor, y el sistema de estado de conexion permite que un servidor sustituto tome el lugar de un servidor que falla de manera transparente para el cliente. Las claves de reanudacion pueden usarse tambien con NFS. En el caso de NFS, el concepto de una clave de reanudacion es completamente opaco para el cliente. El cliente no hace referencia explfcitamente o participa en la generacion, gestion y asociacion de la clave de reanudacion. En su lugar, la clave de reanudacion es un concepto del lado del servidor.
El componente 170 de aplicacion de prohibicion aplica un periodo de prohibicion en acceso a uno o mas ficheros u otros recursos que evita que un segundo cliente interfiera con recursos de tal manera que pudiera entrar en conflicto con un primer cliente que reanuda una conexion con el servidor de reanudacion. El componente 170 puede seleccionar automaticamente un periodo que se considera que es suficientemente largo para evitar la mayona de las operaciones en conflicto (por ejemplo, 15 o 30 segundos), pero no tan largo como para evitar que otros clientes accedan a los recursos si el primer cliente no reanuda la conexion. El periodo permite al primer cliente reanudar la conexion si el primer cliente lo elige. En algunas realizaciones, el sistema permite a un administrador u otro usuario configurar la duracion del periodo de prohibicion para ajustar el sistema para fines espedficos de la aplicacion. El sistema puede permitir tambien a clientes individuales solicitar un periodo de prohibicion como un parametro para una solicitud de creacion/apertura u otra interfaz de programacion de aplicacion (API). En respuesta a intentos para acceder a un recurso prohibido, el componente 170 puede proporcionar una indicacion para intentar de nuevo despues de un periodo particular o simplemente fallar la solicitud. Despues del periodo de prohibicion si ningun cliente ha reanudado la conexion, entonces se termina la prohibicion y las solicitudes para acceder al recurso sucederan de manera normal.
El componente 180 de suspension de recurso permite a un recurso actualmente activo que se suspenda y se reanude sin un evento de recuperacion frente a fallos para permitir a una agrupacion recuperarse frente a fallos a otro nodo de una manera planeada. Un ejemplo es el equilibrio de carga. La suspension permite escenarios donde un subconjunto del estado se esta pasando a un nuevo nodo. Por ejemplo, si un nodo en la agrupacion esta sobrecargado, un administrador puede desear migrar la mitad de los clientes del nodo a un nuevo nodo. La suspension permite capturar el estado de las aperturas que se estan migrando y permite al cliente conectarse al nuevo nodo como una continuacion de la misma apertura (por ejemplo, sin reestablecer el estado del servidor). Como otro ejemplo, SMB soporta escenarios de agrupacion en los que nodos genericos se ponen en una agrupacion y pueden usarse de manera intercambiable para servir solicitudes de cliente. En ocasiones hay una razon para apagar un nodo particular, tal como para mantenimiento, y es deseable suspender de manera limpia el nodo actual, activar el nuevo nodo, desactivar el nodo antiguo y a continuacion realizar cualquier operacion de mantenimiento en el nodo desactivado. Esto puede tener un impacto indeseable en los clientes, pero usando las tecnicas descritas en el presente documento, el sistema 100 puede suspender el nodo de una manera organizada, y permitir a los clientes reanudar operaciones con el nuevo nodo de manera eficaz.
El dispositivo informatico en el que se implementa el sistema de estado de conexion puede incluir una unidad de procesamiento central, memoria, dispositivos de entrada (por ejemplo, teclado y dispositivos apuntadores), dispositivos de salida (por ejemplo, dispositivos de pantalla) y dispositivos de almacenamiento (por ejemplo, unidades de disco u otro medio de almacenamiento no volatil). La memoria y los dispositivos de almacenamiento son medios de almacenamiento legibles por ordenador que pueden codificarse con instrucciones ejecutables por ordenador (por ejemplo, software) que implementan o posibilitan el sistema. Ademas, las estructuras de datos y estructuras de mensaje pueden almacenarse o transmitirse mediante un medio de transmision de datos, tal como una senal en un enlace de comunicacion. Pueden usarse diversos enlaces de comunicacion, tales como internet, una red de area local, una red de area extensa, una conexion de marcacion de punto a punto, una red de telefoma celular y asf sucesivamente.
5
10
15
20
25
30
35
40
45
50
55
Las realizaciones del sistema pueden implementarse en diversos entornos operativos que incluyen ordenadores personales, ordenadores servidores, dispositivos de mano o portatiles, sistemas multiprocesador, sistemas basados en microprocesador, electronica de consumo programable, camaras digitales, PC de red, miniordenadores, ordenadores centrales, entornos informaticos distribuidos que incluyen cualquiera de los sistemas o dispositivos anteriores, decodificadores de salon, sistemas en un chip (SOC) y asf sucesivamente. Los sistemas informaticos pueden ser telefonos celulares, asistentes digitales personales, telefonos inteligentes, ordenadores personales, electronica de consumo programable, camaras digitales y asf sucesivamente.
El sistema puede describirse en el contexto general de instrucciones ejecutables por ordenador, tales como modulos de programa, ejecutados mediante uno o mas ordenadores u otros dispositivos. En general, los modulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos y asf sucesivamente que realizan tareas particulares o implementan tipos de datos abstractos particulares. Tfpicamente, la funcionalidad de los modulos de programa puede combinarse o distribuirse segun se desee en diversas realizaciones.
La Figura 2 es un diagrama de flujo que ilustra el procesamiento del sistema de estado de conexion para capturar informacion de estado de sistema de fichero, en una realizacion. Comenzando en el bloque 210, el sistema recibe desde un cliente una solicitud para acceder a un recurso remoto almacenado en un servidor. La solicitud de acceso puede incluir uno o mas parametros, incluyendo una clave de reanudacion usada para identificar la sesion a traves de multiples conexiones potenciales si una conexion falla. La solicitud de acceso de recursos puede ser la primera en una serie de solicitudes de acceso enviadas desde el cliente, y si el cliente se desconectara alguna vez del servidor el cliente puede proporcionar la misma clave de reanudacion en una solicitud de apertura posterior al mismo o a un nuevo servidor para reanudar la conexion. La clave de reanudacion ayuda al servidor a responder al cliente mas rapido correlacionando informacion de estado mantenida por el servidor (o a traves de servidores) entre lo que de otra manera parecena que son conexiones de cliente independientes.
Continuando en el bloque 220, el sistema determina un identificador que identifica una sesion de cliente relacionada con la solicitud. El identificador en algunos casos es una clave de reanudacion que el cliente proporciona para manejadores duraderos que permiten reanudar sesiones que se desconectan por diversas razones. La solicitud de acceso puede incluir uno o mas parametros en localizaciones bien definidas en el protocolo de modo que el sistema puede extraer la clave leyendo la localizacion apropiada en la solicitud. Como alternativa o adicionalmente, el servidor puede incluir un procedimiento automatizado para determinar el identificador que no implica informacion explfcitamente proporcionada mediante el cliente. Por ejemplo, el servidor puede identificar el cliente mediante la direccion del Protocolo de Internet (IP) u otros datos deducidos que indican al servidor que la conexion del cliente esta correlacionada con una sesion anterior.
Continuando en el bloque 230, el sistema crea un registro de reanudacion que puede buscarse mediante el identificador extrafdo que asocia informacion de estado creada mediante operaciones solicitadas mediante el cliente con el identificador extrafdo. El registro de reanudacion puede almacenarse en una localizacion externa al servidor que maneja la solicitud de acceso actual de modo que si el servidor falla otro servidor podra leer el registro para reanudar las operaciones y actuar en lugar del servidor original. El registro de reanudacion puede incluir un fichero, un registro de base de datos u otra forma de almacenamiento. El registro puede contener una lista de manejadores de ficheros abiertos, bloqueos oportunistas obtenidos mediante el cliente, arrendamientos u otra informacion de estado del sistema de ficheros.
Continuando en el bloque 240, el sistema recibe una operacion de fichero desde el cliente que solicita acceso a un fichero accesible a traves del servidor. La operacion de fichero puede ser una solicitud para abrir un fichero, cerrar un fichero, leer un fichero, escribir un fichero, imprimir en una impresora compartida u otras operaciones de sistema de ficheros. La operacion recibida implica una cierta cantidad de informacion de estado que se crea en el servidor. Por ejemplo, si el cliente abre un manejador al fichero, a continuacion el servidor rastrea ese manejador para gestionar otras solicitudes relacionadas con el fichero y para gestionar el tiempo de vida y/o procesamiento de limpieza para el manejador.
Continuando en el bloque 250, el sistema almacena informacion de estado de reanudacion en el registro de reanudacion creado que proporciona informacion para reanudar la operacion de fichero recibida si el cliente pierde su conexion con el servidor. Si la conexion del cliente falla, el cliente intentara reanudar la conexion abriendo de nuevo un recurso remoto y especificando la misma clave de reanudacion u otro identificador de sesion. Esto permitira al servidor o a otro servidor acceder al registro de reanudacion almacenado y reestablecer la informacion de estado anterior.
Continuando en el bloque 260, el sistema realiza la operacion de fichero solicitada. La operacion puede abrir un fichero, leer los contenidos del fichero, escribir datos en el fichero, cambiar derechos de acceso al fichero o cualquier otra operacion de sistema de ficheros. El resultado de la operacion puede cambiar el estado almacenado mediante el servidor. Por ejemplo, si el cliente intenta elegir un manejador y el servidor cierra satisfactoriamente el manejador, entonces el estado de servidor se actualizara para eliminar el manejador de una lista de manejadores rastreados mediante el servidor.
5
10
15
20
25
30
35
40
45
50
55
60
Continuando en el bloque 270, el sistema actualiza la informacion de estado de reanudacion almacenada en el registro de reanudacion creado basandose en un resultado de la operacion de fichero realizada. El sistema no puede conocer con antelacion cuando tendra lugar un fallo que produzca recuperacion frente a fallos, por lo que el sistema mantiene una vista actualizada del estado del servidor en el registro de reanudacion que permite a un servidor reestablecer el estado tan proximo al estado del servidor anterior como sea posible. Las operaciones que no se completaron pueden reproducirse para completar las operaciones mientras que las operaciones que se completaron no necesitan repetirse (pero el servidor puede reenviar el resultado al cliente). Por lo tanto, el sistema actualiza el estado segun sea necesario durante y despues de diversas operaciones de sistema de ficheros que cambian la informacion de estado de servidor.
Continuando en el bloque 280, el sistema envfa una respuesta al cliente que indica el resultado de la operacion de fichero solicitada. Si el cliente y el servidor estan aun conectados, entonces las operaciones continuan como si solicitaran mediante el cliente y el servidor sigue rastreando informacion de estado actualizada. Si en cualquier momento se pierde la conexion, puede ponerse otro servidor o repararse el servidor existente y la informacion de estado puede cargarse desde el almacenamiento de estado para reestablecer el estado del servidor anterior. Tras recibir una nueva solicitud desde el cliente para reanudar la sesion, el cliente no necesita conocer que ha tenido lugar la recuperacion frente a fallos y que el cliente esta interactuando potencialmente con un servidor diferente al original. Despues del bloque 280, estas etapas concluyen.
La Figura 3 es un diagrama de flujo que ilustra el procesamiento del sistema de estado de conexion para reanudar una conexion despues de recuperacion frente a fallos, en una realizacion. Comenzando en el bloque 310, el sistema recibe desde un cliente una solicitud para abrir un recurso remoto almacenado en un servidor. La solicitud de acceso puede incluir uno o mas parametros, incluyendo una clave de reanudacion usada para identificar la sesion a traves de multiples conexiones potenciales si una conexion falla. A diferencia de la solicitud de acceso de recurso analizada con referencia a la Figura 2, esta solicitud es una solicitud para reconectar a una sesion previamente conectada. El cliente proporciona la misma clave de reanudacion como se proporciono originalmente, de modo que el servidor puede correlacionar la solicitud de sesion actual con la sesion anterior.
Continuando en el bloque 320, el sistema determina un identificador de sesion que identifica una sesion de cliente relacionada con la solicitud. El identificador en algunos casos es una clave de reanudacion de SMB 2 que el cliente proporciona para manejadores duraderos que permiten reanudar sesiones que se desconectan por diversas razones. La solicitud de acceso puede incluir uno o mas parametros en localizaciones bien definidas en el protocolo de modo que el sistema puede extraer la clave leyendo la localizacion apropiada en la solicitud. En otros casos, el servidor puede determinar el identificador automaticamente basandose en informacion acerca del cliente.
Continuando en el bloque 330, el sistema busca el identificador de sesion recibido en un almacenamiento de estado para identificar un registro de reanudacion asociado con el identificador de sesion. Cualquier interaccion de servidor anterior con el cliente usando una sesion que puede reanudarse almacena informacion de estado en una base en curso a traves de la interaccion con el cliente. Cuando el cliente intenta reestablecer la conexion, la informacion de estado esta disponible para un servidor de recuperacion frente a fallos que se pone en marcha en el servidor original. La informacion de estado puede almacenarse externamente al servidor original de modo que la informacion es accesible despues de un fallo del servidor original.
Continuando en el bloque 340, el sistema recibe desde el almacenamiento de estado informacion de estado anterior asociada con el registro de reanudacion. La informacion de estado identifica el estado estatico, tal como manejadores de ficheros abiertos, arrendamientos obtenidos, bloqueos oportunistas obtenidos y asf sucesivamente, asf como el estado dinamico, tal como operaciones en vuelo que pueden no haberse completado. La informacion de estado almacenada permite al servidor de recuperacion frente a fallos tomar el lugar del servidor original sin procesamiento espedfico mediante el cliente. El cliente entiende los manejadores que pueden reanudarse y realiza etapas para hacer una conexion que puede reanudarse, pero puede no conocer cual servidor termina manejando la conexion en algun momento particular. El cliente puede acceder al servidor mediante un nombre de dominio o comparticion de fichero de red que puede resolver a una direccion de uno cualquiera de varios servidores, incluyendo el servidor de recuperacion frente a fallos.
Continuando en el bloque 350, el sistema restaura la informacion de estado anterior recibida cargando la informacion en los componentes del sistema de ficheros que rastrean el estado del sistema de ficheros. Despues de cargar el estado, el estado local del servidor de recuperacion frente a fallos es similar a como parecena el estado si todas las operaciones anteriores hubieran ocurrido en el servidor de recuperacion frente a fallos. Por lo tanto, el servidor de recuperacion frente a fallos es tan util para que el cliente continue la serie de operaciones como si el servidor original no hubiera tenido la conexion fallida.
Continuando en el bloque 360, el sistema responde a la solicitud de acceso del cliente indicando que el servidor encontro el registro de reanudacion y esta listo para recibir operaciones de cliente relacionadas con la sesion anterior. Basandose en la respuesta del servidor, el cliente puede determinar si la sesion se reanuda o si el cliente necesita tomar etapas para repetir operaciones anteriores. Si la sesion se reanudo satisfactoriamente, entonces el cliente puede seguir conociendo las operaciones anteriores completadas o se reproducen para completar despues de que el servidor se reanudo. En algunos casos, el sistema puede dar al cliente un nuevo manejador de fichero que
5
10
15
20
25
30
35
40
45
50
tiene el mismo estado que el manejador de fichero pre-recuperacion frente a fallos. Despues del bloque 360, estas etapas concluyen.
La Figura 4 es un diagrama de bloques que ilustra el entorno de operacion del sistema de estado de conexion, en una realizacion. El entorno incluye uno o mas servicios de sistema operativo o aplicaciones que interaction con sistemas de ficheros. Por ejemplo, MICROSOFT TM WINDOWS TM incluye un servicio 420 de servidor conocido como SRV, y un servicio 410 de sistema de ficheros de red conocido como NFS. El servicio 410 de sistema de ficheros de red y el servicio 420 de servidor proporcionan acceso a recursos compartidos, tales como ficheros e impresoras, entre sistemas informaticos. El servicio 420 de servidor usa el protocolo de SMB comun a redes de WINDOWS TM, mientras el servicio 410 de sistema de ficheros de red proporciona acceso a sistemas basados en Unix que usan mas comunmente NFS. Independientemente del protocolo, el filtro 430 de clave de reanudacion captura operaciones de fichero y almacena informacion de estado para reanudar las operaciones en un almacenamiento de datos remoto. Las operaciones pasan a traves del nivel 440 de sistema de ficheros (por ejemplo, NTFS u otro sistema de ficheros), y afectan a uno o mas ficheros 450 de datos de usuario. Mientras tanto, el filtro 430 de clave de reanudacion escribe informacion de estado en un fichero 460 de registro u otro almacenamiento de datos, que otro servidor puede acceder para recuperar informacion de estado y reanudar una conexion con un cliente. El sistema puede operar independiente del protocolo particular o del sistema de ficheros implicado, y pueden actualizarse diversos componentes para grabar su propia informacion de estado particular en el almacenamiento de datos de estado.
En algunas realizaciones, el sistema de estado de conexion almacena objetos binarios grandes opacos de datos en beneficio de los componentes del sistema de ficheros para permitir al sistema reanudar las conexiones sin conocimiento espedfico del componente. Por ejemplo, el filtro de clave de reanudacion descrito en el presente documento puede pedir al servicio de servidor algun dato que el servicio de servidor necesitana recrear en su estado actual. El filtro puede a continuacion almacenar cualquier dato recibido como un objeto binario grande opaco (es decir, el filtro no necesita conocer que hay en el objeto binario grande o su significado semantico) en el almacenamiento de estado. Tras una condicion de recuperacion frente a fallos, un filtro de clave de reanudacion que opera en el nuevo servidor puede acceder a la informacion de estado almacenada, recuperar el objeto binario grande almacenado, y proporcionar el objeto binario grande al servicio de servidor de modo que el servicio de servidor puede restaurar su propio estado. De esta manera, el sistema puede hacerse funcionar con muchos tipos de protocolos sin conocimiento espedfico de las operaciones internas de los componentes que implementan cada protocolo para un servidor.
En algunas realizaciones, el sistema de estado de conexion bloquea que otros clientes accedan a ficheros u otros recursos relacionados con un manejador que puede reanudarse durante alguna cantidad de tiempo (es decir, periodo de prohibicion). Si el cliente original se reconecta durante el periodo de prohibicion, entonces el cliente original obtiene su propia conexion de vuelta con todo el estado anterior, y puede reanudar operaciones. Si otro cliente intenta conectar, el servidor puede proporcionar un mensaje que indica esperar una cantidad de tiempo y reintentar. Los clientes conocedores de la reanudacion pueden usar esta informacion para retardar el reintento hasta despues del periodo de prohibicion, mientras los clientes mas antiguos pueden simplemente fallar la conexion y reintentar manualmente en la solicitud del usuario. Si el cliente original no vuelve en el periodo de prohibicion, el servidor limpia la informacion de estado de reanudacion y permite que accedan nuevos clientes a los recursos como es habitual.
En algunas realizaciones, el sistema de estado de conexion puede usar una diversidad de dispositivos de almacenamiento o estrategias para acelerar las reanudaciones. Por ejemplo, el sistema puede usar un dispositivo de almacenamiento no volatil rapido (por ejemplo, un disco de estado solido (SSD)) para almacenar informacion de estado de reanudacion de modo que las reanudaciones acceden mas rapido a los datos para evitar retardar aun mas las operaciones ya interrumpidas por un fallo. Como otro ejemplo, el sistema puede difundir todos los cambios realizados mediante cada servidor a un grupo de servidores, de modo que cada servidor puede mantener su propia copia de la informacion de estado y puede ser el servidor de recuperacion frente a fallos elegido en el caso de un fallo del servidor original.
A partir de lo anterior, se apreciara que se han descrito en el presente documento realizaciones espedficas del sistema de estado de conexion para fines de ilustracion, pero que pueden realizarse diversas modificaciones sin desviarse del alcance de la invencion.

Claims (11)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    REIVINDICACIONES
    1. Un procedimiento implementado por ordenador para capturar informacion de estado del sistema de ficheros para facilitar la reanudacion de las conexiones, comprendiendo el procedimiento:
    recibir (210) desde un cliente una solicitud para acceder a un recurso remoto almacenado en un servidor; determinar (220) un identificador que identifica una sesion de cliente relacionada con la solicitud; crear (230), en un almacenamiento (130) de datos de estado externo al servidor y accesible mediante un servidor de reanudacion distinto del servidor, un registro de estado para cada manejador de fichero, pudiendose buscar el registro de estado mediante el identificador que asocia informacion de estado, creada mediante las operaciones solicitadas por el cliente usando el manejador de fichero, con el identificador;
    recibir (240) una operacion de fichero desde el cliente que solicita acceso a un fichero accesible a traves del servidor;
    almacenar (250), en el almacenamiento de datos de estado, informacion de estado de reanudacion en el registro de estado creado que proporciona informacion para reanudar la operacion de fichero recibida si el cliente pierde su conexion con el servidor;
    detectar una condicion que hace al servidor no disponible e informar al servidor de reanudacion para actuar en lugar del servidor;
    recuperar (340) informacion de estado almacenada desde el almacenamiento de datos de estado, en el que la informacion de estado permite al servidor de reanudacion reanudar cualquier operacion de sistema de ficheros previamente solicitada que se interrumpiera por la condicion de fallo detectada; y
    cargar (350) la informacion de estado recuperada en el servidor de reanudacion para permitir al servidor de reanudacion continuar (360) operaciones previamente solicitadas por el cliente,
    en el que se aplica un periodo de prohibicion en el acceso a uno o mas recursos, evitando el periodo de prohibicion que un segundo cliente interfiera con los recursos de tal manera que pudiera entrar en conflicto con la reanudacion de la conexion por el cliente al servidor de reanudacion.
  2. 2. El procedimiento de la reivindicacion 1, en el que la solicitud de acceso incluye uno o mas parametros, incluyendo una clave de reanudacion que identifica la sesion del cliente a traves de multiples conexiones potenciales si una conexion falla, y en el que la clave de reanudacion es al menos parte del identificador determinado.
  3. 3. El procedimiento de la reivindicacion 1, en el que un servidor de Sistema de Ficheros de Red, NFS, determina el identificador automaticamente sin recibir una clave de reanudacion desde el cliente.
  4. 4. El procedimiento de la reivindicacion 1, en el que el identificador es una clave de reanudacion de Bloque de Mensajes del Servidor, SMB, que proporciona el cliente para manejos duraderos que permiten reanudar sesiones que se desconectaron.
  5. 5. El procedimiento de la reivindicacion 1, donde recibir la operacion de fichero comprende una solicitud para realizar una operacion seleccionada del grupo que consiste en abrir un fichero, cerrar un fichero, leer un fichero, escribir un fichero, obtener un arrendamiento de un fichero y obtener un bloqueo en un fichero.
  6. 6. El procedimiento de la reivindicacion 1, que comprende adicionalmente, tras haberse desconectado el cliente del servidor, cargar en el servidor de reanudacion el registro de estado almacenado de modo que el cliente pueda conectarse al servidor de reanudacion y continuar cualquier operacion anterior.
  7. 7. El procedimiento de la reivindicacion 1, en el que realizar la operacion de fichero solicitada modifica el estado almacenado mediante el servidor, y en el que actualizar la informacion de estado de reanudacion almacenada captura el estado modificado.
  8. 8. El procedimiento de la reivindicacion 1, en el que actualizar la informacion de estado de reanudacion almacenada comprende mantener una vista actualizada del estado del servidor en el registro de estado que permite al servidor de reanudacion reestablecer el estado y manejar solicitudes de cliente en lugar del servidor original sin requerir que el cliente reestablezca al menos alguna de la informacion de estado.
  9. 9. Un sistema informatico para capturar informacion de estado de sistema de ficheros para facilitar la reanudacion de las conexiones, comprendiendo el sistema:
    un procesador y memoria configurados para ejecutar instrucciones de software incorporadas en los siguientes componentes;
    un componente (110) de recopilacion de estado configurado para operar en un servidor, para crear, en un almacenamiento (130) de datos de estado externo al servidor y accesible mediante un servidor de reanudacion distinto del servidor, un registro de estado para cada manejador de fichero, y para recopilar informacion de estado a medida que un cliente solicita operaciones usando el manejador de fichero;
    un componente (120) de almacenamiento de estado configurado para almacenar informacion de estado recopilada en asociacion con un identificador de sesion proporcionado por el cliente;
    el almacenamiento (130) de datos de estado configurado para almacenar de manera persistente informacion de estado del sistema de ficheros que un servidor de reanudacion usa para recrear informacion de estado
    almacenada mediante el servidor si el servidor falla;
    un componente (140) de deteccion de reanudacion configurado para detectar una condicion que hace al servidor no disponible y para informar al servidor de reanudacion para actuar en lugar del servidor; un componente (150) de recuperacion de estado configurado para recuperar informacion de estado almacenada 5 desde el almacenamiento de datos de estado, en el que la informacion de estado permite al servidor de
    reanudacion reanudar cualquier operacion de sistema de ficheros previamente solicitada que se interrumpiera mediante la condicion de fallo detectada;
    un componente (160) de restauracion de estado configurado para cargar la informacion de estado recuperada en el servidor de reanudacion para permitir al servidor de reanudacion continuar operaciones previamente 10 solicitadas por el cliente; y
    un componente (170) de aplicacion de prohibicion configurado para aplicar un periodo de prohibicion en el acceso a uno o mas recursos que evita que un segundo cliente interfiera con los recursos de tal manera que pudiera entrar en conflicto con la reanudacion de la conexion por el cliente al servidor de reanudacion.
  10. 10. El sistema de la reivindicacion 9, en el que el componente de recopilacion de estado esta configurado 15 adicionalmente para recibir el identificador de sesion proporcionado por el cliente, siendo el identificador de sesion
    una clave de reanudacion proporcionada por el cliente cuando el cliente se conecta al servidor, y para asociar informacion de estado recopilada con la clave de reanudacion en el almacenamiento de datos de estado.
  11. 11. El sistema de la reivindicacion 9, en el que el almacenamiento de datos de estado esta configurado adicionalmente para recibir informacion de estado a medida que el servidor esta realizando operaciones y, tras un
    20 fallo, proporcionar acceso a la informacion de estado previamente recibida al servidor de reanudacion para reanudar el estado y seguir llevando a cabo cualquier operacion que no se completo.
ES11846483.3T 2010-12-10 2011-12-06 Proporcionar recuperación frente a fallos transparente en un sistema de ficheros Active ES2566933T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US964749 2010-12-10
US12/964,749 US8631277B2 (en) 2010-12-10 2010-12-10 Providing transparent failover in a file system
PCT/US2011/063618 WO2012078693A2 (en) 2010-12-10 2011-12-06 Providing transparent failover in a file system

Publications (1)

Publication Number Publication Date
ES2566933T3 true ES2566933T3 (es) 2016-04-18

Family

ID=46200659

Family Applications (1)

Application Number Title Priority Date Filing Date
ES11846483.3T Active ES2566933T3 (es) 2010-12-10 2011-12-06 Proporcionar recuperación frente a fallos transparente en un sistema de ficheros

Country Status (13)

Country Link
US (1) US8631277B2 (es)
EP (1) EP2649750B1 (es)
JP (1) JP6141189B2 (es)
KR (1) KR101801432B1 (es)
CN (1) CN102624542B (es)
AU (1) AU2011338485B2 (es)
BR (1) BR112013014070A2 (es)
CA (1) CA2817620A1 (es)
ES (1) ES2566933T3 (es)
HK (1) HK1174451A1 (es)
MX (1) MX2013006427A (es)
RU (1) RU2595482C2 (es)
WO (1) WO2012078693A2 (es)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332526B2 (en) 2005-05-25 2012-12-11 Microsoft Corporation Data communication protocol including negotiation and command compounding
US9331955B2 (en) 2011-06-29 2016-05-03 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
US8856582B2 (en) 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
US20130067095A1 (en) 2011-09-09 2013-03-14 Microsoft Corporation Smb2 scaleout
US8788579B2 (en) 2011-09-09 2014-07-22 Microsoft Corporation Clustered client failover
US9342557B2 (en) * 2013-03-13 2016-05-17 Cloudera, Inc. Low latency query engine for Apache Hadoop
US10049022B2 (en) * 2013-06-24 2018-08-14 Oracle International Corporation Systems and methods to retain and reclaim resource locks and client states after server failures
US9665432B2 (en) * 2014-08-07 2017-05-30 Microsoft Technology Licensing, Llc Safe data access following storage failure
US9847918B2 (en) 2014-08-12 2017-12-19 Microsoft Technology Licensing, Llc Distributed workload reassignment following communication failure
KR101627256B1 (ko) * 2015-01-08 2016-06-03 (주)넷텐션 다수 분산서버를 구비한 네트워크 통신의 세션 이양 방법
US10084845B2 (en) * 2015-09-14 2018-09-25 Uber Technologies, Inc. Data restoration for datacenter failover
WO2017058519A1 (en) * 2015-09-28 2017-04-06 Arris Enterprises Llc Domain name system response spoofing at customer premise equipment device
US10303660B2 (en) 2015-11-12 2019-05-28 Microsoft Technology Licensing, Llc File system with distributed entity state
US10038752B2 (en) * 2015-12-07 2018-07-31 Dell Products L.P. Method and system for execution of client-initiated operations on file handles in a distributed server system
US10009428B2 (en) * 2015-12-07 2018-06-26 Dell Products L.P. Method and system for reconnecting server message block (SMB) clients to persistent file handles
US9946726B2 (en) * 2015-12-07 2018-04-17 Dell Products L.P. Method and system for execution of disconnection from and reconnection to persistent handles
US10951652B1 (en) * 2016-01-21 2021-03-16 Amazon Technologies, Inc. Communication session resumption
US10809998B2 (en) 2016-02-12 2020-10-20 Nutanix, Inc. Virtualized file server splitting and merging
CN106254490A (zh) * 2016-08-16 2016-12-21 浪潮(北京)电子信息产业有限公司 一种分布式存储故障转移方法以及分布式存储系统
US10560553B2 (en) 2016-09-14 2020-02-11 International Business Machines Corporation Assigning IP pools to file access protocols for NAS failover
CN106571968B (zh) * 2016-11-10 2020-02-21 华为技术有限公司 一种业务切换方法和系统
CN106557390A (zh) * 2016-11-15 2017-04-05 郑州云海信息技术有限公司 一种分布式存储文件连续访问方法及系统
WO2018094686A1 (zh) * 2016-11-25 2018-05-31 华为技术有限公司 一种smb业务故障处理方法和存储设备
US10452482B2 (en) * 2016-12-14 2019-10-22 Oracle International Corporation Systems and methods for continuously available network file system (NFS) state data
CN107395416A (zh) * 2017-07-20 2017-11-24 郑州云海信息技术有限公司 一种数据发送方法及服务器集群
US12021922B2 (en) * 2018-11-19 2024-06-25 Telefonaktiebolaget Lm Ericsson (Publ) Methods of operating service control nodes
WO2020104447A1 (en) * 2018-11-19 2020-05-28 Telefonaktiebolaget Lm Ericsson (Publ) Methods of operating service instance sets and/or set restoration storage resources and related network nodes
US10866870B2 (en) 2019-01-31 2020-12-15 Hewlett Packard Enterprise Development Lp Data store and state information handover
CN110109620B (zh) * 2019-04-25 2023-08-04 上海淇毓信息科技有限公司 混合存储方法、装置和电子设备
CN111274205B (zh) * 2020-01-07 2024-03-26 北京小米松果电子有限公司 数据块访问方法及装置、存储介质
CN111756578B (zh) * 2020-06-24 2022-05-13 苏州浪潮智能科技有限公司 一种用户态网络文件系统的故障恢复方法和装置
US11507512B2 (en) * 2020-12-08 2022-11-22 EMC IP Holding Company LLC Fault tolerant cluster data handling
CN112631837B (zh) * 2020-12-30 2024-04-12 凌云光技术股份有限公司 一种工程数据的保存方法及系统
US11360867B1 (en) 2021-03-31 2022-06-14 Netapp, Inc. Re-aligning data replication configuration of primary and secondary data serving entities of a cross-site storage solution after a failover event
US11481139B1 (en) 2021-03-31 2022-10-25 Netapp, Inc. Methods and systems to interface between a multi-site distributed storage system and an external mediator to efficiently process events related to continuity
US11934670B2 (en) 2021-03-31 2024-03-19 Netapp, Inc. Performing various operations at the granularity of a consistency group within a cross-site storage solution
US11740811B2 (en) 2021-03-31 2023-08-29 Netapp, Inc. Reseeding a mediator of a cross-site storage solution
US11550679B2 (en) * 2021-03-31 2023-01-10 Netapp, Inc. Methods and systems for a non-disruptive planned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system
US11709743B2 (en) 2021-03-31 2023-07-25 Netapp, Inc. Methods and systems for a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system
US11409622B1 (en) 2021-04-23 2022-08-09 Netapp, Inc. Methods and systems for a non-disruptive planned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system without using an external mediator
US11893261B2 (en) 2021-05-05 2024-02-06 Netapp, Inc. Usage of OP logs to synchronize across primary and secondary storage clusters of a cross-site distributed storage system and lightweight OP logging
CN113205406A (zh) * 2021-05-27 2021-08-03 中国工商银行股份有限公司 异常地区数据服务隔离方法、装置、电子设备及介质
US11537314B1 (en) 2021-10-07 2022-12-27 Netapp, Inc. Resynchronization of individual volumes of a consistency group (CG) within a cross-site storage solution while maintaining synchronization of other volumes of the CG
US11892982B2 (en) 2021-10-20 2024-02-06 Netapp, Inc. Facilitating immediate performance of volume resynchronization with the use of passive cache entries
US11907562B2 (en) 2022-07-11 2024-02-20 Netapp, Inc. Methods and storage nodes to decrease delay in resuming input output (I/O) operations after a non-disruptive event for a storage object of a distributed storage system by utilizing asynchronous inflight replay of the I/O operations

Family Cites Families (189)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4399504A (en) 1980-10-06 1983-08-16 International Business Machines Corporation Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment
US4825354A (en) 1985-11-12 1989-04-25 American Telephone And Telegraph Company, At&T Bell Laboratories Method of file access in a distributed processing computer network
US4780821A (en) 1986-07-29 1988-10-25 International Business Machines Corp. Method for multiple programs management within a network having a server computer and a plurality of remote computers
US4914570A (en) 1986-09-15 1990-04-03 Counterpoint Computers, Inc. Process distribution and sharing system for multiple processor computer system
US4887204A (en) 1987-02-13 1989-12-12 International Business Machines Corporation System and method for accessing remote files in a distributed networking environment
US5202971A (en) 1987-02-13 1993-04-13 International Business Machines Corporation System for file and record locking between nodes in a distributed data processing environment maintaining one copy of each file lock
US4791566A (en) 1987-03-27 1988-12-13 Digital Equipment Corporation Terminal device session management protocol
US5008853A (en) 1987-12-02 1991-04-16 Xerox Corporation Representation of collaborative multi-user activities relative to shared structured data objects in a networked workstation environment
US4891785A (en) 1988-07-08 1990-01-02 Donohoo Theodore J Method for transferring data files between computers in a network response to generalized application program instructions
US5124909A (en) 1988-10-31 1992-06-23 Hewlett-Packard Company Software program for providing cooperative processing between personal computers and a host computer
CA1323448C (en) 1989-02-24 1993-10-19 Terrence C. Miller Method and apparatus for translucent file system
US5109519A (en) 1989-03-28 1992-04-28 Wang Laboratories, Inc. Local computer participating in mail delivery system abstracts from directory of all eligible mail recipients only served by local computer
US5560008A (en) 1989-05-15 1996-09-24 International Business Machines Corporation Remote authentication and authorization in a distributed data processing system
US5113519A (en) 1989-05-15 1992-05-12 International Business Machines Corporation Maintenance of file attributes in a distributed data processing system
US5218696A (en) 1989-07-24 1993-06-08 International Business Machines Corporation Method for dynamically expanding and rapidly accessing file directories
US5265261A (en) 1989-08-14 1993-11-23 Microsoft Corporation Method and system for network communications using raw mode protocols
US5261051A (en) 1989-08-14 1993-11-09 Microsoft Corporation Method and system for open file caching in a networked computer system
JP2575543B2 (ja) 1990-04-04 1997-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 同時アクセス管理方法
JPH0619771A (ja) 1992-04-20 1994-01-28 Internatl Business Mach Corp <Ibm> 異種のクライアントによる共用ファイルのファイル管理機構
US5349642A (en) 1992-11-03 1994-09-20 Novell, Inc. Method and apparatus for authentication of client server communication
US5452447A (en) 1992-12-21 1995-09-19 Sun Microsystems, Inc. Method and apparatus for a caching file server
US5493728A (en) 1993-02-19 1996-02-20 Borland International, Inc. System and methods for optimized access in a multi-user environment
US5491752A (en) 1993-03-18 1996-02-13 Digital Equipment Corporation, Patent Law Group System for increasing the difficulty of password guessing attacks in a distributed authentication scheme employing authentication tokens
JP2513127B2 (ja) * 1993-05-31 1996-07-03 日本電気株式会社 ホットスタンバイ高速切替えシステム
JPH0736760A (ja) * 1993-07-20 1995-02-07 Nippon Telegr & Teleph Corp <Ntt> 装置多重化機能とモジュール間共用機能を併用した外部記憶装置の高信頼化方法
US5522042A (en) 1994-01-28 1996-05-28 Cabletron Systems, Inc. Distributed chassis agent for distributed network management
US5588117A (en) 1994-05-23 1996-12-24 Hewlett-Packard Company Sender-selective send/receive order processing on a per message basis
US5513314A (en) 1995-01-27 1996-04-30 Auspex Systems, Inc. Fault tolerant NFS server system and mirroring protocol
US5628005A (en) 1995-06-07 1997-05-06 Microsoft Corporation System and method for providing opportunistic file access in a network environment
US5826027A (en) 1995-10-11 1998-10-20 Citrix Systems, Inc. Method for supporting an extensible and dynamically bindable protocol stack in a distrubited process system
US5764887A (en) 1995-12-11 1998-06-09 International Business Machines Corporation System and method for supporting distributed computing mechanisms in a local area network server environment
US6343313B1 (en) 1996-03-26 2002-01-29 Pixion, Inc. Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability
EP0891663A1 (en) 1996-04-01 1999-01-20 Hewlett-Packard Company Transmitting messages over a network
US6434120B1 (en) 1998-08-25 2002-08-13 Cisco Technology, Inc. Autosensing LMI protocols in frame relay networks
US5933602A (en) 1996-07-31 1999-08-03 Novell, Inc. System for selecting command packet and corresponding response packet from communication stream of packets by monitoring packets sent between nodes on network
US6208952B1 (en) 1996-10-24 2001-03-27 Microsoft Corporation Method and system for delayed registration of protocols
JPH10133971A (ja) * 1996-10-25 1998-05-22 Nec Corp ファイル転送処理方式
US6125122A (en) 1997-01-21 2000-09-26 At&T Wireless Svcs. Inc. Dynamic protocol negotiation system
US5931913A (en) 1997-05-07 1999-08-03 International Business Machines Corporation Methods, system and computer program products for establishing a session between a host and a terminal using a reduced protocol
US6219799B1 (en) 1997-07-01 2001-04-17 Unisys Corporation Technique to support pseudo-names
US6092199A (en) 1997-07-07 2000-07-18 International Business Machines Corporation Dynamic creation of a user account in a client following authentication from a non-native server domain
US6275953B1 (en) * 1997-09-26 2001-08-14 Emc Corporation Recovery from failure of a data processor in a network server
US6247139B1 (en) 1997-11-11 2001-06-12 Compaq Computer Corp. Filesystem failover in a single system image environment
US6131125A (en) 1997-11-14 2000-10-10 Kawasaki Lsi U.S.A., Inc. Plug-and-play data cable with protocol translation
US6085247A (en) 1998-06-08 2000-07-04 Microsoft Corporation Server operating system for supporting multiple client-server sessions and dynamic reconnection of users to previous sessions using different computers
US6516351B2 (en) 1997-12-05 2003-02-04 Network Appliance, Inc. Enforcing uniform file-locking for diverse file-locking protocols
US7010532B1 (en) 1997-12-31 2006-03-07 International Business Machines Corporation Low overhead methods and apparatus for shared access storage devices
US6243862B1 (en) 1998-01-23 2001-06-05 Unisys Corporation Methods and apparatus for testing components of a distributed transaction processing system
US6317844B1 (en) 1998-03-10 2001-11-13 Network Appliance, Inc. File server storage arrangement
JPH11265361A (ja) * 1998-03-17 1999-09-28 Nec Corp 多重計算機システム、通信処理装置、トランザクション処理システム、トランザクション処理システム運転引き継ぎ方法、トランザクション処理システム運転引き継ぎプログラムを記録した記録媒体
JP3506920B2 (ja) * 1998-08-25 2004-03-15 日本電信電話株式会社 全命令トレースデータの2次記憶装置への格納競合防止方法
US6401123B1 (en) 1998-11-24 2002-06-04 International Busines Machines Corporation Systems, methods and computer program products for employing presumptive negotiation in a data communications protocol
US6883000B1 (en) 1999-02-12 2005-04-19 Robert L. Gropper Business card and contact management system
US6324581B1 (en) 1999-03-03 2001-11-27 Emc Corporation File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems
US6453354B1 (en) 1999-03-03 2002-09-17 Emc Corporation File server system using connection-oriented protocol and sharing data sets among data movers
US20040139004A1 (en) 1999-04-08 2004-07-15 Aceinc Pty Ltd. Secure online commerce transactions
US6938096B1 (en) 1999-04-12 2005-08-30 Softricity, Inc. Method and system for remote networking using port proxying by detecting if the designated port on a client computer is blocked, then encapsulating the communications in a different format and redirecting to an open port
US7562129B1 (en) 1999-04-15 2009-07-14 Alcatel-Lucent Canada Inc. Subscription management system for data communication network
US6349350B1 (en) 1999-05-04 2002-02-19 International Business Machines Corporation System, method, and program for handling failed connections in an input/output (I/O) system
AU4839300A (en) 1999-05-11 2000-11-21 Webvan Group, Inc. Electronic commerce enabled delivery system and method
US7318102B1 (en) 1999-05-24 2008-01-08 Hewlett-Packard Development Company, L.P. Reliable datagram
US6430691B1 (en) 1999-06-21 2002-08-06 Copytele, Inc. Stand-alone telecommunications security device
US6490666B1 (en) 1999-08-20 2002-12-03 Microsoft Corporation Buffering data in a hierarchical data storage environment
US6636242B2 (en) 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
JP2001094613A (ja) 1999-09-21 2001-04-06 Canon Inc 通信制御装置、方法および記録媒体
US6775707B1 (en) 1999-10-15 2004-08-10 Fisher-Rosemount Systems, Inc. Deferred acknowledgment communications and alarm management
US6910082B1 (en) 1999-11-18 2005-06-21 International Business Machines Corporation Method, system and program products for reducing data movement within a computing environment by bypassing copying data between file system and non-file system buffers in a server
US6658476B1 (en) 1999-11-29 2003-12-02 Microsoft Corporation Client-server protocol support list for standard request-response protocols
US7111060B2 (en) 2000-03-14 2006-09-19 Aep Networks, Inc. Apparatus and accompanying methods for providing, through a centralized server site, a secure, cost-effective, web-enabled, integrated virtual office environment remotely accessible through a network-connected web browser
US6883015B1 (en) * 2000-03-30 2005-04-19 Cisco Technology, Inc. Apparatus and method for providing server state and attribute management for multiple-threaded voice enabled web applications
US6993587B1 (en) 2000-04-07 2006-01-31 Network Appliance Inc. Method and apparatus for election of group leaders in a distributed network
US7225244B2 (en) 2000-05-20 2007-05-29 Ciena Corporation Common command interface
US6452903B1 (en) 2000-05-31 2002-09-17 Fujitsu Network Communications, Inc. Network switch supporting rate-based and credit-based flow control mechanisms on a link-by-link basis
US6961858B2 (en) 2000-06-16 2005-11-01 Entriq, Inc. Method and system to secure content for distribution via a network
US7693976B2 (en) 2000-07-11 2010-04-06 Ciena Corporation Granular management of network resources
US6349250B1 (en) 2000-10-26 2002-02-19 Detroit Diesel Corporation Clear historic data from a vehicle data recorder
JP2002183000A (ja) 2000-12-11 2002-06-28 Hitachi Ltd ネットワークを介するデータ参照方法及びそのシステム
US20020073211A1 (en) 2000-12-12 2002-06-13 Raymond Lin System and method for securely communicating between application servers and webservers
KR100750735B1 (ko) 2001-02-03 2007-08-22 삼성전자주식회사 홈네트워크내의 기기 제어장치 및 방법 및 이를 적용한홈네트워크 시스템
US7055036B2 (en) 2001-04-06 2006-05-30 Mcafee, Inc. System and method to verify trusted status of peer in a peer-to-peer network environment
US8051212B2 (en) 2001-04-11 2011-11-01 Mellanox Technologies Ltd. Network interface adapter with shared data send resources
US20030093678A1 (en) 2001-04-23 2003-05-15 Bowe John J. Server-side digital signature system
JP2002328828A (ja) 2001-04-27 2002-11-15 Fujitsu Ltd ストレージサービス方法、ストレージサービスユーザ及びストレージサービスプロバイダ
JP3797236B2 (ja) 2001-04-27 2006-07-12 日本ビクター株式会社 記録再生装置および記録再生方法
US6640226B1 (en) 2001-06-19 2003-10-28 Informatica Corporation Ranking query optimization in analytic applications
US7409420B2 (en) 2001-07-16 2008-08-05 Bea Systems, Inc. Method and apparatus for session replication and failover
US6944785B2 (en) 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
JP2003069610A (ja) 2001-08-22 2003-03-07 Canon Inc 通信装置、その制御方法、通信システム、及び制御プログラム
JP3663627B2 (ja) 2001-10-18 2005-06-22 ソニー株式会社 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム
US7136982B2 (en) 2001-11-09 2006-11-14 Danger, Inc. Apparatus and method for allocating memory blocks
US7394764B2 (en) 2001-12-14 2008-07-01 Sasken Communication Technologies Limited Technique for improving transmission control protocol performance in lossy networks
US7313816B2 (en) 2001-12-17 2007-12-25 One Touch Systems, Inc. Method and system for authenticating a user in a web-based environment
JP3969089B2 (ja) * 2001-12-25 2007-08-29 株式会社日立製作所 階層構成サーバシステム
US7111035B2 (en) 2001-12-26 2006-09-19 Hewlett-Packard Development Company, L.P. Fault tolerance associations for IP transport protocols
US20030140129A1 (en) 2002-01-24 2003-07-24 Noam Livnat Installing communication protocol in a handheld device
US6829606B2 (en) 2002-02-14 2004-12-07 Infoglide Software Corporation Similarity search engine for use with relational databases
US7178050B2 (en) 2002-02-22 2007-02-13 Bea Systems, Inc. System for highly available transaction recovery for transaction processing systems
US7984157B2 (en) 2002-02-26 2011-07-19 Citrix Systems, Inc. Persistent and reliable session securely traversing network components using an encapsulating protocol
US7388866B2 (en) 2002-03-07 2008-06-17 Broadcom Corporation System and method for expediting upper layer protocol (ULP) connection negotiations
US7668306B2 (en) 2002-03-08 2010-02-23 Intel Corporation Method and apparatus for connecting packet telephony calls between secure and non-secure networks
JP2003281091A (ja) 2002-03-25 2003-10-03 Fujitsu Ltd 同時受付制御システム
JP4315696B2 (ja) 2002-03-29 2009-08-19 富士通株式会社 ホスト端末エミュレーションプログラム、中継用プログラムおよびホスト端末エミュレーション方法
JP4000905B2 (ja) 2002-05-22 2007-10-31 ソニー株式会社 情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム
AU2002314310A1 (en) 2002-06-10 2003-12-22 Caplin Systems Limited Resource management
US20040003210A1 (en) 2002-06-27 2004-01-01 International Business Machines Corporation Method, system, and computer program product to generate test instruction streams while guaranteeing loop termination
US7290141B2 (en) 2002-06-27 2007-10-30 Nokia, Inc. Authentication of remotely originating network messages
CA2393502A1 (en) 2002-07-15 2004-01-15 Mark J. Frazer System and method for reliable transport in a computer network
US20040019660A1 (en) 2002-07-24 2004-01-29 Sandhya E. Lock holding multi-threaded processes for distibuted data systems
US6829473B2 (en) 2002-07-25 2004-12-07 Utstarcom, Inc. Roaming and hand-off support for prepaid billing for wireless data networks
US6928577B2 (en) 2002-07-29 2005-08-09 Eternal Systems, Inc. Consistent message ordering for semi-active and passive replication
US20040032876A1 (en) 2002-08-19 2004-02-19 Ajay Garg Selection of transmission channels
JP3846384B2 (ja) 2002-08-28 2006-11-15 ブラザー工業株式会社 端末装置、接続制御方法、接続制御用プログラム及び記録媒体
US6957367B2 (en) 2002-08-30 2005-10-18 Hewlett-Packard Development Company L.P. System and method for controlling activity of temporary files in a computer system
US7109430B2 (en) 2002-11-05 2006-09-19 Emrise Corporation Low profile rotary switch with detent in the bushing
US7386889B2 (en) 2002-11-18 2008-06-10 Trusted Network Technologies, Inc. System and method for intrusion prevention in a communications network
US7475142B2 (en) 2002-12-06 2009-01-06 Cisco Technology, Inc. CIFS for scalable NAS architecture
US7421502B2 (en) 2002-12-06 2008-09-02 International Business Machines Corporation Method and system for storage-aware flow resource management
US7664991B1 (en) 2002-12-17 2010-02-16 Symantec Operating Corporation System and method for distributed file system I/O recovery
US7290051B2 (en) 2003-01-09 2007-10-30 Sun Microsystems, Inc. Method and apparatus for hardware implementation independent verification of network layers
US7571463B1 (en) 2003-01-24 2009-08-04 Nortel Networks Limited Method an apparatus for providing a scalable and secure network without point to point associations
JP3999135B2 (ja) 2003-01-24 2007-10-31 株式会社エヌ・ティ・ティ・ドコモ 通信システム、データ送信方法、通信装置、プログラムおよび記録媒体
US7151939B2 (en) 2003-02-18 2006-12-19 Qualcomm Incorporated Method, apparatus, and machine-readable medium for providing indication of location service availability and the quality of available location services
US7072807B2 (en) 2003-03-06 2006-07-04 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7490152B2 (en) 2003-04-11 2009-02-10 Alcatel-Lucent Usa Inc. Version caching mechanism
US7339885B2 (en) 2003-06-05 2008-03-04 International Business Machines Corporation Method and apparatus for customizable surveillance of network interfaces
US7363629B2 (en) 2003-06-19 2008-04-22 International Business Machines Corporation Method, system, and program for remote resource management
US7698115B2 (en) 2003-06-30 2010-04-13 Microsoft Corporation System and method for dynamically allocating resources in a client/server environment
US7526640B2 (en) 2003-06-30 2009-04-28 Microsoft Corporation System and method for automatic negotiation of a security protocol
US20050015511A1 (en) 2003-07-02 2005-01-20 Nec Laboratories America, Inc. Accelerated large data distribution in overlay networks
US7296264B2 (en) 2003-07-18 2007-11-13 Bea Systems, Inc. System and method for performing code completion in an integrated development environment
KR100984497B1 (ko) 2003-07-24 2010-10-01 파나소닉 주식회사 파일 관리 방법 및 정보 처리 장치
US8028078B2 (en) 2003-08-07 2011-09-27 Teamon Systems, Inc. Communications system including protocol interface device providing enhanced operating protocol selection features and related methods
CN100547583C (zh) 2003-08-14 2009-10-07 甲骨文国际公司 数据库的自动和动态提供的方法
US7870268B2 (en) 2003-09-15 2011-01-11 Intel Corporation Method, system, and program for managing data transmission through a network
US20050091226A1 (en) 2003-10-23 2005-04-28 Yun Lin Persistent caching directory level support
US7539722B2 (en) 2003-10-24 2009-05-26 Microsoft Corporation Method and system for accessing a file
US7673066B2 (en) 2003-11-07 2010-03-02 Sony Corporation File transfer protocol for mobile computer
JP4836432B2 (ja) 2003-11-17 2011-12-14 株式会社リコー 文書管理システム、文書管理装置、文書管理方法、文書管理プログラム及び記録媒体
US7188273B2 (en) 2003-11-24 2007-03-06 Tsx Inc. System and method for failover
US20050111030A1 (en) 2003-11-25 2005-05-26 Berkema Alan C. Hard copy imaging systems, print server systems, and print server connectivity methods
FI20031779A0 (fi) 2003-12-05 2003-12-05 Nokia Corp Menetelmä, järjestelmä ja lähetettävän puolen yhteyskäytäntöyksikkö datapakettien lähettämiseksi kuittaamattoman toimintamuodon palveluissa
US7383483B2 (en) 2003-12-11 2008-06-03 International Business Machines Corporation Data transfer error checking
US7177941B2 (en) 2003-12-11 2007-02-13 International Business Machines Corporation Increasing TCP re-transmission process speed
US7243284B2 (en) 2003-12-11 2007-07-10 International Business Machines Corporation Limiting number of retransmission attempts for data transfer via network interface controller
US20050177635A1 (en) 2003-12-18 2005-08-11 Roland Schmidt System and method for allocating server resources
US7698361B2 (en) 2003-12-31 2010-04-13 Microsoft Corporation Lightweight input/output protocol
US7383463B2 (en) * 2004-02-04 2008-06-03 Emc Corporation Internet protocol based disaster recovery of a server
EP1728249B1 (en) 2004-03-17 2008-08-27 Koninklijke Philips Electronics N.V. Method and device for scanning a disc-shaped information storage medium
US7444536B1 (en) 2004-04-16 2008-10-28 Sun Microsystems, Inc. RMI-IIOP request failover mechanism
US7627627B2 (en) 2004-04-30 2009-12-01 Hewlett-Packard Development Company, L.P. Controlling command message flow in a network
US20050246803A1 (en) 2004-04-30 2005-11-03 Spencer Andrew M Peripheral device for processing data from a computing device
JP2005321953A (ja) 2004-05-07 2005-11-17 Hitachi Ltd ストレージ制御装置、その動作プログラム、及びアクセス制御方法
JP2005322016A (ja) 2004-05-10 2005-11-17 Yokogawa Electric Corp サーバ装置および情報配信方法
US7380080B2 (en) 2004-05-17 2008-05-27 Hewlett-Packard Development Company, L.P. Calculating unneeded data storage credits for a data transmission to a pair of storage devices
US7330910B2 (en) 2004-05-20 2008-02-12 International Business Machines Corporation Fencing of resources allocated to non-cooperative client computers
US7434087B1 (en) 2004-05-21 2008-10-07 Sun Microsystems, Inc. Graceful failover using augmented stubs
US7080173B2 (en) 2004-05-27 2006-07-18 Microsoft Corporation Reducing information reception delays
US20060059118A1 (en) 2004-08-10 2006-03-16 Byrd Stephen A Apparatus, system, and method for associating resources using a behavior based algorithm
US8023417B2 (en) 2004-08-30 2011-09-20 International Business Machines Corporation Failover mechanisms in RDMA operations
US7418712B2 (en) 2004-08-31 2008-08-26 Microsoft Corporation Method and system to support multiple-protocol processing within worker processes
US7418709B2 (en) 2004-08-31 2008-08-26 Microsoft Corporation URL namespace to support multiple-protocol processing within worker processes
US7451347B2 (en) 2004-10-08 2008-11-11 Microsoft Corporation Failover scopes for nodes of a computer cluster
US8156049B2 (en) 2004-11-04 2012-04-10 International Business Machines Corporation Universal DRM support for devices
US7457722B1 (en) 2004-11-17 2008-11-25 Symantec Operating Corporation Correlation of application instance life cycle events in performance monitoring
US8522293B2 (en) 2004-12-15 2013-08-27 Time Warner Cable Enterprises Llc Method and apparatus for high bandwidth data transmission in content-based networks
JP2008530835A (ja) 2005-02-08 2008-08-07 テレフオンアクチーボラゲット エル エム エリクソン(パブル) パケット交換ネットワーク上のオンデマンドマルチチャネルストリーミングセッション
US7743245B2 (en) 2005-03-10 2010-06-22 Intel Corporation Security protocols on incompatible transports
US7453879B1 (en) 2005-04-04 2008-11-18 Sun Microsystems, Inc. Method and apparatus for determining the landing zone of a TCP packet
US20060281525A1 (en) 2005-05-17 2006-12-14 Milo Borissov Slot type game with player input opportunity
US8332526B2 (en) 2005-05-25 2012-12-11 Microsoft Corporation Data communication protocol including negotiation and command compounding
EP1727055B1 (en) 2005-05-25 2016-09-07 Microsoft Technology Licensing, LLC Data communication coordination with sequence numbers
EP1727056B1 (en) 2005-05-25 2008-11-05 Microsoft Corporation Data communication protocol
US8108548B2 (en) 2005-12-22 2012-01-31 Microsoft Corporation Methodology and system for file replication based on a peergroup
US8051179B2 (en) 2006-02-01 2011-11-01 Oracle America, Inc. Distributed session failover
US8024439B2 (en) 2006-03-17 2011-09-20 Microsoft Corporation Server session management application program interface and schema
US7526668B2 (en) 2006-06-08 2009-04-28 Hitachi, Ltd. Failover method of remotely-mirrored clustered file servers
US20090077097A1 (en) 2007-04-16 2009-03-19 Attune Systems, Inc. File Aggregation in a Switched File System
US9621649B2 (en) 2007-09-28 2017-04-11 Xcerion Aktiebolag Network operating system
EP2066101B1 (en) 2007-11-28 2012-10-17 Alcatel Lucent System and method for an improved high availability component implementation
JP4549408B2 (ja) 2008-06-24 2010-09-22 富士通株式会社 ファイルサーバのクラスタノード制御プログラム,クラスタノード制御方法及びクラスタノード制御装置
US7840730B2 (en) 2008-06-27 2010-11-23 Microsoft Corporation Cluster shared volumes
US8700760B2 (en) 2008-08-18 2014-04-15 Ge Fanuc Intelligent Platforms, Inc. Method and systems for redundant server automatic failover
US8275815B2 (en) 2008-08-25 2012-09-25 International Business Machines Corporation Transactional processing for clustered file systems
US8185566B2 (en) 2009-01-15 2012-05-22 Microsoft Corporation Client-based caching of remote files
US9749387B2 (en) * 2009-08-13 2017-08-29 Sap Se Transparently stateful execution of stateless applications
US9331955B2 (en) 2011-06-29 2016-05-03 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
US8856582B2 (en) 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
US20130067095A1 (en) 2011-09-09 2013-03-14 Microsoft Corporation Smb2 scaleout
US8788579B2 (en) 2011-09-09 2014-07-22 Microsoft Corporation Clustered client failover

Also Published As

Publication number Publication date
EP2649750B1 (en) 2016-03-02
US20120151249A1 (en) 2012-06-14
CN102624542B (zh) 2015-06-17
EP2649750A2 (en) 2013-10-16
WO2012078693A2 (en) 2012-06-14
RU2013126471A (ru) 2014-12-20
AU2011338485B2 (en) 2016-07-21
AU2011338485A1 (en) 2013-05-30
HK1174451A1 (en) 2013-06-07
KR101801432B1 (ko) 2017-11-24
WO2012078693A3 (en) 2012-08-16
BR112013014070A2 (pt) 2016-09-13
EP2649750A4 (en) 2015-01-14
CA2817620A1 (en) 2012-06-14
MX2013006427A (es) 2013-12-16
RU2595482C2 (ru) 2016-08-27
JP6141189B2 (ja) 2017-06-07
US8631277B2 (en) 2014-01-14
JP2014500559A (ja) 2014-01-09
CN102624542A (zh) 2012-08-01
KR20130131362A (ko) 2013-12-03

Similar Documents

Publication Publication Date Title
ES2566933T3 (es) Proporcionar recuperación frente a fallos transparente en un sistema de ficheros
US12038878B2 (en) Methods and apparatus for controlling snapshot exports
US11409622B1 (en) Methods and systems for a non-disruptive planned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system without using an external mediator
CN103765406B (zh) 用于远程更新执行进程的方法和装置
ES2881606T3 (es) Sistema de ficheros geográficamente distribuido que usa replicación de espacio de nombres coordinada
US10353790B1 (en) Disaster recovery rehearsals
CN103930879B (zh) 投影存储网关
US11709743B2 (en) Methods and systems for a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system
US20220317896A1 (en) Reseeding a mediator of a cross-site storage solution
US10409999B2 (en) Communication between key manager and storage subsystem kernel via management console
US10318272B1 (en) Systems and methods for managing application updates
RU2643642C2 (ru) Использование кэш-памяти и памяти другого типа в распределённой запоминающей системе
US9632700B2 (en) Managing a shared storage system using hardware identifiers to deter data/file corruption
US10929250B2 (en) Method and system for reliably restoring virtual machines