RU2613040C2 - Smb2-масштабирование - Google Patents
Smb2-масштабирование Download PDFInfo
- Publication number
- RU2613040C2 RU2613040C2 RU2014108994A RU2014108994A RU2613040C2 RU 2613040 C2 RU2613040 C2 RU 2613040C2 RU 2014108994 A RU2014108994 A RU 2014108994A RU 2014108994 A RU2014108994 A RU 2014108994A RU 2613040 C2 RU2613040 C2 RU 2613040C2
- Authority
- RU
- Russia
- Prior art keywords
- server
- addresses
- client
- address
- cluster
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1038—Load balancing arrangements to avoid a single path through a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/148—Migration or transfer of sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Изобретение относится к технологиям сетевой связи. Технический результат заключается в повышении скорости передачи данных. Способ содержит этапы, на которых: принимают в клиенте множество адресов, идентифицирующих множество серверов в кластерном серверном окружении; отправляют с клиента первоначальный запрос соединения с первым сервером, идентифицированным посредством первого адреса из множества адресов; после отправки первоначального запроса соединения выбирают посредством клиента подмножество из множества адресов, каковое подмножество из множества адресов содержит по меньшей мере второй адрес из множества адресов, причем второй адрес отличается от первого адреса; перед соединением с первым сервером отправляют с клиента один или более дополнительных запросов в упомянутое подмножество из множества адресов, при этом второй адрес идентифицирует по меньшей мере второй сервер в кластерном серверном окружении, причем эти один или более дополнительных запросов посылаются в то время, как обработка первоначального запроса не закончена; принимают от второго сервера указание успешного соединения и соединяются со вторым сервером. 4 н. и 17 з.п. ф-лы, 6 ил.
Description
Уровень техники
[0001] Кластеры серверов обычно используются, чтобы обеспечивать отказоустойчивость и высокий уровень доступности информации клиентам. Традиционно, кластерные окружения разрабатываются согласно клиент-серверному протоколу, в котором клиент соединяется с сервером для того, чтобы осуществлять доступ к ресурсам, доступным серверу. В традиционных кластерных окружениях различные серверы, которые составляют окружение, могут осуществлять доступ к различным файловым системам. Невозможность доступа к общей файловой системе ограничивает функциональность традиционного кластера файловой системы.
[0002] В отношении этих и других соображений были выполнены эти варианты осуществления. Также, хотя обсуждаются относительно специфические проблемы, следует понимать, что варианты осуществления не должны быть ограничены решением специфических проблем, идентифицированных на уровне техники.
Сущность изобретения
[0003] Данное краткое изложение сущности изобретения предусмотрено для того, чтобы в упрощенной форме представить подборку идей, которые дополнительно описываются ниже в подробном описании. Это краткое изложение сущности изобретения не предназначено ни для того, чтобы идентифицировать ключевые признаки или важнейшие признаки заявляемого изобретения, ни для того, чтобы использоваться в качестве помощи при определении объема заявляемого изобретения.
[0004] Варианты осуществления согласно настоящему раскрытию предоставляют масштабируемое кластерное окружение, где файловая система может быть логически кластеризована так, что каждый узел в кластере имеет доступ ко всем ресурсам, которые находятся в кластере. Поскольку файловая система доступна каждому узлу в кластерном окружении, клиент может осуществлять доступ к ресурсам кластера, несмотря на то, с каким узлом клиент соединяется. Такое окружение обеспечивает клиента вариантами при соединении с кластерным окружением. Клиент может максимально использовать гибкость узла масштабируемого кластера, чтобы эффективно соединяться с кластером серверов.
[0005] В других вариантах осуществления, в то время как масштабируемое кластерное окружение предоставляет возможность клиентам осуществлять доступ к ресурсам по всему кластеру, независимо от фактического узла, с которым клиент устанавливает соединение, после того как клиент устанавливает соединение с узлом, он пытается поддерживать это соединение с тем же узлом для того, чтобы уменьшать объем информации о состоянии, которая передается между узлами кластерного окружения.
[0006] Однако, в некоторых случаях клиент может не иметь возможности поддерживать соединение с одним и тем же узлом, а требуется соединяться с другим узлом в масштабируемом кластерном окружении. В дополнительных окружениях масштабируемое кластерное окружение обеспечивает хранение и поддержку информации о сеансе, информации о состоянии и/или обработке для того, чтобы облегчать перемещение клиента от одного узла к другому. Узлы кластера имеют возможность передавать такую информацию друг другу, чтобы обеспечивать перемещение клиентских соединений.
[0007] Варианты осуществления могут быть реализованы как компьютерный процесс, вычислительная система или как промышленное изделие, такое как компьютерный программный продукт или машиночитаемый носитель информации. Компьютерный программный продукт может быть компьютерным носителем информации, читаемым компьютерной системой и кодирующим компьютерную программу инструкций для выполнения компьютерного процесса. Компьютерный программный продукт может также быть распространяющимся сигналом на несущей частоте, читаемым вычислительной системой и кодирующим компьютерную программу инструкций для выполнения компьютерного процесса.
Краткое описание чертежей
[0008] Неограничивающие и неисключительные варианты осуществления описываются со ссылкой на следующие чертежи.
[0009] Фиг.1 иллюстрирует систему, которая может быть использована, чтобы реализовывать варианты осуществления, описанные в данном документе.
[0010] Фиг.2 является вариантом осуществления способа, который клиент может выполнять при соединении с кластером серверов.
[0011] Фиг.3 является вариантом осуществления способа, который клиент может выполнять при переносе соединений между узлами в кластерном окружении.
[0012] Фиг.4 является вариантом осуществления способа, выполняемого узлом в кластерном окружении, чтобы поддерживать и передавать устойчивые дескрипторы.
[0013] Фиг.5 является вариантом осуществления способа, выполняемого узлом в кластерном окружении, чтобы запрашивать право владения ранее установленным сеансом.
[0014] Фиг.6 иллюстрирует блок-схему вычислительного окружения, подходящего для реализации вариантов осуществления.
Подробное описание изобретения
[0015] Различные варианты осуществления описываются более подробно ниже со ссылкой на сопровождающие чертежи, которые формируют часть этого описания и которые показывают конкретные примерные варианты осуществления. Однако варианты осуществления могут быть реализованы во многих различных формах и не должны истолковываться как ограниченные вариантами осуществления, изложенными в данном документе; скорее, эти варианты осуществления предоставляются так, что это раскрытие будет полным и законченным и будет полностью передавать объем вариантов осуществления специалистам в данной области техники. Варианты осуществления могут быть применены на практике как способы, системы или устройства. Соответственно, варианты осуществления могут принимать форму аппаратной реализации, полностью программной реализации или реализации, комбинирующей программные и аппаратные аспекты. Последующее подробное описание, следовательно, не должно восприниматься в ограничивающем смысле.
[0016] Фиг.1 иллюстрирует систему 100, которая может быть использована, чтобы реализовывать некоторые из вариантов осуществления, раскрытых в данном документе. Система 106 может быть примерной кластерной системой, которая содержит один или более узлов. Примером кластерной системы является кластер серверов с одним или более серверами, как иллюстрировано на фиг.1. Система 100 включает в себя клиентов 102 и 104 и кластер 106 серверов. Клиенты 102 и 104 связываются с кластером 106 серверов через сеть 108. В вариантах осуществления сеть 108 может быть Интернетом, WAN, LAN или любым другим типом сети, известным в области техники. Кластер 106 серверов хранит ресурсы, к которым осуществляют доступ приложения на клиентах 102 и 104. Клиенты 102 и 104 устанавливают сеансы с кластером 106, чтобы осуществлять доступ к ресурсам на кластере 106. Хотя на фиг.1 только клиенты 102 и 104 показаны как связывающиеся с кластером 106, в других вариантах осуществления может быть больше двух клиентов, осуществляющих доступ к информации из кластера 106 серверов. В вариантах осуществления клиенты 102 и 104 могут осуществлять доступ или связываться с кластером 106 серверов по протоколу SMB2.
[0017] Как показано на фиг.1, кластер 106 серверов включает в себя один или более узлов, например, серверы 106A, 106B и 106C, которые обеспечивают как высокую доступность, так и резервирование информации, сохраненной в кластере 106. Один или более узлов кластера 106 серверов могут связываться друг с другом через сеть, такую как Интернет, WAN, LAN, или любой другой тип сети, известный в области техники. В вариантах осуществления кластер 106 может иметь файловую систему, базу данных или другую информацию, к которой осуществляют доступ клиенты 102 и 104. Хотя три сервера показаны на фиг.1, в других вариантах осуществления кластер 106 может включать в себя более трех серверов или менее трех серверов.
[0018] В вариантах осуществления кластер 106 серверов является масштабируемым кластером серверов. В вариантах осуществления масштабируемый кластер серверов включает в себя файловую систему 108, которая доступна каждому узлу в кластере серверов (например, серверам 106A, 106B и 106C). В качестве примера, файловая система масштабируемого кластера логически кластеризована так, что один или более дисков, которые составляют файловые системы, являются видимыми с каждого сервера в кластере серверов. В таких вариантах осуществления масштабируемый кластер серверов предоставляет возможность совместного использования ресурсов между узлами в кластере. В одном таком варианте осуществления кластер 106 серверов включает в себя центральный репозиторий данных, который включает в себя одно или более хранилищ данных, к которым каждый сервер в кластере 106 серверов имеет доступ. В таком варианте осуществления хранение ресурсов в центральном репозитории предоставляет возможность каждому серверу осуществлять доступ к файловой системе. В другом варианте осуществления совместно используемая файловая система может быть предоставлена посредством репликации ресурсов между локальными файловыми системами каждого сервера в кластере 106 серверов. В таких вариантах осуществления любой способ репликации данных, известный в области техники, может быть применен, чтобы реплицировать ресурсы кластера между серверами, которые составляют кластер.
[0019] Включение логически кластеризованной файловой системы в масштабируемый кластер серверов, такой как кластер 106 серверов, предоставляет дополнительную функциональность, которая не доступна в традиционном кластере серверов. В одном варианте осуществления логически кластеризованная файловая система гарантирует, что каждый узел, который является частью кластерного окружения, может осуществлять доступ к любому ресурсу в окружении. В вариантах осуществления ресурс может быть приложением, файлом, объектом, данными или любым другим типом ресурса, предусмотренным в кластерном окружении. Это предоставляет возможность клиенту осуществлять доступ и/или иначе манипулировать любым ресурсом в файловой системе, независимо от того, с каким узлом (например, серверами 106A, 106B и/или 106C) клиент устанавливает соединение. В вариантах осуществления файловый сервер 106 может регистрировать каждый узел под общим именем с помощью механизма разрешения имен. Неограничивающим примером механизма разрешения имен является система доменных имен (DNS). Например, кластер 106 серверов может регистрировать серверы 106A, 106B и 106C под общим именем в DNS-сервере (не показан на фиг.1). DNS-сервер может быть частью кластера 106 серверов, или он может быть внешним по отношению к кластеру 106 серверов.
[0020] Когда клиент пытается осуществлять доступ к серверу в кластере 106 серверов, клиент может осуществлять доступ к механизму разрешения имен, чтобы получать адрес сервера. Например, клиент может контактировать с DNS-сервером, чтобы получать адрес для сервера в кластере 106 серверов. Поскольку серверная система зарегистрировала все серверы под общим именем, DNS-сервер может возвращать список адресов для каждого сервера (например, серверы 106A, 106B и 106C), которые составляют кластер 106 серверов. В вариантах осуществления адрес может быть IP-адресом, URL, URI или любым другим типом адреса, известным в области техники. Поскольку возвращается множество адресов, клиенту предоставляется выбор, с каким сервером соединяться. В вариантах осуществления клиент может выбирать соединение по первому адресу в списке, который он принимает от сервера. В некоторых случаях у клиента может возникнуть проблема соединения с первым сервером, идентифицированным посредством первого адреса (например, сервер 106A). Поскольку каждый сервер в кластере 106 серверов способен обеспечивать клиента аналогичной функциональностью, клиент может решить присоединиться к другому серверу в кластере 106 серверов. Если клиент не может успешно соединиться с первым сервером, после ожидания предварительно определенного периода времени, клиент может выдавать один или более запросов на соединение с подмножеством адресов, которые он принял от механизма разрешения имен (например, сервер 106B и сервер 106C), и выбирать соединение, которое удается. Один или более запросов могут быть выполнены параллельно, в таком случае клиент может соединяться с первым сервером, с которым установлено успешное соединение.
[0021] Хотя конкретное упорядочивание списка адресов было предоставлено выше (например, сервер 106A в качестве первого перечисленного адреса), специалист в данной области техники поймет, что список адресов может быть составлен в любом порядке. В вариантах осуществления карусельный способ, который может быть использован посредством механизма разрешения имен, такой как карусель DNS, может быть привлечен, чтобы обеспечивать балансировку нагрузки в сети. Поскольку множество клиентов (например, клиент 102 и 104) могут одновременно соединяться с кластером 106 серверов, карусельный способ гарантирует, что первый адрес, предоставляемый различным клиентам, изменяется. Таким образом, первоначальные запросы соединения распределяются между всеми узлами в кластерном окружении. Кроме того, клиенты могут случайным образом выбирать подмножество адресов, которое он выдает при дополнительном запросе корректировки после неудачной попытки соединения с первым сервером, тем самым предоставляя дополнительный механизм балансировки нагрузки.
[0022] В вариантах осуществления, после того как клиент соединился с сервером в кластере 106 серверов, клиент может гарантировать, что он остается соединенным с одним и тем же сервером. Хотя каждый сервер (например, серверы 106A, 106B и 106C) совместно использует логически кластеризованную файловую систему, состояние сеанса клиента может управляться посредством сервера, с которым он соединен. Таким образом, для того чтобы минимизировать трафик для синхронизации состояний между серверами, клиент может гарантировать, что он остается соединенным с одним и тем же сервером. Например, если клиент 102 соединяется с сервером 106A, клиент 102 может пытаться гарантировать, что все его соединения и использование ресурсов (например, открытые файлы) находятся на сервере 106A. В таких вариантах осуществления, если клиент 102 теряет свое соединение с сервером 106A, он будет пытаться повторно соединяться с сервером 106A вместо серверов 106B или 106C, когда он повторно соединяется с кластером 106 серверов, тем самым уменьшая необходимость передачи состояния сеанса между различными серверами в кластере 106 серверов. В вариантах осуществления, поскольку клиент пытается повторно соединиться с одним и тем же сервером при потере соединения, сервер может сохранять состояние клиентского сеанса, даже после того как он теряет связь с клиентом. Например, если клиент 102 теряет соединение с сервером 106A, сервер 106A может сохранять состояние сеанса для клиента 102. Когда клиент 102 повторно устанавливает свое соединение, устойчивость состояния соединения предоставляет возможность клиенту 102 повторно использовать свою информацию о сеансе (например, информацию о состоянии) при повторном соединении с сервером 106A.
[0023] Однако, в некоторых обстоятельствах, может быть неэффективным или невозможным для клиента поддерживать свое соединение с одним сервером в кластере 106 серверов. Например, отказ серверного узла, потерянная возможность подключения к данному серверу или административное действие, такое как балансировка нагрузки, установка исправлений сервера или любой другой тип административного действия, могут делать невозможным для клиента повторное соединение с тем же узлом. Чтобы облегчать изменение узлов, кластер 106 серверов может поддерживать устойчивые дескрипторы ресурсов, к которым клиент осуществляет доступ. Устойчивые дескрипторы предоставляют возможность клиенту вновь получать дескрипторы, которые он установил на первом узле, при соединении со вторым узлом. Например, если клиент 102 изменяет свое первоначальное соединение с сервера 106A на сервер 106C, дескрипторы, использованные клиентом 102 на сервере 106A, могут быть перенесены на сервер 106C.
[0024] В вариантах осуществления кластер 106 серверов может применять устойчивое хранение состояния, чтобы предоставлять устойчивые дескрипторы. Примерным хранилищем устойчивого состояния является менеджер возобновления ключей, который может присутствовать в одном или более узлах кластера 106 серверов. Однако специалист в данной области техники поймет, что любой тип кэша или хранилища данных может быть использован кластером 106 серверов, чтобы обеспечивать устойчивые дескрипторы. В одном варианте осуществления кластер 106 серверов предоставляет централизованное хранилище устойчивого состояния. В таких вариантах осуществления один узел (например, сервер 106B) в кластере 106 серверов поддерживает устойчивое состояние открытых дескрипторов для клиентского сеанса. В таких вариантах осуществления, каждый раз, когда клиент переключается с одного узла на другой (например, переключается с сервера 106A на 106C), право владения дескрипторами, которые являются частью клиентского сеанса, может быть перенесено между узлами (например, право владения передается от сервера 106A к серверу 106C) посредством применения логики признания недействительности предыдущего сеанса, такой как способ признания недействительности, описанный в переуступленной заявителю по приоритетной заявке и находящейся одновременно с ней на рассмотрении патентной заявке США № 13/228732, озаглавленной "Clustered Client Failover" (номер в реестре поверенного № 14917.1840US01), поданной 9 сентября 2011 года, которая, таким образом, включена сюда по ссылке во всей своей полноте. В других вариантах осуществления право владения дескрипторами может быть передано явно клиентом на основе от дескриптора к дескриптору.
[0025] В другом варианте осуществления хранилище устойчивого состояния может быть распределенным хранилищем состояния. В таких вариантах осуществления хранилище устойчивого состояния может быть распределено между узлами кластера 106 серверов. В таком варианте осуществления каждый узел может хранить хранилище устойчивого состояния. Алгоритм внутрикластерной репликации состояния может быть использован, чтобы реплицировать состояние между распределенным хранилищем состояния. В таких вариантах осуществления кластер 106 серверов поддерживает информацию о состоянии в случаях, когда подмножество узлов отказывает.
[0026] Как обсуждалось, каждый узел масштабируемого кластера соединяется с логически кластеризованной файловой системой. Для того чтобы избегать конфликтов, когда множество клиентов осуществляют доступ к одному и тому же ресурсу, кластер 106 серверов может выполнять распределенное разрешение состояния, предоставляя возможность для одного или более узлов (например, 106A, 106B и/или 106C) получать уступающие блокировки или аренду ресурса. В вариантах осуществления совместно используемые считыватели могут поддерживаться с помощью RH-уступающих блокировок, которые предоставляют возможность множественным считывателям получать доступ к одному и тому же файлу на множестве узлов кластера. В дополнительных вариантах осуществления блокировки записи могут также поддерживаться кластером 106 серверов.
[0027] Как описано в данном документе, специалист в данной области техники поймет, что масштабируемые кластеры серверов предоставляют дополнительную функциональность, которая недоступна в немасштабируемом кластере серверов. Хотя конкретные примеры дополнительной функциональности были предоставлены относительно фиг.1, специалист в данной области техники поймет, что они являются неограничивающими примерами преимуществ и функциональности, предоставляемых масштабируемым кластером серверов.
[0028] Фиг.2 является вариантом осуществления способа 200, который клиент может выполнять при соединении с кластерным окружением. Например, клиент, такой как клиент 102 (фиг.1), может применять способ 200, чтобы определять, с каким узлом (например, 106A, 106B и/или 106C) устанавливать соединение при подключении к кластерному окружению. Процесс начинается на этапе 202, когда клиент принимает список адресов от механизма разрешения имен, такого как DNS-сервер. Как обсуждалось относительно фиг.1, в вариантах осуществления каждый узел в кластерном окружении может иметь возможность предоставлять аналогичную функциональность клиенту. Таким образом, клиент может успешно выполнять желаемую операцию или осуществлять доступ к желаемому ресурсу в кластерном окружении, независимо от того, с каким узлом клиент соединяется.
[0029] Процесс продолжается на этапе 204, где клиент пытается соединиться с первым узлом, идентифицированным посредством первого адреса в списке адресов, принятом на этапе 202. Клиент может пытаться соединиться с первым узлом, отправляя запрос первоначального соединения узлу, идентифицированному посредством первого адреса на этапе 204. Однако специалист в данной области техники поймет, что может быть любой способ попытки соединения с узлом (например, сервером) на этапе 203. В вариантах осуществления клиент может ожидать в течение предварительно определенного периода времени, как указано посредством этапа 206, чтобы первая попытка была успешной. Однако, поскольку любой узел в кластерном окружении способен осуществлять доступ к любому ресурсу в пользу клиента, клиент может выдавать запросы попыток соединения с другими кластерами серверов, если первая попытка заканчивается неудачей или занимает длительное время. В то время как операция 206 описывает ожидание клиентом в течение предварительно определенного периода времени, время может также динамически определяться клиентом.
[0030] В другом варианте осуществления первая попытка соединения с сервером может быть успешной, однако узел может не иметь доступа к ресурсам кластерного окружения. Например, список адресов может содержать некорректный адрес или адрес узла, который больше не является частью кластерного окружения. В дополнительном варианте осуществления ошибка может запрещать узлу доступ к ресурсам кластерного окружения. Клиент может использовать необходимую логику, чтобы идентифицировать такие ситуации. В таких ситуациях клиент может интерпретировать успешную попытку как неудачную и продолжать выполнять способ 200.
[0031] При неудаче первой попытки или после истечения периода времени процесс продолжается на этапе 208, где клиент случайным образом выбирает подмножество адресов из списка адресов. В вариантах осуществления случайный выбор подмножества адресов предоставляет преимущества балансировки нагрузки кластерному окружению, которое может иметь множество клиентов, пытающихся соединиться с его узлами в одно время. Если каждый клиент случайным образом выбирает подмножество узлов для соединения, более хороший баланс соединений может быть установлен в кластерном окружении. В других вариантах осуществления, однако, клиент может не выбирать случайное подмножество, а может выбирать адреса в порядке, в котором они появляются в списке. В дополнительных вариантах осуществления вместо выбора подмножества списка адресов на этапе 208 клиент может выбирать все адреса в списке.
[0032] Процесс продолжается на этапе 210, где клиент пытается соединиться с одним или более узлами, идентифицированными посредством адресов в выбранном подмножестве. В одном варианте осуществления клиент может пытаться соединиться с множеством узлов параллельно на этапе 210, тем самым ускоряя процесс соединения. В вариантах осуществления клиент может отправлять один или более дополнительных запросов соединения различным узлам на этапе 210, однако, как описано относительно этапа 204, любой способ попытки соединения может быть использован с вариантами осуществления, описанными в данном документе.
[0033] Процесс продолжается на этапе 212, где клиент принимает указание успешного соединения. В вариантах осуществления указание может быть сообщением, которое клиент принимает от узла, указывающим, что клиент имеет возможность соединиться с узлом. В вариантах осуществления, если клиент выполняет параллельные попытки на этапе 210, клиент может решить присоединиться к первому узлу, который успешно отвечает клиенту на этапе 212. В других вариантах осуществления клиент может принимать множественные указания успешных попыток от различных узлов в кластерном окружении. В таких вариантах осуществления клиент может выбирать, с каким узлом соединяться. В дополнительных вариантах осуществления указания могут предоставлять характеристики производительности узла, такие как текущая нагрузка узла. Клиент может использовать такую информацию, чтобы определять, с каким узлом устанавливать соединение. Например, клиент может выбирать соединение с узлом с более легкой нагрузкой, конкретной конфигурацией аппаратных средств и т.д. После того как клиент выбрал узел, процесс переходит к этапу 214, и клиент соединяется с узлом.
[0034] После того как клиент соединяется с узлом, клиент устанавливает сеанс с узлом и способен осуществлять доступ к ресурсам в кластерном окружении. Как описано относительно фиг.1, после того как клиент устанавливает соединение с узлом, клиент пытается поддерживать свое соединение с одним и тем же узлом. Это уменьшает передачу информации о состоянии, которая может иметь место, когда клиент переносит соединения с одного узла на другой. В таких вариантах осуществления, если клиент отсоединяется от узла, например, вследствие ошибки, такой как ошибка сети или авария клиента, клиент может пытаться повторно соединиться с тем же самым узлом после восстановления от ошибки.
[0035] Однако, не всегда может быть возможно для клиента повторно соединяться с тем же самым узлом. Например, если узел отказывает, если клиент теряет связь с узлом или если узел недоступен в административных целях (например, вследствие требований балансировки нагрузки, ремонта узла или т.п.), клиент может повторно устанавливать свое соединение с кластерным окружением через другой узел. Фиг.3 является вариантом осуществления способа 300, который клиент может выполнять при переносе соединений между узлами в кластерном окружении.
[0036] Процесс начинается с этапа 302, где клиент определяет, что требуется соединение с новым узлом. Например, при потере соединения с узлом, вследствие отказа сети или узла, клиент может определять, что он не может повторно соединиться с тем же узлом в кластерном окружении. В другом варианте осуществления клиент может принимать информацию о производительности от узла. На основе информации о производительности клиент может решить перенести соединение на другой узел, который может предоставлять лучшее обслуживание клиенту. Например, клиент может принимать информацию, указывающую, что узел испытывает интенсивный трафик. В таких ситуациях клиенту может не требоваться повторно соединяться с другим узлом, но он может необязательно решить сделать это по причинам производительности. Аналогично, клиент может определять эту информацию у самого себя без приема информации о производительности от узла, например, наблюдая, сколько времени занимает у узла выполнение запроса.
[0037] В другом варианте осуществления узел может требовать, чтобы клиент переносил свое соединение на другой узел в кластере. Например, если планируется перевод узла в оффлайн-режим в целях установки исправлений или для балансировки нагрузки, узел может требовать, чтобы клиент переносил свое соединение на другой узел. В таких вариантах осуществления узел может передавать сообщение клиенту, которое указывает, что клиент должен перенести свое соединение. Варианты осуществления выполнения таких передач данных описываются в переуступленной и находящейся одновременно на рассмотрении патентной заявке, озаглавленной "Providing a Witness Service" (патентная заявка США порядковый № 13/074920), поданной 29 марта 2011 года, которая, таким образом, включена сюда по ссылке во всей своей полноте.
[0038] После определения, что требуется перенос соединения между узлами, процесс продолжается на этапе 304. На этапе 304 клиент пытается соединиться с другим узлом в кластерном окружении. Например, клиент может отправлять запрос соединения одному или более узлам в кластерном окружении. В вариантах осуществления клиент может соединяться со вторым узлом в кластерном окружении, выполняя все или подмножество этапов, описанных относительно способа 200. В другом варианте осуществления клиент может направляться, чтобы соединяться с конкретным узлом посредством кластерного окружения. При успешной попытке процесс продолжается на этапе 306, и клиент соединяется со вторым узлом в кластерном окружении.
[0039] Однако, поскольку клиент ранее установил сеанс, сеанс может быть перенесен на другой узел. На этапе 308 клиент отправляет запрос установки сеанса второму узлу. В вариантах осуществления запрос установки сеанса может быть сообщением, содержащим идентификатор сеанса, который идентифицирует клиентов, ранее установивших соединение. Как будет обсуждено дополнительно со ссылкой на фиг.5, в ответ на прием запроса установки сеанса второй узел может принимать право владения ранее установленным соединением. В то время как способ 300 описывает отправку запроса установки сеанса как отдельный этап, специалист в данной области техники поймет, что клиент может отправлять запрос установки сеанса или идентификатор сеанса с запросом на соединение со вторым узлом на этапе 304.
[0040] Имея теперь описанные способы, которые клиент может применять при соединении с масштабируемым кластерным окружением, настоящее раскрытие теперь будет описывать функциональность, которая может быть использована одним или более узлами в таком окружении. Фиг.4 является вариантом осуществления способа 400, выполняемого узлом в кластерном окружении, чтобы поддерживать и переносить устойчивые дескрипторы в кластерном серверном окружении. Например, способ 400 может выполняться посредством сервера, такого как серверы 106A, 106B и 106C, который является частью кластерного серверного окружения (например, кластера 106 серверов). Процесс начинается с этапа 402, где принимается запрос соединения от клиента, таким образом устанавливая соединение между узлом и клиентом. Первоначальное соединение указывает, что клиент ранее не устанавливал соединения с узлом или с другим узлом в кластерном окружении. В вариантах осуществления узел может определять, что он устанавливает соединение с клиентом, когда он не принимает запрос установки сеанса от клиента как часть клиентского запроса соединения или вскоре после установления соединения с клиентом.
[0041] Процесс продолжается на этапе 404, где узел создает сеанс с клиентом. На этапе 404 узел может назначать идентификатор сеанса сеансу. Идентификатор сеанса может быть глобально уникальным идентификатором (GUID) между всеми узлами в кластерном окружении. После создания сеанса узел может распределять ресурсы и/или выполнять операцию над ресурсами в интересах клиента. При этом может быть создана информация о сеансе, такая как, например, информация о состоянии. Узел может хранить информацию о сеансе. В дополнение к информации о состоянии узел может хранить один или более дескрипторов. Например, если клиент открывает файл, дескриптор файла может быть предоставлен клиенту. Узел может хранить дескрипторы вместе с или в дополнение к информации о сеансе.
[0042] Процесс продолжается на этапе 406, где узел теряет свое соединение с клиентом. Например, клиент может подвергаться ошибке (например, аварии или потере сетевого соединения). В предвидении того, что клиент может соединяться повторно, сервер будет поддерживать сеанс и/или информацию на этапе 408. Например, узел может записывать информацию о сеансе и/или состоянии в локальную память, централизованное устойчивое хранилище или в распределенное хранилище состояния. Как описано ранее, клиент будет пытаться поддерживать соединение с одним узлом. В вариантах осуществления, после того как клиент восстанавливается после ошибки, клиент может повторно соединяться с узлом. После повторного соединения узел может идентифицировать, что клиент имеет ранее установленное состояние, например, принимая идентификатор сеанса от клиента. В таких вариантах осуществления поддерживаемое состояние сеанса предоставляет возможность клиенту продолжать его ранее установленный сеанс.
[0043] Однако, в определенных обстоятельствах, клиент может не иметь возможности повторно соединяться с узлом. Вместо этого, клиент может повторно соединяться с другим узлом в кластерном окружении. В таких обстоятельствах процесс продолжается на этапе 410, где узел принимает запрос на передачу информации о сеансе от другого узла в кластерном окружении. В вариантах осуществления другой узел запрашивает право владения информацией о сеансе для того, чтобы повторно устанавливать сеанс для клиента, который теперь соединяется с узлом, запросившим право владения. Запрос права владения сеансом может включать в себя идентификатор сеанса, который узел, выполняющий способ 400, может использовать, чтобы идентифицировать ранее установленный сеанс, которым он владеет и/или поддерживает.
[0044] При приеме запроса права владения сеансом процесс продолжается на этапе 412, где узел гарантирует, что не существуют ожидающие выполнения операции ввода/вывода (I/O), выполняемые по ресурсам, ассоциированным с ранее установленным сеансом. В вариантах осуществления, если существуют ожидающие выполнения I/O-операции, узел ожидает завершения операций перед переходом к этапу 414. В других вариантах осуществления узел может отменять незаконченные I/O-операции по ресурсам сеанса на этапе 410. Узел, который может ожидать и/или отменять незаконченные I/O-операции, поддерживает целостность ресурса.
[0045] После того как узел гарантирует, что все I/O-операции завершены (или отменены), процесс продолжается на этапе 414. На этапе 414 узел признает недействительным предыдущий установленный сеанс. Признание недействительности сеанса может содержать закрытие любых открытых дескрипторов, которые являются частью сеанса. В других вариантах осуществления признание недействительным сеанса может включать в себя освобождение любых блокировок, которые могут быть на ресурсе. В вариантах осуществления признание недействительности сеанса может также включать в себя логику признания недействительности, описанную относительно фиг.1. Кроме того, в вариантах осуществления может выполняться один этап признания недействительности, в котором узел признает недействительными все дескрипторы и/или блокировки для ранее установленного сеанса, чтобы устранять необходимость для узла индивидуально признавать недействительными каждый дескриптор файла.
[0046] После того как ранее установленный сеанс признан недействительным, процесс продолжается на этапе 416, где узел передает право владения сеансом запрашивающему узлу. В вариантах осуществления передача права владения сеансом может включать в себя передачу права владения всех ассоциированных ресурсов, связанных с сеансом. Примерным ресурсом, который может быть передан на этапе 416, является дескриптор файла; однако, право владения другими ресурсами также может быть передано на этапе 416. В дополнительных вариантах осуществления передача права владения ресурсами, связанными с сеансом, может включать в себя передачу ресурса от одного узла другому. Для лучшей эффективности вся информация о сеансе может передаваться целиком на этапе 416, таким образом уменьшая число передач данных, требуемых между узлами.
[0047] Фиг.5 является вариантом осуществления способа 500, выполняемого узлом в кластерном окружении, чтобы запрашивать право владения ранее установленным сеансом. Например, способ 400 может выполняться посредством сервера, такого как серверы 106A, 106B и 106C, который является частью кластерного серверного окружения (например, кластера 106 серверов). Процесс начинается с этапа 502, где узел устанавливает соединение с клиентом. Например, узел может принимать запрос для запроса соединения от клиента на этапе 502. Узел может одобрять запрос соединения и соединяться с клиентом.
[0048] Процесс продолжается на этапе 504, где узел идентифицирует, что клиент ранее установил сеанс с другим узлом в кластерном окружении. В вариантах осуществления узел может принимать запрос установки сеанса от клиента. Запрос установки сеанса может быть принят с запросом соединения или после соединения с клиентом. В вариантах осуществления запрос установки соединения содержит идентификатор сеанса, который идентифицирует ранее установленное соединение.
[0049] Процесс продолжается на этапе 506, где узел отправляет запрос права владения второму узлу в кластерном окружении, который в настоящий момент владеет клиентским ранее установленным сеансом. Запрос права владения может содержать инструкции, чтобы признавать недействительными дескрипторы, ассоциированные с предыдущим сеансом, и передавать информацию о сеансе узлу. В вариантах осуществления запрос права владения может включать в себя запрос установки сеанса и/или id сеанса, принятый на этапе 504.
[0050] Процесс продолжается на этапе 508, где узел принимает информацию о сеансе и/или состоянии для ранее установленного сеанса. В вариантах осуществления информация о сеансе и/или состоянии может быть принята от второго узла, из центрального репозитория или из другого местоположения в кластерном окружении. В другом варианте осуществления, вместо приема информации о сеансе и/или состоянии на этапе 508, узлу может быть разрешен доступ к информации о сеансе и/или состоянии, которая находится в централизованном репозитории на этапе 508. Процесс затем продолжается на этапе 510, где узел использует принятую, и/или к которой осуществлен доступ, информацию о сеансе или состоянии, чтобы повторно устанавливать клиентский сеанс и предоставлять возможность клиенту продолжать осуществлять доступ к ресурсам в кластерном окружении.
[0051] Способы 300-500 являются просто некоторыми примерами рабочих процессов, которые могут быть выполнены в соответствии с вариантами осуществления. Варианты осуществления не ограничиваются конкретным описанием, предоставленным выше относительно фиг.3-5, и могут включать в себя дополнительные этапы. Дополнительно, показанные рабочие этапы могут быть объединены в другие этапы и/или переупорядочены. Дополнительно, меньшее количество или дополнительные этапы могут быть использованы, применены со способами, описанными на фиг.3-5.
[0052] Фиг.6 иллюстрирует систему 600 компьютера общего назначения, которая может быть использована, чтобы реализовывать варианты осуществления, описанные в данном документе. Компьютерная система 600 является только одним примером вычислительного окружения и не имеет намерением накладывать какое-либо ограничение в отношении рамок использования или функциональности компьютерной и сетевой архитектур. Компьютерная система 600 не должна интерпретироваться в качестве имеющей какую бы то ни было зависимость или требование, относящееся к любому одному или сочетанию компонентов, проиллюстрированных в примерной компьютерной системе 600. В вариантах осуществления система 600 может быть использована в качестве клиентов и/или серверов, описанных выше относительно фиг.1.
[0053] В своей наиболее обобщенной конфигурации система 600 типично включает в себя по меньшей мере один процессор 602 и память 604. В зависимости от точной конфигурации и типа вычислительного устройства память 604 может быть энергозависимой (такой как RAM), энергонезависимой (такой как ROM, флеш-память и т.д.) или некоторой комбинацией. Эта наиболее обобщенная конфигурация иллюстрирована на фиг.6 прерывистой линией 606. Системная память 604 хранит инструкции 620, такие как инструкции, чтобы соединяться с масштабируемым кластерным окружением, способы, раскрытые в данном документе, и данные 622, такие как информация о состоянии сеанса, которая может храниться в файловой системе хранения с помощью хранилища, такого как хранилище 608.
[0054] Термин "машиночитаемый носитель" при использовании в данном документе может включать в себя компьютерные носители данных. Компьютерные носители данных могут включать в себя как энергозависимые, так и энергонезависимые, как съемные, так и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Системная память 604, съемное запоминающее устройство и несъемное запоминающее устройство 608 являются примерами компьютерных носителей данных (т.е. запоминающего устройства). Компьютерные носители данных могут включать в себя, но не только, RAM, ROM, электрически-стираемое постоянное запоминающее устройство (EEPROM), флэш-память или другую технологию памяти, CD-ROM, цифровые многофункциональные диски (DVD) или другое оптическое запоминающее устройство, магнитные кассеты, магнитную ленту, накопитель на магнитных дисках или другие магнитные запоминающие устройства, или любой другой носитель, который может быть использован, чтобы хранить информацию, и к которому может быть осуществлен доступ посредством вычислительного устройства 600. Любые такие компьютерные носители для хранения данных могут быть частью устройства 600. Вычислительное устройство 600 может также иметь устройство(а) 614 ввода, такое как клавиатура, мышь, перо, устройство звукового ввода, сенсорное устройство ввода и т.д. Устройство(а) 616 вывода, такое как дисплей, динамики, принтер и т.д., может также быть включено. Вышеуказанные устройства являются примерами, и могут использоваться другие устройства.
[0055] Термин "машиночитаемый носитель" при использовании в данном документе также может включать в себя среды связи. Среды связи могут в типичном варианте воплощать машиночитаемые команды, структуры данных, программные модули или другие данные в модулированном информационном сигнале, таком как несущее колебание или другой механизм распространения, и включают в себя любые среды для доставки информации. Термин "модулированный информационный сигнал" может описывать сигнал, который имеет одну или более своих характеристик, задаваемых или изменяемых таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среды связи включают в себя проводные среды, такие как проводная сеть или непосредственное проводное соединение, и беспроводные среды, такие как акустические, радиочастотные (RF), инфракрасные и другие беспроводные среды.
[0056] Варианты осуществления изобретения могут быть применены на практике посредством интегральной системы (SOC), где каждый или множество компонентов, иллюстрированных на фиг.6, могут быть интегрированы в одну интегральную схему. Такое SOC-устройство может включать в себя один или более процессоров, графических модулей, модулей связи, модулей виртуализации систем и функциональность различных приложений, все из которых интегрируются (или "записываются") на подложку кристалла в качестве одной интегральной схемы. Когда работает посредством SOC, функциональность, описанная в данном документе, в отношении предоставления непрерывного доступа к ресурсу, может работать через логику специализированного применения, интегрированную с другими компонентами вычислительного устройства/системы 600 на одной интегральной схеме (кристалле).
[0057] На всем протяжении этого описания делалась ссылка на "один вариант осуществления" или "вариант осуществления", означающая, что конкретный описанный признак, структура или характеристика включены по меньшей мере в один вариант осуществления. Таким образом, использование таких фраз может относиться более чем только к одному варианту осуществления. Помимо этого, описанные признаки, структуры или характеристики могут быть комбинированы любым надлежащим образом в одном или более вариантах осуществления.
[0058] Тем не менее, специалисты в данной области техники могут признавать, что варианты осуществления могут быть использованы на практике без одной или более конкретных подробностей или с другими способами, ресурсами, материалами и т.д. В других случаях, широко распространенные структуры, ресурсы или операции не показаны или описаны подробно просто для того, чтобы избежать затруднений в понимании аспектов вариантов осуществления.
[0059] Хотя проиллюстрированы и описаны примерные варианты осуществления и применения, следует понимать, что варианты осуществления не ограничены точной конфигурацией и ресурсами, описанными выше. Различные модификации, изменения и вариации, очевидные специалистам в данной области техники, могут быть выполнены в структуре, работе и деталях способов и систем, раскрытых в данном документе, без отклонения от объема заявленных вариантов осуществления.
Claims (57)
1. Способ установления сеанса с кластерным серверным окружением, содержащий этапы, на которых:
принимают в клиенте множество адресов, идентифицирующих множество серверов в кластерном серверном окружении;
отправляют с клиента первоначальный запрос соединения с первым сервером, идентифицированным посредством первого адреса из множества адресов;
после отправки первоначального запроса соединения выбирают посредством клиента подмножество из множества адресов, каковое подмножество из множества адресов содержит по меньшей мере второй адрес из множества адресов, причем второй адрес отличается от первого адреса;
перед соединением с первым сервером отправляют с клиента один или более дополнительных запросов в упомянутое подмножество из множества адресов, при этом второй адрес идентифицирует по меньшей мере второй сервер в кластерном серверном окружении, причем эти один или более дополнительных запросов посылаются в то время, как обработка первоначального запроса не закончена;
принимают от второго сервера указание успешного соединения и
соединяются со вторым сервером.
2. Способ по п. 1, в котором упомянутое подмножество из множества адресов выбирается случайным образом.
3. Способ по п. 1, в котором упомянутые один или более дополнительных запросов отправляются после предварительно определенного периода времени после отправки первоначального запроса.
4. Способ по п. 1, в котором упомянутое множество адресов содержит IP адреса.
5. Способ по п. 1, в котором упомянутое множество адресов принимается от службы разрешения имен.
6. Способ по п. 5, в котором служба разрешения имен представляет собой DNS сервер.
7. Способ по п. 1, дополнительно содержащий этапы, на которых:
теряют соединение со вторым сервером;
отправляют запрос повторного соединения второму серверу и
соединяются со вторым сервером.
8. Способ по п. 1, в котором второй сервер идентифицируется посредством адреса в упомянутом множестве адресов, отличающегося от второго адреса.
9. Способ по п. 1, дополнительно содержащий этапы, на которых:
принимают от второго сервера сообщение о состоянии, связанное с производительностью сервера;
в ответ на прием сообщения о состоянии отправляют с клиента новый запрос соединения по меньшей мере третьему серверу, при этом третий сервер является частью кластерного окружения; и
соединяются с третьим сервером.
10. Способ по п. 9, дополнительно содержащий этап, на котором посылают в третий сервер идентификатор сеанса, причем идентификатор сеанса указывает прежде установленный сеанс со вторым сервером.
11. Способ по п. 10, в котором идентификатор сеанса посылается с упомянутым новым запросом соединения.
12. Способ по п. 1, в котором сеанс устанавливается в соответствии с протоколом SMB2.
13. Компьютерный носитель данных, на котором закодированы машиноисполняемые инструкции, которыми при их исполнении по меньшей мере одним процессором выполняется способ установления сеанса с кластерным серверным окружением, содержащий этапы, на которых:
принимают множество адресов, идентифицирующих множество серверов в кластерном серверном окружении;
отправляют первоначальный запрос соединения с первым сервером, идентифицированным посредством первого адреса из множества адресов;
после отправки первоначального запроса соединения выбирают подмножество из множества адресов, каковое подмножество из множества адресов содержит, по меньшей мере, второй адрес из множества адресов, причем второй адрес отличается от первого адреса;
перед соединением с первым сервером отправляют один или более дополнительных запросов в упомянутое подмножество из множества адресов, при этом второй адрес идентифицирует по меньшей мере второй сервер в кластерном серверном окружении, причем эти один или более дополнительных запросов посылаются в то время, как обработка первоначального запроса не закончена;
принимают от второго сервера указание успешного соединения и
соединяются со вторым сервером.
14. Компьютерный носитель данных по п. 13, при этом упомянутое подмножество множества адресов выбирает из упомянутого множества адресов случайным образом.
15. Компьютерный носитель данных по п. 13, при этом упомянутые один или более дополнительных запросов отправляются после предварительно определенного периода времени после отправки первоначального запроса.
16. Компьютерный носитель данных по п. 13, при этом упомянутое множество адресов содержит IP адреса.
17. Компьютерный носитель данных по п. 13, в котором способ дополнительно содержит этапы, на которых:
принимают сообщение о состоянии от второго сервера, связанное с производительностью сервера;
в ответ на прием сообщения о состоянии отправляют новый запрос соединения по меньшей мере третьему серверу, при этом третий сервер является частью кластерного окружения; и
соединяются с третьим сервером.
18. Компьютерный носитель данных по п. 17, в котором способ дополнительно содержит этап, на котором посылают в третий сервер идентификатор сеанса, причем идентификатор сеанса указывает прежде установленный сеанс со вторым сервером.
19. Компьютерный носитель данных по п. 18, при этом идентификатор сеанса посылается с упомянутым новым запросом соединения.
20. Компьютерная система, выполненная с возможностью установления сеанса с кластерным серверным окружением, содержащая:
по меньшей мере один процессор и
память, в которой закодированы машиноисполняемые инструкции, которые при их исполнении по меньшей мере одним процессором предписывают компьютерной системе:
принимать в клиенте множество адресов, идентифицирующих множество серверов в кластерном серверном окружении;
отправлять с клиента первоначальный запрос соединения с первым сервером, идентифицированным посредством первого адреса из множества адресов;
после отправки первоначального запроса соединения выбирать посредством клиента подмножество из множества адресов, каковое подмножество из множества адресов содержит по меньшей мере второй адрес из множества адресов, причем второй адрес отличается от первого адреса;
перед соединением с первым сервером отправлять с клиента один или более дополнительных запросов в упомянутое подмножество из множества адресов, при этом второй адрес идентифицирует по меньшей мере второй сервер в кластерном серверном окружении, причем эти один или более дополнительных запросов посылаются в то время, как обработка первоначального запроса не закончена;
принимать от второго сервера указание успешного соединения и
соединяться со вторым сервером.
21. Компьютерная система для предоставления устойчивых дескрипторов, содержащая:
по меньшей мере первый сервер и второй сервер, причем первый сервер и второй сервер являются частью серверного кластера;
при этом первый сервер сконфигурирован:
принимать запрос соединения от клиента, при этом запрос соединения содержит запрос установки соединения, который идентифицирует ранее установленный сеанс со вторым сервером,
отправлять второму серверу запрос права владения этим ранее установленным сеансом; при этом второй сервер сконфигурирован:
принимать упомянутый запрос от первого сервера,
гарантировать, что нет незаконченных операций в отношении одного или более ресурсов, связанных с упомянутым ранее установленным сеансом, и
признавать недействительным упомянутый ранее установленный сеанс.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/228,818 US20130067095A1 (en) | 2011-09-09 | 2011-09-09 | Smb2 scaleout |
US13/228,818 | 2011-09-09 | ||
PCT/US2012/054039 WO2013036698A2 (en) | 2011-09-09 | 2012-09-07 | Smb2 scaleout |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2014108994A RU2014108994A (ru) | 2015-09-20 |
RU2613040C2 true RU2613040C2 (ru) | 2017-03-14 |
Family
ID=47729311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2014108994A RU2613040C2 (ru) | 2011-09-09 | 2012-09-07 | Smb2-масштабирование |
Country Status (11)
Country | Link |
---|---|
US (3) | US20130067095A1 (ru) |
EP (2) | EP3206378B1 (ru) |
JP (2) | JP2014532210A (ru) |
KR (1) | KR101947851B1 (ru) |
CN (2) | CN102946405A (ru) |
AU (1) | AU2012304550B2 (ru) |
BR (1) | BR112014005315A2 (ru) |
CA (1) | CA2847735A1 (ru) |
MX (1) | MX2014002782A (ru) |
RU (1) | RU2613040C2 (ru) |
WO (1) | WO2013036698A2 (ru) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8316129B2 (en) | 2005-05-25 | 2012-11-20 | Microsoft Corporation | Data communication coordination with sequence numbers |
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 |
US9253144B2 (en) * | 2011-12-22 | 2016-02-02 | International Business Machines Corporation | Client-driven load balancing of dynamic IP address allocation |
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 |
CN106059986A (zh) * | 2015-04-22 | 2016-10-26 | 阿里巴巴集团控股有限公司 | Ssl会话重用的方法和服务器 |
CN106161404A (zh) * | 2015-04-22 | 2016-11-23 | 阿里巴巴集团控股有限公司 | Ssl会话重用的方法、服务器和系统 |
US10303660B2 (en) | 2015-11-12 | 2019-05-28 | Microsoft Technology Licensing, Llc | File system with distributed entity state |
CN106534328B (zh) * | 2016-11-28 | 2020-01-31 | 网宿科技股份有限公司 | 节点连接方法及分布式计算系统 |
CN113766035B (zh) * | 2017-03-28 | 2023-05-23 | 创新先进技术有限公司 | 一种业务受理及共识的方法及装置 |
JP6838707B2 (ja) * | 2017-06-30 | 2021-03-03 | 京セラドキュメントソリューションズ株式会社 | リモート通信制御システム、セッション管理システムおよびセッション管理プログラム |
US11553046B1 (en) * | 2017-09-27 | 2023-01-10 | Amazon Technologies, Inc. | Seamless scaling via proxy replay of session state |
US11349937B2 (en) * | 2020-09-18 | 2022-05-31 | EMC IP Holding Company LLC | Passive management of network connections |
US12003586B2 (en) * | 2020-12-22 | 2024-06-04 | Texas Instruments Incorporated | Distributed session owner across multiple entities |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030018927A1 (en) * | 2001-07-23 | 2003-01-23 | Gadir Omar M.A. | High-availability cluster virtual server system |
US20040225952A1 (en) * | 2003-03-06 | 2004-11-11 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
US20070150558A1 (en) * | 2005-12-22 | 2007-06-28 | Microsoft Corporation | Methodology and system for file replication based on a peergroup |
US20100042715A1 (en) * | 2008-08-18 | 2010-02-18 | Jeffrey Tai-Sang Tham | Method and systems for redundant server automatic failover |
Family Cites Families (277)
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 |
JPS6019341A (ja) | 1983-07-13 | 1985-01-31 | Usac Electronics Ind Co Ltd | 回線制御方式 |
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 |
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 |
JPH076917B2 (ja) | 1986-09-01 | 1995-01-30 | 富士写真フイルム株式会社 | 乾式分析方法における検量線の補正方法 |
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 |
JPS63205747A (ja) | 1987-02-13 | 1988-08-25 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | 通信方法及びデータ処理システム |
US4791566A (en) | 1987-03-27 | 1988-12-13 | Digital Equipment Corporation | Terminal device session management protocol |
JPS63256165A (ja) | 1987-04-14 | 1988-10-24 | Seiko Epson Corp | 嫌気性液体の定量吐出方法 |
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 |
JPH0821969B2 (ja) | 1988-09-13 | 1996-03-04 | 日本電気株式会社 | 伝送制御方法 |
JPH02101847A (ja) | 1988-10-11 | 1990-04-13 | Nec Corp | 通信制御方式 |
US5124909A (en) | 1988-10-31 | 1992-06-23 | Hewlett-Packard Company | Software program for providing cooperative processing between personal computers and a host computer |
CA1323448C (en) | 1989-02-24 | 1993-10-19 | Terrence C. Miller | Method and apparatus for translucent file system |
US5109519A (en) | 1989-03-28 | 1992-04-28 | Wang Laboratories, Inc. | Local computer participating in mail delivery system abstracts from directory of all eligible mail recipients only served by local computer |
US5560008A (en) | 1989-05-15 | 1996-09-24 | International Business Machines Corporation | Remote authentication and authorization in a distributed data processing system |
US5113519A (en) | 1989-05-15 | 1992-05-12 | International Business Machines Corporation | Maintenance of file attributes in a distributed data processing system |
US5218696A (en) | 1989-07-24 | 1993-06-08 | International Business Machines Corporation | Method for dynamically expanding and rapidly accessing file directories |
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 |
JPH0374745A (ja) | 1989-08-15 | 1991-03-29 | Oki Electric Ind Co Ltd | データ処理装置 |
JPH03245939A (ja) | 1990-02-20 | 1991-11-01 | Fudoo Kk | 工具ホルダー把持装置 |
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 |
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> | 異種のクライアントによる共用ファイルのファイル管理機構 |
KR0123773B1 (ko) | 1992-06-27 | 1997-11-26 | 강진구 | Pip 신호의 pop 신호로의 위치변환회로 |
JPH0675890A (ja) | 1992-08-26 | 1994-03-18 | Chugoku Nippon Denki Software Kk | クライアント・サーバ間の要求データ応答データ授受方式 |
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 |
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 |
US5633899A (en) | 1996-02-02 | 1997-05-27 | Lsi Logic Corporation | Phase locked loop for high speed data capture of a serial data stream |
US6343313B1 (en) | 1996-03-26 | 2002-01-29 | Pixion, Inc. | Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability |
EP0891663A1 (en) | 1996-04-01 | 1999-01-20 | Hewlett-Packard Company | Transmitting messages over a network |
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 |
KR100272567B1 (ko) | 1997-12-31 | 2000-11-15 | 서평원 | 이동통신 네트워크를 이용한 이동 인터넷 |
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次記憶装置への格納競合防止方法 |
WO2000020950A1 (en) | 1998-10-07 | 2000-04-13 | Adobe Systems, Inc. | Distributing access to a data item |
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 |
JP2000163369A (ja) | 1998-11-30 | 2000-06-16 | Nippon Telegr & Teleph Corp <Ntt> | 処理結果分散管理方法及びシステム及び処理結果分散管理サーバ装置及び処理結果分散管理プログラムを格納した記憶媒体 |
US6347337B1 (en) | 1999-01-08 | 2002-02-12 | Intel Corporation | Credit based flow control scheme over virtual interface architecture for system area networks |
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 |
US7437305B1 (en) | 1999-05-11 | 2008-10-14 | Christopher Angel Kantarjiev | Scheduling delivery of products via the internet |
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 |
WO2001077844A1 (fr) | 2000-04-10 | 2001-10-18 | Fujitsu Limited | Systeme de traitement d'informations et serveur associe |
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 |
DE60103331T2 (de) | 2000-07-05 | 2004-09-23 | Roke Manor Research Ltd., Romsey | Verfahren zum Betreiben eines Puffers für das Wiederzusammenstellen von Paketen und Netzwerk-Router |
US7693976B2 (en) | 2000-07-11 | 2010-04-06 | Ciena Corporation | Granular management of network resources |
US6732289B1 (en) | 2000-08-31 | 2004-05-04 | Sun Microsystems, Inc. | Fault tolerant data storage system |
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 | 삼성전자주식회사 | 홈네트워크내의 기기 제어장치 및 방법 및 이를 적용한홈네트워크 시스템 |
US7493391B2 (en) * | 2001-02-12 | 2009-02-17 | International Business Machines Corporation | System for automated session resource clean-up by determining whether server resources have been held by client longer than preset thresholds |
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 |
US7287079B2 (en) | 2001-06-29 | 2007-10-23 | Qualcomm Incorporated | Implementing and coordinating configuration of protocol processes |
JP4249915B2 (ja) | 2001-07-13 | 2009-04-08 | 株式会社バンダイ | 配信システム、そのサーバ及び収容装置と、携帯端末システムと、プログラム |
US7409420B2 (en) | 2001-07-16 | 2008-08-05 | Bea Systems, Inc. | Method and apparatus for session replication and failover |
US7870258B2 (en) * | 2001-08-08 | 2011-01-11 | Microsoft Corporation | Seamless fail-over support for virtual interface architecture (VIA) or the like |
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 |
CA2469513C (en) * | 2001-12-07 | 2007-08-21 | Research In Motion Limited | System and method of managing information distribution to mobile stations |
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 |
JP4000905B2 (ja) | 2002-05-22 | 2007-10-31 | ソニー株式会社 | 情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム |
JP2003337717A (ja) | 2002-05-22 | 2003-11-28 | Nec Corp | オンライントランザクション処理の障害時復旧同期システム |
EP1512261A1 (en) * | 2002-06-10 | 2005-03-09 | 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 |
WO2004003765A1 (ja) | 2002-07-01 | 2004-01-08 | Kabushiki Kaisha Toshiba | シームレスシステム及び記録媒体並びにコンピュータシステムの処理継続方法 |
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 |
JP3938002B2 (ja) | 2002-10-18 | 2007-06-27 | キヤノン株式会社 | 印刷システムの制御方法 |
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 |
US20040153700A1 (en) | 2003-01-02 | 2004-08-05 | Nixon Mark J. | Redundant application stations for process control systems |
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 | 株式会社エヌ・ティ・ティ・ドコモ | 通信システム、データ送信方法、通信装置、プログラムおよび記録媒体 |
US7526658B1 (en) | 2003-01-24 | 2009-04-28 | Nortel Networks Limited | Scalable, distributed method and apparatus for transforming packets to enable secure communication between two stations |
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 |
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 |
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 |
US7693998B2 (en) | 2003-06-30 | 2010-04-06 | Microsoft Corporation | System and method for message-based scalable data transport |
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 |
EP1650665B1 (en) | 2003-07-24 | 2012-07-11 | Panasonic Corporation | File management method and information 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 |
US7231397B2 (en) | 2003-10-24 | 2007-06-12 | Microsoft Corporation | Method and system for transacted file operations over a network |
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 |
WO2005048025A2 (en) | 2003-11-07 | 2005-05-26 | Sony Electronics Inc. | 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 |
US7730489B1 (en) | 2003-12-10 | 2010-06-01 | Oracle America, Inc. | Horizontally scalable and reliable distributed transaction management in a clustered application server environment |
US7177941B2 (en) | 2003-12-11 | 2007-02-13 | International Business Machines Corporation | Increasing TCP re-transmission process speed |
US7243284B2 (en) | 2003-12-11 | 2007-07-10 | International Business Machines Corporation | Limiting number of retransmission attempts for data transfer via network interface controller |
US7383483B2 (en) | 2003-12-11 | 2008-06-03 | International Business Machines Corporation | Data transfer error checking |
US7478381B2 (en) | 2003-12-15 | 2009-01-13 | Microsoft Corporation | Managing software updates and a software distribution service |
US20050177635A1 (en) | 2003-12-18 | 2005-08-11 | Roland Schmidt | System and method for allocating server resources |
US7493394B2 (en) | 2003-12-31 | 2009-02-17 | Cisco Technology, Inc. | Dynamic timeout in a client-server system |
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 |
KR20060123773A (ko) | 2004-03-17 | 2006-12-04 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 디스크 형상 정보 기억 매체를 주사하기 위한 방법 및장치 |
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 |
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 |
US7620687B2 (en) * | 2004-06-25 | 2009-11-17 | Telcordia Technologies, Inc. | Distributed request routing |
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 |
KR20060025100A (ko) | 2004-09-15 | 2006-03-20 | 삼성전자주식회사 | 다국어를 지원하는 메타 데이터를 기록한 정보저장매체 및메타 데이터 처리방법 |
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 |
EP1847087A1 (en) | 2005-02-08 | 2007-10-24 | Telefonaktiebolaget LM Ericsson (publ) | On-demand multi-channel streaming session over packet-switched networks |
US7685312B1 (en) * | 2005-02-10 | 2010-03-23 | Sun Microsystems, Inc. | Resource location by address space allocation |
US7743245B2 (en) | 2005-03-10 | 2010-06-22 | Intel Corporation | Security protocols on incompatible transports |
JP4516458B2 (ja) | 2005-03-18 | 2010-08-04 | 株式会社日立製作所 | フェイルオーバークラスタシステム及びフェイルオーバー方法 |
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 |
JP2006333433A (ja) | 2005-05-25 | 2006-12-07 | Microsoft Corp | データ通信プロトコル |
EP1727055B1 (en) | 2005-05-25 | 2016-09-07 | Microsoft Technology Licensing, LLC | Data communication coordination with sequence numbers |
US8316129B2 (en) | 2005-05-25 | 2012-11-20 | Microsoft Corporation | Data communication coordination with sequence numbers |
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 | Михаил Васильевич Беляев | Информационная система клиент - сервер и способ предоставления графического пользовательского интерфейса |
US20070150602A1 (en) * | 2005-10-04 | 2007-06-28 | Peter Yared | Distributed and Replicated Sessions on Computing Grids |
US7962129B2 (en) | 2005-10-24 | 2011-06-14 | At&T Intellectual Property I, L.P. | Method and system of creating customized ringtones |
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 |
US7685227B2 (en) * | 2006-11-10 | 2010-03-23 | Gerber Robert H | Message forwarding backup manager in a distributed server system |
US7774544B1 (en) | 2006-11-15 | 2010-08-10 | Netapp, Inc. | Reliable disk ownership changes |
US7743039B2 (en) * | 2006-12-11 | 2010-06-22 | Simdesk Technologies, Inc. | File operations with multiple level file locking techniques |
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 |
WO2008130983A1 (en) | 2007-04-16 | 2008-10-30 | Attune Systems, Inc. | File aggregation in a switched file system |
US8271669B2 (en) | 2007-05-30 | 2012-09-18 | Broadcom Corporation | Method and system for extended steering tags (STAGS) to minimize memory bandwidth for content delivery servers |
US8073922B2 (en) * | 2007-07-27 | 2011-12-06 | Twinstrata, Inc | System and method for remote asynchronous data replication |
KR101501174B1 (ko) | 2007-09-28 | 2015-03-19 | 엑세리온 악티에볼라그 | 네트워크 오퍼레이팅 시스템 |
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 | 中兴通讯股份有限公司 | 用于实现集群服务器内负载分担代理的方法 |
US7930427B2 (en) * | 2008-03-03 | 2011-04-19 | Microsoft Corporation | Client-side load balancing |
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 |
US8275815B2 (en) * | 2008-08-25 | 2012-09-25 | International Business Machines Corporation | Transactional processing for clustered file systems |
US8271996B1 (en) * | 2008-09-29 | 2012-09-18 | Emc Corporation | Event queues |
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 |
US8751533B1 (en) * | 2009-11-25 | 2014-06-10 | Netapp, Inc. | Method and system for transparently migrating storage objects between nodes in a clustered storage system |
JP2011119794A (ja) * | 2009-11-30 | 2011-06-16 | Toshiba Corp | 電子機器及び通信制御方法 |
US20110280247A1 (en) * | 2010-05-17 | 2011-11-17 | Google Inc. | System and method for reducing latency via multiple network connections |
US8806030B2 (en) | 2010-12-06 | 2014-08-12 | Microsoft Corporation | Multichannel connections in file system sessions |
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 |
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 |
US9896870B2 (en) | 2012-03-05 | 2018-02-20 | Gator Kennels Llc | Enclosure having ribbed stanchions |
US9888068B2 (en) * | 2013-04-06 | 2018-02-06 | Citrix Systems, Inc. | Systems and methods for maintaining session persistence in a cluster system |
-
2011
- 2011-09-09 US US13/228,818 patent/US20130067095A1/en not_active Abandoned
-
2012
- 2012-09-07 AU AU2012304550A patent/AU2012304550B2/en active Active
- 2012-09-07 CA CA2847735A patent/CA2847735A1/en not_active Abandoned
- 2012-09-07 WO PCT/US2012/054039 patent/WO2013036698A2/en active Application Filing
- 2012-09-07 RU RU2014108994A patent/RU2613040C2/ru active
- 2012-09-07 MX MX2014002782A patent/MX2014002782A/es unknown
- 2012-09-07 EP EP17165513.7A patent/EP3206378B1/en active Active
- 2012-09-07 BR BR112014005315A patent/BR112014005315A2/pt not_active Application Discontinuation
- 2012-09-07 CN CN201210331041XA patent/CN102946405A/zh active Pending
- 2012-09-07 KR KR1020147006137A patent/KR101947851B1/ko active IP Right Grant
- 2012-09-07 JP JP2014529877A patent/JP2014532210A/ja active Pending
- 2012-09-07 CN CN201610207685.6A patent/CN105743996A/zh active Pending
- 2012-09-07 EP EP12830847.5A patent/EP2754063A4/en not_active Withdrawn
-
2015
- 2015-08-25 US US14/834,959 patent/US10630781B2/en active Active
-
2016
- 2016-10-19 JP JP2016204949A patent/JP6334643B2/ja active Active
-
2020
- 2020-03-02 US US16/806,369 patent/US11570255B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030018927A1 (en) * | 2001-07-23 | 2003-01-23 | Gadir Omar M.A. | High-availability cluster virtual server system |
US20040225952A1 (en) * | 2003-03-06 | 2004-11-11 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
US20070150558A1 (en) * | 2005-12-22 | 2007-06-28 | Microsoft Corporation | Methodology and system for file replication based on a peergroup |
US20100042715A1 (en) * | 2008-08-18 | 2010-02-18 | Jeffrey Tai-Sang Tham | Method and systems for redundant server automatic failover |
Also Published As
Publication number | Publication date |
---|---|
US20200204633A1 (en) | 2020-06-25 |
CA2847735A1 (en) | 2013-03-14 |
AU2012304550B2 (en) | 2017-02-02 |
KR20140064844A (ko) | 2014-05-28 |
BR112014005315A2 (pt) | 2017-03-28 |
US20130067095A1 (en) | 2013-03-14 |
EP3206378B1 (en) | 2019-12-25 |
CN102946405A (zh) | 2013-02-27 |
WO2013036698A3 (en) | 2013-05-10 |
EP2754063A4 (en) | 2015-08-05 |
US10630781B2 (en) | 2020-04-21 |
MX2014002782A (es) | 2014-06-05 |
EP3206378A1 (en) | 2017-08-16 |
US11570255B2 (en) | 2023-01-31 |
WO2013036698A2 (en) | 2013-03-14 |
CN105743996A (zh) | 2016-07-06 |
RU2014108994A (ru) | 2015-09-20 |
AU2012304550A1 (en) | 2014-03-20 |
JP6334643B2 (ja) | 2018-05-30 |
US20150365482A1 (en) | 2015-12-17 |
EP2754063A2 (en) | 2014-07-16 |
KR101947851B1 (ko) | 2019-02-13 |
JP2014532210A (ja) | 2014-12-04 |
JP2017079064A (ja) | 2017-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2613040C2 (ru) | Smb2-масштабирование | |
US10482102B2 (en) | Conditional master election in distributed databases | |
JP4722973B2 (ja) | リクエスト処理方法及び計算機システム | |
US9069835B2 (en) | Organizing data in a distributed storage system | |
US20170344443A1 (en) | Dynamically changing members of a consensus group in a distributed self-healing coordination service | |
EP2815323A1 (en) | Method for controlling access of clients to a service in a cluster environment | |
CA2916261C (en) | Managing client access to a plurality of computing systems | |
US20140115028A1 (en) | Method and system for sharded resource brokering | |
US11128698B2 (en) | Producer system registration | |
US20150019727A1 (en) | Managing client access to a plurality of computing systems | |
US9780993B2 (en) | Producer computing system leasing on behalf of consumer computing system | |
US8230086B2 (en) | Hidden group membership in clustered computer system | |
CN112671554A (zh) | 一种节点故障处理方法及相关装置 | |
US20220345445A1 (en) | Generation and use of micro-pools to assign an ip address to a requesting computing device | |
WO2021008709A1 (en) | Device and method for managing connections |