CN1764191B - 用于动态更新会话状态亲缘性的方法和系统 - Google Patents

用于动态更新会话状态亲缘性的方法和系统 Download PDF

Info

Publication number
CN1764191B
CN1764191B CN2005101135473A CN200510113547A CN1764191B CN 1764191 B CN1764191 B CN 1764191B CN 2005101135473 A CN2005101135473 A CN 2005101135473A CN 200510113547 A CN200510113547 A CN 200510113547A CN 1764191 B CN1764191 B CN 1764191B
Authority
CN
China
Prior art keywords
server
application server
session
application
subregion
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
CN2005101135473A
Other languages
English (en)
Other versions
CN1764191A (zh
Inventor
斯里尼瓦斯·哈斯迪
加布雷尔·加西亚·蒙特罗
阿拉温德·斯里尼瓦桑
仁加纳桑·桑达拉拉曼
凯文·艾德华·沃格汉
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 CN1764191A publication Critical patent/CN1764191A/zh
Application granted granted Critical
Publication of CN1764191B publication Critical patent/CN1764191B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

在包括超文本传输协议(HTTP)路由服务器和多个应用服务器的工作负荷平衡系统中保持会话状态亲缘性。应用服务器把用于到多个应用服务器的第一服务器的第一会话的备份会话状态信息保持在少于全部的多个应用服务器的应用服务器处,在多个应用服务器中的不同于第一应用服务器的一个应用服务器处检测第一应用服务器不可用,以及确定继续进行第一会话的第二服务器。第二服务器的标识和第一会话是响应于检测到第一服务器不可用而从多个应用服务器的一个应用服务器发送到HTTP路由服务器的。第二服务器的标识和第一会话在HTTP路由服务器处被接收,以及响应于接收到第二服务器的标识,与第一会话有关的通信从HTTP路由服务器被路由到第二服务器,这样,被保持在第二服务器中的备份会话状态信息被使用来在第二服务器处继续进行来自第一服务器的第一会话。

Description

用于动态更新会话状态亲缘性的方法和系统
技术领域
本发明涉及数据处理系统之间的工作负荷分配,以及更具体地涉及在具有多个应用服务器的系统中保持会话状态亲缘性。
背景技术
互联网协议(“IP”)被设计为无连接协议。所以,IP工作负荷平衡解决方案典型地把到由特定的目的地IP地址和端口号组合识别的特定应用的每个传输控制协议(“TCP”)连接请求当作是独立于所有的其它的这种TCP连接请求的。这样的IP工作负荷平衡系统的例子包括来自国际商用机器公司(“IBM”)的Sysplex Distributor,它被包括在IBM的z/OS和OS/390TCP/IP实施方案中,以及来自Cisco系统公司的Multi-Node Load Balancer(“MNLB”)中。诸如这些的工作负荷平衡解决方案使用相对服务器容量(以及,在Sysplex Distributor的情形下,也使用网络策略信息和服务质量考虑),以动态选择服务器来操控每个进入的连接请求。然而,某些应用需要在特定的客户端与特定的服务器之间的关系持续到单个交互的生存期(lifetime)以外(即,在连接请求及其相关的响应消息以外)。
Web应用是需要正在进行的关系的应用的一个例子。例如,考虑web购物应用,其中在客户端浏览器处的用户可以把他的用户标识(“用户ID”)和口令提供给在特定的服务器上执行的web应用的特定示例,然后进行购物。在使用这种web应用的同时,用户的浏览器可以发送多个分开的--但相关的--超文本传输协议(“HTTP”)请求消息,每个消息在分开的TCP连接请求中被载送。当用户浏览在线目录,选择一个或多个货物物品,进行预订,提供付费和货运信息,以及最后确认或取消订单时,可以发送分开的请求消息。为了组装和处理用户的订单,可能必须保持状态信息(诸如用户ID、请求的货物物品等等),直至购物交易完成为止。所以,可能必须把所有的相关的连接请求路由到相同的应用示例,因为这个状态信息只存在于该特定的web应用示例中。因此,工作负荷平衡实施方案典型地必须考虑这种类型的正在进行的关系以及只使第一连接请求经受工作负荷平衡过程。
需要特定的客户端与特定的服务器之间持久的关系的应用的另一个例子是其中客户端访问对安全敏感的或访问受限的网页的应用。典型地,用户在对于这样的应用的早先的连接请求(例如,“登录”请求)中提供他的ID和口令。这个信息必须被应用记住及在相关的请求的整个过程中被携带而不需要用户重新输入它。所以,必须把所有以后的连接请求路由到记住客户端的信息的服务器应用示例。因此,工作负荷平衡实施方案必须对于所有的而不是初始的那一个连接请求旁路它的正常选择过程,以使得正在进行的关系是持久的。
提供这些持久关系的需要常常被称为“服务器亲缘性(affinity)”或“粘性(sticky)路由问题”。在现有技术中被使用来解决这一web应用的问题的一种技术是使用“cookie”。“cookie”是在HTTP请求和响应报头内的可变长度域中传输的数据对象。cookie存储服务器应用想要记住的关于特定的客户端的某些数据。这可包括客户端标识、在正在进行的交易中使用的参数和状态信息、用户偏好、或应用编写者可想到的要包括进去的几乎任何其它信息。cookie通常在交易的持续时间内(例如在客户经由单个浏览器示例与在线商人的电子购物交互整个过程中)或者永久地被存储在客户端装置。web应用可以在它在响应消息中发送到客户端的cookie中提供识别信息,然后客户端在以后的请求消息中返回该信息。这样,客户端和服务器应用利用面向连接的信息,而不管HTTP设计所依照的无连接模型。
通过使用cookie,对于与客户端的会话可以保持服务器亲缘性。而且,因为可以保持服务器亲缘性,服务器可以保持与客户端的会话的状态信息。备份服务器也可以保持会话的状态信息以便在原始服务器不可用的情形下使用。然而,虽然服务器亲缘性可被对于会话保持,但如果原始服务器故障,可能很难把对于会话的请求路由到正确的备份服务器,特别是在备份服务器是服务器组中的特定的服务器,以及它不是统计地定义的或可能随着到原始服务器的不同的会话而变化的情况下。
例如,在WebSphere应用服务器v.5中,HTTP路由服务器可以根据在通信中的特定的服务器的标识,把会话通信路由到第一应用服务器。在应用服务器集群中的其它应用服务器可以保持到第一应用服务器的会话的备份会话状态信息。如果第一应用服务器故障,则在集群中其它应用服务器之一通过使用备份会话状态信息继续进行会话。所利用的备份服务器可以静态地被选择,即,以静止配置被建立的特定的那个应用服务器,或动态地被选择,即在第一应用服务器故障时被快速(on-the-fly)选择。在其中备份应用服务器被应用服务器集群动态地选择的情形下,HTTP路由服务器可能不知道哪个应用服务器已被选择,以及使用服务器到IP地址的表,查找故障的服务器作为转发通信的目的地。而且,如果多个会话由不同的备份应用服务器继续进行(这可以是保持负荷平衡的情形),以及如果因为会话可能很难事先建立使得路由应用服务器可能会以备份信息预配置,多个HTTP路由服务器被作为备份应用服务器的身份使用,则问题甚至可能变得更复杂。
发明内容
本发明的某些实施例提供用于在包括超文本传输协议(HTTP)路由服务器和多个应用服务器的工作负荷平衡系统中保持会话状态亲缘性的方法。所述多个应用服务器把到多个应用服务器中的第一应用服务器的第一会话的备份会话状态信息保持在少于全部的所述多个应用服务器的应用服务器中,在所述多个应用服务器中的不同于第一应用服务器的一个应用服务器处检测第一应用服务器不可用,以及确定继续进行第一会话的第二应用服务器。所述方法包括:响应于检测到第一应用服务器不可用,把第二应用服务器的标识和第一会话从所述多个应用服务器的另一个应用服务器发送到HTTP路由服务器;在HTTP路由服务器处接收第二应用服务器的标识和第一会话;以及响应于接收到第二应用服务器的标识,把与第一会话有关的通信信息从HTTP路由服务器路由到第二应用服务器,这样,被保持在第二应用服务器中的备份会话状态信息被使用来在第二应用服务器处继续进行来自第一应用服务器的第一会话。
在本发明的另一些实施例中,发送第二应用服务器的标识包括把第二应用服务器的标识和第一会话合并到与不同于第一会话的第二会话有关的响应中。而且,HTTP路由服务器可以接收与第二会话有关的响应,从与第二会话有关的响应中剥离出第二应用服务器的标识,以及转发被剥离标识后的响应。
在本发明的另外的实施例中,HTTP路由服务器向应用服务器请求应用服务器与会话的相关性的标识。响应于来自HTTP路由服务器的请求,应用服务器与会话的相关性的标识从应用服务器被发送到HTTP路由服务器。另外,可以确定在HTTP路由服务器处应用服务器与会话的相关性的标识是否过时,且响应于确定出在HTTP路由服务器处应用服务器与会话的相关性的标识已经过时,HTTP路由服务器请求应用服务器与会话的相关性的标识。
在其中服务器被分组成分区(partition)的本发明的特定的实施例中,应用服务器与会话的相关性的标识包括被HTTP路由服务器保持的分区到服务器映射表。分区的使用可以提供允许客户端使用同一个分区标识而不管被映射到该分区的特定的服务器的一种抽象水平。这会有助于减少在备份服务器处继续进行会话时的时序问题。
本发明的另一个实施例提供一种用于在包括超文本传输协议HTTP路由服务器和多个应用服务器的工作负荷平衡系统中保持会话状态亲缘性的系统,所述多个应用服务器把到所述多个应用服务器中的第一应用服务器的第一会话的备份会话状态信息保持在少于全部的所述多个应用服务器的应用服务器处,在所述多个应用服务器中的不同于第一应用服务器的一个应用服务器处检测第一应用服务器不可用,以及确定继续进行第一会话的第二应用服务器,所述系统包括:响应于检测到第一应用服务器不可用,把第二应用服务器的标识和第一会话从所述多个应用服务器中的另一个应用服务器发送到HTTP路由服务器的装置;在HTTP路由服务器处接收第二应用服务器的标识和第一会话的装置;响应于接收到第二应用服务器的标识,把与第一会话有关的通信信息从HTTP路由服务器路由到第二应用服务器使得被保持在第二应用服务器中的备份会话状态信息被使用来在第二应用服务器处继续进行来自第一应用服务器的第一会话的装置。
本发明的另一个实施例提供一种用于与存储部分一起使用的HTTP路由服务器的方法,所述存储部分存储有分区到服务器映射表和服务器到互联网协议IP地址映射表,其中,分区是由应用服务器分组而成,分区到服务器映射表被配置成将会话与应用服务器相关,服务器到互联网协议IP地址映射表被配置成将应用服务器与IP地址相关,所述方法包括:接收来自应用服务器的通信信息,从接收的通信信息中剥离出分区到服务器映射表信息,用剥离出的信息更新分区到服务器映射表,和转发被剥离后的通信信息;接收到一个应用服务器的通信信息,确定与接收的通信信息有关的分区,根据确定的分区和利用分区到服务器映射表识别服务器,通过使用服务器到IP地址映射表识别所识别的服务器的IP地址,以及把接收的通信信息转发到识别的IP地址;以及确定分区到服务器映射表是否为过时的,以及如果分区到服务器映射表是过时的,则存储接收的通信信息,从应用服务器请求分区到服务器映射表信息,接收响应于请求的来自应用服务器的更新的分区到服务器映射表信息,用接收的分区到服务器映射表信息更新分区到服务器映射表,以及通过使用更新的分区到服务器映射表转发存储的请求。
HTTP路由服务器还可被配置成从应用服务器请求分区到服务器映射表信息,接收响应于该请求的来自应用服务器的更新的分区到服务器映射表信息,以及用接收的分区到服务器映射表信息更新分区到服务器映射表。如果确定分区到服务器映射表不是最新的话,HTTP路由服务器也可被配置成请求分区到服务器映射表信息。HTTP路由服务器可被配置成在初始化后请求分区到服务器映射表信息。
在其中分区是与会话相关的本发明的另外的实施例中,系统包括应用服务器,其被配置成把分区到服务器映射信息合并到路由到HTTP路由服务器的通信信息中。映射信息例如可以作为cookie被合并到HTTP响应,或被合并到被路由到HTTP路由服务器的消息的报头中。
本发明的其它实施例通过把与第一会话有关的路由信息承载(piggyback)在从服务器集群中的一个服务器到与服务器集群有关的HTTP路由服务器的通信上,提供在保持到服务器集群中的服务器的会话的状态信息的集群计算环境中更新路由信息的方法、系统和/或计算机程序产品。其上承载路由信息的通信是与不同于第一会话的第二会话有关的。
正如本领域技术人员还将会理解的,虽然以上主要是对于方法方面进行描述的,本发明还可以被实施为方法、设备/系统和/或计算机程序产品。
附图说明
图1是引入本发明的某些实施例的系统的框图。
图2是按照本发明的某些实施例的适合于用作为应用服务器或HTTP路由服务器的数据处理系统的框图。
图3是用于提供引入本发明的某些实施例的HTTP路由服务器的数据处理系统的框图。
图4是用于提供引入本发明的某些实施例的应用服务器的数据处理系统的框图。
图5A,5B和5C是显示按照本发明的某些实施例的应用服务器的操作的流程图。
图6和7是显示按照本发明的某些实施例的HTTP路由服务器的操作的流程图。
具体实施方式
现在将在下面参考附图更全面地描述本发明,图上显示本发明的说明性实施例。然而,本发明可以以许多不同的形式被实施,以及不应当被看作为限制为这里所阐述的实施例;而是这些实施例被提供来使得本公开内容是透彻和全面的,以及将充分地传达本发明的范围给本领域技术人员。在全文中相同的标号是指相同的单元。正如这里使用的,术语“和/或”包括一个或多个相关的列出的项目的任何的和所有的组合以及可以用“/”缩略表示。
这里使用的术语仅仅是为了描述具体的实施例,而不是打算限制本发明。正如这里使用的,单数形式“a”,“an”和“the”旨在也包括复数形式,除非上下文明显表示不是这种情况。还将会理解,术语“包括”和/或“包含”,当被使用于本说明书时,规定描述的特征、整数、步骤、操作、单元、和/或部件的存在,但并不排除一个或多个其它特征、整数、步骤、操作、单元、部件和/或它们的组的存在或添加。
除非另外规定的,否则这里所使用的所有的术语(包括技术和科学术语)具有与通常由本发明所属的技术领域的普通技术人员所理解的相同的意义。还将会理解,诸如在通用的字典中定义的那些术语应当被解释为具有与它们在相关的技术的上下文中的意义相一致的意义,以及除非在这里直接地这样规定,否则不按理想化的或过分正式的意义来解释。
正如本领域技术人员将会理解的,本发明可被实施为方法、数据处理系统、和/或计算机程序产品。因此,本发明可以取完全硬件实施例、完全软件实施例、或组合软件和硬件方面的实施例的形式。而且,本发明可以取在计算机可用的存储媒体上的具有在媒体上体现的计算机可用的程序代码的计算机程序产品的形式。任何适当的计算机可读的媒体可被利用,包括硬盘、CD-ROM、光存储装置、诸如支持互联网或内部网的那样的传输媒体、或磁存储装置。
用于实行本发明的操作的计算机程序代码可以以面向对象的编程语言,诸如JAVA
Figure G2005101135473D00071
,Smalltalk或C++被编写。然而,用于实行本发明的操作的计算机程序代码也可以以传统的过程编程语言,诸如“C”编程语言或以面向视觉的编程环境,诸如VisualBasic被编写。
程序代码可以完全在用户的计算机上执行,部分地在用户计算机上执行,作为独立的软件包执行,部分地在用户计算机上执行,部分地在远程计算机上执行,或完全在远程计算机上执行。在后者的情形下,远程计算机可以通过局域网(LAN)或广域网(WAN)被连接到用户计算机,或可以连接到外部计算机(例如,使用互联网服务提供商通过互联网)。
本发明部分地在下面参考按照本发明的实施例的方法、系统和/或计算机程序产品的流程图和/或框图被描述。将会理解,图的每个块和块的组合可以由计算机程序指令被实施。这些计算机程序指令可被提供到通用计算机的处理器、专用计算机、或其它可编程数据处理设备,以产生一个机器,以使得经由计算机的处理器或其它可编程数据处理设备执行的指令创建用于实施在块中规定的功能/动作的装置。
这些计算机程序指令也可被存储在计算机可读的存储器中,它可引导计算机或其它可编程数据处理设备以特定的方式起作用,这样,被存储在计算机可读的存储器中的指令产生包括实施在块中规定的功能/动作的指令装置的制品。
计算机程序指令也可被装载到计算机或其它可编程数据处理设备以使得在计算机或其它可编程设备上执行一系列操作步骤,以产生计算机实施的处理,这样,在计算机或其它可编程设备上执行的指令提供用于实施在块中规定的功能/动作的步骤。
现在参考图1到7讨论本发明的实施例。图1是引入本发明的某些实施例的用于保持会话状态亲缘性的系统的图。如图1所示,多个用户14,14’,14”和14”’在网络10上通过HTTP路由服务器12和12’与多个应用服务器20,20’和20”的特定的应用服务器进行通信。多个用户14,14’,14”和14”’的每个用户可以具有与一个或多个应用服务器20,20’和20”的一个或多个会话。因此,例如,图1显示用户A 14与应用服务器120的会话A、用户B 14’与应用服务器220’的会话B、用户C 14”与应用服务器3 20”的会话C和用户D 14”’与应用服务器120的会话D。会话到应用服务器20,20’和20”的特定的应用服务器的分配例如可以通过应用服务器20,20’和20”藉其登记的工作负荷管理功能(未示出)被提供。例如,在其中应用服务器20,20’和20”是WebSphere应用服务器(WAS)的本发明的实施例中,应用服务器20,20’和20”可以是用提供WAS工作负荷管理(WLM)能力的HTTP插件登记的应用服务器组。
应用服务器20,20’和20”保持与特定的应用服务器20,20’和20”的会话的会话状态信息。例如,应用服务器120保持会话A的会话状态信息A 22和会话D的会话状态信息D 28。应用服务器220’保持会话B的会话状态信息B 24。应用服务器320”保持会话C的会话状态信息C 26。
应用服务器20,20’和20”也保持备份会话状态信息以在原始应用服务器不可用的情况下接管会话。备份会话状态信息被保持在应用服务器20,20’和20”的指定的一个应用服务器中。例如,如图1所示,应用服务器120保持会话C的备份会话状态信息C’26’。应用服务器220’保持会话A的备份会话状态信息A’22’。应用服务器320”保持会话B的备份会话状态信息B’24’和会话D的备份会话状态信息D’28’。
应当指出,备份会话状态信息不是被分配到每个应用服务器20,20’和20”或被存储在对于每个应用服务器20,20’和20”可访问的公共存储器中,而是被保持在指定的一个应用服务器或少于全部的应用服务器20,20和20的子集中。在应用服务器20,20和20之一不可用的情形下,应用服务器20,20和20的其余的应用服务器被告知该不可用性,以及指定的备份服务器接管它通过使用相应的备份会话状态信息而被指定到的会话。在指定的备份服务器处保持会话状态信息的备份拷贝以及把应用服务器20,20和20之一的不可用通知应用服务器20,20和20中的其余应用服务器,例如可以如由来自纽约Armonk的国际商用机器(IBM)公司的WebSphere应用服务器,V.5那样被提供,或如本领域技术人员知道的其它适用的技术那样被提供。例如,会话状态信息可被保持在用WAS WLM登记的服务器组中的多个服务器中,以及不可用服务器的检测和通知可以是由WebSphere应用服务器,V.6提供的WAS高度可用性管理器所提供的。会话状态信息的备份拷贝的保持和应用服务器不可用的通知不属于本发明的范围,因此这里不需要作进一步描述。
然而,在本发明的某些实施例中,在原始服务器出现故障后,备份服务器把它要继续进行的会话告知HTTP路由服务器12和12’,以使得HTTP路由服务器12和12’可以把以后的对于继续进行的会话的请求路由到指定的备份服务器。HTTP路由服务器12和12’保持关于与由HTTP路由服务器12和12’路由的特定的会话有关的当前指定的服务器的信息。由HTTP路由服务器12和12’保持的路由信息在HTTP路由服务器12和12’被告知备份应用服务器已接管会话以及通过使用更新的信息路由与会话有关的以后的通信时被更新。而且,在某些实施例中,HTTP路由服务器12和12’确定它们具有的路由信息是否为当前的,以及如果不是,则从应用服务器20,20’和20”请求当前的信息。这样的方法可以是与单个或多个会话是否与特定的用户有关或多个用户是否具有多个会话无关的。
在本发明的某些实施例中,应用服务器20,20’和20”是在服务器集群中的服务器,以及可以是WebSphere应用服务器集群。而且,用户14,14’,14”和14”’可以是能够建立与应用服务器20,20’和20”的会话的任何设备。例如,用户14,14’,14”和14”’可以是具有有线和/或无线网络功能的设备,以及可以执行浏览或能够在网络上通信和建立会话的其它软件。而且,网络10可以是有线和/或无线网,互联网和/或内部网或用于允许在用户与服务器之间建立会话的其它适当的网络。
现在参考图2讨论适合于用作为在按照本发明的某些实施例的系统中的HTTP路由服务器和/或应用服务器的数据处理系统的框图。如图2所示,数据处理系统30的示例性实施例典型地包括诸如键盘或小型键盘的输入设备32、显示器34、和与处理器38通信的存储器38。数据处理系统30还可包括扬声器44和也与处理器38通信的I/O数据端口46。I/O数据端口46可被使用来在数据处理系统30与另一个计算系统或网络之间传送信息。这些部件可以是惯用的部件,诸如在许多惯用的数据处理系统中使用的那些部件,它们可被配置成如这里描述的那样操作。
图3和4是显示按照本发明的实施例的系统、方法、和/或计算机程序产品的数据处理系统的框图。处理器38经由地址/数据总线48与存储器36通信。处理器38可以是任何市面上可买到的或传统的处理器,诸如微处理器。存储器36代表存储器装置的总的体系,其包含被使用来实施数据处理系统30的功能的软件和数据。存储器36可包括,但不限于,以下类型的装置:超高速缓存器、ROM、PROM、EPROM、EEPROM、快闪存储器、SRAM和/或DRAM。
如图3和4所示,存储器36可包括在数据处理系统30中使用的几种类别的软件和数据:操作系统52;应用程序54;输入/输出(I/O)设备驱动器58;和数据67。正如本领域技术人员将会理解的,操作系统52可以是适合于用于数据处理系统的任何操作系统,诸如OS/2、来自IBM公司,Armonk,NY的AI/X或系统390、来自微软公司,Redmond,WA的Windows 95、Windows 98、Windows 2000或Windows XP、Unix或Linux。I/O设备驱动器58典型地包括由应用程序54通过操作系统52访问的用来与诸如I/O数据端口46和某些存储器36部件的设备通信的软件例程。应用程序54例示了实施数据处理系统30的各种特征的程序的程序。最后,数据67代表由应用程序54、操作系统52、I/O设备驱动器58、和可以位于存储器36中的其它软件程序使用的静态和动态数据。
如在图3上进一步看到的,应用程序54可包括一个或多个HTTP路由服务器62。存储器36的数据部分67,如图3所示的实施例中显示的,可包括被HTTP服务器62使用来路由请求到应用服务器80的请求的分区到服务器映射表65和服务器到IP映射表66。应用服务器组可被划分成分区,分区标识可与每个分区相关。与应用服务器的会话可以与分区相关。然后可以通过识别与例如可以由客户端作为cookie的一部分提供的通信有关的分区,在分区到服务器映射表65中查找分区以识别服务器,然后在服务器到IP映射表66中查找服务器的IP地址而进行用于通信的服务器的识别。因此,分区标识提供抽象层,在其中通信被发送到的服务器可以通过改变在HTTP路由服务器62中的分区到服务器映射表65而被改变,即使客户端不改变在它的通信中所识别的分区。
如在图4上进一步看到的,应用程序54可包括多个应用服务器80。应用服务器80可包括web容器部件,其被配置来与HTTP路由服务器62通信,如这里描述的。存储器36的数据部分67,如图4所示的实施例中显示的,可包括用于给定的应用服务器80的原始会话状态信息85a,它可存储到应用服务器80的会话的会话状态信息,以及用于其它应用服务器的备份会话状态信息85b,应用服务器80是用于所述其它应用服务器的备份服务器。
虽然在图3和4上参考在应用程序、数据等等之间的具体划分显示了本发明的实施例,但本发明不应当被看作为限于图3和4的配置,而是打算包括能够实行这里描述的操作的的任何配置。而且,这里描述的功能例如可以通过用来提供功能给现有的应用的插件或其它辅助代码而被提供。而且,本发明的某些实施例作为WebSphere应用服务器系统的一部分被提供,诸如在标题为WebSphere应用服务器V5体系结构,2003的IBM红皮书论文中描述的那种系统。因此,例如HTTP路由服务器可以作为加到HTTP服务器的WebSphere工作负荷管理插件被提供,以及应用服务器可以通过集聚安装Web容器和/或EJB容器的应用服务器而被提供。
图5A显示按照本发明的某些实施例的诸如图1的应用服务器20,20’和20”或图4的80的应用服务器的操作。如图5A所示,如果另一个服务器不是不可用的(块500),则应用服务器的操作继续进行。然而,如果另一个应用服务器不可用(块500),则应用服务器用该不可用的服务器来更新其用于会话的分区到服务器的映射,以反映会话在会话的备份服务器处继续进行(块510)。关于另一个服务器不可用的确定例如可以通过从检错功能或服务--诸如如上所述的WAS高可用性管理器功能--接收不可用的通知而作出。
图5B显示按照本发明的某些实施例的在从诸如图1的应用服务器20,20’和20”或图4的80的应用服务器发送HTTP通信中应用服务器的操作。当应用服务器要发送外出的通信时(块520),应用服务器确定自从上一个消息被发送以来分区到服务器映射表是否被更新(块530)。如果分区映射信息没有被更新(块530),则操作可继续进行。然而,如果分区到服务器映射信息已被更新(方框530),则应用服务器把信息加到通过HTTP路由服务器发送的以后的响应(即,在响应上“承载”信息),以表示应用服务器已接管的会话作为用于不可用的服务器的备份(块540)。新的会话信息例如可被包括在与由应用服务器提供的下一个响应一起发送的cookie或报头中。在本发明的某些实施例中在分区到服务器映射信息被更新后,信息被承载在下一个以后的消息上。关于映射信息被更新的变量、标志或其它指示符然后可被复位。在本发明的其它实施例中,信息可被承载在到HTTP路由服务器的几个以后的响应上。信息可被包括在对于除了由应用服务器接管的会话的会话的响应中。而且,信息可以作为被HTTP路由服务器使用来选择与特定的会话有关的服务器的分区到服务器映射表的更新或已经更新的分区到服务器的映射表被提供。
例如,在图1显示的系统中,如果应用服务器320”成为不可用的,则应用服务器120和应用服务器220’被告知应用服务器320”不可用。应用服务器120具有会话C的备份会话状态信息C’26’,所以将继续进行与用户C 14”的会话C。为了告知HTTP路由服务器212’应用服务器120已接管会话C,应用服务器120和/或应用服务器220’把表示用于会话C的以后的通信要被路由到应用服务器120的信息合并到以后的响应,诸如对于会话D的请求的响应。这个通知例如可以通过把HTTP路由服务器212’接下来如在下面更详细地描述的那样将会使用来路由通信的修正的分区到服务器映射表合并到以后的通信的cookie或报头中而被提供。
虽然图5A和5B显示的操作在许多情形下对于提供信息到图1的HTTP路由服务器12和12’或图3的60是足够的,但如果在备份服务器向图1的HTTP路由服务器12和12’或图3的60识别自身之前接收到对于到不可用的服务器的会话的请求,则图1的HTTP路由服务器12和12’或图3的60可能把请求不正确地路由到不正确的应用服务器。图5C提供允许图1的HTTP路由服务器12和12’或图3的60积极地得到路由信息的应用服务器的操作。对于路由信息的这样的积极的请求例如可以在HTTP路由服务器的初始操作后,或如图6所示,当HTTP路由服务器确定它具有过时的分区到服务器映射表时发生。
如图5C所示,当图1的应用服务器20、20’和20”或图4的80接收来自图1的HTTP路由服务器12和12’或图3的60之一的通信时,它们确定通信是否包括对于更新的分区到服务器映射表的请求(块550)。这样的请求例如可以通过在图1的HTTP路由服务器12和12’或图3的60与图1的应用服务器20、20’和20”或图4的80之间的专用通信而被提供,或可被承载在从图1的HTTP路由服务器12和12’或图3的60到图1的应用服务器20、20’和20”或图4的80的其它通信上。然而,为了提供图1的HTTP路由服务器12和12’或图3的60的初始化,用于请求分区到服务器映射表的专用通信的使用比起把请求承载在其它通信上可以是更加有效的。而且,如果来自HTTP路由服务器的请求被承载在现有的通信上,则应用服务器需要分析接收的通信以及以类似于下面参考HTTP路由服务器描述的方式剥离出承载的请求。
如果通信不包括对于更新的表的请求(块530),则应用服务器以惯用的方式处理通信。然而,如果通信包括对于更新的分区到服务器映射表的请求(块550),则应用服务器发送更新的表到HTTP路由服务器(块560)。例如,更新的表可以作为对于来自HTTP路由服务器的请求的专用响应被发送。在替换实施例中,更新的表可被承载在通过请求HTTP路由服务器被路由的用于到应用服务器的会话的以后的通信上。替换地,响应可被广播到所有的HTTP路由服务器。
图6显示按照本发明的某些实施例的诸如图1的HTTP路由服务器12和12’或图3的60的HTTP路由服务器的操作。如图6所示,诸如图1的HTTP路由服务器12和12’或图3的60的HTTP路由服务器接收来自与诸如用户14,14’,14”或14”’那样的用户有关的客户端的通信(块600)。HTTP路由服务器评估通信,以确定与通信有关的分区标识(块610)。分区ID可以合并到被包括在通信中的cookie中,以及可以是用于识别与通信有关的服务器的任何适当的指示符。
任选地,HTTP路由服务器确定分区到服务器映射表是否为当前的(块620),以及如果不是,则存储通信和把对于更新的分区到服务器映射表的请求发送到应用服务器(块625)。HTTP路由服务器然后等待从应用服务器接收更新的表(块630)。HTTP路由服务器可以通过例如使用在分区到服务器映射表上的时间戳确定分区到服务器映射表是否为当前的。表上的时间戳可被使用来确定表的有效性是否过时。发送到请求更新表的应用服务器的通信可以如参考图5C描述的那样被提供。
无论如何,在从应用服务器接收到更新的表后,HTTP路由服务器根据通信的分区标识在分区到服务器映射表中查找服务器,以确定与通信有关的服务器(块640)。分区到服务器映射表表示具有与通信有关的会话状态信息的服务器,因此,通过在分区到服务器映射表中查找服务器,与会话有关的服务器可被改变,以使得HTTP路由服务器可以发送通信到用于与通信有关的会话的当前的原始服务器。HTTP路由服务器也在服务器到IP地址映射表中查找识别的服务器的IP地址(块650)以及把通信转发到识别的IP地址(块660)。
回到块620,如果分区到服务器映射表是当前的(块620),则HTTP路由服务器根据通信的分区标识在分区到服务器映射表中查找服务器,以确定与通信有关的服务器(块640)。HTTP路由服务器然后在服务器到IP地址映射表中查找识别的服务器的IP地址(块650)以及把通信转发到识别的IP地址(块660)。
如果转发通信成功(例如,接收到对于转发通信的响应)(块670),则该通信从为了重试而存储的项目中取消(块690)以及操作完成。如果转发通信不成功(例如,没有接收到对于通信的响应)(块670),则确定是否应当重试转发请求(块680)。这个确定例如可以通过保存重试计数和查看通信的重试最大数目是否已被超过或将被另一次重试超过而进行。如果还有用于通信的重试(块680),则操作从方框625通过从应用服务器请求更新的表,以便得到用于重试的信息继续进行。因此,HTTP路由服务器可以通过转发通信是否成功而确定映射表不是当前的以及是否需要被更新。
正如上面讨论的,HTTP路由服务器可任选地跟踪对于到应用服务器的通信的响应是否接收到来自应用服务器的响应以确定分区到服务器映射表是否为当前的。如果没有接收到响应,则HTTP路由服务器可请求在以后的通信中使用的更新的分区到服务器映射表。可任选地,如果在更新的分区到服务器映射表中表示用于与通信有关的分区的映射的改变,则路由服务器可以把通信重发到新识别的服务器。
图7显示当从诸如图1的应用服务器20,20’,20”之一或图4的80的应用服务器接收到通信时,按照本发明的某些实施例的诸如图1的HTTP路由服务器12和12’或图3的60的HTTP路由服务器的操作。如图7所示,HTTP路由服务器接收来自应用服务器的通信(块700),以及确定该通信是否为在对于表更新的请求的专用响应中接收的表更新通信(块710)。如果该通信是专用表更新通信,则HTTP路由服务器从通信中提取分区到服务器映射表信息(块720)和更新它的分区到服务器映射表(块730)。对于接收的通信的操作然后完成。
用于更新分区到服务器映射表的具体的机制可取决于更新消息的表信息的格式。例如,如果应用服务器每个都包括分区到服务器映射表的完全的拷贝,则该表可以用新的表代替。替换地,更新消息可以只包含改变的数据,以使得现有的分区到服务器映射表用新的数据被更新,或者改变现有的项目或者加上新的项目。而且,在其中信息的类型被规定为表替换或项目更新的情形下,可以使用两种技术的组合。由应用服务器提供的表信息的范围也可被HTTP路由服务器规定。例如,初始化HTTP服务器可以请求和接收整个表,而工作的HTTP路由服务器可以只请求和接收更新。
回到图7,如果通信不是表更新通信(块710),则HTTP路由服务器确定在接收的通信上是否承载有与分区到服务器映射有关的信息(块740)。这样的确定例如可以通过询问被包含在通信中的cookie以检测分区到服务器映射表信息的存在而被作出。如果分区到服务器映射表信息被包含在通信中(块740),则从通信中剥离出分区到服务器映射表信息(块750),以及用剥离出的信息更新分区到服务器映射表(块760)。分区到服务器映射表的更新可以如上面讨论的那样被提供。带有从通信剥离出的更新信息的通信然后由HTTP路由服务器被转发到由通信规定的目的地(块770)。关于接收的通信的操作然后完成。
如果分区到服务器映射表信息没有被包含在通信中(块740),则通信由HTTP路由服务器被转发到由通信规定的目的地(块770)。关于接收通信的操作然后完成。
受益于本公开内容的教导的本领域普通技术人员可以在不背离本发明的精神和范围的条件下作出许多替换和修正方案。所以,必须理解,所说明的实施例仅仅是为了举例而被阐述的,不应当被看作为限制由以下权利要求所规定的本发明。所以,以下的权利要求要被解读为不仅仅包括被字面阐述的元件的组合,而且包括用于以基本上相同的方式执行基本上相同的功能以得到基本上相同的效果的所有的等价的元件。因此,权利要求应被理解为包括以上具体地示出和描述的事物、概念上等价的事物、以及也包括引入本发明的基本概念的事物。

Claims (12)

1.一种用于在包括超文本传输协议HTTP路由服务器和多个应用服务器的工作负荷平衡系统中保持会话状态亲缘性的方法,所述多个应用服务器把到所述多个应用服务器中的第一应用服务器的第一会话的备份会话状态信息保持在少于全部的所述多个应用服务器的应用服务器处,在所述多个应用服务器中的不同于第一应用服务器的一个应用服务器处检测第一应用服务器不可用,以及确定继续进行第一会话的第二应用服务器,所述方法包括:
响应于检测到第一应用服务器不可用,把第二应用服务器的标识和第一会话从所述多个应用服务器中的另一个应用服务器发送到HTTP路由服务器;
在HTTP路由服务器处接收第二应用服务器的标识和第一会话;
响应于接收到第二应用服务器的标识,把与第一会话有关的通信信息从HTTP路由服务器路由到第二应用服务器,这样,被保持在第二应用服务器中的备份会话状态信息被使用来在第二应用服务器处继续进行来自第一应用服务器的第一会话。
2.权利要求1的方法,其中发送第二应用服务器的标识包括把第二应用服务器的标识和第一会话合并到与不同于第一会话的第二会话有关的响应中。
3.权利要求2的方法,其中HTTP路由服务器执行以下步骤:
接收与第二会话有关的响应;
从与第二会话有关的响应中剥离出第二应用服务器的标识;以及
转发被剥离标识后的响应。
4.权利要求1的方法,还包括HTTP路由服务器向应用服务器请求应用服务器与会话的相关性的标识;以及
响应于来自HTTP路由服务器的请求,把应用服务器与会话的相关性的标识从应用服务器发送到HTTP路由服务器。
5.权利要求4的方法,还包括确定在HTTP路由服务器处的应用服务器与会话的相关性的标识是否过时,且其中HTTP路由服务器请求标识是响应于确定关于在HTTP路由服务器处的应用服务器与会话的相关性的标识过时进行的。
6.权利要求4的方法,其中应用服务器与会话的相关性的标识包括由HTTP路由服务器保持的分区到服务器映射表,其中分区是由应用服务器分组而成。
7.权利要求1的方法,其中响应于检测到第一应用服务器不可用,把第二应用服务器的标识和第一会话从所述多个应用服务器中的另一个应用服务器发送到HTTP路由服务器,包括:
检测在所述另一个应用服务器处保持的分区到服务器映射信息的改变,其中分区是由应用服务器分组而成;以及
响应于检测到分区到服务器映射信息中的改变,把第二应用服务器的标识和第一会话发送到HTTP路由服务器。
8.一种用于在包括超文本传输协议HTTP路由服务器和多个应用服务器的工作负荷平衡系统中保持会话状态亲缘性的系统,所述多个应用服务器把到所述多个应用服务器中的第一应用服务器的第一会话的备份会话状态信息保持在少于全部的所述多个应用服务器的应用服务器处,在所述多个应用服务器中的不同于第一应用服务器的一个应用服务器处检测第一应用服务器不可用,以及确定继续进行第一会话的第二应用服务器,所述系统包括:
响应于检测到第一应用服务器不可用,把第二应用服务器的标识和第一会话从所述多个应用服务器中的另一个应用服务器发送到HTTP路由服务器的装置;
在HTTP路由服务器处接收第二应用服务器的标识和第一会话的装置;
响应于接收到第二应用服务器的标识,把与第一会话有关的通信信息从HTTP路由服务器路由到第二应用服务器使得被保持在第二应用服务器中的备份会话状态信息被使用来在第二应用服务器处继续进行来自第一应用服务器的第一会话的装置。
9.一种用于与存储部分一起使用的HTTP路由服务器的方法,所述存储部分存储有分区到服务器映射表和服务器到互联网协议IP地址映射表,其中,分区是由应用服务器分组而成,分区到服务器映射表被配置成将会话与应用服务器相关,服务器到互联网协议IP地址映射表被配置成将应用服务器与IP地址相关,所述方法包括:
接收来自应用服务器的通信信息,从接收的通信信息中剥离出分区到服务器映射表信息,用剥离出的信息更新分区到服务器映射表,和转发被剥离后的通信信息;
接收到一个应用服务器的通信信息,确定与接收的通信信息有关的分区,根据确定的分区和利用分区到服务器映射表识别服务器,通过使用服务器到IP地址映射表识别所识别的服务器的IP地址,以及把接收的通信信息转发到识别的IP地址;以及
确定分区到服务器映射表是否为过时的,以及如果分区到服务器映射表是过时的,则存储接收的通信信息,从应用服务器请求分区到服务器映射表信息,接收响应于请求的来自应用服务器的更新的分区到服务器映射表信息,用接收的分区到服务器映射表信息更新分区到服务器映射表,以及通过使用更新的分区到服务器映射表转发存储的请求。
10.权利要求9的方法,其中该方法还包括:从应用服务器请求分区到服务器映射表信息,接收响应于请求的来自应用服务器的更新的分区到服务器映射表信息,以及用接收的分区到服务器映射表信息更新分区到服务器映射表。
11.权利要求10的方法,其中该方法还包括:如果确定分区到服务器映射表不是最新的,则请求分区到服务器映射表信息。
12.权利要求11的方法,其中该方法还包括:在初始化后请求分区到服务器映射表信息。
CN2005101135473A 2004-10-18 2005-10-17 用于动态更新会话状态亲缘性的方法和系统 Expired - Fee Related CN1764191B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/967,533 2004-10-18
US10/967,533 US7543069B2 (en) 2004-10-18 2004-10-18 Dynamically updating session state affinity

Publications (2)

Publication Number Publication Date
CN1764191A CN1764191A (zh) 2006-04-26
CN1764191B true CN1764191B (zh) 2010-04-07

Family

ID=36182117

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005101135473A Expired - Fee Related CN1764191B (zh) 2004-10-18 2005-10-17 用于动态更新会话状态亲缘性的方法和系统

Country Status (2)

Country Link
US (1) US7543069B2 (zh)
CN (1) CN1764191B (zh)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7627106B1 (en) * 2005-09-26 2009-12-01 At&T Corporation Method and apparatus for sending updates to a call control element from an application server
US9497247B2 (en) * 2006-03-06 2016-11-15 Ca, Inc. Transferring session state information between two or more web-based applications of a server system
US9524496B2 (en) * 2007-03-19 2016-12-20 Hugo Olliphant Micro payments
US9871872B2 (en) * 2007-04-13 2018-01-16 Nokia Technologies Oy Mechanism for executing server discovery
EP2156393A4 (en) * 2007-05-17 2010-06-23 Fat Free Mobile Inc PROCESS AND SYSTEM FOR AN AGGREGATE WEBSITE DATABASE PRICE OBSERVATION FEATURE
US8271777B2 (en) * 2008-09-05 2012-09-18 Psion Teklogix Inc. Secure host connection
US8910176B2 (en) 2010-01-15 2014-12-09 International Business Machines Corporation System for distributed task dispatch in multi-application environment based on consensus for load balancing using task partitioning and dynamic grouping of server instance
CN102480423B (zh) * 2010-11-30 2016-03-30 中兴通讯股份有限公司 一种l2tp网络的保护方法及系统
US8725820B2 (en) 2010-12-16 2014-05-13 Openet Telecom Ltd. Methods, systems and devices for horizontally scalable high-availability dynamic context-based routing
US8824370B2 (en) 2010-12-16 2014-09-02 Openet Telecom Ltd. Methods, systems and devices for dynamic context-based routing
US8675659B2 (en) 2010-12-16 2014-03-18 Openet Telecom Ltd. Methods, systems and devices for multiphase decoding
US8725896B2 (en) 2010-12-16 2014-05-13 Openet Telecom Ltd. Methods, systems and devices for forked routing
US8943221B2 (en) 2010-12-16 2015-01-27 Openet Telecom Ltd. Methods, systems and devices for pipeline processing
US9621632B2 (en) * 2011-02-24 2017-04-11 Adobe Systems Incorporated Scaling of stateful enterprise services
EP2500856A1 (en) * 2011-03-15 2012-09-19 Amadeus S.A.S. Method and system for providing a session involving a plurality of software applications
US9565074B2 (en) 2011-04-26 2017-02-07 Openet Telecom Ltd. Systems, devices, and methods of orchestrating resources and services across multiple heterogeneous domains
US9444692B2 (en) 2011-04-26 2016-09-13 Openet Telecom Ltd. Systems, devices and methods of crowd-sourcing across multiple domains
US9130760B2 (en) 2011-04-26 2015-09-08 Openet Telecom Ltd Systems, devices and methods of establishing a closed feedback control loop across multiple domains
US8929859B2 (en) 2011-04-26 2015-01-06 Openet Telecom Ltd. Systems for enabling subscriber monitoring of telecommunications network usage and service plans
US9641403B2 (en) 2011-04-26 2017-05-02 Openet Telecom Ltd. Systems, devices and methods of decomposing service requests into domain-specific service requests
US9450766B2 (en) 2011-04-26 2016-09-20 Openet Telecom Ltd. Systems, devices and methods of distributing telecommunications functionality across multiple heterogeneous domains
US9565063B2 (en) 2011-04-26 2017-02-07 Openet Telecom Ltd. Systems, devices and methods of synchronizing information across multiple heterogeneous networks
US8984170B2 (en) * 2011-09-09 2015-03-17 Oracle International Corporation Idempotence for database transactions
US9300531B2 (en) 2011-12-12 2016-03-29 Openet Telecom Ltd. Systems, devices, and methods of orchestration and application of business rules for real-time control of subscribers in a telecommunications operator's network
US9173081B2 (en) 2012-01-27 2015-10-27 Openet Telecom Ltd. System and method for enabling interactions between a policy decision point and a charging system
CN102685237B (zh) * 2012-05-16 2015-05-06 东南大学 一种集群环境下请求会话保持与调度的方法
AU2013334998A1 (en) * 2012-10-22 2015-05-07 Vesta Solutions, Inc Clustered session management
US9391879B2 (en) 2013-09-25 2016-07-12 Airbus Ds Communications, Inc. Mixed media call routing
US8929856B1 (en) 2014-02-07 2015-01-06 Cassidian Communications, Inc. Emergency services routing proxy cluster management
US9519509B2 (en) * 2014-10-21 2016-12-13 Oracle International Corporation System and method for supporting transaction affinity based request handling in a middleware environment
US10313243B2 (en) 2015-02-24 2019-06-04 Commvault Systems, Inc. Intelligent local management of data stream throttling in secondary-copy operations
CN104901881B (zh) * 2015-04-30 2018-12-07 华为技术有限公司 路由设备、负载均衡设备、消息分发方法及系统
US10298680B1 (en) 2015-09-23 2019-05-21 Cohesity, Inc. Dynamic throughput ingestion of backup sources
CN105447121A (zh) * 2015-11-16 2016-03-30 天津南大通用数据技术股份有限公司 一种数据库集群重建连接高可用的方法
CN105677792B (zh) * 2015-12-31 2019-04-19 南京邮电大学 一种基于重用距离的数据亲缘性分析方法
US10447787B2 (en) 2016-04-21 2019-10-15 Servicenow, Inc. System and method for session restoration after node failure
CN107707588B (zh) * 2016-08-09 2021-03-16 中国移动通信集团公司 一种数据处理方法和云教室系统
CN107360206B (zh) 2017-03-29 2020-03-27 创新先进技术有限公司 一种区块链共识方法、设备及系统
CN114884803B (zh) * 2022-04-28 2024-02-20 交控科技股份有限公司 多重冗余状态的处理方法、装置、设备和介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1321935A (zh) * 2000-05-01 2001-11-14 国际商业机器公司 控制客户机与服务器群之间通信的方法及网络服务器设备
CN1483270A (zh) * 1999-06-10 2004-03-17 �йȲ��� 基于策略的网络体系结构

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128279A (en) * 1997-10-06 2000-10-03 Web Balance, Inc. System for balancing loads among network servers
US6539494B1 (en) * 1999-06-17 2003-03-25 Art Technology Group, Inc. Internet server session backup apparatus
AU4717901A (en) * 1999-12-06 2001-06-25 Warp Solutions, Inc. System and method for dynamic content routing
US7188176B1 (en) * 2000-01-20 2007-03-06 Priceline.Com Incorporated Apparatus, system, and method for maintaining a persistent data state on a communications network
US7437594B1 (en) * 2000-08-11 2008-10-14 America Online, Inc. Server-side session management

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1483270A (zh) * 1999-06-10 2004-03-17 �йȲ��� 基于策略的网络体系结构
CN1321935A (zh) * 2000-05-01 2001-11-14 国际商业机器公司 控制客户机与服务器群之间通信的方法及网络服务器设备

Also Published As

Publication number Publication date
CN1764191A (zh) 2006-04-26
US20060085549A1 (en) 2006-04-20
US7543069B2 (en) 2009-06-02

Similar Documents

Publication Publication Date Title
CN1764191B (zh) 用于动态更新会话状态亲缘性的方法和系统
US10223469B2 (en) System and method for managing network traffic routing
JP5438811B2 (ja) グローバルトラフィックロードバランシングのためのクライアントの場所及びリゾルバの負荷を判断するためのdnsワイルドカードビーコニング
US6862593B2 (en) Separation of database transactions
EP2724243B1 (en) Dynamic content caching
US8706906B2 (en) Multipath routing process
US6061349A (en) System and method for implementing multiple IP addresses on multiple ports
US7568120B2 (en) Method, apparatus, and computer program for handling web server failure
CN105530324A (zh) 基于类别请求路由
US20080320003A1 (en) Scaling network services using dns
JP2005149387A (ja) リアルタイムWeb共有システム
US8239532B1 (en) System and method of reducing latency using adaptive DNS resolution
CN104301439B (zh) 负载均衡方法、装置及系统
CN106060004A (zh) 数据库访问方法及数据库代理节点
CN101854378A (zh) 一种数据操作方法和数据操作设备
CA2640696C (en) Storing and retrieving user context data
CN105939313A (zh) 状态码重定向方法及装置
US20040208119A1 (en) Providing a node of a peer-to peer network with access to a resource
CN105978976A (zh) 信息处理系统及方法
US9729652B2 (en) Dynamically affinitizing users to a version of a website
CN111147583A (zh) 一种http重定向重写方法及装置
US20060056433A1 (en) Message processing and content based searching for message locations in an asynchronous network
JP2000003322A (ja) 通信ネットワ―クにおける送信装置及び送信方法
US20140181307A1 (en) Routing apparatus and method
US7779066B2 (en) Information distributing device, system and method

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

Granted publication date: 20100407

Termination date: 20151017

EXPY Termination of patent right or utility model