CN1533095A - 代理响应设备 - Google Patents
代理响应设备 Download PDFInfo
- Publication number
- CN1533095A CN1533095A CNA2003101245671A CN200310124567A CN1533095A CN 1533095 A CN1533095 A CN 1533095A CN A2003101245671 A CNA2003101245671 A CN A2003101245671A CN 200310124567 A CN200310124567 A CN 200310124567A CN 1533095 A CN1533095 A CN 1533095A
- Authority
- CN
- China
- Prior art keywords
- server
- multiple servers
- client computer
- packet
- inefficacy
- 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.)
- Granted
Links
- 230000004044 response Effects 0.000 claims abstract description 172
- 238000004891 communication Methods 0.000 claims abstract description 16
- 238000000034 method Methods 0.000 claims description 36
- 230000005540 biological transmission Effects 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 3
- 238000011084 recovery Methods 0.000 claims description 2
- 238000012544 monitoring process Methods 0.000 claims 3
- 238000012545 processing Methods 0.000 description 18
- 238000003860 storage Methods 0.000 description 9
- 230000008878 coupling Effects 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 208000034657 Convalescence Diseases 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2035—Error 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 without idle spare hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2023—Failover techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种代理响应设备(1),代理响应设备(1)装备有:获取和保留在客户机(3)与主和备份服务器(2a和2b)之间交换的请求消息和响应消息的模块,用于检测在主服务器(2a)中存在失效的模块,用于当在主服务器(2a)中出现失效时向备份服务器(2b)发送所保留的请求的模块,用于接收来自备份服务器(2b)的响应的模块,用于检测在客户机(3)和处在出现失效时刻的主服务器(2a)之间通信状态的模块,和为了从当前状态中恢复通信状态而代替主服务器(2a)进行响应的模块。
Description
技术领域
本发明涉及在其中有可能实现经济可扩展性和系统可用性的客户机/服务器类型系统。
背景技术
在客户机/服务器类型系统中,客户机向服务器发送消息,服务器以处理结果作为消息对客户机进行响应,随着计算机和网络的发展,客户机/服务器类型系统的应用范围日益扩展,提高系统的可用性变得越发重要。同时,还可认为,经济可扩展性可根据来自客户机请求量增大或减小服务器处理能力,使系统成本最小化。
在提高客户机/服务器类型系统可用性的方法中,例如,所知的主/从方法。根据主/从方法,例如通过如IP网络的通信网络将客户机连接到多台服务器(例如,a和b)。每台服务器a和b共享为响应来自客户机请求所需的信息,并具有用于检测在相互之间出现失效的同步部分。
根据这种方法,提供了对来自客户机的请求进行响应的服务器a和作为备份的服务器b;一旦服务器a失效,服务器b检测出失效并代替服务器a对客户机进行响应。客户机与服务器a和b保持其各自消息,直到发送目的地确实接收消息。尽管如此,根据该方法,只要两台服务器a和b不同时失效,服务器a和b的其中一台可响应来自客户机的请求。
尽管通过适当的技术可减少备份服务器的数量,鉴于根据上述方法总是需要将服务器b作为服务器a的备份,从而不能将该方法称之为具有经济可扩展性。
用于提高可用性的另一种方法为簇(cluster)方法。可使用簇方法的系统包括,例如,客户机,服务器a和b以及负载分布设备a和b,所有这些设备通过IP网络互连。根据该方法的服务器a和b不具有同步部分。每个负载分布设备a和b具有,检测彼此中出现的失效,且一旦出现失效以取代另一者而继续进行处理的功能,检测服务器a和b中出现失效的功能,将来自客户机的消息传递到其中一台不存在任何失效的服务器的功能,和将来自其中一台服务器的消息传递到客户机的功能。根据上述方法,如果在服务器a中出现失效,则负载分布设备a或b将来自客户机的消息传递到不存在失效的服务器b。此外,客户机和服务器a和b保持消息,直到发送目的地确实收到消息,且一旦在接收失败时,重新发送其各自的消息。尽管根据该示例在此仅提到两台服务器,服务器a和b,还可能存在三台或多台服务器。从而,根据该方法,只要服务器a和b不同时失效,服务器a和b的其中一台可对来自客户机的请求进行响应。
通过增加或减少服务器的数量,上述方法可增大或减小系统的处理能力,并因此具有经济可扩展性。
簇方法具有经济可扩展性,并具有足够的可用性,即使当服务器出现失效时也可对出现失效后的来自客户机的请求作出响应。
然而,上述方法缺乏的可用性在于,不能对服务器失效前未由该服务器完成接收的来自客户机的请求作出响应,这是由于因服务器失效使该请求消息丢失。
发明内容
本发明涉及一种对簇方法的系统提供可用性的代理响应设备。
根据本发明实施例的代理响应设备具有:用于存储由代理响应设备所监视的对于出现失效的监视目标服务器的地址和能够代替监视目标服务器进行响应的备份服务器的地址的,以及用于从通信网络获取由监视目标服务器所发送和接收的消息的模块;用于检测在监视目标服务器中出现失效的模块;一旦当检测出其中一台监视目标服务器中出现失效,用于对所获得的来自客户机的请求消息中不能获得响应的消息将发送源地址改写为代理响应设备的地址,并将该消息发送到其中一台备份服务器的模块;和用于对来自备份服务器的响应消息将发送源地址改写为监视目标服务器的地址,并将消息传递给客户机的模块。
从而,当服务器a和b作为监视目标服务器并作为互为备份的服务器时,由于代理响应设备预先从通信网络接收请求消息,一旦服务器a在接收请求消息后出现失效,会代之以通过代理响应设备将即将丢失的来自客户机的消息发送给备份服务器b;并通过将来自备份服务器b的响应传递到客户机可使来自客户机的请求获得响应。
结合以示例形式说明本发明实施例多种特性的附图,通过以下详细描述,将理解本发明的其他特性和优点。
附图说明
图1显示使用根据本发明实施例的代理响应设备的一种网络系统配置。
图2显示代理响应设备的配置示例。
图3显示代理响应设备的数据包缓冲器的实施例。
图4显示代理响应设备的服务器管理表103的实施例。
图5显示在客户机与服务器之间发送和接收的数据包格式的示例。
图6显示当在客户机与服务器之间正常发送和接收IP数据包时的消息流。
图7显示由根据本发明实施例的代理响应设备所执行的部分处理程序的流程图。
图8显示由根据本发明实施例的代理响应设备所执行的部分代理响应处理程序的流程图。
图9显示根据第一失效示例(其中,在客户机与服务器之间出现失效)的消息流。
图10显示根据第二失效示例(其中,在客户机与服务器之间出现失效)的消息流。
图11显示在使用了代理响应设备的网络系统中从出现失效到恢复期间的消息流。
具体实施方式
以下将参照附图描述本发明的实施例。
图1显示使用根据本发明实施例的代理响应设备的总体网络系统配置。
客户终端(以后称之为“客户机”)3经由诸如Internet的通信网络(以后称之为“IP网络”)6a连接至负载分布设备4a和4b。负载分布设备4a经由IP网络6b连接至服务器设备(以后称之为“服务器”) 2a和2b以及代理响应设备1。负载分布设备4b作为负载分布设备4a的备份,且一旦在负载分布设备4a中出现失效时,代替负载分布设备4a继续进行处理。
在客户机3与服务器2a和2b之间交换的消息使用IP数据包进行发送和接收。必要时将消息划分到多个IP数据包中进行发送和接收。从客户机3发送的IP数据包通过IP网络6a到达负载分布设备4a。负载分布设备4a根据服务器上的负载将来自客户机3的IP数据包分布到服务器2a或服务器2b。此外,负载分布设备4a具有将形成单个消息的多个IP数据包分布到一台服务器的功能。服务器的数量可为三台或多台。
代理响应设备1连接至IP网络6b,并可获得流入IP网络6b的全部IP数据包。
图2表示实现代理响应设备1的消息处理设备的硬件配置。实现代理响应设备1的消息处理设备包括,处理器100,存储装置108,用于连接IP网络6b的输入电路接口105和输出电路接口107,用于临时存储由输入电路接口105所接收的IP数据包的接收缓冲器104,用于临时存储将由输出电路接口107发送的IP数据包的发送缓冲器106,和用于相互连接多个元件的诸如总线的专用通信线。存储装置108具有程序存储器101,数据包缓冲器102和服务器管理表103。程序存储器101存储多个由处理器100执行而实现代理响应设备1的控制程序。数据包缓冲器102存储在客户机3与服务器2a和2b之间交换的IP数据包。存储装置108通过半导体存储装置或由外存设备,如硬盘而形成。
程序可预先存储在存储装置108中,或通过可拆卸的存储介质或通信介质(如承载程序的网络或载波,未显示出)加载到存储装置108上。
代理响应设备1具有输入设备和显示设备,以使系统管理员输入数据,但由于在以下描述中并未使用它们,从而在图2中并未将其显示。
代理响应设备1具有数据包缓冲器102,用于管理在客户机3与服务器2a和2b之间交换的消息,并以一个单元(以后称之为“会话”)的形式管理由客户机3发送的每个请求消息以及相对应的来自服务器2a或2b的响应消息。在数据包缓冲器102中将会话注册为会话管理表项(session management entry)110-1,110-2等。
图3表示数据包缓冲器102的结构示例。
在数据包缓冲器102中的每个表项(entry)包括:会话标识111,客户机地址112,服务器地址113,客户机发送数据包缓冲区114和服务器发送数据包缓冲区115。
在会话标识111中为表示每个表项提供了唯一的标识。在客户机地址112中设置发送请求的客户机3的IP地址。在服务器地址113中设置接收请求的服务器,例如服务器2a的IP地址。所有由客户机3向服务器2a发送的IP数据包存储在客户机发送数据包缓冲区114中。所有由服务器2a向客户机3发送的IP数据包存储在服务器发送数据包缓冲区115中。
图4表示代理响应设备1的服务器管理表103的结构示例。服务器管理表103管理由代理响应设备1监视的服务器2a和2b的IP地址,以及一旦在每个表项中主服务器出现失效时可执行处理的备份服务器的IP地址。在服务器管理表103中的各表项120-1,120-2包括监视目标服务器地址121和备份服务器地址122。
图5表示由代理服务设备1所处理的IP数据包的大致结构。每个IP数据包包括发送源地址150,发送目的地址151,数据包编号152,数据包类型153和数据包数据154。例如,由客户机3向服务器2a发送的IP数据包将在发送源地址150中设置客户机3的IP地址,并在发送目的地址151中设置服务器2a的IP地址。在数据包编号152中,对第一个IP数据包指派1,对第二个IP数据包指派2,对第三个IP数据包指派3,等等,以便设置表明发送顺序的数字值。在数据包类型153中设置IP数据包的类型。IP数据包类型可为连接请求,数据发送,断开请求,或接收响应。所发送的数据内容存储在数据包数据154中。
图6表示在会话中消息流的示例,其中客户机3向服务器2a发送请求消息,服务器2a以响应消息对该消息作出响应。每个箭头表示构成消息的一个数据包的发送。
客户机3向服务器2a发送请求消息之前先向服务器2a发送连接请求130a。服务器2a向客户机3发送接收响应131a以表明它接收到连接请求130a。同样,随后的接收响应133-1a,133-2a,135-1a,135-2a和137a,分别是对处理请求132-1a和132-2a,处理结果134-1a和134-2a,和断开请求136a作出的响应。在包括各接收响应的数据包的数据包类型153中设置“接收响应(reception response)”,并为了表明接收了哪个数据包,在数据包编号152中设置与对数据包所指派的编号相一致的编号。
接下来,客户机向服务器2a发送多于一个数据包的请求消息,例如,两个IP数据包(处理请求132-1a和132-2a)。
与请求消息相对应,服务器2a向客户机3发送多于一个数据包的响应消息,例如,两个IP数据包(处理结果134-1a和134-2a)。尽管将处理请求132-1a和132-2a以及处理结果134-1a和134-2a称为“处理请求”以及“处理结果”以简化解释,对这些IP数据包的各数据包类型153都属于数据传输。
接下来,当服务器2a向客户机3发送断开请求136a时,一个会话正常终止。或者,客户机3可能会发送断开请求。
有鉴于此,客户机3和服务器2a保持其各自的IP数据包,直到接收到对于所发送的每个IP数据包的接收响应;如果未收到接收响应,重新发送相同的IP数据包。从而,既使在客户机3和服务器2a之间的IP网络6a和6b中或负载分布设备4a或4b中出现暂时失效,当从失效中恢复后,仍可正确地发送和接收数据包。
下面,将描述代理响应设备1的操作。如果在服务器2a中出现失效,并从而正确终止在图6中所描述的数据流,则代理响应设备1代替服务器2a进行响应。
图7表示代理响应设备1的操作示例流程图;流程图描述为处理器100的操作。
所有流入与代理响应设备1相连的IP网络6b的IP数据包都由输入电路接口105所获得,并存储在接收缓冲器104中。
如果在接收缓冲器104中有任何IP数据包,则处理器100获取其中一个IP数据包(步骤170),并基于IP数据包的发送源地址150或发送目的地址151是否与服务器管理表103中的监视目标服务器地址121相匹配,来确定所获取的IP数据包是否与作为监视目标的服务器2a有关。如果在步骤170中从接收缓冲器104未获得任何IP数据包,则处理程序进行到步骤175(步骤171)。
如果获得匹配,处理器100确定IP数据包的数据包类型153是否为断开请求(步骤172);如果数据包类型153不是断开请求,则处理器100将IP数据包存储在数据包缓冲器102的适用的表项中(步骤173)。适用表项的确定是基于IP数据包的一组发送源地址150和发送目的地址151与一组客户机地址112和服务器地址113之间的匹配(既使组中的成分顺序不同也可将其认为匹配)。如果IP数据包的发送目的地为服务器2a,则将数据包存储在客户机发送数据包缓冲区114中;如果IP数据包的发送源为服务器2a,则将数据包存储在服务器发送数据包缓冲区115中。如果没有任何适用的表项,则创建新的表项。
如果在步骤172中判定数据包类型153为断开请求,则删除适用的表项(步骤174)。
对于地址出现在服务器管理表中表项的监视目标服务器地址121中的服务器,处理器100确定在这些服务器中是否出现失效(步骤175)。如果出现失效,则处理器100执行代理响应处理(步骤177)。可使用任何一种适当的方法来确定在服务器中是否出现失效。这种方法其中一例是监视存储在数据包缓冲器102中的所有会话,如果在相应会话中对于一定时间量没有任何来自服务器的响应,则确定在服务器中出现失效。另一例是执行在服务器上的程序,该程序持续向代理响应设备1发送表明在服务器中不存在失效的消息,如果代理响应设备1不能接收到该消息,则确定在服务器中存在失效。
当在会话中第一次执行代理响应处理程序时,为了再生成相同的条件,对于接收到的所有IP数据包来执行处理,直到出现失效。
对每个IP数据包都执行步骤177,在执行步骤177之后,处理器100返回到步骤170。
参看图8,详细描述代理响应处理操作(步骤177)的一个实施例。对每个数据包还执行在图8中的处理,在执行处理之后,处理程序返回到图7中的步骤170。
下面将描述两个失效示例:在第一失效示例中,当客户机3向服务器2a发送连接请求130a以及处理请求132-1a和132-2a时,在服务器2a中出现失效;在第二失效示例中,当服务器2a向客户机3发送处理结果134-1a和134-2a以及断开请求136a时,在服务器2a中出现失效;下面将描述在每种情形中代理响应设备1的操作。这两个失效示例概括了所有可能的情形。
图9显示根据第一失效示例在客户机3,服务器2a,代理响应设备1和备份服务器2b之间的消息流。代理响应设备1接收流经客户机3和服务器2a之间的所有IP数据包。
在第一失效示例的情形中,当客户机发送了处理请求132-1a之后在160a处服务器2a出现失效,且服务器2a不能进行响应。
处理器100将在数据包缓冲器102中各表项的服务器地址113与出现失效的服务器2a的IP地址做比较,并查找必须作出代理响应的会话(步骤180);如果有这样的会话,则处理器100从服务器管理表103的备份服务器地址122中获取服务器2b的地址(服务器2b作为服务器2a的备份),查找相应的由代理响应设备1所接收的在客户机3和服务器2a之间传输的IP数据包,并连接到备份服务器2b,如图9中的连接请求130b和接收响应131b所示(步骤181)。
如果在步骤180中确定没有必须作出代理响应的会话,即,如果在失效时对需要代理响应的每个会话都作出代理响应,而服务器2a还未从失效中恢复,则终止在步骤177中的处理。
如果代理响应设备1已经与服务器2b获得连接,则不执行步骤181。
对于必须作出代理响应的会话,处理器100检查与存储在客户机发送数据包缓冲区114中所有IP数据包相对应的接收响应IP数据包是否存储在服务器发送数据包缓冲区115中(步骤182)。
由于根据第一失效示例没有与处理请求132-1a相对应的接收响应,从而产生与处理请求132-1a相对应的接收响应133-1a,并将其发送到客户机3(步骤183)。
此时,为使得对于客户机3认为在服务器2a中不出现失效,将接收响应133-1a中的IP数据包的发送源地址151设置为服务器2a的IP地址。对于与处理请求132-2a相对应的接收响应133-2a,代理响应设备1作出相同的处理。
如果在步骤182中,在接收响应中没有发现IP数据包的丢失,则对于该会话处理器100确定处理请求消息的IP数据包是否存储在客户机发送数据包缓冲区114中(步骤184);如果有这样的IP数据包,则处理器100将该IP数据包发送到服务器2b,并从客户机发送数据包缓冲区114中删除该IP数据包(步骤185)。此时,将IP数据包的发送源地址150和发送目的地址151分别改写为代理响应设备1和服务器2b的IP地址。该处理如图9消息流中处理请求132-1b和132-2b所示。
由于从代理响应设备1向服务器2b发送的请求等效于从客户机3发送的请求,服务器2b作出的代理响应等效于对来自客户机3的请求相对应的响应。该处理如图9消息流中接收响应133-1b和133-2b所示。
如果在步骤184中确定没有任何处理请求消息的IP数据包,则处理器100检查从备份服务器2b发送的IP数据包(步骤186);如果备份服务器2b进行响应的IP数据包为处理结果134-1b,134-2b的或断开请求136b的IP数据包,则处理器100将向服务器2b发送接收响应135-1b,135-2b或137b的IP数据包。
为确定是否已将处理结果134-1b,134-2b的IP数据包发送到客户机3,处理器100将存储在服务器发送数据包缓冲区115中的所有IP数据包的数据包编号152与上述IP数据包的数据包编号152进行比较(步骤188);如果它们不匹配,则处理器100确定上述IP数据包事实上是否属于断开请求(步骤189);如果IP数据包不属于断开请求(即如果它们属于处理结果134-1b和134-2b),则处理器100作出代理响应并向客户机3发送IP数据包(步骤190)。当作出代理响应时,将IP数据包的发送源地址150和发送目的地址151分别改写为服务器2a和客户机3的IP地址,并作为处理结果134-1a,134-2a发送。
在步骤188中,如果两组IP数据包的数据包编号152匹配,则处理器100对IP数据包的数据包数据154进行比较(步骤191);如果数据包数据154匹配,则处理器100不做任何处理。
如果在步骤189中所检查的IP数据包属于断开请求136a,则处理器100向客户机3发送断开请求136a,断开请求136a的发送源地址150为服务器2a的IP地址,并从数据包缓冲器102中删除会话表项(步骤192)。
如果在步骤191中所比较的数据包数据154不匹配,这表明了一种例外情形,在该情形中,备份服务器2b已发送的响应不同于服务器2a所要发送的响应。在这种情况下,由于服务器2b不能作为服务器2a的备份,从而终止会话和代理响应处理。此外,当这种情况发生时,如果代理响应设备1与服务器2b获得连接,则处理器100还会向服务器2b发送断开请求(步骤192)。
通过如上所述可以获悉,只要在服务器2a中继续存在失效,处理器100将执行步骤180以及随后的处理,并根据在步骤182,184和186中所确定的情形执行处理。
基于上述处理,代理响应设备1对于服务器2a对客户机3所要响应的所有IP数据包作出代理响应。
在第二失效示例的情形中,当服务器2a发送了处理结果134-1a之后在160b处服务器2a出现失效,且服务器2a不能再进行响应。
首先,下面所描述的IP数据包之间的关系已有所描述。对于来自客户机3的请求消息的IP数据包132-1a和132-2a与在代理请求中所用的IP数据包132-1b和132-2b具有相同的数据包数据154。
作为来自服务器2a的响应消息的IP数据包134-1a,和作为来自服务器2b的响应消息的IP数据包134-1b,具有相同的数据包数据154。
在图10中,代理响应设备1查找已由代理响应设备1所接收的,流经客户机3和服务器2a之间的IP数据包,并重复该处理直到接收到作为来自服务器2b的响应消息的IP数据包134-1b。
由于步骤180~187和对于IP数据包130a~132-2b的处理等同于正常的消息流和第一失效示例,从而解释在图10中自从代理响应设备1接收到处理结果134-1b的操作。
在接收来自服务器2b的处理结果134-1b时,处理器100确定是否已将处理结果134-1b发送到客户机3(步骤188)。
在第二失效示例,由于已经从服务器2a向客户机3发送了处理结果134-1a,数据包编号与处理结果134-1b的数据包编号相同的处理结果134-1a存在于服务器发送数据包缓冲区115中。处理器100对两个IP数据包的数据包数据154进行比较以查看它们是否匹配(步骤191);如果匹配,则处理器100不做任何处理。
在接收来自服务器2b的处理结果134-2b,由于在服务器发送数据包缓冲区115中不存在该数据包,处理器100执行与在第一失效示例中相同的处理。
随后的处理与在第一失效示例中相同,以使代理响应设备1还能够在第二失效示例中对服务器2a向客户机3所要响应的所有IP数据包执行代理响应。
最后参看图11,关于一系列在循环周期中的系统状态,将对图1所示整个系统的操作进行描述,该循环周期从正常状态,经过出现失效,代理响应,从失效中恢复,并返回到正常状态。
图11显示该循环周期的消息流。每个箭头都不同于在图6,9和10中的箭头,它表示包括多个IP数据包的一个请求消息或一个响应消息。
在正常状态中,从客户机3a,3b发送的请求消息140和142首先发送到负载分布设备4a,然后发送到服务器2a或服务器2b,以便使两台服务器上的负载量通常相等。对请求消息140和142的作出响应141和响应142,经由负载分布设备4a发送到客户机3a,3b。
假设,请求144a发送到服务器2a之后,即刻在服务器2a中出现失效160。
根据以上描述,由于各箭头表示独立的消息而不表示具有一定次序的单个数据包,既使客户机3a不会接收到对请求144a的任何响应,客户机3a还可能发送请求145。
在161处检测到失效后,负载分布设备4a将从客户机3a发送的下一个请求145发送到不存在任何失效的服务器2b。从服务器2b经由负载分布设备4a向客户机3a发送与请求145相对应的响应146。
在162处检测到失效后,代理响应设备1代替客户机3a向服务器2b发送请求144b,以请求144b替代因在160处出现失效使服务器2a不能对客户机3a作出响应的请求144a,请求144b的内容与请求144a的内容相同,并且代理响应设备1假装成服务器2a向客户机3a发送响应147。
当继续存在失效时,负载分布设备4a还向服务器2b发送来自客户机3b的下一个请求148,并向客户机3b发送其相应的响应149。从而,尽管不能够对负载进行分布,但无疑能处理来自客户机3a和3b的请求。
由负载分布设备4a执行的处理和由代理响应设备1执行的处理可并行或以任意顺序发生。
这样,当负载分布设备4a检测出出现失效,并为处理来自客户机3a和3b的请求而从服务器2a切换到服务器2b时,对于服务器2a所不能响应的所有请求,代理响应设备执行与以上描述相似的那些处理。
随后,当服务器2a在163处从失效中恢复时,负载分布设备4a和代理响应设备1分别在164和165处检测到恢复,并恢复正常的处理。对随后的消息150~153如同对消息141~143一样进行正常的处理,并分布消息负载。
根据本发明,可提供具有可用性和可扩展性的簇方法和客户机/服务器类型系统。
尽管以上描述涉及到本发明的具体实施例,应该理解,在不偏离本发明精神的条件下可作出多种变型。所附权利要求意在涵盖这些处在本发明真实范围和精神范围内的变型。
因此,认为此处公开的实施例无论从哪一点看均是示意性而非限定性的,由所附权利要求而非上述说明来表示本发明的范围,因此,此处意在包含与权利要求等效含义和范围内的所有变型。
Claims (21)
1.一种代理响应设备,它通过通信网络与至少一台客户机和多台服务器相连接,所述代理响应设备包括:
用于监视在多台服务器中正在处理来自至少一台客户机请求消息的其中一台服务器中出现失效的模块;
用于从通信网络获取数据包并存储所述数据包的模块,所述数据包包含多台服务器的其中一台服务器与至少一台客户机之间交换的请求消息和相对应的响应消息;和
管理模块,用于在多台服务器的其中一台服务器中检测出失效时,从多台服务器中另一台不存在失效的服务器获取还没有向至少一台客户机发送的响应数据包,并将响应数据包发送到至少一台客户机。
2.根据权利要求1所述的代理响应设备,其中,管理模块包括,从至少一台客户机接收新的请求数据包,并将新的请求数据包发送给多台服务器中另一台不存在失效的服务器的模块。
3.根据权利要求2所述的代理响应设备,其中,管理模块包括,从多台服务器中另一台不存在失效的服务器接收与新的请求数据包相对应的响应数据包,并将响应数据包发送给至少一台客户机的模块。
4.根据权利要求3所述的代理响应设备,其中,管理模块包括,对于已经从至少一台客户机发送的但还没有由多台服务器的其中一台服务器响应的数据包,将其发送到多台服务器中另一台不存在失效的服务器的模块;和从多台服务器中另一台不存在失效的服务器接收与请求数据包相对应的响应数据包,并将响应数据包发送到至少一台客户机的模块。
5.根据权利要求3所述的代理响应设备,其中,管理模块将响应数据包的发送源地址改写为多台服务器中具有失效的那一台服务器的地址,并将响应数据包发送到至少一台服务器。
6.根据权利要求5所述的代理响应设备,还包括存储模块,所述存储模块用于存储多台服务器的地址,其中通过查看在存储模块中所存储的多台服务器的地址来查找响应数据包的发送源地址。
7.根据权利要求4所述的代理响应设备,其中,向多台服务器中另一台不存在失效的服务器发送请求数据包的模块,对于还没有获得响应的请求数据包,将请求数据包的发送源地址改写为代理响应设备的地址,并将请求数据包发送到多台服务器中另一台不存在失效的服务器。
8.根据权利要求1所述的代理响应设备,还包括,获取和存储模块,用于获取和存储在至少一台客户机和多台服务器之间交换的数据包;和恢复模块,用于当监视失效出现的模块检测出在多台服务器的其中一台服务器中出现失效时,使用在获取和存储模块中所存储的数据包,以多台服务器中另一台不存在失效的服务器,恢复多台服务器中处在出现失效时刻的一台服务器的状态。
9.根据权利要求8所述的代理响应设备,其中,恢复模块包括:
当检测出在多台服务器的其中一台服务器中存在失效时,对于处在获取和存储模块所存储的数据包之中的已从至少一台客户机发送的数据包,将其发送目的地址改写为多台服务器中另一台不存在失效的服务器的地址,并将该数据包发送到多台服务器中另一台不存在失效的服务器的模块;
接收从多台服务器中另一台不存在失效的服务器发送的响应数据包的模块;和
识别模块,用于在响应数据包之中识别出已从多台服务器的其中一台存在失效的服务器向至少一台客户机发送的数据包。
10.一种通过通信网络连接有至少一台客户机和多台服务器的网络系统,所述网络系统包括:
至少一个与多台服务器相连的负载分布设备;和
代理响应设备,用于当多台服务器的其中一台正在处理从至少一台客户机发送的请求消息的服务器中出现失效时,使多台服务器中另一台不存在失效的服务器继续对请求消息进行处理,并将响应数据包发送到至少一台客户机,所述响应数据包是由多台服务器中另一台服务器对请求消息所执行的结果,
其中,至少一个负载分布设备包括,当多台服务器的其中一台正在处理从至少一台客户机发送的请求消息的服务器中出现失效时,使多台服务器中另一台不存在失效的服务器处理从至少一台客户机发送的新请求消息的模块,
所述代理响应设备包括:
用于监视多台服务器出现失效的模块;
用于从通信网络获取数据包并存储所述数据包的模块,所述数据包包含多台服务器与至少一台客户机之间交换的请求消息和相对应的响应消息;和
用于当检测出在多台服务器的其中一台服务器中出现失效时,从多台服务器中另一台不存在失效的服务器获取还没有向至少一台客户机发送的响应数据包,并将响应数据包发送到至少一台客户机的模块。
11.一种通过通信网络连接有至少一台客户机和多台服务器的网络系统,所述网络系统包括:
代理响应设备,用于当多台服务器的其中一台正在处理从至少一台客户机发送的请求消息的服务器中出现失效时,使多台服务器中另一台不存在失效的服务器继续对请求消息进行处理,并将响应数据包发送到至少一台客户机,所述响应数据包是由多台服务器中另一台服务器对请求消息所执行的结果,
至少一个负载分布设备,所述负载分布设备用于当多台服务器的其中一台正在处理从至少一台客户机发送的请求消息的服务器中出现失效时,使多台服务器中另一台不存在失效的服务器处理从至少一台客户机发送的新请求消息。
12.根据权利要求11所述的网络系统,其中代理响应设备包括:
用于监视多台服务器出现失效的模块;
用于从通信网络获取数据包并存储所述数据包的模块,所述数据包包含多台服务器与至少一台客户机之间交换的请求消息和相对应的响应消息;和
用于当检测出在多台服务器的其中一台服务器中出现失效时,从多台服务器中另一台不存在失效的服务器获取还没有向至少一台客户机发送的响应数据包,并将响应数据包发送到至少一台客户机的模块。
13.一种用于对通过通信网络与至少一台客户机和多台服务器相连的代理响应设备进行操作的方法,所述方法包括的步骤:
对于多台服务器的其中一台正在处理从至少一台客户机发送的请求消息的服务器,监视在其中的失效出现;
从通信网络获取数据包并存储所述数据包,所述数据包包含多台服务器的其中一台服务器与至少一台客户机之间交换的请求消息和相对应的响应消息;和
操作代理响应设备,以在多台服务器的其中一台服务器中检测出失效出现时,从多台服务器中另一台不存在失效的服务器获取还没有向至少一台客户机发送的响应数据包,并将响应数据包发送到至少一台客户机。
14.根据权利要求13所述操作代理响应设备的方法,其中操作代理响应设备的步骤包括,接收来自至少一台客户机的新的请求数据包的步骤,和将新的请求数据包发送到多台服务器中另一台不存在失效的服务器的步骤。
15.根据权利要求14所述操作代理响应设备的方法,其中操作代理响应设备的步骤包括,接收来自多台服务器中另一台不存在失效的服务器的,与新请求数据包相对应的响应数据包的步骤;和将响应数据包发送到至少一台客户机的步骤。
16.根据权利要求15所述操作代理响应设备的方法,其中操作代理响应设备的步骤包括,对于已经从至少一台客户机发送的但还没有由多台服务器的其中一台服务器响应的请求数据包,将其发送到多台服务器中另一台不存在失效的服务器的步骤;和从多台服务器中另一台不存在失效的服务器接收与请求数据包相对应的响应数据包,并将响应数据包发送到至少一台客户机的步骤。
17.根据权利要求15所述操作代理响应设备的方法,其中操作代理响应设备的步骤包括,将响应数据包的发送源地址改写为多台服务器中具有失效的那一台服务器的地址的步骤;和将响应数据包发送到至少一台服务器的步骤。
18.根据权利要求17所述操作代理响应设备的方法,还包括存储多台服务器的地址的步骤,其中通过查看在存储模块中所存储的多台服务器的地址来查找响应数据包的发送源地址。
19.根据权利要求16所述操作代理响应设备的方法,其中向多台服务器中另一台不存在失效的服务器发送还没有获得响应的请求数据包的步骤包括,将请求数据包的发送源地址改写为代理响应设备地址的步骤;和将请求数据包发送到多台服务器中另一台不存在失效的服务器的步骤。
20.根据权利要求13所述操作代理响应设备的方法,还包括步骤:
获取和存储在至少一台客户机和多台服务器之间交换的数据包,和当监视失效出现的模块在多台服务器的其中一台服务器中检测出失效出现时;以及
使用所存储的数据包,以多台服务器中另一台不存在失效的服务器,恢复多台服务器中处在出现失效时刻的一台服务器的状态。
21.根据权利要求20所述操作代理响应设备的方法,其中恢复步骤所包括的步骤:
当在多台服务器的其中一台服务器中检测出存在失效时,对于处在获取和存储模块所存储的数据包之中的已从至少一台客户机发送的数据包,将其发送目的地址改写为多台服务器中另一台不存在失效的服务器的地址,并将该数据包发送到多台服务器中另一台不存在失效的服务器;
接收从多台服务器中另一台不存在失效的服务器发送的响应数据包;和
在响应数据包之中识别出已从多台服务器的其中一台存在失效的服务器向至少一台客户机发送的数据包。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP074803/2003 | 2003-03-19 | ||
JP2003074803A JP4087271B2 (ja) | 2003-03-19 | 2003-03-19 | 代理応答装置およびネットワークシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1533095A true CN1533095A (zh) | 2004-09-29 |
CN100369413C CN100369413C (zh) | 2008-02-13 |
Family
ID=33290285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003101245671A Expired - Lifetime CN100369413C (zh) | 2003-03-19 | 2003-12-30 | 代理响应设备及用于代理响应设备的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7518983B2 (zh) |
JP (1) | JP4087271B2 (zh) |
CN (1) | CN100369413C (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101394305B (zh) * | 2007-09-21 | 2012-05-23 | 株式会社日立制作所 | 网络器件的程序控制方法和网络系统 |
CN104794143A (zh) * | 2014-07-30 | 2015-07-22 | 北京中科同向信息技术有限公司 | 一种无代理的备份技术 |
CN104991739A (zh) * | 2015-06-19 | 2015-10-21 | 中国科学院计算技术研究所 | 元数据服务器失效接替中精确一次执行语义的方法及系统 |
CN106973095A (zh) * | 2017-03-27 | 2017-07-21 | 慧影医疗科技(北京)有限公司 | 基于dicom协议的代理转发方法及装置 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8312530B2 (en) * | 2004-07-12 | 2012-11-13 | Cisco Technology, Inc. | System and method for providing security in a network environment using accounting information |
JP4869714B2 (ja) * | 2006-01-16 | 2012-02-08 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置、信号伝送方法、およびブリッジ |
WO2008020644A1 (fr) * | 2006-08-18 | 2008-02-21 | Nec Corporation | Serveur mandataire, système de communication, procédé de communication et programme |
JP2008092217A (ja) * | 2006-09-29 | 2008-04-17 | Toshiba Corp | Ip電話システム及び電話交換装置 |
JP4470934B2 (ja) | 2006-10-20 | 2010-06-02 | 日本電気株式会社 | プロキシ・サーバ、通信システム、通信方法及びプログラム |
CN101904192B (zh) * | 2007-12-17 | 2014-12-17 | 艾利森电话股份有限公司 | 移动核心网络节点冗余 |
JP4900268B2 (ja) * | 2008-02-04 | 2012-03-21 | 富士通株式会社 | アプリケーション通信制御装置及びプログラム |
KR101548959B1 (ko) * | 2008-06-04 | 2015-09-01 | 삼성전자주식회사 | 패킷 통신 시스템에서 네트워크 주소 설정을 위한 장치 및방법 |
JP5446405B2 (ja) * | 2009-04-09 | 2014-03-19 | 富士通株式会社 | イベント検出制御方法及びシステム |
US8560604B2 (en) | 2009-10-08 | 2013-10-15 | Hola Networks Ltd. | System and method for providing faster and more efficient data communication |
US8805787B2 (en) * | 2009-10-30 | 2014-08-12 | Verizon Patent And Licensing Inc. | Network architecture for content backup, restoring, and sharing |
JP2012191542A (ja) * | 2011-03-14 | 2012-10-04 | Toshiba Corp | 通信システム、クライアント通信中継プログラム、サーバ通信中継プログラム |
JP5729209B2 (ja) * | 2011-08-12 | 2015-06-03 | 富士通株式会社 | 情報処理装置、情報処理システムのテスト方法およびプログラム |
JP5413482B2 (ja) * | 2012-04-10 | 2014-02-12 | セイコーエプソン株式会社 | アプリケーション実行装置およびアプリケーション実行システム |
US9241044B2 (en) | 2013-08-28 | 2016-01-19 | Hola Networks, Ltd. | System and method for improving internet communication by using intermediate nodes |
JP2015197759A (ja) * | 2014-03-31 | 2015-11-09 | 富士通株式会社 | 情報処理装置、情報処理方法およびプログラム |
US9961131B2 (en) | 2014-04-25 | 2018-05-01 | Microsoft Technology Licensing, Llc | Enhanced reliability for client-based web services |
JP6415925B2 (ja) * | 2014-10-15 | 2018-10-31 | 京セラ株式会社 | 管理装置、管理プログラム、及び管理方法 |
CN104506372B (zh) * | 2015-01-04 | 2018-09-11 | 中国联合网络通信集团有限公司 | 一种实现主备服务器切换的方法及系统 |
JP6576071B2 (ja) * | 2015-03-27 | 2019-09-18 | キヤノン株式会社 | 情報処理装置、サーバクライアントシステム、情報処理装置の制御方法及びプログラム |
US11057446B2 (en) | 2015-05-14 | 2021-07-06 | Bright Data Ltd. | System and method for streaming content from multiple servers |
JP6511019B2 (ja) * | 2016-06-21 | 2019-05-08 | 日本電信電話株式会社 | サービス継続装置、サービス継続方法およびプログラム |
EP3313052A1 (en) * | 2016-10-24 | 2018-04-25 | Snips | Means for enhancing privacy of users of a cloud-based service |
US11190374B2 (en) | 2017-08-28 | 2021-11-30 | Bright Data Ltd. | System and method for improving content fetching by selecting tunnel devices |
EP3767494B1 (en) | 2017-08-28 | 2023-02-15 | Bright Data Ltd. | Method for improving content fetching by selecting tunnel devices |
EP4075304B1 (en) * | 2019-02-25 | 2023-06-28 | Bright Data Ltd. | System and method for url fetching retry mechanism |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05316116A (ja) | 1992-05-14 | 1993-11-26 | Matsushita Electric Ind Co Ltd | サーバの予備系の一元管理装置 |
JP3224745B2 (ja) * | 1996-07-09 | 2001-11-05 | 株式会社日立製作所 | 高信頼化ネットワークシステム及びサーバ切り替え方法 |
US6108300A (en) * | 1997-05-02 | 2000-08-22 | Cisco Technology, Inc | Method and apparatus for transparently providing a failover network device |
JPH1168837A (ja) | 1997-08-20 | 1999-03-09 | Hitachi Ltd | Ipネットワーク上のパケット交換網における着信転送方式 |
US6266335B1 (en) * | 1997-12-19 | 2001-07-24 | Cyberiq Systems | Cross-platform server clustering using a network flow switch |
US6230183B1 (en) * | 1998-03-11 | 2001-05-08 | International Business Machines Corporation | Method and apparatus for controlling the number of servers in a multisystem cluster |
US7409420B2 (en) * | 2001-07-16 | 2008-08-05 | Bea Systems, Inc. | Method and apparatus for session replication and failover |
US6847975B2 (en) * | 2001-07-30 | 2005-01-25 | Hitachi, Ltd. | Proxy processing method |
US7072332B2 (en) * | 2001-09-27 | 2006-07-04 | Samsung Electronics Co., Ltd. | Soft switch using distributed firewalls for load sharing voice-over-IP traffic in an IP network |
JP2004070860A (ja) * | 2002-08-09 | 2004-03-04 | Hitachi Ltd | ストリームコンテンツ配送システムおよびプロキシサーバ |
US7266607B2 (en) * | 2002-08-27 | 2007-09-04 | International Business Machines Corporation | Quasi-high availability hosted applications |
US6874031B2 (en) * | 2002-10-07 | 2005-03-29 | Qualcomm Inc. | Method and apparatus for sharing authentication session state in a global distributed network |
-
2003
- 2003-03-19 JP JP2003074803A patent/JP4087271B2/ja not_active Expired - Fee Related
- 2003-11-07 US US10/703,824 patent/US7518983B2/en active Active
- 2003-12-30 CN CNB2003101245671A patent/CN100369413C/zh not_active Expired - Lifetime
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101394305B (zh) * | 2007-09-21 | 2012-05-23 | 株式会社日立制作所 | 网络器件的程序控制方法和网络系统 |
CN104794143A (zh) * | 2014-07-30 | 2015-07-22 | 北京中科同向信息技术有限公司 | 一种无代理的备份技术 |
CN104991739A (zh) * | 2015-06-19 | 2015-10-21 | 中国科学院计算技术研究所 | 元数据服务器失效接替中精确一次执行语义的方法及系统 |
CN104991739B (zh) * | 2015-06-19 | 2018-05-01 | 中国科学院计算技术研究所 | 元数据服务器失效接替中精确一次执行语义的方法及系统 |
CN106973095A (zh) * | 2017-03-27 | 2017-07-21 | 慧影医疗科技(北京)有限公司 | 基于dicom协议的代理转发方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US7518983B2 (en) | 2009-04-14 |
CN100369413C (zh) | 2008-02-13 |
JP4087271B2 (ja) | 2008-05-21 |
JP2004280738A (ja) | 2004-10-07 |
US20040221207A1 (en) | 2004-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1533095A (zh) | 代理响应设备 | |
US9608841B2 (en) | Method for real-time synchronization of ARP record in RSMLT cluster | |
US6871296B2 (en) | Highly available TCP systems with fail over connections | |
CN101453495B (zh) | 防止授权地址解析协议信息丢失的方法、系统和设备 | |
CN101360005B (zh) | 负载平衡的联网环境下的智能故障转移 | |
CN103780615B (zh) | 一种在多个服务器间客户端会话数据共享方法 | |
CN1869932A (zh) | 实现数据升级的计算机处理系统以及数据升级方法 | |
CN102047643B (zh) | 用于在服务器故障的事件中能使客户端应用更快恢复的方法 | |
CN107682442B (zh) | 一种Web连接方法及装置 | |
CN1816056A (zh) | 网络、网络终端设备、使用其的ip地址管理方法及程序 | |
CN101321085A (zh) | 负载平衡的联网环境下的智能故障转移 | |
JP2008217735A (ja) | 障害解析システム、方法、及び、プログラム | |
TW200913567A (en) | Intelligent failback in a load-balanced networking environment | |
CN101039250A (zh) | 一种图片共享系统和方法 | |
CN101056254A (zh) | 一种网络存储设备的扩展方法、系统及其装置 | |
CN1905566A (zh) | 在网络存储业务中实现系统高可用性的方法和系统 | |
CN106656659A (zh) | 一种网络路径的选择方法以及网络硬盘录像机 | |
CN105790985B (zh) | 数据倒换的方法、第一设备、第二设备及系统 | |
CN101060462A (zh) | 一种数据恢复方法、装置、存储服务器及dhcp服务器 | |
CN1754365A (zh) | 从计算机发送到集群系统的数据包的分发方法和设备 | |
CN1744514A (zh) | 一种获取网络设备运行和故障状态信息的方法及装置 | |
CN104581796A (zh) | 一种m2m应用请求的发送方法、cse和系统 | |
CN1646930A (zh) | 用于对网络群的数据分发中的二阶段提交的方法和设备 | |
CN104636210A (zh) | 一种实现进程间数据交换的方法及装置 | |
CN1251447C (zh) | 一种实现网络网络接口连接的同步和恢复方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20080213 |