RU2595482C2 - Обеспечение прозрачной отработки отказа в файловой системе - Google Patents

Обеспечение прозрачной отработки отказа в файловой системе Download PDF

Info

Publication number
RU2595482C2
RU2595482C2 RU2013126471/08A RU2013126471A RU2595482C2 RU 2595482 C2 RU2595482 C2 RU 2595482C2 RU 2013126471/08 A RU2013126471/08 A RU 2013126471/08A RU 2013126471 A RU2013126471 A RU 2013126471A RU 2595482 C2 RU2595482 C2 RU 2595482C2
Authority
RU
Russia
Prior art keywords
server
client
renewal
file
state
Prior art date
Application number
RU2013126471/08A
Other languages
English (en)
Other versions
RU2013126471A (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 RU2013126471A publication Critical patent/RU2013126471A/ru
Application granted granted Critical
Publication of RU2595482C2 publication Critical patent/RU2595482C2/ru

Links

Images

Classifications

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

Landscapes

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

Abstract

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

Description

УРОВЕНЬ ТЕХНИКИ
[0001] Существует ряд методик для совместного использования файлов, принтеров и других ресурсов между двумя компьютерами в сети. Например, двумя сетевыми протоколами прикладного уровня для совместного использования ресурсов являются Блок сообщений сервера (SMB) и Сетевая файловая система (NFS). SMB используется MICROSOFT™ WINDOWS™ и другими операционными системами, чтобы разрешить двум компьютерам или другим ресурсам взаимодействовать, запрашивать доступ к ресурсам, задавать желаемый доступ к ресурсам (например, чтение, запись и т.п.), блокировать ресурсы и так далее. MICROSOFT™ WINDOWS™ Vista представила SMB 2.0, который упростил набор команд SMB 1.0 и добавил много других расширений. MICROSOFT™ WINDOWS™ 7 и Server 2008 R2 представили SMB 2.1, который добавил уступающую блокировку (oplock) и другие расширения.
[0002] Большинство протоколов для удаленного совместного использования ресурсов предполагают взаимно-однозначное соответствие между соединениями и сеансами. Сеанс представляет собой время существования любого одиночного запроса доступа к ресурсу и последующего доступа к тому ресурсу, пока не завершится соединение. Сеанс также может ассоциироваться с конкретным участником безопасности и проверенными учетными данными безопасности, которые определяют действия, которые санкционируются в течение сеанса. Соединение может включать в себя Протокол управления передачей (TCP), Протокол дейтаграмм пользователя (UDP) или другой тип соединения, по которому протоколы более высокого уровня типа SMB и NFS могут взаимодействовать, чтобы выполнять команды. Сеанс SMB или NFS обычно включает в себя открытие соединения TCP или UDP между источником запроса и целевым объектом запроса, отправку одной или нескольких команд SMB или NFS для доступа к целевому ресурсу, и затем закрытие сеанса. Иногда соединения теряются во время сеанса (например, из-за сетевого сбоя), сбрасывая любое состояние клиента и сервера, установленное во время соединения. Чтобы восстановить соединение, клиенту и серверу обычно нужно еще раз повторить все этапы, используемые для исходного установления соединения.
[0003] Протокол SMB2 предоставляет ключ возобновления, который позволяет клиентам быстро восстановить дескриптор файла для сервера, если клиент отключается от сервера, предоставляя клиентам возможность сократить сетевые круговые маршруты к серверу и сократить нагрузку на сервер, когда клиент повторно подключается. Однако на сегодняшний день ключ возобновления не обеспечивает восстановление состояния в случае отработки отказа сервером, при которой сервер SMB2 утрачивает изменяемое состояние во время перезагрузки сервера или отработки отказа в кластере. Информация о состоянии, ассоциированная с существующими открытыми дескрипторами, теряется и должна быть восстановлена. К тому же ключ возобновления является понятием прикладного уровня, которое может создаваться и использоваться только в пределах границы приложения, но не использоваться совместно.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0004] В этом документе описывается система состояния соединения, которая позволяет клиенту возобновить соединение с сервером или другим заменяющим сервером путем удаленного сохранения информации о состоянии клиента в связи с ключом возобновления. Система предоставляет фильтр ключа возобновления, функционирующий на сервере, который обеспечивает хранение непостоянной информации о состоянии сервера. Информация о состоянии может включать в себя такую информацию, как уступающие блокировки, аренды, предоставленные клиенту, и рабочие операции над дескриптором файла. Драйвер фильтра ключа возобновления находится выше файловой системы, что позволяет нескольким протоколам доступа к файлу использовать этот фильтр, также разрешая фильтру предоставлять эти функциональные возможности на нескольких файловых системах. Система предоставляет информацию о состоянии протоколу независимо от фактического протокола. В результате события отработки отказа, такого как сервер, выходящий из строя или теряющий возможность подключения к клиенту, система может ввести в эксплуатацию другой сервер или тот же сервер и восстановить состояние для дескрипторов файлов, удерживаемых различными клиентами, с использованием фильтра ключа возобновления. Фильтр принудительно устанавливает период сокрытия у активных файлов после отработки отказа, который гарантирует, что состояние активного файла можно восстановить соответственно, и что другие клиенты не вмешиваются в доступ к файлу в это время. В фазе возобновления ключ возобновления используется для отображения существующих дескрипторов файлов перед отработкой отказа в фиксированное состояние файлов после отработки отказа, сохраненное фильтром ключа возобновления. Таким образом, система состояния соединения позволяет тому же или другому серверу возобновить состояние предыдущего сеанса с клиентом после события отработки отказа с как можно меньшим перерывом для клиентов.
[0005] Данное краткое изложение сущности изобретения предоставляется, чтобы представить подборку идей в упрощенном виде, которые дополнительно описываются ниже в подробном описании. Это краткое изложение сущности изобретения не предназначено для определения ключевых признаков или существенных признаков заявленного изобретения и также не предназначено для использования в ограничении объема заявленного изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0006] Фиг.1 - блок-схема, которая иллюстрирует компоненты системы состояния соединения в одном варианте осуществления.
[0007] Фиг.2 - блок-схема алгоритма, которая иллюстрирует обработку в системе состояния соединения для сбора информации о состоянии файловой системы в одном варианте осуществления.
[0008] Фиг.3 - логическая блок-схема, которая иллюстрирует обработку в системе состояния соединения для возобновления соединения после отработки отказа в одном варианте осуществления.
[0009] Фиг.4 - блок-схема, которая иллюстрирует операционную среду системы состояния соединения в одном варианте осуществления.
ПОДРОБНОЕ ОПИСАНИЕ
[0010] В этом документе описывается система состояния соединения, которая позволяет клиенту возобновить соединение с сервером или другим заменяющим сервером путем удаленного сохранения информации о состоянии клиента в привязке к ключу возобновления. Система предоставляет фильтр ключа возобновления, функционирующий на сервере, который обеспечивает хранение непостоянной информации о состоянии сервера. Информация о состоянии может включать в себя такую информацию, как уступающие блокировки, аренды, предоставленные клиенту, и рабочие операции над дескриптором файла. Драйвер фильтра ключа возобновления находится выше файловой системы, что позволяет нескольким протоколам доступа к файлу использовать этот фильтр, также разрешая фильтру предоставлять эти функциональные возможности на нескольких файловых системах. Система предоставляет информацию о состоянии протоколу независимо от фактического протокола. В результате события отработки отказа, такого как сервер, выходящий из строя или теряющий возможность подключения к клиенту, система может ввести в эксплуатацию другой сервер или тот же сервер (например, по другому соединению, такому как резервное Ethernet-соединение) и восстановить состояние для дескрипторов файлов, удерживаемых различными клиентами, с использованием фильтра ключа возобновления.
[0011] Система предоставляет фильтр ключа возобновления, который может использоваться для прозрачной отработки отказа после того, как сервер теряет свое соединение с клиентом. Фильтр ключа возобновления находится над файловой системой и поэтому не зависит от протокола, используемого для доступа к файловой системе. Фильтр ключа возобновления записывает состояние активного файла, а затем восстанавливает состояние активного файла после отработки отказа. Фильтр ключа возобновления может собирать ряд информации о состоянии. Например, фильтр записывает активное состояние файловой системы, содержащее открытые дескрипторы (на которые статически ссылается ключ возобновления), незафиксированное состояние файла (например, удаление при закрытии, ожидание удаления и состояние блокировки) и некоторые рабочие/прерванные файловые операции. Фильтр восстанавливает активное состояние файловой системы после отработки отказа так, что открытые дескрипторы возобновляются для соответствия таковым перед отработкой отказа, и рабочие операции можно повторить соответственно. Фильтр предоставляет нескольким Удаленным файловым системам (RFS) средство для хранения и извлечения непрозрачных данных, которые ассоциируются с открытым дескриптором файла, на который ссылаются посредством ключа возобновления. Фильтр принудительно устанавливает период сокрытия у активных файлов после отработки отказа, который гарантирует, что состояние активного файла можно восстановить соответственно, и что другие клиенты не вмешиваются в доступ к файлу в это время. Фильтр также позволяет "приостановить" активный в настоящее время файл, а затем возобновить без отработки отказа, чтобы поддержать SMB в кластерном сценарии, где узлы отрабатывают отказ.
[0012] Удаленная файловая система (RFS) поставляет ключ возобновления с каждой операцией создания файла в качестве дополнительного параметра во время создания. Этот ключ уникален для RFS. Фильтр ключа возобновления использует ключ возобновления и ключ идентификации RFS совместно в качестве глобального уникального идентификатора (GUID) для дескриптора файла. В фазе возобновления ключ возобновления используется для отображения существующих дескрипторов файлов перед отработкой отказа в фиксированное состояние файлов после отработки отказа, сохраненное фильтром ключа возобновления. Таким образом, система состояния соединения позволяет тому же или другому серверу возобновить состояние предыдущего сеанса с клиентом после события отработки отказа с как можно меньшим перерывом для клиентов.
[0013] Фиг.1 - блок-схема, которая иллюстрирует компоненты системы состояния соединения в одном варианте осуществления. Система 100 включает в себя компонент 110 сбора состояния, компонент 120 хранения состояния, хранилище 130 данных состояния, компонент 140 обнаружения возобновления, компонент 150 извлечения состояния, компонент 160 восстановления состояния, компонент 170 принудительного применения сокрытия и компонент 180 приостановки ресурса. Каждый из этих компонентов подробнее описывается в этом документе.
[0014] Компонент 110 сбора состояния создает запись о состоянии для каждого дескриптора файла и собирает информацию о состоянии, когда клиент запрашивает операции с использованием дескриптора файла. Компонент 110 может работать на сервере и сохранять информацию о состоянии внешне от сервера, чтобы к информации о состоянии можно было обращаться, если сервер недоступен. Например, компонент 110 может хранить информацию о состоянии в хранилище 130 данных состояния, описанном далее в этом документе. Компонент 110 сбора состояния может принять ключ возобновления от клиента, когда клиент подключается к серверу, и компонент 110 ассоциирует собранную информацию о состоянии с ключом возобновления в хранилище 130 данных состояния. Если клиент повторно подключается после события отработки отказа, то клиент предоставит тот же ключ возобновления, используемый для открытия начального соединения, и текущий сервер может найти информацию о состоянии, сохраненную предыдущим сервером, и воссоздать состояние сервера из информации о состоянии.
[0015] Компонент 120 хранения состояния сохраняет собранную информацию о состоянии в связи с ключом возобновления, предоставленным клиентом. Компонент 120 сохраняет информацию о состоянии в хранилище 130 данных состояния и регистрирует операции, связанные с ключом возобновления, которые были бы восстановлены в случае события отработки отказа. Информация о состоянии может включать в себя открытые дескрипторы файлов, уступающие блокировки, предоставленные аренды и информацию об аренде, выполняющиеся файловые операции, блокировки байтовых диапазонов и любую другую информацию, которую другой сервер использовал бы для выполнения запросов клиента без восстановления клиентом всего предыдущего состояния.
[0016] Хранилище 130 данных состояния на постоянной основе хранит информацию о состоянии файловой системы, которую возобновляющий сервер использует для воссоздания информации о состоянии, сохраненной неисправным сервером. В некоторых случаях возобновляющий сервер и неисправный сервер могут быть одним и тем же сервером, использующим разное соединение с клиентом или возвращающимся после короткого перерыва. В других случаях возобновляющий сервер и неисправный сервер являются разными серверами, и хранилище 130 данных состояния предоставляется в местоположении, доступном обоим серверам для совместного использования информации о состоянии. Хранилище 130 данных состояния может включать в себя один или несколько файлов, файловых систем, жестких дисков, баз данных, сетей хранения данных (SAN), служб облачного хранения, или другую систему памяти для постоянного хранения данных и доступную неисправному и возобновляющему серверам для обмена информацией. Когда неисправный сервер выполняет операции, он сохраняет информацию о состоянии касательно хода операций в хранилище 130 данных состояния. При сбое неисправный сервер будет приостановлен, а возобновляющий сервер обращается к информации о состоянии, чтобы возобновить состояние и продолжить выполнение любых операций, которые не были закончены.
[0017] Компонент 140 обнаружения возобновления обнаруживает условие, которое делает неисправный сервер недоступным, и сообщает возобновляющему серверу, чтобы тот действовал вместо неисправного сервера. Обнаружение может быть инициируемым клиентом, так что система не выполняет никакие возобновляющие этапы до тех пор, пока клиент не подключится повторно к системе и не предоставит ранее используемый ключ возобновления. Система идентифицирует ключ и любую информацию о состоянии, сохраненную в связи с ключом, и восстанавливает ту информацию о состоянии как часть настройки соединения. Возобновляющий сервер может быть одинаковым или отличающимся от неисправного сервера, и компонент 140 обнаружения возобновления обеспечивает, что возобновляющий сервер становится активным для обработки запросов клиента. В других вариантах осуществления обнаружение может быть инициируемым сервером, и система может предусмотрительно ввести в эксплуатацию возобновляющий сервер при обнаружении, что неисправный сервер вышел из строя. Система также может предварительно заполнить возобновляющий сервер сохраненной информацией о состоянии даже перед тем, как клиент запрашивает соединение с сервером.
[0018] Компонент 150 извлечения состояния извлекает сохраненную информацию о состоянии из местоположения, доступного возобновляющему серверу, где информация о состоянии позволяет возобновляющему серверу возобновить любые ранее запрошенные операции файловой системы, которые были прерваны обнаруженным условием сбоя. Компонент 150 извлечения состояния извлекает информацию о состоянии из хранилища 130 данных состояния и вызывает компонент 160 восстановления состояния для загрузки информации в возобновляющий сервер, чтобы возобновляющий сервер мог продолжить операции, запрошенные клиентом.
[0019] Компонент 160 восстановления состояния загружает извлеченную информацию о состоянии в возобновляющий сервер, чтобы возобновляющий сервер мог продолжить операции, ранее запрошенные клиентом. Восстановление также может включать в себя обновление любых уступающих блокировок и/или аренд, удерживаемых клиентом, для обеспечения, что другие клиенты соблюдают ранее запрошенные уровни доступа и/или исключительные права, предоставленные клиенту. Компонент 160 восстановления состояния позволяет новому серверу или узлу заменить неисправный сервер или узел, не возлагая большую нагрузку на клиента для восстановления информации о состоянии вследствие повторения прошлых операций. Клиенты, использующие протоколы типа SMB 2.0, уже знают, как использовать ключ возобновления для восстановления соединения с тем же сервером, и система состояния соединения позволяет заменяющему серверу заменить неисправный сервер прозрачно для клиента. Ключи возобновления также могут использоваться с NFS. В случае NFS понятие ключа возобновления является полностью непрозрачным для клиента. Клиент не обращается явно или не принимает участие в формировании, управлении и ассоциации ключа возобновления. Точнее, ключ возобновления является серверным понятием.
[0020] Компонент 170 принудительного применения сокрытия принудительно устанавливает период сокрытия на доступ к одному или нескольким файлам или другим ресурсам, который не дает второму клиенту вмешиваться в ресурсы способом, который конфликтовал бы с первым клиентом, возобновляющим соединение с возобновляющим сервером. Компонент 170 может автоматически выбирать период, считающийся достаточно длинным, чтобы избежать большинства конфликтующих операций (например, 15 или 30 секунд), но не настолько длинным, чтобы помешать другим клиентам обращаться к ресурсам, если первый клиент не возобновляет соединение. Этот период дает первому клиенту время на возобновление соединения, если того хочет первый клиент. В некоторых вариантах осуществления система позволяет администратору или другому пользователю конфигурировать длительность периода сокрытия для подстройки системы под специализированные цели. Система также может позволить отдельным клиентам запрашивать период сокрытия в качестве параметра к запросу создания/открытия или другому интерфейсу прикладного программирования (API). В ответ на попытки доступа к скрытому ресурсу компонент 170 может предоставить указание попытаться снова после конкретного периода или просто не выполнять запрос. После периода сокрытия, если никакой клиент не возобновил соединение, то сокрытие завершается, и запросы на доступ к ресурсу будут иметь успех, как обычно.
[0021] Компонент 180 приостановки ресурса позволяет приостановить и возобновить активный в настоящее время ресурс без события отработки отказа, чтобы позволить кластеру перейти на другой узел запланированным способом. Одним примером является балансировка нагрузки. Приостановка делает возможным сценарии, где подмножество состояния переносится на новый узел. Например, если один узел в кластере перегружен, то администратор может захотеть переместить половину клиентов узла на новый узел. Приостановка делает возможным сбор состояния открытых дескрипторов, которые перемещаются, и позволяет клиенту подключиться к новому узлу в виде продолжения того же открытого дескриптора (например, без восстановления состояния сервера). В качестве другого примера SMB поддерживает сценарии кластеризации, в которых типичные узлы вводятся в кластер и могут использоваться взаимозаменяемо для обслуживания запросов клиентов. Иногда существует причина вывести из эксплуатации конкретный узел, например для обслуживания, и желательно аккуратно приостановить текущий узел, активизировать новый узел, дезактивировать старый узел, а затем выполнить любое техническое обслуживание на дезактивированном узле. Это может оказать нежелательное влияние на клиентов, но с использованием описанных в этом документе методик система 100 может организованно приостановить узел и позволить клиентам эффективно возобновить операции с новым узлом.
[0022] Вычислительное устройство, на котором реализуется система состояния соединения, может включать в себя центральный процессор, память, устройства ввода (например, клавиатуру и указательные устройства), устройства вывода (например, дисплейного устройства) и запоминающие устройства (например, накопители на дисках или другие энергонезависимые носители информации). Память и запоминающие устройства являются машиночитаемыми носителями информации, которые могут кодироваться исполняемыми компьютером командами (например, программным обеспечением), которые реализуют или делают возможной систему. К тому же структуры данных и структуры сообщений могут храниться или передаваться через среду передачи данных, такую как сигнал на линии связи. Могут использоваться различные линии связи, такие как Интернет, локальная сеть, глобальная сеть, двухточечное коммутируемое соединение, сотовая телефонная сеть и так далее.
[0023] Варианты осуществления системы могут быть реализованы в различных операционных средах, которые включают в себя персональные компьютеры, серверы, карманные или переносные устройства, многопроцессорные системы, микропроцессорные системы, программируемую бытовую электронику, цифровые камеры, сетевые ПК, мини-компьютеры, мэйнфреймы, распределенные вычислительные среды, которые включают в себя любые из вышеупомянутых систем или устройств, телевизионные приставки, системы на кристалле (SoC), и так далее. Компьютерные системы могут быть сотовыми телефонами, персональными цифровыми помощниками, смартфонами, персональными компьютерами, программируемой бытовой электроникой, цифровыми камерами и так далее.
[0024] Система может быть описана в общем контексте исполняемых компьютером команд, таких как программные модули, выполняемые одним или несколькими компьютерами или иными устройствами. Как правило, программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и так далее, которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Обычно функциональные возможности программных модулей могут быть объединены или распределены по желанию в различных вариантах осуществления.
[0025] Фиг.2 - логическая блок-схема алгоритма, которая иллюстрирует обработку в системе состояния соединения для сбора информации о состоянии файловой системы в одном варианте осуществления. Начиная на этапе 210, система принимает от клиента запрос на доступ к удаленному ресурсу, сохраненному на сервере. Запрос доступа может включать в себя один или несколько параметров, включающих в себя ключ возобновления, используемый для идентификации сеанса на нескольких возможных соединениях, если соединение терпит неудачу. Запрос доступа к ресурсу может быть первым в последовательности запросов доступа, отправленных от клиента, и если клиент когда-либо отключается от сервера, то клиент может предоставить тот же ключ возобновления в последующем запросе открытия тому же или новому серверу, чтобы возобновить соединение. Ключ возобновления помогает серверу ответить клиенту быстрее путем сопоставления информации о состоянии, поддерживаемой сервером (или между серверами) между тем, что иначе оказалось бы независимыми клиентскими соединениями.
[0026] Продолжая на этапе 220, система определяет идентификатор, который идентифицирует клиентский сеанс, связанный с запросом. Идентификатор в некоторых случаях является ключом возобновления, который клиент предоставляет для долговременных дескрипторов, которые позволяют возобновление сеансов, которые отключились по различным причинам. Запрос доступа может включать в себя один или несколько параметров в четко определенных местоположениях в протоколе, чтобы система могла извлечь ключ путем считывания подходящего местоположения в запросе. В качестве альтернативы или дополнительно сервер может включать в себя автоматизированный процесс для определения идентификатора, который не привлекает информацию, явно предоставленную клиентом. Например, сервер может идентифицировать клиента по IP-адресу (Интернет-протокол) или другим подразумеваемым данным, которые указывают серверу, что клиентское соединение соотносится с предыдущим сеансом.
[0027] Продолжая на этапе 230, система создает запись возобновления, доступную для поиска по извлеченному идентификатору, которая ассоциирует информацию о состоянии, созданную запрошенными клиентом операциями, с извлеченным идентификатором. Запись возобновления можно сохранить в местоположении, внешнем для сервера, обрабатывающего текущий запрос доступа, так что если сервер выходит из строя, другой сервер сможет считать запись для возобновления операций и действовать вместо исходного сервера. Запись возобновления может включать в себя файл, запись в базе данных или другой вид хранения. Запись может содержать список открытых дескрипторов файлов, уступающие блокировки, полученные клиентом, аренды или другую информацию о состоянии файловой системы.
[0028] Продолжая на этапе 240, система принимает файловую операцию от клиента, который запрашивает доступ к файлу, доступному посредством сервера. Файловая операция может быть запросом на открытие файла, закрытие файла, считывание файла, запись файла, печать на совместно используемом принтере или другими операциями файловой системы. Принятая операция привлекает некоторое количество информации о состоянии, создаваемой на сервере. Например, если клиент открывает дескриптор к файлу, то сервер отслеживает тот дескриптор для управления другими запросами клиента, связанными с файлом, и управления временем существования и/или очищающей обработкой для дескриптора.
[0029] Продолжая на этапе 250, система сохраняет информацию о состоянии возобновления в созданной записи возобновления, которая предоставляет информацию для возобновления принятой файловой операции, если клиент теряет соединение с сервером. Если клиентское соединение терпит неудачу, то клиент попытается возобновить соединение путем повторного открытия удаленного ресурса и задания такого же ключа возобновления или другого идентификатора сеанса. Это позволит серверу или другому серверу обратиться к сохраненной записи возобновления и восстановить предыдущую информацию о состоянии.
[0030] Продолжая на этапе 260, система выполняет запрошенную файловую операцию. Операция может открывать файл, считывать содержимое файла, записывать данные в файл, изменять права доступа к файлу или может быть любой другой операцией файловой системы. Результат операции может изменить состояние, сохраненное сервером. Например, если клиент пытается закрыть дескриптор, и сервер успешно закрывает дескриптор, то состояние сервера будет обновлено для удаления дескриптора из списка дескрипторов, отслеживаемых сервером.
[0031] Продолжая на этапе 270, система обновляет сохраненную информацию о состоянии возобновления в созданной записи возобновления на основе результата выполненной файловой операции. Система не может знать заранее, когда возникнет сбой, который вызовет отработку отказа, поэтому система поддерживает актуальное представление о состоянии сервера в записи возобновления, что позволяет серверу восстановить состояние как можно ближе к предыдущему состоянию сервера. Операции, которые не были завершены, можно повторить для завершения операций, тогда как операции, которые были завершены, не нужно повторять (но сервер может повторно отправить клиенту результат). Таким образом, система обновляет состояние при необходимости во время и после различных операций файловой системы, которые изменяют информацию о состоянии сервера.
[0032] Продолжая на этапе 280, система отправляет клиенту ответ, который указывает результат запрошенной файловой операции. Если клиент и сервер по-прежнему подключены, то операции продолжаются так, как они запрашиваются клиентом, и сервер продолжает отслеживать обновленную информацию о состоянии. Если в любой момент теряется соединение, то можно ввести в эксплуатацию другой сервер или исправить существующий сервер, и информацию о состоянии можно загрузить из хранилища состояний для восстановления прежнего состояния сервера. При приеме нового запроса от клиента на возобновление сеанса клиенту не нужно знать, что произошла отработка отказа и что клиент, возможно, взаимодействует с сервером, отличным от исходного. После этапа 280 эти этапы завершаются.
[0033] Фиг.3 - логическая блок-схема, которая иллюстрирует обработку в системе состояния соединения для возобновления соединения после отработки отказа в одном варианте осуществления. Начиная на этапе 310, система принимает от клиента запрос на открытие удаленного ресурса, сохраненного на сервере. Запрос доступа может включать в себя один или несколько параметров, включающих в себя ключ возобновления, используемый для идентификации сеанса на нескольких возможных соединениях, если соединение терпит неудачу. В отличие от запроса доступа к ресурсу, рассмотренного со ссылкой на фиг.2, этот запрос является запросом для повторного подключения к ранее подключенному сеансу. Клиент предоставляет такой же ключ возобновления, как предоставлялся изначально, чтобы сервер мог сопоставить текущий запрос сеанса с предыдущим сеансом.
[0034] Продолжая на этапе 320, система определяет идентификатор сеанса, который идентифицирует клиентский сеанс, связанный с запросом. Идентификатор в некоторых случаях является ключом возобновления SMB 2, который клиент предоставляет для долговременных дескрипторов, которые позволяют возобновление сеансов, которые отключились по различным причинам. Запрос доступа может включать в себя один или несколько параметров в четко определенных местоположениях в протоколе, чтобы система могла извлечь ключ путем считывания подходящего местоположения в запросе. В иных случаях сервер может определять идентификатор автоматически на основе информации о клиенте.
[0035] Продолжая на этапе 330, система ищет принятый идентификатор сеанса в хранилище состояний, чтобы идентифицировать запись возобновления, ассоциированную с тем идентификатором сеанса. Любой предыдущий сервер, взаимодействующий с клиентом с использованием возобновляемого сеанса, сохраняет информацию о состоянии на постоянной основе посредством взаимодействия с клиентом. Когда клиент пытается восстановить соединение, информация о состоянии доступна отказоустойчивому серверу, подменяющему исходный сервер. Информация о состоянии может храниться внешне для исходного сервера, так что информация доступна после сбоя исходного сервера.
[0036] Продолжая на этапе 340, система принимает из хранилища состояний предыдущую информацию о состоянии, ассоциированную с записью возобновления. Информация о состоянии идентифицирует статическое состояние, например открытые дескрипторы файлов, полученные аренды, полученные уступающие блокировки и так далее, а также динамическое состояние, например рабочие операции, которые могут быть не завершены. Сохраненная информация о состоянии позволяет отказоустойчивому серверу заменить исходный сервер без определенной обработки клиентом. Клиент понимает возобновляемые дескрипторы и выполняет этапы, чтобы сделать соединение возобновляемым, но может не знать о том, какой сервер прекращает обработку соединения в любой конкретный момент. Клиент может обращаться к серверу посредством доменного имени или сетевого общего каталога, который может разрешаться в адрес любого из нескольких серверов, включая отказоустойчивый сервер.
[0037] Продолжая на этапе 350, система восстанавливает принятую предыдущую информацию о состоянии путем загрузки информации в компоненты файловой системы, которые отслеживают состояние файловой системы. После загрузки состояния локальное состояние отказоустойчивого сервера аналогично тому, как выглядело бы состояние, если бы все предыдущие операции произошли на отказоустойчивом сервере. Таким образом, отказоустойчивый сервер также полезен клиенту для продолжения последовательности операций, как и исходный сервер, если бы соединение не потерпело неудачу.
[0038] Продолжая на этапе 360, система отвечает на клиентский запрос доступа, указывая, что сервер обнаружил запись возобновления и готов принимать клиентские операции, связанные с предыдущим сеансом. На основе ответа сервера клиент может определить, возобновляется ли сеанс, или нужно ли клиенту принять меры для повторения предыдущих операций. Если сеанс был успешно возобновлен, то клиент может продолжить узнавать, что предыдущие операции завершились или были повторены для завершения после возобновления сервера. В некоторых случаях система может дать клиенту новый дескриптор файла, который имеет такое же состояние, как и дескриптор файла перед отработкой отказа. После этапа 360 эти этапы завершаются.
[0039] Фиг.4 - блок-схема, которая иллюстрирует операционную среду системы состояния соединения в одном варианте осуществления. Среда включает в себя одну или несколько служб или приложений операционной системы, которые взаимодействуют с файловой системой. Например, MICROSOFT™ WINDOWS™ включает в себя серверную службу 420, известную как SRV, и службу 410 сетевой файловой системы, известную как NFS. Служба 410 сетевой файловой системы и серверная служба 420 предоставляют доступ к совместно используемым между компьютерными системами ресурсам, например файлам и принтерам. Серверная служба 420 использует протокол SMB, характерный для сетей WINDOWS™, тогда как служба 410 сетевой файловой системы предоставляет доступ к системам на основе Unix, которые в большинстве случаев используют NFS. Независимо от протокола фильтр 430 ключа возобновления собирает файловые операции и сохраняет в удаленном хранилище данных информацию о состоянии для возобновления операций. Операции проходят на уровне 440 файловой системы (например, NTFS или другой файловой системы) и оказывают воздействие на один или несколько файлов 450 данных пользователя. Между тем фильтр 430 ключа возобновления записывает информацию о состоянии в файл 460 журнала или другое хранилище данных, к которому может обратиться другой сервер для извлечения информации о состоянии и возобновления соединения с клиентом. Система может работать независимо от конкретного протокола или участвующей файловой системы, и различные компоненты могут обновляться для сохранения их конкретной информации о состоянии в хранилище данных состояния.
[0040] В некоторых вариантах осуществления система состояния соединения сохраняет непрозрачные большие блоки двоичных данных от лица компонентов файловой системы, чтобы позволить системе возобновлять соединения без соответствующих компоненту сведений. Например, фильтр ключа возобновления, описанный в этом документе, может запросить у серверной службы любые данные, которые потребовались бы серверной службе для воссоздания ее текущего состояния. Фильтр затем может сохранить любые принятые данные в виде непрозрачного блока двоичных данных в хранилище состояний (то есть фильтру не нужно знать, что находится в блоке двоичных данных, или его семантическое значение). При условии отработки отказа фильтр ключа возобновления, функционирующий на новом сервере, может обратиться к сохраненной информации о состоянии, извлечь сохраненный блок двоичных данных и предоставить блок двоичных данных серверной службе, чтобы серверная служба могла восстановить свое состояние. Таким образом, систему можно заставить работать со многими типами протоколов без определенных сведений о внутренних операциях компонентов, которые реализуют каждый протокол для сервера.
[0041] В некоторых вариантах осуществления система состояния соединения блокирует обращение других клиентов к файлам или другим ресурсам, связанным с возобновляемым дескриптором, на некоторое количество времени (то есть период сокрытия). Если исходный клиент повторно подключается в течение периода сокрытия, то исходный клиент получает свое соединение со всем предыдущим состоянием и может возобновить операции. Если пытается подключиться другой клиент, то сервер может предоставить сообщение, указывающее необходимость подождать некоторое количество времени и повторить попытку. Знающие о возобновлении клиенты могут использовать эту информацию, чтобы перенести повторную попытку уже после периода сокрытия, тогда как старые клиенты могут просто не выполнить соединение и снова попробовать вручную по запросу пользователя. Если исходный клиент не вернулся в пределах периода сокрытия, то сервер очищает информацию о состоянии возобновления и позволяет новым клиентам обращаться к ресурсам как обычно.
[0042] В некоторых вариантах осуществления система состояния соединения может использовать ряд запоминающих устройств или стратегий для ускорения возобновлений. Например, система может использовать быстрое энергонезависимое запоминающее устройство (например, твердотельный диск (SSD)) для хранения информации о состоянии возобновления, так что возобновления получают более быстрый доступ к данным, чтобы избежать любой дальнейшей задержки операций, уже прерванных из-за сбоя. В качестве другого примера система может транслировать группе серверов все изменения, сделанные каждым сервером, так что каждый сервер может поддерживать свою копию информации о состоянии и может быть избран отказоустойчивым сервером в случае сбоя исходного сервера.
[0043] Из вышеизложенного нужно будет принять во внимание, что определенные варианты осуществления системы состояния соединения описаны в этом документе с целью иллюстрации, но можно внести различные модификации без отклонения от сущности и объема изобретения. Соответственно, изобретение не ограничивается ничем, кроме прилагаемой формулы изобретения.

Claims (20)

1. Реализуемый компьютером способ сбора информации о состоянии файловой системы для обеспечения возобновления соединений, содержащий этапы, на которых:
принимают от первого клиента запрос на доступ к удаленному ресурсу, сохраненному на сервере;
определяют идентификатор, который идентифицирует клиентский сеанс, связанный с этим запросом;
создают запись возобновления, при этом запись возобновления является доступной для поиска по данному идентификатору и при этом запись возобновления связывает информацию о состоянии, созданную запрошенными первым клиентом операциями, с упомянутым идентификатором;
принимают файловую операцию от первого клиента, причем данной файловой операцией запрашивается доступ к файлу, доступному через сервер;
сохраняют информацию о состоянии возобновления в упомянутой записи возобновления, при этом информация о состоянии возобновления предоставляет информацию для возобновления принятой файловой операции, если первый клиент теряет соединение с сервером;
после потери первым клиентом соединения с сервером, загружают на отказоустойчивом сервере упомянутую запись возобновления, чтобы обеспечить первому клиенту возможность соединиться с отказоустойчивым сервером и продолжить упомянутую файловую операцию, при этом доступ к упомянутому удаленному ресурсу ограничивается на период времени, чтобы предотвратить взаимодействие второго клиента с этим удаленным ресурсом таким путем, который конфликтовал бы с установлением первым клиентом соединения с отказоустойчивым сервером;
выполняют запрошенную файловую операцию;
обновляют упомянутую информацию о состоянии возобновления в упомянутой записи возобновления на основе результата упомянутой файловой операции; и
отправляют первому клиенту ответ, который указывает результат запрошенной файловой операции.
2. Способ по п. 1, в котором упомянутый запрос доступа включает в себя один или более параметров, включающих в себя ключ возобновления, который идентифицирует клиентский сеанс на нескольких возможных соединениях, если соединение терпит неудачу, при этом ключ возобновления является по меньшей мере частью упомянутого определенного идентификатора.
3. Способ по п. 1, дополнительно содержащий этап, на котором при отсоединении первого клиента от сервера принимают на отказоустойчивом сервере новый запрос доступа, который отказоустойчивый сервер может сопоставить с исходным запросом доступа, чтобы помочь отказоустойчивому серверу быстрее ответить первому клиенту после сбоя соединения путем сопоставления информации о состоянии, поддерживаемой сервером между несколькими клиентскими соединениями.
4. Способ по п. 1, в котором сервер с сетевой файловой системой (NFS) определяет упомянутый идентификатор автоматически без приема ключа возобновления от первого клиента.
5. Способ по п. 1, в котором упомянутый идентификатор является ключом возобновления блока сообщений сервера (SMB), который первый клиент предоставляет для долговременных дескрипторов, которые обеспечивают возможность возобновления отключенных сеансов.
6. Способ по п. 1, в котором при создании записи возобновления сохраняют запись возобновления в местоположении, внешнем для сервера, обрабатывающего запрос доступа к удаленному ресурсу, хранящемуся на сервере.
7. Способ по п. 1, в котором прием файловой операции содержит запрос на выполнение операции, выбранной из группы, состоящей из открытия файла, закрытия файла, чтения файла, записи в файл, получения аренды на файл и получения блокировки на файл.
8. Способ по п. 1, в котором выполнение запрошенной файловой операции изменяет состояние, сохраненное сервером, при этом при обновлении информации о состоянии возобновления фиксируют это измененное состояние.
9. Способ по п. 1, в котором при обновлении информации о состоянии возобновления поддерживают актуальное представление о состоянии сервера в записи возобновления, что позволяет другому серверу восстановить состояние и обработать запросы клиента вместо исходного сервера, не требуя от первого клиента восстановить, по меньшей мере, часть информации о состоянии.
10. Компьютерная система для обеспечения прозрачной отработки отказа для клиентов в файловой системе, содержащая процессор и память, сконфигурированные для исполнения программных команд, реализованных в следующих компонентах компонент сбора состояния, который создает запись о состоянии для каждого дескриптора файла и собирает информацию о состоянии, по мере того как первый клиент запрашивает операции с использованием дескриптора файла;
компонент хранения состояния, который сохраняет собранную информацию о состоянии в связи с идентификатором сеанса, предоставленным первым клиентом;
хранилище данных состояния, которое на постоянной основе хранит информацию о состоянии файловой системы, которую возобновляющий сервер использует для воссоздания информации о состоянии, сохраненной неисправным сервером;
компонент обнаружения возобновления, который обнаруживает условие, которое делает неисправный сервер недоступным, и сообщает возобновляющему серверу, чтобы тот действовал вместо неисправного сервера;
компонент извлечения состояния, который извлекает сохраненную информацию о состоянии из местоположения, доступного возобновляющему серверу, где информация о состоянии позволяет возобновляющему серверу возобновить любые ранее запрошенные операции файловой системы, которые были прерваны обнаруженным условием сбоя;
компонент принудительного применения сокрытия, который принудительно устанавливает период сокрытия на доступ к одному или более файлам или другим ресурсам, чтобы не дать второму клиенту воздействовать на эти один или более файлов или других ресурсов таким путем, который конфликтовал бы установлением первым клиентом соединения с возобновляющим сервером; и компонент восстановления состояния, который загружает извлеченную информацию о состоянии в возобновляющий сервер, чтобы возобновляющий сервер мог продолжить операции, ранее запрошенные клиентом.
11. Система по п. 10, в которой компонент сбора состояния дополнительно сконфигурирован для функционирования на сервере и сохранения информации о состоянии внешним по отношению к серверу образом, чтобы к информации о состоянии можно было осуществлять доступ, если сервер недоступен.
12. Система по п. 10, в которой компонент сбора состояния дополнительно сконфигурирован принимать ключ возобновления от первого клиента, когда клиент подсоединяется к серверу, и связывать собранную информацию о состоянии с ключом возобновления в хранилище данных состояния.
13. Система по п. 10, в которой хранилище данных состояния сохраняет и предоставляет информацию для возобновляющего сервера, при этом возобновляющий сервер является тем же сервером, что и неисправный сервер, использующим другое соединение с клиентом.
14. Система по п. 10, в которой хранилище данных состояния принимает информацию о состоянии, по мере того как неисправный сервер выполняет операции, и при сбое предоставляет возобновляющему серверу доступ к ранее принятой информации о состоянии, чтобы возобновить состояние и продолжить выполнение любых операций, которые не были закончены.
15. Система по п. 10, в которой условие, обнаруживаемое компонентом обнаружения возобновления, соответствует тому, что первый клиент соединяется с идентификатором сеанса, прежде сохраненным в хранилище данных состояния.
16. Система по п. 10, в которой компонент восстановления состояния предоставляет по меньшей мере один блок двоичных данных во внешний компонент, который управляет файловой системой или протоколом, причем этот блок двоичных данных сохраняется в хранилище данных состояния от имени данного внешнего компонента для использования во время операции восстановления.
17. Система по п. 10, дополнительно содержащая компонент приостановки ресурса, который позволяет приостановить и возобновить активный в настоящее время ресурс без события отработки отказа, чтобы позволить кластеру перейти, в канве отработки отказа, на другой узел запланированным способом.
18. Машиночитаемый носитель информации, на котором закодированы машиноисполняемые инструкции, которыми при их исполнении процессором выполняется способ, содержащий этапы, на которых:
принимают от первого клиента запрос на доступ к удаленному ресурсу, сохраненному на сервере;
определяют идентификатор, который идентифицирует клиентский сеанс, связанный с этим запросом;
создают запись возобновления, при этом запись возобновления является доступной для поиска по данному идентификатору и при этом запись возобновления связывает информацию о состоянии, созданную запрошенными первым клиентом операциями, с упомянутым идентификатором;
принимают файловую операцию от первого клиента, причем данной файловой операцией запрашивается доступ к файлу, доступному через сервер;
сохраняют информацию о состоянии возобновления в упомянутой записи возобновления, при этом информация о состоянии возобновления предоставляет информацию для возобновления принятой файловой операции, если первый клиент теряет соединение с сервером;
после потери первым клиентом соединения с сервером, загружают на отказоустойчивом сервере упомянутую запись возобновления, чтобы обеспечить первому клиенту возможность соединиться с отказоустойчивым сервером и продолжить упомянутую файловую операцию, при этом доступ к упомянутому удаленному ресурсу ограничивается на период времени, чтобы предотвратить взаимодействие второго клиента с этим удаленным ресурсом таким путем, который конфликтовал бы с установлением первым клиентом соединения с отказоустойчивым сервером.
19. Машиночитаемый носитель информации по п. 18, дополнительно содержащий инструкции для того, чтобы, после установления соединения с отказоустойчивым сервером,
выполнять запрошенную файловую операцию;
обновлять упомянутую информацию о состоянии возобновления в упомянутой записи возобновления на основе результата упомянутой файловой операции; и
отправлять первому клиенту ответ, который указывает результат запрошенной файловой операции.
20. Машиночитаемый носитель информации по п. 18, при этом упомянутый идентификатор является ключом возобновления блока сообщений сервера (SMB).
RU2013126471/08A 2010-12-10 2011-12-06 Обеспечение прозрачной отработки отказа в файловой системе RU2595482C2 (ru)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
RU2013126471A RU2013126471A (ru) 2014-12-20
RU2595482C2 true RU2595482C2 (ru) 2016-08-27

Family

ID=46200659

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2013126471/08A RU2595482C2 (ru) 2010-12-10 2011-12-06 Обеспечение прозрачной отработки отказа в файловой системе

Country Status (13)

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

Families Citing this family (42)

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

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7475142B2 (en) * 2002-12-06 2009-01-06 Cisco Technology, Inc. CIFS for scalable NAS architecture

Family Cites Families (188)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4399504A (en) 1980-10-06 1983-08-16 International Business Machines Corporation Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment
US4825354A (en) 1985-11-12 1989-04-25 American Telephone And Telegraph Company, At&T Bell Laboratories Method of file access in a distributed processing computer network
US4780821A (en) 1986-07-29 1988-10-25 International Business Machines Corp. Method for multiple programs management within a network having a server computer and a plurality of remote computers
US4914570A (en) 1986-09-15 1990-04-03 Counterpoint Computers, Inc. Process distribution and sharing system for multiple processor computer system
US4887204A (en) 1987-02-13 1989-12-12 International Business Machines Corporation System and method for accessing remote files in a distributed networking environment
US5202971A (en) 1987-02-13 1993-04-13 International Business Machines Corporation System for file and record locking between nodes in a distributed data processing environment maintaining one copy of each file lock
US4791566A (en) 1987-03-27 1988-12-13 Digital Equipment Corporation Terminal device session management protocol
US5008853A (en) 1987-12-02 1991-04-16 Xerox Corporation Representation of collaborative multi-user activities relative to shared structured data objects in a networked workstation environment
US4891785A (en) 1988-07-08 1990-01-02 Donohoo Theodore J Method for transferring data files between computers in a network response to generalized application program instructions
US5124909A (en) 1988-10-31 1992-06-23 Hewlett-Packard Company Software program for providing cooperative processing between personal computers and a host computer
CA1323448C (en) 1989-02-24 1993-10-19 Terrence C. Miller Method and apparatus for translucent file system
US5109519A (en) 1989-03-28 1992-04-28 Wang Laboratories, Inc. Local computer participating in mail delivery system abstracts from directory of all eligible mail recipients only served by local computer
US5113519A (en) 1989-05-15 1992-05-12 International Business Machines Corporation Maintenance of file attributes in a distributed data processing system
US5560008A (en) 1989-05-15 1996-09-24 International Business Machines Corporation Remote authentication and authorization 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 インターナショナル・ビジネス・マシーンズ・コーポレイション 同時アクセス管理方法
JPH0619771A (ja) 1992-04-20 1994-01-28 Internatl Business Mach Corp <Ibm> 異種のクライアントによる共用ファイルのファイル管理機構
US5349642A (en) 1992-11-03 1994-09-20 Novell, Inc. Method and apparatus for authentication of client server communication
US5452447A (en) 1992-12-21 1995-09-19 Sun Microsystems, Inc. Method and apparatus for a caching file server
US5493728A (en) 1993-02-19 1996-02-20 Borland International, Inc. System and methods for optimized access in a multi-user environment
US5491752A (en) 1993-03-18 1996-02-13 Digital Equipment Corporation, Patent Law Group System for increasing the difficulty of password guessing attacks in a distributed authentication scheme employing authentication tokens
JP2513127B2 (ja) * 1993-05-31 1996-07-03 日本電気株式会社 ホットスタンバイ高速切替えシステム
JPH0736760A (ja) * 1993-07-20 1995-02-07 Nippon Telegr & Teleph Corp <Ntt> 装置多重化機能とモジュール間共用機能を併用した外部記憶装置の高信頼化方法
US5522042A (en) 1994-01-28 1996-05-28 Cabletron Systems, Inc. Distributed chassis agent for distributed network management
US5588117A (en) 1994-05-23 1996-12-24 Hewlett-Packard Company Sender-selective send/receive order processing on a per message basis
US5513314A (en) 1995-01-27 1996-04-30 Auspex Systems, Inc. Fault tolerant NFS server system and mirroring protocol
US5628005A (en) 1995-06-07 1997-05-06 Microsoft Corporation System and method for providing opportunistic file access in a network environment
US5826027A (en) 1995-10-11 1998-10-20 Citrix Systems, Inc. Method for supporting an extensible and dynamically bindable protocol stack in a distrubited process system
US5764887A (en) 1995-12-11 1998-06-09 International Business Machines Corporation System and method for supporting distributed computing mechanisms in a local area network server environment
US6343313B1 (en) 1996-03-26 2002-01-29 Pixion, Inc. Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability
WO1997037461A1 (en) 1996-04-01 1997-10-09 Hewlett-Packard Company Transmitting messages over a network
US6434120B1 (en) 1998-08-25 2002-08-13 Cisco Technology, Inc. Autosensing LMI protocols in frame relay networks
US5933602A (en) 1996-07-31 1999-08-03 Novell, Inc. System for selecting command packet and corresponding response packet from communication stream of packets by monitoring packets sent between nodes on network
US6208952B1 (en) 1996-10-24 2001-03-27 Microsoft Corporation Method and system for delayed registration of protocols
JPH10133971A (ja) * 1996-10-25 1998-05-22 Nec Corp ファイル転送処理方式
US6125122A (en) 1997-01-21 2000-09-26 At&T Wireless Svcs. Inc. Dynamic protocol negotiation system
US5931913A (en) 1997-05-07 1999-08-03 International Business Machines Corporation Methods, system and computer program products for establishing a session between a host and a terminal using a reduced protocol
US6219799B1 (en) 1997-07-01 2001-04-17 Unisys Corporation Technique to support pseudo-names
US6092199A (en) 1997-07-07 2000-07-18 International Business Machines Corporation Dynamic creation of a user account in a client following authentication from a non-native server domain
US6275953B1 (en) * 1997-09-26 2001-08-14 Emc Corporation Recovery from failure of a data processor in a network server
US6247139B1 (en) 1997-11-11 2001-06-12 Compaq Computer Corp. Filesystem failover in a single system image environment
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
JPH11265361A (ja) * 1998-03-17 1999-09-28 Nec Corp 多重計算機システム、通信処理装置、トランザクション処理システム、トランザクション処理システム運転引き継ぎ方法、トランザクション処理システム運転引き継ぎプログラムを記録した記録媒体
JP3506920B2 (ja) * 1998-08-25 2004-03-15 日本電信電話株式会社 全命令トレースデータの2次記憶装置への格納競合防止方法
US6401123B1 (en) 1998-11-24 2002-06-04 International Busines Machines Corporation Systems, methods and computer program products for employing presumptive negotiation in a data communications protocol
US6883000B1 (en) 1999-02-12 2005-04-19 Robert L. Gropper Business card and contact management system
US6324581B1 (en) 1999-03-03 2001-11-27 Emc Corporation File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems
US6453354B1 (en) 1999-03-03 2002-09-17 Emc Corporation File server system using connection-oriented protocol and sharing data sets among data movers
US20040139004A1 (en) 1999-04-08 2004-07-15 Aceinc Pty Ltd. Secure online commerce transactions
US6938096B1 (en) 1999-04-12 2005-08-30 Softricity, Inc. Method and system for remote networking using port proxying by detecting if the designated port on a client computer is blocked, then encapsulating the communications in a different format and redirecting to an open port
US7562129B1 (en) 1999-04-15 2009-07-14 Alcatel-Lucent Canada Inc. Subscription management system for data communication network
US6349350B1 (en) 1999-05-04 2002-02-19 International Business Machines Corporation System, method, and program for handling failed connections in an input/output (I/O) system
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
JP2001094613A (ja) 1999-09-21 2001-04-06 Canon Inc 通信制御装置、方法および記録媒体
US6775707B1 (en) 1999-10-15 2004-08-10 Fisher-Rosemount Systems, Inc. Deferred acknowledgment communications and alarm management
US6910082B1 (en) 1999-11-18 2005-06-21 International Business Machines Corporation Method, system and program products for reducing data movement within a computing environment by bypassing copying data between file system and non-file system buffers in a server
US6658476B1 (en) 1999-11-29 2003-12-02 Microsoft Corporation Client-server protocol support list for standard request-response protocols
US7111060B2 (en) 2000-03-14 2006-09-19 Aep Networks, Inc. Apparatus and accompanying methods for providing, through a centralized server site, a secure, cost-effective, web-enabled, integrated virtual office environment remotely accessible through a network-connected web browser
US6883015B1 (en) * 2000-03-30 2005-04-19 Cisco Technology, Inc. Apparatus and method for providing server state and attribute management for multiple-threaded voice enabled web applications
US6993587B1 (en) 2000-04-07 2006-01-31 Network Appliance Inc. Method and apparatus for election of group leaders in a distributed network
US7225244B2 (en) 2000-05-20 2007-05-29 Ciena Corporation Common command interface
US6452903B1 (en) 2000-05-31 2002-09-17 Fujitsu Network Communications, Inc. Network switch supporting rate-based and credit-based flow control mechanisms on a link-by-link basis
US6961858B2 (en) 2000-06-16 2005-11-01 Entriq, Inc. Method and system to secure content for distribution via a network
US7693976B2 (en) 2000-07-11 2010-04-06 Ciena Corporation Granular management of network resources
US6349250B1 (en) 2000-10-26 2002-02-19 Detroit Diesel Corporation Clear historic data from a vehicle data recorder
JP2002183000A (ja) 2000-12-11 2002-06-28 Hitachi Ltd ネットワークを介するデータ参照方法及びそのシステム
US20020073211A1 (en) 2000-12-12 2002-06-13 Raymond Lin System and method for securely communicating between application servers and webservers
KR100750735B1 (ko) 2001-02-03 2007-08-22 삼성전자주식회사 홈네트워크내의 기기 제어장치 및 방법 및 이를 적용한홈네트워크 시스템
US7055036B2 (en) 2001-04-06 2006-05-30 Mcafee, Inc. System and method to verify trusted status of peer in a peer-to-peer network environment
US8051212B2 (en) 2001-04-11 2011-11-01 Mellanox Technologies Ltd. Network interface adapter with shared data send resources
US20030093678A1 (en) 2001-04-23 2003-05-15 Bowe John J. Server-side digital signature system
JP2002328828A (ja) 2001-04-27 2002-11-15 Fujitsu Ltd ストレージサービス方法、ストレージサービスユーザ及びストレージサービスプロバイダ
JP3797236B2 (ja) 2001-04-27 2006-07-12 日本ビクター株式会社 記録再生装置および記録再生方法
US6640226B1 (en) 2001-06-19 2003-10-28 Informatica Corporation Ranking query optimization in analytic applications
US7409420B2 (en) 2001-07-16 2008-08-05 Bea Systems, Inc. Method and apparatus for session replication and failover
US6944785B2 (en) 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
JP2003069610A (ja) 2001-08-22 2003-03-07 Canon Inc 通信装置、その制御方法、通信システム、及び制御プログラム
JP3663627B2 (ja) 2001-10-18 2005-06-22 ソニー株式会社 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム
US7136982B2 (en) 2001-11-09 2006-11-14 Danger, Inc. Apparatus and method for allocating memory blocks
US7394764B2 (en) 2001-12-14 2008-07-01 Sasken Communication Technologies Limited Technique for improving transmission control protocol performance in lossy networks
US7313816B2 (en) 2001-12-17 2007-12-25 One Touch Systems, Inc. Method and system for authenticating a user in a web-based environment
JP3969089B2 (ja) * 2001-12-25 2007-08-29 株式会社日立製作所 階層構成サーバシステム
US7111035B2 (en) 2001-12-26 2006-09-19 Hewlett-Packard Development Company, L.P. Fault tolerance associations for IP transport protocols
US20030140129A1 (en) 2002-01-24 2003-07-24 Noam Livnat Installing communication protocol in a handheld device
US6829606B2 (en) 2002-02-14 2004-12-07 Infoglide Software Corporation Similarity search engine for use with relational databases
US7178050B2 (en) 2002-02-22 2007-02-13 Bea Systems, Inc. System for highly available transaction recovery for transaction processing systems
US7984157B2 (en) 2002-02-26 2011-07-19 Citrix Systems, Inc. Persistent and reliable session securely traversing network components using an encapsulating protocol
US7388866B2 (en) 2002-03-07 2008-06-17 Broadcom Corporation System and method for expediting upper layer protocol (ULP) connection negotiations
US7668306B2 (en) 2002-03-08 2010-02-23 Intel Corporation Method and apparatus for connecting packet telephony calls between secure and non-secure networks
JP2003281091A (ja) 2002-03-25 2003-10-03 Fujitsu Ltd 同時受付制御システム
JP4315696B2 (ja) 2002-03-29 2009-08-19 富士通株式会社 ホスト端末エミュレーションプログラム、中継用プログラムおよびホスト端末エミュレーション方法
JP4000905B2 (ja) 2002-05-22 2007-10-31 ソニー株式会社 情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム
EP1512261A1 (en) 2002-06-10 2005-03-09 Caplin Systems Limited Resource management
US7290141B2 (en) 2002-06-27 2007-10-30 Nokia, Inc. Authentication of remotely originating network messages
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
CA2393502A1 (en) 2002-07-15 2004-01-15 Mark J. Frazer System and method for reliable transport in a computer network
US20040019660A1 (en) 2002-07-24 2004-01-29 Sandhya E. Lock holding multi-threaded processes for distibuted data systems
US6829473B2 (en) 2002-07-25 2004-12-07 Utstarcom, Inc. Roaming and hand-off support for prepaid billing for wireless data networks
US6928577B2 (en) 2002-07-29 2005-08-09 Eternal Systems, Inc. Consistent message ordering for semi-active and passive replication
US20040032876A1 (en) 2002-08-19 2004-02-19 Ajay Garg Selection of transmission channels
JP3846384B2 (ja) 2002-08-28 2006-11-15 ブラザー工業株式会社 端末装置、接続制御方法、接続制御用プログラム及び記録媒体
US6957367B2 (en) 2002-08-30 2005-10-18 Hewlett-Packard Development Company L.P. System and method for controlling activity of temporary files in a computer system
US7109430B2 (en) 2002-11-05 2006-09-19 Emrise Corporation Low profile rotary switch with detent in the bushing
US7386889B2 (en) 2002-11-18 2008-06-10 Trusted Network Technologies, Inc. System and method for intrusion prevention in a communications network
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
US7519834B1 (en) 2003-01-24 2009-04-14 Nortel Networks Limited Scalable method and apparatus for transforming packets to enable secure communication between two stations
JP3999135B2 (ja) 2003-01-24 2007-10-31 株式会社エヌ・ティ・ティ・ドコモ 通信システム、データ送信方法、通信装置、プログラムおよび記録媒体
US7151939B2 (en) 2003-02-18 2006-12-19 Qualcomm Incorporated Method, apparatus, and machine-readable medium for providing indication of location service availability and the quality of available location services
US7072807B2 (en) 2003-03-06 2006-07-04 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7490152B2 (en) 2003-04-11 2009-02-10 Alcatel-Lucent Usa Inc. Version caching mechanism
US7339885B2 (en) 2003-06-05 2008-03-04 International Business Machines Corporation Method and apparatus for customizable surveillance of network interfaces
US7363629B2 (en) 2003-06-19 2008-04-22 International Business Machines Corporation Method, system, and program for remote resource management
US7698115B2 (en) 2003-06-30 2010-04-13 Microsoft Corporation System and method for dynamically allocating resources in a client/server environment
US7526640B2 (en) 2003-06-30 2009-04-28 Microsoft Corporation System and method for automatic negotiation of a security protocol
US20050015511A1 (en) 2003-07-02 2005-01-20 Nec Laboratories America, Inc. Accelerated large data distribution in overlay networks
US7296264B2 (en) 2003-07-18 2007-11-13 Bea Systems, Inc. System and method for performing code completion in an integrated development environment
TW200511029A (en) 2003-07-24 2005-03-16 Matsushita Electric Ind Co Ltd File management method and data processing device
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
US7383463B2 (en) * 2004-02-04 2008-06-03 Emc Corporation Internet protocol based disaster recovery of a server
CN1934639A (zh) 2004-03-17 2007-03-21 皇家飞利浦电子股份有限公司 用于扫描盘形信息存储介质的方法和装置
US7444536B1 (en) 2004-04-16 2008-10-28 Sun Microsystems, Inc. RMI-IIOP request failover mechanism
US20050246803A1 (en) 2004-04-30 2005-11-03 Spencer Andrew M Peripheral device for processing data from a computing device
US7627627B2 (en) 2004-04-30 2009-12-01 Hewlett-Packard Development Company, L.P. Controlling command message flow in a network
JP2005321953A (ja) 2004-05-07 2005-11-17 Hitachi Ltd ストレージ制御装置、その動作プログラム、及びアクセス制御方法
JP2005322016A (ja) 2004-05-10 2005-11-17 Yokogawa Electric Corp サーバ装置および情報配信方法
US7380080B2 (en) 2004-05-17 2008-05-27 Hewlett-Packard Development Company, L.P. Calculating unneeded data storage credits for a data transmission to a pair of storage devices
US7330910B2 (en) 2004-05-20 2008-02-12 International Business Machines Corporation Fencing of resources allocated to non-cooperative client computers
US7434087B1 (en) 2004-05-21 2008-10-07 Sun Microsystems, Inc. Graceful failover using augmented stubs
US7080173B2 (en) 2004-05-27 2006-07-18 Microsoft Corporation Reducing information reception delays
US20060059118A1 (en) 2004-08-10 2006-03-16 Byrd Stephen A Apparatus, system, and method for associating resources using a behavior based algorithm
US8023417B2 (en) 2004-08-30 2011-09-20 International Business Machines Corporation Failover mechanisms in RDMA operations
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
US7451347B2 (en) 2004-10-08 2008-11-11 Microsoft Corporation Failover scopes for nodes of a computer cluster
US8156049B2 (en) 2004-11-04 2012-04-10 International Business Machines Corporation Universal DRM support for devices
US7457722B1 (en) 2004-11-17 2008-11-25 Symantec Operating Corporation Correlation of application instance life cycle events in performance monitoring
US8522293B2 (en) 2004-12-15 2013-08-27 Time Warner Cable Enterprises Llc Method and apparatus for high bandwidth data transmission in content-based networks
CN101116306A (zh) 2005-02-08 2008-01-30 艾利森电话股份有限公司 在分组交换网络上的按需多频道流会话
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
US8316129B2 (en) 2005-05-25 2012-11-20 Microsoft Corporation Data communication coordination with sequence numbers
EP1727055B1 (en) 2005-05-25 2016-09-07 Microsoft Technology Licensing, LLC Data communication coordination with sequence numbers
EP1727056B1 (en) 2005-05-25 2008-11-05 Microsoft Corporation Data communication protocol
US8108548B2 (en) 2005-12-22 2012-01-31 Microsoft Corporation Methodology and system for file replication based on a peergroup
US8051179B2 (en) 2006-02-01 2011-11-01 Oracle America, Inc. Distributed session failover
US8024439B2 (en) 2006-03-17 2011-09-20 Microsoft Corporation Server session management application program interface and schema
US7526668B2 (en) 2006-06-08 2009-04-28 Hitachi, Ltd. Failover method of remotely-mirrored clustered file servers
US20090077097A1 (en) 2007-04-16 2009-03-19 Attune Systems, Inc. File Aggregation in a Switched File System
WO2009043037A2 (en) 2007-09-28 2009-04-02 Xcerion Aktiebolag Network operating system
EP2066101B1 (en) 2007-11-28 2012-10-17 Alcatel Lucent System and method for an improved high availability component implementation
JP4549408B2 (ja) 2008-06-24 2010-09-22 富士通株式会社 ファイルサーバのクラスタノード制御プログラム,クラスタノード制御方法及びクラスタノード制御装置
US7840730B2 (en) 2008-06-27 2010-11-23 Microsoft Corporation Cluster shared volumes
US8700760B2 (en) 2008-08-18 2014-04-15 Ge Fanuc Intelligent Platforms, Inc. Method and systems for redundant server automatic failover
US8275815B2 (en) 2008-08-25 2012-09-25 International Business Machines Corporation Transactional processing for clustered file systems
US8185566B2 (en) 2009-01-15 2012-05-22 Microsoft Corporation Client-based caching of remote files
US9749387B2 (en) * 2009-08-13 2017-08-29 Sap Se Transparently stateful execution of stateless applications
US9331955B2 (en) 2011-06-29 2016-05-03 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
US8856582B2 (en) 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7475142B2 (en) * 2002-12-06 2009-01-06 Cisco Technology, Inc. CIFS for scalable NAS architecture

Also Published As

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

Similar Documents

Publication Publication Date Title
RU2595482C2 (ru) Обеспечение прозрачной отработки отказа в файловой системе
US10353790B1 (en) Disaster recovery rehearsals
CA2929776C (en) Client-configurable security options for data streams
CA2929777C (en) Managed service for acquisition, storage and consumption of large-scale data streams
CA2930026C (en) Data stream ingestion and persistence techniques
CA2930101C (en) Partition-based data stream processing framework
US8533171B2 (en) Method and system for restarting file lock services at an adoptive node during a network filesystem server migration or failover
JP2014500559A5 (ru)
US11709743B2 (en) Methods and systems for a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system
WO2021112909A1 (en) Managing replication state for deleted objects
RU2643642C2 (ru) Использование кэш-памяти и памяти другого типа в распределённой запоминающей системе
EP3731099B1 (en) System and method for accelerating application service restoration
US11397752B1 (en) In-memory ingestion for highly available distributed time-series databases
CN110955489B (zh) 用于可靠地恢复虚拟机的方法和系统
US11675668B2 (en) Leveraging a cloud-based object storage to efficiently manage data from a failed backup operation
US20230401337A1 (en) Two person rule enforcement for backup and recovery systems
US20240143620A1 (en) Object access based on tracking of objects and replication policies
Davis et al. Pro SQL Server 2008 Mirroring

Legal Events

Date Code Title Description
HZ9A Changing address for correspondence with an applicant