控制客户机与服务器群之间通信的方法及网络服务器设备的制作方法

文档序号:6555358阅读:178来源:国知局
专利名称:控制客户机与服务器群之间通信的方法及网络服务器设备的制作方法
技术领域
本发明一般涉及客户机/服务器网络应用,具体地说,涉及使用服务器簇群处理大量客户通信的万维网站点。
流行的Web站点,如大电子商务(e-商务)站点,必须频繁地应付同时访问站点的大量客户机。为了立即服务所有的客户机,这样一种站点典型地使用并行操作的一簇群Web服务器主机。经Web访问站点的客户机请求,一般以超文本传输协议(HTTP)请求的形式,由一个路由器分布在主机中。用于该目的的路由器,如由IBM公司生产的“eND”服务器,称为“喷散路由器”(spray router),因为他们把输入请求以簇群“喷散”在主机中,以便平衡它们中的处理负载。Web服务器主机的每一个都包括运行一个Web服务器或引擎,以及服务于客户请求所需的任何其他应用引擎或过程的适当计算机。
客户机请求的简单喷散路由是可能的,因为HTTP本身是无态的,即每次通信会话独立于任何以前的会话。因此,在一个客户机与Web服务器的任一个之间的会话终止之后,能由任何其他服务器之一同样好地建立和处理下次会话。就希望记住从一次会话至下一次会话的状态信息来说,Web服务器传递由一个“会话保持器”,一般为用作状态仓库的群簇中的另一个计算机,存储的信息。Web服务器使客户机存储一个一般为客户机盘上的“饼块”(cookie)形式的标识符。下次客户机向Web站点递交一个HTTP请求,从客户机的盘读回客户机标识符。一般地,编码站点的Web页,从而把来自存储客户机标识符的数据插入到HTTP首部中的一个适当字段中。另外,例如使用在先有技术中已知的其他方法,如URL重写机构,可以传送数据。
无论哪一个Web服务器从喷散路由器接收请求,都使用客户标识符从会话保持器提取必需的状态信息。检索状态信息耗时,并且作为整体减慢Web服务器和群簇的动作。然而,由于不可能预计哪个Web服务器将从路由器接收任何给定的客户机请求,所以每当有一个新的HTTP请求时,服务器不能高速缓存适当的状态数据,并且必须从会话保持器检索它。
在某些大Web站点中,路由器保持互联网协议(IP)地址的一个固定查阅表,并且根据客户机的IP地址把每个客户机分配给一个服务器。把具有在给定范围内的IP地址的客户机分配给相同的服务器。因而,只要客户机地址还没有从一次HTTP会话变到下一次会话,就把客户机的HTTP请求重复地分配给相同的服务器。这种方法能解决在相同服务器上运行的多个应用引擎的问题。而且,当Web服务器之一断开时,分配给该服务器的客户机完全接收不到服务。
本发明某些方面的一个目的在于,根据一群Web服务器提供一种能够使站点以改进速度和效率服务于客户机的Web站点结构。
本发明某些方面的另一个目的在于,提供一种用来在以HTTP会话访问Web站点的客户机与在该站点处的一群簇Web服务器中的一个之间保持亲合力的方法。
本发明某些方面的又一个目的在于,提供一种用来在以HTTP会话访问Web站点的客户机与运行在该站点处的一群簇Web服务器中的一个上的应用程序之间保持亲合力的方法。
在本发明的最佳实施例中,一个Web站点包括多个Web服务器主机,该主机带有一个在服务器中分布客户机HTTP请求的路由器和一个存储会话数据的会话保持器。每个主机运行一个Web服务器过程,并且可选择地,同样运行一个或多个其他应用过程。当客户机访问Web站点,并且借助于服务器之一进行HTTP会话时,服务器把一个会话标识符(会话ID)下载到客户机。会话ID包括标识Web服务器主机的数据、在负责会话的主机上的过程、及一个版本有效性计数器值。会话ID最好由客户机以一个饼块的形式存储。
对Web站点网页进行编码,从而当客户机以后再次访问Web站点时,把会话ID包括在客户机的HTTP请求中。路由器读会话ID,以便把客户机的HTTP请求路由到与以前相同的主机。主机然后读ID,以便把请求传送到适当的过程和检查版本有效性计数器值。如果计数器值与由服务器存储在由用于该客户机的服务器保持的会话数据的一个高速缓冲存储器中的一个值匹配,则服务器能断定高速缓存命中已经发生。在这种情况下,服务器能简单地使用高速缓存会话数据,并且不需要从会话保持器检索任何数据。然而,如果在用于该客户机的高速缓冲存储器中没有会话数据,或者如果在版本有效性计数器值中有一个误匹配,则服务器用来自会话保持器的数据重新加载高速缓冲存储器。当会话数据在会话期间有变化时,服务器把新数据保存在会话保持器中,增大版本有效性计数器,并且用新计数值下载一个修改会话ID,以便客户机为下次会话而存储它。
因而,在客户机与在应用级下的Web服务器之一之间从一个HTTP会话至下一个会话保持亲合力。在由客户机初始化的连续HTTP会话中,在服务器处的高速缓存命中的概率最大,同时降低从会话保持器检索状态数据的需要。结果,提高服务器群簇的效率和速度。不需要路由器保存一个固定亲合力表,这与基于IP地址亲合力的先有技术中已知的系统不同。本发明因而提供一种容易定标的、灵活的且在面临群簇中出现变化或故障时可自适应的解决方案。
尽管这里描述的最佳实施例使用一个路由器,来读客户机的会话ID信息和因而路由客户机的HTTP请求,但即使没有路由器,本发明的方法也可以用来处理请求和保持会话亲合力。在这种情况下,Web服务器读会话ID信息,并且使用它把会话分配到适当的应用过程且使高速缓存数据生效。而且,尽管这些最佳实施例处理运行在Web服务器上的HTTP会话,但本发明的原理类似地可应用于其他基于群簇的客户器/服务器应用层协议。该协议必须是这样的允许服务器向客户机发送一个会话ID,并且允许客户机把会话ID返回到在消息开始处的服务器。
因此按照本发明一个最佳实施例,提供有一种用来在客户机与一群簇服务器之间控制通信的方法,该方法包括在客户机与在群簇服务器中选择的一个服务器之间的一个网络上进行第一通信会话;发送响应在网络上的第一通信会话而产生的标识数据以便由客户机存储;从客户机接收请求以进行第二通信会话,该请求包括标识数据;及响应在请求中的标识数据把请求路由到选择的服务器。
最好,进行第一通信会话包括使用一个应用协议-最好是超文本传输协议(HTTP)-的通信,并且其中接收请求包括接收一个HTTP请求。另外最好,网络包括因特网,并且其中服务器包括Web服务器。
最好,标识数据包括对选择服务器的网络地址的参考,其中网络地址包括一个传输控制协议/网间协议(TCP/IP)地址。而且最好,标识数据包括与选择服务器有关的一个路由端口的标识。
另外或者另一方面,进行第一通信会话包括在选择服务器上运行一个应用过程,并且标识数据包括应用过程的一种标识。最好,路由请求包括传送由应用过程处理的请求。
进一步另外或者另一方面,发送标识数据包括更新版本有效性计数器的值,以便标识在由选择服务器保持的高速缓冲存储器中的会话数据的当前版本,并且把计数器的更新值发送到客户机。最好,该方法包括在服务器处接收路由的请求;和把包括在来自客户机的请求中的版本有效性计数器的第一值与由服务器保持的版本有效性计数器的第二值相比较,以便确定是否使用在第二通信会话中的高速缓冲器中的会话数据。最好,该方法包括把来自第一通信会话的会话数据存储在一个会话保持器中;和从会话保持器检索存储的会话数据,以便响应在版本有效性计数器的第一与第二值之间的失配而用在第二通信会话中。另外或者另一方面,更新版本有效性计数器的值包括响应在会话数据中的预定类型的变化而更新该值。
最好,发送标识数据包括发送一个由客户机存储的饼块。另外或者另一方面,从客户机接收请求包括接收已经由服务器重写的统一资源定位器(URL)以包括标识数据。
按照本发明的一个最佳实施例,也提供有一种用来在一个客户机与一个或多个服务器之间控制通信的方法,该方法包括在客户机与运行在服务器之一上的一个选择过程之间的一个网络上进行一种第一通信会话;发送响应在网络上的第一通信会话而产生的标识数据以便由客户机存储;从客户机接收请求以进行一种第二通信会话,该请求包括标识数据;及响应在请求中的标识数据而传送由选择过程处理的请求。
最好,发送标识数据包括更新版本有效性计数器的值,以便标识由选择过程使用的在高速缓冲存储器中的会话数据的当前版本,并且把计数器的更新值发送到客户机。另外最好,该方法包括把包括在来自客户机的请求中的版本有效性计数器的第一值与由服务器保持的版本有效性计数器的第二值相比较,以便确定是否使用在第二通信会话中的高速缓冲器中的会话数据。最好,该方法包括响应在版本有效性计数器的第一与第二值之间的失配,重新装载高速缓冲存储器。另外或者另一方面,更新版本有效性计数器的值包括响应在会话数据中的预定类型的变化而更新该值。
最好,该过程包括一个使用超文本传输协议(HTTP)的应用过程。
按照本发明的一个最佳实施例,另外提供网络服务器设备,该设备包括一群簇服务器,它被联接成与一个网络上的客户机通信,并且是可操作的,以便响应在客户机与从群簇服务器中选择的一个服务器之间进行的第一通信会话,从而发送响应在网络上的第一通信会话而产生的标识数据以便由客户机存储;和一个路由器,它被联接成接收来自客户机的请求以进行一种第二通信会话,该请求包括标识数据,并且响应在请求中的标识数据而把请求路由到选择的服务器。
最好,服务器包括与使用应用协议的客户机通信的应用服务器。最好,应用协议包括超文本传输协议(HTTP),并且其中请求包括一个HTTP请求。
另外最好,路由器包括多个端口,并且标识数据包括链接到选择服务器上的端口之一的一个标识。
按照本发明的一个最佳实施例,进一步提供网络服务器设备,该设备被联接成在一个客户机与运行在服务器上的一个选择过程之间的一个网络上进行一种第一通信会话;和发送响应在网络上的第一通信会话而产生的标识数据,以便由客户机存储,从而响应来自进行第二通信会话的客户机的一个请求,该请求包括标识数据,该服务器响应在请求中的标识数据而把请求传送到处理的选择过程。
按照本发明的一个最佳实施例,还提供一种用来在一个客户机与一群簇服务器之间控制通信的计算机软件产品,该产品包括一种其中存储程序指令的计算机可读介质,这些指令当由选择的一个服务器读时,使服务器在网络上与客户机进行一种第一通信会话,及发送响应在网络上的第一通信会话而产生的标识数据以便由客户机存储,从而当在群簇处从客户机接收包括标识数据的请求以便进行第二通信会话时,响应在请求中的标识数据而把请求路由到选择的服务器。
按照本发明的一个最佳实施例,另外提供一种用来在一个客户机与一群簇服务器之间控制通信的计算机软件产品,其中响应在客户机与群簇服务器中选择的一个服务器之间的网络上的第一通信会话,选择服务器发送响应在网络上的第一通信会话而产生的标识数据以便由客户机存储,该产品包括一种其中存储程序指令的计算机可读介质,这些指令当由联接到服务器群簇上的一个路由器读时,使路由器在网络上从客户机接收到一个进行一种第二通信会话的请求时,响应在请求中的标识数据而把该请求路由到选择的服务器。
按照本发明的一个最佳实施例,另外提供一种用来在一个客户机与一个服务器之间控制通信的计算机软件产品,该产品包括一种其中存储程序指令的计算机可读介质,这些指令当由服务器读时,使服务器在一个客户机与在服务器上运行的一个选择过程之间的网络上进行一种第一通信会话,并且发送响应在网络上的第一通信会话而产生的标识数据以便由客户机存储,其中响应从客户机接收的请求而进行一种第二通信会话,该请求包括标识数据,这些指令响应在请求中的标识数据而传送由选择过程处理的请求。
从其最佳实施例的、与附图一起采取的如下详细描述中将更充分地理解本发明,在附图中

图1是方块图,按照本发明一个最佳实施例示意地表明经因特网服务于一个客户机的Web站点;图2是方块图,按照本发明一个最佳实施例示意地表明起一个会话标识符作用的一种数据结构;图3是流程图,按照本发明一个最佳实施例示意地表明用来路由HTTP请求的方法;图4是流程图,按照本发明一个最佳实施例示意地表明用来处理HTTP请求的方法;及图5是流程图,按照本发明一个最佳实施例示意地表明用来存储会话数据的方法。
图1是方块图,按照本发明一个最佳实施例示意地表明万维网站点20。把Web站点联接成经一个网络22,最好是因特网,与客户机24通信。这些客户机一般包括运行适当浏览器软件的个人计算机。客户机使用在低级传输控制协议和网间协议(TCP/IP)上的超文本传输协议(HTTP)与Web站点通信。另外,Web站点20和客户机24可以在其他类型的网络上通信,并且可以使用其他通信和应用层协议。
Web站点20包括一个从客户机24接收HTTP请求和把他们分布在多个Web服务器32、34、…、36中的路由器30。路由器最好包括一个喷散路由器,如上述IBM eND服务器,具有按下面描述的适当修改。Web服务器包括在先有技术中已知的基本上任何适当类型的、运行Web服务器软件的主计算机。除必需的Web服务器软件过程之外,服务器的每一个一般运行一个或多个应用服务器38或应用引擎,如Java虚拟机(JVM)。由Web服务器进行的关于HTTP会话的状态数据由一个会话保持器40存储,会话保持器40也包括一个带有适当软件的主计算机。另一方面,会话保持器可以驻留在与Web服务器之一相同的主机上。路由器30、Web服务器32、34、36及会话保持器40的操作所需要的软件可以下载到一个网络上的相应计算机。另一方面,可以在诸如CD-ROM或非易失性存储器之类的真实介质上供给软件,以便安装在计算机中。
图2是方块图,按照本发明一个最佳实施例示意地表明起一个会话ID 50作用的一种数据结构。当客户机24与站点20进行初始HTTP会话时,分配给客户机的Web服务器,比如服务器32,在HTTP会话期间和/或其结束时把会话ID下载到客户机。会话ID最好以饼块的形式下载到客户机24,并且然后存储在客户机的硬盘上,如先有技术中已知的那样。ID 50最好包括一个唯一的会话ID值51、以及分别标识TCP/IP地址和Web服务器主机的路由器端口的一个TCP/IP地址字段52和一个端口字段54。另一方面,代替在字段52和54中的地址和端口,ID可以包括一个对于由路由器30用来标识服务器主机的查阅表的密钥。ID也包括一个标识负责最近会话的Web服务器或其他应用服务器过程38的过程标识符字段56、和一个在下文描述其功能的版本有效性计数器字段58。
在以后的HTTP会话中,客户机把存储的会话ID 50传送到Web站点,用作其HTTP请求的部分以开始新会话。最好,以基本上与把由一个客户机存储的饼块数据按常规传送到在HTTP请求中的一个服务器相同的方式,把会话ID从客户机传送到在HTTP请求首部中的Web站点。另一方面,URL重写机构可以用来把会话ID传送到路由器30。在这种情况下,一般使用超文本标记语言(HTML)代码,编码在站点20上的Web页,从而当客户机24请求一个新页时,新页的统一资源定位器(URL)由客户机浏览器重写以包括会话ID数据。尽管诸如此类的方法通常用在Web编程中,但如下面描述的那样,用来传输会话数据和在客户机24与服务器32之间的HTTP级处保持亲合力的应用程序在先有技术中是未知的。
图3是流程图,按照本发明一个最佳实施例示意地表明用来路由在站点20处从客户机24接收的HTTP请求的方法。在一个HTTP截收步骤60,路由器30截收输入HTTP请求,并且在第一ID抽取步骤62,从请求抽取会话ID。路由器在主机和端口抽取步骤64中,使用在会话ID 50的字段52和54中(图2)的信息,以确定应该对其路由请求的Web服务器主机的地址和路由器端口。这一般将是在客户机的以前HTTP会话中服务客户机24的同一主机,比如服务器32。另一方面,在一些情况下,可以迅速地预先在一次会话中确定用户的下次HTTP请求将指向不同的服务器。在这样一种情况下,字段52和54将标识不同的服务器。
在过载检查步骤66,路由器确定请求所指向的主机是否能够处理该请求。如果主机由于其他客户机请求而过载,或者由于某些原因例如由于系统失效而不适用,则在重新定向步骤68,把当前客户机请求重新指向另一个主机。否则,按照在会话ID中的信息路由该请求。
无论路由器选择哪个主机,在所选择主机上运行的Web服务器过程在请示接收步骤70都从路由器30接收HTTP。服务器在第二ID抽取步骤72从该请求抽取会话ID 50。它然后在一个服务器ID抽取步骤74抽取写在会话ID的字段56中的服务器ID。一般地,如以上提到的那样,服务器ID标识一个应用过程或应用引擎,如过程38,它处理客户机以前HTTP会话并且从其中产生字段56中的数据。另一方面,对于某些服务器,如Domino综合信息和Web应用软件平台,产生过程可以是Web服务器过程本身。(“Domino”是Lotus Development Corporation的商标。)在一个请求传送步骤76,根据服务器ID,把客户机请求传送到产生过程或引擎以便处理。
图4是流程图,按照本发明一个最佳实施例示意地表明用来处理在会话ID 50中的数据的方法。该方法一般由在步骤76接收客户机的HTTP请求的服务器主机32上的服务器过程(或引擎)执行。在高速缓存查找步骤80,根据会话ID值51,对属于该客户机的会话数据,查找服务器的内存高速缓冲存储器。在高速缓存检查步骤82,该过程确定在高速缓冲存储器中是否有任何适当的数据。如果没有,那么在高速缓存重新加载步骤84,用由会话保持器40提取的数据重新加载高速缓冲存储器。该过程也在计数器设置步骤86,对从会话保持器加载的会话数据读版本有效性计数器的值,并且把在高速缓冲存储器中的计数器设置为该值。然后在会话持续步骤94,能进行HTTP会话。
另一方面,如果该过程在步骤82发现在高速缓冲存储器器中有相关的会话数据,则在计数抽取步骤88,通过抽取版本有效性计数器的值而确认由高速缓冲存储器当前保持的数据。在计数器匹配步骤90,把该值与在会话ID 50的字段58中的计数器值相比较。如果有计数器值的失配,则该过程断定高速缓存数据是无效的,并且在步骤84使用来自会话保持器的数据重新加载高速缓冲器。然而,如果诸值匹配,则该过程在高速缓存命中步骤92,能继续使用在高速缓冲存储器中的会话数据,并且会话继续。
图5是流程图,按照本发明一个最佳实施例示意地表明在客户机24与服务器32之间的HTTP会话期间用来处理和存储会话数据的变化的一种方法。在会话期间,服务器过程在会话数据变化步骤100,检查会话数据的变化。最好,该过程检查会话数据的选择字段的、或所有这些字段的值,以便检测已经发生的任何相关变化。另一方面,提供一个应用程序接口(API),使应用程序编程器能够规定要检测的变化。在任何一种情况下,检测的变化可以包括在会话数据中出现的所有变化,或者他们可以仅包括一个选择子集。把检测的变化限制到一个选择子集可能意味着,如下面描述的那样,在传送到会话保持器的会话数据中将有些误差,但应用程序或许会因此而更迅速地运行。编程器因而给出用于应用性能的选择绝对会话数据精度的方案。
当在步骤100检测相关变化时,服务器32在一个数据保存步骤102把修改的会话数据发送到会话保持器40。该步骤可能发生在会话期间或在其结束时。同时,在计数器增大步骤104,服务器更新版本有效性计数器。更新计数器值被记录在服务器高速缓冲存储器中和在由会话保持器保存的会话数据中。服务器修改会话ID 50以便包括在字段58中的新计数器值、以及在其他数据字段中可能已经发生的任何其他变化,并且在ID发送步骤106发送由客户机24存储的修改ID。客户机将使用在其下次HTTP请求中的修改会话ID。
尽管表示在图1中的最佳实施例根据会话ID使用路由器30路由客户机HTTP请求,但图4和5的方法也可以由独立于任何路由器的Web服务器使用。在这种情况下,接收客户机HTTP请求的Web服务器读会话ID信息,并且用它把会话分配到适当的应用过程或引擎且使在其高速缓冲存储器中的数据生效。如有必要,接收请求的Web服务器可以把请求重新指向在不同主机上的适当服务器过程。如果高速缓存数据无效,则例如从磁盘重新加载高速缓存器。
而且尽管这里描述的最佳实施例处理运行在Web服务器上的HTTP会话,但本发明的原理类似地适用于其他基于群簇的客户机/服务器用途。例如,在运行在用户数据报协议(UDP)上的多媒体用途中,作必要的修改后可以应用本发明的原理。
因而要理解,作为例子列举了上述最佳实施例,并且本发明不限于上文已经具体表示和描述的实施例。说得更确切一些,本发明的范围包括上文描述的各种特征的组合和子组合、以及熟悉本专业的技术人员在阅读以上描述时想到的和没有公开在先有技术中的变更和改进。
权利要求
1.一种用来在客户机与一群簇服务器之间控制通信的方法,包括在客户机与在群簇服务器中选择的一个服务器之间的一个网络上进行第一通信会话;发送响应在网络上的第一通信会话而产生的标识数据以便由客户机存储;从客户机接收请求以进行第二通信会话,该请求包括标识数据;及响应在请求中的标识数据把请求路由到选择的服务器。
2.根据权利要求1所述的方法,其中进行第一通信会话包括使用一个应用协议进行通信。
3.根据权利要求2所述的方法,其中应用协议包括超文本传输协议(HTTP),并且其中接收请求包括接收一个HTTP请求。
4.根据权利要求3所述的方法,其中网络包括因特网,并且其中服务器包括Web服务器。
5.根据权利要求1所述的方法,其中标识数据包括对选择服务器的网络地址的引用。
6.根据权利要求5所述的方法,其中网络地址包括一个传输控制协议/互联网协议(TCP/IP)地址。
7.根据权利要求1所述的方法,其中标识数据包括与选择服务器有关的一个路由端口的标识。
8.根据权利要求1所述的方法,其中进行第一通信会话包括在选择服务器上运行一个应用过程,并且其中标识数据包括应用过程的一种标识。
9.根据权利要求8所述的方法,其中路由请求包括传送由应用过程处理的请求。
10.根据权利要求1所述的方法,其中发送标识数据包括更新版本有效性计数器的值,以便标识由选择服务器保持在高速缓冲存储器中的会话数据的当前版本,并且把计数器的更新值发送到客户机。
11.根据权利要求10所述的方法,还包括在服务器处接收路由的请求;和把包括在来自客户机的请求中的版本有效性计数器的第一值与由服务器保持的版本有效性计数器的第二值相比较,以便确定是否使用在第二通信会话中的高速缓存器中的会话数据。
12.根据权利要求11所述的方法,还包括把来自第一通信会话的会话数据存储在一个会话保持器中;和从会话保持器检索存储的会话数据,以便响应在版本有效性计数器的第一与第二值之间的失配而用在第二通信会话中。
13.根据权利要求10所述的方法,其中更新版本有效性计数器的值包括响应在会话数据中的预定类型的变化而更新该值。
14.根据权利要求1所述的方法,其中发送标识数据包括发送一个由客户机存储的饼块。
15.根据权利要求1所述的方法,其中从客户机接收请求包括接收已经由服务器重写的统一资源定位器(URL)以包括标识数据。
16.一种用来在一个客户机与一个或多个服务器之间控制通信的方法,包括在客户机与运行在服务器之一上的一个选择过程之间的一个网络上进行第一通信会话;发送响应在网络上的第一通信会话而产生的标识数据以便由客户机存储;从客户机接收请求以进行第二通信会话,该请求包括标识数据;及响应在请求中的标识数据而传送由选择过程处理的请求。
17.根据权利要求16所述的方法,其中发送标识数据包括更新版本有效性计数器的值,以便标识由选择过程使用的在高速缓冲存储器中的会话数据的当前版本,并且把计数器的更新值发送到客户机。
18.根据权利要求17所述的方法,还包括把包括在来自客户机的请求中的版本有效性计数器的第一值与由服务器保持的版本有效性计数器的第二值相比较,以便确定是否使用在第二通信会话中的高速缓存器中的会话数据。
19.根据权利要求18所述的方法,还包括响应在版本有效性计数器的第一与第二值之间的失配,重新装载高速缓冲存储器。
20.根据权利要求17所述的方法,其中更新版本有效性计数器的值包括响应在会话数据中的预定类型的变化而更新该值。
21.根据权利要求16所述的方法,其中该过程包括一个使用超文本传输协议(HTTP)的应用过程。
22.一种网络服务器设备,包括一群簇服务器,它们被联接成与一个网络上的客户机通信,并且是可操作的,以便响应在客户机与从群簇服务器中选择的一个服务器之间进行的第一通信会话,发送响应在网络上的第一通信会话而产生的标识数据以便由客户机存储;和一个路由器,它被联接成接收来自客户机的请求以进行一种第二通信会话,该请求包括标识数据,并且响应在请求中的标识数据而把请求路由到选择的服务器。
23.根据权利要求22所述的设备,其中服务器包括与使用应用协议的客户机通信的应用服务器。
24.根据权利要求23所述的设备,其中应用协议包括超文本传输协议(HTTP),并且其中请求包括一个HTTP请求。
25.根据权利要求24所述的设备,其中网络包括因特网,并且其中服务器包括Web服务器。
26.根据权利要求22所述的设备,其中标识数据包括所选择服务器的网络地址的引用。
27.根据权利要求26所述的设备,其中中网络地址包括一个传输控制协议/互联网协议(TCP/IP)地址。
28.根据权利要求22所述的设备,其中路由器包括多个端口,并且标识数据包括链接到选择服务器上的端口之一的标识。
29.根据权利要求22所述的设备,其中由在选择服务器上运行的一个应用过程进行第一通信会话,并且其中标识数据包括应用过程的一种标识,所选择服务器响应该标识而传送由应用过程处理的请求。
30.根据权利要求22所述的设备,其中发送到客户机的标识数据包括版本有效性计数器的一个值,该值由选择服务器更新以便标识由选择服务器保持在高速缓冲存储器中的会话数据的当前版本,选择服务器把包括在来自客户机的请求中的版本有效性计数器的第一值与由服务器保持的版本有效性计数器的第二值相比较,以便确定是否使用在第二通信会话中的高速缓存器中的会话数据。
31.根据权利要求30所述的方法,还包括一个被联接成接收和存储来自第一通信会话的会话数据的会话保持器,其中服务器适用于从会话保持器检索存储的会话数据,以便响应在版本有效性计数器的第一与第二值之间的失配而用在第二通信会话中。
32.一种网络服务器设备,被联接成在一个客户机与一个运行在服务器上的选择过程之间的一个网络上进行第一通信会话;和发送响应在网络上的第一通信会话而产生的标识数据,以便由客户机存储,从而响应来自客户机的一个请求以进行第二通信会话,该请求包括标识数据,服务器响应在请求中的标识数据而把请求传送到处理的选择过程。
33.根据权利要求32所述的设备,其中发送到客户机的标识数据包括一个版本有效性计数器的一个更新值,该值标识由选择过程使用的在高速缓冲存储器中的会话数据的一个当前版本,并且其中更新服务器以把包括在来自客户机的请求中的版本有效性计数器的第一值与由服务器保持的版本有效性计数器的第二值相比较,以便确定是否使用在第二通信会话中的高速缓存器中的会话数据。
34.根据权利要求32所述的设备,其中该过程包括一个使用超文本传输协议(HTTP)的应用过程。
35.一种用来在一个客户机与一群簇服务器之间控制通信的计算机软件产品,该产品包括一种在其中存储一些程序指令的计算机可读介质,这些指令当由在服务器中选择的一个服务器读时,使服务器在网络上与客户机进行第一通信会话,以及使服务器发送响应在网络上的第一通信会话而产生的标识数据以便由客户机存储,从而当在群簇处从客户机接收包括标识数据的请求以便进行第二通信会话时,响应在请求中的标识数据而把请求路由到选择的服务器。
36.根据权利要求35所述的产品,其中服务器包括使用超文本传输协议(HTTP)与客户机通信的Web服务器,并且其中请求包括一个HTTP请求。
37.一种用来在一个客户机与一群簇服务器之间控制通信的计算机软件产品,其中响应在客户机与群簇服务器中选择一个服务器之间的网络上的第一通信会话,选择服务器发送响应在网络上的第一通信会话而产生的标识数据以便由客户机存储,该产品包括一种在其中存储一些程序指令的计算机可读介质,这些指令当由联接到服务器群簇上的一个路由器读时,使路由器在网络上从客户机接收到一个进行第二通信会话的包括标识数据的请求时,响应在请求中的标识数据而把该请求路由到选择的服务器。
38.根据权利要求37所述的产品,其中网络包括因特网,并且服务器包括使用超文本传输协议(HTTP)与客户机通信的Web服务器,并且其中请求包括一个HTTP请求。
39.一种用来在一个客户机与一个服务器之间控制通信的计算机软件产品,该产品包括一种在其中存储一些程序指令的计算机可读介质,这些指令在由服务器读时,使服务器在一个客户机与在服务器上运行的一个选择过程之间的网络上进行第一通信会话,并且使服务器发送响应在网络上的第一通信会话而产生的标识数据以便由客户机存储,其中响应从客户机接收的请求以进行第二通信会话,该请求包括标识数据,这些指令响应在请求中的标识数据而传送由选择过程处理的请求。
40.根据权利要求39所述的产品,其中标识数据包括版本有效性计数器的一个值,并且其中指令使服务器更新该值,以便标识由选择过程使用的高速缓冲存储器中的会话数据的当前版本,并且把包括在来自客户机的请求中的版本有效性计数器的第一值与由服务器保持的版本有效性计数器的第二值相比较,以便确定是否使用在第二通信会话中的高速缓冲器中的会话数据。
全文摘要
一种用来在客户机与一些群簇服务器之间控制通信的方法,包括:在客户机与在群簇服务器中选择的一个服务器之间的一个网络上进行第一通信会话;和发送响应在网络上的第一通信会话而产生的标识数据以便由客户机存储。在从客户机接收包括标识数据的请求以进行第二通信会话时,响应在请求中的标识数据而把请求路由到选择的服务器。
文档编号G06F13/14GK1321935SQ0111716
公开日2001年11月14日 申请日期2001年4月27日 优先权日2000年5月1日
发明者加尔·沙克尔 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1