欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

路由數(shù)據(jù)的方法和裝置的制作方法

文檔序號(hào):7972644閱讀:314來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):路由數(shù)據(jù)的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般地涉及網(wǎng)絡(luò)、分布式應(yīng)用系統(tǒng)和面向應(yīng)用的連網(wǎng)。更具體地,本發(fā)明涉及用于通過(guò)網(wǎng)絡(luò)將請(qǐng)求路由到分布式應(yīng)用的方法和裝置。
背景技術(shù)
針對(duì)計(jì)算機(jī)通信的國(guó)際標(biāo)準(zhǔn)組織(ISO)開(kāi)放系統(tǒng)互連(OSI)模型包含七層(1)物理層、(2)數(shù)據(jù)鏈路層、(3)網(wǎng)絡(luò)層、(4)傳輸層、(5)會(huì)話層、(6)表示層和(7)應(yīng)用層。該模型的目的是提供計(jì)算機(jī)網(wǎng)絡(luò),借此可以連接終端系統(tǒng)(客戶機(jī)、主機(jī)、節(jié)點(diǎn)、服務(wù)器等)來(lái)交換信息。一般地對(duì)所有人可用的泛在網(wǎng)絡(luò)已經(jīng)被稱(chēng)為因特網(wǎng),而限制性更強(qiáng)的網(wǎng)絡(luò)被稱(chēng)為內(nèi)聯(lián)網(wǎng)。與已被典型地用于公共電話網(wǎng)中的電路交換技術(shù)相比,這些類(lèi)型的網(wǎng)絡(luò)典型地使用分組交換技術(shù)在端點(diǎn)之間傳輸信息。
作為在兩個(gè)通信點(diǎn)之間建立專(zhuān)用通信線路的替代,分組交換鼓勵(lì)共享通信鏈路。在分組交換中,待傳輸?shù)男畔⒈环殖善?,每一片通過(guò)通常由連接迷宮組成的網(wǎng)絡(luò)獨(dú)立傳輸。每一片被稱(chēng)為分組,它是可以通過(guò)網(wǎng)絡(luò)傳輸?shù)淖钚⌒畔卧?。所有傳輸一個(gè)統(tǒng)一信息實(shí)體所需的分組不必要必須采用從源到目的地的相同路徑,在電路交換網(wǎng)絡(luò)中就是這種情況。
因此,當(dāng)使用分組交換時(shí),在源端或其附近,信息被分解為數(shù)據(jù)分組;每一個(gè)數(shù)據(jù)分組通過(guò)網(wǎng)絡(luò)獨(dú)立地流動(dòng);并且在目的地或其附近,數(shù)據(jù)分組被重新組合,以產(chǎn)生在源端被分派的原始信息。
OSI網(wǎng)絡(luò)和傳輸層的常規(guī)實(shí)施分別是傳輸控制協(xié)議(TCP)和網(wǎng)際協(xié)議(IP),合稱(chēng)為T(mén)CP/IP。TCP在端到端的基礎(chǔ)上控制信息流,比如在兩個(gè)終端系統(tǒng)之間。IP在逐跳基礎(chǔ)上控制信息流,比如在當(dāng)分組從初始節(jié)點(diǎn)到最終目的地節(jié)點(diǎn)遍歷網(wǎng)絡(luò)時(shí)其訪問(wèn)的節(jié)點(diǎn)(或系統(tǒng))序列中的兩個(gè)中介之間。IP層提供無(wú)連接的、不可靠的分組傳遞。TCP層使用IP層來(lái)提供可靠、虛擬的電路。
在網(wǎng)絡(luò)層,經(jīng)常使用路由器來(lái)做出關(guān)于分組在網(wǎng)絡(luò)之間移動(dòng)所采用的路徑的決策。路由器根據(jù)四種基本算法類(lèi)型做出路由決策靜態(tài)路由;分離動(dòng)態(tài)路由;集中式動(dòng)態(tài)路由和分布式動(dòng)態(tài)路由。在所有情況下,所述算法追求優(yōu)化面向網(wǎng)絡(luò)的屬性,例如網(wǎng)絡(luò)性能、網(wǎng)絡(luò)吞吐量,網(wǎng)絡(luò)服務(wù)質(zhì)量等等。
在現(xiàn)有技術(shù)中相對(duì)較新,但仍然已知的是用于以感知內(nèi)容方式來(lái)路由請(qǐng)求的方法。這些技術(shù)不僅僅考慮網(wǎng)絡(luò)拓?fù)浜途W(wǎng)絡(luò)相關(guān)問(wèn)題(網(wǎng)絡(luò)性能、網(wǎng)絡(luò)可靠性等等),并且還考慮所傳送的凈荷-比如應(yīng)用層屬性。
軟件應(yīng)用(例如按需路由器(ODR))作為客戶機(jī)和服務(wù)器中間的中介,提供檢查各請(qǐng)求并且根據(jù)策略和按照度量來(lái)路由每個(gè)請(qǐng)求的能力。該軟件路由器為在合格的服務(wù)器池之間進(jìn)行所考慮的請(qǐng)求的分發(fā)提供基本值,以獲得想要的結(jié)果,比如改善的應(yīng)用層性能、滿足應(yīng)用層服務(wù)協(xié)議質(zhì)量、加強(qiáng)應(yīng)用層安全邊界等等。
按需路由器被認(rèn)為是一種代理,即一種特定類(lèi)型的應(yīng)用服務(wù)器,其把HTTP請(qǐng)求路由到接著執(zhí)行工作的應(yīng)用服務(wù)器。應(yīng)用服務(wù)器被包括在軟件中。參見(jiàn)http//publib.boulder.ibm.com/infocenter/wxddoc51/index.jsp?topic=/com.ibm.wasxd.doc.todoecnfgodr.html。
一不可編程的流量管理器(就像它的軟件對(duì)應(yīng)部分ODR)具有內(nèi)嵌的負(fù)載均衡算法,基于該算法可以做出路由決策,比如最快傳送用戶連接到響應(yīng)最快的可用服務(wù)器;輪詢按照預(yù)定的次序把流量發(fā)送到下一個(gè)可用的服務(wù)器;最少連接把用戶連接到具有最少數(shù)目的當(dāng)前連接的服務(wù)器;比率根據(jù)為各種因子(例如服務(wù)器容量)分配權(quán)重的系統(tǒng),對(duì)最適合請(qǐng)求的服務(wù)器來(lái)執(zhí)行“比率計(jì)算”。
參見(jiàn)http//www.f5.com/f5products/products/bigip/ltm/lb1.html。一可編程的流量管理器允許(例如)在用戶定義的算法基礎(chǔ)上做出決策。對(duì)路由器的編程被留下為用戶練習(xí)。
然而,雖然這些解決方案是有利的,但是它們可以被大幅度提高。軟件路由器獲取和維護(hù)成本昂貴,常常配置復(fù)雜,不是標(biāo)準(zhǔn)化的,與固件/硬件路由器相比一般來(lái)說(shuō)執(zhí)行起來(lái)很慢。此外,該專(zhuān)有軟件路由器使得實(shí)際上不可能同時(shí)使用多于一家廠商的服務(wù)器和路由器平臺(tái)。

發(fā)明內(nèi)容
一個(gè)突出的優(yōu)點(diǎn)是,本發(fā)明沒(méi)有上述的任何限制。本發(fā)明使得對(duì)可編程流量管理設(shè)備的使用更加便利,以便僅通過(guò)專(zhuān)用軟件解決方案(例如按需路由器)來(lái)產(chǎn)生之前可獲得的結(jié)果。通過(guò)這些操作,實(shí)現(xiàn)了現(xiàn)有技術(shù)的所有優(yōu)點(diǎn),此外還實(shí)現(xiàn)了新的且理想的特征,包括改善的性能;降低的成本;增強(qiáng)的靈活性和互換性;應(yīng)用層中間件所引導(dǎo)的路由;和用于路由可調(diào)節(jié)性的應(yīng)用層反饋。
本發(fā)明是對(duì)可編程路由器(以硬件或軟件實(shí)現(xiàn))進(jìn)行編程的一種方式,所以應(yīng)用自身(或某些代表或委托)通過(guò)面向應(yīng)用指令來(lái)控制路由。本發(fā)明是與使用軟件或硬件或固件或以上某種組合的實(shí)現(xiàn)都無(wú)差別的路由器。任意可編程路由器就已足夠。重要的是,路由器實(shí)現(xiàn)提供一個(gè)可編程接口,因此引入的請(qǐng)求根據(jù)用戶/應(yīng)用所提供的、考慮面向應(yīng)用指令的算法而被路由。
本發(fā)明的一個(gè)方面是提供考慮面向應(yīng)用指令的流量管理算法。根據(jù)本發(fā)明,后端群集把“可執(zhí)行代碼”饋送到路由器中,而不是饋送運(yùn)行時(shí)狀態(tài)信息到預(yù)定義的路由算法。本發(fā)明提供把算法本身插進(jìn)到路由器。通過(guò)使中間件/應(yīng)用如此插進(jìn)算法,路由器可以更容易地執(zhí)行面向應(yīng)用的路由任務(wù)。
根據(jù)下面對(duì)圖示實(shí)施例的詳細(xì)描述,并與附圖結(jié)合起來(lái)閱讀,本發(fā)明的教導(dǎo)將會(huì)變得清晰。


圖1是示出通過(guò)根據(jù)應(yīng)用期望進(jìn)行編程的流量管理器,把請(qǐng)求路由到分布式應(yīng)用的運(yùn)行時(shí)體系結(jié)構(gòu)的圖。
圖2是示出對(duì)流量管理器進(jìn)行編程的方法的圖。
圖3是示出根據(jù)外部應(yīng)用的配置標(biāo)準(zhǔn)進(jìn)行流量管理器請(qǐng)求路由的方法的圖。
具體實(shí)施例方式
下面將通過(guò)使用以基于因特網(wǎng)的客戶機(jī)-服務(wù)器模型為主題的圖示例子來(lái)描述本發(fā)明。然而,應(yīng)該理解的是,本發(fā)明不是僅限于此,對(duì)于任意基于請(qǐng)求的環(huán)境都是適用的,借此,面向應(yīng)用的路由能力是所希望的。
“面向應(yīng)用的或應(yīng)用層指令”可能是應(yīng)用響應(yīng)于某種刺激而產(chǎn)生的自主反射。例如,如果應(yīng)用確定其服務(wù)質(zhì)量標(biāo)準(zhǔn)在節(jié)點(diǎn)A上無(wú)法滿足,但在節(jié)點(diǎn)B上遠(yuǎn)超過(guò)要求,則它可產(chǎn)生“面向應(yīng)用的指令”把所選應(yīng)用預(yù)定的流量從節(jié)點(diǎn)A路由到節(jié)點(diǎn)B。
首先參考圖1,根據(jù)本發(fā)明的實(shí)施例示出了一種體系結(jié)構(gòu)??蛻魴C(jī)提交用于處理的多個(gè)請(qǐng)求110。所述請(qǐng)求可來(lái)源于不同的客戶機(jī)集合(個(gè)人計(jì)算機(jī)、個(gè)人數(shù)字助理、蜂窩電話等等),并且可通過(guò)多種路徑(無(wú)線和/或有線通信、內(nèi)聯(lián)網(wǎng)、因特網(wǎng)、廣域網(wǎng)、局域網(wǎng)等等)發(fā)現(xiàn)它們到數(shù)據(jù)中心的路徑以便進(jìn)行處理。本發(fā)明沒(méi)有被限制在任一特定通信網(wǎng)絡(luò)。
客戶機(jī)請(qǐng)求110也可來(lái)源于托管應(yīng)用服務(wù)器的節(jié)點(diǎn)。應(yīng)用服務(wù)器150-152可包括托管一個(gè)或多個(gè)應(yīng)用的通用服務(wù)器。節(jié)點(diǎn)140-142可托管一個(gè)或多個(gè)應(yīng)用服務(wù)器150-152。請(qǐng)求可以或可以不導(dǎo)致被返回請(qǐng)求者的信息。盡管為了清楚,下文的例子描述了一種可以應(yīng)用本發(fā)明來(lái)路由客戶機(jī)發(fā)起的HTTP請(qǐng)求到處理此類(lèi)請(qǐng)求的服務(wù)器上的應(yīng)用,但是本發(fā)明對(duì)請(qǐng)求類(lèi)型、節(jié)點(diǎn)140-142的類(lèi)型或者處理請(qǐng)求的應(yīng)用服務(wù)器150-152沒(méi)有要求。
在某些邊界條件下,繼任何外部路由之后,客戶請(qǐng)求110到達(dá)流量管理器120。流量管理器120負(fù)責(zé)路由每一個(gè)到達(dá)請(qǐng)求到在群集130中的對(duì)應(yīng)節(jié)點(diǎn)140-142上部署的多個(gè)應(yīng)用實(shí)例150-152。根據(jù)本發(fā)明的實(shí)施例,通過(guò)咨詢已編程規(guī)則,流量管理器120將每個(gè)客戶機(jī)請(qǐng)求110路由到所希望的應(yīng)用實(shí)例150-152。已編程規(guī)則是可被應(yīng)用本身和/或被其他合適的供應(yīng)者指定的可執(zhí)行策略(指令)。
應(yīng)該理解的是,本發(fā)明不會(huì)被限制在出于說(shuō)明目的而提供的任意特定的配置,比如圖1所圖示的那樣。例如,多個(gè)流量管理器120或多個(gè)群集130可能被利用。本領(lǐng)域技術(shù)人員可以容易地預(yù)期到這些和其他合適的配置。
可編程流量管理器120被賦予了多種能力。通過(guò)已公布的應(yīng)用程序接口(API),它能接收和存儲(chǔ)支配它應(yīng)該如何路由請(qǐng)求的規(guī)則。此外,在請(qǐng)求處理期間,流量管理器120能夠讀取、解釋和應(yīng)用這些規(guī)則,這些規(guī)則在到達(dá)請(qǐng)求的特定內(nèi)容方面,指導(dǎo)流量管理器120來(lái)進(jìn)行檢查,以便用來(lái)確定將每個(gè)請(qǐng)求路由到哪里。流量管理器120按照已編程規(guī)則和每個(gè)請(qǐng)求的內(nèi)容來(lái)相應(yīng)地路由每個(gè)請(qǐng)求。
在沒(méi)有已編程規(guī)則的情形中,流量管理器120不具備智能。也就是說(shuō),流量管理器120不知道如何檢查或路由請(qǐng)求,直到向它提供了指導(dǎo)它行為的一個(gè)或多個(gè)規(guī)則。與現(xiàn)有技術(shù)在TCP/IP網(wǎng)絡(luò)和傳輸層進(jìn)行路由無(wú)法考慮應(yīng)用層路由不同,本發(fā)明根據(jù)目標(biāo)應(yīng)用的需要和要求來(lái)使得用于引導(dǎo)網(wǎng)絡(luò)流量的已編程規(guī)則更便利。也就是說(shuō),本發(fā)明通過(guò)對(duì)流量管理器進(jìn)行基于規(guī)則的編程來(lái)提供應(yīng)用層(或面向應(yīng)用)的路由。
例如,最初應(yīng)用A可能希望對(duì)交易IBM股票的請(qǐng)求被引導(dǎo)至節(jié)點(diǎn)1上的應(yīng)用A實(shí)例。稍后應(yīng)用A可提供新的規(guī)則,因此新到達(dá)的對(duì)交易IBM股票的請(qǐng)求被引導(dǎo)至節(jié)點(diǎn)2上的應(yīng)用A實(shí)例?!澳繕?biāo)應(yīng)用程序的需要和要求”被包括在當(dāng)前有效的應(yīng)用所提供的算法(規(guī)則)集合中。應(yīng)用提供的算法可以和能夠通過(guò)其API接受它的可編程路由器一樣簡(jiǎn)單或復(fù)雜。應(yīng)用提供的算法可以在它允許的程度上檢查到達(dá)可編程路由器的請(qǐng)求的內(nèi)容(考慮到請(qǐng)求應(yīng)該被路由到的地方)。應(yīng)用本身不是必須直接提供該算法,而是代理或代表可以這樣做。
被編程到流量管理器120中的應(yīng)用層規(guī)則實(shí)際上可以是靜態(tài)的或動(dòng)態(tài)的。應(yīng)用層已編程規(guī)則一旦被設(shè)置后就會(huì)保持長(zhǎng)時(shí)期不變,或者它們可能頻繁變化。路由改變的控制可直接來(lái)自應(yīng)用,或來(lái)自應(yīng)用監(jiān)視器,或來(lái)自應(yīng)用分析器,或來(lái)自應(yīng)用代理和/或其他實(shí)體。應(yīng)該理解的是,本發(fā)明不被限制在任意特定的應(yīng)用層路由控制權(quán)限。
作為將被通篇使用的具體例子,假設(shè)目標(biāo)應(yīng)用程序是股票報(bào)價(jià)服務(wù)器,客戶機(jī)基于用戶輸入的訂單代號(hào)就能夠請(qǐng)求股票報(bào)價(jià)??蛻魴C(jī)可以發(fā)布HTTP請(qǐng)求110來(lái)獲得對(duì)于訂單代號(hào)IBM的股票報(bào)價(jià)。另外,假設(shè)任意應(yīng)用A實(shí)例150都可以滿足IBM股票報(bào)價(jià)請(qǐng)求。在某些情況下,下述情況是理想的,即在能夠?qū)?bào)價(jià)請(qǐng)求進(jìn)行服務(wù)的多個(gè)應(yīng)用A實(shí)例150中輪詢每一個(gè)客戶機(jī)發(fā)起的IBM股票報(bào)價(jià)請(qǐng)求110。但是在某些情況下,下述情況可以是理想的,即把所有這些請(qǐng)求110路由到恰好一個(gè)應(yīng)用A實(shí)例,即在節(jié)點(diǎn)1(140)上運(yùn)行的應(yīng)用A實(shí)例。
可編程流量管理器120能夠詢問(wèn)每一個(gè)請(qǐng)求來(lái)獲得一個(gè)或多個(gè)屬性,比如與請(qǐng)求相關(guān)聯(lián)的股票訂單代號(hào),以及相應(yīng)地應(yīng)用已編程規(guī)則以確定目的地節(jié)點(diǎn)。已編程規(guī)則可以動(dòng)態(tài)地變化,以影響修改過(guò)的路由決策,比如把原來(lái)指定為節(jié)點(diǎn)1(140)的請(qǐng)求重新路由到節(jié)點(diǎn)2(141)。
在用于在應(yīng)用實(shí)例150-152中劃分請(qǐng)求110的本發(fā)明的一實(shí)施例中,為應(yīng)用提供了用于通過(guò)一個(gè)或多個(gè)正則表達(dá)式(RE)來(lái)指示所希望的路由的功能,這在本領(lǐng)域內(nèi)是公知的。例如,應(yīng)用可指定RE,因而所有股票訂單代號(hào)為IBM的請(qǐng)求被路由到運(yùn)行在節(jié)點(diǎn)1(140)上的應(yīng)用實(shí)例A(150)。面向應(yīng)用的路由信息(無(wú)論是靜態(tài)或動(dòng)態(tài)的、一維還是多維的)都可以通過(guò)可擴(kuò)展標(biāo)記語(yǔ)言(XML)數(shù)據(jù)和/或API調(diào)用來(lái)指定。這些數(shù)據(jù)包括度量和策略160。
本發(fā)明對(duì)可以被考慮為度量和策略160的靜態(tài)和動(dòng)態(tài)的、面向應(yīng)用的數(shù)據(jù)類(lèi)型沒(méi)有限制。這些數(shù)據(jù)本身不必被限制于應(yīng)用。度量可包括可用的磁盤(pán)空間、CPU利用、存儲(chǔ)器利用、優(yōu)先級(jí)以及在應(yīng)用層、系統(tǒng)層或某些其他抽象層上的無(wú)數(shù)其他尺度。策略可指向一個(gè)或多個(gè)應(yīng)用。獨(dú)立的策略可適用于多個(gè)應(yīng)用。
本發(fā)明的一個(gè)重要方面是能夠?qū)⑦m當(dāng)形成的可執(zhí)行策略部署在路由器(流量管理器120)中。該新穎的方面極大地提高了技術(shù)狀態(tài),例如對(duì)于某公知的策略,框架可以簡(jiǎn)單地更新?tīng)顟B(tài)變量。由于所部署的人工算法實(shí)際上是可執(zhí)行的,所以本發(fā)明在做出運(yùn)行時(shí)路由決策時(shí)提供了非常高級(jí)的靈活性和表達(dá)。
在被規(guī)則管理器180轉(zhuǎn)換到合適的形式后,路由調(diào)度器170提供了用于被部署在一個(gè)或多個(gè)流量管理器120上的應(yīng)用策略和度量160的工具。
在影響路由期間,路由調(diào)度器170可接收面向應(yīng)用的反饋。繼續(xù)上述例子,假設(shè)初始股票訂單代號(hào)已被劃分,因而IBM股票報(bào)價(jià)請(qǐng)求110被一個(gè)或多個(gè)流量管理器120引導(dǎo)到節(jié)點(diǎn)1(140)上的應(yīng)用A 150來(lái)進(jìn)行服務(wù)。在某些情況下應(yīng)用決定把IBM分段轉(zhuǎn)移到節(jié)點(diǎn)2(141),可能是試圖獲得改善的響應(yīng)時(shí)間。該修改過(guò)的應(yīng)用度量和策略160信息被提供給路由調(diào)度器170,該路由調(diào)度器170接著使用規(guī)則管理器180把相應(yīng)進(jìn)行升級(jí)的規(guī)則轉(zhuǎn)換并部署到一個(gè)或多個(gè)流量管理器120。隨后,到達(dá)所述重新編程的流量管理器120的IBM股票報(bào)價(jià)請(qǐng)求110被引導(dǎo)到節(jié)點(diǎn)2(141)來(lái)服務(wù)。
在一特定的實(shí)施例中,F(xiàn)5 BIG-IP應(yīng)用管理流量設(shè)備被用作流量管理器120。包括指示分段名IBM的串的單一的度量160以及用來(lái)從每個(gè)請(qǐng)求110中提取股票訂單代號(hào)的單一的策略160被使用。路由調(diào)度器170使用規(guī)則管理器180來(lái)闡明被部署到流量管理器120的已編程規(guī)則,因而訂單代號(hào)為IBM的股票報(bào)價(jià)請(qǐng)求被路由到節(jié)點(diǎn)1(140)。
應(yīng)該理解的是,本發(fā)明不被限制在任意特定的流量管理器實(shí)現(xiàn)。應(yīng)該進(jìn)一步理解的是,本發(fā)明沒(méi)有受到用來(lái)控制流量管理器行為的已編程規(guī)則的使用的限制。本領(lǐng)域技術(shù)人員可以容易地使用其他合適的可變性機(jī)制,比如用來(lái)代替或補(bǔ)充已編程規(guī)則的數(shù)據(jù)庫(kù)或?qū)嵱梅诸?lèi)系統(tǒng)。
本發(fā)明通過(guò)其面向應(yīng)用的路由能力,使自己在服務(wù)質(zhì)量網(wǎng)絡(luò)路由和TCP/IP分布式應(yīng)用網(wǎng)絡(luò)路由兩個(gè)方面與眾不同。原有的這些技術(shù)都不提供準(zhǔn)確應(yīng)用所引導(dǎo)的路由所必要的控制類(lèi)型。
現(xiàn)在參考圖2,圖示了對(duì)流量管理器進(jìn)行編程的方法。一種或多種格式的來(lái)自一個(gè)或多個(gè)面向應(yīng)用的源的多種度量和策略210-250被遞交給路由調(diào)度器170。例如,這些源可包括被附加到規(guī)定應(yīng)用策略的應(yīng)用上的XML數(shù)據(jù)和被附加到描述系統(tǒng)屬性的系統(tǒng)上的XML數(shù)據(jù)。該面向應(yīng)用的信息可被路由調(diào)度器推送或拉動(dòng)。面向應(yīng)用的度量和策略信息可以在每次部署時(shí)匯編一次,或可以始終運(yùn)行。路由調(diào)度器編譯面向應(yīng)用的度量和策略,以到達(dá)已估計(jì)的、面向應(yīng)用的、所希望的路由。在正在運(yùn)行的、可動(dòng)態(tài)調(diào)整的路由的情況下,隨著更多信息的到達(dá),這些信息被編譯,以生成新的面向應(yīng)用的、所希望的路由估計(jì)。
面向應(yīng)用的度量和策略包括面向應(yīng)用的指令。這些指令可包括應(yīng)用層度量和策略,例如,對(duì)諸如“IBM”、“GE”、和“EBAY”這樣的股票訂單代號(hào)的定義,以及對(duì)應(yīng)的、所希望的交易響應(yīng)時(shí)間;系統(tǒng)層度量和策略,例如每個(gè)節(jié)點(diǎn)上的應(yīng)用CPU消耗限制;以及企業(yè)層度量和策略,例如在全企業(yè)中被分配給每個(gè)應(yīng)用的存儲(chǔ)器相對(duì)份額。
面向應(yīng)用的度量與應(yīng)用運(yùn)行所基于的系統(tǒng)相比,可以更加是應(yīng)用所關(guān)注或有用的度量。例如,股票訂單代號(hào)可以對(duì)一個(gè)應(yīng)用有用,但很可能對(duì)系統(tǒng)和其他應(yīng)用不是所關(guān)心的或有用的。非面向應(yīng)用的度量可以是系統(tǒng)度量,例如CPU占用率。
面向應(yīng)用的路由策略是受應(yīng)用影響或引導(dǎo)的路由策略,而不僅僅是受系統(tǒng)影響或引導(dǎo)的。例如,系統(tǒng)負(fù)載均衡策略可把每個(gè)新到達(dá)請(qǐng)求路由到CPU占用率最低的節(jié)點(diǎn),而不管正在那些節(jié)點(diǎn)上運(yùn)行的應(yīng)用的需要和要求。因此,面向應(yīng)用的路由策略可把IBM股票交易請(qǐng)求路由到節(jié)點(diǎn)1,把GE股票交易請(qǐng)求路由到節(jié)點(diǎn)2。
在前一種情況下,由于每個(gè)IBM股票交易請(qǐng)求可被發(fā)送至不同的節(jié)點(diǎn),則應(yīng)用可能不能使用主動(dòng)式高速緩存技術(shù)。在后一種情況下,由于知道所有IBM股票交易請(qǐng)求將會(huì)到達(dá)節(jié)點(diǎn)1,則應(yīng)用可使用主動(dòng)式高速緩存技術(shù)。
下面是路由用戶的股票交易請(qǐng)求的、面向應(yīng)用的策略的XML表示。IBM股票交易請(qǐng)求將會(huì)被路由到節(jié)點(diǎn)1,而GE股票交易的請(qǐng)求將會(huì)被路由到節(jié)點(diǎn)2,等等。
<策略StockTicker=IBM Node=1/>
<策略StockTicker=GE Node=2/>
<策略StockTicker=EBAYNode=3/>
<策略StockTicker=GOOGNode=4/>
下面示出了XML格式的用于路由用戶的IBM股票交易請(qǐng)求的策略的另一例子,在此情況下為動(dòng)態(tài)策略。在此情況下,路由器將嘗試只把請(qǐng)求路由到響應(yīng)時(shí)間小于0.5秒的節(jié)點(diǎn)。
<策略StockTicker=IBM ResponseTime<0.5sec/>
路由調(diào)度器170可作為Java程序來(lái)實(shí)現(xiàn),該Java程序?qū)?yīng)用提供的度量和策略進(jìn)行分析,以產(chǎn)生一個(gè)或多個(gè)路由請(qǐng)求方案。比如,分析器可確定大量的IBM和eBay股票交易請(qǐng)求正在到達(dá),而相對(duì)少量的GE和Google交易請(qǐng)求也在到達(dá)。另外,應(yīng)用可具有高優(yōu)先級(jí)的最小化隊(duì)列延遲的策略。分析器可確定最佳方案是把IBM和GE股票交易請(qǐng)求路由到節(jié)點(diǎn)1上的應(yīng)用A,并且把eBay和Google股票交易請(qǐng)求路由到節(jié)點(diǎn)2上的應(yīng)用A。
規(guī)則管理器180可作為Java程序來(lái)實(shí)現(xiàn),該Java程序依照其API,把路由調(diào)度器170產(chǎn)生的方案轉(zhuǎn)換成可編程路由器(即,流量管理器120)可執(zhí)行的形式。例如,在一實(shí)現(xiàn)中,路由調(diào)度器170產(chǎn)生一個(gè)或多個(gè)在本領(lǐng)域中公知的正則表達(dá)式(RE),作為將由路由器來(lái)執(zhí)行的、路由規(guī)則的表示。規(guī)則管理器180接受所述一個(gè)或多個(gè)RE并且把其轉(zhuǎn)換成(如果有必要的話)流量管理器120所識(shí)別的形式,然后調(diào)用相應(yīng)的流量管理器120API來(lái)添加和/或修改和/或移除它在運(yùn)行時(shí)所執(zhí)行的路由規(guī)則,以對(duì)到達(dá)的應(yīng)用服務(wù)請(qǐng)求進(jìn)行路由。
在一實(shí)施例中,路由調(diào)度器170是Java程序,該Java程序簡(jiǎn)單地接受XML格式的被指定為RE的應(yīng)用策略,并將其按原樣傳遞到規(guī)則管理器180。在另一實(shí)施例中,Java程序通過(guò)應(yīng)用指定的API檢索使用對(duì)應(yīng)用特定的格式指定的應(yīng)用策略,然后在所述應(yīng)用策略被傳送到規(guī)則管理器180之前使用一個(gè)或多個(gè)插入式組件把策略和度量的表示轉(zhuǎn)換成常用形式。
一旦已達(dá)到面向應(yīng)用的所希望的估計(jì),路由調(diào)度器170就使用轉(zhuǎn)換器180來(lái)產(chǎn)生可部署的規(guī)則。路由調(diào)度器也可以通過(guò)預(yù)訂或按需請(qǐng)求直接地或通過(guò)某種中介把面向應(yīng)用的、所希望的路由估計(jì)傳遞給其他感興趣方,例如應(yīng)用管理器265。一旦被轉(zhuǎn)換,所述規(guī)則就可以被部署,以便配置流量管理器120。
“面向應(yīng)用的、所希望的路由估計(jì)”是應(yīng)用所希望的路由,這可能在實(shí)際中是不可行的。例如,一個(gè)“估計(jì)”可以把IBM股票交易請(qǐng)求路由到節(jié)點(diǎn)1,并且把GE股票交易請(qǐng)求路由到節(jié)點(diǎn)2。然而,當(dāng)請(qǐng)求到達(dá)時(shí),節(jié)點(diǎn)1可能已經(jīng)停機(jī)。在這種情況下,請(qǐng)求可被路由到另一個(gè)用于服務(wù)的節(jié)點(diǎn),而不是應(yīng)用所希望的那一個(gè)。
流量管理器120期望特定的格式的路由規(guī)范,以便根據(jù)它的API進(jìn)行編程;并且應(yīng)用可指定和流量管理器所理解的格式不精確匹配的格式的策略;并因而規(guī)則管理器180在這些格式之間進(jìn)行轉(zhuǎn)換。然后流量管理器120接收并實(shí)現(xiàn)由規(guī)則管理器部署的、面向應(yīng)用的路由規(guī)范。
例如,應(yīng)用所指定的一種特定格式是XML的正則表達(dá)式,這些正則表達(dá)式被轉(zhuǎn)換成適合于F5的流量管理器使用的格式,并且這些正則表達(dá)式通過(guò)調(diào)用流量管理器的API來(lái)部署,以加載轉(zhuǎn)換后的RE。
現(xiàn)在參考圖3,圖示了根據(jù)外部應(yīng)用的配置標(biāo)準(zhǔn)進(jìn)行流量管理器請(qǐng)求路由的方法。流量管理器接收請(qǐng)求(310),并按照規(guī)則管理器180產(chǎn)生的所生成規(guī)則配置將其路由到合適的應(yīng)用實(shí)例(320)。
外部應(yīng)用的配置標(biāo)準(zhǔn)可包括控制對(duì)請(qǐng)求的路由如何發(fā)生的算法(或“規(guī)則”),所述配置標(biāo)準(zhǔn)在路由器之外被適當(dāng)?shù)貥?gòu)造,然后通過(guò)路由器的API被饋送到路由器中。
根據(jù)流量管理器120的API,規(guī)則管理器180的輸出被傳遞給流量管理器120。然后,對(duì)于此后所有適用的對(duì)請(qǐng)求的路由,流量管理器使用這樣所傳遞的添加/改變/刪除。
雖然以上所述的內(nèi)容涉及本發(fā)明的圖示實(shí)施例,但可以在不偏離本發(fā)明基本范圍的情況下設(shè)計(jì)出本發(fā)明的其他和進(jìn)一步的實(shí)施例。
權(quán)利要求
1.一種在具有多個(gè)節(jié)點(diǎn)的通信網(wǎng)絡(luò)中通過(guò)所述網(wǎng)絡(luò)路由數(shù)據(jù)的方法,所述方法包括使用至少一個(gè)應(yīng)用層指令對(duì)可編程流量管理器進(jìn)行編程;以及使用所述可編程流量管理器,通過(guò)所述網(wǎng)絡(luò)路由所述數(shù)據(jù),其中根據(jù)所述應(yīng)用層指令對(duì)所述數(shù)據(jù)進(jìn)行路由,并且其中所述可編程流量管理器使得所述數(shù)據(jù)被路由到所述節(jié)點(diǎn)中的一個(gè)。
2.根據(jù)權(quán)利要求1的方法,其中所述節(jié)點(diǎn)是托管應(yīng)用的服務(wù)器,并且所述數(shù)據(jù)是來(lái)自客戶機(jī)的請(qǐng)求。
3.根據(jù)權(quán)利要求1的方法,其中所述應(yīng)用對(duì)所述流量管理器進(jìn)行動(dòng)態(tài)地編程。
4.根據(jù)權(quán)利要求1的方法,其中下列中的至少一個(gè)建立所述應(yīng)用層指令應(yīng)用、應(yīng)用監(jiān)視器、應(yīng)用代理和應(yīng)用分析器。
5.根據(jù)權(quán)利要求1的方法,其中所述應(yīng)用層指令使用下列中的至少一個(gè)應(yīng)用層度量、系統(tǒng)層度量和企業(yè)層度量。
6.根據(jù)權(quán)利要求1的方法,其中所述應(yīng)用層指令包括下列中的至少一個(gè)應(yīng)用層策略、系統(tǒng)層策略和企業(yè)層策略。
7.根據(jù)權(quán)利要求1的方法,其中所述應(yīng)用層指令對(duì)所述數(shù)據(jù)進(jìn)行詢問(wèn),以獲得至少一種屬性,以確定所述數(shù)據(jù)將被路由到的一個(gè)所述節(jié)點(diǎn)。
8.根據(jù)權(quán)利要求1的方法,其中通過(guò)應(yīng)用程序接口對(duì)所述可編程流量管理器進(jìn)行動(dòng)態(tài)地再編程,用來(lái)對(duì)所述應(yīng)用層指令進(jìn)行動(dòng)態(tài)再配置。
9.根據(jù)權(quán)利要求8的方法,其中所述再編程導(dǎo)致路由目的地針對(duì)所述數(shù)據(jù)的改變。
10.根據(jù)權(quán)利要求1的方法,其中至少一個(gè)應(yīng)用層指令包括被指定為至少一個(gè)正則表達(dá)式的策略和度量。
11.一種用于使用可編程流量管理器將請(qǐng)求路由到多個(gè)服務(wù)器的、面向應(yīng)用的路由方法,所述方法包括以下步驟使用至少一個(gè)應(yīng)用層度量和至少一個(gè)面向應(yīng)用的策略來(lái)估計(jì)至少一個(gè)請(qǐng)求路由;把所述所估計(jì)的路由轉(zhuǎn)換成適合于所述可編程流量管理器的形式;把所述轉(zhuǎn)換后的所估計(jì)路由部署到所述可編程流量管理器上;以及根據(jù)所述已部署的估計(jì)路由,通過(guò)所述可編程流量管理器路由至少一個(gè)請(qǐng)求。
12.一種數(shù)字處理裝置可讀并具有指令程序的程序存儲(chǔ)設(shè)備,所述指令程序有形地包括在所述存儲(chǔ)設(shè)備上,并且可被所述處理裝置執(zhí)行用來(lái)執(zhí)行通過(guò)通信網(wǎng)絡(luò)路由數(shù)據(jù)的方法,所述方法包括使用至少一個(gè)應(yīng)用層指令對(duì)可編程流量管理器進(jìn)行編程;以及使用所述可編程流量管理器,通過(guò)所述網(wǎng)絡(luò)路由所述數(shù)據(jù),其中根據(jù)所述應(yīng)用層指令對(duì)所述數(shù)據(jù)進(jìn)行路由,并且其中所述可編程流量管理器使得所述數(shù)據(jù)被路由到所述節(jié)點(diǎn)中的一個(gè)。
13.一種用于在具有多個(gè)節(jié)點(diǎn)的通信網(wǎng)絡(luò)中路由數(shù)據(jù)的裝置,所述裝置包括可編程流量管理器;以及通過(guò)至少一個(gè)應(yīng)用層指令對(duì)所述流量管理器進(jìn)行編程的處理器,其中所述已編程的流量管理器使得所述數(shù)據(jù)被路由到所述節(jié)點(diǎn)中的一個(gè)。
全文摘要
一種用于通過(guò)通信網(wǎng)絡(luò)路由數(shù)據(jù)的方法、裝置和已編程存儲(chǔ)設(shè)備。更具體地,使用至少一個(gè)應(yīng)用層指令對(duì)可編程流量管理器進(jìn)行編程,并且使用所述可編程流量管理器通過(guò)網(wǎng)絡(luò)把數(shù)據(jù)路由到網(wǎng)絡(luò)節(jié)點(diǎn)中的一個(gè),根據(jù)應(yīng)用層指令對(duì)所述可編程流量管理器進(jìn)行編程。在本發(fā)明的一個(gè)特定的例子中,可編程流量管理器把來(lái)自客戶機(jī)的請(qǐng)求路由到多個(gè)托管應(yīng)用的服務(wù)器中的一個(gè),在所述服務(wù)器中,所述可編程流量管理器根據(jù)應(yīng)用層指令被路由。
文檔編號(hào)H04L29/08GK1933452SQ20061015380
公開(kāi)日2007年3月21日 申請(qǐng)日期2006年9月12日 優(yōu)先權(quán)日2005年9月13日
發(fā)明者L·R·迪根那羅, A·F·羅德里格茲 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
海晏县| 英吉沙县| 久治县| 张家港市| 厦门市| 勐海县| 苏州市| 陇西县| 五家渠市| 东乡| 兴山县| 泰来县| 墨脱县| 汪清县| 武平县| 神农架林区| 南郑县| 浦东新区| 龙陵县| 瓦房店市| 桃园市| 青龙| 军事| 方城县| 阳山县| 茌平县| 新蔡县| 金乡县| 莆田市| 普安县| 瑞金市| 罗甸县| 忻州市| 民权县| 乐东| 天水市| 上思县| 威远县| 西平县| 独山县| 永宁县|