CN102144382B - 用于冗余服务器自动故障转移的方法和系统 - Google Patents

用于冗余服务器自动故障转移的方法和系统 Download PDF

Info

Publication number
CN102144382B
CN102144382B CN200980132436.3A CN200980132436A CN102144382B CN 102144382 B CN102144382 B CN 102144382B CN 200980132436 A CN200980132436 A CN 200980132436A CN 102144382 B CN102144382 B CN 102144382B
Authority
CN
China
Prior art keywords
server
active
server system
active server
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.)
Expired - Fee Related
Application number
CN200980132436.3A
Other languages
English (en)
Other versions
CN102144382A (zh
Inventor
J·T-S·谭
M·F·瑞安
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.)
Intelligent Platforms LLC
Original Assignee
GE Fanuc Automation North America Inc
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 GE Fanuc Automation North America Inc filed Critical GE Fanuc Automation North America Inc
Publication of CN102144382A publication Critical patent/CN102144382A/zh
Application granted granted Critical
Publication of CN102144382B publication Critical patent/CN102144382B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • 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/2025Failover techniques using centralised failover control functionality
    • 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
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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
    • 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/2048Error 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 where the redundant components share neither address space nor persistent storage

Abstract

提供了用于冗余服务器自动故障转移系统(100)的方法和系统。该系统包括在通信上耦合到网络(130)的多个客户端设备(106),其中该多个客户端设备每个都包括活动服务器标识位置。该系统还包括在通信上耦合到网络的第一服务器系统,其配置为作为网络上的活动服务器(102)操作,其中,使用每个客户端设备上的活动服务器标识位置将发送到第一服务器系统的消息寻址到第一服务器系统。该系统进一步包括在通信上耦合到网络的第二服务器系统,该第二服务器系统配置为作为网络上的备用服务器(104)操作并配置为当确定第一服务器系统不能作为活动服务器操作时切换成网络上的活动服务器。

Description

用于冗余服务器自动故障转移的方法和系统
技术领域
本发明一般涉及进程控制网络,以及更具体地涉及用于进程控制网络中冗余服务器的自动故障转移(failover)的系统和方法。
背景技术
至少一些已知的进程控制网络包括经由局域网(LAN)连接到一对冗余SCADA服务器的多个HMI客户端。一个SCADA服务器作为活动服务器受到控制,而另一SCADA服务器处于备用模式。数据在SCADA服务器之间同步。当活动服务器由于各种原因从网络中断开或者失效时,备用SCADA切换成活动角色。多个HMI客户端需要切换到新近活动SCADA服务器从而以最小中断来询问和处理进程数据。使用冗余方案的问题之一在于每个客户端需要具有到逻辑对的活动SCADA服务器的连接。在这种已知网络中,为了保持到活动SCADA服务器的持续连接,在每个HMI客户端上运行的自定义脚本或应用轮询SCADA服务器对的状态,并当活动连接失效时在它们之间切换。然而,这样的轮询增加每个HMI客户端的计算开销且引起网络上增加的业务。另外,管理HMI客户端处的自定义脚本或应用引入了配置错误和兼容性问题的可能性。
发明内容
在一个实施例中,用于冗余服务器自动故障转移系统的系统包括在通信上耦合到网络的多个客户端设备,其中多个客户端设备每个包括活动服务器标识位置。该系统还包括在通信上耦合到网络的第一服务器系统,其配置为作为网络上的活动服务器操作,其中,使用每个客户端设备上的活动服务器标识位置将发送到第一服务器系统的消息寻址到第一服务器系统。该系统进一步包括在通信上耦合到网络的第二服务器系统,该第二服务器系统配置为作为网络上的备用服务器操作并配置为当确定第一服务器系统不能作为活动服务器操作时切换成网络上的活动服务器。活动服务器标识位置配置为当第一服务器系统不能作为活动服务器操作时接收活动服务器标识。
在另一个实施例中,用于自动故障转移的方法包括作为网络上的活动服务器操作第一服务器系统,其中第一服务器系统配置为与多个客户端通信。使用发送客户端上的活动服务器标识位置将发送到第一服务器系统的消息寻址到第一服务器系统。该方法还包括作为网络上的备用服务器操作第二服务器系统,当确定第一服务器系统不能作为活动服务器操作时将第二服务器切换成网络上的活动服务器,并且将多个客户端上的活动服务器标识位置改为第二服务器系统的标识。
在又一个实施例中,冗余服务器系统包括网络,在通信上耦合到所述网络并可作为所述网络上的活动服务器操作的第一服务器系统,在通信上耦合到所述网络并可作为所述网络上的备用服务器操作的第二服务器系统,以及在通信上耦合到所述网络的多个客户端,多个客户端中的至少一部分包括活动服务器标识位置,该活动服务器标识位置包含网络上的活动服务器的标识。第二服务器系统配置为切换成活动服务器,以及多个客户端中的至少一个被编程以接收包括活动服务器的标识的消息并使用该消息改变与该客户端关联的活动服务器标识位置。
附图说明
图1和2显示了本文描述的方法和系统的示例性实施例。
图1是根据本发明的示例性实施例的冗余服务器系统100的示意框图;以及
图2是表格,其以各种操作行为示出了图1所示的服务器状态管理器的响应。
具体实施方式
以下的详细描述通过示例而非限定的方式阐明了本发明的实施例。可以预期本发明在工业、商业以及居住应用中具有对冗余控制系统的普遍应用。
如本文使用的,以单数叙述的以及在前使用不定冠词的元件或者步骤应当被理解为不排除复数个元件或步骤,除非明确叙述了这样的排除。进一步地,对本发明的“一个实施例”的引用无意被解释为排除也并入所叙述的特征的附加实施例的存在。
图1是根据本发明示例性实施例的冗余服务器系统100的示意框图。在示例性实施例中,冗余服务器对中的第一服务器102以活动模式操作。第一服务器102包括处理器103。冗余服务器对中的第二服务器104以备用模式操作。第二服务器104包括处理器105。诸如人机接口(HMI)的多个视图节点106包括第一视图节点108、第二视图节点110以及第N个视图节点112。多个视图节点106中的每个基于活动服务器102的标识将通信指引到活动服务器102,该活动服务器102的标识保存于存储在多个视图节点106的每个之内的相应活动服务器标识位置114、116以及118中。备用服务器104也基于保存于存储在备用服务器104之内的活动服务器标识位置120中的、活动服务器102的标识将通信指引到活动服务器102。此外,活动服务器102包括活动服务器标识位置122,它也存储作为活动服务器的活动服务器102的标识。
在示例性实施例中,多个视图节点106以及服务器102和104中的每个都在它们各自的活动服务器标识位置中包括活动服务器102。因此,活动服务器102被称为主服务器(master),并且备用服务器104被称为从服务器(slave)。诸如多个视图节点106以及服务器102和104的所有节点都应指向主服务器,主服务器在示例性实施例中为服务器102。不指向主服务器或者不把活动服务器102的标识包括在它们各自的活动服务器标识位置中的节点不能接收从活动服务器102可获得的所有第一故障转移逻辑模块124服务,或者这些服务可能延迟。例如,作为从服务器操作的备用服务器104不运行I/O驱动器而是从作为主服务器操作的活动服务器102获取数据库同步,因此从备用服务器104读取的数据可能不是最近的。指向从服务器的节点不能写数据至从服务器或者配置从服务器。另外,因为从服务器不运行被称为扫描、警报以及控制(SAC)的模块,节点将不接收任何新的警报。SAC程序负责仔细检查(look through)进程数据库以及决定什么位置和什么时候需要更新。
进一步地,将通信指引到从服务器并随后接收来自从服务器的通信的节点不能接收关于改变的最新信息,改变例如是当用户对活动服务器102执行设定点改变时的设定点改变。此外,如果从其中输入用户输入的信息的视图节点指向备用服务器104,则用户输入的信息不能更新活动服务器102的警报文件。
为了保证所有节点指向主服务器或活动服务器102,活动服务器102将视图节点拉向它。在故障转移以及在预定时间周期和/或事件时,主服务器将所有视图节点拉向它自己。为了将多个视图节点106中的一个视图节点拉向活动服务器102,活动服务器102告知视图节点活动服务器102的故障转移。活动服务器周期性地检查视图节点106的活动连接以及为不连接到活动服务器102的每个视图节点106写入活动服务器的标识。
逻辑对中的活动服务器102和视图节点106之间的这种故障转移连接对于用户是自动的和快速的,因为由活动服务器102拉视图节点106以和它通信,而不是每个视图节点106必须轮询服务器102和104来决定哪个是当前的活动服务器,然后必须使它自己在故障转移情况下切换到新的活动服务器102。活动服务器拉多个视图节点106中的每个便于最小化配置错误、消除对自定义脚本或应用的需要以及提供最大的可用性。
当服务器状态变成活动时使scada服务器“将客户端拉”向它允许使用在服务器上执行的软件而不是使用在多个视图节点106上的软件和硬件来翻新(retrofit)自动故障转移。活动故障转移还便于最小化视图节点106试图重试到新近禁用的或者断开连接的服务器的通信的时间量。
服务器102和104各保持具有到服务器102的活动连接的视图节点106或者HMI客户端的列表。当备用服务器104被指配活动状态时,现在的活动服务器104循环通过客户端列表并将每个上的逻辑连接切换到新近活动服务器。在示例性实施例中,逻辑连接按顺序切换。在备选实施例中,逻辑连接使用例如(但不局限于)广播消息来进行同时切换。新近活动服务器产生返回到每个视图节点106的双向连接,验证视图节点连接到哪个服务器,并调用远程过程来设置到新近活动服务器的逻辑连接。
第一故障转移逻辑模块124在服务器102上执行。第二故障转移逻辑模块126在服务器104上执行。同样地,当更多服务器存在时,每个可以执行各自的故障转移逻辑模块。多个视图节点106中的每个执行逻辑,该逻辑引起每个视图节点在到主服务器或活动服务器102的连接丢失时故障转移。如果多个视图节点106中的一个丢失了到主服务器的连接,则视图节点106故障而到(fails to)从服务器或备用服务器104。可通过修改配置域来禁用该视图节点逻辑。另外,可手动地或编程地使视图节点106故障而指向从服务器。当第一故障转移逻辑模块124在周期性或者事件驱动循环中将所有的视图节点106拉向它时,视图节点106在预定时间周期内故障返回到主服务器。服务器状态管理器128监视冗余服务器系统100,以确定网络130上操作的且连接的服务器中至少一个服务器的状态。典型地,操作的且连接到网络130的所有服务器不是处于备用模式,就是处于活动模式。然而,未连接的但操作的服务器、关机的服务器、或者供电损失的服务器的状态可被确定为未知状态。
另外,视图节点106执行周期性地读取服务器102和104上的网络状态显示(NSD)域的逻辑,以确定哪个服务器是主服务器。NSD域是用来观察关于网络状态的各种信息的数字和ASCII值的集合。视图节点106通过将确定的活动服务器的标识写入各自的活动服务器标识位置,保证其指向主服务器。
在启动期间,每个服务器确定其作为活动服务器102操作还是作为备用服务器104操作。然后,每个服务器建立用于进一步的处理的简单数据访问(EDA)组。EDA是用来访问实时进程数据的应用编程接口层。EDA组是对作为组读取的一个或多个数据位置的参考。如果在预定时间周期或预定事件时服务器确定其作为主服务器或活动服务器102操作,则服务器102将它自身的活动服务器标识位置设置给它自己,对于至少是进入(可以既是进入又是外出)的每个连接,服务器102或者将其自身的服务器标识传送到连接的视图节点中每个视图节点的活动服务器标识位置,或者请求视图节点传送在每个视图节点的活动服务器标识位置中的服务器位置。在示例性实施例中,读取EDA是按顺序的。在备选实施例中,读取EDA是并行的。
如果在预定时间或事件时服务器确定其作为从服务器或备用服务器104操作,则在必要情况下服务器104确定主服务器的标识,并接着将主服务器的标识写入到它自身的活动服务器标识位置中,从而使得主服务器不用必须将它的标识写入从服务器自身的活动服务器标识位置中。
在手动故障转移期间,第一故障转移逻辑模块124将从服务器的标识写入从服务器的活动服务器标识位置120中和主服务器的活动服务器标识位置122中。然后,主服务器掉线或者切换成从服务器,并且从服务器承担主服务器的角色。主服务器(之前是从服务器)将它的标识传送到多个视图节点106,以将它们拉入到和新主服务器的通信中。对于每个连接的视图节点106,将标识写入每个相应的活动服务器标识位置114、116和118。任何新视图节点106能够连接到服务器102或104,但是在当主服务器把所有视图节点拉向它自己时的第一预定时间周期,任何新视图节点106将被拉向主服务器。
在到主服务器的供电损失期间,第二故障转移逻辑模块126确定活动服务器102不再能够作为主服务器服务,并将备用服务器104切换到活动模式。通过在视图节点106上执行的网络超时逻辑或者通过将每个视图节点106拉向新活动服务器的第二故障转移逻辑模块126,连接到活动服务器102的视图节点106自动故障转移到新主服务器。然后,所有连接的视图节点106请求引导队列更新。引导队列是在视图节点106连接到服务器102之前发生的当前警报的列表。当视图节点106重新连接发生时,视图节点106请求活动服务器102重新发送当前活动警报。引导队列被发送到视图节点106,从而能够显示任何当前警报。
如果在多个视图节点106中的一个或多个视图节点和主服务器之间的连接丢失,则受影响的视图节点故障转移到从服务器(如果其存在)。如果受影响的视图节点仅可以连接到从服务器,则受影响的视图节点将保持到从服务器的连接,这是因为在受影响的视图节点或从服务器上没有引起受影响的视图节点连接到另一个服务器的逻辑。执行视图节点106的拉动转移(pullover)的第一故障转移逻辑模块124中的逻辑仅在主服务器上执行。如果主服务器不将受影响的视图节点拉向它自己,则从服务器将不影响受影响的视图节点到它自己的连接。如果受影响的视图节点重新连接到主服务器,则在主服务器上的第一故障转移逻辑模块124将把受影响的视图节点拉回到它自己。通过在到主服务器的连接丢失时连接到从服务器,受影响的视图节点具有对依赖于从服务器和主服务器之间的同步速率的、相对旧的数据的访问权。如果多个视图节点106中的任意视图节点丢失了到从服务器的连接,将不会有对多个视图节点106的操作的影响,直到故障转移发生。在这样的情况中,对多个视图节点106的影响类似于上文描述的、故障转移后到主服务器的连接的丢失。
图2是表格,其以各种操作行为示出了(在图1中示出的)服务器状态管理器128的响应。在示例性实施例中,服务器状态管理器128监视连接到网络130的服务器,并确定每个服务器是处于活动模式、备用模式、还是未知模式。在活动模式中,视图节点106将数据会话连接到活动服务器102。活动服务器SAC处理数据库块。在备用模式中,备用服务器104SAC处于备用模式(不处理数据库块)且活动服务器102更新备用服务器104上的数据库(在存储器中)。服务器状态管理器128还提供用于切换服务器状态,以便于减少服务器之间的冲突。例如,如果多于一个服务器是活动的,每个将持续尝试将视图节点106拉向它自己,这增加了每个视图节点106所经历的计算开销,这是因为它们遵从拉它的第一个服务器,然后遵从拉它的下一个服务器。当服务器伙伴都运行在相同模式时,使用仲裁过程来确定哪个应该是活动模式。当服务器状态管理器128向服务器请求状态时,状态响应的部分包括对服务器是否配置为主要节点的指示。如果两个服务器关于哪一个为主要节点达成一致,则该主要节点变为活动。如果两个服务器关于哪一个为主要节点未达成一致,则执行备选方法,例如执行服务器名称串比较,且其服务器名称串中有较低ASCII值的服务器变为活动。
在本文所用的术语处理器是指中央处理单元、微处理器、微控制器、精简指令集电路(RISC)、专用集成电路(ASIC)、逻辑电路、以及能够执行本文描述的功能的任何其它电路或处理器。
正如这里使用的,术语“软件”和“固件”是可互换的,且包括存储在用于由处理器103和105或者在视图节点106上执行的处理器来执行的存储器中的任何计算机程序,存储器包括RAM存储器、ROM存储器、EPROM存储器、EEPROM存储器、以及非易失性RAM(NVRAM)存储器。以上存储器类型仅仅是示例性的,且因此不局限于可用来存储计算机程序的存储器的类型。
基于上述说明书将意识到,本公开的上述实施例可能使用包括计算机软件、固件、硬件或任意其组合或子集的计算机编程或工程技术来实现,其中技术效果是使冗余服务器对的新近活动服务器使用现有网络连接来产生到一个或多个客户端的动态(双向)连接,并且向每个客户端发送指令来将逻辑连接切换到新近活动服务器。可能在一个或多个计算机可读介质之内实施或提供具有计算机可读代码部件的任何这样的结果程序,从而根据本公开讨论的实施例制造计算机程序产品,即制造品。计算机可读介质可能例如是(但不局限于)固定(硬)驱动器、盘、光盘、磁带、诸如只读存储器(ROM)的半导体存储器、和/或诸如因特网或其他通信网络或链路的任何传送/接收介质。可能通过执行直接来自一个介质的代码、通过从一个介质到另一个介质拷贝代码或者通过经由网络传送代码来制造和/或使用包括计算机代码的制造品。
用于对进程控制网络中冗余服务器进行自动故障转移的方法和系统的上述实施例提供了成本有效和可靠的手段,用于使冗余服务器对的新近活动服务器使用现有网络连接来产生到一个或多个客户端的动态(双向)连接,并用于向每个客户端发送指令以将逻辑连接切换到新近活动服务器。更具体地,本文描述的方法和系统便于保证活动服务器控制的进程操作中的最小中断。另外,上述方法和系统便于升级现有系统,这是因为当软件位于服务器上或可能位于外部系统上时,实现自动故障转移不需要较旧版本客户端的代码修改。此外,本文描述的方法和系统便于减少客户端计算开销,这是因为客户端不必周期性地发现哪个服务器当前是活动服务器。因此,本文描述的方法和系统便于以成本有效和可靠的方式对进程控制网络中的冗余服务器进行自动故障转移。
尽管已经根据各种特定实施例对本公开进行了描述,但将认识到可以通过权利要求精神和范围内的修改来实践本公开。

Claims (20)

1.一种冗余服务器自动故障转移系统,包括:
在通信上耦合到网络的多个客户端设备,所述多个客户端设备包括活动服务器标识位置;
在通信上耦合到所述网络的第一服务器系统,所述第一服务器系统配置为作为所述网络上的活动服务器操作,所述第一服务器系统配置为使用第一通信协议与所述多个客户端设备通信,其中使用在使用所述第一通信协议的每个客户端设备上的所述活动服务器标识位置将发送到所述第一服务器系统的消息寻址到所述第一服务器系统;以及
在通信上耦合到所述网络的第二服务器系统,所述第二服务器系统配置为作为所述网络上的备用服务器操作,所述第二服务器系统配置为当确定所述第一服务器系统不能作为活动服务器操作时切换成所述网络上的活动服务器;
其中所述活动服务器标识位置配置为当所述第一服务器系统不能作为活动服务器操作时接收来自第二服务器系统的活动服务器标识;
其中,活动服务器周期性地检查客户端设备的活动连接并为不连接到活动服务器的每个客户端设备写入活动服务器标识;
其中,活动服务器拉客户端设备以和活动服务器通信。
2.如权利要求1所述的系统,进一步包括专用通信链路,其中所述第一服务器系统使用所述专用通信链路在通信上耦合到所述第二服务器系统。
3.如权利要求2所述的系统,其中所述第一服务器系统配置为当所述第二服务器系统作为备用服务器操作时,使用所述专用通信链路来更新所述第二服务器系统。
4.如权利要求1所述的系统,其中所述第一服务器系统配置为当所述第二服务器系统作为备用服务器操作时更新所述第二服务器系统。
5.如权利要求1所述的系统,进一步包括配置为确定活动服务器何时处于故障转移条件的故障转移检测器。
6.一种用于自动故障转移的方法,包括:
作为网络上的活动服务器操作第一服务器系统,所述第一服务器系统配置为与多个客户端通信,其中使用发送客户端上的活动服务器标识位置将发送到所述第一服务器系统的消息寻址到所述第一服务器系统;
作为所述网络上的备用服务器操作第二服务器系统;
当确定所述第一服务器系统不能作为活动服务器操作时,将所述第二服务器切换成所述网络上的活动服务器;以及
将所述多个客户端上的所述活动服务器标识位置改为所述第二服务器系统的标识;
其中,活动服务器周期性地检查客户端设备的活动连接并为不连接到活动服务器的每个客户端设备写入活动服务器标识;
其中,活动服务器拉客户端设备以和活动服务器通信。
7.如权利要求6所述的方法,进一步包括作为备用服务器重启所述第一服务器系统。
8.如权利要求6所述的方法,其中所述第二服务器系统经过不同于所述网络的在通信上耦合到所述第一服务器系统,所述方法进一步包括当所述第二服务器系统作为备用服务器操作时,从所述第一服务器系统更新所述第二服务器系统。
9.如权利要求6所述的方法,其中将所述第二服务器切换成活动服务器包括感测所述第一服务器系统中的故障转移条件。
10.如权利要求6所述的方法,其中将所述第二服务器切换成活动服务器包括由所述第二服务器系统确定所述第一服务器系统处于故障转移条件。
11.如权利要求6所述的方法,其中所述第二服务器系统经过专用链路在通信上耦合到所述第一服务器系统,所述方法进一步包括由所述第二服务器系统使用所述专用链路确定所述第一服务器系统处于故障转移条件。
12.如权利要求6所述的方法,其中将客户端上的所述活动服务器标识位置改为所述第二服务器系统的标识包括:使用所述客户端上的活动服务器标识位置来将寻址到所述第二服务器系统的消息发送给所述第二服务器系统。
13.如权利要求6所述的方法,其中将客户端上的所述活动服务器标识位置改为所述第二服务器系统的标识包括基本同时地将多个客户端上的所述活动服务器标识位置改为所述第二服务器系统的标识。
14.如权利要求6所述的方法,其中将客户端上的所述活动服务器标识位置改为所述第二服务器系统的标识包括使用广播消息将多个客户端上的所述活动服务器标识位置改为所述第二服务器系统的标识。
15.如权利要求6所述的方法,进一步包括使用所述活动服务器标识位置由所述客户端制作到活动服务器的消息。
16.一种冗余服务器系统,包括:
网络;
在通信上耦合到所述网络的第一服务器系统,所述第一服务器系统可作为所述网络上的活动服务器操作;
在通信上耦合到所述网络的第二服务器系统,所述第二服务器系统可作为所述网络上的备用服务器操作;以及
在通信上耦合到所述网络的多个客户端,所述多个客户端中的至少一部分包括活动服务器标识位置,所述活动服务器标识位置包含所述网络上活动服务器的标识,
其中当所述第二服务器系统配置为切换成活动服务器时,所述多个客户端中的至少一个被编程,以接收包括活动服务器的标识的消息并使用所述消息改变与该客户端关联的活动服务器标识位置;
其中,活动服务器周期性地检查客户端设备的活动连接并为不连接到活动服务器的每个客户端设备写入活动服务器标识;
其中,活动服务器拉客户端设备以和活动服务器通信。
17.如权利要求16所述的系统,其中所述第二服务器配置为将消息传送到所述多个客户端中的至少一个,所述消息包括作为活动服务器的所述第二服务器的标识。
18.如权利要求16所述的系统,进一步包括服务器监视器,其中所述服务器监视器配置为:
确定至少所述第一服务器和所述第二服务器的状态,其中所述状态涉及所述第一服务器和所述第二服务器作为活动服务器和备用服务器操作的机能;以及
将消息传送到所述多个客户端中的所述至少一部分,指示活动服务器中的改变。
19.如权利要求18所述的系统,其中所述消息包括活动服务器标识。
20.如权利要求16所述的系统,进一步包括专用通信链路,所述第一服务器系统使用所述专用通信链路在通信上耦合到所述第二服务器系统。
CN200980132436.3A 2008-08-18 2009-08-17 用于冗余服务器自动故障转移的方法和系统 Expired - Fee Related CN102144382B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/193,537 US8700760B2 (en) 2008-08-18 2008-08-18 Method and systems for redundant server automatic failover
US12/193537 2008-08-18
PCT/US2009/054036 WO2010021984A2 (en) 2008-08-18 2009-08-17 Method and systems for redundant server automatic failover

Publications (2)

Publication Number Publication Date
CN102144382A CN102144382A (zh) 2011-08-03
CN102144382B true CN102144382B (zh) 2016-10-05

Family

ID=41682039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980132436.3A Expired - Fee Related CN102144382B (zh) 2008-08-18 2009-08-17 用于冗余服务器自动故障转移的方法和系统

Country Status (5)

Country Link
US (1) US8700760B2 (zh)
EP (1) EP2319228A2 (zh)
CN (1) CN102144382B (zh)
CA (1) CA2733788C (zh)
WO (1) WO2010021984A2 (zh)

Families Citing this family (37)

* 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
KR101582695B1 (ko) * 2010-01-18 2016-01-06 엘에스산전 주식회사 이더넷 기반 전력기기의 통신오류 감시 시스템 및 그 방법
US8972467B2 (en) * 2010-08-31 2015-03-03 Sovanta Ag Method for selecting a data set from a plurality of data sets by means of an input device
US8468383B2 (en) * 2010-12-08 2013-06-18 International Business Machines Corporation Reduced power failover system
US8631277B2 (en) 2010-12-10 2014-01-14 Microsoft Corporation Providing transparent failover in a file system
US8984328B2 (en) * 2011-03-11 2015-03-17 Microsoft Technology Licensing, Llc Fault tolerance in a parallel database 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
US8832563B2 (en) * 2011-07-27 2014-09-09 General Electric Company Automatic detection of designated controller in a distributed control system using a web client
US8788579B2 (en) 2011-09-09 2014-07-22 Microsoft Corporation Clustered client failover
US20130067095A1 (en) * 2011-09-09 2013-03-14 Microsoft Corporation Smb2 scaleout
DE102012210161A1 (de) * 2012-06-15 2013-12-19 Airbus Operations Gmbh Koppelvorrichtung für ein Datenübertragungsnetzwerk und Datenübertragungsnetzwerk
US10581763B2 (en) 2012-09-21 2020-03-03 Avago Technologies International Sales Pte. Limited High availability application messaging layer
US9967106B2 (en) 2012-09-24 2018-05-08 Brocade Communications Systems LLC Role based multicast messaging infrastructure
US20140095925A1 (en) * 2012-10-01 2014-04-03 Jason Wilson Client for controlling automatic failover from a primary to a standby server
CN103095837A (zh) * 2013-01-18 2013-05-08 浪潮电子信息产业股份有限公司 一种实现lustre元数据服务器冗余的方法
US9027098B2 (en) * 2013-03-14 2015-05-05 Genband Us Llc Systems, methods, and computer program products for recording service status of applications
US9280426B2 (en) * 2013-07-24 2016-03-08 Solar Turbines Incorporated System and method for server redundancy
KR102061655B1 (ko) * 2014-01-17 2020-01-02 노키아 솔루션스 앤드 네트웍스 게엠베하 운트 코. 카게 가상화된 네트워크 기능들을 포함하는 통신 네트워크의 제어
US9578112B2 (en) 2014-04-30 2017-02-21 Jive Communications, Inc. Reliability of a connection during a communication session on a network device
EP2945034A1 (en) * 2014-05-16 2015-11-18 Siemens Aktiengesellschaft Method of protection of redundant servers coupled to a MES
KR101662212B1 (ko) * 2014-05-30 2016-10-04 주식회사 알티베이스 부분동기화 지원 데이터베이스 관리 시스템 및 데이터베이스 관리 시스템에서 부분동기화 방법
US9350668B2 (en) 2014-06-03 2016-05-24 The Viki Group, Inc. Systems and methods for IP sharing across wide area networks
US9350545B1 (en) * 2014-06-30 2016-05-24 Emc Corporation Recovery mechanism for fault-tolerant split-server passcode verification of one-time authentication tokens
US9846624B2 (en) * 2014-09-26 2017-12-19 Microsoft Technology Licensing, Llc Fast single-master failover
US9619349B2 (en) * 2014-10-14 2017-04-11 Brocade Communications Systems, Inc. Biasing active-standby determination
CN104283974A (zh) * 2014-10-31 2015-01-14 腾讯科技(深圳)有限公司 数据拉取方法和相关设备及通信系统
US20160239394A1 (en) * 2015-02-13 2016-08-18 Netapp, Inc. Methods for improving management of input or output operations in a network storage environment with a failure and devices thereof
CN107171820B (zh) * 2016-03-08 2019-12-31 北京京东尚科信息技术有限公司 信息传输、发送、获取方法和装置
CN107196779B (zh) * 2016-03-15 2020-11-03 中国电信股份有限公司 用于实现网络自愈的方法、节点和系统
CN107819808A (zh) * 2016-09-14 2018-03-20 北京百度网讯科技有限公司 通信连接建立方法和装置
CN109150570B (zh) * 2017-06-27 2022-04-08 阿里巴巴集团控股有限公司 更新方法、系统、端节点及电子设备
JP7063138B2 (ja) * 2018-06-15 2022-05-09 日本電信電話株式会社 警報欠落対応システム、および、警報欠落対応方法
EP3702857A1 (en) * 2019-03-01 2020-09-02 ABB Schweiz AG Redundancy in a network centric process control system
JP7421052B2 (ja) * 2019-03-15 2024-01-24 アイコム株式会社 サーバシステムおよびプロセスの冗長化方法
US11706162B2 (en) * 2019-10-21 2023-07-18 Sap Se Dynamic, distributed, and scalable single endpoint solution for a service in cloud platform
TWI797440B (zh) * 2020-04-07 2023-04-01 中興保全科技股份有限公司 具有整合多系統可監控設備的保全系統

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473396B1 (en) * 1999-01-04 2002-10-29 Cisco Technology, Inc. Use of logical addresses to implement module redundancy
CN1527169A (zh) * 2003-01-02 2004-09-08 ����-��˹â��ϵͳ�ɷ����޹�˾ 用于过程控制系统的冗余应用站

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6058307A (en) * 1995-11-30 2000-05-02 Amsc Subsidiary Corporation Priority and preemption service system for satellite related communication using central controller
US5842125A (en) * 1995-11-30 1998-11-24 Amsc Subsidiary Corporation Network control center for satellite communication system
DE10116636C2 (de) * 2001-04-04 2003-04-03 Vaw Ver Aluminium Werke Ag Verfahren zur Herstellung von AIMn-Bändern oder Blechen
US6950851B2 (en) * 2001-04-05 2005-09-27 Osburn Iii Douglas C System and method for communication for a supervisory control and data acquisition (SCADA) system
US7496668B2 (en) * 2002-06-28 2009-02-24 Honeywell International Inc. OPC server redirection manager
US20040006652A1 (en) * 2002-06-28 2004-01-08 Prall John M. System event filtering and notification for OPC clients
GB2410574B (en) 2003-01-02 2007-07-11 Fisher Rosemount Systems Inc Redundant application stations for process control systems
US7480725B2 (en) * 2004-09-16 2009-01-20 Invensys Systems, Inc. Transparent relocation of an active redundant engine in supervisory process control data acquisition systems
US20060056285A1 (en) * 2004-09-16 2006-03-16 Krajewski John J Iii Configuring redundancy in a supervisory process control system
US7818615B2 (en) * 2004-09-16 2010-10-19 Invensys Systems, Inc. Runtime failure management of redundantly deployed hosts of a supervisory process control data acquisition facility
US20070041327A1 (en) * 2005-08-16 2007-02-22 Cisco Technology, Inc. Multicast heartbeat signaling
KR100806487B1 (ko) 2006-10-11 2008-02-21 삼성에스디에스 주식회사 대외채널통합 환경에서의 통신장애 처리시스템 및 그 방법
US8234384B2 (en) * 2006-11-13 2012-07-31 Jemmac Software Limited Computer systems and methods for process control environments
CN101232395B (zh) 2007-12-27 2010-11-24 Ut斯达康通讯有限公司 一种实现网络设备自动配置安装的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473396B1 (en) * 1999-01-04 2002-10-29 Cisco Technology, Inc. Use of logical addresses to implement module redundancy
CN1527169A (zh) * 2003-01-02 2004-09-08 ����-��˹â��ϵͳ�ɷ����޹�˾ 用于过程控制系统的冗余应用站

Also Published As

Publication number Publication date
CA2733788C (en) 2016-12-13
CA2733788A1 (en) 2010-02-25
US8700760B2 (en) 2014-04-15
EP2319228A2 (en) 2011-05-11
CN102144382A (zh) 2011-08-03
US20100042715A1 (en) 2010-02-18
WO2010021984A3 (en) 2010-07-22
WO2010021984A2 (en) 2010-02-25

Similar Documents

Publication Publication Date Title
CN102144382B (zh) 用于冗余服务器自动故障转移的方法和系统
US20180248968A1 (en) Remote access gateway configurable control system
US20180202680A1 (en) Asynchronous reporting system
US10057353B2 (en) Redundant and selectable gateway and control elements for remote connected thermostats
CN1980192B (zh) 多机架路由器中的不间断转发
JP5033856B2 (ja) ネットワーク構成の想定のための装置、システム
US20140081466A1 (en) Gateway round-robin system
CN109547875B (zh) 一种fc交换网络任意端口接入设计方法
US9846624B2 (en) Fast single-master failover
CN103944814B (zh) 一种数据交换方法和系统及一种网关服务器
CN110032334A (zh) 支持基于NVMe-oF系统机箱间可管理性的系统和方法
CN107071189B (zh) 一种通讯设备物理接口的连接方法
RU2431174C1 (ru) Комплекс резервируемых программно-аппаратных средств автоматизации контроля и управления
CN100459521C (zh) 确定在计算设备的部件之间指定连接的系统和方法
CN112787868B (zh) 一种信息同步的方法和装置
JP2017021587A (ja) 冗長コントローラ
CN109491236B (zh) 用于运行高可用性的自动化系统的方法
JP3914072B2 (ja) ネットワーク障害監視方法、通信システムおよび回線切替装置
JP2012208706A (ja) 冗長コントローラ
KR102513610B1 (ko) 이더넷 네트워크의 단선 구간 확인 장치 및 방법
JP2006197522A (ja) コンピュータ間のネットワーク通信方式
JPH05304528A (ja) 多重化通信ノード
CN112256707B (zh) 一种数据库中间件的流量管理方法及数据库中间件节点
CN101931496A (zh) 用于epa网络的冗余通信方法
JPH10164060A (ja) データ通信装置における監視方式

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161005

Termination date: 20180817