CN101884208B - 在多个适配器间同时支持多个虚拟ip地址的主机中的故障转移 - Google Patents

在多个适配器间同时支持多个虚拟ip地址的主机中的故障转移 Download PDF

Info

Publication number
CN101884208B
CN101884208B CN2008801187554A CN200880118755A CN101884208B CN 101884208 B CN101884208 B CN 101884208B CN 2008801187554 A CN2008801187554 A CN 2008801187554A CN 200880118755 A CN200880118755 A CN 200880118755A CN 101884208 B CN101884208 B CN 101884208B
Authority
CN
China
Prior art keywords
address
main frame
virtual
adapter
network
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
CN2008801187554A
Other languages
English (en)
Other versions
CN101884208A (zh
Inventor
V·然
M·列帕克沙伊
E·J·默里
V·文卡塔苏布拉
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101884208A publication Critical patent/CN101884208A/zh
Application granted granted Critical
Publication of CN101884208B publication Critical patent/CN101884208B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • 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/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • 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

Abstract

一种主机,其使得所述主机的多个适配器中的任何适配器都能够同时支持分配给所述主机的多个虚拟IP地址中的任何虚拟IP地址。响应于所述多个适配器中的至少一个特定适配器的故障,所述主机触发剩余可运行的适配器,以通过网络广播每个虚拟IP地址的单独硬件地址更新,使得对于支持所述多个虚拟IP地址的所述主机内的故障转移,所述主机引导可通过所述网络访问的至少一个其他主机将去往所述多个虚拟IP地址的任何新分组都寻址到所述剩余适配器之一的所述单独硬件地址中的一个地址。

Description

在多个适配器间同时支持多个虚拟IP地址的主机中的故障转移
技术领域
本发明一般地涉及网络内的改进的主机系统,具体地说,涉及具有可同时支持多个虚拟网际协议(IP)地址(VIPA)的多个适配器的主机内的故障转移。
背景技术
传输控制协议/网际协议(TCP/IP)网络(如因特网)中使用的地址解析协议(ARP)将IP地址与介质存取控制(MAC)地址间的映射提供给请求主机。在一个示例中,需要知道给定IP地址的MAC地址的请求主机将包含该IP地址的ARP请求广播给网络中所有的路由器与主机。主机处的各适配器会接收此请求。分配到该IP地址的适配器使用包含与此IP地址对应的MAC地址的ARP答复来响应此ARP请求。因此,请求主机通过对ARP请求的ARP答复来获知对应于此IP地址的MAC地址。
“实际”IP地址是与物理适配器关联的地址。适配器通常支持上千个与其他主机的网络会话。如果此适配器发生故障,则所有利用与此适配器关联的IP地址的有效会话都会发生故障。构想了虚拟IP地址(VIPA)以减轻此问题。VIPA是与主机而不是与物理适配器关联的IP地址。各消息可被寻址到实际IP地址或VIPA。如果主机包含多个适配器,则寻址到VIPA的IP业务可通过任何适配器进行路由。这样,主机可通过在不同的物理适配器上路由VIPA业务来在适配器发生故障后提供容错。
然而,如果将多于一个的VIPA分配给单个主机,则基于VIPA的故障转移系统的效率仍会受到限制。具体地说,虽然可跨多个适配器支持单个VIPA,但是如果主机分配多个VIPA,则每个VIPA需要仅分配给该VIPA的一组单独的适配器。然而,将多个适配器单独地分配给每个单独的VIPA可能需要将单独的备用适配器分配给每个VIPA,以在适配器发生故障的情况下进行故障转移。将单独的备用适配器分配给每个VIPA是一种低效的资源分配。
发明内容
因此,鉴于上述问题,本方法、系统、过程及程序产品允许主机的任何硬件适配器同步接受与该主机关联的多个VIPA中的任何VIPA的入站数据,同时仍允许有效的故障转移。
在一个实施例中,主机使得所述主机的多个适配器中的任何适配器都能够同时支持分配给所述主机的多个虚拟IP地址中的任何虚拟IP地址。响应于所述多个适配器中的至少一个特定适配器的故障,所述主机触发剩余运行中的适配器以通过网络广播每个虚拟IP地址的单独硬件地址更新,使得对于支持所述多个虚拟IP地址的所述主机内的故障转移,所述主机引导可通过所述网络访问的至少一个其他主机将去往所述多个虚拟IP地址的任何新分组都寻址到所述剩余适配器之一的所述单独硬件地址中的一个地址。
所述主机通过配置所述主机上的网络堆栈,以将在所述主机处接收的ARP请求中指定的IP地址与所述多个虚拟IP地址的列表相比较,以确定所述主机是否支持所述多个虚拟IP地址的所述列表中的IP地址,来使得所述主机的多个适配器中的任何适配器都能够同时支持分配给所述主机的所述多个虚拟IP地址中的任何虚拟IP地址。响应于所述主机从所述至少一个其他主机中的请求主机接收到对与所述多个虚拟IP地址中的特定虚拟IP地址匹配的特定IP地址的ARP请求,所述主机触发所述多个适配器中的每个适配器,以将具有用于所述特定虚拟IP地址的每个适配器的每个硬件地址的ARP响应发送到所述请求主机,其中所述请求主机存储来自所述多个适配器的所述多个ARP响应中的一个响应。
附图说明
现在仅通过示例的方式参考附图描述本发明的实施例,这些附图是:
图1是示出分配有可同时支持多个VIPA的多个适配器的主机的一个示例的方块图;
图2是示出其中可实现支持可同时支持多个VIPA的多个适配器的故障转移的主机的网络环境的一个示例的方块图;
图3是示出其中可实现本发明的计算机系统的一个实施例的方块图;
图4是示出支持可同时支持多个VIPA的多个适配器的有效故障转移的网络堆栈的方块图;
图5是示出在多个主机与网关主机间发送的ARP分组的一个示例的流程图,其中所述网关主机支持可同时促进多个VIPA的多个适配器;
图6是示出包含网关的可在其中实现本发明的网络环境的示例的方块图;
图7是示出支持可同时支持多个VIPA的多个适配器并支持失效网关检测的主机系统的示例的流程图;
图8是示出接收主机的网络堆栈响应来自请求主机的请求的过程和程序的高级逻辑流程图,其中接收主机使得多个适配器能够同时支持多个VIPA;以及
图9是示出当请求主机使得多个适配器能够同时支持多个VIPA时,接收主机的网络堆栈响应故障适配器以促进故障转移的过程和程序的高级流程图。
具体实施方式
参考图1,其是示出分配有可同时支持多个VIPA的多个适配器的主机的一个示例的方块图。在此示例中,主机100包含多个适配器110、112与114。此外,在此示例中,多个VIPA 102与104与单个主机100关联。在此示例中,主机100可代表一个或多个物理或逻辑数据处理系统、路由器、或其他与网络相连并在网络内接收或发送数据的系统。虽然在此示例中,适配器110、112与114被描述为物理适配器,但在其他示例中,适配器110、112与114中的一个或多个适配器可代表一个或多个物理适配器的虚拟呈现。
在一个示例中,在主机100内,适配器110、112与114配置为均支持VIPA 102与VIPA 104。通过将适配器110、112与114配置为同时支持VIPA 102与VIPA 104,VIPA 102与VIPA 104均可在每个适配器110、112与114上接受入站数据,且VIPA 102与VIPA 104均可通过每个适配器110、112与114路由数据。虽未示出,但在另一示例中,适配器110、112与114之一可被设置为初始地接收入站数据,而剩余适配器可被设置为用于VIPA 102与VIPA 104二者的出站数据的负载平衡。
在此示例中,VIPA 102与VIPA 104代表虚拟或逻辑IP地址,适配器110、112与114均分配有一硬件地址,例如MAC地址。此外,将理解的是,VIPA 102与VIPA 104可代表实际IP地址,而适配器110、112及114可分配有虚拟地址、多个物理地址、或其他类型的寻址机制。
在一个示例中,VIPA 102与VIPA 104均被分配为访问主机100的同一服务,其中此服务可包含但不限于主机100或主机100可访问的其他系统的应用、数据、或功能。在另一示例中,VIPA 102与VIPA 104均被分配给主机100的单独服务,而主机100实施一个或多个额外处理器或硬件,以管理通过适配器110、112与114中的任何适配器,由主机100所接收的不同服务的不同VIPA的分组分布。
重要的是指出,虽然在此示例中,VIPA 102和VIPA 104与主机100关联,但在其他示例中,可以将任何数量的VIPA与单个主机、主机群集、或主机的其他分组关联,并且可以将一个或多个VIPA自一主机移转至另一主机。此外,重要的是指出,虽然此示例中,在VIPA 102与104间共享适配器110、112与114,但在其他实施例中,可以将一个或多个适配器主要分配给一特定VIPA。
参考图2,其是示出其中可实现支持可同时支持多个VIPA的多个适配器的故障转移的主机的网络环境的一个示例的方块图。重要的是指出,网络环境200是例示可支持一个或多个主机的一种类型的网络环境,每个主机具有一个或多个适配器以在网络环境200内通信,然而,可在其他网络环境内实现额外、替换、或其他类型的主机。此外,重要的是指出,网络环境200内的系统分布是系统分布的例示,然而,可在网络环境内实施其他的系统分布。
如图所示,网络环境200内的多个系统可通过网络202可通信地连接,网络202是用于在各种可通信地连接的设备与计算机系统之间提供通信链路的介质。例如,网络202可包含永久连接,例如有线或光纤缆线,以及通过电话连接与无线传输连接的暂时连接。网络202可代表一个或多个基于分组交换的网络与基于电话的网络、局域与广域网络、公用及私有网络。
网络202可实施一层或多层的一或多种类型的网络协议堆栈,其可包含物理层、链路层、网络层、传输层、表示层、及应用层中的一个或多个。例如,网络202可实施传输控制协议/网际协议(TCP/IP)协议堆栈或开放系统互连(OSI)协议堆栈中的一个或多个。此外,例如,网络202可代表全球范围内使用TCP/IP协议集相互通信的网络与网关的集合。在其他示例中,网络202可实施一种或多种不同类型的协议堆栈及其他类型的协议堆栈。
网络环境200可实施多种类型的网络架构。在一个示例中,网络环境200可利用客户端/服务器架构实施,其中请求数据或过程的计算系统被称作客户端,而处理数据请求与过程的计算系统被称作服务器。在另一示例中,网络环境200可在对等网络架构中实现。在又一示例中,网络环境200可在网格架构中实现。将理解的是,可在网络环境200中实现其他类型的网络架构和网络架构的组合。
如图所示,在此实施例中,客户端系统210、客户端系统220和服务器系统230中的一个或多个通过网络202在网络环境200中可通信地连接。一般而言,客户端系统210与客户端系统220通过网络202从服务器系统230请求一个或多个服务,而服务器系统230传送的数据通过网络202输出到客户端系统210与客户端系统220。将理解的是,每个客户端系统210与客户端系统220可实现为服务器,以接收服务请求并将数据或其他输出传送到其他系统。此外,将理解的是,服务器系统230可实现为客户端系统,以通过网络202发送服务请求并接收来自其他系统的输出。将理解的是,网络环境200可包含一个或多个客户端系统、一个或多个服务器系统、以及将网络环境200内的各系统可通信地连接的网络202的一个或多个示例。
如图所示,每个客户端系统210、客户端系统220、与服务器系统230可代表一主机,例如图1的主机100。此外,分组、群集、或其他网络映射可将主机100指定为包含所有或部分客户端系统210、客户端系统220、与服务器系统230的组合。
具体地说,如实施例中所示,服务器系统230代表一主机,其具有多个适配器234,后者可通过服务器系统230的一个或多个软件及硬件层内实现的多VIPA故障转移控制器232来同时支持多个VIPA 236。当可同时支持多个VIPA 236的多个适配器234之一发生故障或被移除时,多VIPA故障转移控制器232还支持故障转移。
首先,多VIPA故障转移控制器232使得多个适配器234中的每个适配器都能够接受目的地为多个VIPA 236中的任何VIPA的数据。在一个示例中,为了使得任何适配器都能够接受目的地为每个VIPA的数据,多VIPA故障转移控制器232触发多个适配器234,利用多个VIPA 236的列表检查每个入站分组,以确定入站分组内的IP是否与多个VIPA 236之一者存在匹配。
接着,当多个适配器234之一发生故障时,多VIPA故障转移控制器232促进故障转移,以使目前到服务器系统230的连接不被中断。在一个示例中,由于多个适配器234中的任何适配器均可接受目的地为一VIPA的数据,所以客户端210或客户端系统220接收多个适配器234中的每个适配器的物理地址,并选择物理地址之一以在针对多个VIPA 236之一将分组寻址到服务器系统230中使用。如果多个适配器234之一出现故障,则多VIPA故障转移控制器232将更新广播到所有其他主机,例如客户端系统210与客户端系统220,表示多个VIPA 236中的每个VIPA的物理地址已改变。由于客户端系统210和客户端系统220与服务器系统230间的连接被绑定到VIPA,客户端系统210或客户端系统220将到服务器系统230的任何新分组都发送到更新后的运行中的适配器物理地址之一,而不会中断目前的连接。
重要的是指出,除了参考服务器系统230所描述的多VIPA故障转移控制器232的分布,多VIPA故障转移控制器232可分布于网络环境内的额外或替换系统(例如客户端系统210、客户端系统220)间、或在网络202内。此外,多VIPA故障转移控制器232可分布于多个逻辑网络分区间,此分区分布于单个客户端系统210或220、服务器系统230、或网络202间,或跨多个客户端系统、服务器系统或网络。此外,可在客户端系统、服务器系统、或网络处启动多VIPA故障转移控制器232的多个物理、逻辑或虚拟示例。
具体地说,虽然将理解的是,可经由加载存储介质(例如CD、DVD等)通过手动直接加载到系统(例如服务器系统230与代理器计算机系统(未示出)的多VIPA故障转移控制器232)中来部署多VIPA故障转移控制器的过程软件,但是还可通过将过程软件发送到服务器系统或一组服务器系统来自动或半自动地将过程软件部署在计算机系统中。过程软件接着被下载至执行过程软件的客户端计算机或服务器系统。备选地,经由电子邮件或其他电子通信将过程软件直接发送到客户端系统或服务器系统。过程软件接着通过电子邮件上的按钮而被分离到目录或加载到目录中、或者利用执行将过程软件分离到目录的程序的其他电子通信。另一备选方法是将过程软件直接发送到客户端系统或服务器系统硬盘上的目录。当存在任何代理服务器时,此过程会选择代理服务器代码,确定在哪个计算机上放置代理服务器的代码,传输此代理服务器代码,接着在代理计算机上安装代理服务器代码。过程软件将被传送到代理服务器,接着存储在代理服务器中。
此外,具体地说,虽然多VIPA故障转移控制器的过程软件可与操作系统、网络堆栈、或网络硬件(例如适配器)分开部署,但是过程软件亦可完全或部分地与客户端系统和服务器系统上的应用、操作系统、或网络服务、或适配器的功能、或者过程软件会运行于其中的网络环境内的其他网络硬件集成或同时存在。此外,可以根据需要在共享服务器系统中提供多VIPA故障转移控制器的过程软件。
现在参考图3,其是示出其中可实现本发明的计算机系统的一个实施例的方块图。本发明的过程、方法、计算机程序产品和系统可在各种系统中执行,所述系统包含可通信地与网络(例如网络202)相连的各种计算系统(例如计算机系统300)。计算机系统300可代表具有一个或多个适配器的主机100,或者计算机系统300可分布于多个主机间。此外,计算机系统300可与其他计算机系统分组在一起以代表主机100。
计算机系统300包含用于在计算机系统300内传送信息的总线322或其他通信设备,以及至少一个耦接总线322以处理信息的处理设备(例如处理器312)。总线322包含低延迟及较高延迟路径,它们通过桥接器和适配器相连,并由多个总线控制器在计算机系统300内进行控制。当计算机系统300被实现为服务器时,其可包含多个设计为提高网络服务能力的处理器。在多个处理器共享总线322的情况下,可实现管理总线访问及锁定的附加控制器(未图示)。
处理器312可为通用处理器(例如IBM的PowerPCTM处理器),在正常操作期间,在操作系统360、应用软件370、中间件(未图示)、网络软件、及其他可从动态存储设备(例如随机存取存储器(RAM)314)、静态存储设备(例如只读存储器(ROM)316)、数据存储设备(例如大容量存储设备318)、或其他数据存储介质访问的代码的控制下,处理数据。操作系统360、应用软件370、或其他层的软件可实施图2所示的多VIPA故障转移控制器232的一个或多个构件。
在一个实施例中,处理器312所执行的各操作可控制检测搜索结果链接、根据目前用户与搜索结果链接的交互而预测用户对搜索结果链接的兴趣,以及根据目前的用户兴趣动态地重新组织搜索结果链接(如图8和图9的流程图中的各操作所述)以及在此所描述的其他操作。处理器312所执行的各操作可由操作系统360、应用软件370、中间件、或其他代码来请求,或者本发明的各步骤可由包含执行所述步骤的硬连线逻辑的特定硬件构件、或由编程后的计算机构件与定制硬件构件的任何组合执行。
本发明可被提供为计算机程序产品,其包含在计算机或机器可读介质中,计算机可读程序的可执行指令存储在此介质中,当在计算机系统300上执行所述指令时,将导致计算机系统300执行本发明的过程。此处使用的术语“计算机可读介质”或“机器可读介质”包含任何参与提供指令至计算机系统300的处理器312、或其他构件以便执行的介质。此类介质可采取许多形式,其包含但不限于存储型介质(例如非易失性介质以及易失性介质)与传输介质。非易失性介质的一般形式包含例如软盘、硬盘、磁带或任何其他磁性介质、光盘ROM(CD-ROM)或任何其他光学介质、打孔卡、或任何其他具有孔洞图案的物理介质、可编程ROM(PROM)、可擦除PROM(EPROM)、电EPROM(EEPROM)、闪存、任何其他存储器芯片或盒带、或任何其他计算机系统300可读取并适合存储指令的介质。在本实施例中,非易失性介质的示例是大容量存储设备318,如图所示是计算机系统300的内部构件,但将理解的是,此介质亦可为外部设备。易失性介质包含动态存储器,例如RAM 314。传输介质包含同轴缆线、铜线或光纤,其包含具有总线322的线。传输介质亦可为声音或光波的形式,例如在射频或红外线数据通信期间所产生的声音或光波。
此外,本发明亦可作为计算机程序产品下载或分布,其中计算机可读程序指令可从远程计算机(例如服务器340),利用载波内所体现的数据信号或其他传播介质,通过网络202到网络链路344(例如调制解调器或网络连接)再到耦接总线322的通信接口322,进而传输至发出请求的计算机系统300。在一个示例中,如果处理器312包含多个处理器组件,则处理器组件间所分布的处理任务(不管是本地的还是通过网络)可代表计算机程序产品,其中处理任务包含用于执行过程或程序指令以便访问Java(Java是Sun Microsystems,Inc.的注册商标)对象或其他可执行程序以便执行过程的程序指令。通信接口332包含双向数据通信,其耦接可与例如局域网(LAN)、广域网(WAN)、或直接连接因特网服务提供商(SIP)的网络链路334。具体地说,网络链路334可提供有线及/或无线网络通信至一个或多个网络,如网络202。此外,虽未图示,通信接口332可包含软件(如设备驱动程序)、硬件(如适配器)及允许通信的其他控制器。当计算机系统300实现为服务器时,其可包含可通过多个外围构件互连(PCI)总线桥接器(连接到例如输入/输出控制器)访问的多个通信接口。这样,计算机系统300可通过多个单独端口与多个客户端连接,且每个端口亦可支持到多个客户端的多个连接。
网络链路334及网络202二者皆使用承载数字数据流的电、电磁或光信号。通过各种网络的信号以及网络链路334上和经过通信接口332的信号(其携带数字数据往返于计算机系统300)可为传输信息的载波的形式。此外,计算机系统300可包含多个促进输入与输出的外围构件。这些外围构件连接到多个控制器、适配器及扩充槽,例如输入/输出(I/O)接口326,其耦接到总线322的多层中的其中一层。输入设备324可包含例如麦克风、视频捕获设备、身体扫描系统、键盘、鼠标、或其他输入外围设备,在总线322上可通信地启用输入设备324以通过I/O接口326控制输入。此外,在总线322上可通信地启用输出设备320以通过I/O接口326控制输出,所述设备可包含例如一个或多个图形显示设备、音频扬声器、及触觉检测输出接口,但亦可包含其他输出接口。在本发明的备选实施例中,亦可添加额外或替换输入及输出外围构件。
本领域的技术人员将理解,图3所示的硬件可做不同的变化。此外,本领域的技术人员将理解,所示示例并非暗示关于本发明的架构限制。例如,计算机系统300亦可为平板计算机、手提电脑、或电话设备。
参考图4,其是示出支持可同时支持多个VIPA的多个适配器的有效故障转移的网络堆栈的方块图。重要的是指出,网络堆栈400的各层与构件可分布于多个存储器构件、多个设备、多个接口、多个计算系统、以及多个网络及网络设备(如路由器)之间。此外,重要的是指出,实施本发明的网络堆栈可包含网络堆栈400所示以外的额外或替换层、过程及数据。
在此示例中,参考接收主机与请求主机两者描述网络堆栈400。在一个示例中,当网络堆栈400代表接收主机时,网络堆栈400接收来自一个或多个请求主机的请求。在一个示例中,当网络堆栈400代表请求主机时,网络堆栈400发送请求到一接收主机或一个或多个外部主机。
在此示例中,网络堆栈400包含内核层404。内核层404可包含但不限于一种或多种类型的操作系统的一个或多个实例(如操作系统360的实例)、一个或多个中间件的实例(如允许集成多个计算机平台的WebSphere(Websphere是国际商业机器公司的注册商标)中间件)。
在此示例中,内核404可维护路由表406。路由表406可包含硬件、IP、及可通过网络访问的其他主机的其他层的寻址,并且可包括一个或多个网关的接口寻址。在一个示例中,内核404可针对其他主机维护所访问地址的高速缓存,并应用规则(如从已经访问主机以来的时间段)以确定在高速缓存中维护哪些地址。
此外,在此示例中,网络堆栈400包含TCP/IP层408。在多VIPA故障转移控制器232的一个实现中,TCP/IP层408具有VIPA列表410。VIPA列表410包含网络堆栈400所支持的全系统的IP地址及VIPA的列表。通过多VIPA故障转移控制器232内的设置或过程,适配器层420被设置为对于入站分组(如入站ARP分组),将根据VIPA列表410检查入站分组内所请求的IP地址,以确定网络堆栈400是否支持此IP地址。
通过将网络堆栈400设置为根据VIPA列表410检查入站分组IP,适配器层420内的适配器414、416及418中的一个适配器可接受目的地为VIPA列表410内的任何VIPA的数据。具体地说,虽然VIPA列表410示为在TCP/IP层408内实现,但重要的是指出,VIPA列表410以及将分组IP与VIPA列表相比较可在其他层(如适配器层420)中执行。此外,重要的是指出,不同层或不同层内的不同构件可维护VIPA列表410的单独实例。
在此示例中,网络堆栈400是接收主机,而适配器层420接收对VIPA列表410内的任何VIPA的ARP请求,此请求被推送到TCP/IP层408,后者确定ARP请求内的IP为VIPA列表410内的一个VIPA。TCP/IP层408接着触发适配器层420以在网络上将ARP响应发送到请求主机。具体地说,TCP/IP层408触发每个适配器414、416及418,将对请求的VIPA的ARP响应发送到请求主机,每个适配器都指定具有该适配器的MAC地址和所请求的VIPA的ARP响应。
在此示例中,适配器层420中的每个适配器都分配有一MAC硬件地址。例如,MAC1分配给适配器414,MAC2分配给适配器416,以及MAC3分配给适配器418。将理解的是,适配器414、416、及418亦可分配有多个硬件地址、一个硬件地址和一个网络地址、或其他类型的寻址。此外,将理解的是,适配器层420可包含适配器414、416及418以外的额外或替换适配器。
在此示例中,如果VIPA列表410包含VIPA1与VIPA2,则响应于网络堆栈400接收到对VIPA1的ARP请求,适配器414将传送具有VIPA1、MAC1的ARP答复,适配器416将传送具有VIPA1、MAC2的ARP答复,及适配器418将传送具有VIPA1、MAC3的ARP答复。此外,在此示例中,响应于网络堆栈400收到对VIPA2的ARP请求,适配器414将传送具有VIPA2、MAC1的ARP答复,适配器416将传送具有VIPA2、MAC2的ARP答复,及适配器418将传送具有VIPA2、MAC3的ARP答复。
如果网络堆栈400代表请求主机,则网络堆栈400可接收到对一VIPA的特定ARP请求的多个ARP答复,每个答复具有不同的MAC地址。网络堆栈400的至少一个层(如内核层404)应用ARP规则以选择ARP答复之一并将其缓存在路由表406或其他高速缓存内,并丢弃其他ARP答复。此外,在备选实施例中,网络堆栈400可缓存特定ARP请求的所有ARP答复,但仅选择一个ARP答复来传送分组,并通过ARP答复之一内的所选MAC地址从TCP/IP层412绑定至VIPA地址。
返回代表接收主机的网络堆栈400,在网络堆栈400内的一个或多个层处工作的多VIPA故障转移控制器232中的故障转移控制器412检测适配器故障,并触发运行中的适配器以广播所有VIPA的ARP更新。例如,如果故障转移控制器412检测到适配器414的故障或移除,则故障转移控制器412触发适配器416与418,以为VIPA列表410中的每个VIPA广播ARP更新。
在此示例中,如果VIPA列表410包含VIPA1与VIPA2,则响应于故障转移控制器412检测到适配器(如适配器414)的故障转移,适配器416广播具有VIPA1、MAC2的ARP更新以及具有VIPA2、MAC2的ARP更新,并且适配器418广播具有VIPA1、MAC3的ARP更新以及具有VIPA2、MAC3的ARP更新。
在一个示例中,故障转移控制器412在内核层404内实现。具体地说,在一个示例中,内核层404能够检测任何适配器414、416或418内的故障,如通过监视设备驱动器并维护每个适配器的状态。当内核层404能够检测故障时,如果一个或多个适配器中发生故障,则内核层404通过故障转移控制器412指示TCP/IP层408在运行中的适配器上针对VIPA列表410内的所有VIPA发出ARP更新。
在另一示例中,例如当适配器414、416及418代表交换机时,在内核层404无法检测交换机内的故障的情况下,故障转移控制器412在TCP/IP层408、适配器层420或另一层内实现。具体地说,在一个示例中,如果TCP/IP层408、适配器层420或另一层能够检测到适配器中未向上传递给内核层404的故障,则故障转移控制器412可在TCP/IP层408、适配器层420或另一层中实现,以在一个或多个适配器内发生故障时,触发TCP/IP层408或适配器层420在运行中的适配器上针对VIPA列表410内的所有VIPA发出ARP更新。
通过网络广播ARP更新,使得网络中读取MAC地址的所有其他主机将检测到表示物理地址已改变的ARP更新。在一个示例中,ARP更新包含与ARP答复相同的标头或其他标识符,但ARP更新一般在网络中广播。在另一示例中,ARP更新可包含与ARP答复不同的标头或其他标识符,标识此寻址是对先前所接收的寻址的更新。
返回代表请求主机的网络堆栈400,当网络堆栈400接收到广播的ARP更新时,内核层4004使用ARP更新内所广播的一个MAC地址,根据选择VIPA的一个ARP更新以及丢弃同一VIPA的其他ARP更新的ARP规则,为每个VIPA更新路由表406。在此示例中,当请求主机与接收主机间建立了目前的连接时,请求主机会绑定到请求主机的IP,而非物理地址。通过在请求主机处接收ARP更新内的所有VIPA的更新后的MAC地址,如果请求主机目前与接收主机处已更新的VIPA之一相连,则接收主机可将发送到VIPA的任何新分组都重定向到更新后的运行中MAC地址中的一个地址,而不中断目前的连接。
参考图5,其是示出在多个主机与网关主机间发送的ARP分组的一个示例的流程图,其中所述网关主机支持可同时促进多个VIPA的多个适配器。
在此示例中,主机1 502用作请求主机并将对VIPA1的ARP请求发送到用作接收主机的网关506。网关506包含适配器1 508、适配器2 510、以及适配器3 512,它们都能同时支持表示为VIPA1与VIPA2的多个VIPA。网关506触发适配器1508、适配器2 510与适配器3 512中的每个适配器,以便通过发送ARP答复来响应来自主机1 502的ARP请求。在此示例中,适配器1 508发送具有VIPA1及MAC1的ARP答复,其中MAC1代表适配器1 508的硬件地址。类似地,在此示例中,适配器2 510发送具有VIPA1及MAC2的ARP答复,其中MAC2代表适配器2 510的硬件地址,而适配器3512发送具有VIPA1及MAC3的ARP答复,其中MAC3代表适配器3 512的硬件地址。
如图所示,主机1 502接收多个ARP答复,并通过应用ARP规则或其他规则来选择适配器1 508的ARP答复。主机1 502通过网关506的适配器1 508上的MAC1绑定到VIPA1。
此外,在此示例中,主机2 514用作请求主机,并将对VIPA2的ARP请求发送到用作接收主机的网关506。网关506触发适配器1 508、适配器2 510与适配器3 512中的每个适配器,以通过发送ARP答复来响应来自主机2 514的ARP请求。在此示例中,适配器1 508发送具有VIPA2及MAC1的ARP答复,适配器2 510发送具有VIPA2及MAC2的ARP答复,而适配器3 512发送具有VIPA2及MAC3的ARP答复。
如图所示,主机2 514接收多个ARP答复,并通过应用ARP规则或其他规则来选择适配器3 512的ARP答复。主机2 514通过网关506的适配器3 512上的MAC3绑定到VIPA2。
网关506接着检测适配器1 508内的故障。主机1 502与主机2 514可选择适配器1 508、适配器2 510及适配器3 512中的任何一个来发送目的地为VIPA1或VIPA2的分组,网关506触发适配器2 510与适配器3 512以广播VIPA1与VIPA2的ARP更新。在此示例中,适配器2 510广播由主机1 502和主机2 514两者检测的VIPA1、MAC2以及VIPA2、MAC2的ARP更新。此外,适配器3 512广播由主机1 502与主机2 514两者检测的VIPA1、MAC3与VIPA2、MAC3的ARP更新。
主机1 502接收VIPA1,MAC2;VIPA1,MAC3;VIPA2,MAC2;及VIPA2,MAC3的ARP更新,将VIPA1的缓存的MAC地址更新为MAC2或MAC3,并将任何新分组发送到更新后的缓存的MAC地址,而不中断与VIPA1的连接。主机2 514亦接收VIPA1,MAC2;VIPA1,MAC3;VIPA2,MAC2;以及VIPA2,MAC3的ARP更新,并更新VIPA2的缓存的MAC地址。在一个示例中,由于MAC3仍可供VIPA2使用,因此主机2 514可将MAC3作为VIPA2的缓存的地址,或者主机2 514可任意地选择缓存MAC2及MAC3中的一个或多个。
现在参考图6,其是示出包含网关的可在其中实现本发明的网络环境的示例的方块图。在此示例中,网络环境包含子网600,其中子网600内的主机可检测并响应彼此发出的ARP分组。例如,网关604、主机606、主机608、主机612及主机614通过局域网(LAN)610相互通信。网关604还经由互联网602与子网600以外的其他系统通信。此外,主机608代表可通过另一LAN 616而与其他系统(如主机618)通信的路由器。
在此示例中,子网600内的任何主机都可在LAN 610内广播ARP请求及ARP更新,它们可被子网600内的所有其他主机所接收。此外,在此示例中,主机608的网关604与路由器可提供一接口,子网600内的主机通过该接口访问子网600之外的系统。
网关604和主机606、608、612、614及618中的任何一个以及LAN 610、LAN 616及互联网602中的任何一个均可包含一个或多个适配器,并实现使得所述适配器能够同时支持多个VIPA的网络堆栈,例如实现网络堆栈400。例如,网关604可包含多个适配器,如参考图5中的网关506描述的多个适配器。
现在参考图7,其是示出支持可同时支持多个VIPA的多个适配器并支持失效网关检测的主机系统的示例的流程图。在此示例中,主机710支持失效网关检测(DGD)以便检测网关702是否出现故障。具体地说,主机710可包含或访问DGD控制器708,DGD控制器708控制网关702的接口是否工作的检测。在此示例中,主机710通过适配器1712与适配器2714之一将ping指令发送到网关702。网关702响应来自主机的ping指令,以确认网关702仍在工作。如果DGD控制器708未检测到对ping指令的响应,则DGD控制器708可检测到一失效网关,并试图标识备选网关或提供网关没有运行的警告。
在此示例中,主机710使得适配器1 712和适配器2 714能够同时支持多个VIPA。借助启用多个同时VIPA的支持连同DGD控制器708,主机710检测适配器1 712与适配器2 714之一何时发生故障,并使用运行中的适配器的硬件地址更新网关702,使网关702可响应到运行中的适配器的ping指令,而不会错误地触发DGD控制器708,使其检测到失效网关。
具体地说,在此示例中,通过交换机704与706,主机710与网关702间存在多个路径。DGD控制器708可通过适配器1 712,经过包含交换机714的路径,或通过适配器2 714,经过包含交换机706的路径,将ping指令发送到网关702。网关702可响应例如每二个ping指令。如果适配器2 714发生故障,则在ping指令响应通过交换机704路由到适配器1 712的情况下,DGD控制器708可检测到网关702仍在运行。然而,如果适配器2 714发生故障,则在ping指令响应通过交换机706路由到适配器2 714的情况下,DGD控制器708亦可检测到网关702未运行。因此,在DGD控制器708通过ping指令响应监视是否可访问网关702的同时,主机710检测每个适配器1 712与适配器2 714是否皆在运行,并在适配器1 712与适配器2 714中的任何一个发生故障时,将ARP更新发送到网关702。在此示例中,在适配器2 714发生故障的情况下,适配器1 712会将适配器1712所支持的所有VIPA的ARP更新发送到网关702。网关702接收ARP更新,并将ping指令响应的地址更新为适配器1 712的地址,使得DGD控制器708在主机710的适配器发生故障时,将不会检测到错误的失效网关,且使得主机710中的多VIPA故障转移控制器232在适配器故障转移的情况下,促进到网关702的“路径故障转移”。
在一个示例中,用户可选择单独使能多VIPA故障转移控制器232与DGD控制器708。在另一示例中,DGD控制器708可在多VIPA故障转移控制器232内实现并接收适配器故障的更新。
参考图8,其是示出接收主机的网络堆栈响应来自请求主机的请求的过程和程序的高级逻辑流程图,其中接收主机使得多个适配器能够同时支持多个VIPA。在此示例中,过程始于方决800,尔后继续至方块802。方块802示出了接收对与IP地址关联的硬件地址的请求。接着,方块804描述由接收主机在多个其所支持的VIPA的列表中查找所请求的IP地址。尔后,方块806示出了判定所请求的IP地址是否包含于VIPA列表中。如果所请求的IP地址未包括在VIPA列表中,则过程结束。如果所请求的IP地址包括在VIPA列表中,则过程继续至方块808。方块808示出了触发每个适配器以针对所请求的IP地址,将具有每个适配器的适配器指定的硬件地址的响应发送到请求主机,接着过程结束。所述请求可通过ARP请求实现,所述响应可通过ARP响应实现,而被指定的硬件地址可为MAC地址。
参考图9,其是示出当请求主机使得多个适配器能够同时支持多个VIPA时,接收主机的网络堆栈响应故障适配器以促进故障转移的过程和程序的高级流程图。在此示例中,过程始于方块900,尔后继续至方块902。方块902示出了判定网络堆栈是否检测到故障适配器。如前所述,网络堆栈的不同层可检测故障适配器,并将故障适配器的指示符传递给网络堆栈的另一层,或直接触发故障转移控制器。在方块902,当网络堆栈检测到故障适配器时,过程传递到方块904。方块904示出了触发每个剩余的运行适配器,以在网络上针对VIPA列表中的每个VIPA,广播具有适配器指定的硬件地址的更新,使得网络上的每个主机收到每个适配器的每个VIPA的更新,并且过程结束。此更新可通过ARP更新实现,而被指定的硬件地址可为MAC地址。
虽然参考优选实施例具体示出和描述了本发明,但本领域的技术人员将理解,可以在其中做出各种形式与细节上的更改而不偏离本发明的精神与范围。

Claims (19)

1.一种用于管理支持网络上的多个虚拟网际协议IP地址的主机内的故障转移的计算机实现的方法,所述方法包含:
使得所述主机的多个适配器中的任何适配器都能够同时支持分配给所述主机的所述多个虚拟IP地址中的任何虚拟IP地址;以及
响应于所述多个适配器中的至少一个特定适配器的故障,通过网络从所述多个适配器中的每个剩余适配器广播每个虚拟IP地址的单独硬件地址更新,使得对于支持所述多个虚拟IP地址的所述主机内的故障转移,所述主机引导可通过所述网络访问的至少一个其他主机将去往所述多个虚拟IP地址的任何新分组都寻址到所述剩余适配器之一的所述单独硬件地址中的一个地址。
2.如权利要求1中所述的方法,其中使得所述主机的多个适配器中的任何适配器都能够同时支持分配给所述主机的所述多个虚拟IP地址中的任何虚拟IP地址的步骤进一步包含:
配置所述主机上的网络堆栈,以将在所述主机处接收的ARP请求中指定的IP地址与所述多个虚拟IP地址的列表相比较,以确定所述主机是否支持所述多个虚拟IP地址的所述列表中的IP地址。
3.如权利要求1或2中所述的方法,还包含:
响应于所述主机从所述至少一个其他主机中的请求主机接收到对与所述多个虚拟IP地址中的特定虚拟IP地址匹配的特定IP地址的ARP请求,触发所述多个适配器中的每个适配器,以将具有用于所述特定虚拟IP地址的所述适配器的每个硬件地址的ARP响应发送到所述请求主机,其中所述请求主机存储来自所述多个适配器的所述多个ARP响应中的一个响应。
4.如权利要求1或2中所述的方法,还包含:
响应于所述至少一个其他主机接收到多个所述更新,由所述至少一个其他主机将到所述多个虚拟IP地址之一的已绑定连接重定向到所述剩余适配器之一的所述单独硬件地址中的一个特定硬件地址。
5.如权利要求1或2中所述的方法,其中通过所述网络的每个虚拟IP地址的所述单独硬件地址更新是指定每个虚拟IP地址的MAC地址的单独ARP更新。
6.如权利要求1或2中所述的方法,其中所述主机是子网与至少一个其他网络之间的网关。
7.如权利要求1或2中所述的方法,还包含由所述主机将ping指令周期性地发送到包含网关的所述至少一个其他主机,以确定在所述网关返回对所述ping指令的响应的情况下,所述网关是否正在运行。
8.一种用于管理故障转移的系统,所述系统包含:
主机,其包含用于使得所述主机的多个适配器中的任何适配器都能够同时支持分配给所述主机的多个虚拟网际协议IP地址中的任何虚拟IP地址的网络层;
所述主机通过网络可通信地连接到至少一个其他主机;以及
所述主机还包含:所述网络层响应于所述多个适配器中的至少一个特定适配器的故障,通过网络从所述多个适配器中的每个剩余适配器广播每个虚拟IP地址的单独硬件地址更新,其中对于支持所述多个虚拟IP地址的所述主机内的故障转移,所述网络层引导可通过所述网络访问的至少一个其他主机将去往所述多个虚拟IP地址的任何新分组都寻址到所述剩余适配器之一的所述单独硬件地址中的一个地址。
9.如权利要求8中所述的系统,其中所述用于使得所述主机的多个适配器中的任何适配器都能够同时支持分配给所述主机的多个虚拟网际协议IP地址中的任何虚拟IP地址的网络层进一步包含:
传输层,其用于配置所述主机上的网络堆栈,以将在所述主机处接收的ARP请求中指定的IP地址与所述多个虚拟IP地址的列表相比较,以确定所述主机是否支持所述多个虚拟IP地址的所述列表中的IP地址。
10.如权利要求8或9中所述的系统,所述主机还包含:所述网络层响应于所述主机从所述至少一个其他主机中的请求主机接收到对与所述多个虚拟IP地址中的特定虚拟IP地址匹配的特定IP地址的ARP请求,触发所述多个适配器中的每个适配器,以将具有用于所述特定虚拟IP地址的所述适配器的每个硬件地址的ARP响应发送到所述请求主机,其中所述请求主机存储来自所述多个适配器的所述多个ARP响应中的一个响应。
11.如权利要求8或9中所述的系统,还包含:所述至少一个其他主机响应于所述至少一个其他主机接收到多个所述更新,将到所述多个虚拟IP地址之一的已绑定连接重定向到所述剩余适配器之一的所述单独硬件地址中的一个特定硬件地址。
12.如权利要求8或9中所述的系统,其中通过所述网络的每个虚拟IP地址的所述单独硬件地址更新是指定每个虚拟IP地址的MAC地址的单独ARP更新。
13.如权利要求8或9中所述的系统,其中所述主机是子网与至少一个其他网络之间的网关。
14.如权利要求8或9中所述的系统,还包含:所述主机将ping指令周期性地发送到包含网关的所述至少一个其他主机,以确定在所述网关返回对所述ping指令的响应的情况下,所述网关是否正在运行。
15.一种用于管理支持网络上的多个虚拟网际协议IP地址的主机内的故障转移的计算机实现的设备,所述设备包含:
配置为使得所述主机的多个适配器中的任何适配器都能够同时支持分配给所述主机的所述多个虚拟IP地址中的任何虚拟IP地址的装置;以及
配置为响应于所述多个适配器中的至少一个特定适配器的故障,通过网络从所述多个适配器中的每个剩余适配器广播每个虚拟IP地址的单独硬件地址更新,使得对于支持所述多个虚拟IP地址的所述主机内的故障转移,所述主机引导可通过所述网络访问的至少一个其他主机将去往所述多个虚拟IP地址的任何新分组都寻址到所述剩余适配器之一的所述单独硬件地址中的一个地址的装置。
16.如权利要求15中所述的设备,其中所述配置为使得所述主机的多个适配器中的任何适配器都能够同时支持分配给所述主机的所述多个虚拟IP地址中的任何虚拟IP地址的装置进一步包含:
配置为配置所述主机上的网络堆栈,以将在所述主机处接收的ARP请求中指定的IP地址与所述多个虚拟IP地址的列表相比较,以确定所述主机是否支持所述多个虚拟IP地址的所述列表中的IP地址的模块。
17.如权利要求15或16中所述的设备,进一步包含:
配置为响应于所述主机从所述至少一个其他主机中的请求主机接收到对与所述多个虚拟IP地址中的特定虚拟IP地址匹配的特定IP地址的ARP请求,触发所述多个适配器中的每个适配器,以将具有用于所述特定虚拟IP地址的所述适配器的每个硬件地址的ARP响应发送到所述请求主机的装置,其中所述请求主机存储来自所述多个适配器的所述多个ARP响应中的一个响应。
18.如权利要求15或16中所述的设备,进一步包含:
配置为响应于所述至少一个其他主机接收到多个所述更新,由所述至少一个其他主机将到所述多个虚拟IP地址之一的已绑定连接重定向到所述剩余适配器之一的所述单独硬件地址中的一个特定硬件地址的装置。
19.如权利要求15或16中所述的设备,其中通过所述网络经由指定每个虚拟IP地址的MAC地址的单独ARP更新来更新每个虚拟IP地址的所述单独硬件地址更新。
CN2008801187554A 2007-12-18 2008-11-24 在多个适配器间同时支持多个虚拟ip地址的主机中的故障转移 Active CN101884208B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/958,548 US7913106B2 (en) 2007-12-18 2007-12-18 Failover in a host concurrently supporting multiple virtual IP addresses across multiple adapters
US11/958,548 2007-12-18
PCT/EP2008/066080 WO2009077292A1 (en) 2007-12-18 2008-11-24 Failover in a host concurrently supporting multiple virtual ip addresses across multiple adapters

Publications (2)

Publication Number Publication Date
CN101884208A CN101884208A (zh) 2010-11-10
CN101884208B true CN101884208B (zh) 2013-06-12

Family

ID=40416946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008801187554A Active CN101884208B (zh) 2007-12-18 2008-11-24 在多个适配器间同时支持多个虚拟ip地址的主机中的故障转移

Country Status (10)

Country Link
US (1) US7913106B2 (zh)
EP (1) EP2232828B1 (zh)
JP (1) JP4897927B2 (zh)
KR (1) KR101442309B1 (zh)
CN (1) CN101884208B (zh)
AT (1) ATE504153T1 (zh)
CA (1) CA2699314C (zh)
DE (1) DE602008005937D1 (zh)
TW (1) TWI448131B (zh)
WO (1) WO2009077292A1 (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5074290B2 (ja) * 2008-05-13 2012-11-14 株式会社日立国際電気 冗長切替システム、冗長管理装置およびアプリケーション処理装置
JP5498102B2 (ja) * 2009-09-02 2014-05-21 アラクサラネットワークス株式会社 ネットワークシステム、ネットワーク中継装置、それらの制御方法
DE102010052394B4 (de) * 2010-11-24 2019-01-03 Kuka Roboter Gmbh Robotersystem mit einem Roboter und zwei wechselweise mit diesem verbindbaren Einrichtungen sowie Verfahren zum Wechseln dieser Einrichtungen
US9300491B2 (en) 2011-02-11 2016-03-29 Qualcomm Incorporated Frame delivery path selection in hybrid communication networks
US9025603B2 (en) 2011-03-08 2015-05-05 Qualcomm Incorporated Addressing scheme for hybrid communication networks
CN103460653A (zh) * 2011-03-31 2013-12-18 日本电气株式会社 计算机系统和通信方法
US20120311183A1 (en) * 2011-06-01 2012-12-06 Kutch Patrick G Circuitry to maintain correlation between sets of addresses
US9154367B1 (en) * 2011-12-27 2015-10-06 Google Inc. Load balancing and content preservation
US20130194912A1 (en) 2012-01-27 2013-08-01 International Business Machines Corporation Sea failover mechanism with minimized packet losses
US9286171B2 (en) * 2013-12-12 2016-03-15 International Business Machines Corporation Priming failover of stateful offload adapters
EP3140734B1 (en) 2014-05-09 2020-04-08 Nutanix, Inc. Mechanism for providing external access to a secured networked virtualization environment
TWI597953B (zh) 2015-11-25 2017-09-01 財團法人工業技術研究院 具故障轉移能力的快速周邊元件互連網路系統與操作方法
CN105376095A (zh) * 2015-11-26 2016-03-02 曙光信息产业股份有限公司 一种访问ip均衡方法及装置
US10540165B2 (en) 2016-02-12 2020-01-21 Nutanix, Inc. Virtualized file server rolling upgrade
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
US10728090B2 (en) 2016-12-02 2020-07-28 Nutanix, Inc. Configuring network segmentation for a virtualization environment
US11568073B2 (en) 2016-12-02 2023-01-31 Nutanix, Inc. Handling permissions for virtualized file servers
US11562034B2 (en) 2016-12-02 2023-01-24 Nutanix, Inc. Transparent referrals for distributed file servers
US10824455B2 (en) 2016-12-02 2020-11-03 Nutanix, Inc. Virtualized server systems and methods including load balancing for virtualized file servers
US11294777B2 (en) 2016-12-05 2022-04-05 Nutanix, Inc. Disaster recovery for distributed file servers, including metadata fixers
US11288239B2 (en) 2016-12-06 2022-03-29 Nutanix, Inc. Cloning virtualized file servers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
US11086826B2 (en) 2018-04-30 2021-08-10 Nutanix, Inc. Virtualized server systems and methods including domain joining techniques
US11194680B2 (en) 2018-07-20 2021-12-07 Nutanix, Inc. Two node clusters recovery on a failure
US11770447B2 (en) 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up
US11706298B2 (en) * 2021-01-21 2023-07-18 Cohesity, Inc. Multichannel virtual internet protocol address affinity

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1554055A (zh) * 2001-07-23 2004-12-08 �Ƚ�΢װ�ù�˾ 高可用性集群虚拟服务器系统
US6941384B1 (en) * 2000-08-17 2005-09-06 International Business Machines Corporation Methods, systems and computer program products for failure recovery for routed virtual internet protocol addresses
US7020796B1 (en) * 2001-07-27 2006-03-28 Ciena Corporation High availability communication system

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978938A (en) * 1996-11-19 1999-11-02 International Business Machines Corporation Fault isolation feature for an I/O or system bus
US5917997A (en) 1996-12-06 1999-06-29 International Business Machines Corporation Host identity takeover using virtual internet protocol (IP) addressing
US7039008B1 (en) * 1997-05-02 2006-05-02 Cisco Technology, Inc. Method and apparatus for maintaining connection state between a connection manager and a failover device
US6108300A (en) * 1997-05-02 2000-08-22 Cisco Technology, Inc Method and apparatus for transparently providing a failover network device
US7055173B1 (en) * 1997-12-19 2006-05-30 Avaya Technology Corp. Firewall pooling in a network flowswitch
US6078957A (en) * 1998-11-20 2000-06-20 Network Alchemy, Inc. Method and apparatus for a TCP/IP load balancing and failover process in an internet protocol (IP) network clustering system
US6430622B1 (en) * 1999-09-22 2002-08-06 International Business Machines Corporation Methods, systems and computer program products for automated movement of IP addresses within a cluster
US6657974B1 (en) 2000-04-14 2003-12-02 International Business Machines Corporation Method and apparatus for generating replies to address resolution protocol requests
US6675206B1 (en) 2000-04-14 2004-01-06 International Business Machines Corporation Method and apparatus for generating replies to address resolution protocol requests for virtual IP addresses
US6718383B1 (en) * 2000-06-02 2004-04-06 Sun Microsystems, Inc. High availability networking with virtual IP address failover
US6996617B1 (en) * 2000-08-17 2006-02-07 International Business Machines Corporation Methods, systems and computer program products for non-disruptively transferring a virtual internet protocol address between communication protocol stacks
US7146432B2 (en) * 2001-01-17 2006-12-05 International Business Machines Corporation Methods, systems and computer program products for providing failure recovery of network secure communications in a cluster computing environment
US7426566B2 (en) * 2001-01-17 2008-09-16 International Business Machines Corporation Methods, systems and computer program products for security processing inbound communications in a cluster computing environment
US7107350B2 (en) * 2001-01-17 2006-09-12 International Business Machines Corporation Methods, systems and computer program products for security processing outbound communications in a cluster computing environment
US7061942B2 (en) * 2002-05-31 2006-06-13 Skystream Networks Inc. Apparatus for redundant multiplexing and remultiplexing of program streams and best effort data
JP3932994B2 (ja) * 2002-06-25 2007-06-20 株式会社日立製作所 サーバ引継システムおよびその方法
US7152179B1 (en) * 2002-09-19 2006-12-19 Cisco Technology, Inc. IP redundancy with improved failover notification
US7835265B2 (en) * 2002-10-31 2010-11-16 Conexant Systems, Inc. High availability Ethernet backplane architecture
JP2004220216A (ja) * 2003-01-14 2004-08-05 Hitachi Ltd San/nas統合型ストレージ装置
US7814232B2 (en) * 2003-03-28 2010-10-12 Cisco Technology, Inc. Network address translation with gateway load distribution
US20050010837A1 (en) * 2003-07-10 2005-01-13 International Business Machines Corporation Method and apparatus for managing adapters in a data processing system
US20050125557A1 (en) * 2003-12-08 2005-06-09 Dell Products L.P. Transaction transfer during a failover of a cluster controller
US7760626B2 (en) * 2004-03-31 2010-07-20 Intel Corporation Load balancing and failover
US7506214B2 (en) * 2004-04-22 2009-03-17 International Business Machines Corporation Application for diagnosing and reporting status of an adapter
US7275175B2 (en) * 2004-07-22 2007-09-25 International Business Machines Corporation Method and apparatus for high-speed network adapter failover
US7505401B2 (en) * 2005-01-31 2009-03-17 International Business Machines Corporation Method, apparatus and program storage device for providing mutual failover and load-balancing between interfaces in a network
JP4405941B2 (ja) * 2005-05-26 2010-01-27 日本電信電話株式会社 回線冗長化方法およびこれに用いる中継装置
US8195736B2 (en) * 2006-08-08 2012-06-05 Opnet Technologies, Inc. Mapping virtual internet protocol addresses
US7743155B2 (en) * 2007-04-20 2010-06-22 Array Networks, Inc. Active-active operation for a cluster of SSL virtual private network (VPN) devices with load distribution
US20080285436A1 (en) * 2007-05-15 2008-11-20 Tekelec Methods, systems, and computer program products for providing site redundancy in a geo-diverse communications network
US9009327B2 (en) * 2007-08-03 2015-04-14 Citrix Systems, Inc. Systems and methods for providing IIP address stickiness in an SSL VPN session failover environment
US8132247B2 (en) * 2007-08-03 2012-03-06 Citrix Systems, Inc. Systems and methods for authorizing a client in an SSL VPN session failover environment
US8020203B2 (en) * 2007-12-03 2011-09-13 Novell, Inc. Techniques for high availability of virtual private networks (VPN's)
US20100097925A1 (en) * 2008-10-16 2010-04-22 International Business Machines Corporation Selective routing traffic controls and automated recovery among parallel multi-access interfaces

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6941384B1 (en) * 2000-08-17 2005-09-06 International Business Machines Corporation Methods, systems and computer program products for failure recovery for routed virtual internet protocol addresses
CN1554055A (zh) * 2001-07-23 2004-12-08 �Ƚ�΢װ�ù�˾ 高可用性集群虚拟服务器系统
US7020796B1 (en) * 2001-07-27 2006-03-28 Ciena Corporation High availability communication system

Also Published As

Publication number Publication date
ATE504153T1 (de) 2011-04-15
CN101884208A (zh) 2010-11-10
JP4897927B2 (ja) 2012-03-14
DE602008005937D1 (de) 2011-05-12
EP2232828A1 (en) 2010-09-29
WO2009077292A1 (en) 2009-06-25
KR20100097694A (ko) 2010-09-03
US7913106B2 (en) 2011-03-22
TW200943877A (en) 2009-10-16
EP2232828B1 (en) 2011-03-30
US20090158082A1 (en) 2009-06-18
JP2011507426A (ja) 2011-03-03
CA2699314C (en) 2016-03-29
CA2699314A1 (en) 2009-06-25
TWI448131B (zh) 2014-08-01
KR101442309B1 (ko) 2014-09-23

Similar Documents

Publication Publication Date Title
CN101884208B (zh) 在多个适配器间同时支持多个虚拟ip地址的主机中的故障转移
CA2751733C (en) Providing logical networking functionality for managed computer networks
CN113950816A (zh) 使用边车代理机构提供多云微服务网关的系统和方法
CN107005471B (zh) 通用客户驻地设备
US20130159487A1 (en) Migration of Virtual IP Addresses in a Failover Cluster
US20080098113A1 (en) Stateful firewall clustering for processing-intensive network applications
CN108234191A (zh) 云计算平台的管理方法和装置
US7567505B2 (en) VRRP technology keeping VR confidentiality
US6651093B1 (en) Dynamic virtual local area network connection process
CN101175000A (zh) 一种自动检测ip地址的方法及装置
US20050220109A1 (en) Routing table synchronization method, network apparatus, and routing table synchronization program
CN110768862B (zh) 一种云平台物理链路连通性检测装置、方法及系统
JP4645236B2 (ja) ネットワーク機器のアドレス自動設定方法及びシステム
US20140067924A1 (en) Remote procedure call for a distributed system
KR20060121237A (ko) 라우터 기능성을 자동으로 전송하는 방법
JPH1027146A (ja) 通信処理装置及び通信処理方法
US11825247B2 (en) Wiring information generation system, and wiring information generation method
US20200274791A1 (en) Multi-vrf and multi-service insertion on edge gateway virtual machines
CN108965494A (zh) 数据系统中数据传输方法和装置
JP7249820B2 (ja) ゲートウェイ装置、ネットワークシステム、制御方法、及びプログラム
WO2023231836A1 (zh) 一种文件同步方法、装置、设备及存储介质
US20220200698A1 (en) Failure determination system and failure determination method
KR20240007787A (ko) 엣지 플랫폼의 l2 관리를 지원하는 엣지 플랫폼 관리 장치 및 이의 운용 방법
KR20010090635A (ko) 다중화 서버 시스템을 위한 통신 시스템 및 방법
CN115051948A (zh) 一种vpc分布式网元数据传输方法及装置、电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant