CN102932164B - 群集客户端故障转移 - Google Patents

群集客户端故障转移 Download PDF

Info

Publication number
CN102932164B
CN102932164B CN201210330725.8A CN201210330725A CN102932164B CN 102932164 B CN102932164 B CN 102932164B CN 201210330725 A CN201210330725 A CN 201210330725A CN 102932164 B CN102932164 B CN 102932164B
Authority
CN
China
Prior art keywords
resource
client
request
application example
requestor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210330725.8A
Other languages
English (en)
Other versions
CN102932164A (zh
Inventor
D·M·克鲁斯
D·法萨拉
J·T·平克顿
M·乔治
P·普拉哈达
T·E·乔利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102932164A publication Critical patent/CN102932164A/zh
Application granted granted Critical
Publication of CN102932164B publication Critical patent/CN102932164B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Abstract

本发明涉及群集客户端故障转移。应用实例标识符与各系统和方法一起使用以在客户端群集环境中操作时向请求者提供对资源的连续访问。驻留于第一客户端上的请求者可尝试访问资源。第一客户端发送访问该资源的请求。该请求可与标识该请求的应用实例标识符相关联。在某一点,第一客户端失败而请求者经由故障转移机制与第二客户端相关联。第二客户端代表该请求者发送访问该资源的第二请求。该第二请求与该请求者的应用实例标识符相关联。该应用实例标识符被用来将该第二请求标识为属于与该第一请求相同的请求者,由此准许访问该资源的第二请求,同时避免冲突情形。

Description

群集客户端故障转移
技术领域
本发明涉及群集客户端故障转移。
背景技术
群集环境(例如,其中工作负载跨多个机器分布的环境)常被用来向客户端提供故障转移(failover)和高信息可用性。群集环境允许客户端经由作为该环境一部分的一个或多个节点来访问资源。群集环境可担当客户端、服务器、或客户端和服务器两者。在客户端群集服务器中,应用可驻留于构成该群集的任何节点上。应用可发出对本地存储在客户端群集内的或远程存储的资源的请求。如果该节点上出现错误,客户端故障转移(或迁移)到群集中的不同节点。然而,当客户端再次请求在错误时它正在工作的资源时,服务器会为该应用所驻留的先前的客户端节点而阻隔(fence)或锁定该资源。
各实施例正是对于这些和其它考虑事项而做出的。而且,尽管讨论了相对具体的问题,但是应当理解,各实施例不应被限于解决本背景技术中所标识的具体问题。
发明内容
提供本发明内容来以简化形式介绍将在以下详细描述部分中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
此处公开了在应用迁移到群集客户机环境中的新节点之后向该应用或进程提供对资源的连续访问的系统和方法。驻留在客户端群集中的一节点上的应用或进程向服务器发送访问资源的请求。在实施例中,唯一应用实例标识符被用来标识请求资源的应用。唯一应用实例标识符可与请求一起被提供。当客户端访问资源时,应用实例标识符与所请求的资源相关联。
在该应用或进程完成其对该资源的操作之前,在该应用正确释放该资源之前,该群集环境中该客户端所驻留的节点可能经历导致它失败或以其它方式丢失对该资源的访问的错误。在这种情况下,对于先前的客户端的请求,该资源可能在该服务器上保持在阻隔或锁定状态中。在故障转移到客户端群集中的不同节点之后,新客户端节点上的应用可重新建立与管理该资源的服务器的连接,并作出对该应用先前在错误时曾访问的资源的第二请求。该第二请求可包括曾与第一请求一起发送的应用实例标识符。尽管对该资源的第二请求可从群集环境中的不同节点接收,然而该应用实例标识符允许管理该请求的服务器确定该第二请求属于先前已锁定该资源的同一应用或进程。这样做允许服务器使该资源无效(invalidate)并准许客户端访问该资源的第二请求,同时确保不出现冲突情形。
实施例可被实现为计算机进程、计算系统、或者诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并对用于执行计算机过程的指令的计算机程序编码的计算机存储介质。计算机程序产品还可以是计算系统可读并对用于执行计算机过程的指令的计算机程序编码的载体上的传播信号。
附图说明
参考以下附图描述非限制性和非穷尽的实施例。
图1示出了可用于实现此处描述的实施例的系统。
图2是示出可用于实现此处公开的实施例的软件环境的框图。
图3是在群集环境中客户端可执行以获得的资源的连续访问的方法的实施例。
图4是由群集环境中的节点执行以提供对资源的连续访问的方法的实施例。
图5示出了适于实现实施例的计算环境的框图。
具体实施方式
以下将参考形成本发明一部分并示出各具体示例性实施例的附图更详尽地描述各个实施例。然而实施例被实现为许多不同的形式并且不应将其解释为限制在此处描述的实施例;相反地,提供这些实施例以使得本公开变得透彻和完整,并且将这些实施例的范围完全传达给本领域普通技术人员。因此,这些实施例可采用硬件实现形式、全软件实现形式或者结合软件和硬件方面的实现形式。因此,以下详细描述并非是局限性的。
本公开的实施例涉及提供群集客户端故障转移机制,该机制允许请求者在故障转移事件之后重新获得对资源的访问。在实施例中,请求者可以是进程、应用、或应用的一个或多个子进程。资源可以是计算环境中的文件、对象、数据、或任何其他类型的资源。在实施例中,资源可驻留于独立服务器上,或者资源可驻留于群集环境中。在此处公开的实施例中,群集环境可包括一个或多个节点(例如,客户端和/或服务器设备)。
在一示例实施例中,驻留在群集环境中的节点上的应用可请求对特定资源的访问。在实施例中,该资源可被存储在本地(例如,在该客户端节点上)、在远程设备中(例如,远程服务器或客户端群集环境中的不同节点)、或在与该客户端群集环境不同的群集环境中(例如,包含多个节点的环境)。例如,在实施例中,群集环境可以是客户端或服务器群集;然而,本领域的技术人员将理解,此处公开的系统和方法可用于任何其他类型的环境中,诸如但不限于虚拟网络。
在这种的环境中,可在各客户端和应用之间共享资源。当应用访问资源时,该资源可被阻隔或锁定,由此禁止其他应用访问该资源,直到该进行访问的应用释放该资源。阻隔或锁定资源可被用来保护以免于冲突,即,保护以避免在该进行访问的应用已对该资源执行其操作之前另一应用对该资源的修改。然而,如果群集客户端环境中的节点失败,则正访问该资源的应用可能不会正确地从阻隔或锁定状态中释放该资源。例如,在该应用完成其操作并正确释放该资源之前,代表该应用访问该资源的客户端节点可能会丢失网络连接、可能会崩溃、或可能会以其他方式丢失对该资源的访问。从而,该资源可保留在该资源对其他客户端或应用不可用的状态中。可采用从阻隔或锁定状态自动释放资源的机制,由此避免该资源被永久锁定在外。然而,这种机制在释放被阻隔或锁定的资源之前通常等待一段时间。
在一些情况下,当该应用执行故障转移以从失败的客户端节点迁移到客户端群集中的一不同客户端节点时,该应用可尝试经由该不同客户端节点来重新建立它与服务器的之前连接并恢复它对该资源的操作。然而,因为该资源没有被先前代表该应用访问该资源的失败的客户端节点正确地释放,所以由于该错误,先前访问该资源的应用可能不能够恢复它对该资源的访问,直到服务器将该资源从其阻隔或锁定状态释放。然而,因为现在一不同节点正在尝试代表该应用访问该资源,所以服务器可能不能够将该应用标识为先前对该资源建立锁定的同一应用。然而,因为同一应用正在尝试访问该资源,所以不会出现冲突情形。在这种情形下,等待服务器释放对该资源的先前锁定可能会对该应用导致无法接受的延迟。
如上所述,因为该应用正在群集客户端环境中操作,所以当该应用第二次请求访问该资源时,访问该资源的请求可能从一不同位置(诸如,该群集客户端环境中的一不同节点)作出。从而,第二请求可能来自一位置或不同的IP地址。因为该请求可从一不同位置作出,所以服务器可能难以确保尝试再次访问该资源的客户端或应用实际上是先前访问该资源的同一客户端。此处公开的系统和方法提供了标识其中同一应用正尝试访问资源的情形的机制,由此避免了这种延迟并向应用提供了对该资源的连续访问。
图1示出了可用于实现此处公开的一些实施例的系统100。系统100包括客户端群集102和服务器群集106。客户端群集包括多个节点,诸如客户端102A和102B。客户端102A和102B可以是驻留于客户端群集102中的设备或应用。客户端群集102可通过网络108与服务器群集106通信。在实施例中,网络108可以是因特网、WAN、LAN、或本领域已知的任何其他类型的网络。服务器群集106存储由客户端群集102上的应用(例如,驻留在客户端102A或客户端102B上的应用)访问的资源。在实施例中,客户端(例如,客户端102A)可建立与群集106的会话以代表驻留在该客户端上的应用来访问群集106上的资源。尽管在图1中客户端群集102只包括两个客户端(例如,客户端102A和客户端102B),然而本领域的技术人员将理解,客户端群集102中可包括任何数量的客户端。
如图1所示,服务器群集106包括服务器106A、106B和106C,这些服务器提供对存储在群集106上的信息的高可用性和冗余性二者。在实施例中,群集106可以具有文件系统、数据库、或者由客户端102和104访问的其他信息。尽管图1中示出了3个服务器,但是在其他实施例中,群集106可以包括3个以上服务器或3个以下服务器。而且,尽管此处描述的实施例涉及客户端与作为服务器群集的一部分的服务器进行通信,然而本领域的技术人员将此处公开的实施例还可使用独立服务器来执行。
在实施例中,客户端群集102提供在第一客户端节点上出现错误或失败的情况下允许客户端从第一客户端节点向第二客户端节点迁移的故障转移机制。本领域技术人员将理解,任何类型的故障转移机制可以与此处公开的系统和方法一起使用。此处公开的方法和系统可用于避免当在故障转移的情况下应用尝试再次获得对从一个客户端迁移到另一客户端的资源的访问时避免过度的延迟。在实施例中,标识访问该资源的应用的应用实例标识符可与该资源相关联。应用实例标识符可以是与应用、应用所执行的动作、或应用的子进程相关联的全局唯一标识符(GUID)。例如,在一个实施例中,应用可与作为GUID的应用实例标识符相关联。在另一实施例中,应用实例标识符可与应用所执行的特定操作或动作相关联。例如,如果该应用发出对两个不同文件的两个不同的打开请求,则每个打开请求可具有其自己的应用实例标识符。在又一实施例中,应用实例标识符可与应用的一个或多个子进程相关联。从此处公开的实施例中,对本领域的技术人员而言显而易见地,将应用的应用实例标识符与其一个或多个子进程相关联将允许该子进程在属于该应用的资源被置于锁定或阻隔状态时访问该资源。在实施例中,该应用实例标识符可由该客户端在发送对资源的请求时或在发送对资源的请求之后发送。
根据另一实施例,除了存储由作为客户端群集102的一部分的客户端访问的信息之外,服务器群集106还提供允许在服务器节点故障转移的情况下对资源的连续访问的故障转移机制。同样,本领域技术人员将理解,任何类型的故障转移机制可以与此处公开的系统和方法一起使用。
在实施例中,当客户端代表应用请求访问资源时,该应用的应用实例标识符与该请求一起被发送。接收该请求的服务器可将该应用实例标识符与该资源相关联。例如,该服务器群集可将该应用实例标识符按照应用实例标识符与资源相关联的方式存储在位于在服务器群集106中的一个或多个节点(例如,诸如服务器106A、106B和/或106C等服务器)上的表或高速缓存中。在该客户端对该资源完成之前,该客户端可能经历将迫使它丢失与该资源的连接的错误。例如,寄宿(host)该应用或代表该应用执行请求或操作的客户端可能丢失它对服务器群集的网络连接,该客户端可能崩溃、或可能出现干扰该应用对该资源的使用的任何其他类型的错误。在经历该错误之后,该应用可故障转移到客户端群集102中的新客户端节点。该新客户端节点可重新连接到该服务器群集并代表该应用发送访问该资源的第二请求。在实施例中,该客户端可重新连接到服务器群集106中的同一节点或不同节点。访问该资源的第二请求可包括该应用的应用实例标识符。接收到第二请求之后,服务器(例如,服务器群集106的服务器106A)将第二请求的应用实例标识符与和该资源相关联的应用实例标识符进行比较。如果这两个应用实例标识符匹配,则该服务器群集使该资源无效。在实施例中,使该资源无效可包括关闭文件、除去对资源的锁定、或以其他方式采取释放该资源以供使用的任何动作。该服务器节点此时可准许该应用对访问该资源的第二请求。如果第二节点的应用实例标识符与和该资源相关联的应用实例标识符不匹配,则该服务器将不允许对该资源的访问,直到该资源被释放。
为了示出一个实施例,客户端群集102中的客户端102A上的请求者(例如,进程、应用等)可请求客户端102A建立与服务器群集106的服务器的会话。例如,客户端102A可建立与服务器106A的会话以访问服务器106A上所存储的数据库,或访问作为服务器106A可访问其中的数据库的服务器群集106的一部分的数据库。客户端102A随后代表该请求者发出对资源的请求。标识该请求者的应用实例标识符与该请求相关联。在实施例中,该请求可包括该应用实例标识符,或者该应用实例标识符可按照服务器106A可确定该应用实例标识符与该请求相关联的方式被分开发送。在又一实施例中,服务器106A或服务器群集106可能已经具有将该应用实例标识符与该请求相关联所需的信息,而无需随请求接收该应用实例标识符。服务器106A然后准许该请求者对该资源的访问,由此允许该请求者对该资源执行操作或以其他方式访问该资源。当准许该请求者对该资源的访问时,服务器106A按照指示该请求者当前正在访问该资源的方式将应用实例标识符与该资源相关联。该资源随后可被阻隔或锁定,因此其他客户端或应用不能访问或修改该资源,直到客户端102已完成其操作。
在该请求者完成它对该资源的操作之前,导致客户端102A失败或以其他方式丢失它对该资源的访问的错误发生。因为客户端请求者尚未完成其操作,所以它还没有释放对该资源的控制。从而,该资源可保留在阻隔或锁定状态中。请求者或客户端群集102可采用故障转移机制来将请求者从客户端102A迁移到客户端102B。一旦故障转移操作完成之后,客户端102B可代表该请求者重新连接到服务器群集106。客户端102B可重新连接到服务器106A或建立与服务器群集106中的任何其他服务器(例如,服务器106B或106C)的新连接。在一示例情形中,客户端102B重新连接到服务器106A。在重新连接之后,客户端102B可发送代表该请求者访问该资源的第二请求。如同前面指出的,因为请求者没有释放对该资源的控制,所以该资源仍处于锁定或阻隔状态中。为了访问该资源,而不等待服务器例如通过超时操作来自动改变该资源的状态,请求者可再次将它的应用实例标识符与第二请求一起提供。服务器106A将与第二请求一起提供的应用实例标识符与和该资源相关联的应用实例标识符进行比较。例如,通过将所接收的或以其他方式与该第二请求相关联的应用实例标识符和服务器106A将其与该资源相关联的应用实例标识符进行比较。所关联的应用实例标识符可被存储在服务器106A的本地高速缓存或表中,或可被存储在服务器群集106中的别处。如果存储在高速缓存中的应用实例标识符与和该资源相关联的应用实例标识符相匹配,则服务器106A使该资源无效或以其他方式释放该资源,并允许客户端102B代表该请求者再次访问该资源而不等待该资源被某种其他机制释放(例如,通过阻隔或锁定状态超时)。如果所述应用实例标识符不相匹配,则客户端102B在访问该资源之前将必须等待该资源变为被释放。
尽管在上述示例中客户端102B重新连接到同一服务器106A,然而在其他实施例中,该客户端连接到服务器群集106中的另一节点也是可能的。例如,客户端102B可重新连接到服务器106B并提交第二请求以代表该请求者重新获得对该资源的访问。该第二请求可再次与该请求者的应用实例标识符相关联,例如,通过被包括在该第二请求中或以其他方式与该第二请求相关联。在本示例中,服务器106B可能没有将与该资源相关联的应用实例标识符存储在其本地高速缓存中,因为该资源的原始访问是在服务器106A上的。在这种情形下,服务器106B可联系服务器群集106中的其他服务器来确定它们是否具有与该资源相关联的应用标识符。如果与该资源相关联的应用标识符被存储在该服务器群集中的一不同节点(例如,服务器106A)上,则将该服务器群集中的该另一节点上的应用实例标识符与和该第二请求一起提供的应用实例标识符进行比较。如果它们匹配,则服务器106B可向服务器106A发送请求以使该资源无效,而随后服务器106B可允许该请求者(现在在客户端102B上)访问该资源。如果所述应用实例标识符不相匹配,则客户端102B将必须等待该资源被释放。
基于上述示例,本领域的技术人员将理解,客户端群集102中的任何客户端节点可为客户端群集102中的请求者请求访问并随后向该请求者提供访问。而且,服务器群集中的任何服务器节点(例如,服务器群集106中的任何服务器)能够确定请求者先前是否具有对该资源的访问权,即使该访问发生在该服务器群集中的不同服务器节点上。本领域的技术人员将理解,下面的描述仅是图1中示出的实施例可如何操作的一个示例,并且存在其他实施例。例如,客户端节点可执行此处描述的实施例以向请求者(例如,应用或进程)提供对驻留于群集环境中(例如,在构成该客户端群集的同一或不同客户端群集节点上)的资源的连续访问,而不是访问远程服务器或服务器群集上的资源。如下面更详细地描述的,此处描述的实施例可以涉及各种不同的步骤或操作。而且,此处描述的实施例可使用任何合适的软件或硬件组件或模块来实现的。
现在转向图2,图2示出了软件环境200的框图,软件环境200示出了具有多个客户端节点(例如,客户端202和204)的客户端节点群集201和具有多个服务器节点(例如,节点1 208和节点2 216)的服务器节点群集206。在实施例中,客户端202代表请求者请求访问服务器群集环境206中的资源(诸如资源226)。客户端节点群集201可以是诸如客户端群集102(图1)的客户端群集。尽管未示出,然而客户端群集可包含超过两个节点。服务器节点群集206可以是诸如服务器群集106(图1)的服务器群集,或者可以是任何其他类型的群集环境,诸如但不限于虚拟网络。资源226可被存储在作为群集环境的一部分的数据存储228中。尽管未示出,然而在替代实施例中,数据存储228可以不是该群集环境的一部分,而是可以通过网络连接到该群集环境。这种网络的示例包括但不限于:因特网、WAN、LAN、或本领域已知的任何其他类型的网络。在另外的实施例中,数据存储可以是作为群集206的一部分的节点(例如,设备)的一部分。
服务器节点群集206可包括一个或多个节点,诸如节点1 208和节点2 216。尽管图2中只示出了两个节点群集,然而在群集环境206中可包括任何数量的节点群集。在实施例中,节点群集208和216能够接收对资源226执行操作和/或准许对资源226的访问的请求。在实施例中,资源226可以是文件、对象、应用、数据、或存储在群集节点206中的节点或独立服务器上或可由该节点或独立服务器访问的任何其他类型的资源。
在实施例中,客户端向群集环境206发送初始请求222。如图2中所示,初始请求222可由客户端202发送并由节点1 208接收。然而,在替代实施例中,初始请求222可由客户端或客户端群集201中的任何其他客户端节点发送并由节点2216或服务器群集206中的任何其他节点接收。示例请求包括但不限于:创建、打开、或以其他方式访问文件的请求。请求222可通过网络(诸如但不限于:因特网、WAN、LAN、或本领域已知的任何其他类型的网络)从该客户端传送到节点群集。初始请求222可包括访问诸如资源226之类的资源的请求。在实施例中,请求222还可包括标识客户端202正在代表它作出请求的请求者的应用实例标识符。在实施例中,初始请求222可由一个或多个消息构成。例如,请求222可以是包含请求和应用实例标识符两者的单个消息。在另一实施例中,请求222可以是包括一个或多个请求以及一个或多个应用实例标识符的多个消息。在实施例中,客户端202可包括应用实例高速缓存214,该应用实例高速缓存用于存储和/或生成可与请求222一起传送的一个或多个应用实例标识符。
如图2中所示,节点1 208可从客户端202接收请求222和应用实例标识符。如果所请求的资源226可用(例如,未被另一客户端或应用阻隔或锁定),节点1可准许该客户端(例如,客户端202)的代表正在该客户端上执行的请求者访问资源226的请求。在准许对资源226的访问后,过滤器驱动器210可通过存储它从客户端202接收的应用实例标识符来分配或以其他方式在客户端202和资源226之间创建关联。在实施例中,该关联可作为对象被存储在作为节点1的一部分的应用实例高速缓存212中。尽管所示出的实施例将应用实例高速缓存212作为节点1 208的一部分示出,然而在实施例中,应用实例高速缓存212可作为节点群集206的一部分被存储在别处。本领域的技术人员将理解,节点群集206可包括一个或多个应用实例高速缓存,诸如节点2 216上的应用实例高速缓存220。在实施例中,当存在超过一个应用实例高速缓存时,存储在该多个应用实例高速缓存中的数据可跨所有应用实例高速缓存复制,或每个应用实例高速缓存可存储分别的数据。
在一个实施例中,从客户端接收的、标识请求者(例如,应用或进程)的应用实例标识符可被存储在_NETWORK_APP_INSTANCE_ECP_CONTEXT结构中。该_NETWORK_APP_INSTANCE_ECP_CONTEXT结构可被定义如下:
typdef struct_NETWORK_APP_INSTANCE_ECP_CONTEXT{
USHORT Size;
USHORT Reserved;
GUID AppInstanceID;
}_NETWORK_APP_INSTANCE_ECP_CONTEXT,*PNETWORK_APP_INSTANCE_ECP_CONTEXT;
在这种实施例中,变量size(大小)可存储与该结构的大小有关的信息,而变量AppInstanceID可以是故障转移群集客户端应用(诸如在客户端202上执行的请求者)的唯一应用实例标识符。在实施例中,_NETWORK_APP_INSTANCE_ECP_CONTEXT或包含请求者的应用实例标识符的另一对象或变量可被存储在全局唯一标识符(GUID)高速缓存214中。在实施例中,_NETWORK_APP_INSTANCE_ECP_CONTEXT结构可与访问资源的请求(例如,创建或打开请求)相结合地被从客户端发送到服务器。在一个实施例中,请求者的应用实例标识符可被存储在群集客户端环境201中的该请求者正在其上执行的客户端节点的GUID高速缓存中。在另一实施例中,尽管图2中未示出,然而客户端节点群集201可具有存储应用实例标识符的中央储存库。在这种实施例中,客户端节点群集201中的多个客户端节点可访问该集中式的储存库。在又一实施例中,应用实例标识符可跨多个GUID高速缓存(例如,GUID高速缓存214和GUID高速缓存216)来存储。在这种实施例中,客户端节点群集201可采用复制算法来确保多个GUID高速缓存包含相同的应用实例标识符。
如前所述,当客户端202代表请求者访问资源226时,该应用实例标识符可与资源226相关联。服务器节点206可将这种关联存储在作为服务器节点群集206的一个或多个应用实例高速缓存中,诸如应用实例高速缓存212和220。在一个实施例中,可通过将应用实例标识符添加到资源226的额外创建参数(ECP)列表来将该应用实例标识符与该资源相关联。ECP列表可被存储在作为服务器节点群集206的一部分的应用实例高速缓存中,诸如应用实例高速缓存212和220。在实施例中,当ECP被服务器接收时,服务器从ECP中提取应用实例标识符并将该应用实例标识符添加到高速缓存中以与资源、资源句柄等相关联。如参考将应用实例标识符存储在客户端群集201中所描述的,与节点相关联的应用实例标识符可被存储在服务器节点群集206中的节点上的个体应用实例高速缓存中、在服务器群集206中的中央储存库中、或跨服务器节点群集206中的多个节点上的多个应用实例高速缓存复制。
在实施例中,当正在客户端202上执行的请求者具有对资源222的访问权时资源226被阻隔或锁定,由此阻止其他客户端或应用访问资源226并避免任何潜在冲突。在实施例中,在请求者完成其对资源226的操作之前,客户端202经历错误,所述错误使它丢失与该资源的连接。例如,该客户端可能崩溃、被下线、或丢失与服务器节点208的网络连接。在这种情况下,资源226仍可处于阻隔或锁定状态中,因为请求者没有释放对该资源的锁定,由此阻止其他客户端访问资源226。
当客户端202发生错误时,请求者可利用客户端故障转移机制232来迁移到客户端群集201中的新客户端节点(例如,客户端204)。本领域的技术人员将理解,在客户端故障转移232处可采用任何类型的故障转移机制。在实施例中,故障转移机制232还可包括请求者的应用实例标识符的迁移,该应用实例标识符可能已经存储在如今已失败的客户端202上的GUID高速缓存214中。在完成迁移之后,请求者可尝试重新获得对资源202的访问。在实施例中,客户端216可向节点1发送第二请求224以代表该请求者请求对资源226的访问。然而,在不使用此处公开的连续访问实施例的情况下,当节点1 208接收到代表客户端204(第二请求224的发送者)访问资源226的请求时,它可能拒绝该请求,因为资源226仍处于由客户端202对该资源进行的先前的访问所导致的阻隔或锁定状态中。在不使用此处公开的实施例的情况下,节点1 208将会认识到:访问资源226的第二请求是来自不同位置(例如,客户端204)的。节点1 208将不能够确定该请求是用于对资源226保持锁定的同一请求者的,并且将因此判断准许该请求将导致冲突。然而,如果同一请求者正尝试访问资源224,则没有冲突问题,而迫使该客户端等待该资源被系统释放可能会导致过度的延迟。
该应用实例标识符可用于解决此问题。在实施例中,第二请求224也可包括该应用实例标识符,该应用实例标识符标识在232处示出的故障转移期间迁移到客户端204的请求者。在实施例中,在请求者在客户端故障转移232期间的迁移之前,请求者的应用实例标识符可存在于客户端204的GUID高速缓存228中。例如,可能已采用复制机制将请求者的应用实例标识符跨客户端群集201中的节点复制。在另一实施例中,请求者203可存储其应用实例标识符。在又一实施例中,请求者203的应用实例标识符可在客户端故障转移232期间被迁移。
如参考请求222所描述的,该应用实例标识符可在与第二请求224的同一消息中传送,或者第二请求224可由多个不同消息构成。当在节点群集206处或在该群集中的个体节点(诸如节点1 208)处接收到第二请求,且接收服务器确定该资源被阻隔或锁定时,就第二请求224中的应用实例标识符是否与资源226相关联的应用实例标识符相同作出判断。在实施例中,节点2 216会将与第二请求222一起接收的应用实例标识符与和资源226相关联的应用实例标识符进行比较。和资源226相关联的应用实例标识符可被存储在节点1 212的应用实例高速缓存212中。在其中节点群集206中存在多个应用实例高速缓存的实施例中,该判断可检查节点群集206中的超过一个应用实例高速缓存。在这样的实施例中,如果匹配的应用实例标识符不位于应用实例高速缓存212中,则节点1 216可向节点2 212发送请求以确定匹配的应用实例标识符是否位于应用实例高速缓存220中。
在一个实施例中,如果在第二请求224中接收的应用实例高速缓存不与和资源226相关联的应用实例标识符(其可存储在应用实例高速缓存212和/或220中)相匹配,则第二请求224可能不会被准许,直到资源226被释放为止。然而,如果找到匹配,则接收服务器(例如,节点1 208)和/或服务器群集206执行动作来准许对资源226的访问而不会对客户端204和请求者203导致过度的延迟。在这种的情形中,节点群集206可使资源226无效,由此将资源226从阻隔或锁定状态中移除。在实施例中,使前一访问无效可包括使资源离开阻隔或锁定状态的任何动作。一个非限制性示例是关闭打开的文件(例如,如果资源226是文件的话)。一旦前一访问被无效,则访问资源226的第二请求224可被准许,由此向请求者203提供连续的访问。
在一个实施例中,如果不同节点(例如节点2 216)具有访问权和/或无效前一访问的许可,则接收第二请求224的节点(诸如图2中的节点1 208)可执行所需的动作来使对资源226的前一访问无效。然而,在一些情况下,接收该请求的节点可能不具有访问权或使前一访问无效的许可。例如,如果原始请求222是对节点2 216作出的,在这种情况下节点2 216可对该资源有控制权,则这种情形可能出现。在这种情形下,接收第二请求224的节点可向控制节点发送请求以使前一访问无效。一旦控制节点已使前一访问无效后,接收第二请求224的节点可准许第二请求224。在其他实施例中,接收第二请求224的节点可向不同节点发送请求来准许客户端204和/或请求者203(现在驻留于客户端204上)对资源226的访问。
通过使用应用实例标识符,所描述的过程避免了在从先前访问资源226并仍旧保持对资源226的锁定的请求者203准许访问资源226的第二请求224时的过度延迟。而且,该应用实例标识符提供了确保任何被准许的请求不会在资源226上产生冲突的好处。例如,如果请求是从不同应用接收的,则该请求将包括与和该资源相关联的应用实例标识符不同的应用实例标识符,这会导致该请求被拒绝。因为应用实例标识符是全局唯一标识符,所以不同应用的应用实例标识符将不相同。
图3是在客户端群集环境中请求者可用来获得对资源的连续访问的方法300的实施例。例如,请求者可以是客户端,诸如客户端202(图2),该客户端采用方法300来访问资源(例如,资源226)。在实施例中,资源可驻留于远程机器(诸如服务器)上。服务器可以是独立服务器,或是群集环境(诸如服务器群集206(图2))的一部分。流程开始于操作302,其中对资源的请求被发送到服务器。在实施例中,该请求可以是:访问资源。在实施例中,访问资源可包括打开文件、创建文件、或以其他方式访问对客户端而言可能位于远程的资源或对该资源执行操作。在实施例中,请求者可在客户端群集环境中操作。在这些实施例中,在操作302发送的请求可从客户端群集环境中的第一客户端发送。
流程继续到操作304,其中应用实例标识符被发送到例如服务器(例如,独立服务器、或群集环境中的节点)。在一个实施例中,发送请求的第一客户端还可代表请求者发送应用实例标识符。如同先前描述的,应用实例标识符是标识请求者(例如,请求对资源的访问的应用、客户端、或应用的子进程)的GUID。在一个实施例中,可在经由网络传送的消息中发送应用实例标识符。应用实例标识符可在包含操作302中的请求的同一消息中传送,或者可以在不同消息中传送。在这些实施例中,在操作302可发送包含该应用实例标识符的对象,诸如但不限于参考图2描述的_NETWORK_APP_INSTANCE_ECP_CONTEXT。
在一个实施例中,在操作304可使用一接口来发送应用实例标识符。该接口可以是位于客户端上或对在客户端群集环境中操作的客户端可用的内核级接口。在实施例中,该内核级接口可被请求者和/或客户端用来向服务器发送应用实例标识符。下面是可在操作304采用来发送应用实例标识符的内核级接口的非限制性示例:
尽管提供了一种具体的内核级接口,然而本领域的技术人员将理解,在操作304可采用其他内核级接口来发送应用实例标识符。
在另一实施例中,在操作304可采用应用用户接口(API)来发送应用实例标识符。在这种实施例中,请求者和/或客户端可通过对API作出调用来发送应用实例标识符。该API可寄宿(host)在执行操作304的客户端上(例如,服务器群集中的第一客户端)或该API可寄宿在另一设备上并且由请求者或另一应用或进程访问。下面是可在操作304采用来发送应用实例标识符的API的非限制性示例:
NTSTATUS RegisterAppInstance(
_in PGUID AppInstance
);
尽管提供了一个具体的API,但是本领域的技术人员将理解,在操作304可采用其他API。而且,尽管操作304是作为分立的操作示出的,然而本领域的技术人员将理解,发送应用实例标识符可与在操作302发送该请求的同时执行。
当所请求的资源未被锁定时,在操作302发送的请求被准许而该流程继续到操作306,在操作306访问该资源。如前所述,当请求者在操作306访问资源时,控制该资源的服务器或设备可能将该资源置于阻隔或锁定状态中。在访问该资源时的某个点,出现错误,诸如参考图2描述的错误,该错误会导致客户端失败或以其他方式丢失对该资源的连接。该错误可能使在请求者完成其对该资源的使用之前该客户端(例如,该服务器群集中的第一客户端)丢失对该资源的访问。在这种情况下,该资源可能没有被从其阻隔或锁定状态中释放。
流程继续到操作308,其中执行故障转移操作。在实施例中,故障转移操作可包括将该请求者及其状态克隆到客户端节点群集中的不同客户端(例如,第二客户端)。在实施例中,请求者的状态可被克隆到该第二客户端上,而该请求者可按照它能从该第一客户端失败的点处恢复执行的方式在该第二客户端上执行。在另一实施例中,在第一客户端故障转移时,请求者可与第一客户端通信(而不是在第一客户端上执行)。在这样的实施例中,故障转移操作可包括请求者建立与客户端群集中的第二客户端的通信。
在实施例中,状态信息(包括但不限于请求者应用实例标识符)可从第一客户端传送到第二客户端。在一个实施例中,第一客户端可发送包括请求者的应用实例标识符和/或请求者的状态信息的消息。该应用实例标识符和/或状态可在故障转移过程期间被发送,或者在实施例中,可在第一客户端失败之前被发送,诸如在将信息跨客户端群集环境中的各客户端克隆的复制进程期间。在另一实施例中,请求者的应用实例标识符和/或状态信息可被存储在客户端群集网络中的中央位置或储存库。在这些实施例中,该故障转移过程可向第二客户端提供请求者的应用实例标识符和/或状态信息的位置。在又一实施例中,该请求者可维护其应用实例标识符。在这些实施例中,客户端故障转移操作可包括重新分配或以其他方式建立请求者和第二客户端之间的连接。
在实施例中,在客户端故障转移操作之后,操作流程继续到操作310。在操作310,向群集环境发送对同一资源的第二请求。在实施例中,第二请求是由客户端群集中的第二客户端代表请求者发送的。第二请求可使用与参考在操作302的第一资源所描述的相同方式来发送。为了维护对资源的连续访问并避免过度的延迟,流程继续到操作312,其中应用实例标识符被再次发送到该群集环境。可根据参考操作304所描述的实施例之一来在操作308发送该应用实例标识符。在实施例中,因为不同客户端(例如,第二客户端)在发送第二请求,所以接收该请求的服务器可能不能够将该第二请求标识为属于保持对该资源的锁定的同一请求者(例如,因为请求是从不同机器、不同地址等作出的)。然而,通过在操作304和308发送该应用实例标识符,服务器将能够把这些请求标识为属于同一请求者,并且将准许对该资源的连续访问,如前面参考图1和图2所描述的。流程继续到操作314且该请求者恢复对该资源的访问。在实施例中,第二客户端可从服务器接收对第二请求的响应,该响应指示该服务器准许了第二请求。在实施例中,一接收到该指示之后,该第二客户端可代表该请求者访问该资源。
图4是由服务器群集环境中的节点执行以提供对资源的连续访问的方法400的实施例。方法400的实施例可被群集环境(诸如节点群集206(图2))中的节点(诸如节点1 208(图2))执行。在实施例中,方法400可由具有对资源的访问权的节点来执行。流程开始于操作402,其中该节点接收对资源的请求。在实施例中,资源可以是在执行操作400的节点的控制之下和/或可由该节点访问的文件、对象、方法、数据或任何其他类型的资源。在操作402,可将应用实例标识符与该请求一起接收。
流程继续到判定操作404,其中对该资源是否处于阻隔或锁定状态作出判断。本领域的技术人员将理解,在操作404可采用判断资源是否处于阻隔或锁定状态的任何方式。如果该资源未处于阻隔或锁定状态,则流程分支“否”到操作412,在操作412准许对该资源的请求。在实施例中,准许该请求可包括允许请求者对该资源的访问、代表请求者对该资源执行操作、或许可对该资源的任何种类的访问或修改。例如,在操作412中准许该请求可包括打开文件或创建文件。
如果该资源处于阻隔或锁定状态,则流程从操作404分支“是”到判定操作406。在判定操作406,将在操作402与该请求一起被接收的应用实例标识符与和该资源相关联的应用实例标识符进行比较。例如,如参考图2描述的,当客户端或应用访问资源时,节点可将应用实例标识符与资源相关联。如早先描述的,访问资源的请求者的应用实例标识符的关联可被存储在节点上,例如,存储在应用实例高速缓存中,如在图2中讨论的各实施例中所描述的。在实施例中,在与对资源的请求一起发送的ECP中提供的应用实例标识符(例如,在_NETWORK_APP_INSTANCE_ECP_CONTEXT结构中提供的)可被添加到与该资源相关联的ECP列表。
在一个实施例中,应用实例与资源的关联可本地驻留于执行方法400的节点上。在这些情况下,该比较可在驻留在服务器上的本地应用实例高速缓存进行。然而,如参考图2所讨论的,群集环境可包含跨不同节点分布的多个应用实例高速缓存。而且,这些不同应用实例高速缓存可各自存储分开的和/或不同的数据。与阻隔的或锁定的资源相关联的应用标识符可被存储在该群集环境中的一不同节点上。在这种情况下,操作406可包括向不同节点发送请求以执行操作406处的比较。该请求可包括在操作402处接收的应用实例标识符。
如果所接收的应用实例标识符不与和该资源相关联的应用实例标识符相同,则流程分支“否”到操作410。在操作410,在操作402接收的访问该资源的请求被拒绝。在实施例中,该请求可被拒绝以避免资源冲突。因为所接收的应用标识符与相关联的应用实例标识符不同,所以在操作402接收的访问该资源的请求是来自不同请求者或应用的。对不同客户端或应用准许请求,如可在本例中的情况,可能导致冲突情形,该冲突情形将干扰当前正访问该资源的应用。例如,该不同应用可能按修改或以其他方式干扰当前对该资源保持锁定的请求者对该资源所执行的操作的方式修改该资源。
然而,随请求402一起接收与和阻隔或锁定的资源相关联的应用标识符相同的应用标识符指示可能已发生使原本在访问该资源的请求者丢失其对该资源的访问而没有正确释放该资源的错误。例如,请求者可在客户端节点群集中操作。在请求者完成其对该资源的访问之前,该请求者在其上操作的特定客户端可能已丢失了对服务器的访问或以其他方式失败。为了提供对该资源的连续访问,即,允许请求者重新获得对该资源的访问而不经历过度或不可接受的延迟,流程分支“是”到操作408。
在操作408,该资源被无效。如此处早先描述的,使该资源无效可包括改变该资源的阻隔状态或以其他方式除去对该资源的锁定。例如,如果该资源是文件,则使该资源无效可包括关闭该文件。本领域的技术人员将理解,在操作408可采用释放阻隔或锁定资源的任何方法。
回头参考图2,在实施例中,对资源的访问可能处于该群集环境中、与在操作402接收访问该资源的请求的节点不同的节点的控制之下。例如,对该资源的句柄可能驻留于该群集环境中的一不同节点上。在这些实施例中,使该资源无效可包括向控制对该资源的访问的节点发送请求以使该资源无效。响应于发送该请求,该远程节点可使该资源无效。
在该资源被无效后,流程继续到操作412,其中访问该资源的请求被准许。准许该请求可包括允许请求者对该资源的访问、代表请求者对该资源执行操作、或许可对该资源的任何种类的访问或修改。例如,在操作412中准许该请求可包括打开文件或创建文件。准许这种访问可由在操作402接收该请求的节点执行,或由群集环境中的另一节点执行。
方法300和400仅是根据实施例可执行的操作流程的一些示例。实施例不限于上面参考图3-4提供的具体描述,而可包括附加的操作。而且,所示出的操作步骤可被组合到其他步骤中和/或被重新安排。而且,与参考图3-4描述的方法一起,可使用更少或附加的步骤。
图5示出可用于实现本文所描述的实施例的通用计算机系统500。计算机系统500仅是计算环境的一个示例,而非旨在对计算机和网络架构的使用范围或功能提出任何限制。也不应将计算机系统500解释为具有与示例计算机系统500中所示出的任一组件或其组合有关的任何依赖性或要求。在实施例中,系统500可用作以上参考图1和2所述的客户端和/或服务器。
在其最基本配置中,系统500通常包括至少一个处理单元502和存储器504。取决于计算设备的确切配置和类型,存储器504可以是易失性的(诸如RAM)、非易失性的(诸如ROM、闪存等)或是其某种组合。该最基本配置在图5中由虚线506来示出。系统存储器504存储诸如执行此处公开的连续可用性方法的指令之类的指令502和诸如可被存储在具有诸如存储508之类的存储的文件存储系统中的应用实例标识符的数据522。
本文所使用的术语计算机可读介质可包括计算机存储介质。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器504、可移动存储和不可移动存储508都是计算机存储介质示例(例如,存储器存储)。计算机存储介质可包括,但不限于,RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或者可用于存储信息且可由计算设备500访问的任何其他介质。任何这样的计算机存储介质都可以是设备500的一部分。计算设备500还可以具有输入设备514,如键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可包括诸如显示器、扬声器、打印机等输出设备516。上述设备是示例,并且可使用其他设备。
本文所使用的术语计算机可读介质还可包括通信介质。通信媒介可由诸如载波或其他传输机制的已调制数据信号中的计算机可读指令、数据结构、程序模块、或其他数据来体现,并且包括任何信息传递介质。术语“已调制数据信号”可以描述以对该信号中的信息进行编码的方式设定或者改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接等有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质等无线介质。
可以通过片上系统(SOC)来实践本发明的实施例,其中,可以将图5中示出的每个或许多组件集成到单个集成电路上。这样的SOC设备可包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元以及各种应用功能,所有这些都被集成到(或“烧录到”)芯片基板上作为单个集成电路。当通过SOC操作时,在此所述的相对于为资源提供联系访问的功能可以通过在单个集成电路(芯片上)集成有计算设备/系统500的其它组件的应用专用逻辑来操作。
本说明书通篇引述了“一个实施例”或“实施例”,这意味着在至少一个实施例中包括特定描述的特征、结构或特性。因此,对这样短语的使用可指的是一个以上的实施例。而且,在一个或多个实施例中,可以用任何合适的方式组合所描述的特征、结构或特性。
然而,本领域技术人员会认识到本实施例也可在没有一个或多个具体细节的情况下实施,或者采用其它方法、资源、材料等来实现。在其他情况中,仅为了避免模糊实施例的各方面,未详细示出和描述公知的结构、资源或操作。
虽然示出和描述了示例实施例和应用,但是应该理解本实施例不限于上述精确配置和资源。可以对此处公开的方法和系统的排列、操作以及细节作出对本领域技术人员显而易见的各种修改、改变和变化,而不背离所要求保护的本实施例的范围。

Claims (10)

1.一种提供对资源的连续访问的方法,所述方法包括:
从请求者接收(402)访问资源的第一请求,其中所述请求是从第一客户端接收的;
将第一应用实例标识符与所述资源相关联;
允许(412)访问所述资源的所述第一请求;
在从故障恢复后,从所述请求者接收(402)对所述资源的第二请求,其中所述第二请求是从不同于所述第一客户端的第二客户端接收的;
接收与所述第二请求相关联的第二应用实例标识符;
确定(406)所述第一应用实例标识符和所述第二应用实例标识符是否相同;以及
当所述第一和第二应用实例标识符相同时,执行包括以下步骤的步骤:
使所述第一请求无效(408);以及
准许(412)访问所述资源的所述第二请求。
2.如权利要求1所述的方法,其特征在于,所述第一应用实例标识符与打开请求的应用实例相关联。
3.如权利要求1所述的方法,其特征在于,所述第一应用实例标识符与进程相关联。
4.如权利要求1所述的方法,其特征在于,所述第一应用实例标识符与应用的至少一个子进程相关联。
5.如权利要求1所述的方法,其特征在于,关联所述第一应用实例标识符包括在NETWORK_APP_INSTANCE_ECP_CONTEXT结构中接收所述第一应用实例标识符。
6.一种用于提供群集客户端故障转移的方法,所述方法包括:
在第二客户端处接收请求者的应用实例标识符,其中所述请求者先前使用第一客户端访问资源;
从第二客户端发送(310)代表所述请求者访问所述资源的第二请求;
从所述第二客户端发送(312)所述请求者的所述应用实例标识符;
接收服务器准许所述第二请求的指示;以及
由所述第二客户端代表所述客户端访问(314)所述资源。
7.如权利要求6所述的方法,其特征在于,准许所述第二请求的所述服务器先前准许了来自所述第一客户端的代表所述请求者访问所述资源的第一请求。
8.如权利要求6所述的方法,其特征在于,所述第二客户端响应于客户端故障转移而发送所述第二请求。
9.一种用于便于群集环境中的客户端故障转移的系统,所述系统包括:
用于从第一客户端接收(402)代表请求者访问资源的第一请求的装置;
用于将第一应用实例标识符与所述资源相关联的装置;
用于允许(412)所述请求者对所述资源的访问的装置;
用于从第二客户端接收(402)对所述资源的第二请求的装置,其中所述第二客户端不同于所述第一客户端;
用于接收与所述第二请求相关联的第二应用实例标识符的装置;
用于确定(406)所述第一应用实例标识符和所述第二应用实例标识符是否相同的装置;
当所述第一和第二应用实例标识符相同时,所述系统还包括:
用于使所述第一请求无效(408)的装置;以及
用于准许(412)访问所述资源的所述第二请求的装置。
10.如权利要求9所述的系统,其特征在于,所述系统还包括:
用于通过所述第一客户端向第二客户端发送(304)所述应用实例标识符的装置。
CN201210330725.8A 2011-09-09 2012-09-07 群集客户端故障转移 Active CN102932164B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/228,732 US8788579B2 (en) 2011-09-09 2011-09-09 Clustered client failover
US13/228,732 2011-09-09

Publications (2)

Publication Number Publication Date
CN102932164A CN102932164A (zh) 2013-02-13
CN102932164B true CN102932164B (zh) 2016-12-21

Family

ID=47646871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210330725.8A Active CN102932164B (zh) 2011-09-09 2012-09-07 群集客户端故障转移

Country Status (18)

Country Link
US (1) US8788579B2 (zh)
EP (1) EP2754059B1 (zh)
JP (1) JP6210987B2 (zh)
KR (1) KR101941728B1 (zh)
CN (1) CN102932164B (zh)
AU (1) AU2012304549B2 (zh)
BR (1) BR112014005191A2 (zh)
CA (1) CA2847597A1 (zh)
CL (1) CL2014000539A1 (zh)
CO (1) CO6900122A2 (zh)
ES (1) ES2626655T3 (zh)
IL (1) IL231373A (zh)
IN (1) IN2014CN01748A (zh)
MX (1) MX336341B (zh)
RU (1) RU2595755C2 (zh)
SG (1) SG11201400442SA (zh)
WO (1) WO2013036697A2 (zh)
ZA (1) ZA201401381B (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332526B2 (en) 2005-05-25 2012-12-11 Microsoft Corporation Data communication protocol including negotiation and command compounding
US8631277B2 (en) 2010-12-10 2014-01-14 Microsoft Corporation Providing transparent failover in a file system
US9331955B2 (en) 2011-06-29 2016-05-03 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
US8856582B2 (en) 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
US20130067095A1 (en) 2011-09-09 2013-03-14 Microsoft Corporation Smb2 scaleout
US9274834B2 (en) * 2012-08-25 2016-03-01 Vmware, Inc. Remote service for executing resource allocation analyses for computer network facilities
JP6151365B2 (ja) * 2013-09-03 2017-06-21 株式会社東芝 情報処理システム、情報処理方法及びプログラム
US20150100826A1 (en) * 2013-10-03 2015-04-09 Microsoft Corporation Fault domains on modern hardware
US9801002B2 (en) 2013-11-26 2017-10-24 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for identifying application instances within a machine-to-machine network domain
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
US9936048B2 (en) * 2014-09-10 2018-04-03 International Business Machines Corporation Client system communication with a member of a cluster of server systems
GB2531341B (en) 2014-10-17 2016-10-12 Ibm Reconnection of a client to a server in a transaction processing server cluster
US10146873B2 (en) 2015-06-29 2018-12-04 Microsoft Technology Licensing, Llc Cloud-native documents integrated with legacy tools
CN107229455B (zh) 2016-03-24 2019-09-17 阿里巴巴集团控股有限公司 一种业务处理方法、装置及系统
US10884863B2 (en) * 2018-07-20 2021-01-05 Red Hat, Inc. Client session reclaim for a distributed storage system
CN110457114B (zh) * 2019-07-24 2020-11-27 杭州数梦工场科技有限公司 应用集群部署方法及装置
CN111405015B (zh) * 2020-03-09 2022-09-30 中国建设银行股份有限公司 一种数据处理方法、装置、设备及存储介质
US11507512B2 (en) * 2020-12-08 2022-11-22 EMC IP Holding Company LLC Fault tolerant cluster data handling
CN116248748A (zh) * 2023-02-27 2023-06-09 西安奕斯伟材料科技股份有限公司 一种通讯连接方法、装置、设备、介质及产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1299484A (zh) * 1998-03-10 2001-06-13 网络装置公司 高度可用的文件服务器
CN1906593A (zh) * 2003-11-24 2007-01-31 Tsx公司 用于故障解决的系统和方法
US7664991B1 (en) * 2002-12-17 2010-02-16 Symantec Operating Corporation System and method for distributed file system I/O recovery

Family Cites Families (192)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4399504A (en) 1980-10-06 1983-08-16 International Business Machines Corporation Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment
US4825354A (en) 1985-11-12 1989-04-25 American Telephone And Telegraph Company, At&T Bell Laboratories Method of file access in a distributed processing computer network
US4780821A (en) 1986-07-29 1988-10-25 International Business Machines Corp. Method for multiple programs management within a network having a server computer and a plurality of remote computers
US4914570A (en) 1986-09-15 1990-04-03 Counterpoint Computers, Inc. Process distribution and sharing system for multiple processor computer system
US4887204A (en) 1987-02-13 1989-12-12 International Business Machines Corporation System and method for accessing remote files in a distributed networking environment
US5202971A (en) 1987-02-13 1993-04-13 International Business Machines Corporation System for file and record locking between nodes in a distributed data processing environment maintaining one copy of each file lock
US4791566A (en) 1987-03-27 1988-12-13 Digital Equipment Corporation Terminal device session management protocol
US5008853A (en) 1987-12-02 1991-04-16 Xerox Corporation Representation of collaborative multi-user activities relative to shared structured data objects in a networked workstation environment
US4891785A (en) 1988-07-08 1990-01-02 Donohoo Theodore J Method for transferring data files between computers in a network response to generalized application program instructions
US5124909A (en) 1988-10-31 1992-06-23 Hewlett-Packard Company Software program for providing cooperative processing between personal computers and a host computer
CA1323448C (en) 1989-02-24 1993-10-19 Terrence C. Miller Method and apparatus for translucent file system
US5109519A (en) 1989-03-28 1992-04-28 Wang Laboratories, Inc. Local computer participating in mail delivery system abstracts from directory of all eligible mail recipients only served by local computer
US5560008A (en) 1989-05-15 1996-09-24 International Business Machines Corporation Remote authentication and authorization in a distributed data processing system
US5113519A (en) 1989-05-15 1992-05-12 International Business Machines Corporation Maintenance of file attributes in a distributed data processing system
US5218696A (en) 1989-07-24 1993-06-08 International Business Machines Corporation Method for dynamically expanding and rapidly accessing file directories
US5261051A (en) 1989-08-14 1993-11-09 Microsoft Corporation Method and system for open file caching in a networked computer system
US5265261A (en) 1989-08-14 1993-11-23 Microsoft Corporation Method and system for network communications using raw mode protocols
JP2575543B2 (ja) 1990-04-04 1997-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 同時アクセス管理方法
JPH0619771A (ja) 1992-04-20 1994-01-28 Internatl Business Mach Corp <Ibm> 異種のクライアントによる共用ファイルのファイル管理機構
US5349642A (en) 1992-11-03 1994-09-20 Novell, Inc. Method and apparatus for authentication of client server communication
US5452447A (en) 1992-12-21 1995-09-19 Sun Microsystems, Inc. Method and apparatus for a caching file server
US5493728A (en) 1993-02-19 1996-02-20 Borland International, Inc. System and methods for optimized access in a multi-user environment
US5491752A (en) 1993-03-18 1996-02-13 Digital Equipment Corporation, Patent Law Group System for increasing the difficulty of password guessing attacks in a distributed authentication scheme employing authentication tokens
US5522042A (en) 1994-01-28 1996-05-28 Cabletron Systems, Inc. Distributed chassis agent for distributed network management
US5588117A (en) 1994-05-23 1996-12-24 Hewlett-Packard Company Sender-selective send/receive order processing on a per message basis
US5513314A (en) 1995-01-27 1996-04-30 Auspex Systems, Inc. Fault tolerant NFS server system and mirroring protocol
US5628005A (en) 1995-06-07 1997-05-06 Microsoft Corporation System and method for providing opportunistic file access in a network environment
US5826027A (en) 1995-10-11 1998-10-20 Citrix Systems, Inc. Method for supporting an extensible and dynamically bindable protocol stack in a distrubited process system
US5764887A (en) 1995-12-11 1998-06-09 International Business Machines Corporation System and method for supporting distributed computing mechanisms in a local area network server environment
US6343313B1 (en) 1996-03-26 2002-01-29 Pixion, Inc. Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability
US6438691B1 (en) 1996-04-01 2002-08-20 Hewlett-Packard Company Transmitting messages over a network
RU2118051C1 (ru) * 1996-04-30 1998-08-20 Лихачев Александр Геннадьевич Способ доступа к ресурсам "всемирной паутины" через шлюзы-представители
US6434120B1 (en) 1998-08-25 2002-08-13 Cisco Technology, Inc. Autosensing LMI protocols in frame relay networks
US5933602A (en) 1996-07-31 1999-08-03 Novell, Inc. System for selecting command packet and corresponding response packet from communication stream of packets by monitoring packets sent between nodes on network
US6208952B1 (en) 1996-10-24 2001-03-27 Microsoft Corporation Method and system for delayed registration of protocols
US6125122A (en) 1997-01-21 2000-09-26 At&T Wireless Svcs. Inc. Dynamic protocol negotiation system
US5931913A (en) 1997-05-07 1999-08-03 International Business Machines Corporation Methods, system and computer program products for establishing a session between a host and a terminal using a reduced protocol
US6219799B1 (en) 1997-07-01 2001-04-17 Unisys Corporation Technique to support pseudo-names
US6092199A (en) 1997-07-07 2000-07-18 International Business Machines Corporation Dynamic creation of a user account in a client following authentication from a non-native server domain
US6275953B1 (en) 1997-09-26 2001-08-14 Emc Corporation Recovery from failure of a data processor in a network server
US6247139B1 (en) * 1997-11-11 2001-06-12 Compaq Computer Corp. Filesystem failover in a single system image environment
US6085247A (en) 1998-06-08 2000-07-04 Microsoft Corporation Server operating system for supporting multiple client-server sessions and dynamic reconnection of users to previous sessions using different computers
US6131125A (en) 1997-11-14 2000-10-10 Kawasaki Lsi U.S.A., Inc. Plug-and-play data cable with protocol translation
US6516351B2 (en) 1997-12-05 2003-02-04 Network Appliance, Inc. Enforcing uniform file-locking for diverse file-locking protocols
US7010532B1 (en) 1997-12-31 2006-03-07 International Business Machines Corporation Low overhead methods and apparatus for shared access storage devices
US6243862B1 (en) 1998-01-23 2001-06-05 Unisys Corporation Methods and apparatus for testing components of a distributed transaction processing system
US6401123B1 (en) 1998-11-24 2002-06-04 International Busines Machines Corporation Systems, methods and computer program products for employing presumptive negotiation in a data communications protocol
US6883000B1 (en) 1999-02-12 2005-04-19 Robert L. Gropper Business card and contact management system
US6453354B1 (en) 1999-03-03 2002-09-17 Emc Corporation File server system using connection-oriented protocol and sharing data sets among data movers
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
US20040139004A1 (en) 1999-04-08 2004-07-15 Aceinc Pty Ltd. Secure online commerce transactions
US6938096B1 (en) 1999-04-12 2005-08-30 Softricity, Inc. Method and system for remote networking using port proxying by detecting if the designated port on a client computer is blocked, then encapsulating the communications in a different format and redirecting to an open port
US7562129B1 (en) 1999-04-15 2009-07-14 Alcatel-Lucent Canada Inc. Subscription management system for data communication network
US6349350B1 (en) 1999-05-04 2002-02-19 International Business Machines Corporation System, method, and program for handling failed connections in an input/output (I/O) system
AU4839300A (en) 1999-05-11 2000-11-21 Webvan Group, Inc. Electronic commerce enabled delivery system and method
US7318102B1 (en) 1999-05-24 2008-01-08 Hewlett-Packard Development Company, L.P. Reliable datagram
US6430691B1 (en) 1999-06-21 2002-08-06 Copytele, Inc. Stand-alone telecommunications security device
US6490666B1 (en) 1999-08-20 2002-12-03 Microsoft Corporation Buffering data in a hierarchical data storage environment
US6636242B2 (en) 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
JP2001094613A (ja) 1999-09-21 2001-04-06 Canon Inc 通信制御装置、方法および記録媒体
US6775707B1 (en) 1999-10-15 2004-08-10 Fisher-Rosemount Systems, Inc. Deferred acknowledgment communications and alarm management
US6910082B1 (en) 1999-11-18 2005-06-21 International Business Machines Corporation Method, system and program products for reducing data movement within a computing environment by bypassing copying data between file system and non-file system buffers in a server
US6658476B1 (en) 1999-11-29 2003-12-02 Microsoft Corporation Client-server protocol support list for standard request-response protocols
US7111060B2 (en) 2000-03-14 2006-09-19 Aep Networks, Inc. Apparatus and accompanying methods for providing, through a centralized server site, a secure, cost-effective, web-enabled, integrated virtual office environment remotely accessible through a network-connected web browser
US6883015B1 (en) 2000-03-30 2005-04-19 Cisco Technology, Inc. Apparatus and method for providing server state and attribute management for multiple-threaded voice enabled web applications
US6993587B1 (en) 2000-04-07 2006-01-31 Network Appliance Inc. Method and apparatus for election of group leaders in a distributed network
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
US7693976B2 (en) 2000-07-11 2010-04-06 Ciena Corporation Granular management of network resources
US6349250B1 (en) 2000-10-26 2002-02-19 Detroit Diesel Corporation Clear historic data from a vehicle data recorder
JP2002183000A (ja) 2000-12-11 2002-06-28 Hitachi Ltd ネットワークを介するデータ参照方法及びそのシステム
US20020073211A1 (en) 2000-12-12 2002-06-13 Raymond Lin System and method for securely communicating between application servers and webservers
KR100750735B1 (ko) 2001-02-03 2007-08-22 삼성전자주식회사 홈네트워크내의 기기 제어장치 및 방법 및 이를 적용한홈네트워크 시스템
US7055036B2 (en) 2001-04-06 2006-05-30 Mcafee, Inc. System and method to verify trusted status of peer in a peer-to-peer network environment
US8051212B2 (en) 2001-04-11 2011-11-01 Mellanox Technologies Ltd. Network interface adapter with shared data send resources
US20030093678A1 (en) 2001-04-23 2003-05-15 Bowe John J. Server-side digital signature system
JP2002328828A (ja) 2001-04-27 2002-11-15 Fujitsu Ltd ストレージサービス方法、ストレージサービスユーザ及びストレージサービスプロバイダ
JP3797236B2 (ja) 2001-04-27 2006-07-12 日本ビクター株式会社 記録再生装置および記録再生方法
US6640226B1 (en) 2001-06-19 2003-10-28 Informatica Corporation Ranking query optimization in analytic applications
US7409420B2 (en) 2001-07-16 2008-08-05 Bea Systems, Inc. Method and apparatus for session replication and failover
US6944785B2 (en) 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
JP2003069610A (ja) 2001-08-22 2003-03-07 Canon Inc 通信装置、その制御方法、通信システム、及び制御プログラム
JP3663627B2 (ja) 2001-10-18 2005-06-22 ソニー株式会社 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム
US7136982B2 (en) 2001-11-09 2006-11-14 Danger, Inc. Apparatus and method for allocating memory blocks
CN100366025C (zh) 2001-12-07 2008-01-30 捷讯研究有限公司 从主服务到移动台分布信息的方法
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
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 富士通株式会社 ホスト端末エミュレーションプログラム、中継用プログラムおよびホスト端末エミュレーション方法
JP4000905B2 (ja) 2002-05-22 2007-10-31 ソニー株式会社 情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム
EP1512261A1 (en) 2002-06-10 2005-03-09 Caplin Systems Limited Resource management
US7290141B2 (en) 2002-06-27 2007-10-30 Nokia, Inc. Authentication of remotely originating network messages
US20040003210A1 (en) 2002-06-27 2004-01-01 International Business Machines Corporation Method, system, and computer program product to generate test instruction streams while guaranteeing loop termination
AU2003246189A1 (en) * 2002-07-01 2004-01-19 Kabushiki Kaisha Toshiba Seamless system, recording medium, computer system processing continuation method
CA2393502A1 (en) 2002-07-15 2004-01-15 Mark J. Frazer System and method for reliable transport in a computer network
US20040019660A1 (en) * 2002-07-24 2004-01-29 Sandhya E. Lock holding multi-threaded processes for distibuted data systems
US6829473B2 (en) 2002-07-25 2004-12-07 Utstarcom, Inc. Roaming and hand-off support for prepaid billing for wireless data networks
AU2003259297A1 (en) 2002-07-29 2004-02-16 Eternal Systems, Inc. Consistent message ordering for semi-active and passive replication
US7386855B2 (en) * 2002-08-12 2008-06-10 Ntt Docomo, Inc. Application mobility service
US20040032876A1 (en) 2002-08-19 2004-02-19 Ajay Garg Selection of transmission channels
JP3846384B2 (ja) 2002-08-28 2006-11-15 ブラザー工業株式会社 端末装置、接続制御方法、接続制御用プログラム及び記録媒体
US6957367B2 (en) 2002-08-30 2005-10-18 Hewlett-Packard Development Company L.P. System and method for controlling activity of temporary files in a computer system
US7109430B2 (en) 2002-11-05 2006-09-19 Emrise Corporation Low profile rotary switch with detent in the bushing
US7386889B2 (en) 2002-11-18 2008-06-10 Trusted Network Technologies, Inc. System and method for intrusion prevention in a communications network
US7421502B2 (en) 2002-12-06 2008-09-02 International Business Machines Corporation Method and system for storage-aware flow resource management
US7475142B2 (en) * 2002-12-06 2009-01-06 Cisco Technology, Inc. CIFS for scalable NAS architecture
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
US7519834B1 (en) * 2003-01-24 2009-04-14 Nortel Networks Limited Scalable method and apparatus for transforming packets to enable secure communication between two stations
JP3999135B2 (ja) 2003-01-24 2007-10-31 株式会社エヌ・ティ・ティ・ドコモ 通信システム、データ送信方法、通信装置、プログラムおよび記録媒体
US7151939B2 (en) 2003-02-18 2006-12-19 Qualcomm Incorporated Method, apparatus, and machine-readable medium for providing indication of location service availability and the quality of available location services
US7072807B2 (en) 2003-03-06 2006-07-04 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7490152B2 (en) 2003-04-11 2009-02-10 Alcatel-Lucent Usa Inc. Version caching mechanism
US7339885B2 (en) 2003-06-05 2008-03-04 International Business Machines Corporation Method and apparatus for customizable surveillance of network interfaces
US7363629B2 (en) 2003-06-19 2008-04-22 International Business Machines Corporation Method, system, and program for remote resource management
US7698115B2 (en) 2003-06-30 2010-04-13 Microsoft Corporation System and method for dynamically allocating resources in a client/server environment
US7526640B2 (en) 2003-06-30 2009-04-28 Microsoft Corporation System and method for automatic negotiation of a security protocol
US20050015511A1 (en) 2003-07-02 2005-01-20 Nec Laboratories America, Inc. Accelerated large data distribution in overlay networks
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
KR100984497B1 (ko) 2003-07-24 2010-10-01 파나소닉 주식회사 파일 관리 방법 및 정보 처리 장치
US8028078B2 (en) 2003-08-07 2011-09-27 Teamon Systems, Inc. Communications system including protocol interface device providing enhanced operating protocol selection features and related methods
CN100547583C (zh) 2003-08-14 2009-10-07 甲骨文国际公司 数据库的自动和动态提供的方法
US7870268B2 (en) 2003-09-15 2011-01-11 Intel Corporation Method, system, and program for managing data transmission through a network
US20050091226A1 (en) 2003-10-23 2005-04-28 Yun Lin Persistent caching directory level support
US7539722B2 (en) * 2003-10-24 2009-05-26 Microsoft Corporation Method and system for accessing a file
US7673066B2 (en) 2003-11-07 2010-03-02 Sony Corporation File transfer protocol for mobile computer
JP4836432B2 (ja) 2003-11-17 2011-12-14 株式会社リコー 文書管理システム、文書管理装置、文書管理方法、文書管理プログラム及び記録媒体
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
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
US7177941B2 (en) 2003-12-11 2007-02-13 International Business Machines Corporation Increasing TCP re-transmission process speed
US20050177635A1 (en) 2003-12-18 2005-08-11 Roland Schmidt System and method for allocating server resources
US7698361B2 (en) 2003-12-31 2010-04-13 Microsoft Corporation Lightweight input/output protocol
US7383463B2 (en) 2004-02-04 2008-06-03 Emc Corporation Internet protocol based disaster recovery of a server
JP2007529838A (ja) 2004-03-17 2007-10-25 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ディスク状の情報記憶媒体をスキャニングするための方法及び装置
US7444536B1 (en) 2004-04-16 2008-10-28 Sun Microsystems, Inc. RMI-IIOP request failover mechanism
US7627627B2 (en) 2004-04-30 2009-12-01 Hewlett-Packard Development Company, L.P. Controlling command message flow in a network
US20050246803A1 (en) 2004-04-30 2005-11-03 Spencer Andrew M Peripheral device for processing data from a computing device
JP2005321953A (ja) 2004-05-07 2005-11-17 Hitachi Ltd ストレージ制御装置、その動作プログラム、及びアクセス制御方法
JP2005322016A (ja) 2004-05-10 2005-11-17 Yokogawa Electric Corp サーバ装置および情報配信方法
US7380080B2 (en) 2004-05-17 2008-05-27 Hewlett-Packard Development Company, L.P. Calculating unneeded data storage credits for a data transmission to a pair of storage devices
US7330910B2 (en) 2004-05-20 2008-02-12 International Business Machines Corporation Fencing of resources allocated to non-cooperative client computers
US7434087B1 (en) 2004-05-21 2008-10-07 Sun Microsystems, Inc. Graceful failover using augmented stubs
US7080173B2 (en) 2004-05-27 2006-07-18 Microsoft Corporation Reducing information reception delays
US20060059118A1 (en) * 2004-08-10 2006-03-16 Byrd Stephen A Apparatus, system, and method for associating resources using a behavior based algorithm
US8023417B2 (en) 2004-08-30 2011-09-20 International Business Machines Corporation Failover mechanisms in RDMA operations
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
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
US8156049B2 (en) 2004-11-04 2012-04-10 International Business Machines Corporation Universal DRM support for devices
US7457722B1 (en) 2004-11-17 2008-11-25 Symantec Operating Corporation Correlation of application instance life cycle events in performance monitoring
US8522293B2 (en) 2004-12-15 2013-08-27 Time Warner Cable Enterprises Llc Method and apparatus for high bandwidth data transmission in content-based networks
US8515490B2 (en) * 2004-12-30 2013-08-20 Alcatel Lucent Method and apparatus for providing same session switchover between end-user terminals
JP2008530835A (ja) 2005-02-08 2008-08-07 テレフオンアクチーボラゲット エル エム エリクソン(パブル) パケット交換ネットワーク上のオンデマンドマルチチャネルストリーミングセッション
US7743245B2 (en) 2005-03-10 2010-06-22 Intel Corporation Security protocols on incompatible transports
US7453879B1 (en) 2005-04-04 2008-11-18 Sun Microsystems, Inc. Method and apparatus for determining the landing zone of a TCP packet
US20060281525A1 (en) 2005-05-17 2006-12-14 Milo Borissov Slot type game with player input opportunity
EP1727055B1 (en) 2005-05-25 2016-09-07 Microsoft Technology Licensing, LLC Data communication coordination with sequence numbers
US8332526B2 (en) 2005-05-25 2012-12-11 Microsoft Corporation Data communication protocol including negotiation and command compounding
JP2006333433A (ja) 2005-05-25 2006-12-07 Microsoft Corp データ通信プロトコル
RU2313824C2 (ru) * 2005-09-26 2007-12-27 Михаил Васильевич Беляев Информационная система клиент - сервер и способ предоставления графического пользовательского интерфейса
US8108548B2 (en) 2005-12-22 2012-01-31 Microsoft Corporation Methodology and system for file replication based on a peergroup
US8051179B2 (en) 2006-02-01 2011-11-01 Oracle America, Inc. Distributed session failover
US8024439B2 (en) 2006-03-17 2011-09-20 Microsoft Corporation Server session management application program interface and schema
US7526668B2 (en) 2006-06-08 2009-04-28 Hitachi, Ltd. Failover method of remotely-mirrored clustered file servers
WO2008130983A1 (en) 2007-04-16 2008-10-30 Attune Systems, Inc. File aggregation in a switched file system
KR20100080822A (ko) 2007-09-28 2010-07-12 엑세리온 악티에볼라그 네트워크 오퍼레이팅 시스템
EP2066101B1 (en) 2007-11-28 2012-10-17 Alcatel Lucent System and method for an improved high availability component implementation
US8458298B2 (en) 2008-03-03 2013-06-04 Microsoft Corporation Failover in an internet location coordinate enhanced domain name system
JP4549408B2 (ja) 2008-06-24 2010-09-22 富士通株式会社 ファイルサーバのクラスタノード制御プログラム,クラスタノード制御方法及びクラスタノード制御装置
US7840730B2 (en) 2008-06-27 2010-11-23 Microsoft Corporation Cluster shared volumes
US8700760B2 (en) 2008-08-18 2014-04-15 Ge Fanuc Intelligent Platforms, Inc. Method and systems for redundant server automatic failover
US8275815B2 (en) 2008-08-25 2012-09-25 International Business Machines Corporation Transactional processing for clustered file systems
US8185566B2 (en) 2009-01-15 2012-05-22 Microsoft Corporation Client-based caching of remote files
US9749387B2 (en) 2009-08-13 2017-08-29 Sap Se Transparently stateful execution of stateless applications
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1299484A (zh) * 1998-03-10 2001-06-13 网络装置公司 高度可用的文件服务器
US7664991B1 (en) * 2002-12-17 2010-02-16 Symantec Operating Corporation System and method for distributed file system I/O recovery
CN1906593A (zh) * 2003-11-24 2007-01-31 Tsx公司 用于故障解决的系统和方法

Also Published As

Publication number Publication date
CL2014000539A1 (es) 2014-10-03
ES2626655T3 (es) 2017-07-25
JP6210987B2 (ja) 2017-10-11
ZA201401381B (en) 2015-07-29
EP2754059B1 (en) 2017-03-15
CA2847597A1 (en) 2013-03-14
WO2013036697A3 (en) 2013-05-02
US20130066941A1 (en) 2013-03-14
MX336341B (es) 2016-01-14
JP2014529141A (ja) 2014-10-30
EP2754059A2 (en) 2014-07-16
WO2013036697A2 (en) 2013-03-14
IL231373A (en) 2017-03-30
MX2014002783A (es) 2014-06-05
KR101941728B1 (ko) 2019-04-12
BR112014005191A2 (pt) 2017-03-21
AU2012304549B2 (en) 2017-04-06
CO6900122A2 (es) 2014-03-20
KR20140064850A (ko) 2014-05-28
SG11201400442SA (en) 2014-04-28
IL231373A0 (en) 2014-04-30
CN102932164A (zh) 2013-02-13
IN2014CN01748A (zh) 2015-05-29
RU2595755C2 (ru) 2016-08-27
NZ622122A (en) 2015-01-30
AU2012304549A1 (en) 2014-03-20
EP2754059A4 (en) 2015-03-18
RU2014108995A (ru) 2015-09-20
US8788579B2 (en) 2014-07-22

Similar Documents

Publication Publication Date Title
CN102932164B (zh) 群集客户端故障转移
US7925751B1 (en) Mechanism for controlled sharing of files in a clustered application environment
CN110557384B (zh) 一种基于区块链的物联网管理控制方法
US8069229B2 (en) Topology static zones
US9317372B1 (en) Dynamic membership management in a distributed system
US7870230B2 (en) Policy-based cluster quorum determination
RU2421799C2 (ru) Безопасность в приложениях синхронизации равноправных узлов
CN110462589A (zh) 本地装置协调器中的按需代码执行
CN108234307A (zh) 网络方法、网络装置和非暂时性计算机可读存储介质
CN101689166B (zh) 使用具有全局知识的服务器处理写请求的方法和系统
JPH04232544A (ja) 蓄積された文書へのアクセス管理方法
KR20080024513A (ko) 비관리형 네트워크에서의 공통 id를 위한 계정 동기화
CN105743996A (zh) Smb2扩展
JP7389793B2 (ja) 分散型異種ストレージシステムにおけるデータ一貫性のリアルタイムチェックのための方法、デバイス、およびシステム
JP2007299431A (ja) レプリケーション・ファシリティ
CN110352401A (zh) 具有按需代码执行能力的本地装置协调器
CN101730099A (zh) 基于权限控制的终端管理方法及装置
CN106575245A (zh) 随通信故障的分布式工作负载重新分配
CN101313512A (zh) 一种通信系统中终端执行管理操作的方法、终端和系统
CN108111334B (zh) 一种网络应用节点的集成系统和方法
CN106603725A (zh) 一种企业云服务虚拟镜像管理服务的实现方法
WO2011152996A2 (en) Leader arbitration for provisioning services
CN109845192A (zh) 用于动态地适配软件定义的网络的计算机系统和方法
JP2002505553A (ja) 多様性トークン・ベース・コントロール
WO2017211161A1 (zh) 基于软件定义网络的资源管理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1181578

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150728

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150728

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1181578

Country of ref document: HK