CN1175147A - 可恢复的虚拟封闭群集 - Google Patents

可恢复的虚拟封闭群集 Download PDF

Info

Publication number
CN1175147A
CN1175147A CN97115437A CN97115437A CN1175147A CN 1175147 A CN1175147 A CN 1175147A CN 97115437 A CN97115437 A CN 97115437A CN 97115437 A CN97115437 A CN 97115437A CN 1175147 A CN1175147 A CN 1175147A
Authority
CN
China
Prior art keywords
node
subclass
message
trooped
boundary node
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
Application number
CN97115437A
Other languages
English (en)
Other versions
CN1146186C (zh
Inventor
C·R·阿萨纳修奥
G·S·戈尔德茨米德特
G·D·H·亨特
S·E·史密斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 CN1175147A publication Critical patent/CN1175147A/zh
Application granted granted Critical
Publication of CN1146186C publication Critical patent/CN1146186C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security 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/22Parsing or analysis of headers
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/325Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the network layer [OSI layer 3], e.g. X.25
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]

Abstract

TCP连接路由器执行封闭群集,其方法是将每个封闭群集划分成若干虚拟封闭群集,根据按照一个可配置策略产生的当前服务器负荷量度,在虚拟封闭群集中动态分配输入连接。在一个实施例中,连接路由器支持群集的动态配置,允许透明地进行故障恢复,为虚拟封闭群集的用户提供不间断服务。

Description

可恢复的虚拟封闭群集
本发明涉及网络计算领域。更确切地说,本发明涉及支持一组远程服务的计算机群集。
封闭群集(Encapsulated Cluster)(EC)的特征是一个连接路由器(Connection-Router)节点和提供一组服务(例如Web服务、NFS、等等)的多个服务器主机。美国专利5,371,852《使一个计算机群集看起来像计算机网络上的一个主机的方法和设备》描述了一例提供封闭群集的系统。
远程用户用基于例如TCP/IP(如HTTP)的协议向封闭群集提出服务请求。为每个请求的服务时间不等,这取决于服务的类型以及相应的服务器应用程序(applications)的可获得性。所以,如果草率地对连接进行分配,很快会产生分配偏斜,降低了对可用的封闭群集资源的利用率,导致对用户请求不必要的延迟。
现有技术水平表明,在定标服务器(scaling servers)上,存在许多性能问题。可参阅的文章有—例如—《NCSA的环球网络服务器:设计与性能》(NCSA’s World Wide Web Server:Design and Performance),该文发表在1995年11月出版的第28卷11期IEEE计算机杂志(68~74页)上。以用循环式DNS支持Web服务器(即httpd守护程序)的封闭群集为例。服务器通过http提供对视频信号流、数据库检索以及静态web页面的访问服务。根据所提供的服务的类型以及所涉及的实际内容,服务器为每个请求服务的时间有很大差别。例如,一次复杂的数据库检索的时间可能会比提供一个预先装载的静态HTML页面的时间多几个数量级。服务请求处理时间的这种不平衡,经常引起对服务器群集利用上的偏斜。循环式DNS的有关问题,在Kwa等人所著的《用户对NCSA的环球网络服务器的访问模式》(UserAccess Patterns to NCSA’s Worldwide Web Server)一文中有所论述,该文登载于美国伊利诺伊斯大学Urbana-Champaign分校计算机科学系1995年2月的“技术报告UIUCDSD-R-95-1394”中。
现有技术水平表明,需要有进行动态资源分配的方法。可参阅的文章有—例如—《通过代表评估管理决策》(Evaluating Management Decisions viaDelegation),该文作者是German Goldszmidt和Yechian Yemeni,发表于1993年4月在美国加州旧金山召开的“第三届集成网络管理国际研讨会”。封闭群集一般来说是在多个主机上以一个整体系统形象提供一系列服务。然而,系统的实际配置情况可能会要求分配服务要遵守特定的、可能是动态的用户原则。例如,可以分配一个特定的主机子集用于在商业Web服务器上进行可靠的事务处理,而对视频点播的服务则由包含专用硬件的另外一个主机子集来支持。
本发明的一个目的是改进封闭群集的总体通量。
本发明的另一个目的是减少对远程服务请求的总体延迟。
本发明的再一个目的是提供一种用指定节点接替出故障连接路由器的装置,使网络用户感觉不出服务的中断。
根据本发明的第一个方面,封闭群集其特征在于有一个网关节点与数个服务器主机。网关节点(1)将一个封闭群集划分为几个虚拟封闭群集;(2)根据按照一个可配置原则规定的当前服务器负荷度量,将输入连接动态分配在一个虚拟封闭群集中;(3)支持该群集的动态配置。
本发明第二个方面,所提供的一种系统和方法能透明地从一个网关节点的故障恢复过来,以向用户提供不中断的服务。按照该方法,一个群集或虚拟封闭群集中的每个节点均保留一份该网关保留的状态信息子集。当该网关出现故障,状态信息就被传送到备用网关。
在较佳实施例中,封闭群集可以表现为:(1)一个虚拟封闭群集(单一的IP地址,为所有远程用户所用);或者(2)多个虚拟封闭群集(有数个IP地址别名)。TCP连接路由器节点拥有这些IP地址,并接收它们所有的TCP连接请求。每个IP地址对应一个虚拟封闭群集。TCP连接路由器按与该虚拟封闭群集有关的权重(weight)将新的TCP连接分配给每个虚拟封闭群集中的主机。TCP连接路由器支持的动态配置允许:动态定义各虚拟封闭群集,动态配置与虚拟封闭群集对应的权重,自动或手动管理虚拟封闭群集(增加或撤销主机、服务,等等)。这种解决方法允许动态地配置、增加和撤销服务器主机,同时避免了在网络中服务器名隐藏的问题。
图1表示现有技术水平的一个封闭群集系统;
图2表示现有技术水平的一个报文交换器(Message Switch);
图3表示本发明一个实施例中的一个虚拟封闭群集系统;
图4表示本发明另一个实施例中的一个虚拟封闭群集系统;
图5是图3和4中执行器(Executor)的细节图;
图6是图3和4中管理器(Manager)的细节图;
图7A-7C是该执行器的程序流图;
图8表示该执行器的数据结构;
图9是该管理器的程序流图;
图10表示本发明一个实施例中的具有高可用性网关的群集。
本文叙述的虚拟封闭群集系统可作为美国专利5,371,852号的一种改进。请参阅1992年10月14日中请的美国专利《使一个计算机群集看起来像计算机网络上的一个主机的方法和设备》,转让给与本发明相同的受让人,申请号是960,742,专利号是5,371,852,该专利结合于此作为参考,就像全文复制如下。图1是美国专利5,371,852号发明所述封闭群集的一个实施例。像美国专利5,371,852号的系统一样,本系统为穿越一个计算机群集的边界的TCP信息选择路由。该信息是一种端口类型的报文。输入报文被选择路径,服务器作出响应,使得每个群集对外部主机来说就像是一台单独的计算机。本系统中,一个群集要被划分为数个虚拟群集(虚拟封闭群集)。每个虚拟封闭群集在该群集之外的网络上的其它主机看来就像是一台主机。报文被选择路由到每个虚拟封闭群集中的成员,使该组群集节点的负荷保持平衡。
图3表示一个用于TCP协议族的连接路由器-TCP连接路由器(TCP-CR)300的一个实施例。该装置包含两个以上的计算机节点(105-109),它们由一个被称作互连线路110的通信链路连接在一起,形成一个群集。(请注意,在本发明的一个实施例中,互连线路可以是一个网络。)群集中有一个计算机,承担网关109的角色,它通过被称为网络120的另一条通信链路与一个或多个外部计算机或群集(主机)相连。一个网关可以与多个网络相连,群集中用作网关的节点也可以不止一个。网关与网络的每个连接处(即边界)可以有多个网络地址。每个网关有一个TCP连接路由器(TCP-CR)300,如图10所示,后者由管理器320和执行器340组成,还可选用一个恢复管理器(recovery manager)。管理器通过向执行器发出命令请求344并评估反馈信号346,对路由的选择进行控制。执行器由一个报文交换器140和一个虚拟封闭群集路由器310组成,其中报文交换器与美国专利5,371,852号所述系统中的类似。
图4表示了本发明的另一个实施例。与较佳实施例中一样,群集的节点107直接向用户130反馈它们的应答(response)。然而,本实施例中没有采用图3中所示的专用互连线路110,而是通过外部网络120连接所有的群集节点。TCP连接路由器也保持不变。样本请求信号348从用户130经过网关109,通过外部网络120到达群集节点107。对应该信号的应答350直接从节点107通过外部网络120到达用户130。
管理器320模块执行连接分配政策,允许动态配置虚拟封闭群集。管理器通过动态反馈控制回路对每个封闭群集中成员当前的负荷进行检查和评估。管理器执行的连接分配政策,智能化地将输入连接在虚拟封闭群集的服务器上进行分配,以加快对用户请求的服务。新的权重分配是通过一个管理器算法计算出来的,该算法可由群集管理员进行配置。这种用于权重分配的决策算法的输入参数包括已评估负荷量度以及可由管理员配置的诸如时间阀值之类的参数。输入连接是根据上述输入参数被动态分配到每个虚拟封闭群集的,以保证群集资源的分配为用户提供最快捷的服务。管理器还包括一个命令接口,由管理人员用来动态配置虚拟封闭群集。后面对管理器有更详细的叙述。
假若TCP连接路由器节点109停止工作,该群集的所有节点就不能向它们的远程用户提供服务。为了解决这个问题,我们增加了一个恢复管理器。当正在工作的网关节点发生故障,恢复管理器就在指定的备用网关节点中启动,帮助服务器节点保留恢复数据。用户无须采取任何行动来从网关故障中恢复过来,而是继续接受群集的不间断服务。后面对恢复管理器有更详细的叙述。
图5表示的是执行器340的较佳实施例。执行器由命令处理器540、报文交换器140和虚拟封闭群集路由器310组成。命令处理器540为执行器340接收请求并返回应答346。命令处理器与报文交换器140和虚拟封闭群集路由器310交互作用,执行请求,产生应答。命令处理器可以修改连接表510、虚拟封闭群集表550、端口表520或服务器表530的内容。报文交换器140和连接表510与美国专利5,371,852号中的报文交换器和连接表相同。在本发明的较佳实施例中,虚拟封闭群集路由器310不改变输入包。包被传送到服务器,对服务器所作的配置使得应答从内部节点直接被发送到用户。
报文交换器140基本上与美国专利5,371,852号中的报文交换器相同。不过,本发明对较佳实施例中的报文交换器进行了优化,在报文交换器中增加了一个检步骤(check)。报文交换器必须检查报文的发送对象是否是虚拟封闭群集路由器已知的一个虚拟封闭群集。
虚拟封闭群集路由器中保存一组对外部网络上用户来说代表各个虚拟封闭群集的地址。虚拟封闭群集路由器向群集的内部节点传送请求,并不修改所接收的请求。群集的每个内部节点与一个或多个虚拟封闭群集相关联,并且只接收对其所关联的虚拟封闭群集所作的请求。运用现有水平的技术,本发明中的内部节点被配置为能接收发向代表一个虚拟封闭群集的地址的包,且能直接向用户作出应答。现有技术要求报文交换器140必须改写输入请求的包的首标(图1中140)和对请求的应答的包的首标(图1中120)。本发明中,不必改写包的首标。(现行技术可以用于本发明中。)本发明的性能优于现行技术,因为包的首标不作改写,应答包的传递不经过网关节点109。因为应答包的传递不经过TCP连接路由器,报文交换器就不接收来自群集内部节点的应答包。其结果是,在较佳实施例中,省略了对首标的改写,省略了对来自内部节点的应答包的检查。
这种改进的一个直接后果是,虚拟封闭群集路由器只能看到在用户与提供服务的内部节点之间传递的数据流的一半。这就对保持连接表的准确造成了困难。为解决这个问题,本发明使用了连接表专用的两个新定时器(timer):一个失效超时定时器(stale timeout),一个结束超时定时器(FINtimeout)。用了这两个定时器,加上通信流和现有技术水平已知的定时器,就能准确地保持连接表。
连接表内的条目有两种状态:活动(ACTIVE)状态和结束(FIN)状态。每当建立了一个新连接,就在连接表中增加一个条目,将其置为活动状态。每当一个包经过对应连接表中某条目的连接时,就在该连接条目上打上时间标记。当虚拟封闭群集路由器看到一个结束信号(FIN)从用户流到提供服务的节点,相关联的连接表条目就被置为FIN(结束)状态。(包可以继续在被置于FIN状态的连接上传递。)连接表中的一个条目被关闭并等待被清除的时机是,自用户在该连接上向服务器发送上一个包开始后的时间,超过了结束超时定时器确定的时间。如果用户出错,没有发送结束信号,该连接记录条目不变。失效超时定时器规定的是,在上一个包在活动对话(conversation)中被传递后,清除该连接表条目之前的等待时间。
图7A-7C表示的是虚拟封闭群集路由器310的流程图。图7A中,在步骤702,虚拟封闭群集路由器等待一个包。当包被接收后,在步骤704,虚拟封闭群集路由器检查该包是用于一个已有的TCP连接还是一个新的TCP连接。如果该包是要用于一个已有的TCP连接,则在步骤708检查该包的类型是结束(FIN)、同步(SYN)还是重设(RST)(都是现有技术已知的包类型)。如果该包不是上述其中之一,则在步骤722,虚拟封闭群集路由器就将该包传递到该连接所关联的内部节点。否则,在步骤710,检查该包是否是个RST(重设)。如果该包是个重设,则在步骤712该对话被从连接表中清除,重新设定(resetting)连接,然后在步骤722将该包传递到与该连接相关的内部节点。如果该包不是个重设,虚拟封闭群集路由器310在步骤714检查该包是否是同步。如果该包是SYN,就在步骤716建立连接,即使该连接此前存在,也将该连接置于活动状态。然后虚拟封闭群集路由器310在步骤718检查该包是否是FIN(结束)。如果该包是FIN,则在步骤720该连接被置于FIN状态。经有关结束状态处理之后,或者如果该包不是FIN,该包在步骤722被传递到该连接关联的服务器。
图7B表示连接不存在情况下的流程图。如果在步骤704的检查发现该包是要经过一个非现有的连接,则在步骤724虚拟封闭群集路由器首先检查该包是否是SYN(同步信号)。如果该包不是SYN,则在步骤726该包就被放弃。如果该包是SYN,则在步骤728建立一个连接并置其于活动状态728,在步骤730选择一个服务器,而在步骤722将该包传递到所选择的服务器。
图7C表示的是为一个新连接选择服务器的步骤730的过程的流程图。本发明中,本功能按权重进行路由选择。为叙述服务器选择方便起见,我们把虚拟封闭群集的内部节点从1至n编号。例如,如果一个虚拟封闭群集有七个节点,则将它们分别编号为1、2、3、4、5、6和7。为叙述服务器选择方便起见,我们还把合格权重从最大有效值至1进行编号。例如,设最大有效值为5,则各合格权重分别为5、4、3、2和1。零是一个特殊值。对合格权重的选择按降序进行。本发明为提供特定服务的每个内部节点赋予一个权重。保证对各个服务,要么至少有一个节点有非零的最大权重,要么所有节点的权重均为零。
选择服务器的过程730首先在步骤734读取次高级服务器对应的编号和当前的合格权重。然后在735检查这个编号是否太大。如果该编号不是太大,就在步骤746检查与该编号对应的服务器是否合适(后文将叙述该检查过程)。如果该编号太大,则在步骤736选取具有下一具有较低权重的第一个服务器,然后在步骤738检查该下一较低权重是否等于零。如果该下一较低权重不等于零,就以此来作为当前合格权重,该过程继续在步骤746检查当前选择的服务器是否合适。选择了最大权重的第一个服务器后,该过程在724检查是否有任何可用的服务器可作为包传递的目的地。如果所有可用节点的权重均为零,则所有的服务器均不能提供服务。如果没有能提供服务的服务器,就不选择服务器,该包在744被返回。如果有服务器可用,该过程在步骤746检查是否有一个好的选择。所谓好的选择,是指所选择的服务器,其权重大于或等于当前合格权重。如果有服务器是好的选择,就在748选择该服务器,并在步骤750将其返回给虚拟封闭群集路由器。如果这不是好的选择,该算法就在步骤734挑选下一个服务器。
因为要么最大权重不等于零且至少有一个节点具有最大权重,要么所有节点的权重均为零,所以选择服务器的过程总会要结束。当有权重大于零的节点时,选择服务器的过程按照各权重的比例分配包。例如,对于权重分别为3和2的两个内部节点,权重为2的节点每接收2个包,权重为3的节点就接收3个包。
图8是一例虚拟封闭群集路由器所用数据结构。虚拟封闭群集表550含有在外部网络上的虚拟封闭群集地址的地址集。该表还包括与虚拟封闭群集具体关联的所有参数。每个虚拟封闭群集与一个端口表520关联,端口表含有该虚拟封闭群集为之提供服务的所有端口。每个端口项802对应一个失效超时定时器804、FIN(结束)超时定时器806以及其它端口描述属性808。每个端口与一组用于提供与该端口关联的服务的虚拟封闭群集内部节点的子集相关联。节点表530含有与该端口关联的各节点820的地址、与该节点关联的当前权重822以及其它节点特点数据830。(节点特点数据的一个例子是计数器,分别用于指示处于活动状态连接的数目、处于FIN(结束)状态连接的数目以及已完成连接的总数。)节点表530还含有选择服务器的过程所需的状态信息,以便其对该表中所有节点进行加权路由选择。节点表所含数据还有:节点810的总数、上一个被选节点812、当前合格权重814、最大权重816以及权重界限818。权重界限用于限制最大权重的变化范围。节点具有的权重不得大于权重界限。
本发明的连接路由器管理器(管理器320)的方法和设备,按照可配置的政策用几种负荷量度(load metrics)来动态分配输入连接。管理器中有一个控制回路,动态地修改执行器340路由选择算法的权重,以使对群集资源的分配最优化。本发明的目标是,根据群集当前的状态分配输入TCP连接,以提高群集的总体吞吐量,减少对服务请求的总体延迟。为此,本发明描述了一种向服务器主机分配连接的方法,以提高服务器的使用率,减少为请求服务的时间延迟。
图6所示作为本发明管理器320的一个实施例,其所在的群集600有5个节点(分别为105、106、107、108和109)。图6中的网络配置方案是基于图4所示方案的一个替代方案,当然,图3所示的配置方案也是可行的。其中一个节点是网关109,它与外部网络120相连,行使TCP连接路由器300(执行器340和管理器320)的功能。管理器320由5个基本部分(genericcomponents)组成:负荷管理器(Mbuddy)610、外部控制接口(Callbuddy)620、群集主机量度管理器(Hostmonitor)630、正向量度生成器(Forward Metric Generator-FMG)640和用户可编程量度管理器(UPMM)650。
负荷管理器610可用四个不同类别的量度为执行器计算权重函数:输入量度、主机量度、服务量度以及用户量度。负荷管理器610接收的这些量度及其它有关数据来自执行器接口346、外部控制接口的接口624、群集主机量度管理器接口634、正向量度生成器接口644和用户可编程量度管理器接口654。负荷管理器610通过接口344控制与执行器路由选择算法关联的每个虚拟封闭群集端口服务器的权重。
负荷管理器610周期地通过接口346,向执行器340请求得到关于每个服务器的各内部计数器的数值。例如,它周期性地请求得到为每个服务器所接通连接的总数的各计数器的数值。负荷管理器610能通过将对在T1和T2两个不同查询时刻的该服务器的计数器内容相减,对一个量度变量进行计算,该变量表示在时间段T1-T2期间所接收的连接的次数。所有这样计算出的输入量度的集合近似地描述了对每个虚拟封闭群集和每个端口服务连接请求的特征率。
群集主机量度管理器630通过报文接口634,周期地向负荷管理器610提供群集中每个主机的状态信息。获得这种状态信息的方法有许多。例如,群集主机量度管理器可以用监控中介(monitoring agents)635执行各种程序脚本来评估主机特定的量度。例如,某个脚本评估的是当前为网络连接对存储缓冲器的利用程度。如果在一个政策特定的阈值时间内未收到关于某个主机量度的报告,就赋予该量度一个特殊的值,管理器就可以判定主机不能再提供服务,于是就不再向其传送连接请求。群集主机量度管理器630负责收集整理来自所有监控中介的报告,将其传送给负荷管理器。
正向量度生成器640用正向请求生成应用特定或服务特定的量度,并对它们进行评估。正向请求就是在网关计算机109上产生的请求。评估过程包括,对每个群集主机服务器产生适当的请求,并检测各服务器的响应延迟时间。例如,要得到一个HTTP服务器上的正向延迟量度,正向量度生成器可对服务于某特定端口(如端口80)的群集中的每个HTTP服务器生成一个HTTP“GET/”请求。然后,正向量度生成器640检测各个服务器为HTTP请求服务的相应的延迟时间,并向负荷管理器610传送含有各量度数据的向量。如果在政策特定的阈值时间内该请求没有被应答,正向量度生成器640就将与其对应的服务节点标示为暂时不接受该特定类型的新的服务请求。管理器用这个信息来确定暂时不能提供服务的主机,于是就不再向其传送该类型的连接请求。
用户可编程量度管理器650允许本发明的用户定义新的任意量度,对连接进行管理。新定义的量度可以定义要在任何特定群集执行的任意规则。例如,任意规则可以要求,出于管理上的原因,某一组群集主机在某些时间段内不得接受任何TCP连接。用户可编程量度管理器650通过接口654将表现为量度的这些规则传达给负荷管理器。
外部控制接口620允许管理人员动态调整负荷管理器610的任何参数。外部控制接口允许管理人员配置该算法,计算由负荷管理器执行的权重的分配。例如,管理人员可能想要动态改变与当前每个量度相关的权重。管理人员可以选择的方案例如有:(1)提高主机量度的权重;(2)降低服务量度的权重;(3)提高向执行器340查询输入量度的频率。外部控制接口620通过接口622接受管理人员的请求,通过接口624传达给负荷管理器610。
负荷管理器610在各服务器与连接路由器网关节点之间建立一个动态反馈控制环路。负荷管理器对执行器610路由选择算法中的权重进行调整,以便使根据负荷量度标准负荷较轻的服务器,接受更多的适合其类型的TCP连接请求。如果定义了如上所述的一组负荷量度和规则量度,负荷管理器就会根据每个虚拟封闭群集中每个端口的每个服务器的当前量度和当前权重,为之计算新的相对权重。
计算每个虚拟封闭群集中每个端口的权重分配的方法如下:(1)计算所有正在执行的服务器的总量度(AM);(2)计算每个正在执行的服务器的当前的权重比例(CWP);(2)对每个量度M为每个服务器S计算其值(相对于总量度AM)的量度比率(MP);(3)计算每个服务器的新权重(NW):3a)如果服务器处于静态,置NW为0;3b)如果服务器具有固定权重W,NW的值为W;3c)计算向量NWV,其中,向量的每一项NWV[i]是一个量度M[i]的函数,具体公式为NWV[i]=AW+[(CWP-MP)/SF],其中AW是当前权重范围中的平均权重,SF是一个平滑系数参数;4d)按下列公式计算每个服务器的新权重:
NW=NWV[1]*w[1]+NWV[2]*w[2]+…+NWV[i]*w[i]
图9的流程图,描述了管理器如何接收量度以及本发明如何计算权重分配。方框910表示负荷管理器处于等待状态,等待的事件要么是一个报文,要么是一个超时信号(timeout)。判断框920进行判断,确定发生的事件的类型。如果事件是超时信号,要求进行数值刷新,则至方框930,询问执行器,要求提供存放输入量度的一组计数器的值(方框935)。如果判断框920确定事件是请求进行参数更新,则在方框928对相应的参数进行更新。例如,管理人员可以对与任何量度关联的权重、或对查询的时间段进行更新。如果判断框920确定,事件是接收量度更新,则至方框925,读出量度,并相应地设置各内部变量的值。如果来了新量度,方框940表示的算法就计算所有量度的当前比例和当前的各个权重。然后至方框950,为每个服务器节点计算新的权重NW,计算公式如上所述。该计算的结果是一个权重NW[i]向量,其中每项NW[i]代表服务器i的新权重。判断框960进行判断,用一个任意阈值函数(arbitrary threshold function)确定计算出的新权重向量NW[i]是否与当前的权重向量不同。如果不同,至方框970,将新权重传给执行器;否则,程序返回至顶部方框,等待新的事件。
当检测到正在工作的网关发生故障时,指定的后备网关中的恢复管理器启动。关于故障检测的一般方法的代表论文有:A Bhide等人的《高利用率的网络文件服务器》(见199页,该文1991年冬在美国德克萨斯州达拉斯举行的USENIX大会上发表,原文名为A highly available Network File Server);F.Jahanian等人的《处理器组成员协议:说明、设计与实现》(见2-11页,该文1993年十月在新泽西州普林斯顿IEEE计算机协会举办的第12届可靠分布式系统研讨会上发表,原文名为Processor Group MembershipProtocols:Specification,Design and Implementation)。
按照《高利用率的网络文件服务器)》中所述方法,恢复管理器首先从出故障网关中撤销网络连接,然后查询所有活动的服务器节点,从它们的影子连接表(shadow connection table)中获得状态信息,并根据该信息在网关的报文交换器中构造连接表。接替过程必须在TCP/IP的超时间隔(timeoutinterval)内完成,以免丢失已有的连接。为此,内部节点执行一个新的混合算法(见下文),检测何时连接变为不活动状态,将这些连接从影子连接表中去除,从而只将处于活动状态的连接向接替网关进行说明。当所有正在工作的群集节点都作出响应(在一定时间内不作出响应的节点被视为不起作用的节点),备用网关中的恢复管理器执行器,激活其自有的网络接口,以便接收向群集ip-地址寻址的包。这最后一步,就完成了让备用网关运行所需的工作。管理器使用的相对静态配置数据被保存在一个由主网关和备用网关共享的文件,备用网关在接替过程中读取该数据。
一种明显的替代解决方案是,在备用网关中双份保存连接数据,但该方案并不可取。它要求在主网关与备用网关之间关于每个接通连接和终止连接有一个“两阶段”协议,由于费用太高,所以不能采用。
图10示出具有高可利用率网关的一种封闭群集的配置。主网关1050被连接到外部网络120,连接处于活动状态。指定的备用网关1030物理连接到网络120,处于不活动状态。除了一般封闭群集网关部件管理器320和执行器340之外,每个网关还有一个恢复管理器1020。(主网关在出现故障、恢复处理后,可以变成备用网关。)每个服务器节点107含有一个影子连接表1010,里面保存着有关其与外部网络120的处于活动状态的连接的信息。
报文(ip包)到达群集网关,被导向到特定的TCP或UDP协议端口。网关中的报文交换器允许为协议端口安装一个报文路由选择功能。对每个到达关联端口的报文,路由选择功能被调用一次,负责选择报文要被传至的内部节点和端口。表示已接通通信连接以及占用该通信连接的群集节点的数据,被记录在网关中一个表中。报文交换器利用此表,在已接通通信连接上为输入包选择路由,送至正确的群集节点。
相对静态信息,例如哪些服务器端口安装了报文交换器功能等信息,以及其它管理器配置数据被保存在一个共享文件中,可由主网关和备用网关访问。当前连接信息的变化很快,要按照本说明书中的技术进行管理。
每个内部节点107保存一个网关路由选择表中的影子连接表1010,内含该节点自己的连接信息(而不含其它节点的连接信息)。在网关接替期间,节点使用该阴影表,对来自备用网关1030中恢复管理器1020发出的接替网关请求作出响应。该表大大地节省了内部节点对接替网关请求的响应所需的时间,这一点非常重要,这是因为,为保持已接通通信连接不中断,接替网关必须在基于连接的协议在成功地完成一次通信所允许的“超时”期限内工作。
为了在网关以及内部节点中保存的影子表开辟空间,存放连接表中的条目,我们采取以下方法。连接的状态要么是活动(Active),要么是结束(FIN)。连接表中每个条目在每一引用上均有一个时间标记。保存一个用户可配置的定时器FIN_TIME_OUT。该定时器表示最后一次引用处于结束状态的对话后,该对话将被关闭的时刻。定时器可以是通用的,也可以是服务地址专有的或端口专有的。主动关闭的目的(主动关闭指通信连接的一端发出结束信号(FIN)而另一端继续在该通信连接上发送信息)是,允许服务器继续向用户发送数据,数据发送完毕,对话就被关闭。用户被允许主动关闭对话,以向服务器表示将不传送来自该用户的进一步的请求。为叙述方便,我们假设用户的请求是通过路由器发送的。这种协议之所以行之有效,是因为服务器继续发送得到确认的数据。路由器以及服务器接到确认信号,不断地在连接表条目中作上时间标记。一旦服务器结束向用户发送数据,关闭它的那一半对话,服务器将得到来自用户的最后一次确认信号。定时器FIN_TIME_OUT规定的时间过后,服务器就能清除该连接条目。第二个定时器STALE_TIME_OUT在网关中。如果处于活动状态的连接超过STALE_TIME_OUT规定的时间而不发生通信动作,则该连接可以被清除。
内部节点中也执行该算法(连接重建算法),为内部节点保存的、支持备用网关的接替过程的连接表的影子表中开辟条目位置。用这种方法,可以使影子表中的条目的数量尽可能地少,从而使得接替过程尽可能快地进行。
FIN_TIME_OUT的缺省值被置为TCP的最小段长(MSL)的三倍。STALE_TIME_OUT的缺省值应该大于TCP的失效超时值(stale timeout)。要定出FIN_TIME_OUT的更合理的值,就要对与该定时器关联的协议加以具体的考虑。
当由于发现主网关发生故障(由非本公开的一部分的在(5)中叙述的类型外的一些装置确定)或是出于管理需要而决定要启用备用网关作为群集的网关时,备用网关1030中的恢复管理器1020采取以下步骤:
(1)备用网关用步骤(3)中所述的ip地址接替方法,取消主网关的网络连接。该步骤旨在保证被认为替换下来的网关不能从网络上接收数据。有一种类型的故障(网关发生部分故障),要是不采取该步骤,故障网关就有可能继续接收报文并进行处理,这是对系统完整性的折衷。
(2)备用网关询问群集的每个作用节点,要求提供分配在各节点的所有UDP端口的描述数据,以及在其与群集外主机之间通过主网关建立的FCP连接的描述数据。这由备用网关用一种基于ip的专用协议来作。每个节点中的影子连接表允许节点立即作出响应,提高了已建立的连接不在网关接替期间超时的概率。上述识别关闭连接、要求为支持它们开辟条目位置的算法,使影子连接表最小化,有助于减少完成网关接替所需的时间。
(3)备用网关记录每个操作节点发出的响应信号,将节点的UDP端口和TCP连接记录在备用网关的执行器340(图10)中的连接表510(图5)中。
(4)当所有工作的群集节点发出响应信号(在规定时间内没有响应的节点被假定为不在工作),备用网关启用自己的网络接口,接收寻址到该群集ip地址的包。该最后步骤完成了允许备用网关执行功能所需的工作。
以上通过较佳实施例对本发明进行了描述。熟悉该领域的人可以对其作出各种修改和改进。因此应该明白,本文所述的较佳实施例仅具有示范意义,而不是限制性的。本发明的范围由下文中各权利要求确定。

Claims (13)

1.一种为输入报文路由选择通过一个计算机节点群集的边界的方法,该群集与一个或多个网络连接,该方法包括以下步骤:
在端口类型报文的报文首标中寻找并读取端口号和目标地址;
根据该目标地址,选择一个计算机节点子集;
根据该端口号选择一个功能,该功能从该子集中的多个可能目的地中为该报文确定一个路由选择目的地,路由选择目的地是该子集中的一个计算机节点;
发送报文至路由选择目的地;以及
在为报文选择通过边界的路由的同时,动态改变子集中至少一个成员以及子集的数目。
2.权利要求1所述方法,其特征是,进行选择所依据的是报文首标中的端口号和协议标识符。
3.权利要求1所述方法,其特征是,子集的个数由一个监控功能动态改变。
4.权利要求1所述方法,其特征是,子集的成员由该监控功能动态改变。
5.权利要求3所述方法,其特征是,所述改变至少包括替换该子集的成员和增加该子集的成员之一。
6.透明地为输入报文在计算机节点群集上选择路由的网关,其中该群集连接到一个或多个网络,该网关包括:
在端口类型报文的报文首标中查找、读取端口号和目标地址,并根据该目标地址选择一个计算机节点子集的装置;
根据该端口号选择功能的装置,其中该功能为该报文在该子集中多个可能目的地中确定一个路由选择目的地,所述路由选择目的地是子集中的一个计算机节点;
动态改变子集中至少一个成员以及子集的数目的装置。
7.权利要求6所述系统,其特征是,子集的数目是由一个监控功能动态改变的;
8.权利要求7所述系统,其特征是,子集的成员是由该监控功能动态改变的;
9.权利要求7所述系统,其特征是,所述改变至少包括替换该子集的成员或增加该子集的成员之一。
10.为输入报文在计算机节点群集的边界节点上选择路由的方法,其中该群集连接到一个或多个网络,该方法包括以下步骤:
在该边界节点上,
从端口类型报文的报文首标中查找、读取端口号;
根据该端口号选择一个功能,该功能为该报文在多个可能目的地中确定一个路由选择目的地,所述路由选择目的地是该群集中的一个计算机节点;
检测边界节点的故障;
检测到故障后,将群集中每个节点的各状态信息子集传送到一个替换边界节点;
在替换边界节点处
接收群集中每个节点的状态信息子集;
用该状态信息重建该边界节点发生故障之前的运行状态,使替换边界节点按该边界节点在发生故障之前原本应有的方式对报文进行分配。
11.权利要求10所述方法,其特征是,进一步包括以下步骤:
从端口类型报文的报文首标中查找、读取端口号和目标地址;
根据该目标地址选择一个计算机节点子集;
其中该路由选择目的地只从该子集中选择。
12.恢复计算机节点群集的边界节点故障的系统,包括:
一种装置,它在该边界节点上从端口类型报文的报文首标中查找、读取端口号,根据该端口号选择一个功能,该功能为该报文在多个可能目的地中确定一个路由选择目的地,其中路由选择目的地是该群集中的一个计算机节点;
检测边界节点的故障的装置;
一个替换边界节点,它包括在检测到发生故障后,接收群集中每个节点状态信息子集的装置,以及用该状态信息子集重建该边界节点发生故障之前的运行状态,使替换边界节点按该边界节点在发生故障之前原本应有的方式对报文进行分配的装置。
13.用于计算机节点群集的边界节点,它包括:
一种装置,它从端口类型报文的报文首标中查找、读取端口号,根据该端口号选择一个为该报文在多个可能目的地中确定一个路由选择目的地的功能,其中路由选择目的地是该群集中的一个计算机节点;
在群集的活动边界节点发生故障后,接收群集中每个节点状态信息子集的装置,以及用该状态信息子集重建该边界节点发生故障之前的运行状态,使替换边界节点按该活动边界节点在发生故障之前原本应有的方式对报文进行分配的装置。
CNB971154376A 1996-08-23 1997-07-22 可恢复的虚拟封闭群集 Expired - Fee Related CN1146186C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US701939 1991-05-17
US701,939 1996-08-23
US08/701,939 US5918017A (en) 1996-08-23 1996-08-23 System and method for providing dynamically alterable computer clusters for message routing

Publications (2)

Publication Number Publication Date
CN1175147A true CN1175147A (zh) 1998-03-04
CN1146186C CN1146186C (zh) 2004-04-14

Family

ID=24819290

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB971154376A Expired - Fee Related CN1146186C (zh) 1996-08-23 1997-07-22 可恢复的虚拟封闭群集

Country Status (6)

Country Link
US (2) US5918017A (zh)
EP (1) EP0838931A3 (zh)
JP (1) JP3452466B2 (zh)
KR (1) KR100255626B1 (zh)
CN (1) CN1146186C (zh)
TW (1) TW340921B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1303786C (zh) * 2003-08-27 2007-03-07 国际商业机器公司 用于在群集中进行故障解决的方法和系统
CN100367719C (zh) * 2004-03-04 2008-02-06 国际商业机器公司 事件总线电路、事件总线系统和处理事件报告的方法
CN101414928B (zh) * 2007-09-28 2011-12-14 英特尔公司 用于可缩放网络控制和管理的虚拟群集
CN102932485A (zh) * 2012-11-20 2013-02-13 无锡城市云计算中心有限公司 服务器连接状态的查询方法和装置

Families Citing this family (203)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324177B1 (en) * 1997-05-02 2001-11-27 Cisco Technology Method and apparatus for managing connections based on a client IP address
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
US6366558B1 (en) * 1997-05-02 2002-04-02 Cisco Technology, Inc. Method and apparatus for maintaining connection state between a connection manager and a failover device
US6115756A (en) * 1997-06-27 2000-09-05 Sun Microsystems, Inc. Electro-optically connected multiprocessor and multiring configuration for dynamically allocating time
KR100311000B1 (ko) * 1997-08-06 2001-11-15 윤종용 다자 참여 웹서버 및 그것을 이용한 사용자간 통신방법
US6324161B1 (en) * 1997-08-27 2001-11-27 Alcatel Usa Sourcing, L.P. Multiple network configuration with local and remote network redundancy by dual media redirect
US5999712A (en) * 1997-10-21 1999-12-07 Sun Microsystems, Inc. Determining cluster membership in a distributed computer system
US6308216B1 (en) * 1997-11-14 2001-10-23 International Business Machines Corporation Service request routing using quality-of-service data and network resource information
GB2334353B (en) * 1998-02-12 2002-08-07 Ibm An apparatus,method and computer program product for client/server computing with the ability to select which servers are capable of creating transaction stat
US6359879B1 (en) * 1998-04-24 2002-03-19 Avici Systems Composite trunking
US6173319B1 (en) * 1998-05-08 2001-01-09 Attachmate Corporation Using a systems network architecture logical unit activation request unit as a dynamic configuration definition in a gateway
US6389465B1 (en) 1998-05-08 2002-05-14 Attachmate Corporation Using a systems network architecture logical unit activation request unit as a dynamic configuration definition in a gateway
US6260070B1 (en) 1998-06-30 2001-07-10 Dhaval N. Shah System and method for determining a preferred mirrored service in a network by evaluating a border gateway protocol
US6446121B1 (en) 1998-05-26 2002-09-03 Cisco Technology, Inc. System and method for measuring round trip times in a network using a TCP packet
US6370583B1 (en) * 1998-08-17 2002-04-09 Compaq Information Technologies Group, L.P. Method and apparatus for portraying a cluster of computer systems as having a single internet protocol image
US6430610B1 (en) * 1998-09-02 2002-08-06 Steeleye Technology, Inc. TCP/IP address protection mechanism in a clustered server environment
US6253230B1 (en) * 1998-09-22 2001-06-26 International Business Machines Corporation Distributed scalable device for selecting a server from a server cluster and a switched path to the selected server
US6993591B1 (en) * 1998-09-30 2006-01-31 Lucent Technologies Inc. Method and apparatus for prefetching internet resources based on estimated round trip time
US6618359B1 (en) 1998-10-07 2003-09-09 Nortel Networks Limited Error recovery in a mixed protocol networks
US6484206B2 (en) * 1998-10-07 2002-11-19 Nortel Networks Limited Efficient recovery of multiple connections in a communication network
US6597704B1 (en) 1998-10-07 2003-07-22 Nortel Networks Limited System for translating a message from a first transmission protocol to a second transmission protocol
US6205477B1 (en) 1998-10-20 2001-03-20 Cisco Technology, Inc. Apparatus and method for performing traffic redirection in a distributed system using a portion metric
US6298381B1 (en) * 1998-10-20 2001-10-02 Cisco Technology, Inc. System and method for information retrieval regarding services
US6430155B1 (en) * 1998-11-30 2002-08-06 Cisco Technology, Inc. Congestion avoidance on communications networks
US6671273B1 (en) 1998-12-31 2003-12-30 Compaq Information Technologies Group L.P. Method for using outgoing TCP/IP sequence number fields to provide a desired cluster node
US6549538B1 (en) * 1998-12-31 2003-04-15 Compaq Information Technologies Group, L.P. Computer method and apparatus for managing network ports cluster-wide using a lookaside list
US6665304B2 (en) * 1998-12-31 2003-12-16 Hewlett-Packard Development Company, L.P. Method and apparatus for providing an integrated cluster alias address
US6724724B1 (en) 1999-01-21 2004-04-20 Cisco Technology, Inc. System and method for resolving an electronic address
US8024761B1 (en) * 1999-04-01 2011-09-20 Cox Communications, Inc. Method and apparatus of load sharing and fault tolerance in an interactive video distribution system
US6795860B1 (en) 1999-04-05 2004-09-21 Cisco Technology, Inc. System and method for selecting a service with dynamically changing information
US6564261B1 (en) 1999-05-10 2003-05-13 Telefonaktiebolaget Lm Ericsson (Publ) Distributed system to intelligently establish sessions between anonymous users over various networks
US20030177182A1 (en) * 1999-06-14 2003-09-18 International Business Machines Corporation Ensuring a given transactional unit of work arrives at an appropriate server instance
US6751191B1 (en) * 1999-06-29 2004-06-15 Cisco Technology, Inc. Load sharing and redundancy scheme
US6667980B1 (en) 1999-10-21 2003-12-23 Sun Microsystems, Inc. Method and apparatus for providing scalable services using a packet distribution table
US7062556B1 (en) * 1999-11-22 2006-06-13 Motorola, Inc. Load balancing method in a communication network
JP2001156785A (ja) * 1999-11-26 2001-06-08 Nec Corp バッファに於けるセル廃棄回避システムおよび方法
US6917626B1 (en) * 1999-11-30 2005-07-12 Cisco Technology, Inc. Apparatus and method for automatic cluster network device address assignment
US6636499B1 (en) 1999-12-02 2003-10-21 Cisco Technology, Inc. Apparatus and method for cluster network device discovery
US6789213B2 (en) * 2000-01-10 2004-09-07 Sun Microsystems, Inc. Controlled take over of services by remaining nodes of clustered computing system
US6735206B1 (en) 2000-01-10 2004-05-11 Sun Microsystems, Inc. Method and apparatus for performing a fast service lookup in cluster networking
US6748437B1 (en) 2000-01-10 2004-06-08 Sun Microsystems, Inc. Method for creating forwarding lists for cluster networking
US6862613B1 (en) 2000-01-10 2005-03-01 Sun Microsystems, Inc. Method and apparatus for managing operations of clustered computer systems
US6587866B1 (en) * 2000-01-10 2003-07-01 Sun Microsystems, Inc. Method for distributing packets to server nodes using network client affinity and packet distribution table
US6757836B1 (en) 2000-01-10 2004-06-29 Sun Microsystems, Inc. Method and apparatus for resolving partial connectivity in a clustered computing system
US6735205B1 (en) 2000-01-10 2004-05-11 Sun Microsystems, Inc. Method and apparatus for fast packet forwarding in cluster networking
US6769008B1 (en) 2000-01-10 2004-07-27 Sun Microsystems, Inc. Method and apparatus for dynamically altering configurations of clustered computer systems
WO2001056244A1 (fr) * 2000-01-26 2001-08-02 Sony Corporation Systeme de transmission de donnees
GB2359693B (en) * 2000-02-26 2003-07-16 3Com Corp Network switch with truncated trie look-up facility
US6601101B1 (en) * 2000-03-15 2003-07-29 3Com Corporation Transparent access to network attached devices
US6970425B1 (en) * 2000-04-27 2005-11-29 At&T Corp. Method and apparatus for throttling and distributing data transmissions across a network
US8311927B2 (en) * 2000-05-01 2012-11-13 Ndex Systems Inc. System and method for anonymously matching products or services with a consumer
US6847993B1 (en) 2000-05-31 2005-01-25 International Business Machines Corporation Method, system and program products for managing cluster configurations
US6839321B1 (en) 2000-07-18 2005-01-04 Alcatel Domain based congestion management
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
US6954784B2 (en) * 2000-08-17 2005-10-11 International Business Machines Corporation Systems, method and computer program products for cluster workload distribution without preconfigured port identification by utilizing a port of multiple ports associated with a single IP address
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
US6996631B1 (en) * 2000-08-17 2006-02-07 International Business Machines Corporation System having a single IP address associated with communication protocol stacks in a cluster of processing systems
US7120697B2 (en) * 2001-05-22 2006-10-10 International Business Machines Corporation Methods, systems and computer program products for port assignments of multiple application instances using the same source IP address
US7725587B1 (en) 2000-08-24 2010-05-25 Aol Llc Deep packet scan hacker identification
US7711790B1 (en) 2000-08-24 2010-05-04 Foundry Networks, Inc. Securing an accessible computer system
US7356496B2 (en) * 2001-03-22 2008-04-08 International Business Machines Corporation System and method for synchronizing ledger accounts by company group
US8027892B2 (en) * 2001-03-28 2011-09-27 International Business Machines Corporation System and method for automating invoice processing with positive confirmation
US6965938B1 (en) * 2000-09-07 2005-11-15 International Business Machines Corporation System and method for clustering servers for performance and load balancing
US7197480B1 (en) * 2000-09-07 2007-03-27 International Business Machines Corporation System and method for front end business logic and validation
US7283976B2 (en) * 2001-03-22 2007-10-16 International Business Machines Corporation System and method for invoice imaging through negative confirmation process
US7155403B2 (en) * 2001-03-22 2006-12-26 International Business Machines Corporation System and method for leveraging procurement across companies and company groups
US7386495B2 (en) * 2001-03-23 2008-06-10 International Business Machines Corporation System and method for processing tax codes by company group
US7293255B2 (en) * 2000-09-25 2007-11-06 Sun Microsystems, Inc. Apparatus and method for automated creation of resource types
US9130954B2 (en) 2000-09-26 2015-09-08 Brocade Communications Systems, Inc. Distributed health check for global server load balancing
US7454500B1 (en) * 2000-09-26 2008-11-18 Foundry Networks, Inc. Global server load balancing
US7657629B1 (en) 2000-09-26 2010-02-02 Foundry Networks, Inc. Global server load balancing
US6766354B1 (en) * 2000-09-28 2004-07-20 Intel Corporation Speed sensitive content delivery in a client-server network
US20020042839A1 (en) * 2000-10-10 2002-04-11 Christopher Peiffer HTTP multiplexor/demultiplexor
US6965930B1 (en) 2000-10-20 2005-11-15 International Business Machines Corporation Methods, systems and computer program products for workload distribution based on end-to-end quality of service
US6963917B1 (en) 2000-10-20 2005-11-08 International Business Machines Corporation Methods, systems and computer program products for policy based distribution of workload to subsets of potential servers
US7606898B1 (en) 2000-10-24 2009-10-20 Microsoft Corporation System and method for distributed management of shared computers
US7113900B1 (en) 2000-10-24 2006-09-26 Microsoft Corporation System and method for logical modeling of distributed computer systems
US7418522B2 (en) * 2000-12-21 2008-08-26 Noatak Software Llc Method and system for communicating an information packet through multiple networks
US20020116532A1 (en) * 2000-12-21 2002-08-22 Berg Mitchell T. Method and system for communicating an information packet and identifying a data structure
US7512686B2 (en) * 2000-12-21 2009-03-31 Berg Mitchell T Method and system for establishing a data structure of a connection with a client
US20020116605A1 (en) * 2000-12-21 2002-08-22 Berg Mitchell T. Method and system for initiating execution of software in response to a state
US7287090B1 (en) * 2000-12-21 2007-10-23 Noatak Software, Llc Method and system for identifying a computing device in response to a request packet
US7421505B2 (en) * 2000-12-21 2008-09-02 Noatak Software Llc Method and system for executing protocol stack instructions to form a packet for causing a computing device to perform an operation
US20020116397A1 (en) * 2000-12-21 2002-08-22 Berg Mitchell T. Method and system for communicating an information packet through multiple router devices
US7546369B2 (en) * 2000-12-21 2009-06-09 Berg Mitchell T Method and system for communicating a request packet in response to a state
US20020129095A1 (en) * 2000-12-29 2002-09-12 Hatalkar Atul N. Broadcast communication system with dynamic client-group memberships
EP1354448A2 (en) * 2001-01-11 2003-10-22 Nortel Networks Limited Distribution processing and criteria-based dynamic modification of data-flow map
US6937562B2 (en) 2001-02-05 2005-08-30 Ipr Licensing, Inc. Application specific traffic optimization in a wireless link
US7243077B2 (en) 2001-03-02 2007-07-10 International Business Machines Corporation Method and computer program product for managing an internet trading network
US7171453B2 (en) * 2001-04-19 2007-01-30 Hitachi, Ltd. Virtual private volume method and system
US7711831B2 (en) * 2001-05-22 2010-05-04 International Business Machines Corporation Methods, systems and computer program products for source address selection
US20020178245A1 (en) * 2001-05-25 2002-11-28 David Funk Network element management
US7657643B2 (en) * 2001-06-15 2010-02-02 Cisco Technology, Inc. System and method for determining a preferred mirrored service in a network by evaluating a border gateway protocol
US7490165B1 (en) * 2001-07-18 2009-02-10 Cisco Technology, Inc. Method and apparatus for computing a path in a system with nodal and link diverse constraints
US7032048B2 (en) * 2001-07-30 2006-04-18 International Business Machines Corporation Method, system, and program products for distributed content throttling in a computing environment
US6772224B2 (en) * 2001-08-22 2004-08-03 Spatial Communications Technologies, Inc. Method and system for processing load distribution for a packetized telecommunication network entity
US7228337B1 (en) * 2001-09-11 2007-06-05 Cisco Technology, Inc. Methods and apparatus for providing a network service to a virtual machine
US7000016B1 (en) 2001-10-19 2006-02-14 Data Return Llc System and method for multi-site clustering in a network
US6938031B1 (en) * 2001-10-19 2005-08-30 Data Return Llc System and method for accessing information in a replicated database
JP2003141057A (ja) * 2001-11-06 2003-05-16 Mitsubishi Electric Corp Dma転送制御回路
US7224669B2 (en) * 2002-01-22 2007-05-29 Mellandx Technologies Ltd. Static flow rate control
US7447755B1 (en) * 2002-03-18 2008-11-04 Blue Coat Systems, Inc. Method and apparatus for policy management in a network device
WO2005008493A1 (en) * 2002-05-31 2005-01-27 Unisys Corporation Improving transaction-processing performance by preferentially reusing frequently used processes
US7222178B2 (en) * 2002-05-31 2007-05-22 Unisys Corporation Transaction-processing performance by preferentially reusing frequently used processes
US7440394B2 (en) * 2002-06-24 2008-10-21 Nokia Corporation Method and system for redundant IP forwarding in a telecommunications network
US20040006640A1 (en) * 2002-07-03 2004-01-08 Inderieden Daniel W. Notification to routing protocols of changes to routing information base
US7000221B2 (en) * 2002-07-31 2006-02-14 International Business Machines Corporation Script evaluator
US7086061B1 (en) * 2002-08-01 2006-08-01 Foundry Networks, Inc. Statistical tracking of global server load balancing for selecting the best network address from ordered list of network addresses based on a set of performance metrics
US7574508B1 (en) 2002-08-07 2009-08-11 Foundry Networks, Inc. Canonical name (CNAME) handling for global server load balancing
US7152111B2 (en) * 2002-08-15 2006-12-19 Digi International Inc. Method and apparatus for a client connection manager
JP4174049B2 (ja) * 2002-09-20 2008-10-29 松下電器産業株式会社 複数のデータ通信ネットワークを接続する中間ネットワーク要素におけるアクセス制御
US8051176B2 (en) 2002-11-07 2011-11-01 Hewlett-Packard Development Company, L.P. Method and system for predicting connections in a computer network
US7483980B2 (en) * 2002-11-07 2009-01-27 Hewlett-Packard Development Company, L.P. Method and system for managing connections in a computer network
US7404006B1 (en) 2002-12-20 2008-07-22 Symantec Operating Corporation Publishing a network address in a computer network
US8275864B1 (en) 2002-12-20 2012-09-25 Symantec Operating Corporation Peer-to-peer network with recovery capability
US7327741B1 (en) 2002-12-20 2008-02-05 Symantec Operating Corporation Detecting and breaking cycles in a computer network
US7653059B1 (en) 2002-12-20 2010-01-26 Symantec Operating Corporation Communication sessions for a computer network
US7292585B1 (en) 2002-12-20 2007-11-06 Symantec Operating Corporation System and method for storing and utilizing routing information in a computer network
US8370523B1 (en) 2002-12-20 2013-02-05 Symantec Operating Corporation Managing routing information for a computer network
US7406535B2 (en) * 2002-12-20 2008-07-29 Symantec Operating Corporation Role-based message addressing for a computer network
US7467194B1 (en) 2002-12-20 2008-12-16 Symantec Operating Corporation Re-mapping a location-independent address in a computer network
US20040210623A1 (en) * 2003-03-06 2004-10-21 Aamer Hydrie Virtual network topology generation
US7072807B2 (en) 2003-03-06 2006-07-04 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7567504B2 (en) * 2003-06-30 2009-07-28 Microsoft Corporation Network load balancing with traffic routing
US7590736B2 (en) 2003-06-30 2009-09-15 Microsoft Corporation Flexible network load balancing
US7606929B2 (en) 2003-06-30 2009-10-20 Microsoft Corporation Network load balancing with connection manipulation
US7613822B2 (en) * 2003-06-30 2009-11-03 Microsoft Corporation Network load balancing with session information
US7636917B2 (en) 2003-06-30 2009-12-22 Microsoft Corporation Network load balancing with host status information
US8886705B1 (en) 2003-06-30 2014-11-11 Symantec Operating Corporation Goal-oriented storage management for a distributed data storage network
US9584360B2 (en) 2003-09-29 2017-02-28 Foundry Networks, Llc Global server load balancing support for private VIP addresses
US7388839B2 (en) * 2003-10-22 2008-06-17 International Business Machines Corporation Methods, apparatus and computer programs for managing performance and resource utilization within cluster-based systems
US8060619B1 (en) 2003-11-07 2011-11-15 Symantec Operating Corporation Direct connections to a plurality of storage object replicas in a computer network
US7555527B1 (en) 2003-11-07 2009-06-30 Symantec Operating Corporation Efficiently linking storage object replicas in a computer network
US7680950B1 (en) 2003-11-07 2010-03-16 Symantec Operating Corporation Efficient search for storage objects in a network
US7570600B1 (en) 2003-12-17 2009-08-04 Symantec Operating Corporation Overlay network with efficient routing and recovery
US7693991B2 (en) * 2004-01-16 2010-04-06 International Business Machines Corporation Virtual clustering and load balancing servers
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US7971204B2 (en) 2004-03-13 2011-06-28 Adaptive Computing Enterprises, Inc. System and method of co-allocating a reservation spanning different compute resources types
CA2559603A1 (en) * 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
CA2559584A1 (en) * 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method of providing a self-optimizing reservation in space of compute resources
US7890629B2 (en) * 2004-03-13 2011-02-15 Adaptive Computing Enterprises, Inc. System and method of providing reservation masks within a compute environment
US7496651B1 (en) 2004-05-06 2009-02-24 Foundry Networks, Inc. Configurable geographic prefixes for global server load balancing
US7584301B1 (en) 2004-05-06 2009-09-01 Foundry Networks, Inc. Host-level policies for global server load balancing
US7284148B2 (en) * 2004-06-17 2007-10-16 International Business Machines Corporation Method and system for self-healing in routers
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US7533385B1 (en) 2004-07-07 2009-05-12 Sprint Communications Company Lp Virtualization and server imaging system for allocation of computer hardware and software
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
US7423977B1 (en) 2004-08-23 2008-09-09 Foundry Networks Inc. Smoothing algorithm for round trip time (RTT) measurements
US8019636B2 (en) * 2004-09-28 2011-09-13 International Business Machines Corporation Method, system and program product for planning and managing a call center study
US8495145B2 (en) * 2004-10-14 2013-07-23 Intel Corporation Controlling receipt of undesired electronic mail
CA2586763C (en) 2004-11-08 2013-12-17 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US7996455B2 (en) 2005-06-17 2011-08-09 Adaptive Computing Enterprises, Inc. System and method for providing dynamic roll-back reservations in time
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9075657B2 (en) 2005-04-07 2015-07-07 Adaptive Computing Enterprises, Inc. On-demand access to compute resources
JP4356997B2 (ja) * 2005-03-15 2009-11-04 キヤノン株式会社 通信装置及びその通信方法
JP4366323B2 (ja) * 2005-03-15 2009-11-18 キヤノン株式会社 通信装置およびその制御方法
CA2601384A1 (en) 2005-03-16 2006-10-26 Cluster Resources, Inc. Automatic workload transfer to an on-demand center
US9225663B2 (en) 2005-03-16 2015-12-29 Adaptive Computing Enterprises, Inc. System and method providing a virtual private cluster
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
US9160792B2 (en) * 2005-04-05 2015-10-13 International Business Machines Corporation On-demand global server load balancing system and method of use
US7725901B2 (en) * 2005-04-14 2010-05-25 International Business Machines Corporation Method and system for performance balancing in a distributed computer system
US7895308B2 (en) * 2005-05-11 2011-02-22 Tindall Steven J Messaging system configurator
US7688739B2 (en) * 2005-08-02 2010-03-30 Trilliant Networks, Inc. Method and apparatus for maximizing data transmission capacity of a mesh network
US7941309B2 (en) 2005-11-02 2011-05-10 Microsoft Corporation Modeling IT operations/policies
US7707314B2 (en) * 2005-11-21 2010-04-27 Limelight Networks, Inc. Domain name resolution resource allocation
US20070118667A1 (en) * 2005-11-21 2007-05-24 Limelight Networks, Inc. Domain name resolution based dynamic resource assignment
US20070136465A1 (en) * 2005-12-12 2007-06-14 Fernandes Lilian S Method for allowing multiple authorized applications to share the same port
CN100461697C (zh) * 2006-04-18 2009-02-11 华为技术有限公司 基于设备容灾的业务接管方法及备份机
US8539075B2 (en) 2006-04-21 2013-09-17 International Business Machines Corporation On-demand global server load balancing system and method of use
US20080043759A1 (en) * 2006-08-17 2008-02-21 Northrop Grumman Systems Corporation System, Apparatus, Method and Computer Program Product for an Intercom System
US8312507B2 (en) 2006-10-17 2012-11-13 A10 Networks, Inc. System and method to apply network traffic policy to an application session
US8584199B1 (en) 2006-10-17 2013-11-12 A10 Networks, Inc. System and method to apply a packet routing policy to an application session
US9846846B2 (en) 2006-11-14 2017-12-19 International Business Machines Corporation Method and system for analyzing contact studies
US8209417B2 (en) * 2007-03-08 2012-06-26 Oracle International Corporation Dynamic resource profiles for clusterware-managed resources
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US20090144446A1 (en) * 2007-11-29 2009-06-04 Joseph Olakangil Remediation management for a network with multiple clients
US7856500B2 (en) * 2008-07-11 2010-12-21 International Business Machines Corporation Method for placing composite applications in a federated environment
US8533333B2 (en) * 2008-09-03 2013-09-10 Microsoft Corporation Shared hosting using host name affinity
TW201018140A (en) * 2008-10-16 2010-05-01 Chunghwa Telecom Co Ltd System and method for protecting data of network user
EP2380335B1 (en) * 2009-01-16 2013-07-03 Telefonaktiebolaget LM Ericsson (publ) Systems and methods for recovering from the failure of a gateway server
US20100250646A1 (en) * 2009-03-25 2010-09-30 Microsoft Corporation Mechanism for geo distributing application data
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9231785B2 (en) 2009-12-18 2016-01-05 At&T Intellectual Property I, L.P. Method and apparatus for clearing hang calls
US8549148B2 (en) 2010-10-15 2013-10-01 Brocade Communications Systems, Inc. Domain name system security extensions (DNSSEC) for global server load balancing
US8774010B2 (en) 2010-11-02 2014-07-08 Cisco Technology, Inc. System and method for providing proactive fault monitoring in a network environment
US8559341B2 (en) 2010-11-08 2013-10-15 Cisco Technology, Inc. System and method for providing a loop free topology in a network environment
US8982733B2 (en) 2011-03-04 2015-03-17 Cisco Technology, Inc. System and method for managing topology changes in a network environment
US8670326B1 (en) 2011-03-31 2014-03-11 Cisco Technology, Inc. System and method for probing multiple paths in a network environment
US8612541B2 (en) 2011-04-29 2013-12-17 Blue Coat Systems, Inc. Method and apparatus for multi-tenant policy management in a network device
US8724517B1 (en) 2011-06-02 2014-05-13 Cisco Technology, Inc. System and method for managing network traffic disruption
US8830875B1 (en) 2011-06-15 2014-09-09 Cisco Technology, Inc. System and method for providing a loop free topology in a network environment
US9118618B2 (en) 2012-03-29 2015-08-25 A10 Networks, Inc. Hardware-based packet editor
US9450846B1 (en) 2012-10-17 2016-09-20 Cisco Technology, Inc. System and method for tracking packets in a network environment
US9338225B2 (en) 2012-12-06 2016-05-10 A10 Networks, Inc. Forwarding policies on a virtual service network
US9992107B2 (en) 2013-03-15 2018-06-05 A10 Networks, Inc. Processing data packets using a policy based network path
JP6256904B2 (ja) 2013-04-18 2018-01-10 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 処理の要求を振り分ける装置及び方法
WO2014179753A2 (en) 2013-05-03 2014-11-06 A10 Networks, Inc. Facilitating secure network traffic by an application delivery controller
US9942152B2 (en) 2014-03-25 2018-04-10 A10 Networks, Inc. Forwarding data packets using a service-based forwarding policy
US9397926B2 (en) * 2014-08-05 2016-07-19 Dell Products L.P. Peer-influenced aggregate member selection
US10268467B2 (en) 2014-11-11 2019-04-23 A10 Networks, Inc. Policy-driven management of application traffic for providing services to cloud-based applications
US10681145B1 (en) * 2014-12-22 2020-06-09 Chelsio Communications, Inc. Replication in a protocol offload network interface controller
US10834056B2 (en) * 2018-07-31 2020-11-10 Ca, Inc. Dynamically controlling firewall ports based on server transactions to reduce risks

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4112488A (en) * 1975-03-07 1978-09-05 The Charles Stark Draper Laboratory, Inc. Fault-tolerant network with node branching
US4665520A (en) * 1985-02-01 1987-05-12 International Business Machines Corporation Optimistic recovery in a distributed processing system
US5357632A (en) * 1990-01-09 1994-10-18 Hughes Aircraft Company Dynamic task allocation in a multi-processor system employing distributed control processors and distributed arithmetic processors
US5319774A (en) * 1990-05-16 1994-06-07 International Business Machines Corporation Recovery facility for incomplete sync points for distributed application
US5353412A (en) * 1990-10-03 1994-10-04 Thinking Machines Corporation Partition control circuit for separately controlling message sending of nodes of tree-shaped routing network to divide the network into a number of partitions
US5261096A (en) * 1991-03-01 1993-11-09 Bull Hn Information Systems Inc. Interprocess message passing method in a distributed digital data system
IL99923A0 (en) * 1991-10-31 1992-08-18 Ibm Israel Method of operating a computer in a network
EP0582373B1 (en) * 1992-07-17 1999-10-06 Sun Microsystems, Inc. Method and apparatus for implementing self-organization in a wireless local area network
US5371852A (en) * 1992-10-14 1994-12-06 International Business Machines Corporation Method and apparatus for making a cluster of computers appear as a single host on a network
US5459864A (en) * 1993-02-02 1995-10-17 International Business Machines Corporation Load balancing, error recovery, and reconfiguration control in a data movement subsystem with cooperating plural queue processors
KR0128271B1 (ko) * 1994-02-22 1998-04-15 윌리암 티. 엘리스 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템
US5644706A (en) * 1994-06-20 1997-07-01 Microsoft Corporation Failure detection and reporting for a computer mail gateway
JP3365705B2 (ja) * 1995-05-24 2003-01-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散型データ処理システム
US6047323A (en) * 1995-10-19 2000-04-04 Hewlett-Packard Company Creation and migration of distributed streams in clusters of networked computers

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1303786C (zh) * 2003-08-27 2007-03-07 国际商业机器公司 用于在群集中进行故障解决的方法和系统
US7284147B2 (en) 2003-08-27 2007-10-16 International Business Machines Corporation Reliable fault resolution in a cluster
US7941690B2 (en) 2003-08-27 2011-05-10 International Business Machines Corporation Reliable fault resolution in a cluster
CN100367719C (zh) * 2004-03-04 2008-02-06 国际商业机器公司 事件总线电路、事件总线系统和处理事件报告的方法
CN101414928B (zh) * 2007-09-28 2011-12-14 英特尔公司 用于可缩放网络控制和管理的虚拟群集
CN102932485A (zh) * 2012-11-20 2013-02-13 无锡城市云计算中心有限公司 服务器连接状态的查询方法和装置

Also Published As

Publication number Publication date
US20020166080A1 (en) 2002-11-07
US5918017A (en) 1999-06-29
KR100255626B1 (ko) 2000-05-01
CN1146186C (zh) 2004-04-14
KR19980018141A (ko) 1998-06-05
EP0838931A2 (en) 1998-04-29
JPH1093655A (ja) 1998-04-10
TW340921B (en) 1998-09-21
JP3452466B2 (ja) 2003-09-29
EP0838931A3 (en) 2003-12-03
US6496866B2 (en) 2002-12-17

Similar Documents

Publication Publication Date Title
CN1146186C (zh) 可恢复的虚拟封闭群集
Cardellini et al. The state of the art in locally distributed web-server systems
Hunt et al. Network dispatcher: A connection router for scalable internet services
US7146417B1 (en) System for distributing load over multiple servers at an internet site
EP0892531B1 (en) Network load balancing for multi-computer server
US6965930B1 (en) Methods, systems and computer program products for workload distribution based on end-to-end quality of service
Zhang Linux virtual server for scalable network services
Gan et al. LSMAC vs. LSNAT: Scalable cluster‐based Web servers
JP3014358B2 (ja) コンピュータ・ネットワークおよびサーバ間で作業負荷のバランスをとる方法
US20010049741A1 (en) Method and system for balancing load distribution on a wide area network
US20040249939A1 (en) Methods and apparatus for dynamic and optimal server set selection
US20030172163A1 (en) Server load balancing system, server load balancing device, and content management device
CN109274707A (zh) 一种负载调度方法及装置
US7380002B2 (en) Bi-directional affinity within a load-balancing multi-node network interface
CN109151009A (zh) 一种基于mec的cdn节点分配方法和系统
CN109474700B (zh) iSCSI客户端的接入方法、存储介质、客户端和存储节点
CN109639796A (zh) 一种负载均衡实现方法、装置、设备及可读存储介质
CN112839081A (zh) 一种云集群的负载均衡方法
US20030179775A1 (en) Service delivery network system and method
US20040243706A1 (en) Method and system for balancing the load of a computer resource among computers
Korkea-aho Scalability in Distributed Multimedia Systems
US7711780B1 (en) Method for distributed end-to-end dynamic horizontal scalability
Ke et al. Load balancing using P4 in software-defined networks
CN109788062A (zh) 输电系统服务器负载均衡方法
Dutta et al. ReDAL: An efficient and practical request distribution technique for application server clusters

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20040414

Termination date: 20100722