网络数据处理系统及处理此类系统中的服务的方法

文档序号:7595357阅读:99来源:国知局
专利名称:网络数据处理系统及处理此类系统中的服务的方法
技术领域
本发明涉及网络数据处理领域,具体涉及(但并不只涉及)网络数据处理系统中的服务器性能。更具体地,本发明提供了一种用于提高网络数据处理系统中代理服务器的性能的方法和装置。
背景技术
代理是一种通常位于客户机应用(例如,Web浏览器)和网络数据处理系统中另一个“真实”服务器之间的服务器。Web浏览器是一种软件应用,其可以用于定位和显示存储在万维网(Web)或因特网上的“Web服务器”中的文档。Web服务器可用于存储和发布“Web页面”。Web浏览器(或类似的客户机应用)通常运行在个人计算机(PC)或工作站上,并依靠真实的服务器和/或一个或多个代理服务器来执行Web浏览器的(或客户机应用的)功能,诸如,例如定位和检索Web页面以用于显示。
代理服务器可用于控制对因特网站点的访问和提供某些因特网服务。例如,代理服务器可用于提供对Web或电子邮件消息的访问。配置为运行已知的超文本传输协议(HTTP)的代理可用于访问Web,并且配置为运行已知的简单邮件传输协议(SMTP)的代理可用于发送和接收电子邮件。代理服务器还可以用于高速缓存或存储Web页面,以便可以从代理服务器本地满足Web浏览器针对一个特定Web页面的后续请求,而不是将该请求路由回Web。
图1A-1B示出了一个常规的现有技术网络数据处理系统的示意图。参考图1A,网络数据处理系统100包含一PC或工作站102,该PC或工作站102配置有适当的软件以用作网络数据处理系统100中的一个Web浏览器。这样,浏览器102可以经由一个常规电信网络,例如局域网或广域网(LAN/WAN)104,连接到转发代理服务器106。在示出的布置中,转发代理服务器106还可以被称为“前端”服务器,因为转发代理服务器106位于网络108的前端或客户机侧。
如转发代理服务器106的虚线框所示,网络数据处理系统100也可以配置成将转发代理服务器106排除在外,并且浏览器102可以直接连接到网络108(例如,经由电信网络104)。在这方面,可以将一个反向代理服务器110连接到网络108。在示出的布置中,反向代理服务器110还可以被称为“后端”服务器,因为反向代理服务器110位于网络108的“后端”或服务器侧。如图1A中所示,相对于后端Web服务器,作为后端Web服务器的反向代理服务器的网络配置经常被称为“智能路由”。
反向代理服务器110被连接到多个处理机器(例如,112、114、116),其可以被配置为服务器或处理器(例如,中央处理单元或CPU)。如果浏览器102请求一个文档(例如,Web页面),该请求经由网络104和108被传递给反向代理服务器110。然后反向代理服务器110通过从处理机器112、114或116中检索所请求的文档来满足该请求。反向代理服务器110通过寻址与从浏览器102接收到的文档请求相关联的统一资源定位符(URL)来检索所请求的文档。与该文档请求相关联的URL被定址到其中存储有所请求文档的合适的机器112、114或116。在这方面,每个这样的URL都可以代表Web上的文档或相关联的处理机器112、114或116的全球地址(global address)。
图1B中示出了在常规网络数据处理系统中使用代理服务器出现的显著的问题。通常,在常规的网络数据处理系统中,一个代理服务器110连接到多个物理处理机器112、114、116。为了处理一个或多个浏览器(例如,102)所提出的文档检索请求,代理服务器110按接收请求的顺序来处理每个请求以提供服务。如图1B中所示,代理服务器110转发这些由适当的机器112、114或116进行服务的请求所需的响应时间,对于每个所提出的这样的请求来说,具有相同的持续时间(例如10ms)。换句话说,代理服务器110在平等的基础上处理所有请求。因此,为了改进或减少用于每个请求的响应时间,常规数据处理网络的解决方案是增加代理服务器对处理机器的比率(例如,3台代理服务器对3台处理机器),以便可以单独处理每个文档请求。但是,该解决方案就硬件、处理时间和金钱而言,成本昂贵。
因此,就网络数据处理系统(例如因特网)中的文档请求的处理而论,提供一种用于提高各个代理服务器性能的改进的方法、装置和程序将是有益的。在这方面,用于处理网络业务并基于业务内容做出智能网络处理决定的常规技术当前需要使用影响所涉及的代理服务器总体性能的处理能力。因此,需要开发软件解决方案,其可以支持使用独特的服务器设计,以便提高这些代理服务器的性能。

发明内容
本发明提供了多个按优先级划分的代理,用于处理服务请求。在一优选实施例中,提供了一反向代理服务器,其可以包括并行配置的1至n个代理子单元,其中“n”可以根据任何给定系统可用的总优先级别而变化。每个对代理服务器提出的服务(例如,文档处理)请求被按照配置为服务于该请求的按优先级划分的代理子单元划分优先级。该按优先级划分的代理服务器方案提高了那些由较高优先级代理子单元服务的请求的请求处理响应时间,而降低了那些由较低优先级代理子单元服务的请求的响应时间。以这种方式,与常规代理服务器请求处理技术相比,所述代理服务器可以显著提高其总的处理性能。


被认为是本发明的特征的新颖特性在所附权利要求书中进行了陈述。但是通过结合附图阅读以下参照示例性实施例对本发明的详细说明,可以更好地理解所述发明本身、优选的使用方式以及进一步的目标和优点,这些附图是
图1A-1B是示出了常规的现有技术网络数据处理系统的示意图的相关附图;图2A-2B是其中可以实现本发明的网络数据处理系统的示意图的相关附图;图3示出了根据本发明的一个优选实施例的可以实现为一个服务器,例如图2A-2B中的代理服务器206,的数据处理系统的框图;以及图4示出了根据本发明的一个优选实施例的可以实现为一个客户机处理器或浏览器,例如图2A-2B中的客户机处理器和/或浏览器202a-202c,的数据处理系统的框图。
具体实施例方式
现在参考附图,图2A-2B示出了其中可以实现本发明的网络数据处理系统的示意图。网络数据处理系统200是其中可以实现本发明的诸计算机、处理器或服务器的网络。参考图2A,网络数据处理系统200包括多个客户机处理器202a-202c,每个所述客户机处理器202a-202c都可以是一PC、工作站、服务器或其他适当的数字处理机器。
在一示例性实施例中,每个客户机处理器202a-202c都配置有适当的软件,以便用作网络数字处理系统200中的一个Web浏览器。例如,每个客户机处理器202a-202c可以配置为与运行在适当的操作系统(OS)(例如Microsoft WindowsOS)下的诸如Internet Explorer或Netscape Navigator之类的已知浏览器软件一起用作一个Web浏览器。
在此示例性实施例中,每个浏览器202a-202c可以连接到网络204,网络204是一个介质,用于提供在网络数据处理系统200中连接到一起的各种设备与计算机之间的通信链路。网络204可以包括诸如有线、无线通信链路或光缆之类的连接。在所示出的实例中,网络数据处理系统200是具有网络204的因特网,其表示使用传输控制协议/网际协议(TCP/IP)协议族相互通信的网络和网关的世界范围内的集合。在因特网的中心是一个诸主节点或主计算机之间的高速数据通信线路的骨干,主节点或主计算机包括路由数据和消息的数以千计的商业、政府、教育和其他计算机系统。当然,网络数据处理系统200也可以实现为若干不同类型的网络,诸如,内部网、局域网(LAN)或广域网(WAN)。网络数据处理系统200还可以包括其他服务器、客户机和未示出的其他设备。图2A旨在作为一个实例,并非对本发明进行体系结构限制。
对于此示例性实施例,代理服务器206优选地被配置为反向代理服务器并且在网络204的后端一侧连接到网络204上。代理服务器206包括多个代理子单元208a-208n。该多个代理子单元208a-208n中的每个代理子单元都可以以硬件和/或软件实现,以用作一个单独的代理以接收和处理由多个客户机处理器或浏览器202a-202c中的一个或多个浏览器做出的请求(例如,文档请求)。可以为每个代理子单元208a-208n分配一个有关的优先级,用于处理此类接收到的请求。
对于此示例性实施例,可以根据软件配置将每个代理子单元208a-208n连接到一个相应的处理机器210a-210n,并且每个代理子单元208a-208n从相应的处理机器210a-210n中请求文档或服务。例如,n=3时,每个代理子单元208a-208c被配置成向相应的处理机器210a-210c发送请求。每个处理机器210a-210n可以是,例如,一服务器、网络计算机或PC。
优选地,将分配给特定代理子单元208a-208n的优先级别与为代理子单元208a-208n配置的特定处理机器210a-210n相关联。例如,如图2A所示,对于将由处理机器210a提供服务的请求,可以将优先级别“1”分配给代理子单元208a;对于将由处理机器210n提供服务的请求,可以将优先级别“2”分配给代理子单元208b;对于将由处理机器210b提供服务的请求,可以将优先级别“3”分配给代理子单元208n。
在运行中,对于此示例性实施例,可以假定浏览器202a-202c中的一个浏览器(例如,浏览器202a)传输一个文档请求(例如,请求一个Web页面)。该文档请求可以由网络204传输到代理服务器206。每个代理子单元208a-208n在功能上都能够满足这一请求,并能够从一特定处理机器210a-210n检索所请求的文档。这样,通过寻址从浏览器(例如,202a)接收到的URL,可以指定一特定的代理子单元208a-208n满足该请求。该URL与其中储存有所请求的文档的特定处理机器210a-210n相关联。对于此示例性实施例,该URL可以代表所请求的文档在Web上的全球地址,或其中储存有该文档的处理机器210a-210n的全球地址。
现在参考图2B,对于此示例性实施例,可以假定在代理服务器206接收到的来自浏览器(例如,202a)的所述URL或文档请求是针对一个储存在处理机器210a中的文档。还可以假定相对于分配给其他代理子单元(例如,208b-208n)的优先级,目的地为处理机器210a的所有文档请求(这些请求将由代理子单元208a处理)被分配的优先级别为“高”优先级。如图2B所示,所接收到的具有目的地为处理机器210a的URL的文档请求(这些请求将由“高”优先级代理子单元208a处理)由具有最快响应时间(例如,5ms)的代理子单元208a提供服务。类似地,所接收到的具有目的地为处理机器210b的URL的文档请求(这些请求将由“中”优先级代理子单元208b处理)由具有次最快响应时间(例如,8ms)的代理子单元208b提供服务,所接收到的具有目的地为处理机器210n的URL的文档请求(这些请求将由“低”优先级代理子单元208n处理)由具有最慢响应时间(例如,17ms)的代理子单元208n提供服务。
在上述方式中,本发明提高了较高优先级处理资源的文档请求处理响应时间,而降低了较低优先级处理资源的文档请求处理响应时间。这样,所述代理服务器可以自由地处理相对较大数目的服务请求的分布。包含在一单独代理服务器中的多个并行的、按优先级划分的代理的使用还缓和了先前在由常规代理服务器处理服务请求过程中出现的瓶颈。这样,与常规代理服务器请求处理技术相比,本发明显著提高了网络数据处理系统(例如,因特网)中代理服务器的总体服务请求处理性能。
有益地,本发明给予了网络数据处理系统设计者对代理服务器配置的更大控制,其允许网络系统管理员在各个代理服务器计算机上配置多个功能代理。结果是系统管理员可以按优先级划分多个功能代理以最大化代理服务器性能,还可以就多个代理、代理服务器和目标处理机器之间的业务路由做出合理的决定。这些决定可以基于以下网络设计和管理因素,如业务内容、内容长度、向代理服务器做出的服务请求的类型、做出这种请求的源和/或客户机应用,以及指定用于为此类请求提供服务的目标处理器。根据本发明,通过使每个代理能够提供专门化的功能,基于每个代理、功能封装网络诸功能的改进的设计能力还改善了系统管理员对诸如审核和安全之类的重要功能部分的控制。
本领域的普通技术人员将理解图2A-2B中示出的硬件可以有所变化。例如,除了所示硬件以外或代替所示硬件,还可以使用其他服务器或类似的处理器,例如转发服务器或类似的服务器。所示出的实例并不意味着暗示对本发明的体系结构的限制。
参考图3,其中示出了根据本发明的一优选实施例的一个可以作为服务器(例如图2A-2B中的代理服务器206)实现的数据处理系统的框图。数据处理系统300可以是一个对称多处理器(SMP)系统,其包括多个连接到系统总线306的处理器302和304。或者,可以采用一个单处理器系统。系统总线306还连接有存储器控制器/高速缓存308,其提供了到局部存储器309的接口。系统总线306还连接有I/O总线桥310,其提供了到I/O总线312的接口。如图所示,存储器控制器/高速缓存308和I/O总线桥310可以集成在一起。
连接到I/O总线312的外围组件互连(PCI)总线桥314提供了到PCI局部总线316的接口。可以将若干调制解调器连接到PCI局部总线316。典型的PCI总线实现将支持四个PCI扩展槽或内插式连接器。可以通过调制解调器318和经由内插式板连接到PCI局部总线316的网络适配器320提供到图2A-2B中客户机处理器(例如,浏览器)202a-202c的通信链路。
附加的PCI总线桥322和324为附加的PCI局部总线326和328提供了接口,从该接口可以支持附加的调制解调器或网络适配器。以这种方式,数据处理系统300允许连接到多个网络计算机。如图所示,I/O总线312还可以直接或间接地连接一个存储器映射图形式配器330和硬盘332。
本领域的普通技术人员将理解图3中示出的硬件可以有所变化。例如,除了所示硬件以外或代替所示硬件,还可以使用其他外围设备,例如光盘驱动器或类似的设备。所示出的实例并不意味着暗示对本发明的体系结构的限制。
图3中示出的数据处理系统可以是例如IBM eServer pSeries系统,该系统为纽约阿蒙克的国际商业机器公司的一个产品,运行高级交互执行(AIX)操作系统或LINUX操作系统。
现在参考图4,其中示出了一个数据处理系统的框图,在该数据处理系统中可以实施本发明。数据处理系统400是客户机处理器(诸如,例如,图2A-2B中的客户机处理器和/或浏览器202a-202c)的一个实例。数据处理系统400采用了外围组件互连(PCI)局部总线结构。尽管示出的实例采用了PCI总线,但是也可以使用其他总线结构,例如加速图形端口(AGP)或工业标准结构(ISA)。处理器402和主存储器404通过PCI桥408连接到PCI局部总线406。PCI桥408还可以包括一个用于处理器402的集成的存储器控制器和高速缓冲存储器。通过直接组件互连或通过内插式板可以进行到PCI局部总线406的附加连接。在所示出的实例中,局域网(LAN)适配器410、SCSI主机总线适配器412以及扩展总线接口414通过直接组件互连而连接到PCI局部总线406。相对照的,音频适配器416、图形适配器418以及音频/视频适配器419通过插入到扩展槽中的内插式板连接到PCI局部总线406。扩展总线接口414为键盘和鼠标适配器420、调制解调器422以及附加存储器424提供了连接。小型计算机系统接口(SCSI)主机总线适配器412为硬盘驱动器426、磁带驱动器428以及CD-ROM驱动器430提供了连接。
处理器402上运行有一操作系统,其用于协调图4中的数据处理系统400内的各种组件并提供对各种组件的控制。所述操作系统可以是商业上购买的操作系统,如可从微软公司购买的Windows XP。一个面向浏览器的编程系统,例如微软的Internet Explorer或网景的Navigator,可以结合所述操作系统运行,并提供从在数据处理系统400上执行的诸程序或应用到所述操作系统的调用。用于所述操作系统的指令、所述面向浏览器的编程系统以及诸应用或程序位于存储装置(例如硬盘驱动器426)上,并可以由处理器402加载到主存储器404进行执行。
本领域的普通技术人员将理解图4中示出的硬件可以根据实施方式而有所变化。例如,除了图4中示出的硬件以外或代替所示硬件,还可以使用其他内部硬件或外围设备,例如闪速只读存储器(ROM)、等效非易失性存储器、光盘驱动器或类似的设备。本发明的诸过程还可以应用于一个多处理器数据处理系统。配置为客户机处理器和/或浏览器的数据处理系统400还可以相对简单地为一计算机,该计算机包括一CPU、显示器以及关联的I/O和外围设备。因此,图4中示出的实例和上述诸实例并不意味着暗示对体系结构的限制。例如,数据处理系统400也可以是一台笔记本计算机或个人数字助理(PDA)形式的手持式计算机。例如,数据处理系统400还可以是信息亭、Web设备或无线保真(Wi-Fi)设备。
最后,尽管本发明是在一个全功能数据处理系统的环境中描述的,本领域的普通技术人员将理解,本发明的诸过程能够以计算机可读介质指令的形式以及各种形式发布,并且本发明等同地适用于各种形式,与实际用于执行所述发布的信号承载介质的具体类型无关。计算机可读介质的实例包括可记录型介质,例如软盘、硬盘驱动器、RAM、CD-ROM、DVD-ROM;以及传输型介质,例如数字和模拟通信链路、使用诸如射频和光波传输的有线或无线通信链路等传输形式。所述计算机可读介质可以采取编码格式的形式,该编码格式在一个特定的数据处理系统中被解码以用于实际使用。
对本发明的描述是出于示例和说明的目的提供的,并非旨在是穷尽性的或将本发明限定于所公开的形式。对本领域的普通技术人员来说,许多修改和变化都是显而易见的。实施例的选择和描述是为了最好地说明本发明和实际应用的原理,并使得本领域的其他普通技术人员理解本发明的适合所构想的特定使用的各种实施例和各种修改。
权利要求
1.一种网络数据处理系统,所述系统包括第一处理单元,所述第一处理单元包括多个处理子单元,所述多个处理子单元中的每个处理子单元与多个服务优先级别中的一特定服务优先级别相关联;以及多个第二处理单元,所述多个处理子单元中的每个处理子单元耦合到所述多个第二处理单元中的一相应的第二处理单元并执行以下操作响应于一服务请求,根据所述关联的服务优先级别将所述服务请求传递给所述相应的第二处理单元。
2.如权利要求1所述的网络数据处理系统,进一步还包括多个第三处理单元;以及网络通信介质,所述网络通信介质耦合到所述多个第三处理单元和所述第一处理单元,由此所述多个所述第三处理单元中的至少一个所述第三处理单元执行将所述服务请求传递给所述第一处理单元的操作。
3.如权利要求1所述的网络数据处理系统,其中,所述第一处理单元包括服务器。
4.如权利要求1所述的网络数据处理系统,其中,所述第一处理单元包括代理服务器。
5.如权利要求1所述的网络数据处理系统,其中,所述第一处理单元包括反向代理服务器。
6.如权利要求1所述的网络数据处理系统,其中,所述多个处理子单元中的每个所述处理子单元包括代理子单元。
7.如权利要求1所述的网络数据处理系统,其中,所述多个第二处理单元中的每个所述第二处理单元包括文档存储处理器。
8.如权利要求1所述的网络数据处理系统,其中,所述服务请求包括从一个Web页面检索一个文档的请求。
9.如权利要求2所述的网络数据处理系统,其中,所述多个第三处理单元中的每个所述第三处理单元包括客户机处理器。
10.如权利要求2所述的网络数据处理系统,其中,所述多个第三处理单元中的每个所述第三处理单元包括Web浏览器。
11.如权利要求2所述的网络数据处理系统,其中,所述网络通信介质包括IP网络。
12.如权利要求2所述的网络数据处理系统,其中,所述网络通信介质包括内部网、局域网和广域网中的至少一种。
13.如权利要求1所述的网络数据处理系统,其中,所述特定服务优先级别包括高优先级别。
14.如权利要求1所述的网络数据处理系统,其中,所述特定服务优先级别包括中优先级别。
15.如权利要求1所述的网络数据处理系统,其中,所述特定服务优先级别包括低优先级别。
16.如权利要求1所述的网络数据处理系统,其中,与所述特定服务优先级别的关联包括驻留在一Web页面上的文档和所述多个第二处理单元的所述第二处理单元中的至少一个的全球地址。
17.如权利要求16所述的网络数据处理系统,其特征在于,所述关联包括URL。
18.一种用于在网络数据处理系统中处理服务请求的方法,所述方法包括以下步骤在第一处理单元接收一服务请求;将一特定服务优先级别与所述服务请求关联;根据所述特定服务优先级别将所述服务请求传递给一第二处理单元;以及根据所述特定服务优先级别处理所述服务请求。
19.如权利要求18所述的方法,其中,所述第一处理单元包括服务器。
20.如权利要求18所述的方法,其中,所述第一处理单元包括代理服务器。
21.如权利要求18所述的方法,其中,所述第一处理单元包括反向代理服务器。
22.如权利要求18所述的方法,其中,所述服务请求包括检索文档的请求,以及所述文档和所述第二处理单元的至少一个位置的因特网全球地址。
23.如权利要求18所述的方法,其中,所述第二处理单元包括文档存储处理器。
24.如权利要求18所述的方法,其中,所述服务请求包括从Web页面检索文档的请求。
25.如权利要求18所述的方法,进一步还包括转发来自第三处理单元的所述服务请求的步骤。
26.如权利要求25所述的方法,其中,所述第三处理单元包括Web浏览器。
27.如权利要求25所述的方法,其中,所述特定服务优先级别包括高优先级别、中优先级别和低优先级别中的至少一个级别。
28.如权利要求18所述的方法,其中,将所述特定服务优先级别与所述服务请求关联的步骤包括将所述特定服务优先级别与驻留在Web页面上的文档的全球地址和所述Web上的所述第二处理单元的全球地址中的至少一个全球地址关联的步骤。
29.如权利要求28所述的方法,其中,所述全球地址包括URL。
30.一种在计算机可读介质上的计算机程序产品,所述计算机程序产品包括用于在第一处理单元接收服务请求的第一指令;用于将特定服务优先级别与所述服务请求关联的第二指令;用于根据所述特定服务优先级别将所述服务请求传递给第二处理单元的第三指令;以及用于根据所述特定服务优先级别来处理所述服务请求的第四指令。
全文摘要
本发明提供了一种具有多个并行配置的按优先级划分的代理的代理服务器。所述代理服务器可以包括1至n个代理子单元,其中“n”可以根据任何给定系统可用的总优先级别而变化。每个向代理服务器提出的服务(例如,文档处理)请求被按照配置为服务于该请求的按优先级划分的代理子单元来划分优先级。这样对于较高优先级请求提高了请求处理响应时间,因此改进了所涉及的代理服务器的总体性能。
文档编号H04L29/02GK1612561SQ20041006239
公开日2005年5月4日 申请日期2004年7月9日 优先权日2003年10月29日
发明者Z·A·詹姆斯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1