專利名稱:多層數(shù)據處理系統(tǒng)網絡中用于連接容量再指派的系統(tǒng)和方法
技術領域:
本發(fā)明一般涉及一種改進的數(shù)據處理系統(tǒng),具體涉及一種用于在多層網絡系統(tǒng)中進行數(shù)據隊列優(yōu)先級區(qū)分(prioritization)的機制。更具體地說,本發(fā)明提供一種用于基于每個處理器而對在連網數(shù)據處理系統(tǒng)中經過優(yōu)先級區(qū)分的客戶端數(shù)據進行排隊的機制。另外,本發(fā)明提供一種用于在多層網絡中在網絡層動態(tài)調整中間層與后端數(shù)據服務器之間的持久性連接的優(yōu)先級的機制。
背景技術:
用于對網絡業(yè)務(traffic)進行排隊和過濾的各種連網數(shù)據處理系統(tǒng)業(yè)務控制方案用于提供服務級別協(xié)定(SLA)業(yè)務優(yōu)先級區(qū)分。例如,Linux網絡棧具有用于業(yè)務控制的基礎結構,其具有排隊規(guī)程(queuingdiscipline,qdisc)和過濾器。qdisc的分級結構可以與類分級結構聯(lián)合構造,以支持服務質量(QoS)特性。業(yè)務可以通過采用與分組首標域相匹配的過濾器而被傳遞(route)到不同的類。
對于接收側,即多層網絡中的服務器側,基于連接而提供優(yōu)先級區(qū)分。例如,當建立進入連接時,可以基于一個或多個優(yōu)先級過濾器而對該連接進行優(yōu)先級區(qū)分,以將該連接排入分配給不同優(yōu)先級類的多個隊列之一。然而,這樣的排隊機制依賴于連接優(yōu)先級區(qū)分。例如,在使用傳輸控制協(xié)議/網際協(xié)議(TCP/IP)的網絡中,在完成典型地被稱作三向握手的三階段處理之后建立連接。在這樣的系統(tǒng)中,優(yōu)先級區(qū)分局限于基于客戶端優(yōu)先級級別以及例如諸如業(yè)務負載的網絡計量(metrics)而準予或拒絕連接。
在僅在連接級強制優(yōu)先級區(qū)分的實現(xiàn)中,當同時服務多個優(yōu)先級客戶端時,根據進入連接的到達來強制優(yōu)先級。例如,如果連接的到達是高和低優(yōu)先級連接的混合,則在服務低優(yōu)先級連接之前服務高優(yōu)先級連接。然而,在建立了連接之后,則毫無區(qū)別地對待所有連接。
另外,SLA業(yè)務優(yōu)先級區(qū)分有時可能導致低效利用總體網絡系統(tǒng)傳送容量。例如,網絡系統(tǒng)傳送容量可以被劃分成分別分配給不同業(yè)務優(yōu)先級類的容量。在一個業(yè)務優(yōu)先級類經受重負載的情況下,分配給該業(yè)務優(yōu)先級類的網絡系統(tǒng)容量可能變得飽和或耗盡。在第二業(yè)務優(yōu)先級類經受低于分配給第二業(yè)務優(yōu)先級類的容量的業(yè)務負載的情況下,第二業(yè)務優(yōu)先級類容量的空閑部分將未被使用,而同時第一優(yōu)先級類的業(yè)務可能由于第一業(yè)務優(yōu)先級類的飽和而被阻止傳送。在這樣的情形下,總體網絡傳送容量未被充分利用。
將有利的是,提供一種用于網絡級優(yōu)先級區(qū)分的機制,其用于在向具有不同優(yōu)先級的客戶端提供連接性的服務器處提供入站(inbound)業(yè)務的SLA優(yōu)先級區(qū)分排隊。還將有利的是,提供一種用于在多層網絡的多處理器系統(tǒng)中提供網絡級優(yōu)先級區(qū)分的機制,其用于基于每個處理器而進行進入業(yè)務的優(yōu)先級排隊。還將有利的是,提供一種在以業(yè)務數(shù)據的SLA優(yōu)先級區(qū)分為特征的網絡中更高效地利用網絡傳送容量的機制。
發(fā)明內容
本發(fā)明提供了一種用于在多層網絡系統(tǒng)中進行數(shù)據優(yōu)先級區(qū)分的方法、計算機程序產品和數(shù)據處理系統(tǒng)。具有多個處理器的服務器從客戶端接收數(shù)據。然后,識別客戶端的優(yōu)先級。響應于識別優(yōu)先級,將數(shù)據排入與該多個處理器的第一處理器相關聯(lián)的第一多個隊列中的一個隊列。該隊列是與第一處理器相關聯(lián)的多個隊列之一,并且與該優(yōu)先級相關聯(lián)。此外,本發(fā)明還提供了一種在多層網絡系統(tǒng)中的網絡層上將連接容量從一個優(yōu)先級類再指派到另一個優(yōu)先級類的機制。當一個優(yōu)先級類的連接容量接近飽和時,可以在第一層系統(tǒng)之間將備用的容量從另一個類再指派到接近飽和的優(yōu)先級類。另外,提供了復制或映射第二層系統(tǒng)之間的連接容量再指派的機制。
被認為是本發(fā)明特征的新穎特性在所附權利要求中加以闡述。然而,通過參考下面結合附圖閱讀的對說明性實施例的詳細描述,將最佳地理解本發(fā)明本身、以及其優(yōu)選使用方式及其另外的目的和優(yōu)點,其中圖1示出了可以實現(xiàn)本發(fā)明優(yōu)選實施例的多層數(shù)據處理系統(tǒng)網絡的圖示;圖2是根據本發(fā)明優(yōu)選實施例的可以被實現(xiàn)為所示服務器的數(shù)據處理系統(tǒng)的方框圖;圖3是示出根據本發(fā)明優(yōu)選實施例的可以具有被優(yōu)先級區(qū)分的數(shù)據的客戶端數(shù)據處理系統(tǒng)的方框圖;圖4是根據本發(fā)明優(yōu)選實施例的用于在網絡級強制數(shù)據優(yōu)先級區(qū)分的服務器配置的示意圖;圖5是根據本發(fā)明優(yōu)選實施例的用于在多層網絡中的多處理器服務器上進行服務級別協(xié)定優(yōu)先級區(qū)分的數(shù)據隊列配置圖;圖6是根據本發(fā)明優(yōu)選實施例的在服務器上運行的數(shù)據排隊例程的流程圖;圖7A是根據本發(fā)明優(yōu)選實施例的實現(xiàn)了請求優(yōu)先級傳輸?shù)亩鄬泳W絡系統(tǒng)的示意圖;圖7B是根據本發(fā)明優(yōu)選實施例的被配置成幫助多層網絡中的數(shù)據處理優(yōu)先級區(qū)分傳輸?shù)膬?yōu)先級區(qū)分數(shù)據隊列的示意圖;圖7C是示出根據本發(fā)明優(yōu)選實施例的幫助跨越多層數(shù)據處理系統(tǒng)網絡中的多個節(jié)點傳輸請求優(yōu)先級類的優(yōu)先級過濾器的示意圖;圖8是根據本發(fā)明優(yōu)選實施例的由優(yōu)先級過濾器執(zhí)行以便跨越多層網絡中的多個節(jié)點傳輸請求優(yōu)先級的運行時處理的流程圖;圖9A是根據本發(fā)明優(yōu)選實施例的幫助在連接優(yōu)先級類之間動態(tài)再指派連接容量的優(yōu)先級過濾器的示意圖;圖9B是根據本發(fā)明優(yōu)選實施例的在連接優(yōu)先級類之間再指派連接容量之后圖9A所示的優(yōu)先級過濾器的示意圖;圖9C是根據本發(fā)明優(yōu)選實施例的萬維網服務器、萬維網應用服務器和后端數(shù)據庫服務器以及它們之間的連接的示意圖,其中可以在優(yōu)先級類之間再指派連接容量;圖9D是根據本發(fā)明優(yōu)選實施例的在執(zhí)行了優(yōu)先級類之間的連接容量再指派之后圖9C所示的萬維網服務器、萬維網應用服務器和后端數(shù)據庫服務器以及它們之間的連接的示意圖;圖10是根據本發(fā)明優(yōu)選實施例的用于在不同優(yōu)先級類之間再指派連接容量的連接優(yōu)先級再指派例程的流程圖;以及圖11是根據本發(fā)明優(yōu)選實施例的用于再分配先前被再指派到另一個連接優(yōu)先級類的連接容量的連接優(yōu)先級再分配例程的流程圖。
具體實施例方式
現(xiàn)在參照附圖,圖1示出了可以實現(xiàn)本發(fā)明的多層數(shù)據處理系統(tǒng)網絡的圖示。網絡數(shù)據處理系統(tǒng)100是可以實現(xiàn)本發(fā)明的計算機網絡。網絡數(shù)據處理系統(tǒng)100包含網絡102,其是用來在網絡數(shù)據處理系統(tǒng)100內連接在一起的各個設備和計算機之間提供通信鏈路的介質。網絡102可以包括諸如有線、無線通信鏈路或光纖纜線的連接。在所示例子中,萬維網服務器104隨同存儲單元107一起連接到網絡102。另外,客戶端108、110和112連接到網絡102。這些客戶端108、110和112可以例如是個人計算機或網絡計算機。在所示例子中,萬維網服務器104可以被實現(xiàn)為HTTP服務器,其響應于從例如在客戶端108-112上運行的瀏覽器接收到HTTP請求,向客戶端108-112發(fā)送網頁。另外,萬維網服務器104可以向客戶端108-112提供除了HTTP數(shù)據之外的其它數(shù)據,例如應用程序。客戶端108、110和112是萬維網服務器104的客戶端。萬維網服務器104與萬維網應用服務器105接口和通信。萬維網應用服務器105處理發(fā)出由客戶端108-112發(fā)出的請求的瀏覽器與由數(shù)據倉庫(data store)106維護的后端應用或數(shù)據庫之間的應用操作,其中數(shù)據倉庫106例如為后端數(shù)據庫系統(tǒng),其與萬維網應用服務器105接口。
網絡數(shù)據處理系統(tǒng)100可以包括另外的服務器、客戶端、以及未示出的其它設備。在所示例子中,網絡數(shù)據處理系統(tǒng)100是因特網,其中網絡102表示使用傳輸控制協(xié)議/網際協(xié)議(TCP/IP)協(xié)議集相互通信的網絡和網關的全球集合。因特網的心臟處是主節(jié)點或主機計算機之間的高速數(shù)據通信線的中樞,其由成千上萬的傳遞數(shù)據和消息的商業(yè)、政府、教育和其它計算機系統(tǒng)組成。當然,網絡數(shù)據處理系統(tǒng)100也可以被實現(xiàn)為多種不同類型的網絡,例如內聯(lián)網、局域網(LAN)或廣域網(WAN)。圖1旨在作為示例,而不作為對本發(fā)明的架構限制。
參照圖2,示出了根據本發(fā)明優(yōu)選實施例的可以被實現(xiàn)為服務器如圖1中的萬維網服務器104或萬維網應用服務器105的數(shù)據處理系統(tǒng)的方框圖。數(shù)據處理系統(tǒng)200可以是對稱多處理器(SMP)系統(tǒng),其包括連接到系統(tǒng)總線206的多個處理器202和204,不過,可以適宜地將其替換為其它多處理器配置。另外,連接到系統(tǒng)總線206的是存儲器控制器/高速緩存208,其向本地存儲器209提供接口。I/O總線橋210連接到系統(tǒng)總線206,并且向I/O總線212提供接口。存儲器控制器/高速緩存208和I/O總線橋210可以如圖所示集成在一起。
連接到I/O總線212的外圍組件互連(PCI)總線橋214向PCI本地總線216提供接口。多個調制解調器可以連接到PCI本地總線216。典型的PCI總線實現(xiàn)將支持四個PCI擴展槽或內插連接器。與圖1中的客戶端108-112的通信鏈路可以通過調制解調器218和網絡適配器220來提供,其中調制解調器218和網絡適配器220通過內插連接器連接到PCI本地總線216。
另外的PCI總線橋222和224為另外的PCI本地總線226和228提供接口,由此可以支持另外的調制解調器或網絡適配器。以這種方式,數(shù)據處理系統(tǒng)200允許連接到多個網絡計算機。存儲器映射圖形適配器230和硬盤232也可以如圖所示直接或間接地連接到I/O總線212。
本領域的普通技術人員應當理解,圖2所示的硬件可以變化。例如,作為對所示硬件的增添或替代,也可以使用其它外圍設備如光盤驅動器等。所示例子不旨在暗含對本發(fā)明的架構限制。
圖2所示的數(shù)據處理系統(tǒng)可以例如是運行高級交互執(zhí)行(AIX)操作系統(tǒng)或LINUX操作系統(tǒng)的IBM eServer pSeries系統(tǒng),其是位于紐約、阿芒克的國際商業(yè)機器公司的產品。
現(xiàn)在參照圖3,示出了可以實現(xiàn)本發(fā)明的數(shù)據處理系統(tǒng)的方框圖。數(shù)據處理系統(tǒng)300是客戶端計算機如圖1所示的客戶端108的例子。數(shù)據處理系統(tǒng)300采用外圍組件互連(PCI)本地總線架構。雖然所示例子采用PCI總線,但是也可以使用其它總線架構如加速圖形端口(AGP)和工業(yè)標準架構(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提供連接。小型計算機系統(tǒng)接口(SCSI)主機總線適配器312為硬盤驅動器326、磁帶驅動器328和CD-ROM驅動器330提供連接。典型的PCI本地總線實現(xiàn)將支持三個或四個PCI擴展槽或內插連接器。
操作系統(tǒng)運行在處理器302上,并且用來協(xié)調和提供對圖3的數(shù)據處理系統(tǒng)300內的各個組件的控制。操作系統(tǒng)可以是可購得的操作系統(tǒng),例如可從微軟公司獲得的Windows XP。面向對象的編程系統(tǒng)如Java可以結合操作系統(tǒng)運行,并且提供從在數(shù)據處理系統(tǒng)300上執(zhí)行的Java程序或應用程序到操作系統(tǒng)的調用?!癑ava”是太陽微系統(tǒng)公司的商標。操作系統(tǒng)、面向對象的編程系統(tǒng)以及應用程序或程序的指令位于存儲設備如硬盤驅動器326上,并且可以被裝載到主存儲器304中,以便由處理器302執(zhí)行。
本領域的普通技術人員應當理解,圖3中的硬件可以根據實現(xiàn)而變化。作為圖3所示的硬件的增添或替代,可以使用其它內部硬件或外圍設備如快閃只讀存儲器(ROM)、等效非易失性存儲器或光盤驅動器等。另外,本發(fā)明的處理可被應用于多處理器數(shù)據處理系統(tǒng)。
作為另一個例子,數(shù)據處理系統(tǒng)300可以是被配置成是可引導的而不依賴于某種網絡通信接口的獨立系統(tǒng)。作為另一個例子,數(shù)據處理系統(tǒng)300可以是個人數(shù)字助理(PDA)設備,其配置有ROM和/或快閃ROM,以便提供非易失性存儲器來存儲操作系統(tǒng)文件和/或用戶生成的數(shù)據。
圖3所示的例子和上述例子不旨在暗含架構限制。例如,除了采取PDA的形式之外,數(shù)據處理系統(tǒng)300也可以是筆記本計算機或手持計算機。數(shù)據處理系統(tǒng)300也可以是信息站(kiosk)或萬維網設備(webappliance)。
客戶端如客戶端108發(fā)起與萬維網服務器104的通信連接。在這里提供的說明性例子中,客戶端和服務器之間的通信連接是參考TCP/IP協(xié)議集來描述的,但是也可以適宜地將其替換為其它通信協(xié)議。本發(fā)明的實現(xiàn)不局限于任何特定協(xié)議,并且提供所述協(xié)議僅僅是為了幫助理解本發(fā)明。
圖4是根據本發(fā)明優(yōu)選實施例的用于在網絡級強制數(shù)據優(yōu)先級區(qū)分的服務器配置的示意圖。服務器400是數(shù)據處理系統(tǒng)如圖2所示的數(shù)據處理系統(tǒng)200的例子,其提供與具有不同優(yōu)先級類的客戶端的連接性,并且被實現(xiàn)為多處理器數(shù)據處理系統(tǒng)??蛻舳巳缈蛻舳?08將通過首先參加與服務器400的握手來發(fā)起與服務器400的通信連接。為了建立連接,客戶端將幀402定址到服務器400,并且將幀402施加到網絡介質410例如10baseT、100baseT或者其它適合的網絡介質。幀402包括各種封裝的首標。在本例中,客戶端和服務器在因特網上連接,因此幀402包括鏈路首標402a例如以太網首標、網絡層首標402b例如IP首標、以及傳輸層首標402c例如TCP首標。例如,幀402可以封裝同步(SYN)段,其包括具有用于發(fā)起與服務器400的握手的聲稱同步標志的傳輸層首標402c。服務器400通過網絡接口卡420例如以太網卡接收幀402,其中網絡接口卡420將幀傳達到網絡棧430的鏈路層431例如以太網驅動程序。鏈路層431從該幀中解封裝或解復用IP數(shù)據報,并且將IP數(shù)據報傳給網絡棧430的網絡層432。網絡層432從IP數(shù)據報中解復用TCP段,并且將TCP段傳給網絡棧430的傳輸層433。
根據本發(fā)明的優(yōu)選實施例,過濾器440另外接收經過解復用的IP數(shù)據報,以便對即將發(fā)生的連接進行優(yōu)先級過濾。過濾器440優(yōu)選地包括用于確定發(fā)起了數(shù)據的客戶端的優(yōu)先級級別的邏輯裝置。例如,過濾器440可以基于從幀402中的網絡層首標402b讀取的源地址例如IP源地址和端口號而確定客戶端的優(yōu)先級級別。通過比較來自幀402的一個或多個數(shù)據值與在過濾器440中編碼或者由其訪問的預設標準來進行優(yōu)先級級別的確定。在說明性例子中,過濾器440包括(或者與其接口)表441,其例如根據客戶端所訂購的服務級別協(xié)定(SLA),關聯(lián)或映射客戶端地址例如IP網絡地址和與客戶端相關聯(lián)的優(yōu)先級級別。表441僅僅是說明性的,并且可以適宜地將其替換為關聯(lián)客戶端標識符例如網絡地址和優(yōu)先級級別的各種其它數(shù)據結構。如圖1所示,客戶端108-112具有各自的IP地址IP-A、IP-B和IP-C,并且表441分別將低、低和高的優(yōu)先級級別與客戶端108-112相關聯(lián)。在識別了客戶端優(yōu)先級之后(或者與之同時),萬維網服務器和客戶端例如通過完成三向握手而完成連接。根據本發(fā)明的優(yōu)選實施例,根據在客戶端與服務器的連接時識別的客戶端優(yōu)先級,基于每個處理器而在網絡層對在與客戶端建立了連接之后由萬維網服務器接收的業(yè)務進行優(yōu)先級過濾。
圖5是根據本發(fā)明優(yōu)選實施例的用于在多層網絡中的多處理器服務器上進行服務級別協(xié)定優(yōu)先級區(qū)分的數(shù)據隊列配置圖。數(shù)據隊列配置510可以被實現(xiàn)為計算機可讀指令,其被存儲在存儲器如本地存儲器209中,并且由處理單元如圖2所示的處理器202或204從中取出。在說明性例子中,假定萬維網服務器104是包括n個中央處理單元(被指定為CPU0-CPUn)的對稱多處理器系統(tǒng)。在說明性例子中,每一個處理器CPU0-CPUn各自具有向其分配的用于雙級別優(yōu)先級區(qū)分的兩個隊列。具體地說,處理器CPU0具有兩個隊列500a和500b,其用于對由萬維網服務器104從具有向其分配的兩個優(yōu)先級級別之一的客戶端接收的數(shù)據進行雙級別優(yōu)先級區(qū)分排隊。在本例中,隊列500a被分配用于從具有第一(max)優(yōu)先級的客戶端接收的數(shù)據,而隊列500b被分配用于從具有低(max-1)優(yōu)先級的客戶端接收的幀。在說明性例子中,示出了每處理器兩優(yōu)先級隊列。然而,在本例中提供的雙級別優(yōu)先級區(qū)分僅是說明性的,并且選擇其是為了幫助理解本發(fā)明,并且可以將所示配置替換為任意數(shù)目的處理器隊列和對應的客戶端優(yōu)先級級別。
以類似的方式,萬維網服務器內的其它處理器具有類似配置的隊列。在說明性例子中,處理器CPU1具有隊列501a和隊列501b,其中隊列501a被分配用于從高優(yōu)先級客戶端接收的數(shù)據,而隊列501b被分配用于從低優(yōu)先級客戶端接收的數(shù)據。同樣地,處理器CPUn具有被分配用于從高和低優(yōu)先級客戶端接收的各自數(shù)據的隊列502a-502b。
圖6是根據本發(fā)明優(yōu)選實施例的在服務器如圖4所示的服務器400上運行、向客戶端提供經過優(yōu)先級區(qū)分的服務的數(shù)據排隊例程的流程圖。圖6所示的優(yōu)先級排隊例程在例如圖4所示的網絡棧430內的網絡層執(zhí)行。該例程開始并且等待數(shù)據的接收。當接收到數(shù)據(步驟602)時,例如通過評測網絡層首標402b中的目的地址,進行評測以確定數(shù)據的目標是該接收系統(tǒng)(步驟604)。在數(shù)據不發(fā)向該接收系統(tǒng)的情況下,將數(shù)據丟到位桶(bit bucket)中,或者丟棄它(步驟606),并且數(shù)據排隊例程循環(huán)結束(步驟626)。
再次回到步驟604,在數(shù)據發(fā)向該接收系統(tǒng)的情況下,則進行評測,以確定數(shù)據是否包括現(xiàn)有連接的業(yè)務(步驟607)。例如,可以讀取數(shù)據的源地址和端口號,并且與現(xiàn)有連接套接字進行比較。如果數(shù)據不是現(xiàn)有連接的一部分,則識別發(fā)起了數(shù)據的客戶端的優(yōu)先級級別,并且建立與客戶端的連接(步驟609)。然后,數(shù)據排隊例程循環(huán)根據步驟626結束。
再次回到步驟607,如果數(shù)據是現(xiàn)有連接的業(yè)務,則進行評測,以確定數(shù)據是否與系統(tǒng)CPU中的任一個具有姻親關系(affinity)(步驟608)。如這里所提到的那樣,當處理器或者與處理器相關聯(lián)的資源如高速緩存系統(tǒng)等保存了處理數(shù)據所需的數(shù)據如上下文數(shù)據時,則認為該數(shù)據與該處理器具有姻親關系。如果數(shù)據被識別為與系統(tǒng)處理器中的任一個具有姻親關系,則識別數(shù)據的優(yōu)先級(步驟610)。例如,可以讀取網絡層首標402b的源地址,并且將其與由圖4所示的過濾器440定義或訪問的預定義標準進行比較,其中該標準關聯(lián)源地址和優(yōu)先級級別。然后,進行優(yōu)先級的評測(步驟612)。在步驟612數(shù)據優(yōu)先級被評測為低的情況下,將數(shù)據放置在該幀被識別為與其具有姻親關系的處理器的低優(yōu)先級隊列中(步驟614),然后優(yōu)先級區(qū)分例程循環(huán)根據步驟626結束??蛇x地,如果在步驟612數(shù)據被評測為高優(yōu)先級數(shù)據,則將數(shù)據放置在該數(shù)據被識別為與其具有姻親關系的處理器的低優(yōu)先級隊列中(步驟616)。然后,優(yōu)先級區(qū)分例程循環(huán)根據步驟626結束。
再次回到步驟608,如果數(shù)據不被識別為與任何系統(tǒng)處理器具有姻親關系,則檢查幀的優(yōu)先級級別(步驟618),然后,進行評測,以確定數(shù)據是否來源于具有低優(yōu)先級的客戶端(步驟620)。如果確定了數(shù)據來源于具有低優(yōu)先級的客戶端,則選擇一個CPU,并且將數(shù)據放置在所選CPU的低優(yōu)先級隊列中(步驟624)。例如,可以通過循環(huán)選擇例程進行CPU選擇以便對數(shù)據進行排隊??梢赃m宜地將其替換為其它調度機制。一旦將數(shù)據放置在CPU的低優(yōu)先級隊列中,則優(yōu)先級區(qū)分例程循環(huán)根據步驟626結束。
再次回到步驟620,在數(shù)據被識別為來源于高優(yōu)先級客戶端(也就是,在步驟620,客戶端優(yōu)先級未被識別為低優(yōu)先級)的情況下,例如通過選擇在其各自的高優(yōu)先級隊列中具有最低任務數(shù)的處理器,將數(shù)據放置在系統(tǒng)處理器之一的高優(yōu)先級隊列中(步驟622)。然后,優(yōu)先級區(qū)分例程循環(huán)根據步驟626結束。
然后,基于隊列優(yōu)先級從處理器隊列檢索數(shù)據,以便跨越網絡傳送數(shù)據。例如,根據數(shù)據優(yōu)先級區(qū)分,也就是,以相對于較低優(yōu)先級請求向較高優(yōu)先級請求提供處理優(yōu)先權的方式,將在圖1所示的萬維網服務器104處基于每個處理器而排隊的數(shù)據從萬維網服務器104傳送到萬維網應用服務器105,其中該數(shù)據包括要在數(shù)據倉庫106上執(zhí)行的數(shù)據庫事務。
這樣,根據客戶端優(yōu)先級類進行在多層網絡中部署的多處理器數(shù)據處理系統(tǒng)中處理事務的期間的數(shù)據傳送。通過在TCP/IP網絡棧中的數(shù)據隊列級允許多個排隊機制,并且關聯(lián)連接優(yōu)先級和數(shù)據優(yōu)先級,確保了較高優(yōu)先級客戶端的請求在較低優(yōu)先級客戶端之前被服務。
根據本發(fā)明的另一個實施例,提供了一種用于在多層網絡系統(tǒng)中的節(jié)點之間擴展或傳輸請求優(yōu)先級的機制。圖7A是根據本發(fā)明優(yōu)選實施例的實現(xiàn)了數(shù)據優(yōu)先級傳輸?shù)亩鄬泳W絡系統(tǒng)的示意圖。在說明性例子中,被實現(xiàn)為HTTP服務器的萬維網服務器704響應于從客戶端708和709接收到HTTP請求而通過各自的客戶端連接710和711向客戶端708和709發(fā)送網頁或其它數(shù)據。另外,萬維網服務器704可以向客戶端708和709提供除了HTTP數(shù)據之外的其它數(shù)據,例如應用程序。萬維網服務器704與萬維網應用服務器705接口和通信。萬維網應用服務器705處理發(fā)出由客戶端708和709發(fā)出的請求的瀏覽器與后端應用或數(shù)據庫如后端數(shù)據庫服務器706之間的應用操作,其中后端數(shù)據庫服務器706與萬維網應用服務器705接口,并且執(zhí)行數(shù)據庫702上的數(shù)據庫事務。
一般而言,將客戶端708和709與萬維網服務器704之間的各自連接710和711建立為動態(tài)或短期連接。分別互連萬維網服務器704與萬維網應用服務器705以及萬維網應用服務器705與后端數(shù)據庫服務器706的連接715a-715b和720a-720b是持久性連接。根據本發(fā)明的優(yōu)選實施例,如上所述由萬維網服務器704識別在萬維網服務器704處接收的由客戶端提交的事務請求的優(yōu)先級。然后,將該優(yōu)先級傳播到與后端數(shù)據庫服務器706的持久性連接。為此,在與萬維網應用服務器705建立持久性連接715a-715b的期間,萬維網服務器704向連接715a-715b分配優(yōu)先級。同樣地,在與后端數(shù)據庫服務器706建立持久性連接720a和720b的期間,萬維網應用服務器705向連接720a和720b分配優(yōu)先級。在說明性例子中,每個連接715a-715b和720a-720b代表一個或多個類似連接。例如,連接715a可以被實現(xiàn)為各自地被分配(或者共同地被分配)了共同優(yōu)先級的多個連接的池。在本例中,連接715a和720a分別代表一個或多個具有第一優(yōu)先級類即高(HI)的連接,而連接715b和720b分別代表一個或多個具有第二較低優(yōu)先級類即低(LO)的連接。
通過跨越處理客戶端請求所涉及的所有節(jié)點傳輸或擴展優(yōu)先級處理來提供經過優(yōu)先級區(qū)分的客戶端請求處理。處理事務所涉及的每個節(jié)點例如萬維網服務器704、萬維網應用服務器705和后端數(shù)據庫服務器706在處理數(shù)據時提供優(yōu)先權。例如,當從客戶端接收到數(shù)據時,萬維網服務器704例如通過上面關于圖4所述的機制而識別客戶端數(shù)據的優(yōu)先級。然后,根據與由萬維網服務器704識別的客戶端優(yōu)先級級別相對應的數(shù)據優(yōu)先級,在萬維網服務器704處對數(shù)據進行排隊和處理。例如,假定萬維網服務器704接收到要由后端數(shù)據庫服務器706處理的、來自高優(yōu)先級客戶端的事務請求的高優(yōu)先級數(shù)據,以及要由后端數(shù)據庫服務器706處理的、來自低優(yōu)先級客戶端的事務請求的低優(yōu)先級數(shù)據,并且對其進行了排隊。由于提供給高優(yōu)先級客戶端的處理優(yōu)先權,因此在傳送低優(yōu)先級數(shù)據之前將高優(yōu)先級數(shù)據傳送到萬維網應用服務器705。接下來,萬維網應用服務器705根據客戶端數(shù)據優(yōu)先級處理從萬維網服務器704接收的數(shù)據。根據本發(fā)明的一個實施例,萬維網應用服務器705根據在萬維網應用服務器705處接收數(shù)據的連接對數(shù)據進行優(yōu)先級處理。在說明性例子中,通過高優(yōu)先級連接715a由萬維網應用服務器705接收的數(shù)據被放置在優(yōu)先級過濾器731(或者與其接口)的高優(yōu)先級隊列731a中,而通過低優(yōu)先級連接715b由萬維網應用服務器接收的數(shù)據被放置在優(yōu)先級過濾器731(或者與其接口)的低優(yōu)先級隊列731b中。從而,由萬維網服務器704以高于低優(yōu)先級數(shù)據的優(yōu)先權處理和傳送的高優(yōu)先級數(shù)據同樣地被萬維網應用服務器705提供了處理優(yōu)先權。接下來,萬維網應用服務器705以高于低優(yōu)先級數(shù)據的優(yōu)先權將高優(yōu)先級數(shù)據傳送到后端數(shù)據庫服務器706。這樣,后端系統(tǒng)(本例中的后端數(shù)據庫服務器706)可以以高于較低優(yōu)先級數(shù)據的優(yōu)先權對高優(yōu)先級數(shù)據進行排隊和處理。在說明性例子中,后端數(shù)據庫服務器706將高優(yōu)先級數(shù)據放置在過濾器707(或者與其接口)的高優(yōu)先級隊列707a中,而將低優(yōu)先級數(shù)據放置在優(yōu)先級過濾器707(或者與其接口)的低優(yōu)先級隊列707b中。這樣,通過配置每個節(jié)點以便基于接收數(shù)據的連接而識別數(shù)據優(yōu)先級,跨越多層數(shù)據處理系統(tǒng)網絡中的事務處理所涉及的每層提供經過優(yōu)先級區(qū)分的處理。
在多層網絡700中反向地提供處理數(shù)據的優(yōu)先級。也就是,由萬維網應用服務器705通過高優(yōu)先級類連接720a從后端數(shù)據庫服務器706接收的數(shù)據(例如,通過后端數(shù)據庫服務器706執(zhí)行數(shù)據庫事務而得到的返回數(shù)據)被萬維網應用服務器705提供了高于通過低優(yōu)先級類連接720b接收的事務的處理優(yōu)先權。同樣地,由萬維網服務器704通過高優(yōu)先級連接715a從萬維網應用服務器705接收的數(shù)據被提供了高于由萬維網服務器704通過低優(yōu)先級連接715b從萬維網應用服務器705接收的數(shù)據的處理優(yōu)先權。這樣,在事務請求和事務返回消息傳遞期間,在多層網絡700中提供了事務處理的優(yōu)先級區(qū)分。
現(xiàn)在參照圖7B,示出了根據本發(fā)明的優(yōu)選實施例的被配置成幫助多層網絡中的數(shù)據處理優(yōu)先級區(qū)分傳輸?shù)膬?yōu)先級區(qū)分數(shù)據隊列的示意圖。數(shù)據隊列760a-760b可被實現(xiàn)為計算機可讀指令,其被存儲在存儲器如本地存儲器中、并且由被部署為多層網絡700中的前端節(jié)點的服務器系統(tǒng)的處理單元從中取出。數(shù)據隊列760a-762b優(yōu)選地在優(yōu)先級過濾器如由萬維網服務器704運行的優(yōu)先級過濾器730內實現(xiàn),或者與其接口。數(shù)據隊列760a-762b是針對每個處理器的數(shù)據隊列的例子,如圖5所示的隊列500a-500b,其用于如上所述的幀級數(shù)據排隊。
在本例中,高優(yōu)先級隊列760a、761a和762a被邏輯映射到高優(yōu)先級連接715a,而低優(yōu)先級隊列760b、761b和762b被邏輯映射到低優(yōu)先級連接715b。用于關聯(lián)各個隊列760a-762b與具有特定優(yōu)先級的連接的邏輯映射770a-772b可以例如通過鏈接表、關系數(shù)據庫或者任何其它適合的數(shù)據結構實現(xiàn)。這樣,要被傳送到萬維網應用服務器705的在高優(yōu)先級隊列760a-762a中排隊以便通過高優(yōu)先級連接715a傳送的數(shù)據被提供了高于在低優(yōu)先級隊列760b-762b中排隊以便通過低優(yōu)先級連接715b傳送的數(shù)據的優(yōu)先權。在說明性例子中,示出了兩個優(yōu)先級類的隊列和連接。然而,在本例中提供的雙級別優(yōu)先級區(qū)分僅僅是說明性的,并且選擇其是為了幫助理解本發(fā)明,并且可以將所示配置替換為任意數(shù)目的隊列和連接優(yōu)先級級別。
為了幫助跨越多層網絡700的多個節(jié)點傳輸處理優(yōu)先級,在處理事務所涉及的每個節(jié)點中實現(xiàn)優(yōu)先級過濾器?,F(xiàn)在參照圖7C,示出了根據本發(fā)明的優(yōu)選實施例的將客戶端連接映射到后端連接以便跨越多層數(shù)據處理系統(tǒng)網絡中的多個節(jié)點傳輸優(yōu)先級類的優(yōu)先級過濾器的示意圖。優(yōu)先級過濾器731優(yōu)選地被實現(xiàn)為一組計算機可讀指令,并且可以在運行優(yōu)先級過濾器731的主機服務器例如萬維網應用服務器705的網絡棧中實現(xiàn),或者與其接口。
在中間節(jié)點即接收要被處理的數(shù)據并且必須將數(shù)據轉發(fā)到多層網絡700中的另一個節(jié)點的節(jié)點中,通過前端和后端服務器地址之間的邏輯映射來幫助優(yōu)先級類的傳輸。在說明性例子中,萬維網應用服務器705具有通過其可以與萬維網服務器704進行前端連接的兩個網絡地址,即IP地址9.3.192.7和9.3.192.9,并且萬維網應用服務器705具有通過其可以與后端數(shù)據庫服務器706進行后端連接的兩個網絡地址,即IP地址9.3.190.7和9.3.190.9。根據本發(fā)明的實施例,通過經過優(yōu)先級區(qū)分的連接之間的映射,經由多層網絡700的中間服務器,將優(yōu)先級類從請求實體傳輸?shù)侥繕藢嶓w。為此,萬維網應用服務器前端地址和后端地址之間的關聯(lián)由過濾器731定義。在說明性例子中,表740定義了由萬維網應用服務器705例如從代表客戶端708和709的萬維網服務器704接收數(shù)據的前端(目的)地址、以及這些前端地址的對應優(yōu)先級。具體地說,表740的記錄741為由萬維網應用服務器705接收的、具有目的地址9.3.192.7的請求定義高優(yōu)先級類,并且表740的記錄742為由萬維網應用服務器705接收的、具有目的地址9.3.192.9的請求定義低優(yōu)先級類。另一個表750定義萬維網應用服務器705與后端數(shù)據庫服務器706連接的源(后端)地址、以及這些后端地址的對應優(yōu)先級。具體地說,表750的記錄751為通過萬維網應用服務器源地址9.3.190.7與后端數(shù)據庫服務器706建立的連接定義高優(yōu)先級類,并且表750的記錄752為通過萬維網應用服務器源地址9.3.190.9與后端數(shù)據庫服務器706建立的連接定義低優(yōu)先級類。這樣,當識別出由萬維網應用服務器705接收的數(shù)據的優(yōu)先級時,可以通過在具有對應優(yōu)先級的連接上發(fā)送該請求而將請求優(yōu)先級傳輸?shù)胶蠖藬?shù)據庫。例如,假定數(shù)據庫查詢請求由客戶端708發(fā)出,并且由萬維網應用服務器705從萬維網服務器704接收。分析該請求,以確定該請求被定向的目的地址。當識別出該請求的目的地址時,基于目的地址與優(yōu)先級類的關聯(lián)而確定該請求的優(yōu)先級??蛇x地,可以通過由萬維網應用服務器705接收數(shù)據的連接來識別請求優(yōu)先級。例如,萬維網應用服務器705可以簡單地將在連接715a上接收的任何數(shù)據識別為高優(yōu)先級數(shù)據,并且將在連接715b上接收的任何數(shù)據識別為低優(yōu)先級數(shù)據。
當識別出數(shù)據優(yōu)先級時,則識別與所確定的優(yōu)先級類相對應的源地址,并且通過具有對應優(yōu)先級的源地址將該請求傳達到后端服務。
作為例子,假定通過萬維網服務器704將來自客戶端708的請求發(fā)送到萬維網應用服務器705,以及萬維網服務器704通過將請求定址到萬維網應用服務器705的低優(yōu)先級前端地址(9.3.192.9)而與萬維網應用服務器705連接。例如,在將客戶端708識別為具有低優(yōu)先級SLA之后,萬維網服務器704可以在端接于萬維網應用服務器705的低優(yōu)先級前端地址的低優(yōu)先級連接715b上與萬維網應用服務器705連接。這樣的對客戶端708的識別可以由識別客戶端優(yōu)先級SLA的過濾器機制例如在圖4中示出和描述的過濾器441進行。當萬維網應用服務器接收到請求數(shù)據時,將該請求提供給優(yōu)先級過濾器731,并且讀取由萬維網應用服務器705接收數(shù)據的前端地址。在本例中,優(yōu)先級過濾器731讀取該請求被定址的萬維網應用服務器705的前端地址,并且通過在記錄742中定義的前端目的地址與優(yōu)先級關聯(lián)將該請求識別為低優(yōu)先級地址。
當將該請求識別為低優(yōu)先級請求時,萬維網應用服務器705則將該請求傳達到后端數(shù)據庫服務器706。具體地說,萬維網應用服務器705在該請求中包括低優(yōu)先級源地址(9.3.190.9),并且將該請求提供給低優(yōu)先級連接720b,以便傳達到后端數(shù)據庫服務器706。
從而,通過在后端數(shù)據庫服務器706中實現(xiàn)根據請求優(yōu)先級對請求進行排隊的優(yōu)先級過濾器,后端數(shù)據庫服務器706可以根據預定義的優(yōu)先級類來處理請求,其中該優(yōu)先級類最初在多層網絡700的前端節(jié)點例如萬維網服務器704處識別出,并且通過將事務請求傳達到后端數(shù)據庫服務器706所涉及的每個節(jié)點傳播。在說明性例子中,后端數(shù)據庫服務器706包括優(yōu)先級過濾器707,其向在高優(yōu)先級連接720a上接收的請求提供高于在低優(yōu)先級連接720b上接收的請求的優(yōu)先權。具體地說,優(yōu)先級過濾器707包括高優(yōu)先級隊列707a和低優(yōu)先級隊列707b,或者與其接口,其中在相應的高優(yōu)先級連接720a和低優(yōu)先級連接720b上接收的請求被排入高優(yōu)先級隊列707a和低優(yōu)先級隊列707b。從而,可以根據在數(shù)據處理系統(tǒng)網絡中的多層之間傳輸?shù)膬?yōu)先級分類來執(zhí)行在后端數(shù)據庫服務器706處接收的請求的處理。
圖8是根據本發(fā)明優(yōu)選實施例的由優(yōu)先級過濾器執(zhí)行以便跨越數(shù)據處理系統(tǒng)網絡中的多個節(jié)點根據請求優(yōu)先級來傳輸請求的運行時處理的流程圖。在流程圖800中示出的運行時例程處理優(yōu)選地由被實現(xiàn)為過濾器如優(yōu)先級過濾器730的計算機可讀指令實現(xiàn),其中該過濾器由數(shù)據處理系統(tǒng)如萬維網應用服務器705處理,并且用來從優(yōu)先級區(qū)分隊列中調度排隊數(shù)據。
運行時優(yōu)先級過濾器例程例如在系統(tǒng)引導或者其它調用時開始,并且等待接收請求如數(shù)據庫事務請求或者其它后端服務事務。當接收到請求(步驟802)時,例如,當從隊列中調度時,由優(yōu)先級過濾器進行請求優(yōu)先級的評測(步驟804)。具體地說,對該請求進行評測,以確定該請求是否是低優(yōu)先級請求。在該請求被評測為低優(yōu)先級請求的情況下,運行時優(yōu)先級過濾器例程前進到評測是否存在用于低優(yōu)先級請求的連接(步驟806)。如果不存在低優(yōu)先級連接,則建立一個(步驟808),然后該例程繼續(xù)到在新建立的低優(yōu)先級連接上發(fā)送該請求(步驟810)。如果在步驟806,確定了已經存在低優(yōu)先級連接,例如圖7A中的低優(yōu)先級連接720b,則運行時優(yōu)先級過濾器例程繼續(xù)到根據步驟810在低優(yōu)先級連接上發(fā)送該請求。在通過低優(yōu)先級連接發(fā)送該請求之后,運行時優(yōu)先級過濾器循環(huán)則完成(步驟818)。
再次回到步驟804,如果該請求未被評測為低優(yōu)先級請求,則進行評測,以確定是否存在高優(yōu)先級連接(步驟812)。如果不存在高優(yōu)先級連接,則建立一個(步驟814),然后該例程繼續(xù)到在新建立的高優(yōu)先級連接上發(fā)送該請求(步驟816)。如果在步驟812,確定了已經存在高優(yōu)先級連接,例如高優(yōu)先級連接720a,則運行時優(yōu)先級過濾器例程繼續(xù)到根據步驟816在該高優(yōu)先級連接上發(fā)送該請求。在通過高優(yōu)先級連接發(fā)送該請求之后,運行時優(yōu)先級過濾器循環(huán)則根據步驟818完成。
這樣,通過在后端服務處例如在過濾器707中實現(xiàn)數(shù)據優(yōu)先級區(qū)分,可以在多層網絡中向具有不同優(yōu)先級的客戶端提供數(shù)據處理優(yōu)先級。例如,過濾器707可以包括高優(yōu)先級隊列707a和低優(yōu)先級隊列707b,以便向在高優(yōu)先級連接720a和低優(yōu)先級連接720b上接收的數(shù)據提供處理優(yōu)先權。
應當理解,雙優(yōu)先級請求過濾和優(yōu)先級傳輸?shù)睦觾H僅是說明性的,并且本發(fā)明的教導可以擴展到具有任意數(shù)目的請求優(yōu)先級類的系統(tǒng)。
正如所述,本發(fā)明的實施例提供了用于跨越數(shù)據處理系統(tǒng)網絡中的多個節(jié)點傳輸請求優(yōu)先級的機制。通過跨越數(shù)據處理系統(tǒng)網絡中的多個節(jié)點傳輸請求優(yōu)先級,在多層數(shù)據處理系統(tǒng)網絡中傳達或處理事務所涉及的任何節(jié)點中確保了請求處理的優(yōu)先權。
根據本發(fā)明的另一個實施例,兩個網絡節(jié)點之間的連接可以具有動態(tài)再指派的優(yōu)先級,以便幫助高效利用網絡傳送容量。再次參照圖7A和7B,高優(yōu)先級連接715a和720a優(yōu)選地包括多個各自的連接,其通信性地連接萬維網服務器704與萬維網應用服務器705以及萬維網應用服務器705與后端數(shù)據庫服務器706,用于在它們之間傳達被分類為高優(yōu)先級的數(shù)據。低優(yōu)先級連接715b和720b優(yōu)選地包括多個連接,其通信性地連接萬維網服務器704與萬維網應用服務器705以及萬維網應用服務器705與后端數(shù)據庫服務器706,用于在它們之間傳達被分類為低優(yōu)先級的數(shù)據。也就是,高優(yōu)先級連接720a和低優(yōu)先級連接720b中的每一個包括高和低優(yōu)先級的各自連接池。
高優(yōu)先級連接715a和720a以及低優(yōu)先級連接715b和720b的數(shù)目受限于網絡基礎結構容量,例如端接高優(yōu)先級連接715a和720a以及低優(yōu)先級連接715b和720b的特定網絡接口卡、萬維網應用服務器705和后端數(shù)據庫服務器706的各自處理容量等。這樣,分配給高優(yōu)先級連接715a和720a以及低優(yōu)先級連接715b和720b的有限連接數(shù)可以分別被定義為表示可以由此支持的最大同時連接數(shù)。
根據本發(fā)明的優(yōu)選實施例,可以在連接優(yōu)先級類之間動態(tài)地再指派連接,以便幫助優(yōu)化利用服務經過優(yōu)先級區(qū)分的數(shù)據傳輸?shù)亩鄬泳W絡中的網絡傳送容量。在優(yōu)選實施例中,優(yōu)先級過濾器可以基于優(yōu)先級而定義最大連接數(shù)。例如,在高優(yōu)先級連接715a上可同時維持的最大連接數(shù)以及在低優(yōu)先級連接715b上可同時維持的最大連接數(shù)可以在由萬維網服務器704運行的優(yōu)先級過濾器730中以及在由萬維網應用服務器705運行的優(yōu)先級過濾器731中定義。同樣地,在高優(yōu)先級連接720a上可同時維持的最大連接數(shù)以及在低優(yōu)先級連接720b上可同時維持的最大連接數(shù)可以在由萬維網應用服務器705運行的優(yōu)先級過濾器731中以及在后端數(shù)據庫服務器過濾器707中定義。
如這里所提及的那樣,可以在一組具有共同優(yōu)先級的連接上維持的最大連接數(shù)被稱作連接容量。根據本發(fā)明的優(yōu)選實施例,具有第一優(yōu)先級的連接的容量的一部分可以被再指派到具有另一個優(yōu)先級的連接的容量,以幫助優(yōu)化多層網絡系統(tǒng)中的網絡傳送容量。例如,如果正被用于事務傳送的高優(yōu)先級連接的數(shù)目超過飽和閾值,其中該飽和閾值是總可用高優(yōu)先級連接的預定義部分,則可以嘗試將低優(yōu)先級連接的子集再指派到高優(yōu)先級連接。將低優(yōu)先級連接的子集再指派到高優(yōu)先級連接優(yōu)選地視以下情況而定,即正被用于低優(yōu)先級數(shù)據傳送的低優(yōu)先級連接的數(shù)目低于空閑閾值,其中該空閑閾值是總可用低優(yōu)先級連接的預定義部分。也就是,如果足夠的低優(yōu)先級連接容量空閑或者未被使用,則可以進行對低優(yōu)先級連接容量的一部分的再指派。這樣,在高優(yōu)先級連接上正被傳輸?shù)母邇?yōu)先級數(shù)據量接近高優(yōu)先級連接的容量的情況下,可以通過將被指定為低優(yōu)先級的連接再指派到高優(yōu)先級連接池來增大高優(yōu)先級連接的容量。將低優(yōu)先級連接再指派到高優(yōu)先級連接例如可以通過將低優(yōu)先級連接的子集再指定為高優(yōu)先級連接來進行。
現(xiàn)在參照圖9A,示出了根據本發(fā)明優(yōu)選實施例的幫助在連接優(yōu)先級類之間動態(tài)再指派連接容量的優(yōu)先級過濾器或者其模塊的示意圖。優(yōu)先級過濾器950優(yōu)選地被實現(xiàn)為一組計算機可讀指令,并且可以在運行優(yōu)先級過濾器950的主機服務器的網絡棧中實現(xiàn),或者與其接口。優(yōu)先級過濾器950是由端接網絡連接的網絡節(jié)點運行的優(yōu)先級過濾器的例子,如圖7A和7B所示的優(yōu)先級過濾器730。
在本例中,優(yōu)先級過濾器950由具有兩個網絡地址的服務器運行,其中通過這兩個網絡地址可以與另一個網絡節(jié)點進行連接。具體地說,優(yōu)先級過濾器950表示由圖7所示的萬維網服務器704運行的優(yōu)先級過濾器,其中萬維網服務器704與萬維網應用服務器705建立連接。在說明性例子中,優(yōu)先級過濾器950被實現(xiàn)為具有記錄951和952的表,這兩個記錄分別定義了兩個IP地址9.3.194.7和9.3.194.9,運行優(yōu)先級過濾器950的網絡節(jié)點通過其與萬維網應用服務器705建立各自的高和低優(yōu)先級連接715a和715b。另外,在記錄951和952中定義了以各自的地址建立的連接的容量。在說明性例子中,過濾器950的記錄951為要在具有源地址9.3.194.7的連接上傳送的數(shù)據事務定義高優(yōu)先級類,并且過濾器950的記錄952為要在具有源地址9.3.194.9的連接上傳送的數(shù)據事務定義低優(yōu)先級類。在圖9A所示的過濾器配置中,高優(yōu)先級連接和低優(yōu)先級連接中的每一個分別被分配了100的連接容量。一般而言,分配給高優(yōu)先級連接和低優(yōu)先級連接的連接容量包括運行優(yōu)先級過濾器950的網絡節(jié)點的總體傳送容量的子集或部分。連接容量可以例如包括連接池中的連接數(shù)、連接介質上的邏輯信道數(shù)等。這樣,在所示配置中,高優(yōu)先級連接和低優(yōu)先級連接中的每一個具有相等的容量用于傳送高和低優(yōu)先級類的各自數(shù)據。
根據本發(fā)明的優(yōu)選實施例,可以將一個連接優(yōu)先級類的容量再指派到另一個連接優(yōu)先級類。例如,可以在識別預定義的網絡計量如在各個高和低優(yōu)先級連接上識別的業(yè)務負載時進行再指派。例如,假定相對于低優(yōu)先級客戶端的大量高優(yōu)先級客戶端正在與萬維網服務器704連接。這樣,端接于源地址9.3.194.7的高優(yōu)先級連接將經受較高負載,而端接于源地址9.3.194.9的低優(yōu)先級連接將經受較低負載。在這樣的情形下,將低優(yōu)先級連接的容量動態(tài)再指派到高優(yōu)先級連接。
圖9B是在將連接容量從低優(yōu)先級連接優(yōu)先級類再指派到高優(yōu)先級連接容量類之后圖9A所示的優(yōu)先級過濾器950的示意圖。在說明性例子中,原始連接容量(100)的一半(50)從低優(yōu)先級連接已被再指派到高優(yōu)先級連接,從而導致150的高優(yōu)先級連接容量和50的低優(yōu)先級連接容量。優(yōu)選地,優(yōu)先級過濾器包括監(jiān)測請求與萬維網服務器704連接的客戶端的連接優(yōu)先級的業(yè)務評測模塊,或者與其接口。例如,優(yōu)先級過濾器730可以包括用于累積(accumulate)表示高和低優(yōu)先級客戶端的相對負載的業(yè)務計量的模塊。
為了幫助連接容量再指派,將再指派傳播到多層網絡中的每個節(jié)點。例如,當檢測到導致萬維網服務器704將低優(yōu)先級連接容量再指派到高優(yōu)先級連接容量的業(yè)務狀態(tài)時,萬維網服務器704向萬維網應用服務器705發(fā)出再指派命令,從而引導萬維網應用服務器705根據容量再指派而配置高優(yōu)先級連接715a和低優(yōu)先級連接715b的端接。在上面參照圖9A和9B提供的例子中,萬維網服務器704將向萬維網應用服務器705發(fā)出再指派指示,其引導萬維網應用服務器705將端接于萬維網應用服務器高優(yōu)先級地址9.3.192.7的高優(yōu)先級連接的容量增大50個連接,并且將端接于萬維網應用服務器低優(yōu)先級地址9.3.192.9的低優(yōu)先級連接的容量減小50個連接。
以類似的方式,萬維網應用服務器705增大互連萬維網應用服務器705與后端數(shù)據庫服務器706的高優(yōu)先級連接720a的容量,并且減小互連萬維網應用服務器705與后端數(shù)據庫服務器706的低優(yōu)先級連接720b的容量。將低優(yōu)先級連接720b的容量再指派到高優(yōu)先級連接720a優(yōu)選地以與在萬維網服務器704和萬維網應用服務器705之間進行的再指派成對應比例的方式執(zhí)行。以同樣的方式,萬維網應用服務器705向后端數(shù)據庫服務器706發(fā)出指示,以便根據在萬維網應用服務器705進行的再指派來配置高優(yōu)先級連接720a和低優(yōu)先級連接720b的端接。這樣,響應于由此檢測的業(yè)務狀態(tài)而在萬維網服務器704處調用的連接容量再指派通過中間節(jié)點傳播到后端數(shù)據庫服務器706。
圖9C是在再指派連接容量之前的萬維網服務器704、萬維網應用服務器705和后端數(shù)據庫服務器706以及它們之間的連接的示意圖。在說明性例子中,連接715a-715b和720a-720b中的虛線各自代表50的連接容量。從而,高優(yōu)先級連接715a和720a中的每一個被配置了100的連接容量。如在圖9D中示意性地示出的那樣,在上述示例性再指派之后,50的連接容量從低優(yōu)先級連接715b已被再指派到高優(yōu)先級連接715a,并且從低優(yōu)先級連接720b已被再指派到高優(yōu)先級連接720a。
現(xiàn)在參照圖10,示出了根據本發(fā)明優(yōu)選實施例的用于在不同優(yōu)先級類之間再指派連接的連接優(yōu)先級再指派例程的流程圖。圖10所示的連接優(yōu)先級再指派例程優(yōu)選地被實現(xiàn)為計算機可讀指令,其被實現(xiàn)為由多層網絡系統(tǒng)中的數(shù)據處理系統(tǒng)如圖7所示的萬維網服務器704處理的優(yōu)先級過濾器,或者與其接口。
連接優(yōu)先級再指派例程例如在系統(tǒng)引導或者由用戶如系統(tǒng)管理員調用時開始,并且測量高優(yōu)先級連接負載(步驟1002)??梢宰鳛樵诟邇?yōu)先級連接如圖7所示的高優(yōu)先級連接715a上正被使用的當前連接數(shù)、在萬維網服務器704處對在預定義的間隔上接收的高優(yōu)先級客戶端請求的數(shù)目的測量,或者通過其它適合的用于識別經過優(yōu)先級區(qū)分的業(yè)務負載的機制來確定高優(yōu)先級連接負載。可選地,高優(yōu)先級連接負載可以是與萬維網服務器704的管理員簽定了SLA的高優(yōu)先級客戶端的計數(shù)。
然后,將高優(yōu)先級連接負載與飽和閾值進行比較(步驟1004)。飽和閾值是定義這樣的高優(yōu)先級連接負載級別的值,其中,在該級別,將嘗試從另一個連接優(yōu)先級級別增加另外的高優(yōu)先級連接容量。如果高優(yōu)先級連接負載不超過飽和閾值,則連接優(yōu)先級再指派例程結束(步驟1016)。然而,如果確定了高優(yōu)先級連接負載級別超過飽和閾值,則測量低優(yōu)先級連接負載(步驟1006)。例如,可以通過讀取低優(yōu)先級連接的當前負載、在預定義的間隔上測量低優(yōu)先級連接的平均負載、對具有由萬維網服務器704服務的低優(yōu)先級SLA的客戶端進行計數(shù),或者通過其它適合的機制來進行低優(yōu)先級連接負載的測量。
然后,將低優(yōu)先級連接負載與空閑閾值進行比較(步驟1008)??臻e閾值是定義這樣的低優(yōu)先級連接負載級別的值,其中,在該級別之下,可以將低優(yōu)先級連接的容量再指派到高優(yōu)先級連接,而不會過度地影響低優(yōu)先級連接的傳送性能。例如,空閑閾值可以被定義為總體低優(yōu)先級連接容量的百分之十五。這樣,如果低優(yōu)先級連接的當前負載級別小于低優(yōu)先級連接容量的百分之十五,則可以將低優(yōu)先級連接容量的一部分再指派到高優(yōu)先級連接。
如果在步驟1008確定了低優(yōu)先級連接負載不小于空閑閾值,則連接優(yōu)先級再指派例程評測是否達到了對高優(yōu)先級連接的資源限制(步驟1009)。如果達到了對高優(yōu)先級連接的資源限制,則連接優(yōu)先級再指派例程根據步驟1016結束。如果在步驟1009確定了未達到資源限制,則可以將未被指派到任何連接優(yōu)先級級別的附加容量增加到高優(yōu)先級連接(步驟1011)。然后,進行評測,以確定是否存在另外的下游節(jié)點(步驟1013)。如果不存在下游節(jié)點,則連接優(yōu)先級再指派例程循環(huán)根據步驟1016結束。如果存在下游節(jié)點,則向下游節(jié)點發(fā)出向高優(yōu)先級連接增加附加容量的指示(步驟1015),然后連接優(yōu)先級再指派例程循環(huán)根據步驟1016結束。
再次回到步驟1008,如果在步驟1008確定了低優(yōu)先級連接負載小于空閑閾值,則連接優(yōu)先級再指派例程循環(huán)將低優(yōu)先級連接容量的一部分再指派到高優(yōu)先級連接容量(步驟1010)。然后,進行評測,以確定是否存在另一個的下游節(jié)點要根據連接容量再指派而再配置(步驟1012)。如果不存在下游節(jié)點,則連接優(yōu)先級再指派例程循環(huán)根據步驟1016結束。如果在步驟1012確定了存在下游節(jié)點,則該節(jié)點向下游節(jié)點發(fā)出引導下游節(jié)點根據連接容量再指派而再配置連接的指示(步驟1014),然后,連接優(yōu)先級再指派例程循環(huán)根據步驟1016結束。
現(xiàn)在參照圖11,示出了根據本發(fā)明優(yōu)選實施例的用于再分配先前被再指派到另一個連接優(yōu)先級類的連接容量的連接優(yōu)先級再分配例程的流程圖。圖11所示的連接優(yōu)先級再分配例程優(yōu)選地被實現(xiàn)為計算機可讀指令,其被實現(xiàn)為由多層網絡系統(tǒng)中的數(shù)據處理系統(tǒng)如圖7所示的萬維網服務器704處理的優(yōu)先級過濾器,或者與其接口。
連接優(yōu)先級再分配例程例如在系統(tǒng)引導或者由用戶如系統(tǒng)管理員調用時開始,并且評測是否有任何低優(yōu)先級連接容量先前已被再指派到高優(yōu)先級連接容量(步驟1102)。如果沒有任何低優(yōu)先級連接容量先前已被再指派到高優(yōu)先級連接容量,則連接優(yōu)先級再分配例程循環(huán)結束(步驟1114)。如果確定了有任何低優(yōu)先級連接容量先前已被再指派到高優(yōu)先級連接容量,則進行低優(yōu)先級連接負載的測量(步驟1104)。
然后,進行評測,以確定低優(yōu)先級連接是否超過最小備用容量閾值(步驟1106)。如這里所提及的那樣,最小備用容量閾值定義要將先前被再指派的低優(yōu)先級連接容量(或者其一部分)再分配到低優(yōu)先級連接容量的低優(yōu)先級連接負載級別。如果低優(yōu)先級連接負載不超過最小備用容量閾值,則連接優(yōu)先級再分配例程循環(huán)根據步驟1114結束。如果在步驟1106確定了低優(yōu)先級連接負載超過最小備用容量閾值,則將先前被再指派到高優(yōu)先級連接容量的低優(yōu)先級連接容量(或者其一部分)再分配到低優(yōu)先級連接容量(步驟1108)。然后,進行評測,以確定是否存在另一個下游節(jié)點要根據連接容量再分配而再配置(步驟1110)。如果不存在下游節(jié)點,則連接優(yōu)先級再分配例程循環(huán)根據步驟1114結束。如果在步驟1110確定了存在下游節(jié)點,則該節(jié)點向下游節(jié)點發(fā)出引導下游節(jié)點根據連接容量再分配而再配置連接的指示(步驟1112),并且連接優(yōu)先級再分配例程循環(huán)根據步驟1114結束。
正如所述,本發(fā)明提供了一種用于將連接容量從一個優(yōu)先級類再指派到另一個優(yōu)先級類的機制,以便幫助優(yōu)化利用多層網絡中的傳送容量。當一個優(yōu)先級類的連接容量接近飽和時,可以將備用的容量從另一個類再指派到接近飽和的優(yōu)先級類,并且貫穿多層網絡傳播連接容量再指派。另外,提供了用于將先前被再指派的連接容量再分配到最初從其再指派該容量的優(yōu)先級類的連接的機制。
值得注意的是,雖然本發(fā)明是在全功能數(shù)據處理系統(tǒng)的上下文中描述的,但是本領域的普通技術人員應當理解本發(fā)明的處理能夠以包含指令的計算機可讀介質的形式和各種形式來分發(fā),并且本發(fā)明與實際上用來執(zhí)行分發(fā)的信號承載介質的具體類型無關地同等適用。計算機可讀介質的例子包括諸如軟盤、硬盤驅動器、RAM、CD-ROM、DVD-ROM的可記錄型介質和諸如數(shù)字和模擬通信鏈路、采用各種傳輸形式例如射頻和光波傳輸?shù)挠芯€或無線通信鏈路的傳輸型介質。計算機可讀介質可以采取為在特定數(shù)據處理系統(tǒng)中實際使用而譯碼的編碼格式的形式。
本發(fā)明的描述是為了示例說明和描述的目的而提供的,而不旨在是窮舉性的或者將本發(fā)明局限于所公開的形式。對于本領域的普通技術人員而言,很多修改和變動將是顯然的。選擇和描述實施例是為了最佳地說明本發(fā)明的原理、實際應用,并使得本領域的其他普通技術人員能夠理解本發(fā)明,從而考慮具有各種修改的各種實施例來適用于具體應用。
權利要求
1.一種在多層網絡系統(tǒng)中在經過優(yōu)先級區(qū)分的連接類之間再指派連接容量的方法,該方法包括以下計算機實現(xiàn)的步驟將第一傳送容量分配到由該網絡中的第一節(jié)點和第二節(jié)點端接的第一優(yōu)先級類的連接;將第二傳送容量分配到由第一節(jié)點和第二節(jié)點端接的第二優(yōu)先級類的連接;識別超過預定義閾值的第一優(yōu)先級類的第一業(yè)務負載;響應于識別第一業(yè)務負載,將第二傳送容量的一部分再指派到第一優(yōu)先級類;以及響應于再指派該部分,引導第三節(jié)點將由第三節(jié)點端接的第二優(yōu)先級類的連接的傳送容量的一部分再指派到由第三節(jié)點端接的第一優(yōu)先級類的連接。
2.如權利要求1所述的方法,其中識別第一業(yè)務負載包括測量由第一節(jié)點和第二節(jié)點端接的第一優(yōu)先級類的連接的業(yè)務負載。
3.如權利要求1所述的方法,還包括將第一業(yè)務負載與預定義閾值進行比較,其中預定義閾值指定可以將另一個優(yōu)先級類的容量再指派到第一優(yōu)先級類的第一業(yè)務負載的值。
4.如權利要求3所述的方法,其中響應于確定第一業(yè)務負載超過預定義閾值,執(zhí)行再指派該部分。
5.如權利要求1所述的方法,還包括識別由第一節(jié)點和第二節(jié)點端接的第二優(yōu)先級類的連接的業(yè)務負載;以及將由第一節(jié)點和第二節(jié)點端接的第二優(yōu)先級類的連接的業(yè)務負載與第二預定義閾值進行比較,其中第二預定義閾值指定可以將第二傳送容量的一部分再指派到另一個優(yōu)先級類的第二業(yè)務負載的值。
6.如權利要求5所述的方法,其中響應于確定由第一節(jié)點和第二節(jié)點端接的第二優(yōu)先級類的連接的業(yè)務負載小于第二預定義閾值,執(zhí)行再指派該部分。
7.如權利要求1所述的方法,還包括識別由第一節(jié)點和第二節(jié)點端接的第二優(yōu)先級類的連接的業(yè)務負載;以及將由第一節(jié)點和第二節(jié)點端接的第二優(yōu)先級類的連接的業(yè)務負載與第二預定義閾值進行比較,其中第二預定義閾值指定這樣的第二業(yè)務負載的值,在該值,要將該部分從由第一節(jié)點和第二節(jié)點端接的第一優(yōu)先級類的連接再分配到由第一節(jié)點和第二節(jié)點端接的第二優(yōu)先級類的連接。
8.一種用于在多層網絡系統(tǒng)中在經過優(yōu)先級區(qū)分的連接類之間再指派連接容量的計算機程序產品,該計算機程序產品包括第一指令,將第一傳送容量分配到由該網絡中的第一節(jié)點和第二節(jié)點端接的第一優(yōu)先級類的連接;第二指令,將第二傳送容量分配到由第一節(jié)點和第二節(jié)點端接的第二優(yōu)先級類的連接;第三指令,識別超過預定義閾值的第一優(yōu)先級類的第一業(yè)務負載;第四指令,響應于第三指令識別第一業(yè)務負載,將第二傳送容量的一部分再指派到第一優(yōu)先級類;以及響應于再指派該部分,引導第三節(jié)點將由第三節(jié)點端接的第二優(yōu)先級類的連接的傳送容量的一部分再指派到由第三節(jié)點端接的第一優(yōu)先級類的連接。
9.如權利要求8所述的計算機程序產品,其中第三指令測量由第一節(jié)點和第二節(jié)點端接的第一優(yōu)先級類的連接的業(yè)務負載。
10.如權利要求8所述的計算機程序產品,還包括第五指令,將第一業(yè)務負載與預定義閾值進行比較,其中預定義閾值指定可以將另一個優(yōu)先級類的容量再指派到第一優(yōu)先級類的第一業(yè)務負載的值。
11.如權利要求10所述的計算機程序產品,其中響應于第五指令確定第一業(yè)務負載超過預定義閾值,第四指令再指派該部分。
12.如權利要求8所述的計算機程序產品,還包括第五指令,識別由第一節(jié)點和第二節(jié)點端接的第二優(yōu)先級類的連接的業(yè)務負載;以及第六指令,將由第一節(jié)點和第二節(jié)點端接的第二優(yōu)先級類的連接的業(yè)務負載與第二預定義閾值進行比較,其中第二預定義閾值指定可以將第二傳送容量的一部分再指派到另一個優(yōu)先級類的第二業(yè)務負載的值。
13.如權利要求12所述的計算機程序產品,其中響應于第六指令確定由第一節(jié)點和第二節(jié)點端接的第二優(yōu)先級類的連接的業(yè)務負載小于第二預定義閾值,第四指令再指派該部分。
14.如權利要求8所述的計算機程序產品,還包括第五指令,識別由第一節(jié)點和第二節(jié)點端接的第二優(yōu)先級類的連接的業(yè)務負載;以及第六指令,將由第一節(jié)點和第二節(jié)點端接的第二優(yōu)先級類的連接的業(yè)務負載與第二預定義閾值進行比較,其中第二預定義閾值指定這樣的第二業(yè)務負載的值,在該值,要將該部分從由第一節(jié)點和第二節(jié)點端接的第一優(yōu)先級類的連接再分配到由第一節(jié)點和第二節(jié)點端接的第二優(yōu)先級類的連接。
15.一種用于在網絡系統(tǒng)中在經過優(yōu)先級區(qū)分的連接類之間再指派連接容量的數(shù)據處理系統(tǒng),包括通信接口,與通信介質連接,其中該通信接口具有被劃分成第一優(yōu)先級的第一傳送容量和第二優(yōu)先級的第二傳送容量的傳送容量;存儲器,包含用于在第一優(yōu)先級和第二優(yōu)先級之間再指派連接容量的一組指令;以及處理單元,響應于執(zhí)行這組指令,識別超過預定義閾值的第一傳送容量的業(yè)務負載,并且響應于識別該業(yè)務負載,將第一傳送容量的一部分再指派到第二傳送容量,其中該系統(tǒng)向與該通信介質相連的節(jié)點發(fā)出引導該節(jié)點再指派另一個通信介質的連接容量的指示。
16.如權利要求15所述的數(shù)據處理系統(tǒng),其中處理單元響應于確定該業(yè)務負載超過預定閾值而再指派該部分。
17.如權利要求15所述的數(shù)據處理系統(tǒng),其中響應于執(zhí)行這組指令,處理單元識別第二優(yōu)先級類的業(yè)務負載,并且將第二優(yōu)先級類的業(yè)務負載與第二預定義閾值進行比較,其中第二預定義閾值指定可以將第二傳送容量的一部分再指派到另一個優(yōu)先級類的第二優(yōu)先級類的業(yè)務負載值。
18.如權利要求17所述的數(shù)據處理系統(tǒng),其中處理單元響應于確定第二優(yōu)先級類的業(yè)務負載小于第二預定義閾值而再指派該部分。
19.如權利要求15所述的數(shù)據處理系統(tǒng),其中響應于執(zhí)行這組指令,處理單元識別第二優(yōu)先級類的業(yè)務負載,并且將第二優(yōu)先級類的業(yè)務負載與第二預定義閾值進行比較,其中第二預定義閾值指定要將該部分從第一優(yōu)先級類再分配到第二優(yōu)先級類的第二業(yè)務負載的值。
20.如權利要求15所述的數(shù)據處理系統(tǒng),其中第一傳送容量被分配到作為在通信介質上可用的連接的第一子集的連接池,并且第二傳送容量被分配到作為在通信介質上可用的連接的第二子集的連接池。
全文摘要
本發(fā)明公開一種用于在多層網絡系統(tǒng)中進行數(shù)據優(yōu)先級區(qū)分的方法、計算機程序產品和數(shù)據處理系統(tǒng)。具有多個處理器的服務器從客戶端接收數(shù)據。然后,識別客戶端的優(yōu)先級。響應于識別優(yōu)先級,將數(shù)據排入與該多個處理器的第一處理器相關聯(lián)的第一多個隊列中的一個隊列。該隊列是與第一處理器相關聯(lián)的多個隊列之一,并且與該優(yōu)先級相關聯(lián)。此外,本發(fā)明還提供了一種在多層網絡系統(tǒng)中的網絡層上將連接容量從一個優(yōu)先級類再指派到另一個優(yōu)先級類的機制。當一個優(yōu)先級類的連接容量接近飽和時,可以在第一層系統(tǒng)之間將備用的容量從另一個類再指派到接近飽和的優(yōu)先級類。另外,提供了復制或映射第二層系統(tǒng)之間的連接容量再指派的機制。
文檔編號H04L29/06GK1791092SQ20051012467
公開日2006年6月21日 申請日期2005年11月14日 優(yōu)先權日2004年12月16日
發(fā)明者瓦加彥迪馬拉·K·阿南德 申請人:國際商業(yè)機器公司