RU2595903C2 - Прозрачное восстановление после отказа - Google Patents

Прозрачное восстановление после отказа Download PDF

Info

Publication number
RU2595903C2
RU2595903C2 RU2013158710/08A RU2013158710A RU2595903C2 RU 2595903 C2 RU2595903 C2 RU 2595903C2 RU 2013158710/08 A RU2013158710/08 A RU 2013158710/08A RU 2013158710 A RU2013158710 A RU 2013158710A RU 2595903 C2 RU2595903 C2 RU 2595903C2
Authority
RU
Russia
Prior art keywords
file
server
client
request
session
Prior art date
Application number
RU2013158710/08A
Other languages
English (en)
Other versions
RU2013158710A (ru
Inventor
Мэтью ДЖОРДЖ
Дэвид М. КРУС
Джеймс Т. ПИНКЕРТОН
Рупеш К. БАТТЕПАТИ
Том ДЖОЛЛИ
Пол Р. СУОН
Миндун ШАН
Дэниел Эдвард ЛОВИНДЖЕР
Original Assignee
МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
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 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи filed Critical МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Publication of RU2013158710A publication Critical patent/RU2013158710A/ru
Application granted granted Critical
Publication of RU2595903C2 publication Critical patent/RU2595903C2/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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/2033Failover techniques switching over of hardware resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)
  • Information Transfer Between Computers (AREA)
  • Retry When Errors Occur (AREA)

Abstract

Изобретение относится к способу и системе осуществления, хранения данных при сбоях сети и восстановлении работы серверов после отказов. Технический результат заключается в обеспечении высокой доступности сервиса хранения данных и достигается за счет резервирования информации, хранящейся на кластере. Постоянные дескрипторы запрашиваются клиентом после того, как установлен сеанс с файловым сервером. Запрос постоянного дескриптора содержит идентификатор дескриптора, сгенерированный клиентом. Сервер использует идентификатор дескриптора для соотнесения с информацией о состоянии. При сбое сеанса или восстановлении после отказа сервера и возобновлении соединения с клиентом идентификатор дескриптора используется для идентификации повторных запросов, которые в случае повторения могут создавать несогласованное состояние на сервере. Затем повторные запросы обрабатываются соответствующим образом. 3 н. и 7 з.п. ф-лы, 5 ил.

Description

Предшествующий уровень техники
[01] Серверные кластеры обычно используются для обеспечения восстановления после отказа и максимальной доступности информации для клиентов. Использование серверного кластера обеспечивает клиентам прозрачное восстановление после отказа так, что при любом сбое сервер остается прозрачным для приложений, требующих операций сервера на клиентах. Серверные кластеры могут быть полезны в совместно используемых файловых системах для обеспечения доступа нескольких клиентов в сети к файловой информации. Однако проблемы могут возникнуть, когда совместно используемая файловая система использует протокол с сопровождением состояния, такой как протокол блока серверных сообщений (SMB). Когда отказывает сервер в серверном кластере, некоторые протоколы с сопровождением состояния не обеспечивают способа для передачи состояния клиента с отказавшего сервера на альтернативный сервер. Кроме того, те протоколы доступа к файлам, которые обеспечивают сохранение некоторой информации о состоянии, не обеспечивают различающимся компонентам сохранение различающейся информации о состоянии.
[02] Именно в отношении этих и других соображений были выполнены данные варианты осуществления. Кроме того, хотя обсуждались относительно конкретные проблемы, следует понимать, что варианты осуществления не должны ограничиваться решением конкретных проблем, выявленных в уровне техники.
Сущность изобретения
[03] Данное краткое изложение сущности изобретения приведено, чтобы в упрощенной форме представить подборку концепций, которые дополнительно описаны ниже в разделе Подробное описание. Данное краткое изложение сущности изобретения не предназначено для определения ключевых признаков или существенных признаков заявленного изобретения и не предназначено для использования как помощь при определении объема заявленного изобретения.
[04] Описаны варианты осуществления, которые используют постоянные дескрипторы в совместно используемой файловой системе. Постоянные дескрипторы используются для сохранения состояния при сбоях сети и восстановлениях после отказа серверов. Постоянные дескрипторы запрашиваются клиентом после того, как установлен сеанс с файловым сервером. Запрос постоянного дескриптора содержит идентификатор дескриптора, сгенерированный клиентом. Сервер использует идентификатор дескриптора для установления соответствия с информацией о состоянии. При сбое сеанса или восстановления после отказа сервера и восстановлении соединения с клиентом, идентификатор дескриптора используется для идентификации повторных запросов, которые при повторе создают на сервере несогласованное состояние. Повторные запросы затем обрабатываются соответствующим образом.
[05] Варианты осуществления могут реализовываться в виде компьютерного процесса, компьютерной системы или промышленного изделия, такого как компьютерный программный продукт или машиночитаемый носитель. Компьютерный программный продукт может быть компьютерным носителем данных, который может быть считан компьютерной системой и на котором закодирована программа из компьютерных команд для выполнения компьютерного процесса. Компьютерный программный продукт также может быть сигналом, передающимся с помощью несущей, который считывается компьютерной системой и в котором закодирована программа из компьютерных команд для выполнения компьютерного процесса.
Краткое описание чертежей
[06] Неограничивающие и неисчерпывающие варианты осуществления описаны со ссылкой на следующие чертежи.
[07] На фиг.1 показана система, которая может использоваться для реализации вариантов осуществления.
[08] На фиг.2 показана блок-схема клиента и кластера файлового сервера, осуществляющих обмен данными с использованием протокола доступа к файлу в соответствии с некоторыми вариантами осуществления.
[09] На фиг.3 показан операционный поток для обеспечения защиты воспроизведения информации при восстановлении сервера после отказа в соответствии с некоторыми вариантами осуществления.
[10] На фиг.4 показан операционный поток для поддержания целостности файловой информации в соответствии с некоторыми вариантами осуществления.
[11] На фиг.5 приведена блок-схема вычислительной среды, подходящей для реализации вариантов осуществления.
Подробное описание
[12] Различные варианты осуществления более подробно описаны ниже со ссылкой на прилагаемые чертежи, которые составляют его часть и которые показывают конкретные примерные варианты осуществления. Тем не менее, варианты осуществления могут быть реализованы во многих других формах и не должны рассматриваться как ограничивающими вариантами осуществления, изложенными в данном документе; скорее, эти варианты осуществления представлены таким образом, чтобы данное описание являлось исчерпывающим и полным и полностью передавало специалистам в данной области техники объем вариантов осуществления. Варианты осуществления могут применяться как способы, системы или устройства. Соответственно, варианты осуществления могут принимать форму аппаратной реализации, полностью программной реализации или реализации, совмещающей программные и аппаратные аспекты. Нижеследующее подробное описание, следовательно, не должно пониматься в ограничивающем смысле.
[13] На фиг.1 показана система 100, которая может использоваться для реализации некоторых вариантов осуществления. Система 100 включает в себя клиенты 102 и 104 и серверный кластер 106. Клиенты 102 и 104 осуществляют связь с серверным кластером 106 через сеть 108. Серверный кластер 106 хранит информацию, к которой осуществляется доступ приложениями клиентов 102 и 104. Клиенты 102 и 104 устанавливают сеансы с кластером 106 для доступа к информации в кластере 106. Хотя на фиг.1 показаны только клиенты 102 и 104, осуществляющие связь с кластером 106, в других вариантах осуществления число клиентов, осуществляющих доступ к информации с серверного кластера 106, может быть больше двух.
[14] Как показано на фиг.1, серверный кластер 106 включает в себя серверы 106А, 106В, 106С, которые обеспечивают как максимальную доступность, так и резервирование информации, хранящейся на кластере 106. В вариантах осуществления кластер 106 имеет файловую систему, к которой клиенты 102 и 104 осуществляют доступ. Хотя на фиг.1 показаны три сервера, в других вариантах осуществления кластер 106 может включать в себя более трех серверов или менее трех серверов. В вариантах осуществления приложения клиентов 102 и 104 запрашивают файловую информацию из файловой системы и файловая информация, которая является прозрачной для приложения, извлекается из совместно используемой файловой системы на серверный кластер 106.
[15] В соответствии с одним вариантом осуществления серверы 106А, 106В и 106С используются для обеспечения постоянной доступности файловой системы, хранящейся на кластере 106. Это достигается путем использования компонентов клиентов 102 и 104 и серверов 106А, 106В и 106С для сохранения информации о состоянии, которая может использоваться для восстановления сеанса между клиентами 102 и 104 и кластером 106 при сбое сети 108 или отказе одного из серверов 106А, 106В и 106С. Как подробнее описано ниже, сохранение информации о состоянии обеспечивает клиентам 102 и 104 согласованный доступ к файлам и прозрачное восстановление после отказа для приложений, работающих на клиентах 102 и 104.
[16] В вариантах осуществления каждый сервер кластера 106, например 106А, 106В, 106С, обеспечивает доступ клиентов к файловой информации и выполнен с возможностью обеспечивать постоянную доступность файловой информации для клиентов. Чтобы проиллюстрировать один вариант осуществления, клиент 102 может послать запрос на установление сеанса с сервером кластера 106. Например, клиент 102 может установить сеанс с сервером 106A для доступа к совместно используемой файловой системе, хранящейся на серверном кластере 106. В качестве части процесса установления сеанса клиент 102 может использовать протокол доступа к файлу. В вариантах осуществления протокол доступа к файлу является версией сетевой файловой системы (NFS) или протоколом блока серверных сообщений (SMB).
[17] Установление сеанса может включать в себя обмен некоторым количеством согласовательных запросов и ответов, передаваемых между клиентом 102 и сервером 106A. В версиях протокола блока серверных сообщений (SMB) имеются специально определенные пакеты согласования, которые используются для согласования точной версии протокола, который будет использоваться в процессе сеанса, а также для объявления друг другу функциональных возможностей, например, как клиента 102, так и, например, сервера 106А. В одном варианте осуществления пакеты согласования могут содержать указание на то, что сервер 106A является частью кластера, например кластера 106. Это позволяет клиенту узнавать о том, что сервер 106 способен обеспечить согласованный доступ или, другими словами, возможности прозрачного восстановления после отказа.
[18] Продолжая пример выше, после того как сеанс установлен, клиент 102 может послать на сервер 106A сообщение, отформатированное в соответствии с протоколом доступа к файлу, на предмет постоянного дескриптора, чтобы осуществить доступ к файлу в файловой системе. Запрос постоянного дескриптора в вариантах осуществления указывает на то, что клиент хочет использовать возможности прозрачного восстановления после отказа, которые являются доступными в результате того, что сервер 106A является частью кластера 106. В вариантах осуществления запрос содержит идентификатор дескриптора, который является глобальным уникальным идентификатором.
[19] Сервер 106A принимает запрос постоянного дескриптора и сохраняет идентификатор дескриптора с информацией о состоянии сеанса с клиентом 102. Сохранение информации о состоянии может просто включать в себя сохранение идентификатора дескриптора файловым сервером и сохранение информации о состоянии в соответствии с идентификатором дескриптора. Как подробнее описано ниже, в некоторых вариантах осуществления различные типы информации о состоянии могут сохраняться с использованием отдельных компонентов, таких как фильтр. При этом в других вариантах осуществления информация, относящаяся к постоянным дескрипторам, реплицируется между узлами и не сохраняется в постоянном запоминающем устройстве в файловой системе. Однако в других вариантах осуществления информация, относящаяся к постоянным дескрипторам, как реплицируется между узлами, так и сохраняется в постоянном запоминающем устройстве в файловой системе.
[20] Сервер 106A посылает ответ клиенту 102, предоставляя постоянный дескриптор и доступ к файловой информации. После этого клиент 102 может продолжить посылать другие запросы для выполнения различных операций с файлом. Например, клиент 102 может послать запросы на чтение файловой информации, запись в файл, перечисление атрибутов файла, закрытие файла и запросить различные блокировки файла. Каждая из операций, запрошенных клиентом, может привести к обновлению информации о состоянии для гарантии того, что если клиент отключен, состояние клиента может быть восстановлено. Данное обновление может включать в себя сохранение дополнительной информации о состоянии совместно с идентификатором дескриптора.
[21] В какой-то момент клиент 102 может отключиться от сервера. Отключение может быть вызвано, например, сбоем сети или поломками. Как вариант отключение может произойти из-за отказа сервера 106A. В тех вариантах осуществления, которые включают в себя сбой сети, клиент 102 может обнаружить, что отключение произошло, и ждать, когда сеть станет доступной для восстановления соединения с сервером 106А. В других вариантах осуществления после того, как клиент 102 обнаруживает неисправность, он посылает запрос на восстановление соединения с кластером 106, который обеспечивает, чтобы сервер, обеспечивающий восстановление после отказа, обработал запрос на восстановление соединения.
[22] В любом случае клиент 102 посылает запрос на восстановление соединения. Запрос содержит идентификатор дескриптора. Сервер 106А или альтернативный сервер (106B или 106C) возвратит информацию о состоянии, основанную на идентификаторе дескриптора, восстановит предыдущее состояние с помощью информации о состоянии, а также пошлет клиенту ответ, указывающий, что восстановление соединения выполнено успешно. В некоторых вариантах осуществления восстановление соединения может оказаться невозможным в случае, если информация о предыдущем состоянии была потеряна или недоступна по другой причине. В данных ситуациях сервер может интерпретировать запрос на восстановление соединения как запрос на установление сеанса и ответить соответствующим образом.
[23] После того как сеанс восстановлен, клиент 102 посылает новые запросы доступа к файлу. В некоторых вариантах осуществления одним из новых запросов доступа к файлу могут быть повторы предыдущих запросов. Повторный запрос может быть такого типа, что при обработке сервером без обнаружения того, что это является повтором, может создать несогласованное состояние на сервере. Точный тип запроса зависит от того, как запросы обрабатываются протоколом, который используется для доступа к файлу. Например, в версии протокола блока серверных сообщений (SMB) осуществление блокировки диапазонов в байтах может запрашиваться и предоставляться на участках файла. Таким образом, если клиент посылает запрос на блокировку участка файла и запрос выполняется, но клиент не уведомляется об этом до отключения, клиент может повторить предыдущий запрос. После идентификации повторные запросы могут обрабатываться, чтобы избежать несогласованного состояния на сервере.
[24] В некоторых вариантах осуществления, чтобы обеспечить прозрачное восстановление после отказа для приложений клиента 102, может использоваться информация о состоянии, сохраняемая на клиенте 102. То есть сервер 106A (или сервер, обеспечивающий восстановление после отказа) может не отвечать за сохранение всей информации о состоянии, которая необходима, чтобы восстановить состояние после возобновления соединения. В некоторых вариантах осуществления за восстановление определенного состояния может отвечать клиент. Например, если запросы на считывание файловой информации были посланы перед отключением, сервер может не нести ответственность за сохранение информации о состоянии в отношении запросов на считывание. Когда происходит возобновление соединения, клиент может нести ответственность за повторные посылки запросов на считывание. Дополнительное описание вариантов осуществления, в которых информация о состоянии восстанавливается другими компонентами, описана более подробно ниже со ссылкой на фиг.2.
[25] Вышеприведенное описание является лишь одним примером того, как может работать вариант, показанный на фиг.1. Как подробнее описано ниже, варианты осуществления могут включать в себя другие этапы или операции. Это может быть реализовано с использованием любого соответствующего программного обеспечения и аппаратных компонентов или модулей.
[26] Теперь обратимся к фиг.2, где показана блок-схема среды 200 с клиентом 202, клиентом 204 и серверным кластером 206 с тремя серверами (сервер 1, сервер 2 и сервер 3). Также показано файловое хранилище 210, где файловая система хранит файловую информацию, и хранилище 212, где информация о состоянии может сохраняться на одном или более серверах из сервера 1, сервера 2 и сервера 3.
[27] Как показано на фиг.2, каждый из клиента 202 и клиента 204 содержит приложение, которое может запрашивать файловую информацию. Приложение может быть, например, текстовым приложением, приложением электронных таблиц, приложением браузера или любым другим приложением, которое запрашивает доступ к файлам. В варианте осуществления, показанном на фиг.2, файлы размещены в совместно используемой файловой системе, хранящейся в файловом хранилище 210. Каждый из клиента 202 и клиента 204 дополнительно содержит модуль переадресации запросов (редиректор), который перенаправляет запрос файлов со стороны приложений на файловый сервер, обеспечивающий доступ к общей файловой системе. Модули переадресации запросов обмениваются данными с файловыми серверами, используя протокол доступа к файлу. В некоторых вариантах осуществления протоколом доступа к файлу может быть версия NFS или протокола блока серверных сообщений (SMB). В целях иллюстрации фиг.2 будет описана в предположении, что модули переадресации запросов клиента 202 и клиента 204 обмениваются данными с файловыми серверами, используя версии протокола блока серверных сообщений, такого как SMB 2.0. Варианты осуществления, однако, не ограничиваются использованием протокола блока серверных сообщений.
[28] На фиг.2 показано, что каждый из сервера 1, сервера 2 и сервера 3 содержит файловый сервер. Как отмечалось выше, файловые серверы могут использовать версию протокола блока серверных сообщений для обмена данными с модулями переадресации запросов клиента 202 и клиента 204. Каждый из сервера 1, сервера 2 и сервера 3 также содержит фильтр возобновления, который используется в некоторых вариантах осуществления для сохранения информации о состояниях сеансов, установленных между модулем переадресации запросов и файловым сервером.
[29] Использование протокола блока серверных сообщений для установления сеанса между клиентом и сервером начинается с модуля переадресации запросов, например модуля переадресации запросов на клиенте 202, посылкой запроса согласования файловому серверу, такому как сервер 1 в серверном кластере 206. Модуль переадресации запросов и файловый сервер обмениваются пакетами согласований, чтобы согласовать версию блока серверных сообщений, которая будет использоваться для сеанса. Дополнительно, во время согласования можно также обмениваться информацией о функциональных возможностях. В одном варианте осуществления файловый сервер может включать в состав ответного пакета согласования, который посылается от файлового сервера клиенту, флажок функциональных возможностей для указания клиенту на то, что файловый сервер поддерживает использование постоянных дескрипторов. В некоторых вариантах осуществления это делается в ситуациях, в которых файловый сервер является частью кластера, который может обеспечить согласованный доступ для клиента, путем аварийного переключения на другой сервер в кластере. В других вариантах осуществления автономные серверы также могут иметь такую возможность для того, чтобы иметь возможность повторно подключиться к клиентам, когда происходит сбой сети.
[30] Когда согласование завершено, модуль переадресации запросов на компьютере клиента и файловый сервер устанавливают сеанс. Модуль переадресации запросов клиента может затем послать на файловый сервер запросы доступа к файлу. В одном варианте осуществления модуль переадресации запросов запрашивает постоянный дескриптор. Версии протокола блока серверных сообщений обеспечивают долговременные дескрипторы, которые могут использоваться отключенными клиентами для повторного возобновления соединения. Тем не менее, они не обязательно обеспечивают сохранение и восстановление состояния после повторного подключения клиента. Таким образом, в вариантах осуществления модуль переадресации запросов может послать запрос на долговременный дескриптор, содержащий некоторую дополнительную метку и/или индикатор, указывающий на то, что модуль переадресации запросов клиента запрашивает постоянный дескриптор. Дополнительно, клиент может содержать идентификатор дескриптора, который может использоваться для идентификации повторных запросов после возобновления соединения. Ниже приведен один вариант осуществления структуры запроса долговременного дескриптора, которая может использоваться в версии протокола блока серверных сообщений для запроса постоянного дескриптора:
struct SMB2_DURABLE_HANDLE_ EQUEST_V2 {
ULONG Flags;
GUID Handheld; // клиент предоставляет уникальный идентификатор
// (ID) для данного дискриптора (используется для обнаружения
// повторных запросов).
ULONG Timeout; // время ожидания в секундах
ULONG Reserved; // должен задаваться как ноль }.
[31] В вариантах осуществления в ответ на запрос файловый сервер на сервере 1 отвечает выдачей постоянного дескриптора и предоставлением файлового идентификатора модулю переадресации запросов на клиенте 202. Тогда модуль переадресации запросов клиента имеет возможность доступа к информации из файла, которому соответствует постоянный дескриптор и идентификатор файла. В некоторых вариантах осуществления модуль переадресации запросов может запросить постоянный дескриптор для каталога. То есть вместо постоянного дескриптора, соответствующего отдельному файлу, дескриптор может соответствовать каталогу.
[32] В дополнение к файловому серверу на сервере 1, который выдает постоянный дескриптор, файловый сервер также сохраняет информацию о состоянии в запоминающем устройстве 212. Информация о состоянии может сохраняться в привязке к идентификатору дескриптора, сгенерированному модулем переадресации запросов, а также может сохраняться в привязке к идентификатору файла, предоставленному модулю переадресации запросов на клиенте 202. Как подробнее описано ниже, файловый сервер может непосредственно сохранять информацию о состоянии как информацию 216 о состоянии файлового сервера. В других вариантах осуществления файловый сервер может использовать фильтр возобновления для сохранения информации о состоянии. Однако в других вариантах осуществления файловый сервер может непосредственно сохранять информацию о состоянии, а также использовать фильтр возобновления для сохранения другой информации о состоянии.
[33] После того как взаимодействие завершено, модуль переадресации запросов посылает запросы на доступ к файлу используя, например, версию протокола блока серверных сообщений. В некоторых вариантах осуществления файловый сервер сохраняет информацию о состоянии для каждого из запросов, принятых от модуля переадресации запросов клиента. В некоторый момент времени может произойти разъединение между клиентом 202 и сервером 1, например в результате сбоя сети или отказа сервера 1. Клиент 202 может переустановить соединение с сервером 1, если отказ произошел из-за сбоя сети или после отказа произошло восстановление сервера (одного из сервера 2 или сервера 3). Как часть процесса переустановления соединения, клиент 202 может послать запрос на переустановление соединения, который будет содержать ранее предоставленный идентификатор дескриптора, а также идентификатор файла, предоставленный файловым сервером при согласовании первоначального сеанса. Поскольку информация о состоянии доступна в запоминающем устройстве 212, которое доступно для всех серверов в серверном кластере 206, сервер, обеспечивающий восстановление после отказа, может идентифицировать информацию о предыдущем состоянии, основываясь на идентификаторе дескриптора и/или идентификаторе файла, предоставляемых клиентом в запросе на переустановление соединения. В данных вариантах осуществления, когда клиент пытается переустановить соединение с сервером 1, файловый сервер на сервере 1 также может осуществить доступ к информации о состоянии, содержащейся в запоминающем устройстве 212, чтобы восстановить предыдущее состояние сеанса с клиентом.
[34] Как было отмечено выше, в некоторых вариантах осуществления различные компоненты среды 200 отвечают за сохранение различных типов информации о состоянии, чтобы обеспечить восстановление состояния клиентов, которые отключены. Как показано на фиг.2, каждый из файловых серверов содержит фильтр возобновления. Фильтр возобновления используется в вариантах осуществления для сохранения информации о состоянии для восстановления состояния, когда клиент повторно возобновляет соединение. Фильтр возобновления не зависит от конкретного протокола доступа к файлу, используемого файловым сервером. В вариантах осуществления, чтобы сохранять информацию о конкретном состоянии, файловый сервер сначала регистрируется в фильтре возобновления. После регистрации файловый сервер может передавать информацию о состоянии на фильтр возобновления, который сохраняет информацию о состоянии как информацию о состоянии фильтра 214 возобновления в запоминающем устройстве 212. В дополнении к информации о состоянии фильтра 214 возобновления сервер может сохранять отдельную информацию о состоянии, показанную как информация 216 о состоянии файлового сервера, в запоминающем устройстве 212. В вариантах осуществления другая информация о состоянии может сохраняться в других местах хранилища, нежели информация о состоянии фильтра 214 возобновления. Информация 216 о состоянии файлового сервера и информация о состоянии фильтра 214 возобновления могут сохраняться любым подходящим способом, например, в файлах регистрации. Как подробнее описано ниже, в вариантах осуществления типы информации о состоянии, которые хранятся в фильтре возобновления, являются общей информацией, в то время как информация о сервере является более конкретной информацией о состоянии.
[35] В некоторых вариантах осуществления клиент также является ответственным за сохранение некоторой информации о состоянии. Как показано на фиг.2, клиенты 202 и 204 сохраняют информацию о состоянии, которая используется для восстановления состояния, когда соединение с клиентом переустановлено после отключения. В данных вариантах осуществления возможна некоторая экономия, если клиент восстанавливает состояние, вместо того чтобы файловый сервер сохранял всю информацию о состоянии для восстановления состояния клиента, когда соединение с ним переустанавливается после отключения. Например, если требуется, чтобы файловый сервер хранил всю информацию о состоянии, то каждый раз, когда от модуля переадресации запросов принимается запрос на выполнение некоторых операций с файлом, требуется, чтобы файловый сервер хранил некоторую информацию о запросах или операциях. Требование, чтобы модуль переадресации запросов клиента сохранял часть информации о состоянии, уменьшает стоимость файлового сервера, который должен сохранять информацию о состоянии для каждого запроса или операции, принимаемой от клиента.
[36] Как можно понять, информация о состоянии, которая хранится на компонентах среды 200, зависит от различных проектных соображений по разработкам. Например, может иметься некоторая достаточно важная информация, которая потребует от файлового сервера гарантий, что в случае если информация о состоянии является внутренне согласованной и постоянно доступной, информация должна сохраняться файловым сервером и/или фильтром возобновления. Например, для того чтобы сервер обеспечивал режимы совместного использования и гарантировал, чтобы новые клиенты, запрашивающие доступ, не мешали доступу существующих клиентов, информация о состоянии должна храниться на сервере в соответствии с вариантами осуществления. Прочая информация о состоянии может быть не такой критической, и определенная несогласованность в информации может допускаться. Например, клиент может иметь локально кэшированные свойства файла. Кэшированные свойства файла могут быть запрошены вновь после того, как клиент восстановит соединение с файловым сервером после отключения.
[37] В одном варианте осуществления, в котором протокол блока серверных сообщений используется для осуществления связи между модулем переадресации запросов и файловым сервером, протокол SMB может обеспечивать, чтобы конкретные состояния сохранялись различными компонентами, показанными в среде 200. В одном варианте осуществления операции, доступные с использованием протокола SMB, разделены на три группы. Информация о состоянии, связанная с каждой группой, сохраняется различными компонентами.
[38] Первую группу можно отнести, в целом, к неидемпотентным операциям, что означает, что если эти операции повторно выполняются, например повторно применяются к файлу после того, как уже применялись перед отключением клиента, это создает несогласованное состояние на файловом сервере. В версиях протокола SMB, блокировки диапазонов байтов представляют пример операций, требующих обнаружения повторного выполнения, потому что вышеуказанные блокировки заносятся в стек и извлекаются из стека. Другие примеры включают в себя добавление записей и открытий/созданий, которые могут менять состояние диска, например, за счет создания новых файлов или перезаписи существующих файлов. В вариантах осуществления состояние, соответствующее данным типам операций, сохраняется файловым сервером, потому что файловый сервер должен распознавать, что эти операции выполняются повторно. В варианте осуществления, показанном на фиг.2, состояние, связанное с этими операциями, будет сохраняться файловыми серверами, которые находятся в каждом из сервера 1, сервера 2 и сервера 3, в хранилище 212, в качестве части информации 216 о состоянии файлового сервера. Идентификатор дескриптора, предоставленный клиенту во время согласования сеанса, как описано выше, используется в некоторых вариантах осуществления для идентификации того, что запрос является повтором предыдущего запроса.
[39] Вторая группа операций относится к операциям открытия данных. Такими операциями могут быть запросы на чтение, запись, исполнение или удаление информации в файле. Чтобы иметь возможность реализовывать режимы совместного использования и предотвращать воздействие других клиентов на уже имеющихся клиентов, состояние, относящееся к операциям открытия, должно сохраняться на стороне сервера в соответствии с вариантами осуществления. Состояние, относящееся к операциям открытия, также сохраняется на стороне сервера, чтобы блокировать локальные операции от воздействия с постоянными дескрипторами. Например, предотвращается изменение или иное воздействие со стороны программ, исполняемых на узлах кластера, в отношении дескрипторов, зарезервированных для клиентов. В вариантах осуществления состояние, относящееся к этим типам операций, сохраняется фильтром возобновления. Как отмечено выше, фильтр возобновления в вариантах осуществления не является специализированным для протокола SMB, но может также использоваться, когда файловый сервер использует другой протокол доступа к файлам, такой как NFS. В варианте осуществления, показанном на фиг.2, фильтр возобновления на каждом из сервера 1, сервера 2 и сервера 3 сохраняет информацию о состоянии для операций открытия в хранилище 212 как часть информации о состоянии фильтра 214 возобновления.
[40] Третья группа операций включает в себя операции, которые при повторном применении на сервере не изменяют конечного состояния сервера. Они могут быть отнесены к идемпотентным операциям. Некоторые операции из этой группы включают в себя, но не в ограничительном смысле, считывания, записи без добавлений, удаления, переименования, операции задания метаданными и операции запросов метаданных. Состояние аренды также может сохраняться клиентом и не требует сохранения сервером. В вариантах осуществления аренда является механизмом, который разработан, чтобы позволить клиентам динамически менять свою стратегию буферизации согласованным образом для увеличения производительности и снижения нагрузки на сеть. Производительность сети для удаленных операций с файлами может увеличиваться, если клиент способен локально буферизовать файловые данные, что уменьшает или исключает необходимость посылать или принимать сетевые пакеты. Клиенту может не требоваться записывать информацию в файл на удаленном сервере, если клиент подтверждает, что никакой другой клиент не осуществляет доступа к данным. Схожим образом, клиент может буферизовать данные при опережающем считывании из удаленного файла в случае, если клиент подтверждает, что никакой другой клиент не записывает данные в удаленный файл.
[41] В соответствии с вариантами осуществления состояние аренды не нуждается в постоянном поддержании на сервере, потому что фильтр возобновления блокирует все операции создания для данного файла, в то время как клиенты возобновляют свои дескрипторы после восстановления после отказа. Это неявным образом обеспечивает гарантию того, что аренды дескрипторов никогда не будут потеряны во время процесса восстановления после отказа, если клиенты переустанавливают соединение/возобновляют свои дескрипторы в течение периода отсрочки. Другими словами, клиенты всегда получают назад свои аренды дескрипторов во время фазы возобновления. Более того, эксклюзивные аренды, такие как аренды чтение/запись и чтение/запись/дескриптор в каждый момент времени предоставляются только одному клиенту. Это означает, что отсутствуют другие открытия данных для файла со стороны любого другого клиента. Так, во время восстановления после отказа, поскольку фильтр возобновления не разрешает новые операции создания в отношении файла, пока клиент, имеющий эксклюзивную аренду, не возобновит все свои дескрипторы, существует гарантия того, что клиент получит обратно свою эксклюзивную аренду. Совместно используемые аренды, которые не требуют подтверждения, такие как аренда чтения, могут утрачиваться в любое время без ведома либо сервера, либо фильтра возобновления, поскольку используемая файловая система разрешает продолжение операции, вызвавшей нарушение. Для таких аренд клиент в вариантах осуществления предполагает, что аренда нарушается после восстановления после отказа, и очищает свой кэш для предотвращения считывания устаревших данных. Состояние для операций в третьей группе может, следовательно, быть восстановлено клиентом без какой-либо дополнительной поддержки со стороны сервера. В варианте осуществления, показанном на фиг.2, модули переадресации запросов на клиентах 202 и 204 сохраняют информацию о состоянии для третьей группы операций.
[42] В процессе работы среда 200 позволяет приложениям на клиентах 202 и 204 запрашивать доступ к файлам, которые хранятся в файловом запоминающем устройстве 210 в совместно используемой файловой системе. Приложения могут прозрачным образом запрашивать файловую информацию. Модули переадресации запросов клиентов устанавливают сеанс с одним из серверов в кластере 206, как описано выше, запрашивая постоянный дескриптор, так что модуль переадресации запросов может вновь подсоединиться и восстановить сеанс, если произошло отключение. Файловый сервер сохраняет информацию о состоянии в хранилище 212 либо непосредственно как информацию 216 о состоянии файлового сервера, либо как информацию 214 о состоянии фильтра возобновления, используя фильтр возобновления. В некоторых вариантах осуществления клиент также сохраняет некоторую информацию о состоянии. В случае отключения модуль переадресации запросов может запросить возобновление соединения с файловым сервером или с сервером, обеспечивающим восстановление после отказа. Информация о состоянии, сохраненная на стороне сервера, например, в хранилище 212, и на стороне клиента, может затем использоваться для восстановления предыдущего состояния клиента. Все это происходит прозрачным образом для приложений на клиентах 202 и 204.
[43] Как можно понять, вышеприведенное описание среды 200 не предназначено для ограничения вариантов осуществления, описанных в данном документе. Описание на фиг.2 предназначено только для иллюстрации реализации некоторых вариантов осуществления. В других вариантах осуществления другие типы информации о состоянии могут храниться на других компонентах среды 200. Кроме того, как указано выше, могут быть использованы другие протоколы доступа к файлам, которые могут определять тип сохраняемой информации о состоянии, а также то, какой компонент хранит информацию о состоянии. Таким образом, варианты осуществления не ограничены тем, что показано и описано на фиг.2
[44] Приведенное ниже описание на фиг.3 и 4 сделано с использованием протокола SMB в качестве протокола доступа к файлам. Однако варианты осуществления им не ограничены. Любой протокол доступа к файлам, включая другие версии протокола блока серверных сообщений (SMB) или сетевую файловую систему (NFS), могут использоваться в вариантах осуществления в качестве протокола доступа к файлам. Протокол SMB используется в описании просто для удобства и простоты иллюстрации.
[45] Фиг.3 и 4 иллюстрируют операционные потоки 300 и 400 в соответствии с вариантами осуществления. Операционные потоки 300 и 400 могут выполняться в любой приемлемой компьютерной среде. Например, операционные потоки могут выполняться системами и окружениями так, как показано на фиг.1 и 2. Следовательно, описание операционных потоков 300 и 400 может относиться, по меньшей мере, к одному из компонентов на фиг.1 и 2. Однако любая такая ссылка на компоненты на фиг.1 и 2 делается только в описательных целях, и следует понимать, что реализации по фиг.1 и 2 не являются ограничивающими программными средствами для операционных потоков 300 и 400.
[46] Кроме того, хотя операционные потоки 300 и 400 показаны и описаны последовательно в определенном порядке, в других вариантах осуществления операции могут выполняться в другом порядке, несколько раз и/или параллельно. Кроме того, одна или более операций могут пропускаться или объединяться в некоторых вариантах осуществления.
[47] Операционный поток 300 иллюстрирует этапы обеспечения защиты от повторения на сервере при восстановлении после отказа. В вариантах осуществления поток 300, показанный на фиг.3, может выполняться файловым сервером, то есть выполняться сервером, который является частью серверного кластера, например сервером 1, сервером 2 и сервером 3 кластера 206 (фиг.2). Поток 300 начинается с операции 302, где принимается запрос на подсоединение к файловому серверу. Запрос, принятый в операции 302, является запросом на установление сеанса с файловым сервером для доступа к файловой информации, сохраняемой в совместно используемой файловой системе, доступной через файловый сервер. Запрос может быть послан клиентом, например клиентами 202 и 204 (фиг.2). После операции 302 поток 300 переходит к операции 304, где посылается ответ, указывающий, что сеанс был установлен. В некоторых вариантах осуществления запрос и ответ, посланные в операциях 302 и 304, могут быть несколькими сообщениями, которыми обмениваются клиент и сервер для согласования сеанса. Обмен сообщениями может включать в себя обмен функциональными возможностями, включая возможность файлового сервера обеспечить постоянные дескрипторы.
[48] Операционный поток переходит от операции 304 к операции 306, где принимается второй запрос на постоянный дескриптор. Запрос посылается клиентом и содержит идентификатор дескриптора, сгенерированный клиентом. Идентификатор дескриптора используется в вариантах осуществления сервером для сохранения информации о состоянии относительно сеанса, установленного между клиентом и файловым сервером. В рамках сохранения информации о состоянии в вариантах осуществления поток 300 может включать в себя операцию 308, в которой файловый сервер регистрируется в фильтре возобновления для того, чтобы сохранить некоторую информацию о состоянии. В вариантах осуществления фильтр возобновления располагается между уровнем протокола и используемой системой хранения и может использоваться в вариантах осуществления для сохранения информации о состоянии сеанса, установленного между файловым сервером и клиентом.
[49] В операции 310 информация о состоянии сохраняется в соответствии с идентификатором дескриптора. Информация о состоянии может сохраняться в любой подходящей форме, например в таблице, базе данных или файле регистрации. Запоминающее устройство является постоянным и доступным файловому серверу, чтобы при необходимости восстановить состояние. Информация о состоянии может сохраняться непосредственно файловым сервером. В других вариантах осуществления поток 300 включает в себя операцию 312, в которой для сохранения информации о состоянии используется фильтр возобновления. Как указано выше, для сохранения информации о состоянии в некоторых вариантах осуществления файловый сервер может регистрироваться в фильтре возобновления.
[50] Поток 300 переходит от операции 312 к операции 314, где клиенту посылается ответ, предоставляющий доступ к файлу с использованием постоянного дескриптора. Ответ содержит идентификатор файла, который в ответе обеспечивается файловым сервером и также сохраняется в привязке к информации о состоянии, сохраненной в операции 310, и опционально в операции 312.
[51] Поток 300 затем переходит к операции 316, где в необязательном порядке принимается ряд запросов доступа к файлу. Запросы доступа к файлу могут включать в себя перечень файловых операций, которые надо выполнить при работе с файлом, связанным с постоянным дескриптором. Операции могут быть, например, такие как открытие для чтения/записи данных, перечисление атрибутов, запросы аренд для обеспечения возможности локального кэширования данных, или другие операции доступа к файлу. Различные состояния, связанные с получением запросов доступа к файлу в операции 316, могут обновляться в операции 318. То есть когда эти запросы удовлетворяются для клиента, информация о состоянии, сохраненная в предыдущих операциях (310 и 312), обновляется для отображения дополнительной информации о состоянии.
[52] После операции 318 существует ряд дополнительных операций, определенных в блоке 319. Эти операции могут выполняться в результате отключения клиента от файлового сервера. Как можно понять, в ситуациях, когда файловый сервер, который первоначально выполнял операции 302-318, из-за отказа оказывается недоступным, дополнительные операции в блоке 319 выполняются сервером, обеспечивающим восстановление после отказа. В других вариантах осуществления, в которых отказ является результатом проблемы с сетью, операции в блоке 319 выполняются тем же файловым сервером.
[53] В операции 320 принимается запрос на восстановление соединения. Запрос включает в себя дескриптор файла, ранее предоставленный файловым сервером, а также идентификатор дескриптора, который клиент использовал при запросе постоянного дескриптора. Файловый сервер, который принимает запрос в операции 320, может использовать идентификатор дескриптора и идентификатор файла для поиска информации о состоянии. Как указано выше, эта операция может включать в себя использование фильтра возобновления для извлечения информации о состоянии, которая ранее была сохранена с помощью фильтра возобновления.
[54] Поток 300 переходит от операции 320 к операции 322, где информация о состоянии используется для переустановления соединения с клиентом и его предыдущего состояния. После операции 322 поток переходит к операции 324, где принимаются новые запросы доступа к файлу. Операция 324, следовательно, может включать в себя ряд операций, где каждая включает в себя прием от клиента запроса доступа к файлу.
[55] Некоторые из запросов, принятых в операции 324, могут быть повторами предыдущих запросов, посланных до прекращения соединения между файловым сервером и клиентом. В результате некоторые из этих операций при их повторном применении на файловом сервере могут создать несогласованное состояние. В операции 326 обнаруживаются новые запросы доступа к файлу, являющиеся повторами. В вариантах осуществления эта операция может включать в себя идентификацию запросов доступа к файлу при помощи идентификатора дескриптора, ранее предоставленного клиентом. После того как в операции 326 обнаруживается повтор, запросы соответствующим образом обрабатываются в операции 328. То есть если бы повторные операции создали несогласованное состояние на файловом сервере, они бы могли быть проигнорированы при условии успешного выполнения предыдущей операции. Альтернативно, если предыдущая операция не была успешно выполнена, то может применяться повторная операция. Затем поток 300 заканчивается на 330.
[56] Операционный поток 400 иллюстрирует этапы осуществления поддержки согласованной доступности. В вариантах осуществления поток 400 может выполняться модулями переадресации запросов на клиентах, таких как клиенты 202 и 204 (фиг.2), которые осуществляют взаимодействие с файловым сервером для доступа к файлам в совместно используемой файловой системе. В вариантах осуществления клиент осуществляет взаимодействие с файловым сервером, используя протокол доступа к файлам, такой как версия протокола SMB или версия NFS.
[57] Поток 400 начинается с операции 402, где посылается запрос на подсоединение к файловому серверу. Запрос, посланный при операции 402, является запросом на установление сеанса с файловым сервером для доступа к файловой информации, хранящейся в совместно используемой файловой системе, доступной через файловый сервер. Запрос может посылаться файловым сервером на сервер, например сервер 1, сервер 2 и сервер 3, являющийся частью серверного кластера (фиг.2). Запрос форматируется в соответствии с протоколом доступа к файлам, таким как версия протокола SMB или NFS.
[58] После операции 402 поток 400 переходит к операции 404, где принимается ответ, указывающий на то, что сеанс установлен. В некоторых вариантах осуществления операции 402 и 404 могут быть частью ряда сообщений, которыми обмениваются клиент и сервер для согласования сеанса. Обмен сообщениями может включать в себя обмен функциональными возможностями, включающими в себя возможность файлового сервера обеспечивать постоянные дескрипторы.
[59] Операционный поток переходит от операции 404 к операции 406, где посылается запрос на постоянный дескриптор. В результате процесса согласования (операции 402 и 404) клиент может быть уведомлен о том, что файловый сервер способен обеспечить постоянные дескрипторы. Чтобы гарантировать, что состояния приложений на клиенте могут быть восстановлены после разъединения и возобновления соединения, клиент может запросить постоянный дескриптор в операции 406. Запрос включает в себя идентификатор дескриптора, сгенерированный клиентом.
[60] Поток 400 переходит от операции 406 к операции 408, где принимается ответ, предоставляющий доступ к файлу при помощи постоянного дескриптора. Ответ содержит идентификатор файла, который в ответе предоставляется файловым сервером.
[61] В операции 410 информация о состоянии в некоторых вариантах осуществления сохраняется клиентом. Информация о состоянии сохраняется в привязке к идентификатору дескриптора и идентификатору файла, обеспечиваемым в принятом ответе, в котором предоставляется постоянный дескриптор. Информация о состоянии может сохраняться в любой подходящей форме, например в таблице, базе данных или файле регистрации. Хранение является постоянным и доступным клиенту для восстановления состояния, когда необходимо. Как можно понять, информация о состоянии, сохраняемая клиентом, является в вариантах осуществления информацией о состоянии для операций, которые могут безопасно воспроизводиться на файловом сервере без создания несогласованного состояния на файловом сервере. Воспроизведенными операциями могут быть, например, аренда для локального кэширования данных, чтения, записи, удаления и учета метаданных.
[62] Поток 400 переходит от операции к операции 410 412, где клиент посылает ряд запросов доступа к файлу. Операция 412, таким образом, может включать в себя посылку нескольких запросов на выполнение файловых операций согласно вариантам осуществления. Вслед за операцией 412 выполняется операция 414, где информация о состоянии клиента обновляется. Понятно, что операция 414 может происходить много раз, а именно каждый раз, когда при выполнении операции 412 клиент посылает запрос доступа к файлу.
[63] От операции 414 поток переходит к операции 416, где обнаруживается отключение. Обнаружение может происходить вследствие истечения лимита времени ожидания, уведомления о событии или некоторыми другими путями. После операции 416 посылается запрос на восстановление соединения и переустановление сеанса, ранее установленного с файловым сервером при выполнении операции 418. Запрос включает в себя дескриптор файла, ранее предоставленный файловым сервером, а также идентификатор дескриптора, который использовался клиентом при запросе постоянного дескриптора.
[64] Поток 400 переходит от операции 418 к операции 420, где определяется, что восстановление соединения прошло успешно. После операции 420 поток переходит к операции 422, где информация о состоянии, сохраненная на клиенте, используется для восстановления предыдущего состояния. Операция 422 может содержать передачу ряда различных запросов, включая чтение, запись, перечисление, запросы на блокировки или другие операции для восстановления предыдущего состояния. Поток переходит от операции 422 к операции 424, где клиент посылает новые запросы на доступ к файлу. Поток заканчивается на этапе 426.
[65] Фиг.5 иллюстрирует общую компьютерную систему 500, которая может использоваться для реализации вариантов осуществления, описанных в данном документе. Компьютерная система 500 является лишь одним примером вычислительных сред и не предназначается для введения каких-либо ограничений как на объем использования, так и на функциональные возможности компьютера и сетевых архитектур. Не следует также рассматривать компьютерную систему 500 как имеющую какую-либо зависимость или требования, относящиеся к любому одному или комбинации компонентов, проиллюстрированных в примере компьютерной системы 500. В вариантах осуществления система 500 может использоваться как клиент и/или как сервер, описанные выше со ссылкой на фиг.1.
[66] В своей самой базовой конфигурации система 500 обычно включает в себя, по меньшей мере, один процессорный блок 502 и память 504. В зависимости от точной конфигурации и типа вычислительного устройства память 504 может быть энергозависимой (такой как ОЗУ), энергонезависимой (такой как ПЗУ, флэш-память и т.д.) или некоторой комбинацией этих двух. Данная наиболее общая конфигурация показана на фиг.5 пунктирной линией 506. В вариантах осуществления системная память 504 сохраняет приложения, такие как приложение 523, которое запрашивает доступ к файловой информации. Системная память 504 также включает в себя модуль 522 переадресации запросов, который перехватывает запрос и передает его на файловый сервер в соответствии с вариантами осуществления.
[67] Термин «считываемый компьютером носитель», используемый в данном документе, может включать в себя компьютерные носители данных. Компьютерные носители данных могут включать в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как машиночитаемые команды, структуры данных, программные модули или другие данные. Системная память 504, съемное запоминающее устройство и несъемное запоминающее устройство 508 являются примерами компьютерных носителей данных (то есть устройств памяти). В вариантах осуществления данные, такие как, например, информация 520 о состоянии, сохраняются. Компьютерные носители данных могут включать в себя, но не в ограничительном смысле, ОЗУ, ПЗУ, электрически стираемое ПЗУ (EEPROM), флэш-память или другую технологию памяти, CD-ROM, цифровые универсальные диски (DVD) или другие оптические запоминающие устройства, магнитные кассеты, магнитную ленту, накопитель на магнитных дисках или другие магнитные запоминающие устройства или любой другой носитель, который может использоваться для хранения информации и к которому может быть осуществлен доступ компьютерной системой 500. Любой такой компьютерный носитель данных может быть частью компьютерной системы 500. Компьютерная система 500 может также иметь устройство(а) 514 ввода, такое как клавиатура, мышь, перо, устройство ввода звука, устройство сенсорного ввода и т.д. Устройство(а) 516 вывода, такое как дисплей, динамики, принтер и т.д., также могут быть включены в ее состав. Вышеупомянутые устройства являются примерами, но и другие могут использоваться.
[68] Термин «считываемый компьютером носитель», используемый в данном документе, может также включать в себя коммуникационные среды. Коммуникационные среды могут воплощать команды, считываемые компьютером структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущая волна или другой механизм передачи, и включают в себя любые среды доставки информации. Термин «модулированный сигнал данных» может описывать сигнал, который имеет одну или большее число характеристик, устанавливаемых или меняющихся таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения коммуникационные среды могут включать в себя проводные среды передачи данных, такие как проводная сеть или прямое проводное соединение, и беспроводные среды, такие как акустические, радиочастотные (РЧ), инфракрасные и другие беспроводные среды.
[69] В данном описании была сделана ссылка на «один вариант осуществления» или «вариант осуществления», что означает, что конкретный описанный признак, структура или характеристика включена в состав, по меньшей мере, одного варианта осуществления. Таким образом, использование таких фраз может означать больше чем просто один вариант осуществления. Кроме того, описанные признаки, структуры или характеристики могут быть объединены любым подходящим образом в одном или более вариантах осуществления.
[70] Специалист в соответствующей области техники, однако, может признать, что варианты осуществления могут быть реализованы на практике без одной или нескольких конкретных деталей или с помощью других способов, ресурсов, материалов и т.д. В других случаях общеизвестные структуры, ресурсы или операции не были показаны или подробно не описаны, только чтобы избежать аспектов, затрудняющих понимание вариантов осуществления.
[71] Хотя примерные варианты осуществления и приложения были проиллюстрированы и описаны, должно быть понятно, что варианты осуществления не ограничиваются точной конфигурацией и ресурсами, описанными выше. Различные модификации, изменения и вариации, очевидные для специалистов в данной области, могут быть сделаны в компоновке, работе и деталях способов и систем, описанных в данном документе, без отхода от объема заявленных вариантов осуществления.

Claims (10)

1. Компьютерно-реализуемый способ обеспечения согласованной доступности для клиентов, осуществляющих доступ к совместно используемой файловой системе на серверном кластере, содержащий этапы, на которых:
принимают на файловом сервере запрос на подсоединение к файловому серверу для доступа к файловой информации в совместно используемой файловой системе, причем данный запрос форматирован в соответствии с протоколом доступа к файлам, при этом файловый сервер является одним из множества серверов в серверном кластере;
посылают ответ от файлового сервера, причем данным ответом устанавливается сеанс с клиентом для предоставления доступа к файловой информации в совместно используемой файловой системе, при этом ответ форматируется в соответствии с упомянутым протоколом доступа к файлам;
принимают на файловом сервере запрос на открытие постоянного дескриптора на файловом сервере для доступа клиента к файлу в совместно используемой файловой системе, причем этот запрос содержит идентификатор дескриптора, предоставленный клиентом;
в ответ на прием данного запроса посредством файлового сервера:
сохраняют первую информацию о состоянии для сеанса в привязке к идентификатору дескриптора, и
посылают на клиент ответ, разрешающий доступ к файлу;
после отсоединения клиента принимают запрос на переустановление сеанса с использованием постоянного дескриптора; и
переустанавливают сеанс, используя первую информацию о состоянии.
2. Способ по п.1, в котором первая информация о состоянии включает в себя состояние операции, которая в случае, если она повторно посылается клиентом, приводит к завершению работы файловым сервером в несогласованном состоянии.
3. Способ по п.1, дополнительно содержащий этап, на котором:
после переустановления сеанса принимают новый запрос от клиента, причем этот запрос содержит идентификатор дескриптора.
4. Способ по п.1, в котором отсоединение клиента происходит по причине отказа файлового сервера и переустановление соединения выполняется вторым файловым сервером в серверном кластере.
5. Машиночитаемый носитель, содержащий машиноисполняемые команды, которыми при их исполнении процессором осуществляется способ поддержания согласованного состояния, содержащий этапы, на которых:
посылают посредством клиента запрос на подсоединение к серверу для доступа к файловой информации, причем этот запрос форматируется в соответствии с протоколом доступа к файлам;
принимают ответ от сервера, причем данным ответом устанавливается сеанс с клиентом для доступа к файловой информации на сервере, при этом ответ форматируется в соответствии с упомянутым протоколом доступа к файлам;
посылают запрос на открытие постоянного дескриптора на сервере для доступа клиента к файлу на сервере, причем этот запрос включает в себя идентификатор дескриптора, предоставленный клиентом;
принимают на клиенте ответ, предоставляющий доступ к файлу;
обнаруживают, что клиент отсоединен от сервера,
посылают запрос на переустановление сеанса с использованием постоянного дескриптора, причем запрос на переустановление сеанса включает в себя идентификатор дескриптора;
определяют, что сеанс переустановлен; и
посылают новый запрос.
6. Система для обеспечения согласованной доступности файловой информации, содержащая:
первый сервер, который содержит:
по меньшей мере один процессор, выполненный с возможностью исполнять машиноисполняемые команды;
по меньшей мере один машиночитаемый носитель данных, на котором сохранены машиноисполняемые команды, которые при их исполнении по меньшей мере одним процессором обеспечивают:
первый файловый сервер, выполненный с возможностью:
принимать запрос на открытие постоянного дескриптора для доступа клиента к файлу на первом файловом сервере, причем данный запрос включает в себя идентификатор дескриптора, предоставленный клиентом;
сохранять первую информацию о состоянии в привязке к идентификатору дескриптора;
регистрироваться в фильтре ключа возобновления для сохранения второй информации о состоянии в привязке к коду восстановления; и
посылать на клиент ответ, разрешающий доступ к файлу;
фильтр ключа возобновления, выполненный с возможностью:
принимать запрос на регистрацию от первого файлового сервера;
сохранять вторую информацию о состоянии с ключом возобновления; и
посылать вторую информацию о состоянии на первый файловый сервер в ответ на запрос о второй информации состоянии от первого файлового сервера.
7. Система по п.6, дополнительно содержащая:
по меньшей мере один клиент, который содержит:
по меньшей мере один дополнительный процессор, выполненный с возможностью исполнять машиноисполняемые команды;
по меньшей мере один машиночитаемый носитель данных, на котором сохранены машиноисполняемые команды, которые при их исполнении по меньшей мере одним процессором обеспечивают:
модуль переадресации доступа к файлу, выполненный с возможностью:
посылать запрос на открытие постоянного дескриптора на первом сервере для доступа клиента к файлу на первом сервере, причем данный запрос содержит идентификатор дескриптора;
принимать ответ, разрешающий доступ к файлу;
обнаруживать, что клиент отсоединен от первого файлового сервера;
посылать запрос на переустановление сеанса с использованием постоянного дескриптора, причем запрос на переустановление сеанса содержит идентификатор дескриптора;
определять, что сеанс был переустановлен; и
посылать новый запрос.
8. Система по п.6, в которой первый файловый сервер является одним из множества серверов в серверном кластере, при этом второй сервер из этого множества серверов в серверном кластере содержит:
по меньшей мере один дополнительный процессор, выполненный с возможностью исполнять машиноисполняемые команды;
по меньшей мере один машиночитаемый носитель данных, на котором сохранены машиноисполняемые команды, которые при их исполнении по меньшей мере одним процессором обеспечивают:
второй файловый сервер, выполненный с возможностью:
принимать запрос на переустановление сеанса с использованием постоянного дескриптора, при этом ранее сеанс был установлен первым файловым сервером.
9. Система по п.8, в которой второй сервер из упомянутого множества серверов дополнительно выполнен с возможностью:
использовать информацию о состоянии первого файлового сервера для восстановления предыдущего состояния сеанса.
10. Система по п.7, в которой модуль переадресации доступа к файлу использует версию протокола блока серверных сообщений (SMB) для запрашивания файловых операций от первого файлового сервера и первый файловый сервер использует эту версию протокола SMB для обмена данными с модулем переадресации доступа к файлу.
RU2013158710/08A 2011-06-30 2012-06-08 Прозрачное восстановление после отказа RU2595903C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/174,271 2011-06-30
US13/174,271 US8856582B2 (en) 2011-06-30 2011-06-30 Transparent failover
PCT/US2012/041703 WO2013003006A2 (en) 2011-06-30 2012-06-08 Transparent failover

Publications (2)

Publication Number Publication Date
RU2013158710A RU2013158710A (ru) 2015-07-10
RU2595903C2 true RU2595903C2 (ru) 2016-08-27

Family

ID=47391942

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2013158710/08A RU2595903C2 (ru) 2011-06-30 2012-06-08 Прозрачное восстановление после отказа

Country Status (11)

Country Link
US (2) US8856582B2 (ru)
EP (2) EP3051420B1 (ru)
JP (2) JP5974086B2 (ru)
KR (1) KR101923245B1 (ru)
CN (1) CN103636165B (ru)
AU (1) AU2012275906B2 (ru)
BR (1) BR112013033646A2 (ru)
CA (1) CA2840444A1 (ru)
MX (1) MX2013015359A (ru)
RU (1) RU2595903C2 (ru)
WO (1) WO2013003006A2 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2749754C1 (ru) * 2020-09-23 2021-06-16 Владимир Саулович Айзин Резервированное серверное устройство

Families Citing this family (38)

* 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
US8631277B2 (en) 2010-12-10 2014-01-14 Microsoft Corporation Providing transparent failover in a file system
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
US8788579B2 (en) 2011-09-09 2014-07-22 Microsoft Corporation Clustered client failover
US20130067095A1 (en) 2011-09-09 2013-03-14 Microsoft Corporation Smb2 scaleout
US9251194B2 (en) * 2012-07-26 2016-02-02 Microsoft Technology Licensing, Llc Automatic data request recovery after session failure
US9961125B2 (en) 2013-07-31 2018-05-01 Microsoft Technology Licensing, Llc Messaging API over HTTP protocol to establish context for data exchange
US10440066B2 (en) 2013-11-15 2019-10-08 Microsoft Technology Licensing, Llc Switching of connection protocol
US20150142982A1 (en) * 2013-11-15 2015-05-21 Microsoft Corporation Preservation of connection session
GB2520343A (en) * 2013-11-19 2015-05-20 Ibm A system having a cluster of communication controllers and a method for modification of the latter
US10313221B1 (en) * 2014-01-28 2019-06-04 Sprint Communication Company L.P. Endpoint monitoring for a messaging framework
US10264071B2 (en) * 2014-03-31 2019-04-16 Amazon Technologies, Inc. Session management in distributed storage systems
US10372685B2 (en) 2014-03-31 2019-08-06 Amazon Technologies, Inc. Scalable file storage service
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
GB2531341B (en) * 2014-10-17 2016-10-12 Ibm Reconnection of a client to a server in a transaction processing server cluster
US10348837B2 (en) 2014-12-16 2019-07-09 Citrix Systems, Inc. Methods and systems for connecting devices to applications and desktops that are receiving maintenance
KR101627256B1 (ko) * 2015-01-08 2016-06-03 (주)넷텐션 다수 분산서버를 구비한 네트워크 통신의 세션 이양 방법
WO2016123744A1 (zh) * 2015-02-03 2016-08-11 华为技术有限公司 网络文件系统中处理i/o请求的方法及设备
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
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
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
US20170230457A1 (en) * 2016-02-05 2017-08-10 Microsoft Technology Licensing, Llc Idempotent Server Cluster
CN106095606B (zh) * 2016-06-12 2019-07-23 北京三快在线科技有限公司 一种服务器的软件故障处理方法和装置
CN106571968B (zh) * 2016-11-10 2020-02-21 华为技术有限公司 一种业务切换方法和系统
CN106557390A (zh) * 2016-11-15 2017-04-05 郑州云海信息技术有限公司 一种分布式存储文件连续访问方法及系统
CN108352995B (zh) * 2016-11-25 2020-09-08 华为技术有限公司 一种smb业务故障处理方法和存储设备
US10095700B2 (en) * 2017-01-18 2018-10-09 HGST, Inc. Persistent file handle object container memory expiry
US11165868B2 (en) * 2017-03-30 2021-11-02 Microsoft Technology Licensing, Llc Systems and methods for achieving session stickiness for stateful cloud services with non-sticky load balancers
WO2018235224A1 (ja) * 2017-06-22 2018-12-27 株式会社東芝 ウェブアプリケーションシステム、サーバ装置、端末装置、およびプログラム
US11327857B2 (en) * 2018-04-04 2022-05-10 Netapp Inc. Faster replay of metadata and data operations using inode number based dependency graph
US10884863B2 (en) 2018-07-20 2021-01-05 Red Hat, Inc. Client session reclaim for a distributed storage system
US10866870B2 (en) 2019-01-31 2020-12-15 Hewlett Packard Enterprise Development Lp Data store and state information handover
CN112749142B (zh) * 2019-10-31 2023-09-01 上海哔哩哔哩科技有限公司 句柄管理方法和系统
CN112948158A (zh) * 2021-02-19 2021-06-11 山东英信计算机技术有限公司 一种文件共享方法、装置、设备及计算机可读存储介质
US11888905B2 (en) * 2021-08-06 2024-01-30 Meta Platforms, Inc. Systems and methods for preserving media streams

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2365983C2 (ru) * 2003-12-15 2009-08-27 Майкрософт Корпорейшн Система и способ для службы распространения программного обеспечения
RU2368944C2 (ru) * 2004-09-15 2009-09-27 Самсунг Электроникс Ко., Лтд. Средство хранения информации для хранения метаданных, поддерживающих множество языков, системы и способы обработки метаданных
RU2380749C2 (ru) * 2003-10-24 2010-01-27 Майкрософт Корпорейшн Способ и система для транзакционных файловых операций по сети

Family Cites Families (242)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS571681A (en) 1980-05-24 1982-01-06 Makita Electric Works Ltd Holder for attitude of nail of nail driver
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
JPS6019341Y2 (ja) 1982-01-29 1985-06-11 エスエムケイ株式会社 ロツク付コネクタ
JPS613496U (ja) 1984-06-13 1986-01-10 株式会社東芝 タ−ビンミサイルの防護装置
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
US4736369A (en) 1986-06-13 1988-04-05 International Business Machines Corp. Adaptive session-level pacing
JPS6327678A (ja) 1986-07-21 1988-02-05 清水建設株式会社 鉄板サイロの構築方法
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
JPS6361148U (ru) 1986-10-08 1988-04-22
US4887204A (en) 1987-02-13 1989-12-12 International Business Machines Corporation System and method for accessing remote files in a distributed networking environment
JPS63205747A (ja) 1987-02-13 1988-08-25 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 通信方法及びデータ処理システム
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
JPS6461148A (en) 1987-08-31 1989-03-08 Nec Corp Flow control system
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
JPH02101847U (ru) 1989-01-24 1990-08-14
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
US5261051A (en) 1989-08-14 1993-11-09 Microsoft Corporation Method and system for open file caching in a networked computer system
US5265261A (en) 1989-08-14 1993-11-23 Microsoft Corporation Method and system for network communications using raw mode protocols
JP2575543B2 (ja) 1990-04-04 1997-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 同時アクセス管理方法
US5130986A (en) 1990-04-27 1992-07-14 At&T Bell Laboratories High speed transport protocol with two windows
JPH0675890B2 (ja) 1990-06-25 1994-09-28 河村化工株式会社 釣竿の製造方法
JPH04172039A (ja) 1990-11-05 1992-06-19 Matsushita Electric Ind Co Ltd パケット通信装置
JPH0589048A (ja) 1991-09-25 1993-04-09 Nec Corp コマンド処理方式
JPH05143488A (ja) 1991-11-18 1993-06-11 Nippon Telegr & Teleph Corp <Ntt> 複数コマンドの転送方法
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
JPH0675890U (ja) 1993-04-02 1994-10-25 市光工業株式会社 コーナリングランプ点灯回路
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
JPH08314784A (ja) * 1995-05-19 1996-11-29 Toshiba Corp ファイル管理装置
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
US6438691B1 (en) 1996-04-01 2002-08-20 Hewlett-Packard Company Transmitting messages over a network
RU2118051C1 (ru) 1996-04-30 1998-08-20 Лихачев Александр Геннадьевич Способ доступа к ресурсам "всемирной паутины" через шлюзы-представители
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
FR2759518B1 (fr) 1997-02-07 1999-04-23 France Telecom Procede et dispositif d'allocation de ressources dans un reseau numerique de transmission par paquets
US5987621A (en) 1997-04-25 1999-11-16 Emc Corporation Hardware and software failover services for a file server
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
JP3341637B2 (ja) * 1997-06-20 2002-11-05 日本電気株式会社 トランザクション処理システムにおける端末状態管理方法及びコンピュータ読み取り可能な記録媒体
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
JPH1155314A (ja) 1997-07-30 1999-02-26 Nippon Telegr & Teleph Corp <Ntt> データ転送制御方法
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
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
US6131125A (en) 1997-11-14 2000-10-10 Kawasaki Lsi U.S.A., Inc. Plug-and-play data cable with protocol translation
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
JP3506920B2 (ja) 1998-08-25 2004-03-15 日本電信電話株式会社 全命令トレースデータの2次記憶装置への格納競合防止方法
US6230190B1 (en) * 1998-10-09 2001-05-08 Openwave Systems Inc. Shared-everything file storage for clustered system
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
WO2000068856A2 (en) 1999-05-11 2000-11-16 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
JP2001077844A (ja) 1999-09-06 2001-03-23 Axle Linkage Labo Inc ネットワーク制御方法、サーバ装置、クライアント装置、遊技台装置用ネットワーク制御方法、ホールサーバコンピュータ装置、遊技台装置
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
US7050984B1 (en) 1999-12-22 2006-05-23 Ge Medical Systems, Inc. Integrated interactive service to a plurality of medical diagnostic systems
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
EP1170975B1 (en) 2000-07-05 2004-05-19 Roke Manor Research Limited Method of operating a packet reassembly buffer and network router
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
US20020062379A1 (en) 2000-11-06 2002-05-23 Widegren Ina B. Method and apparatus for coordinating quality of service requirements for media flows in a multimedia session with IP bearer services
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
US6862692B2 (en) * 2001-01-29 2005-03-01 Adaptec, Inc. Dynamic redistribution of parity groups
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
DE60214590T2 (de) 2001-12-07 2007-09-13 Research In Motion Ltd., Waterloo Verfahren und vorrichtung zur steuerung der informationsverteilung zu mobilstationen
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
US20030154398A1 (en) 2002-02-08 2003-08-14 Eaton Eric Thomas System for providing continuity between session clients and method therefor
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 富士通株式会社 ホスト端末エミュレーションプログラム、中継用プログラムおよびホスト端末エミュレーション方法
CA2385344A1 (en) 2002-05-08 2003-11-08 Bell Globemedia Inc. Data transfer method and apparatus
JP2003337717A (ja) * 2002-05-22 2003-11-28 Nec Corp オンライントランザクション処理の障害時復旧同期システム
JP4000905B2 (ja) 2002-05-22 2007-10-31 ソニー株式会社 情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム
WO2003105439A1 (en) 2002-06-10 2003-12-18 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
AU2003246189A1 (en) 2002-07-01 2004-01-19 Kabushiki Kaisha Toshiba Seamless system, recording medium, computer system processing continuation method
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
US7386855B2 (en) 2002-08-12 2008-06-10 Ntt Docomo, Inc. Application mobility service
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
JP3999135B2 (ja) 2003-01-24 2007-10-31 株式会社エヌ・ティ・ティ・ドコモ 通信システム、データ送信方法、通信装置、プログラムおよび記録媒体
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
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
US20040255202A1 (en) 2003-06-13 2004-12-16 Alcatel Intelligent fault recovery in a line card with control plane and data plane separation
US7363629B2 (en) 2003-06-19 2008-04-22 International Business Machines Corporation Method, system, and program for remote resource management
US7693998B2 (en) 2003-06-30 2010-04-06 Microsoft Corporation System and method for message-based scalable data transport
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
JP4229774B2 (ja) 2003-07-11 2009-02-25 日本電信電話株式会社 セッション制御プログラムと通信端末装置
US7296264B2 (en) 2003-07-18 2007-11-13 Bea Systems, Inc. System and method for performing code completion in an integrated development environment
JP4490917B2 (ja) 2003-07-24 2010-06-30 パナソニック株式会社 ファイル管理方法及び情報処理装置
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
US7177941B2 (en) 2003-12-11 2007-02-13 International Business Machines Corporation Increasing TCP re-transmission process speed
US7383483B2 (en) 2003-12-11 2008-06-03 International Business Machines Corporation Data transfer error checking
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
US7493394B2 (en) 2003-12-31 2009-02-17 Cisco Technology, Inc. Dynamic timeout in a client-server system
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
US7487353B2 (en) 2004-05-20 2009-02-03 International Business Machines Corporation System, method and program for protecting communication
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
US7418709B2 (en) 2004-08-31 2008-08-26 Microsoft Corporation URL namespace to support multiple-protocol processing within worker processes
US7418712B2 (en) 2004-08-31 2008-08-26 Microsoft Corporation Method and system to support multiple-protocol processing within worker processes
US7428655B2 (en) 2004-09-08 2008-09-23 Hewlett-Packard Development Company, L.P. Smart card for high-availability clustering
US20060067244A1 (en) 2004-09-30 2006-03-30 Microsoft Corporation Registration identifier reuse
US7451347B2 (en) 2004-10-08 2008-11-11 Microsoft Corporation Failover scopes for nodes of a computer cluster
JP4398843B2 (ja) 2004-10-13 2010-01-13 日本放送協会 配信サーバ及び配信プログラム
CN1767472A (zh) * 2004-10-27 2006-05-03 乐金电子(天津)电器有限公司 家庭网络系统
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
JP4451293B2 (ja) * 2004-12-10 2010-04-14 株式会社日立製作所 名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法
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
US8515490B2 (en) 2004-12-30 2013-08-20 Alcatel Lucent Method and apparatus for providing same session switchover between end-user terminals
WO2006084503A1 (en) 2005-02-08 2006-08-17 Telefonaktiebolaget Lm Ericsson (Publ) On-demand multi-channel streaming session over packet-switched networks
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
JP2007058506A (ja) * 2005-08-24 2007-03-08 Ricoh Co Ltd 文書管理サーバ、文書管理システム、及び、文書管理プログラムとその記録媒体
GB0519246D0 (en) 2005-09-21 2005-10-26 Ibm A method, apparatus and computer program for handling web server failure
RU2313824C2 (ru) 2005-09-26 2007-12-27 Михаил Васильевич Беляев Информационная система клиент - сервер и способ предоставления графического пользовательского интерфейса
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
KR20080057483A (ko) 2006-12-20 2008-06-25 삼성전자주식회사 서버, 클라이언트, 로드 밸런싱 시스템 및 그의 로드밸런싱 방법
US7809828B2 (en) * 2007-04-11 2010-10-05 International Business Machines Corporation Method for maintaining state consistency among multiple state-driven file system entities when entities become disconnected
US20090077097A1 (en) 2007-04-16 2009-03-19 Attune Systems, Inc. File Aggregation in a Switched File System
US20090193410A1 (en) 2007-09-28 2009-07-30 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
US20090158221A1 (en) 2007-12-17 2009-06-18 Nokia Corporation Device feature manipulation based on presented content
CN101217483A (zh) 2008-01-21 2008-07-09 中兴通讯股份有限公司 用于实现集群服务器内负载分担代理的方法
US8458298B2 (en) 2008-03-03 2013-06-04 Microsoft Corporation Failover in an internet location coordinate enhanced domain name system
JP5054618B2 (ja) 2008-06-10 2012-10-24 京セラドキュメントソリューションズ株式会社 ネットワークファイル処理システム
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
CN101594320B (zh) 2009-06-23 2012-05-09 中兴通讯股份有限公司 一种基于snmp协议的消息交互方法
US9749387B2 (en) 2009-08-13 2017-08-29 Sap Se Transparently stateful execution of stateless applications
JP2011119794A (ja) 2009-11-30 2011-06-16 Toshiba Corp 電子機器及び通信制御方法
US8631277B2 (en) 2010-12-10 2014-01-14 Microsoft Corporation Providing transparent failover in a file system
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
US8788579B2 (en) 2011-09-09 2014-07-22 Microsoft Corporation Clustered client failover
US20130067095A1 (en) 2011-09-09 2013-03-14 Microsoft Corporation Smb2 scaleout

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2380749C2 (ru) * 2003-10-24 2010-01-27 Майкрософт Корпорейшн Способ и система для транзакционных файловых операций по сети
RU2365983C2 (ru) * 2003-12-15 2009-08-27 Майкрософт Корпорейшн Система и способ для службы распространения программного обеспечения
RU2368944C2 (ru) * 2004-09-15 2009-09-27 Самсунг Электроникс Ко., Лтд. Средство хранения информации для хранения метаданных, поддерживающих множество языков, системы и способы обработки метаданных

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2749754C1 (ru) * 2020-09-23 2021-06-16 Владимир Саулович Айзин Резервированное серверное устройство

Also Published As

Publication number Publication date
RU2013158710A (ru) 2015-07-10
AU2012275906B2 (en) 2016-06-09
US9462039B2 (en) 2016-10-04
JP6253727B2 (ja) 2017-12-27
EP2727287A4 (en) 2015-08-12
CN103636165B (zh) 2017-05-24
US8856582B2 (en) 2014-10-07
BR112013033646A2 (pt) 2017-01-24
US20140372521A1 (en) 2014-12-18
JP2016224962A (ja) 2016-12-28
KR20140036345A (ko) 2014-03-25
EP2727287A2 (en) 2014-05-07
JP5974086B2 (ja) 2016-08-23
KR101923245B1 (ko) 2018-11-28
MX2013015359A (es) 2014-02-11
CN103636165A (zh) 2014-03-12
WO2013003006A2 (en) 2013-01-03
JP2014524087A (ja) 2014-09-18
WO2013003006A3 (en) 2013-06-20
EP3051420B1 (en) 2017-08-30
EP3051420A1 (en) 2016-08-03
EP2727287B1 (en) 2017-04-05
CA2840444A1 (en) 2013-01-03
US20130007518A1 (en) 2013-01-03

Similar Documents

Publication Publication Date Title
RU2595903C2 (ru) Прозрачное восстановление после отказа
AU2012275906A1 (en) Transparent failover
US11570249B2 (en) Redundant storage gateways
EP2695083B1 (en) Cluster unique identifier
AU2015229864B2 (en) Reducing data volume durability state for block-based storage
RU2595482C2 (ru) Обеспечение прозрачной отработки отказа в файловой системе
US20180152501A1 (en) Remote storage gateway management using gateway-initiated connections
CN107204901B (zh) 一种提供、接收状态通知的计算机系统
WO2013003713A2 (en) Shadowing storage gateway
EP2726975A1 (en) Storage gateway activation process
EP2742432A2 (en) Token based file operations
US8639921B1 (en) Storage gateway security model
US10754813B1 (en) Methods and apparatus for block storage I/O operations in a storage gateway
US6879999B2 (en) Processing of requests for static objects in a network server