CN100417092C - 跨越多层网络中的多个节点传输请求优先级的系统和方法 - Google Patents

跨越多层网络中的多个节点传输请求优先级的系统和方法 Download PDF

Info

Publication number
CN100417092C
CN100417092C CNB2005101246705A CN200510124670A CN100417092C CN 100417092 C CN100417092 C CN 100417092C CN B2005101246705 A CNB2005101246705 A CN B2005101246705A CN 200510124670 A CN200510124670 A CN 200510124670A CN 100417092 C CN100417092 C CN 100417092C
Authority
CN
China
Prior art keywords
priority
handling system
data handling
data
network
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
CNB2005101246705A
Other languages
English (en)
Other versions
CN1791019A (zh
Inventor
瓦加彦迪马拉·K·阿南德
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 CN1791019A publication Critical patent/CN1791019A/zh
Application granted granted Critical
Publication of CN100417092C publication Critical patent/CN100417092C/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/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • 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]

Abstract

本发明提供了一种用于在数据处理系统网络中传输请求优先级区分的方法和数据处理系统。第一数据处理系统接收事务请求,并且识别该事务请求的优先级。第一数据处理系统根据该优先级处理该事务请求并将其传达到第二数据处理系统,并且第二数据处理系统根据该优先级处理该事务请求。

Description

跨越多层网络中的多个节点传输请求优先级的系统和方法
相关申请
本申请与共同转让且共同未决的下列申请相关:发明名称为“METHOD,COMPUTER PROGRAM PRODUCT,AND DATAPROCESSING SYSTEM FOR DATA QUEUING PRIORITIZATION IN AMULTI-TIERED NETWORK”的美国专利申请序列号_____(律师事务所案号AUS920040471US1);以及发明名称为“SYSTEM AND METHOD FORCONNECTION CAPACITY REASSIGNMENT IN A MULTI-TIERED DATAPROCESSING SYSTEM NETWORK”的美国专利申请序列号_____(律师事务所案号AUS920041049US1),在此将这两个申请引作参考。
技术领域
本发明一般涉及一种改进的数据处理系统,具体涉及一种用于在多层环境中进行优先级区分(prioritization)的机制。更具体地说,本发明提供一种用于在多层数据处理系统网络中跨越多个相关节点即处理给定事务、作业等所需的多个节点传输请求优先级的机制。
背景技术
用于对网络业务(traffic)进行排队和过滤的各种连网数据处理系统业务控制方案用于提供服务级别协定(SLA)业务优先级区分。例如,Linux网络栈具有用于业务控制的基础结构,其具有排队规程(queuingdiscipline,qdisc)和过滤器。qdisc的分级结构可以与类分级结构联合构造,以支持服务质量(QoS)特性。业务可以通过采用与分组首标域相匹配的过滤器而被传递(route)到不同的类。然而,这仅可用于网络协议栈的传送侧。
对于接收侧,即客户端-服务器网络中的服务器侧或者多层环境中的任一个服务器系统的接收侧,基于连接而提供优先级区分。例如,当建立进入连接时,可以基于一个或多个优先级过滤器而对该连接进行优先级区分,以将该连接排入分配给不同优先级类的多个队列之一。基于此,建立优先级连接。该优先级分配被称作连接排队,并且被实现为TCP/IP协议中的三阶段连接处理的一部分。在这样的系统中,仅在连接的时候强制(enforce)客户端优先级区分。结果,在处理较低优先级客户端请求之前启动来自较高优先级客户端的请求的处理。然而,由于不是在数据帧级强制优先级,因此这并不保证在来自较低优先级客户端的数据之前执行来自较高优先级客户端的数据的处理。
将有利的是,提供一种用于帧级优先级区分的机制,其用于在服务器处提供入站(inbound)业务的SLA优先级区分排队,从而向具有不同优先级的客户端不仅提供连接时间优先级,而且提供数据处理优先级。还将有利的是,提供一种用于在多处理器环境中提供帧级优先级区分的机制,其用于基于每个处理器而对进入业务进行优先级排队。
此外,事务的处理可能跨越多层数据处理系统网络中的多个系统。例如,客户端可以启动与万维网服务器的事务,而万维网服务器可能需要访问后端数据库服务器,将请求传递到另一个万维网服务器,或者访问万维网应用服务器,以便完成事务请求。因此,反过来,第一层万维网服务器可能需要与万维网应用服务器的连接,这最终可能以连接到数据库服务器以完成处理而告终。不存在用于跨越处理事务所涉及的多个系统传输网络优先级以便进行网络层处理的机制。
将有利的是,提供一种用来在数据处理系统网络中跨越处理单个事务或作业所涉及的多个节点传输优先级类的机制。还将有利的是,提供一种用来在多层数据处理系统网络中传输包括连接级和入站数据帧级的优先级的优先级类的机制。
发明内容
本发明提供了一种方法、计算机程序产品和数据处理系统,其用于在包括网络协议栈的入站数据帧处理的帧级强制优先级级别。在对称多处理器系统中和在非均匀(non-uniform)存储器访问系统中,通过在单个或多个节点中每处理器使用多个数据队列,强制优先级级别。另外,本发明提供了一种方法、计算机程序产品和数据处理系统,其用于在多层数据处理系统网络中传输要在网络层强制的请求优先级区分。第一数据处理系统接收事务请求,并且识别该事务请求的优先级。然后,该数据处理系统将该事务请求传达到第二数据处理系统,并且第二数据处理系统根据该优先级处理该事务请求。
为了实现本发明,提供了一种在数据处理系统网络中传输请求优先级区分的方法,该方法包括以下计算机实现步骤:由第一数据处理系统接收事务请求;识别该事务请求的优先级;由第一数据处理系统根据该优先级在第一数据处理系统的网络层中处理该事务请求;以及将该事务请求传达到第二数据处理系统,其中第二数据处理系统根据该优先级在第二数据处理系统的网络层中处理该事务请求。
为了实现本发明,提供了一种用于在数据处理系统网络中传输请求优先级区分的数据处理系统,包括:第一网络接口卡,用于接收事务请求;存储器,包含作为一组指令的优先级过滤器;以及处理单元,响应于这组指令的执行,识别该事务请求的优先级,并且在该数据处理系统的网络层处理该事务请求,并且在多个连接中的第一连接上传送该事务请求,其中该多个连接中的每一个具有相关联的优先级,并且第一连接具有与该事务请求的优先级相对应的第一相关优先级。
附图说明
被认为是本发明特征的新颖特性在所附权利要求中加以阐述。然而,通过参考下面结合附图阅读的对说明性实施例的详细描述,将最佳地理解本发明本身、以及其优选使用方式及其另外的目的和优点,其中:
图1示出了可以实现本发明优选实施例的多层数据处理系统网络的图示;
图2是根据本发明优选实施例的可以被实现为所示服务器的数据处理系统的方框图;
图3是示出根据本发明优选实施例的可以具有被优先级区分的数据的客户端数据处理系统的方框图;
图4是根据本发明优选实施例的用于在网络级强制数据优先级区分的服务器配置的示意图;
图5是根据本发明优选实施例的用于在多层网络中的多处理器服务器上进行服务级别协定优先级区分的数据队列配置图;
图6是根据本发明优选实施例的在服务器上运行的数据排队例程的流程图;
图7A是根据本发明优选实施例的实现了请求优先级传输的客户端-服务器网络系统的示意图;
图7B是根据本发明优选实施例的帮助跨越数据处理系统网络中的多个节点传输请求优先级类的优先级过滤器的示意图;
图7C是示出根据本发明优选实施例的将客户端连接映射到后端连接以便跨越多层数据处理系统网络中的多个节点传输优先级类的优先级过滤器的示意图;以及
图8是根据本发明优选实施例的由优先级过滤器执行以便跨越数据处理系统网络中的多个节点传输请求优先级的运行时处理的流程图。
具体实施方式
现在参照附图,图1示出了可以实现本发明的多层数据处理系统网络的图示。网络数据处理系统100是可以实现本发明的计算机网络。网络数据处理系统100包含网络102,其是用来在网络数据处理系统100内连接在一起的各个设备和计算机之间提供通信链路的介质。网络102可以包括诸如有线、无线通信链路或光纤缆线的连接。在所示例子中,万维网服务器104随同存储单元107一起连接到网络102。另外,客户端108、110和112连接到网络102。这些客户端108、110和112可以例如是个人计算机或网络计算机。在所示例子中,万维网服务器104可以被实现为HTTP服务器,其响应于从例如在客户端108-112上运行的浏览器接收到HTTP请求,向客户端108-112发送网页。另外,万维网服务器104可以向客户端108-112提供除了HTTP数据之外的其它数据,例如应用程序。客户端108、110和112是万维网服务器104的客户端。万维网服务器104与万维网应用服务器105接口和通信。万维网应用服务器105处理发出由客户端108-112发出的请求的浏览器与由数据仓库(data store)106维护的后端应用或数据库之间的应用操作,其中数据仓库106例如为后端数据库系统,其与万维网应用服务器105接口。
网络数据处理系统100可以包括另外的服务器、客户端、以及未示出的其它设备。在所示例子中,网络数据处理系统100是因特网,其中网络102表示使用传输控制协议/网际协议(TCP/IP)协议集相互通信的网络和网关的全球集合。因特网的心脏处是主节点或主机计算机之间的高速数据通信线的中枢,其由成千上万的传递数据和消息的商业、政府、教育和其它计算机系统组成。当然,网络数据处理系统100也可以被实现为多种不同类型的网络,例如内联网、局域网(LAN)或广域网(WAN)。图1旨在作为示例,而不作为对本发明的架构限制。
参照图2,示出了根据本发明优选实施例的可以被实现为服务器如图1中的万维网服务器104或万维网应用服务器105的数据处理系统的方框图。数据处理系统200可以是对称多处理器(SMP)系统,其包括连接到系统总线206的多个处理器202和204,不过,可以适宜地将其替换为其它多处理器配置。另外,连接到系统总线206的是存储器控制器/高速缓存208,其向本地存储器209提供接口。I/O总线桥210连接到系统总线206,并且向I/O总线212提供接口。存储器控制器/高速缓存208和I/O总线桥210可以如图所示集成在一起。
连接到I/O总线212的外围组件互连(PCI)总线桥214向PCI本地总线216提供接口。多个调制解调器可以连接到PCI本地总线216。典型的PCI总线实现将支持四个PCI扩展槽或内插连接器。与图1中的客户端108-112的通信链路可以通过调制解调器218和网络适配器220来提供,其中调制解调器218和网络适配器220通过内插连接器连接到PCI本地总线216。
另外的PCI总线桥222和224为另外的PCI本地总线226和228提供接口,由此可以支持另外的调制解调器或网络适配器。以这种方式,数据处理系统200允许连接到多个网络计算机。存储器映射图形适配器230和硬盘232也可以如图所示直接或间接地连接到I/O总线212。
本领域的普通技术人员应当理解,图2所示的硬件可以变化。例如,作为对所示硬件的增添或替代,也可以使用其它外围设备如光盘驱动器等。所示例子不旨在暗含对本发明的架构限制。
图2所示的数据处理系统可以例如是运行高级交互执行(AIX)操作系统或LINUX操作系统的IBM eServer pSeries系统,其是位于纽约,阿芒克的国际商业机器公司的产品。
现在参照图3,示出了可以实现本发明的数据处理系统的方框图。数据处理系统300是客户端计算机如图1所示的客户端108的例子。数据处理系统300采用外围组件互连(PCI)本地总线架构。虽然所示例子采用PCI总线,但是也可以使用其它总线架构如加速图形端口(AGP)和工业标准架构(ISA)。处理器302和主存储器304通过PCI桥308连接到PCI本地总线306。PCI桥308还可以包括用于处理器302的集成存储器控制器和高速缓冲存储器。另外的与PCI本地总线306的连接可以通过直接组件互连或通过内插板来进行。在所示例子中,局域网(LAN)适配器310、SCSI主机总线适配器312、以及扩展总线接口314通过直接组件互连而连接到PCI本地总线306。相反,视频适配器316、图形适配器318和音频/视频适配器319通过插入到扩展槽中的内插板而连接到PCI本地总线306。扩展总线接口314为键盘和鼠标适配器320、调制解调器322和另外的存储器324提供连接。小型计算机系统接口(SCSI)主机总线适配器312为硬盘驱动器326、磁带驱动器328和CD-ROM驱动器330提供连接。典型的PCI本地总线实现将支持三个或四个PCI扩展槽或内插连接器。
操作系统运行在处理器302上,并且用来协调和提供对图3的数据处理系统300内的各个组件的控制。操作系统可以是可购得的操作系统,例如可从微软公司获得的Windows XP。面向对象的编程系统如Java可以结合操作系统运行,并且提供从在数据处理系统300上执行的Java程序或应用程序到操作系统的调用。“Java”是太阳微系统公司的商标。操作系统、面向对象的编程系统以及应用程序或程序的指令位于存储设备如硬盘驱动器326上,并且可以被装载到主存储器304中,以便由处理器302执行。
本领域的普通技术人员应当理解,图3中的硬件可以根据实现而变化。作为图3所示的硬件的增添或替代,可以使用其它内部硬件或外围设备如快闪只读存储器(ROM)、等效非易失性存储器或光盘驱动器等。另外,本发明的处理可被应用于多处理器数据处理系统。
作为另一个例子,数据处理系统300可以是被配置成是可引导的而不依赖于某种网络通信接口的独立系统。作为另一个例子,数据处理系统300可以是个人数字助理(PDA)设备,其配置有ROM和/或快闪ROM,以便提供非易失性存储器来存储操作系统文件和/或用户生成的数据。
图3所示的例子和上述例子不旨在暗含架构限制。例如,除了采取PDA的形式之外,数据处理系统300也可以是笔记本计算机或手持计算机。数据处理系统300也可以是信息站(kiosk)或万维网设备(webappliance)。
客户端如客户端108发起与万维网服务器104的通信连接。在这里提供的说明性例子中,客户端和服务器之间的通信连接是参考TCP/IP协议集来描述的,但是也可以适宜地将其替换为其它通信协议。本发明的实现不局限于任何特定协议,并且提供所述协议仅仅是为了帮助理解本发明。
图4是根据本发明优选实施例的用于在网络级强制数据优先级区分的服务器配置的示意图。服务器400是数据处理系统如图2所示的数据处理系统200的例子,其提供与具有不同优先级类的客户端的连接性,并且被实现为多处理器数据处理系统。客户端如客户端108将通过首先参加与服务器400的握手来发起与服务器400的通信连接。为了建立连接,客户端将帧402定址到服务器400,并且将帧402施加到网络介质410例如10baseT、100baseT或者其它适合的网络介质。帧402包括各种封装的首标。在本例中,客户端和服务器在因特网上连接,因此帧402包括链路首标402a例如以太网首标、网络层首标402b例如IP首标、以及传输层首标402c例如TCP首标。例如,帧402可以封装同步(SYN)段,其包括具有用于发起与服务器400的握手的声称同步标志的传输层首标402c。服务器400通过网络接口卡420例如以太网卡接收帧402,其中网络接口卡420将帧传达到网络栈430的链路层431例如以太网驱动程序。链路层431从该帧中解封装或解复用IP数据报,并且将IP数据报传给网络栈430的网络层432。网络层432从IP数据报中解复用TCP段,并且将TCP段传给网络栈430的传输层433。
根据本发明的优选实施例,过滤器440另外接收经过解复用的IP数据报,以便对即将发生的连接进行优先级过滤。过滤器440优选地包括用于确定发起了数据的客户端的优先级级别的逻辑装置。例如,过滤器440可以基于从帧402中的网络层首标402b读取的源地址例如IP源地址和端口号而确定客户端的优先级级别。通过比较来自帧402的一个或多个数据值与在过滤器440中编码或者由其访问的预设标准来进行优先级级别的确定。在说明性例子中,过滤器440包括(或者与其接口)表441,其例如根据客户端所订购的服务级别协定(SLA),关联或映射客户端地址例如IP网络地址和与客户端相关联的优先级级别。表441仅仅是说明性的,并且可以适宜地将其替换为关联客户端标识符例如网络地址和优先级级别的各种其它数据结构。如图1所示,客户端108-112具有各自的IP地址IP-A、IP-B和IP-C,并且表441分别将低、低和高的优先级级别与客户端108-112相关联。在识别了客户端优先级之后(或者与之同时),万维网服务器和客户端例如通过完成三向握手而完成连接。根据本发明的优选实施例,根据在客户端与服务器的连接时识别的客户端优先级,基于每个处理器而在网络层对在与客户端建立了连接之后由万维网服务器接收的业务进行优先级过滤。
图5是根据本发明优选实施例的用于在多层网络中的多处理器服务器上进行服务级别协定优先级区分的数据队列配置图。数据队列配置510可以被实现为计算机可读指令,其被存储在存储器如本地存储器209中,并且由处理单元如图2所示的处理器202或204从中取出。在说明性例子中,假定万维网服务器104是包括n个中央处理单元(被指定为CPU0-CPUn)的对称多处理器系统。在说明性例子中,每一个处理器CPU0-CPUn各自具有向其分配的用于双级别优先级区分的两个队列。具体地说,处理器CPU0具有两个队列500a和500b,其用于对由万维网服务器104从具有向其分配的两个优先级级别之一的客户端接收的数据进行双级别优先级区分排队。在本例中,队列500a被分配用于从具有第一(max)优先级的客户端接收的数据,而队列500b被分配用于从具有低(max-1)优先级的客户端接收的帧。在说明性例子中,示出了每处理器两优先级队列。然而,在本例中提供的双级别优先级区分仅是说明性的,并且选择其是为了帮助理解本发明,并且可以将所示配置替换为任意数目的处理器队列和对应的客户端优先级级别。
以类似的方式,万维网服务器内的其它处理器具有类似配置的队列。在说明性例子中,处理器CPU1具有队列501a和队列501b,其中队列501a被分配用于从高优先级客户端接收的数据,而队列501b被分配用于从低优先级客户端接收的数据。同样地,处理器CPUn具有被分配用于从高和低优先级客户端接收的各自数据的队列502a-502b。
图6是根据本发明优选实施例的在服务器如图4所示的服务器400上运行、向客户端提供经过优先级区分的服务的数据排队例程的流程图。图6所示的优先级排队例程在例如图4所示的网络栈430内的网络层执行。该例程开始并且等待数据的接收。当接收到数据(步骤602)时,例如通过评测网络层首标402b中的目的地址,进行评测以确定数据的目标是该接收系统(步骤604)。在数据不发向该接收系统的情况下,将数据丢到位桶(bit bucket)中,或者丢弃它(步骤606),并且数据排队例程循环结束(步骤626)。
再次回到步骤604,在数据发向该接收系统的情况下,则进行评测,以确定数据是否包括现有连接的业务(步骤607)。例如,可以读取数据的源地址和端口号,并且与现有连接套接字进行比较。如果数据不是现有连接的一部分,则识别发起了数据的客户端的优先级级别,并且建立与客户端的连接(步骤609)。然后,数据排队例程循环根据步骤626结束。
再次回到步骤607,如果数据是现有连接的业务,则进行评测,以确定数据是否与系统CPU中的任一个具有姻亲关系(affinity)(步骤608)。如这里所提到的那样,当处理器或者与处理器相关联的资源如高速缓存系统等保存了处理数据所需的数据如上下文数据时,则认为该数据与该处理器具有姻亲关系。如果数据被识别为与系统处理器中的任一个具有姻亲关系,则识别数据的优先级(步骤610)。例如,可以读取网络层首标402b的源地址,并且将其与由图4所示的过滤器440定义或访问的预定义标准进行比较,其中该标准关联源地址和优先级级别。然后,进行优先级的评测(步骤612)。在步骤612数据优先级被评测为低的情况下,将数据放置在该帧被识别为与其具有姻亲关系的处理器的低优先级队列中(步骤614),然后优先级区分例程循环根据步骤626结束。可选地,如果在步骤612数据被评测为高优先级数据,则将数据放置在该数据被识别为与其具有姻亲关系的处理器的低优先级队列中(步骤616)。然后,优先级区分例程循环根据步骤626结束。
再次回到步骤608,如果数据不被识别为与任何系统处理器具有姻亲关系,则检查帧的优先级级别(步骤618),然后,进行评测,以确定数据是否来源于具有低优先级的客户端(步骤620)。如果确定了数据来源于具有低优先级的客户端,则选择一个CPU,并且将数据放置在所选CPU的低优先级队列中(步骤624)。例如,可以通过循环选择例程进行CPU选择以便对数据进行排队。可以适宜地将其替换为其它调度机制。一旦将数据放置在CPU的低优先级队列中,则优先级区分例程循环根据步骤626结束。
再次回到步骤620,在数据被识别为来源于高优先级客户端(也就是,在步骤620,客户端优先级未被识别为低优先级)的情况下,例如通过选择在其各自的高优先级队列中具有最低任务数的处理器,将数据放置在系统处理器之一的高优先级队列中(步骤622)。然后,优先级区分例程循环根据步骤626结束。
然后,基于队列优先级从处理器队列检索数据,以便跨越网络传送数据。例如,根据数据优先级区分,也就是,以相对于较低优先级请求向较高优先级请求提供处理优先权的方式,将在图1所示的万维网服务器104处基于每个处理器而排队的数据从万维网服务器104传送到万维网应用服务器105,其中该数据包括要在数据仓库106上执行的数据库事务。
这样,根据客户端优先级类进行在多层网络中部署的多处理器数据处理系统中处理事务的期间的数据传送。通过在TCP/IP网络栈中的数据队列级允许多个排队机制,并且关联连接优先级和数据优先级,确保了较高优先级客户端的请求在较低优先级客户端之前被服务。
根据本发明的另一个实施例,提供了一种用于在多层网络系统中的节点之间扩展或传输请求优先级的机制。图7A是根据本发明优选实施例的实现了数据优先级传输的多层网络系统的示意图。在说明性例子中,被实现为HTTP服务器的万维网服务器704响应于从客户端708和709接收到HTTP请求而通过各自的客户端连接710和711向客户端708和709发送网页或其它数据。另外,万维网服务器704可以向客户端708和709提供除了HTTP数据之外的其它数据,例如应用程序。万维网服务器704与万维网应用服务器705接口和通信。万维网应用服务器705处理发出由客户端708和709发出的请求的浏览器与后端应用或数据库如后端数据库服务器706之间的应用操作,其中后端数据库服务器706与万维网应用服务器705接口,并且执行数据库702上的数据库事务。
一般而言,将客户端708和709与万维网服务器704之间的各自连接710和711建立为动态或短期连接。分别互连万维网服务器704与万维网应用服务器705以及万维网应用服务器705与后端数据库服务器706的连接715a-715b和720a-720b是持久性连接。根据本发明的优选实施例,如上所述由万维网服务器704识别在万维网服务器704处接收的由客户端提交的事务请求的优先级。然后,将该优先级传播到与后端数据库服务器706的持久性连接。为此,在与万维网应用服务器705建立持久性连接715a-715b的期间,万维网服务器704向连接715a-715b分配优先级。同样地,在与后端数据库服务器706建立持久性连接720a和720b的期间,万维网应用服务器705向连接720a和720b分配优先级。在说明性例子中,每个连接715a-715b和720a-720b代表一个或多个类似连接。例如,连接715a可以被实现为各自地被分配(或者共同地被分配)了共同优先级的多个连接的池。在本例中,连接715a和720a分别代表一个或多个具有第一优先级类即高(HI)的连接,而连接715b和720b分别代表一个或多个具有第二较低优先级类即低(LO)的连接。
通过跨越处理客户端请求所涉及的所有节点传输或扩展优先级处理来提供经过优先级区分的客户端请求处理。处理事务所涉及的每个节点例如万维网服务器704、万维网应用服务器705和后端数据库服务器706在处理数据时提供优先权。例如,当从客户端接收到数据时,万维网服务器704例如通过上面关于图4所述的机制而识别客户端数据的优先级。然后,根据与由万维网服务器704识别的客户端优先级级别相对应的数据优先级,在万维网服务器704处对数据进行排队和处理。例如,假定万维网服务器704接收到要由后端数据库服务器706处理的、来自高优先级客户端的事务请求的高优先级数据,以及要由后端数据库服务器706处理的、来自低优先级客户端的事务请求的低优先级数据,并且对其进行了排队。由于提供给高优先级客户端的处理优先权,因此在传送低优先级数据之前将高优先级数据传送到万维网应用服务器705。接下来,万维网应用服务器705根据客户端数据优先级处理从万维网服务器704接收的数据。根据本发明的一个实施例,万维网应用服务器705根据在万维网应用服务器705处接收数据的连接对数据进行优先级处理。在说明性例子中,通过高优先级连接715a由万维网应用服务器705接收的数据被放置在优先级过滤器731(或者与其接口)的高优先级队列731a中,而通过低优先级连接715b由万维网应用服务器接收的数据被放置在优先级过滤器731(或者与其接口)的低优先级队列731b中。从而,由万维网服务器704以高于低优先级数据的优先权处理和传送的高优先级数据同样地被万维网应用服务器705提供了处理优先权。接下来,万维网应用服务器705以高于低优先级数据的优先权将高优先级数据传送到后端数据库服务器706。这样,后端系统(本例中的后端数据库服务器706)可以以高于较低优先级数据的优先权对高优先级数据进行排队和处理。在说明性例子中,后端数据库服务器706将高优先级数据放置在过滤器707(或者与其接口)的高优先级队列707a中,而将低优先级数据放置在优先级过滤器707(或者与其接口)的低优先级队列707b中。这样,通过配置每个节点以便基于接收数据的连接而识别数据优先级,跨越多层数据处理系统网络中的事务处理所涉及的每层提供经过优先级区分的处理。
在多层网络700中反向地提供处理数据的优先级。也就是,由万维网应用服务器705通过高优先级类连接720a从后端数据库服务器706接收的数据(例如,通过后端数据库服务器706执行数据库事务而得到的返回数据)被万维网应用服务器705提供了高于通过低优先级类连接720b接收的事务的处理优先权。同样地,由万维网服务器704通过高优先级连接715a从万维网应用服务器705接收的数据被提供了高于由万维网服务器704通过低优先级连接715b从万维网应用服务器705接收的数据的处理优先权。这样,在事务请求和事务返回消息传递期间,在多层网络700中提供了事务处理的优先级区分。
现在参照图7B,示出了根据本发明的优选实施例的被配置成帮助多层网络中的数据处理优先级区分传输的优先级区分数据队列的示意图。数据队列760a-760b可被实现为计算机可读指令,其被存储在存储器如本地存储器中、并且由被部署为多层网络700中的前端节点的服务器系统的处理单元从中取出。数据队列760a-762b优选地在优先级过滤器如由万维网服务器704运行的优先级过滤器730内实现,或者与其接口。数据队列760a-762b是针对每个处理器的数据队列的例子,如图5所示的队列500a-500b,其用于如上所述的帧级数据排队。
在本例中,高优先级队列760a、761a和762a被逻辑映射到高优先级连接715a,而低优先级队列760b、761b和762b被逻辑映射到低优先级连接715b。用于关联各个队列760a-762b与具有特定优先级的连接的逻辑映射770a-772b可以例如通过链接表、关系数据库或者任何其它适合的数据结构实现。这样,要被传送到万维网应用服务器705的在高优先级队列760a-762a中排队以便通过高优先级连接715a传送的数据被提供了高于在低优先级队列760b-762b中排队以便通过低优先级连接715b传送的数据的优先权。在说明性例子中,示出了两个优先级类的队列和连接。然而,在本例中提供的双级别优先级区分仅仅是说明性的,并且选择其是为了帮助理解本发明,并且可以将所示配置替换为任意数目的队列和连接优先级级别。
为了帮助跨越多层网络700的多个节点传输处理优先级,在处理事务所涉及的每个节点中实现优先级过滤器。现在参照图7C,示出了根据本发明的优选实施例的将客户端连接映射到后端连接以便跨越多层数据处理系统网络中的多个节点传输优先级类的优先级过滤器的示意图。优先级过滤器731优选地被实现为一组计算机可读指令,并且可以在运行优先级过滤器731的主机服务器例如万维网应用服务器705的网络栈中实现,或者与其接口。
在中间节点即接收要被处理的数据并且必须将数据转发到多层网络700中的另一个节点的节点中,通过前端和后端服务器地址之间的逻辑映射来帮助优先级类的传输。在说明性例子中,万维网应用服务器705具有通过其可以与万维网服务器704进行前端连接的两个网络地址,即IP地址9.3.192.7和9.3.192.9,并且万维网应用服务器705具有通过其可以与后端数据库服务器706进行后端连接的两个网络地址,即IP地址9.3.190.7和9.3.190.9。根据本发明的实施例,通过经过优先级区分的连接之间的映射,经由多层网络700的中间服务器,将优先级类从请求实体传输到目标实体。为此,万维网应用服务器前端地址和后端地址之间的关联由过滤器731定义。在说明性例子中,表740定义了由万维网应用服务器705例如从代表客户端708和709的万维网服务器704接收数据的前端(目的)地址、以及这些前端地址的对应优先级。具体地说,表740的记录741为由万维网应用服务器705接收的、具有目的地址9.3.192.7的请求定义高优先级类,并且表740的记录742为由万维网应用服务器705接收的、具有目的地址9.3.192.9的请求定义低优先级类。另一个表750定义万维网应用服务器705与后端数据库服务器706连接的源(后端)地址、以及这些后端地址的对应优先级。具体地说,表750的记录751为通过万维网应用服务器源地址9.3.190.7与后端数据库服务器706建立的连接定义高优先级类,并且表750的记录752为通过万维网应用服务器源地址9.3.190.9与后端数据库服务器706建立的连接定义低优先级类。这样,当识别出由万维网应用服务器705接收的数据的优先级时,可以通过在具有对应优先级的连接上发送该请求而将请求优先级传输到后端数据库。例如,假定数据库查询请求由客户端708发出,并且由万维网应用服务器705从万维网服务器704接收。分析该请求,以确定该请求被定向的目的地址。当识别出该请求的目的地址时,基于目的地址与优先级类的关联而确定该请求的优先级。可选地,可以通过由万维网应用服务器705接收数据的连接来识别请求优先级。例如,万维网应用服务器705可以简单地将在连接715a上接收的任何数据识别为高优先级数据,并且将在连接715b上接收的任何数据识别为低优先级数据。
当识别出数据优先级时,则识别与所确定的优先级类相对应的源地址,并且通过具有对应优先级的源地址将该请求传达到后端服务。
作为例子,假定通过万维网服务器704将来自客户端708的请求发送到万维网应用服务器705,以及万维网服务器704通过将请求定址到万维网应用服务器705的低优先级前端地址(9.3.192.9)而与万维网应用服务器705连接。例如,在将客户端708识别为具有低优先级SLA之后,万维网服务器704可以在端接于万维网应用服务器705的低优先级前端地址的低优先级连接715b上与万维网应用服务器705连接。这样的对客户端708的识别可以由识别客户端优先级SLA的过滤器机制例如在图4中示出和描述的过滤器441进行。当万维网应用服务器接收到请求数据时,将该请求提供给优先级过滤器731,并且读取由万维网应用服务器705接收数据的前端地址。在本例中,优先级过滤器731读取该请求被定址的万维网应用服务器705的前端地址,并且通过在记录742中定义的前端目的地址与优先级关联将该请求识别为低优先级地址。
当将该请求识别为低优先级请求时,万维网应用服务器705则将该请求传达到后端数据库服务器706。具体地说,万维网应用服务器705在该请求中包括低优先级源地址(9.3.190.9),并且将该请求提供给低优先级连接720b,以便传达到后端数据库服务器706。
从而,通过在后端数据库服务器706中实现根据请求优先级对请求进行排队的优先级过滤器,后端数据库服务器706可以根据预定义的优先级类来处理请求,其中该优先级类最初在多层网络700的前端节点例如万维网服务器704处识别出,并且通过将事务请求传达到后端数据库服务器706所涉及的每个节点传播。在说明性例子中,后端数据库服务器706包括优先级过滤器707,其向在高优先级连接720a上接收的请求提供高于在低优先级连接720b上接收的请求的优先权。具体地说,优先级过滤器707包括高优先级队列707a和低优先级队列707b,或者与其接口,其中在相应的高优先级连接720a和低优先级连接720b上接收的请求被排入高优先级队列707a和低优先级队列707b。从而,可以根据在数据处理系统网络中的多层之间传输的优先级分类来执行在后端数据库服务器706处接收的请求的处理。
图8是根据本发明优选实施例的由优先级过滤器执行以便跨越数据处理系统网络中的多个节点根据请求优先级来传输请求的运行时处理的流程图。在流程图800中示出的运行时例程处理优选地由被实现为过滤器如优先级过滤器730的计算机可读指令实现,其中该过滤器由数据处理系统如万维网应用服务器705处理,并且用来从优先级区分队列中调度排队数据。
运行时优先级过滤器例程例如在系统引导或者其它调用时开始,并且等待接收请求如数据库事务请求或者其它后端服务事务。当接收到请求(步骤802)时,例如,当从队列中调度时,由优先级过滤器进行请求优先级的评测(步骤804)。具体地说,对该请求进行评测,以确定该请求是否是低优先级请求。在该请求被评测为低优先级请求的情况下,运行时优先级过滤器例程前进到评测是否存在用于低优先级请求的连接(步骤806)。如果不存在低优先级连接,则建立一个(步骤808),然后该例程继续到在新建立的低优先级连接上发送该请求(步骤810)。如果在步骤806,确定了已经存在低优先级连接,例如图7A中的低优先级连接720b,则运行时优先级过滤器例程继续到根据步骤810在低优先级连接上发送该请求。在通过低优先级连接发送该请求之后,运行时优先级过滤器循环则完成(步骤818)。
再次回到步骤804,如果该请求未被评测为低优先级请求,则进行评测,以确定是否存在高优先级连接(步骤812)。如果不存在高优先级连接,则建立一个(步骤814),然后该例程继续到在新建立的高优先级连接上发送该请求(步骤816)。如果在步骤812,确定了已经存在高优先级连接,例如高优先级连接720a,则运行时优先级过滤器例程继续到根据步骤816在该高优先级连接上发送该请求。在通过高优先级连接发送该请求之后,运行时优先级过滤器循环则根据步骤818完成。
这样,通过在后端服务处例如在过滤器707中实现数据优先级区分,可以在多层网络中向具有不同优先级的客户端提供数据处理优先级。例如,过滤器707可以包括高优先级队列707a和低优先级队列707b,以便向在高优先级连接720a和低优先级连接720b上接收的数据提供处理优先权。
应当理解,双优先级请求过滤和优先级传输的例子仅仅是说明性的,并且本发明的教导可以扩展到具有任意数目的请求优先级类的系统。
正如所述,本发明的实施例提供了用于跨越数据处理系统网络中的多个节点传输请求优先级的机制。通过跨越数据处理系统网络中的多个节点传输请求优先级,在多层数据处理系统网络中传达或处理事务所涉及的任何节点中确保了请求处理的优先权。
值得注意的是,虽然本发明是在全功能数据处理系统的上下文中描述的,但是本领域的普通技术人员应当理解本发明的处理能够以包含指令的计算机可读介质的形式和各种形式来分发,并且本发明与实际上用来执行分发的信号承载介质的具体类型无关地同等适用。计算机可读介质的例子包括诸如软盘、硬盘驱动器、RAM、CD-ROM、DVD-ROM的可记录型介质和诸如数字和模拟通信链路、采用各种传输形式例如射频和光波传输的有线或无线通信链路的传输型介质。计算机可读介质可以采取为在特定数据处理系统中实际使用而译码的编码格式的形式。
本发明的描述是为了示例说明和描述的目的而提供的,而不旨在是穷举性的或者将本发明局限于所公开的形式。对于本领域的普通技术人员而言,很多修改和变动将是显然的。选择和描述实施例是为了最佳地说明本发明的原理、实际应用,并使得本领域的其他普通技术人员能够理解本发明,从而考虑具有各种修改的各种实施例来适用于具体应用。

Claims (13)

1. 一种在数据处理系统网络中传输请求优先级区分的方法,该方法包括以下计算机实现步骤:
由第一数据处理系统接收事务请求;
识别该事务请求的优先级;
由第一数据处理系统根据该优先级在第一数据处理系统的网络层中处理该事务请求;以及
将该事务请求传达到第二数据处理系统,其中第二数据处理系统根据该优先级在第二数据处理系统的网络层中处理该事务请求。
2. 如权利要求1所述的方法,其中由与第一数据处理系统的网络栈接口的过滤器执行所述识别该事务请求的优先级的步骤。
3. 如权利要求1所述的方法,其中第一数据处理系统包括第二数据处理系统的前端节点。
4. 如权利要求1所述的方法,还包括:
在第一数据处理系统与第二数据处理系统之间建立多个连接,其中该多个连接中的第一连接具有与其相关联的第一优先级,并且该多个连接中的第二连接具有与其相关联的第二优先级。
5. 如权利要求4所述的方法,其中所述将该事务请求传达到第二数据处理系统的步骤还包括:
确定该事务请求的优先级对应于第一优先级;以及
在第一连接上传送该事务请求。
6. 如权利要求1所述的方法,其中所述识别该事务请求的优先级的步骤还包括:
确定该事务请求被定址的第一数据处理系统的目的地址。
7. 如权利要求6所述的方法,还包括:
将该目的地址映射到第一数据处理系统的源地址,其中该源地址是第一数据处理系统与第二数据处理系统之间的连接的源地址,并且其中该源地址与该优先级相关联。
8. 一种用于在数据处理系统网络中传输请求优先级区分的数据处理系统,包括:
第一网络接口卡,用于接收事务请求;
存储器,包含作为一组指令的优先级过滤器;以及
处理单元,响应于这组指令的执行,识别该事务请求的优先级,并且在该数据处理系统的网络层处理该事务请求,并且在多个连接中的第一连接上传送该事务请求,其中该多个连接中的每一个具有相关联的优先级,并且第一连接具有与该事务请求的优先级相对应的第一相关优先级。
9. 如权利要求8所述的数据处理系统,其中优先级过滤器与在存储器中维护的网络栈接口。
10. 如权利要求8所述的数据处理系统,其中优先级过滤器通过在事务请求中读取该数据处理系统的目的地址来识别该事务请求的优先级。
11. 如权利要求10所述的数据处理系统,其中优先级过滤器映射该目的地址与用于在第一连接上发送数据的该数据处理系统的源地址。
12. 如权利要求8所述的数据处理系统,还包括:
第二网络接口卡,用于端接与另一数据处理系统的该多个连接。
13. 如权利要求8所述的数据处理系统,其中该多个连接端接于另一数据处理系统,并且其中另一数据处理系统被配置成根据该优先级在另一数据处理系统的网络层处理该事务请求。
CNB2005101246705A 2004-12-16 2005-11-14 跨越多层网络中的多个节点传输请求优先级的系统和方法 Expired - Fee Related CN100417092C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/014,070 2004-12-16
US11/014,070 US7240136B2 (en) 2004-12-16 2004-12-16 System and method for request priority transfer across nodes in a multi-tier data processing system network

Publications (2)

Publication Number Publication Date
CN1791019A CN1791019A (zh) 2006-06-21
CN100417092C true CN100417092C (zh) 2008-09-03

Family

ID=36597484

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101246705A Expired - Fee Related CN100417092C (zh) 2004-12-16 2005-11-14 跨越多层网络中的多个节点传输请求优先级的系统和方法

Country Status (2)

Country Link
US (1) US7240136B2 (zh)
CN (1) CN100417092C (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7460558B2 (en) 2004-12-16 2008-12-02 International Business Machines Corporation System and method for connection capacity reassignment in a multi-tier data processing system network
US7685297B2 (en) * 2005-12-06 2010-03-23 Nokia Corporation Resource control
JP2010504018A (ja) * 2006-09-15 2010-02-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 自動パケットタグ付け
US20100085948A1 (en) * 2008-01-31 2010-04-08 Noosphere Communications, Inc. Apparatuses for Hybrid Wired and Wireless Universal Access Networks
US20120151479A1 (en) * 2010-12-10 2012-06-14 Salesforce.Com, Inc. Horizontal splitting of tasks within a homogenous pool of virtual machines
US9378058B2 (en) * 2011-10-17 2016-06-28 Excalibur Ip, Llc Method and system for dynamic control of a multi-tier processing system
US9497088B2 (en) * 2013-08-29 2016-11-15 Oracle International Corporation Method and system for end-to-end classification of level 7 application flows in networking endpoints and devices
US10055726B2 (en) 2014-07-14 2018-08-21 Jpmorgan Chase Bank, N.A. Systems and methods for management of mobile banking resources
WO2016010884A1 (en) * 2014-07-14 2016-01-21 Jpmorgan Chase Bank, N.A. Systems and methods for management of mobile banking resources
US20180270305A1 (en) * 2017-03-17 2018-09-20 Google Inc. Systems and methods for throttling incoming network traffic requests
CN109391663B (zh) * 2017-08-10 2021-11-16 阿里巴巴集团控股有限公司 一种访问请求的处理方法与设备
CN109522101B (zh) * 2017-09-20 2023-11-14 三星电子株式会社 用于调度多个操作系统任务的方法、系统和/或装置
US11196843B2 (en) * 2018-09-04 2021-12-07 International Business Machines Corporation Application data access priority for remote storage systems
CN113051244B (zh) * 2021-03-22 2023-07-21 北京百度网讯科技有限公司 数据访问方法和装置、数据获取方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6084879A (en) * 1997-04-10 2000-07-04 Cisco Technology, Inc. Technique for capturing information needed to implement transmission priority routing among heterogeneous nodes of a computer network
CN1422061A (zh) * 2002-12-27 2003-06-04 北京邮电大学 在多业务多用户业务平台中保证业务服务等级协议的方法
CN1428976A (zh) * 2001-12-27 2003-07-09 阿尔卡塔尔加拿大公司 在桥接的vlan中的用户优先级映射
US6725332B2 (en) * 2000-03-29 2004-04-20 International Business Machines Corporation Hierarchical priority filter with integrated serialization for determining the entry with the highest priority in a buffer memory
US6741559B1 (en) * 1999-12-23 2004-05-25 Nortel Networks Limited Method and device for providing priority access to a shared access network

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6717949B1 (en) * 1998-08-31 2004-04-06 International Business Machines Corporation System and method for IP network address translation using selective masquerade
US6754716B1 (en) * 2000-02-11 2004-06-22 Ensim Corporation Restricting communication between network devices on a common network
US7093288B1 (en) * 2000-10-24 2006-08-15 Microsoft Corporation Using packet filters and network virtualization to restrict network communications
US7024460B2 (en) * 2001-07-31 2006-04-04 Bytemobile, Inc. Service-based compression of content within a network communication system
WO2003001318A2 (en) * 2001-06-26 2003-01-03 Allot Communications Ltd. Method for filter selection and array matching
US7840696B2 (en) * 2003-07-25 2010-11-23 Broadcom Corporation Apparatus and method for classifier identification
US20050270993A1 (en) * 2004-06-07 2005-12-08 Krishnan Rajamani Efficient partitioning of MAC (media access control) functions

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6084879A (en) * 1997-04-10 2000-07-04 Cisco Technology, Inc. Technique for capturing information needed to implement transmission priority routing among heterogeneous nodes of a computer network
US6741559B1 (en) * 1999-12-23 2004-05-25 Nortel Networks Limited Method and device for providing priority access to a shared access network
US6725332B2 (en) * 2000-03-29 2004-04-20 International Business Machines Corporation Hierarchical priority filter with integrated serialization for determining the entry with the highest priority in a buffer memory
CN1428976A (zh) * 2001-12-27 2003-07-09 阿尔卡塔尔加拿大公司 在桥接的vlan中的用户优先级映射
CN1422061A (zh) * 2002-12-27 2003-06-04 北京邮电大学 在多业务多用户业务平台中保证业务服务等级协议的方法

Also Published As

Publication number Publication date
US20060136574A1 (en) 2006-06-22
US7240136B2 (en) 2007-07-03
CN1791019A (zh) 2006-06-21

Similar Documents

Publication Publication Date Title
CN100417092C (zh) 跨越多层网络中的多个节点传输请求优先级的系统和方法
CN1791020A (zh) 用于多层网络中的数据排队优先级区分的方法和系统
CN1791092A (zh) 多层数据处理系统网络中用于连接容量再指派的系统和方法
CN101784989B (zh) 在逻辑分区之间分配网络适配器资源的方法和系统
US6711607B1 (en) Dynamic scheduling of task streams in a multiple-resource system to ensure task stream quality of service
US7610404B2 (en) Application network communication method and apparatus
CN101461190B (zh) 管理计算节点间的通信
USRE44334E1 (en) Apparatus for transmitting WPAN MAC frames and method thereof
CN1280752C (zh) 选择镜像站点服务器的系统和方法
US7471689B1 (en) Method and apparatus for managing and accounting for bandwidth utilization within a computing system
US6260070B1 (en) System and method for determining a preferred mirrored service in a network by evaluating a border gateway protocol
CN1285046C (zh) 根据共享属性而由压缩的队列对来建立多重虚拟队列对的安排
US20030028614A1 (en) Portable storage media and method of utilizing remote storage unit on network as auxiliary memory of local computer by using the same
EP1262897A2 (en) Service request broking system
US8661157B2 (en) Application network communication
CN103238301A (zh) 用于在路由器处管理话务的技术
CN1298147A (zh) 向虚拟主机提供服务品质保证的技术
US20030012225A1 (en) Network addressing method and system for localizing access to network resources in a computer network
CN1306776C (zh) 基于多层架构的数据处理系统及数据处理方法
CN1598798A (zh) 在快速pci结构上产生来自pci装置的多个业务类别
US7591011B1 (en) Assigning higher priority to transactions based on subscription level
JPH065524B2 (ja) 記憶装置管理方法
CN109361749A (zh) 报文处理方法、相关设备及计算机存储介质
US7782870B1 (en) Method and apparatus for consolidating available computing resources on different computing devices
CN100581155C (zh) 处理代理的消息的装置和方法

Legal Events

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

Granted publication date: 20080903

Termination date: 20101114