CN102624542B - 在文件系统中提供透明故障切换 - Google Patents

在文件系统中提供透明故障切换 Download PDF

Info

Publication number
CN102624542B
CN102624542B CN201110462797.3A CN201110462797A CN102624542B CN 102624542 B CN102624542 B CN 102624542B CN 201110462797 A CN201110462797 A CN 201110462797A CN 102624542 B CN102624542 B CN 102624542B
Authority
CN
China
Prior art keywords
server
client computer
file
state
state information
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
CN201110462797.3A
Other languages
English (en)
Other versions
CN102624542A (zh
Inventor
P·R·斯旺
M·乔治
D·M·克鲁斯
R·C·巴特帕蒂
M·C·约翰逊
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 Corp
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 Corp filed Critical Microsoft Corp
Publication of CN102624542A publication Critical patent/CN102624542A/zh
Application granted granted Critical
Publication of CN102624542B publication Critical patent/CN102624542B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

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

Landscapes

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

Abstract

本发明涉及在文件系统中提供透明故障切换。此处描述了通过远程地存储与恢复键相关联的客户机状态信息允许客户机恢复与服务器或不同的替换服务器的连接的连接状态系统。系统提供在服务器处运行的便于对易失性服务器状态信息的存储的恢复键过滤器。状态信息可包括诸如机会锁、授予客户机的租约、和对文件句柄的进行中的操作之类的信息。恢复键过滤器驱动器位于文件系统之上,这允许多个文件访问协议能够使用该过滤器。在诸如服务器停机或丢失到客户机的连接等故障切换事件之后,系统可以提出另一个服务器或同一服务器并使用恢复键过滤器重新建立由各个客户机所持有的文件句柄的状态。

Description

在文件系统中提供透明故障切换
技术领域
本发明涉及提供透明故障切换,尤其是在文件系统中提供透明故障切换。
背景技术
存在用于在网络上的两台计算机之间共享文件、打印机及其他资源的各种技术。例如,服务器消息块(SMB)和网络文件系统(NFS)是用于共享资源的两个应用层网络协议。微软WINDOWSTM和其他操作系统使用SMB来允许两台计算机或其他资源进行通信、请求访问资源、指定对资源的预期访问(例如读、写等)、锁定资源等。微软WINDOWSTMVista引入了简化SMB 1.0的命令集并添加很多其他增强的SMB 2.0。微软WINDOWSTM7和Server 2008R2引入了添加机会锁定(oplock)及其他增强的SMB 2.1。
用于远程共享资源的大多数协议假定连接和会话之间的一对一关系。会话表示访问资源的任何单个请求以及对该资源的后续访问直到连接被终止为止的生存期。会话还可以与特定的安全主体和已确认的安全凭证相关联,已确认的安全凭证确定在会话期间被授权的动作。连接可包括传输控制协议(TCP)、用户数据报协议(UDP)、或像SMB和NFS的更高层协议可以借助来通信以执行命令的其他类型的连接。SMB或NFS会话通常涉及在请求源和请求目标之间打开TCP或UDP连接,发送一个或多个SMB或NFS命令以访问目标资源,以及随后关闭该会话。有时在会话期间连接丢失(例如,由于网络故障),破坏在连接期间建立的任何客户机和服务器状态。为了重新建立连接,客户机和服务器通常必须再一次重复用于最初建立连接的所有步骤。
SMB2协议提供恢复键,该恢复键允许在某一客户机与服务器断开连接后客户机快速地重新建立到服务器的文件句柄,使得在一客户机重新连接时客户机能够减少到服务器的网络往返并减少服务器上的负载。然而,如今恢复键在服务器故障切换事件中不提供对状态的还原,在服务器故障切换事件中SMB2服务器在服务器重启或机群的故障切换期间丢失易失性状态。与现有的打开(open)相关联的状态信息丢失并且必须被重新建立。另外,恢复键是仅可在应用的边界内被创建和使用但不被共享的应用级概念。
发明内容
此处描述了通过远程地存储与恢复键相关联的客户机状态信息允许客户机恢复与服务器或不同的替换服务器的连接的连接状态系统。系统提供在服务器处运行的便于对易失性服务器状态信息的存储的恢复键过滤器。状态信息可包括诸如机会锁(oplock)、授予客户机的租约、和对文件句柄的进行中的(in-flight)操作之类的信息。恢复键过滤器驱动器位于文件系统之上,这允许多个文件访问协议能够使用该过滤器,并且许可该过滤器跨多个文件系统提供此功能。该系统向协议提供状态信息而与实际协议无关。在诸如服务器停机或丢失到客户机的连接等故障切换事件之后,系统可以提出另一个服务器或同一服务器并使用恢复键过滤器重新建立由各个客户机所持有的文件句柄的状态。过滤器于故障切换之后在活动文件上实施管制窗口(blackout window),该管制窗口保证活动文件状态可被一致地还原以及其他客户机不会在此期间介入以访问文件。在恢复阶段,恢复键用于将现有的故障切换前(pre-failover)文件句柄映射到恢复键过滤器存储的故障切换后(post-failover)保存的文件状态。由此,连接状态系统允许同一或另一个服务器在故障切换事件后用对客户机尽可能少的干扰来恢复与客户机的先前会话的状态。
提供本发明内容以便以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
附图说明
图1是示出在一个实施例中的连接状态系统的组件的框图。
图2是示出一个实施例中的连接状态系统捕捉文件系统状态信息的处理的流程图。
图3是示出一个实施例中的连接状态系统在故障切换之后恢复连接的处理的流程图。
图4是示出在一个实施例中的连接状态系统的操作环境的框图。
具体实施方式
此处描述了通过远程地存储与恢复键相关联的客户机状态信息允许客户机恢复与服务器或不同的替换服务器的连接的连接状态系统。系统提供在服务器处运行的便于对易失性服务器状态信息的存储的恢复键过滤器。状态信息可包括诸如机会锁(oplock)、授予客户机的租约、和对文件句柄的进行中的操作之类的信息。恢复键过滤器驱动器位于文件系统之上,这允许多个文件访问协议能够使用该过滤器,并且许可该过滤器跨多个文件系统提供此功能。该系统向协议提供状态信息而与实际协议无关。在诸如服务器停机或丢失到客户机的连接等故障切换事件之后,系统可以(例如,经由诸如冗余以太网连接等不同连接)提出另一个服务器或同一服务器并使用恢复键过滤器重新建立由各个客户机所持有的文件句柄的状态。
系统提供在服务器丢失其到客户机的连接之后可用于透明故障切换的恢复键过滤器。恢复键过滤器位于文件系统之上,并且因此独立于用于访问文件系统的协议。恢复键过滤器记录活动文件状态,并且在故障切换之后随后还原活动文件状态。恢复键过滤器可捕捉各种状态信息。例如,过滤器记录包括(恢复键静态地引用的)打开句柄、未提交的(uncommitted)文件状态(诸如关闭时删除、删除待决、和锁定状态)、以及特定的进行中的/被中断的文件操作的活动文件系统状态。滤波器在故障切换之后还原活动文件系统状态,使得打开句柄被恢复为与故障切换之前的那些句柄相匹配,以及进行中的操作可被一致地重放。过滤器为多个远程文件系统(RFS)提供存储并检索与通过恢复键引用的打开文件句柄相关联的私有不透明数据的手段。过滤器于故障切换之后在活动文件上实施管制窗口(blackout window),该管制窗口保证活动文件状态可被一致地还原以及其他客户机不会在此期间介入访问文件。过滤器还允许当前活动文件被“挂起”,并且随后无需故障切换而被恢复,以便在节点发生故障切换的机群场景中支持SMB。
远程文件系统(RFS)向恢复键提供每个文件创建操作作为创建期间的额外参数。键对RFS是唯一的。恢复键过滤器使用恢复键和RFS识别键共同作为文件句柄的全局唯一标识符(GUID)。在恢复阶段,恢复键用于将现有的故障切换前(pre-failover)文件句柄映射到恢复键过滤器存储的故障后切换(post-failover)保存的文件状态。由此,连接状态系统允许同一或另一个服务器在故障切换事件后用对客户机尽可能少的干扰来恢复与客户机的先前会话的状态。
图1是示出在一个实施例中的连接状态系统的组件的框图。系统100包括状态收集组件110、状态存储组件120、状态数据存储130、恢复检测组件140、状态检索组件150、状态还原组件160、管制(blackout)实施组件170、和资源挂起组件180。这些组件中的每一个都在此处进一步详细讨论。
状态收集组件110为每个文件句柄创建状态记录,并且在客户机使用文件句柄请求操作时收集状态信息。组件110可以在服务器运行并在服务器外部存储状态信息,使得如果服务器不可用也可访问状态信息。例如,组件110可以在此处进一步描述的状态数据存储130中存储状态信息。状态收集组件110可在客户机连接到服务器时从客户机接收恢复键,并且组件110在状态数据存储130中将收集的状态信息与该恢复键相关联。如果客户机在故障切换事件之后重新连接,那么客户机将提供用于打开最初连接的同一恢复键,并且当前的服务器可查找先前的服务器所存储的状态信息并从该状态信息重新创建服务器状态。
状态存储组件120与客户机所提供的恢复键相关联地存储收集的状态信息。组件120将状态信息存储在状态数据存储130中,并且保持与该恢复键有关的、在故障切换事件发生的情况下将被还原的操作的记录。状态信息可包括打开文件句柄、授予的机会锁、租约和租约信息、进行中的文件操作、字节范围锁、以及无需客户机重新建立全部先前状态的情况下另一个服务器用来执行客户机的请求的任何其他信息。
状态数据存储130持久地存储文件系统状态信息,进行恢复的服务器使用该文件系统状态信息来重新创建发生故障的服务器所存储的状态信息。在某些情形中,进行恢复的服务器与发生故障的服务器可以是使用到客户机的不同连接或在短暂中断之后回来的同一服务器。在其他情形中,进行恢复的服务器与发生故障的服务器是不同的服务器,并且在两个服务器都可以访问的位置提供状态数据存储130以供共享状态信息。状态数据存储130可包括一个或多个文件、文件系统、硬盘驱动器、数据库、存储区域网络(SAN)、基于云的存储服务、或用于持久存储数据并可由发生故障的服务器和进行恢复的服务器二者访问以交换信息的其他存储设施。发生故障的服务器在执行操作时,它将关于操作进度的状态信息存储到状态数据存储130中。在故障之后,发生故障的服务器将被中断,并且进行恢复的服务器访问该状态信息以恢复状态并继续执行未完成的任何操作。
恢复检测组件140检测使发生故障的服务器不可用并且通知进行恢复的服务器替代发生故障的服务器的条件。该检测可以是客户机驱动的,使得系统不执行任何恢复步骤直到客户机重新连接到系统并提供先前使用的恢复键。系统标识该键以及与该键相关联地存储的任何状态信息,并且还原该状态信息作为设置连接的一部分。进行恢复的服务器可以是与发生故障的服务器相同或不同的服务器,恢复检测组件140确保进行恢复的服务器变为活动的以处理客户机的请求。在其他实施例中,检测可以是服务器驱动的,并且系统可以在检测到发生故障的服务器已经停机之后先行地提出进行恢复的服务器。即使在客户机请求连接到服务器之前,系统也可以使用存储的状态信息来预先填充进行恢复的服务器。
状态检索组件150从进行恢复的服务器可以访问的位置检索存储的状态信息,其中该状态信息允许进行恢复的服务器恢复被检测到的故障条件中断的任何先前请求的文件系统操作。状态检索组件150从状态数据存储130检索状态信息并调用状态还原组件160来将信息加载到进行恢复的服务器,使得进行恢复的服务器能够继续客户机所请求的操作。
状态还原组件160将检索到的状态信息加载到进行恢复的服务器,使得进行恢复的服务器可以继续客户机先前请求的操作。还原还可包括刷新任何机会锁和/或客户机所持有的租约以确保其他客户机遵守先前所请求的访问级别和/或授予客户机的独占性。状态还原组件160允许新的服务器或节点代替发生故障的服务器或节点,而不会通过重复过去的操作将较重的负荷置于客户机以还原状态信息。使用像SMB 2.0的协议的客户机已经知道如何使用恢复键来还原到同一服务器的连接,并且连接状态系统允许替换服务器对客户机透明地代替发生故障的服务器。恢复键也可与NFS一同使用。在NFS的情形中,恢复键的概念对客户机是完全不透明的。客户机不明确地涉及或参与恢复键的生成、管理和关联。相反,恢复键是服务器侧概念。
管制实施组件170在对一个或多个文件或其他资源的访问上实施管制时间段,管制时间段阻止第二客户机以将与恢复与进行恢复的服务器的连接的第一客户机相冲突的方式干扰资源。组件170可以自动地选择被视为足够长以避免大多数冲突操作的时间段(例如,15或30秒),但不足以在第一客户机不恢复连接的情况下阻止其他客户机访问资源。该时间段在第一客户机选择的情况下给予第一客户机恢复连接的时间。在某些实施例中,系统允许管理员或其他用户配置管制时间段的持续时间以出于应用专用的目的调谐系统。系统还可允许各个客户机请求管制时间段作为创建/打开请求或其他应用编程接口(API)的参数。响应于访问受管制的资源的企图,组件170可以提供在特定时间段之后再次尝试的指示或简单地使请求失败。管制时间段之后,如果没有客户机恢复了连接,则管制结束并且访问资源的请求将照常成功。
资源挂起组件180允许当前活动的资源被挂起并在没有故障切换事件的情况下被恢复,以允许机群能够以计划的方式故障切换到另一个节点。一个示例是负载平衡。挂起允许状态的子集被转换到新节点的情形。例如,如果机群中的一个节点过载,则管理员可能希望将该节点的客户机的一半迁移到新节点。挂起允许捕捉正被迁移的打开(open)的状态,并且允许客户机连接到新节点作为相同打开的延续(例如,不用重新建立服务器状态)。作为另一个示例,SMB支持通用节点被带入机群并可用于可交换地服务客户机请求的群集场景。有时有理由使特定的节点停用,诸如为了维护,并且期望干净地挂起当前节点,激活新节点,停用旧节点,随后在已停用的节点上执行任何维护操作。这可能对客户机产生不期望的影响,但是使用此处描述的技术,系统100可以以有组织的方式挂起节点,并且允许客户机高效地恢复与新节点的操作。
在其上实现连接状态系统的计算设备可包括中央处理单元、存储器、输入设备(例如,键盘和定点设备)、输出设备(例如,显示设备),以及存储设备(例如,磁盘驱动器或其他非易失性存储介质)。存储器和存储设备是可以用实现或启用该系统的计算机可执行指令(例如,软件)来编码的计算机可读存储介质。此外,数据结构和消息结构可被存储或经由诸如通信链路上的信号等数据传送介质发送。可以使用各种通信链路,诸如因特网、局域网、广域网、点对点拨号连接、蜂窝电话网络等。
该系统的实施例可以在各种操作环境中实现,这些操作环境包括个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、数码照相机、网络PC、小型计算机、大型计算机、包括任何上述系统或设备、机顶盒、片上系统(SOC)等中任一种的分布式计算环境等。计算机系统可以是蜂窝电话、个人数字助理、智能电话、个人计算机、可编程消费电子设备、数码相机等。
该系统可以在由一个或多个计算机或其他设备执行的诸如程序模块等计算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。通常,程序模块的功能可以在各个实施例中按需进行组合或分布。
图2是示出一个实施例中的连接状态系统捕捉文件系统状态信息的处理的流程图。始于框210,系统从客户机接收访问存储在服务器上的远程资源的请求。访问请求可包括一个或多个参数,包括用于在某一连接失败的情况下跨多个潜在的连接标识会话的恢复键。资源访问请求可以是从客户机发送的一系列访问请求中的第一个,并且如果客户机曾经与服务器断开连接,则客户机可在接下来的打开请求中向同一或新的服务器提供相同的恢复键以恢复连接。恢复键通过在看起来是独立的客户机连接之间将由服务器(或跨服务器)维护的状态信息相关来帮助服务器更快地响应客户机。
继续至框220,系统确定标识与请求有关的客户机会话的标识符。在某些情形中,标识符是客户机提供给耐久句柄的恢复键,耐久句柄允许恢复由于各种原因断开连接的会话。访问请求可在协议中明确定义的位置处包括一个或多个参数,使得系统可以通过读取请求中的适合位置来提取键。另选地或另外地,服务器可包括用于确定不包括客户机明确地提供的信息的标识符的自动化过程。例如,服务器可以根据网际协议(IP)地址或向服务器指示客户机连接与先前的会话相关的其他推断数据来标识客户机。
继续至框230,系统创建由所提取的标识符可搜索的恢复记录,该恢复记录将由客户机所请求的操作创建的状态信息与所提取的标识符相关联。恢复记录可被存储到处理当前访问请求的服务器外部的位置,使得如果该服务器失败,则另一个服务器将能够读取该记录以恢复操作并取代原始服务器。恢复记录可包括文件、数据库记录、或存储的其他形式。记录可包括打开文件句柄的列表、客户机获得的机会锁、租约、或其他文件系统状态信息。
继续至框240,系统从客户机接收文件操作,该文件操作请求访问通过服务器可以访问的文件。文件操作可以是对打开文件、关闭文件、读文件、写文件、打印到共享打印机、或其他文件系统操作的请求。已接收的操作涉及在服务器上被创建的一定量的状态信息。例如,如果客户机打开到文件的句柄,那么服务器跟踪该句柄以管理与该文件有关的其他客户机请求,并且管理生存期和/或清除对该句柄的处理。
继续至框250,系统将恢复状态信息存储在创建的恢复记录中,如果客户机丢失其与服务器的连接,则该恢复记录提供信息以恢复接收到的文件操作。如果客户机连接失败,则客户机将通过再次打开远程资源并指定相同的恢复键或其他会话标识符来尝试恢复连接。这将允许服务器或另一个服务器访问存储的恢复记录,并重新建立先前的状态信息。
继续至框260,系统执行所请求的文件操作。操作可以打开文件,读文件的内容,向文件写数据,改变对文件的访问权限,或任何其他文件系统操作。操作的结果可以改变服务器所存储的状态。例如,如果客户机尝试关闭句柄并且服务器成功地关闭该句柄,那么服务器状态将被更新以将句柄从服务器所跟踪的句柄列表中移除。
继续至框270,系统基于已执行的文件操作的结果更新在已创建的恢复记录中已存储的恢复状态信息。系统无法提前得知导致故障切换的失败将何时发生,因此系统在恢复记录中保持对服务器状态的最新视图,允许服务器重新建立尽可能与先前服务器的状态接近的状态。未被完成的操作可被重放以完成操作,而完成的操作将无需被重复(但服务器可以向客户机重新发送结果)。由此,在改变服务器状态信息的各种文件系统操作期间或之后,系统按需更新状态。
继续至框280,系统向客户机发送指示所请求的文件操作的结果的响应。如果客户机和服务器仍然连接,那么操作如其被客户机所请求的那样继续,并且服务器继续跟踪更新的状态信息。如果连接在任意时间丢失,则另一个服务器可被提出或现有的服务器被修复,并且可从状态存储加载状态信息以重新建立先前的服务器状态。在从客户机接收恢复会话的新请求之后,客户机无需知道故障切换已经发生以及客户机正潜在地与不是原始服务器的不同的服务器进行交互。在框280之后,这些步骤结束。
图3是示出一个实施例中的连接状态系统在故障切换之后恢复连接的处理的流程图。始于框310,系统从客户机接收打开存储在服务器上的远程资源的请求。访问请求可包括一个或多个参数,包括用于在某一连接失败的情况下跨多个潜在连接标识会话的恢复键。与参考图2所讨论的资源访问请求不同,该请求是重新连接到先前连接的会话的请求。客户机提供与原始提供的相同的恢复键,使得服务器可将当前会话请求与先前的会话相关。
继续至框320,系统确定标识与请求有关的客户机会话的会话标识符。在某些情形中,标识符是客户机提供给耐久句柄的SMB 2恢复键,耐久句柄允许恢复由于各种原因断开连接的会话。访问请求可在协议中明确定义的位置处包括一个或多个参数,使得系统可以通过读取请求中的适合位置来提取键。在其他情形中,服务器可以基于关于客户机的信息自动地确定标识符。
继续至框330,系统在状态存储中查找接收的会话标识符以标识与该会话标识符相关联的恢复记录。使用可恢复的会话与客户机交互的任何先前的服务器以进行中的方式在与客户机的整个交互过程中存储状态信息。客户机尝试重新建立连接时,状态信息对代替原始服务器的故障切换服务器是可用的。状态信息可以被存储在原始服务器的外部,使得该信息在原始服务器故障之后是可以被访问的。
继续至框340,系统从状态存储接收与恢复记录相关联的先前的状态信息。状态信息标识诸如打开文件句柄、已获得的租约、已获得的机会锁等静态状态,以及诸如可能尚未完成的进行中的操作的动态状态。存储的状态信息允许故障切换服务器无需客户机的专门处理而代替原始服务器。客户机理解可恢复的句柄并且执行步骤以使连接是可恢复的,但可能不知道在任何特定时间哪个服务器结束处理该连接。客户机可以经由可解析若干服务器中任一个的地址的域名或网络文件共享来访问服务器,包括故障切换服务器。
继续至框350,系统通过将信息加载到跟踪文件系统状态的文件系统组件来还原已接收的先前的状态信息。加载状态之后,故障切换服务器的本地状态类似于在全部先前的操作已经发生在故障切换服务器的情况下状态看起来如何的情况。由此,对于客户机继续该系列操作来说,故障切换服务器像在连接没有失败的情况下原始服务器那样有用。
继续至框360,系统响应客户机访问请求,指示服务器发现了恢复记录并且准备接收与先前的会话有关的客户机操作。基于服务器的响应,客户机可以确定会话是否被恢复或者客户机是否需要采取步骤以重复先前的操作。如果会话被成功地恢复,那么客户机可继续了解先前的操作已完成或被重放以在服务器恢复之后完成。在某些情形中,系统可将具有与故障切换前文件句柄相同状态的新文件句柄交给客户机。在框360之后,这些步骤结束。
图4是示出在一个实施例中的连接状态系统的操作环境的框图。环境包括与文件系统交互的一个或多个操作系统服务或应用。例如,微软WINDOWSTM包括被称为SRV的服务器服务420,以及被称为NFS的网络文件系统服务410。网络文件系统服务410和服务器服务420提供计算机系统之间对诸如文件和打印机等共享资源的访问。服务器服务420使用WINDOWSTM网络常用的SMB协议,而网络文件系统服务410提供对更常使用NFS的基于Unix的系统的访问。无论协议如何,恢复键过滤器430捕捉文件操作,并且将用于恢复操作的状态信息存储到远程数据存储中。操作穿过文件系统层440(例如,NTFS或其他文件系统)并且影响一个或多个用户数据文件450。同时,恢复键过滤器430将状态信息写入另一个服务器可以访问以检索状态信息并恢复到客户机的连接的日志文件460或其他数据存储。系统可以独立于所涉及的特定协议或文件系统而操作,并且各个组件可被更新以将它们自身的特定状态信息保存到状态数据存储中。
在某些实施例中,连接状态系统存储代表文件系统组件的不透明的数据团块以允许系统在不具备组件专用知识的情况下恢复连接。例如,此处描述的恢复键过滤器可以向服务器服务要求服务器服务重新创建其当前状态所需的任何数据。过滤器随后可将任何接收到的数据作为不透明团块(即过滤器无需知道团块中有什么或其语义含义)存储到状态存储中。故障切换条件下,在新的服务器上运行的恢复键过滤器可以访问存储的状态信息,检索存储的团块,并且将该团块提供给服务器服务,使得服务器服务可还原其自身的状态。以此方式,可使系统与很多类型的协议一起工作,而不需要对为服务器实现每个协议的组件的内部操作的具体知识。
在某些实施例中,连接状态系统以某一时间量(即管制时间段)阻止其他客户机访问文件或与可恢复的句柄有关的其他资源。如果原始客户机在管制时间段期间重新连接,那么原始客户机找回带有全部先前状态的其连接,并且可恢复操作。如果另一个客户机尝试连接,则服务器可提供指示等待一时间量并重试的消息。意识到恢复的客户机可以使用该信息来延迟重试直到管制时间段之后,而更早的客户机可以简单地使连接失效并应用户的请求手动地重试。如果原始客户机在管制时间段内没有返回,则服务器清除恢复状态信息并允许新的客户机照常访问资源。
在某些实施例中,连接状态系统可以使用用于加速恢复的各种存储设备或策略。例如,系统可以使用用于存储恢复状态信息的快速非易失性存储设备(例如固态盘(SSD)),使得恢复更快地访问数据以避免进一步延迟已被故障中断的操作。作为另一个示例,系统可以向一组服务器广播每个服务器作出的全部改变,使得每个服务器可以维护状态信息的其自身的副本,并且可在发生原始服务器的故障时被选为故障切换服务器。
从前面的描述,可以理解的是,此处描述的连接状态系统的特定实施例只是出于说明的目的,但是,在不偏离本发明的精神和范围的情况下,可以进行各种修改。因此,本发明只受所附权利要求限制。

Claims (15)

1.一种用于捕捉文件系统状态信息以便于恢复连接的计算机实现的方法,所述方法包括:
从客户机接收访问存储在服务器上的远程资源的请求(210);
确定标识与所述请求有关的客户机会话的标识符(220);
创建可由所提取的标识符搜索的恢复记录(230),所述恢复记录将由所述客户机所请求的操作创建的状态信息与所提取的标识符相关联;
从所述客户机接收文件操作(240),所述文件操作请求访问通过所述服务器可访问的文件;
将恢复状态信息存储在所创建的恢复记录中(250),如果所述客户机丢失其与所述服务器的连接,则所述恢复记录提供信息以恢复所接收的文件操作;
执行所请求的文件操作(260);
基于执行的文件操作的结果,更新所创建的恢复记录中存储的恢复状态信息(270);以及
将指示所请求的文件操作的结果的响应发送到所述客户机(280);
其中,前面的各步骤由至少一个处理器来执行。
2.如权利要求1所述的方法,其特征在于,所述访问请求包括一个或多个参数,所述一个或多个参数包括在一连接失败的情况下跨多个潜在的连接标识所述客户机会话的恢复键,并且其中所述恢复键是所确定的标识符的至少一部分。
3.如权利要求1所述的方法,其特征在于,还包括在所述客户机变为与所述服务器断开连接之后,在一故障切换服务器处接收新的访问请求,所述服务器可将该新的访问请求与原始访问请求相关以通过在多个客户机连接之间将所述服务器维护的状态信息相关来帮助所述故障切换服务器在一连接故障后更快地响应所述客户机。
4.如权利要求1所述的方法,其特征在于,网络文件系统NFS服务器自动地确定所述标识符,而不从所述客户机接收恢复键。
5.如权利要求1所述的方法,其特征在于,所提取的标识符是所述客户机为耐久句柄提供的服务器消息块SMB恢复键,所述耐久句柄允许恢复断开连接的会话。
6.如权利要求1所述的方法,其特征在于,创建恢复记录包括将所述恢复记录存储到处理当前访问请求的所述服务器外部的位置,使得如果所述服务器失败,则另一个服务器将能够读取记录以恢复来自所述客户机的任何操作并取代原始服务器。
7.如权利要求1所述的方法,其特征在于,接收文件操作包括对执行从包括打开文件、关闭文件、读文件、写文件、获得文件的租约以及获得文件的锁的组中选择的操作的请求。
8.如权利要求1所述的方法,其特征在于,还包括在所述客户机变为与所述服务器断开连接之后,在故障切换服务器加载所存储的恢复记录,使得所述客户机可连接到所述故障切换服务器并继续任何先前的操作。
9.如权利要求1所述的方法,其特征在于,执行所请求的文件操作修改所述服务器存储的状态,并且其中,更新所存储的恢复状态信息捕捉经修改的状态。
10.如权利要求1所述的方法,其特征在于,更新所存储的恢复状态信息包括保持所述恢复记录中的所述服务器状态的最新视图,所述最新视图允许另一个服务器重新建立状态并代替原始服务器来处理客户机请求,而不需要所述客户机重新建立所述状态信息中的至少一些。
11.一种在文件系统中为客户机提供透明故障切换的连接状态系统,所述系统包括:
状态收集组件(110),为每个文件句柄创建状态记录并且在客户机使用所述文件句柄请求操作时收集状态信息;
状态存储组件(120),与所述客户机提供的会话标识符相关联地存储所收集的状态信息;
状态数据存储(130),持久地存储文件系统状态信息,进行恢复的服务器使用所述文件系统状态信息来重新创建由发生故障的服务器存储的状态信息;
恢复检测组件(140),检测使发生故障的服务器不可用并且通知进行恢复的服务器取代所述发生故障的服务器的条件;
状态检索组件(150),从所述进行恢复的服务器可以访问的位置检索存储的状态信息,其中所述状态信息允许所述进行恢复的服务器恢复被检测到的故障条件中断的任何先前所请求的文件系统操作;以及
状态还原组件(160),将检索到的状态信息加载到所述进行恢复的服务器,使得所述进行恢复的服务器可以继续所述客户机先前请求的操作。
12.如权利要求11所述的系统,其特征在于,所述状态收集组件还被配置为在一服务器处运行并在所述服务器外部存储状态信息,使得如果所述服务器不可用所述状态信息也可被访问。
13.如权利要求11所述的系统,其特征在于,所述状态收集组件还被配置为在所述客户机连接到所述服务器时从所述客户机接收恢复键,并且在所述状态数据存储中将所收集的状态信息与所述恢复键相关联。
14.如权利要求11所述的系统,其特征在于,所述状态数据存储为进行恢复的服务器存储并提供信息,所述进行恢复的服务器是使用到所述客户机的不同连接的、与所述发生故障的服务器相同的服务器。
15.如权利要求11所述的系统,其特征在于,所述状态数据存储在所述发生故障的服务器执行操作时接收状态信息,并且在故障之后向所述进行恢复的服务器提供对先前接收的状态信息的访问,以恢复所述状态并继续执行未完成的任何操作。
CN201110462797.3A 2010-12-10 2011-12-09 在文件系统中提供透明故障切换 Active CN102624542B (zh)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
CN102624542A CN102624542A (zh) 2012-08-01
CN102624542B true CN102624542B (zh) 2015-06-17

Family

ID=46200659

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110462797.3A Active CN102624542B (zh) 2010-12-10 2011-12-09 在文件系统中提供透明故障切换

Country Status (13)

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

Families Citing this family (45)

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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090319661A1 (en) * 2008-06-24 2009-12-24 Fujitsu Limited Cluster node control apparatus of file server
US7664991B1 (en) * 2002-12-17 2010-02-16 Symantec Operating Corporation System and method for distributed file system I/O recovery

Family Cites Families (187)

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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7664991B1 (en) * 2002-12-17 2010-02-16 Symantec Operating Corporation System and method for distributed file system I/O recovery
US20090319661A1 (en) * 2008-06-24 2009-12-24 Fujitsu Limited Cluster node control apparatus of file server

Also Published As

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

Similar Documents

Publication Publication Date Title
CN102624542B (zh) 在文件系统中提供透明故障切换
US11409622B1 (en) Methods and systems for a non-disruptive planned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system without using an external mediator
US10353790B1 (en) Disaster recovery rehearsals
JP5860497B2 (ja) 複製されたデータインスタンスのためのフェイルオーバーおよび復旧
US7434220B2 (en) Distributed computing infrastructure including autonomous intelligent management system
US11709743B2 (en) Methods and systems for a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system
US20080281959A1 (en) Managing addition and removal of nodes in a network
US11550679B2 (en) Methods and systems for a non-disruptive planned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system
US7366742B1 (en) System and method for distributed discovery and management of frozen images in a storage environment
JP2014500559A5 (zh)
CN103765406A (zh) 用于远程更新执行进程的方法和设备
CN104036043B (zh) 一种mysql高可用的方法及管理节点
CN107870829A (zh) 一种分布式数据恢复方法、服务器、相关设备及系统
EP3731099B1 (en) System and method for accelerating application service restoration
US11397632B2 (en) Safely recovering workloads within a finite timeframe from unhealthy cluster nodes
RU2643642C2 (ru) Использование кэш-памяти и памяти другого типа в распределённой запоминающей системе
US20240296100A1 (en) Methods and systems to reduce latency of input/output (i/o) operations based on file system optimizations during creation of common snapshots for synchronous replicated datasets of a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system
CA2619778C (en) Method and apparatus for sequencing transactions globally in a distributed database cluster with collision monitoring
US20210103598A1 (en) Managing persistent handle information for a file
EP3629180B1 (en) Method and system for reliably restoring virtual machines

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: 1174451

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
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
TR01 Transfer of patent right

Effective date of registration: 20150728

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.