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

用于增強(qiáng)遠(yuǎn)程調(diào)用性能的多級高速緩存器裝置和方法

文檔序號:6566853閱讀:124來源:國知局
專利名稱:用于增強(qiáng)遠(yuǎn)程調(diào)用性能的多級高速緩存器裝置和方法
技術(shù)領(lǐng)域
本發(fā)明 一 般涉及計(jì)算機(jī)系統(tǒng),尤其涉及在聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng)中 遠(yuǎn)程調(diào)用對象。
背景技術(shù)
聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng)使得不同的計(jì)算機(jī)相互之間能夠進(jìn)行通信。 互聯(lián)網(wǎng)是聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng)的 一個(gè)例子,其將數(shù)百萬計(jì)算機(jī)連接在 一起。當(dāng)然,同樣存在大量其他類型的計(jì)算機(jī)網(wǎng)絡(luò)。大部分計(jì)算機(jī)網(wǎng)絡(luò)的目的是使得計(jì)算機(jī)相互之間能夠進(jìn)行通信。計(jì)算機(jī)進(jìn)行通信 的 一 種已知方法是使用 一 個(gè)稱為遠(yuǎn)程調(diào)用的概念。遠(yuǎn)程調(diào)用是指一個(gè)計(jì)算機(jī)系統(tǒng)執(zhí)行(或調(diào)用)不同計(jì)算機(jī)系統(tǒng) 上的對象的能力。遠(yuǎn)程調(diào)用對象在當(dāng)今聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng)中非常普 遍,因?yàn)檫h(yuǎn)程調(diào)用對象的能力改善了系統(tǒng)的可縮放性、有效性和靈 活性。典型地,遠(yuǎn)程調(diào)用使用一個(gè)叫做"代理"的對象來遠(yuǎn)程調(diào)用對 象。該代理通常是一個(gè)"存根(stub)",其不包含需要的邏輯,而僅 包含指向遠(yuǎn)程對象的路由信息,其中該遠(yuǎn)程對象包含需要的邏輯。 在簡單的現(xiàn)有技術(shù)系統(tǒng)中,調(diào)取第 一 計(jì)算機(jī)系統(tǒng)中的代理來調(diào)用第 二計(jì)算機(jī)系統(tǒng)中的對象。當(dāng)只有單個(gè)遠(yuǎn)程對象時(shí),這種方法工作得 很好。然而,現(xiàn)在很多聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng)都包括不同計(jì)算機(jī)系統(tǒng)中 的多個(gè)對象副本。實(shí)現(xiàn)這多個(gè)副本狀態(tài)同步的代價(jià)很高,并且隨著 副本數(shù)目的增多,這也成為了系統(tǒng)資源的一個(gè)重大消耗。計(jì)算機(jī)系統(tǒng)中"集群(cluster)"的概念在近幾年漸漸流行起來。 現(xiàn)代聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng)可以包括多個(gè)集群。多個(gè)集群的存在使得遠(yuǎn) 程調(diào)用對象變得更加困難,因?yàn)楝F(xiàn)在對象的范圍需要比單個(gè)集群時(shí) 的范圍更大了。這需要復(fù)雜的方案來同步跨越集群的對象,并且在
系統(tǒng)資源上是一個(gè)重大消耗。如果沒有一種方法來提高聯(lián)網(wǎng)的計(jì)算 機(jī)系統(tǒng)中遠(yuǎn)程調(diào)用的性能,那么計(jì)算機(jī)工業(yè)將繼續(xù)遭受存在多個(gè)集 群時(shí)管理遠(yuǎn)程調(diào)用的過高的管理費(fèi)用。發(fā)明內(nèi)容根據(jù)第一方面,提供了一種聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng),包括通過網(wǎng)絡(luò)連接在一起的多個(gè)計(jì)算機(jī)系統(tǒng),其中該多個(gè)計(jì)算機(jī)系統(tǒng)中的每一個(gè)包含指定對象的副本;以及第一計(jì)算機(jī)系統(tǒng),其包括多個(gè)分區(qū)代理,每個(gè)分區(qū)代理引用該指定對象的不同副本,每個(gè)分區(qū)代理訪問 高速緩存器,該高速緩存器包含關(guān)于如何訪問該指定對象的相應(yīng)副 本的連接信息。根據(jù)第二方面,提供了 一種用于遠(yuǎn)程對象調(diào)用的計(jì)算機(jī)實(shí)現(xiàn)的方法,該方法包括步驟在多個(gè)計(jì)算機(jī)系統(tǒng)中創(chuàng)建指定對象的多個(gè) 副本;以及創(chuàng)建多個(gè)分區(qū)代理,每個(gè)分區(qū)代理引用該指定對象的不 同副本,每個(gè)分區(qū)代理訪問高速緩存器,該高速緩存器包含關(guān)于如 何訪問該指定對象相應(yīng)副本的連接信息。根據(jù)第三方面,提供了一種用于在聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng)中遠(yuǎn)程對 象調(diào)用的計(jì)算機(jī)實(shí)現(xiàn)的方法,該聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng)包括通過網(wǎng)絡(luò)連 接在一起的多個(gè)計(jì)算機(jī)系統(tǒng),其中該多個(gè)計(jì)算機(jī)系統(tǒng)中的每一個(gè)包 含指定對象的副本,該聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng)還包括第一計(jì)算機(jī)系統(tǒng), 其包括多個(gè)分區(qū)代理,每個(gè)分區(qū)代理引用該指定對象的不同副本, 每個(gè)分區(qū)代理訪問高速緩存器,該高速緩存器包含關(guān)于如何訪問該 指定對象相應(yīng)副本的連接信息,該方法包括步驟(A)接收對象請 求;(B)確定該多個(gè)分區(qū)代理中的哪一個(gè)對應(yīng)于該對象請求;(C) 將該對象請求路由至(B)中確定的分區(qū)代理;以及(D)在(B) 中確定的分區(qū)代理使用存儲在該高速緩存器中的連接信息,將該對 象請求^各由至該指定對象的相應(yīng)副本。根據(jù)第四方面,提供了一種程序產(chǎn)品,包括(A)分區(qū)代理機(jī) 制,其創(chuàng)建多個(gè)分區(qū)代理,每個(gè)分區(qū)代理引用通過網(wǎng)絡(luò)連接在一起的多個(gè)計(jì)算機(jī)系統(tǒng)中的指定對象的不同副本,其中該多個(gè)計(jì)算機(jī)系 統(tǒng)中的每一個(gè)包含該指定對象的副本,每個(gè)分區(qū)代理訪問高速緩存 器,該高速緩存器包含關(guān)于如何訪問該指定對象相應(yīng)副本的連接信息;以及(B)承載該分區(qū)代理機(jī)制的計(jì)算機(jī)可讀信號承載介質(zhì)。在聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng)中,分區(qū)代理優(yōu)選地定義為每個(gè)都包括連 接信息的高速緩存器,當(dāng)每次遠(yuǎn)程調(diào)用對象時(shí),允許將遠(yuǎn)程調(diào)用快 速路由到對象,而不需要經(jīng)歷針對該對象確定路由信息的開銷。對 象的多個(gè)副本優(yōu)選地在多個(gè)計(jì)算機(jī)系統(tǒng)中創(chuàng)建。然后優(yōu)選地創(chuàng)建指 向該對象的每個(gè)副本的分區(qū)代理。該對象的這些副本不需要同步它 們的狀態(tài)數(shù)據(jù),因?yàn)樗鼈兲幚聿煌愋偷恼埱螅圆恍枰L問同 一狀態(tài)數(shù)據(jù)。分區(qū)代理優(yōu)選地允許快速訪問這些對象副本,不需要同步它們的狀態(tài)數(shù)據(jù)的開銷。因此優(yōu)選實(shí)施例提供了以下優(yōu)點(diǎn)遠(yuǎn) 程系統(tǒng)中對象的多個(gè)副本可以橫跨多個(gè)計(jì)算機(jī)集群,而沒有同步多 個(gè)副本狀態(tài)的性能損失。將連接信息優(yōu)選地高速緩存在分區(qū)代理中 允許了計(jì)算機(jī)系統(tǒng)調(diào)用遠(yuǎn)程對象,而沒有每次調(diào)用用于訪問遠(yuǎn)程對象的連接信息時(shí)進(jìn)行確定的性能損失。從以下對本發(fā)明優(yōu)選實(shí)施例更細(xì)致的描述中,如附圖所示,本 發(fā)明的前述以及其他特征和優(yōu)點(diǎn)將變得明顯。


本發(fā)明優(yōu)選實(shí)施例將在下文中,通過示例的方式,結(jié)合附圖一 起描述,其中同樣的標(biāo)記代表同樣的元件圖1是聯(lián)網(wǎng)的現(xiàn)有技術(shù)計(jì)算機(jī)系統(tǒng)的方塊圖;圖2是示出對象委托與相應(yīng)代理對象的相關(guān)性的現(xiàn)有技術(shù)表;圖3是包括多個(gè)對象副本的聯(lián)網(wǎng)的現(xiàn)有技術(shù)計(jì)算機(jī)系統(tǒng)的方塊圖;圖4是將遠(yuǎn)程調(diào)用路由至相應(yīng)對象的現(xiàn)有技術(shù)方法的流程圖;圖5是現(xiàn)有技術(shù)中分區(qū)計(jì)算機(jī)系統(tǒng)的方塊圖;圖6是根據(jù)優(yōu)選實(shí)施例的包括分區(qū)代理的分區(qū)計(jì)算機(jī)系統(tǒng)方塊 圖;圖7是根據(jù)優(yōu)選實(shí)施例的包括分區(qū)代理的分區(qū)計(jì)算機(jī)系統(tǒng)方塊圖;圖8是根據(jù)優(yōu)選實(shí)施例的分區(qū)代理方法的流程圖; 圖9是根據(jù)優(yōu)選實(shí)施例的路由遠(yuǎn)程對象調(diào)用的方法的流程圖; 圖10示出了根據(jù)優(yōu)選實(shí)施例的多級高速緩存器的第一級的表; 圖11示出了根據(jù)優(yōu)選實(shí)施例的多級高速緩存器的第二級的表;以及圖12示出了根據(jù)優(yōu)選實(shí)施例的分區(qū)代理對象的內(nèi)容。
具體實(shí)施方式
1.0綜述本發(fā)明涉及聯(lián)網(wǎng)計(jì)算機(jī)系統(tǒng)中的遠(yuǎn)程調(diào)用對象。對于那些不熟 悉遠(yuǎn)程調(diào)用對象的人來說,綜述部分將提供背景信息以幫助其理解 本發(fā)明。已知的遠(yuǎn)程調(diào)用對象在圖1中示出了支持遠(yuǎn)程調(diào)用對象的一種已知的計(jì)算機(jī)系統(tǒng)。 對象委托110位于客戶端計(jì)算機(jī)系統(tǒng)。該對象委托110包括標(biāo)識4吏 用哪個(gè)代理的代理規(guī)范112。對于每個(gè)對象委托110,有一個(gè)并且只 有一個(gè)代理120。該代理120可以引用多個(gè)服務(wù)器130中的多個(gè)對象。 圖1清楚示出了對象委托110與代理120之間的這種一對一關(guān)系, 以及代理120與服務(wù)器130之間的這種一對n關(guān)系。圖1中的代理規(guī)范112可以由圖2中的表來表示。代理規(guī)范112 包括用于對象委托的名稱的一列,和用于相應(yīng)的代理的一列。回到 圖1,每個(gè)對象委托只有一個(gè)相應(yīng)的代理。圖3的方塊圖示出了一種現(xiàn)有技術(shù)計(jì)算機(jī)系統(tǒng)300。計(jì)算機(jī)系統(tǒng) 300包括第一計(jì)算機(jī)系統(tǒng)310,以及任意適當(dāng)數(shù)目的其他計(jì)算才幾系統(tǒng) 320, 330, 340。這個(gè)例子中,假設(shè)每個(gè)計(jì)算機(jī)系統(tǒng)320, 330, 340包括對象的一個(gè)副本。從而,計(jì)算機(jī)系統(tǒng)320包括對象322。計(jì) 算機(jī)系統(tǒng)330包括對象332,其是對象322的副本。計(jì)算才幾系統(tǒng)340 包括對象342,其是對象322和332的副本。計(jì)算機(jī)系統(tǒng)310包括代 理對象312,其路由對象請求至其他計(jì)算機(jī)系統(tǒng)中該對象的合適的副 本。當(dāng)計(jì)算機(jī)系統(tǒng)310接收到對象請求305時(shí),查閱圖2中的代理 規(guī)范112以確定哪個(gè)代理對應(yīng)于該請求。如圖2所示,設(shè)置次序 (PlaceOrder)對象委托對應(yīng)于代理01,其在圖3中表示為312。那 么代理312必需確定該請求應(yīng)該路由至的合適對象副本。在聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng)中,典型地存在客戶端對象和服務(wù)器對象。 客戶端對象是這樣一個(gè)對象,其調(diào)取稱做服務(wù)器對象的不同對象。 服務(wù)器對象是由客戶端對象調(diào)取的對象。注意,術(shù)語客戶端和服務(wù) 器有時(shí)用于絕對意義,例如網(wǎng)頁瀏覽器對于網(wǎng)頁服務(wù)器來說是客戶 端。不過,術(shù)語客戶端和服務(wù)器在此處用作表示調(diào)取的方向,沒有 任何特定標(biāo)簽用在任何特定計(jì)算機(jī)系統(tǒng)。這樣,接收對象請求305 的代理對象312就是該對象請求的服務(wù)器,但是當(dāng)它發(fā)送客戶端請 求到相應(yīng)的對象副本時(shí)(例如計(jì)算機(jī)系統(tǒng)320中的對象322 ),它又 變成了客戶端。現(xiàn)在參考圖4,現(xiàn)有技術(shù)中的方法400示出了圖3的系統(tǒng)300中 遠(yuǎn)程調(diào)用對象執(zhí)行的步驟。當(dāng)對象委托接收到對象請求時(shí)方法400 開始(步驟410)。確定對應(yīng)于該對象委托的代理(步驟420)。如 上所述,這通過查閱圖1和2中示出的代理規(guī)范來完成。接著,該 請求被路由到相應(yīng)的代理(步驟430 )。該代理確定該請求的連接信 息(步驟440 )。然后,該代理將該請求路由至合適的對象(步驟 450 )。圖3所示的現(xiàn)有技術(shù)系統(tǒng)300以及圖4所示的相應(yīng)的方法遇到 兩個(gè)嚴(yán)重的問題。第一,因?yàn)閷ο?22, 332,…,342是同一對象 的副本,所以必須有一個(gè)適當(dāng)?shù)臋C(jī)制來同步這些對象的狀態(tài)。隨著 對象數(shù)目的增多,保持所有副本同步的成本則變成較大的性能損失。 第二,因?yàn)閷λ懈北?22, 332,…,342只有單個(gè)代理對象312, 所以代理312必須包括確定哪個(gè)副本應(yīng)該接收對象請求305的邏輯。 這由圖4中的步驟440完成。如果代理對象312碰巧將該對象請求 3 0 5路由至錯(cuò)誤的對象副本,那么必須有 一 個(gè)機(jī)制來轉(zhuǎn)發(fā)該對象請求 305至正確的對象副本,這也提供了一個(gè)重大的性能損失。結(jié)果是維 護(hù)多個(gè)對象副本的性能損失很高,并且通過單個(gè)代理路由所有對象 請求至多個(gè)對象副本的性能損失也很高。結(jié)果是系統(tǒng)為遠(yuǎn)程對象調(diào) 用提供相對差的性能。
在圖5中以方塊圖的形式示出了現(xiàn)有技術(shù)的另一個(gè)計(jì)算機(jī)系統(tǒng) 500。計(jì)算機(jī)系統(tǒng)500包括一個(gè)具有代理規(guī)范512的對象委托510。 計(jì)算機(jī)系統(tǒng)500也包括一個(gè)對應(yīng)于該對象委托510的代理520,以及 多個(gè)分區(qū)540。對于每個(gè)分區(qū),有一個(gè)相應(yīng)的分區(qū)服務(wù)器530。圖5 中所示的計(jì)算機(jī)系統(tǒng)的分區(qū)并沒有幫助解決圖3中的問題。事實(shí)上, 通過這些不同的分區(qū),問題變得更加嚴(yán)重。例如,假設(shè)圖3中的計(jì) 算機(jī)系統(tǒng)310, 320, 330, 340每一個(gè)都位于一個(gè)不同的分區(qū)。 同樣的問題依然存在,不過現(xiàn)在必須解決分區(qū)間的通信。因?yàn)檫@個(gè) 原因,上面所討論的圖3中存在的問題同樣也適用于圖5的計(jì)算機(jī) 系統(tǒng)500。
2.0優(yōu)選實(shí)施例的描述
這里給出的優(yōu)選實(shí)施例通過提供一種執(zhí)行遠(yuǎn)程調(diào)用的方法解決 了現(xiàn)有技術(shù)中的問題,該方法以以下方式執(zhí)行遠(yuǎn)程調(diào)用不需要對 象副本之間的數(shù)據(jù)同步,并且高速緩存連接信息,以便可以根據(jù)本 地高速緩存器中的信息執(zhí)行重復(fù)遠(yuǎn)程調(diào)用,從而在遠(yuǎn)程對象調(diào)用期 間節(jié)省了相當(dāng)多的時(shí)間和系統(tǒng)資源。
參考圖6,根據(jù)優(yōu)選實(shí)施例的分區(qū)計(jì)算機(jī)系統(tǒng)600包括對象委托 610,該對象委托包括分區(qū)委托612和代理表614。對應(yīng)于每個(gè)對象 委托610存在多個(gè)分區(qū)540。每個(gè)分區(qū)540都有相應(yīng)的分區(qū)服務(wù)器 530。對應(yīng)于每個(gè)對象委托610也有多個(gè)分區(qū)代理620,每個(gè)分區(qū)代 理620包括連接信息622,其指示如何將消息路由至相應(yīng)的分區(qū)服務(wù) 器530。將圖6的計(jì)算機(jī)系統(tǒng)600與圖5所示的現(xiàn)有技術(shù)計(jì)算機(jī)系統(tǒng) 500進(jìn)行對比可以得到計(jì)算機(jī)系統(tǒng)600的重要特征。計(jì)算機(jī)系統(tǒng)500 中,對于n個(gè)分區(qū)服務(wù)器530存在一個(gè)代理520。這就需要該代理中 具有確定哪個(gè)分區(qū)服務(wù)器530應(yīng)該接收對象請求的邏輯。相反,計(jì) 算機(jī)系統(tǒng)600提供多個(gè)分區(qū)代理620,每個(gè)分區(qū)代理620對應(yīng)于一個(gè) 分區(qū)服務(wù)器530。這樣就在分區(qū)代理620與分區(qū)540之間、分區(qū)代理 620與分區(qū)服務(wù)器530之間提供了一對一的相關(guān)性。通過為每個(gè)分區(qū) 和分區(qū)服務(wù)器提供一個(gè)專用的分區(qū)代理,分區(qū)代理620可以在本地 高速緩存連接信息用于其相應(yīng)的分區(qū)服務(wù)器,從而允許極快地將遠(yuǎn) 程對象調(diào)用路由至其合適的分區(qū)服務(wù)器。在圖5所示現(xiàn)有技術(shù)的系統(tǒng)500中,在對象委托510與其相應(yīng) 的代理520之間存在一對一的相關(guān)性。在圖6的計(jì)算機(jī)系統(tǒng)600中, 對象委托610與分區(qū)代理620之間的關(guān)系是一對一的關(guān)系。這就需 要在對象委托610中具有確定哪個(gè)分區(qū)代理620對應(yīng)于對象請求的 邏輯。每個(gè)對象委托610包括分區(qū)委托612,其從對象請求中識別出 特定的代理表614,用于路由該請求。代理表614標(biāo)識了哪個(gè)分區(qū)代 理620應(yīng)該接收該請求。當(dāng)該請求被路由至合適的分區(qū)代理620時(shí), 其查看本地高速緩存的連接信息622,以確定如何路由該請求。通過 在分區(qū)代理中高速緩存該連接信息622,遠(yuǎn)程對象調(diào)用的性能得到顯 著提高。在圖10和11中更加詳細(xì)地示出了分區(qū)委托612以及代理 表614。圖7示出了聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng)700的一個(gè)具體實(shí)現(xiàn),該計(jì)算機(jī) 系統(tǒng)700在根據(jù)優(yōu)選實(shí)施例的圖6所示計(jì)算機(jī)系統(tǒng)600的范圍內(nèi)。 計(jì)算機(jī)系統(tǒng)700包括第一計(jì)算機(jī)系統(tǒng)710,其通過網(wǎng)絡(luò)連接與多個(gè)其 他計(jì)算機(jī)系統(tǒng)相連,在圖7中示出為計(jì)算機(jī)系統(tǒng)720, 730,…,740。 假設(shè)圖7中的每個(gè)計(jì)算機(jī)系統(tǒng)(即,710, 720, 730,…,740)代 表一個(gè)不同的分區(qū)服務(wù)器(即圖6中的530 )。計(jì)算機(jī)系統(tǒng)710包括 對象712,該對象包括多個(gè)分區(qū)代理,在圖7中示出為對象714, 716, ..., 718。對象712優(yōu)選地代表圖6中的對象委托610,對象 714, 716, ..., 718優(yōu)選地代表圖6中的分區(qū)代理620。在最優(yōu)選的 實(shí)施例中,對于包括相應(yīng)對象副本的每個(gè)分區(qū)服務(wù)器,存在單獨(dú)的
分區(qū)代理。圖7中,每個(gè)計(jì)算機(jī)系統(tǒng)720, 730, ..., 740包括同一 對象的副本。從而,計(jì)算機(jī)系統(tǒng)720包括相應(yīng)的對象722;計(jì)算機(jī)系 統(tǒng)730包括相應(yīng)的對象732,其是對象722的一個(gè)副本;計(jì)算才幾系統(tǒng) 740包括相應(yīng)的對象742,其是對象722和732的一個(gè)副本。圖7中 只顯示了包括對象副本的計(jì)算機(jī)系統(tǒng),網(wǎng)絡(luò)上還可以有未包含對象 副本的其他計(jì)算機(jī)系統(tǒng)。換句話說,網(wǎng)絡(luò)上的每個(gè)計(jì)算機(jī)系統(tǒng)不需要都包含對象副本,但是對于每個(gè)包含對象副本的分區(qū)服務(wù)器,優(yōu) 選存在一個(gè)相應(yīng)的分區(qū)代理。請注意,計(jì)算機(jī)系統(tǒng)700還包括分區(qū)代理機(jī)制708,其用于在分 區(qū)服務(wù)器中創(chuàng)建對象副本,創(chuàng)建相應(yīng)的分區(qū)代理,以及創(chuàng)建對應(yīng)的 分區(qū)委托和代理表。分區(qū)代理機(jī)制708是在優(yōu)選實(shí)施例的范圍內(nèi)建 立計(jì)算機(jī)系統(tǒng)700用于遠(yuǎn)程對象調(diào)用的機(jī)制,其也可以駐留在圖7 網(wǎng)絡(luò)中的任一計(jì)算機(jī)系統(tǒng)中。圖8示出了根據(jù)優(yōu)選實(shí)施例的配置聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng)以便用分 區(qū)代理的方法800。方法800優(yōu)選由圖7中的分區(qū)代理機(jī)制708來執(zhí) 行。方法800從創(chuàng)建N個(gè)對象副本而開始(步驟810),優(yōu)選在N 個(gè)不同的分區(qū)中創(chuàng)建。接著,創(chuàng)建N個(gè)分區(qū)代理,為每個(gè)對象副本 創(chuàng)建一個(gè)(步驟820 )。每個(gè)分區(qū)代理包括一個(gè)用于存儲連接信息的 本地高速緩存器。 一旦分區(qū)代理第一次執(zhí)行遠(yuǎn)程調(diào)用,連接信息就 存儲在本地高速緩存器中,從而通過訪問存儲在本地高速緩存器的 連接信息(而不是在每次調(diào)用遠(yuǎn)程對象時(shí)都建立連接路徑),使得 將來的遠(yuǎn)程對象調(diào)用極快。在這點(diǎn)上,創(chuàng)建了分區(qū)委托和相應(yīng)的代 理表(步驟830 )。 一旦方法800完成,則計(jì)算機(jī)系統(tǒng)準(zhǔn)備好4吏用這 些分區(qū)代理進(jìn)行遠(yuǎn)程對象調(diào)用。參考圖9,根據(jù)優(yōu)選實(shí)施例執(zhí)行方法900來將對象請求路由至分 區(qū)代理。方法900從對象委托接收到對象請求時(shí)開始(步驟910)。 確定對應(yīng)于該對象委托的分區(qū)(步驟920)。接著確定對應(yīng)于該分區(qū) 的分區(qū)代理(步驟930 )。然后,該對象請求^皮路由至相應(yīng)的分區(qū)代 理(步驟940)。該分區(qū)代理接著使用本地高速緩存的連接信息(如
果可用),將該對象請求路由至相應(yīng)的對象(步驟950 )。在優(yōu)選實(shí) 施例中,每個(gè)分區(qū)代理包括一個(gè)高速緩存器,其存儲訪問給定對象 的連接信息。在某一遠(yuǎn)程對象第一次被調(diào)用時(shí),分區(qū)代理將必須進(jìn) 行確定路由該請求的合適連接信息的工作。這個(gè)連接信息高速緩存 在分區(qū)代理中,因此分區(qū)代理可以使用高速緩存的連接信息,將后 續(xù)的針對同 一對象的遠(yuǎn)程請求進(jìn)行路由,這極大地加速了遠(yuǎn)程對象 調(diào)用。能夠從優(yōu)選實(shí)施例的分區(qū)代理極大獲益的聯(lián)網(wǎng)計(jì)算才幾系統(tǒng)的一 個(gè)例子是用于股票交易的計(jì)算機(jī)系統(tǒng)。假設(shè)這樣的 一個(gè)計(jì)算機(jī)系統(tǒng), 其包括一個(gè)設(shè)置次序?qū)ο螅糜谠O(shè)置在特定股票交易中列出的2000 支股票中的任一支的次序。在圖5所示現(xiàn)有技術(shù)系統(tǒng)中,單個(gè)代理 對象將負(fù)責(zé)這2000支股票中任一支的所有次序。在分區(qū)服務(wù)器中可 能有設(shè)置次序?qū)ο蟮亩鄠€(gè)副本,但是每個(gè)次序的路由將必須通過單 個(gè)設(shè)置次序代理對象。單個(gè)代理對象用來確定哪個(gè)分區(qū)服務(wù)器應(yīng)該 接收該請求、確定相應(yīng)分區(qū)服務(wù)器的連接信息、以及將該對象請求 路由至相應(yīng)分區(qū)服務(wù)器中的合適對象所需的時(shí)間,對于每個(gè)對象請 求都將是很長的時(shí)間。優(yōu)選實(shí)施例通過提供包括連接信息的本地高 速緩存器的分區(qū)代理,消除了這些開銷以及系統(tǒng)性能問題。對于上面用于交易2000支不同股票的計(jì)算機(jī)系統(tǒng)的例子,假設(shè) 存在2000個(gè)不同的分區(qū)服務(wù)器,每個(gè)股票一個(gè)分區(qū)服務(wù)器。這2000 個(gè)分區(qū)服務(wù)器的每一個(gè)都包括設(shè)置次序?qū)ο蟮囊粋€(gè)副本。假設(shè)這些 對象副本之間沒有重疊,則這2000個(gè)對象副本的狀態(tài)信息不需要同 步,這意味著每個(gè)對象處理不同類型的請求。因此,如果給予每個(gè) 設(shè)置次序?qū)ο髮τ?000支股票中的一個(gè)(并且僅此一個(gè))的次序設(shè) 置責(zé)任,則該設(shè)置次序?qū)ο蟮拿總€(gè)對象副本不必與該i殳置次序?qū)ο?的其他副本同步,因?yàn)檫@些對象中沒有一個(gè)與這些對象中的其他任 何一個(gè)共享數(shù)據(jù)。通過分配每個(gè)分區(qū)服務(wù)器對于唯一類型的請求進(jìn)行不同的、無重疊的負(fù)責(zé),消除了在如此多對象副本之間同步的需 要。因此,該設(shè)置次序?qū)ο蟮囊粋€(gè)副本可以專用于處理IBM⑧股票的
次序;另一個(gè)副本可以專用于處理Microsoft⑧股票的次序;等等。IBM 是國際商業(yè)機(jī)器公司在美國、其他國家或二者中的商標(biāo);Microsoft 是微軟公司在美國、其他國家或二者中的商標(biāo)。該優(yōu)選實(shí)施例的另一個(gè)顯著的好處是在每個(gè)分區(qū)代理中高速緩 存連接信息。分區(qū)代理第一次接收到特定對象的遠(yuǎn)程調(diào)用時(shí),分區(qū) 代理進(jìn)行確定將對象請求路由至合適的分區(qū)服務(wù)器的連接信息的所 有工作,該合適的分區(qū)服務(wù)器包括需要接收對象請求的對象的相應(yīng) 副本。 一旦該分區(qū)代理確定了該連接信息,該連接信息就存儲在該 分區(qū)代理的高速緩存器中。通過將連接信息高速緩存在本地高速緩 存器中,分區(qū)代理能夠?qū)⑨槍ν?一對象的后續(xù)請求極快地路由至需 要對這些請求提供服務(wù)的相應(yīng)的對象,而沒有每次確定用于對請求 進(jìn)行路由的合適連接信息的開銷。結(jié)合存儲連接信息的本地高速緩 存器的分區(qū)代理為遠(yuǎn)程對象調(diào)用提供了顯著的性能改善。已進(jìn)行的 實(shí)際試驗(yàn)顯示,使用這里所述的包含本地高速緩存器的分區(qū)代理, 遠(yuǎn)程對象調(diào)用性能可以提高15倍。在上面的簡單例子中,我們假設(shè)2000個(gè)分區(qū)服務(wù)器,用于可以 交易的2000支不同股票的每一個(gè)。然而,應(yīng)當(dāng)注意,可能有一些股 票具有比其他股票明顯高的交易率,從而可能需要多個(gè)分區(qū)服務(wù)器服務(wù)同一支股票。假設(shè)這2000支中的前五支股票需要2個(gè)分區(qū)服務(wù) 器,每一個(gè)分區(qū)服務(wù)器用于處理這些股票的交易量。在這種情況下, 對于這些前五支股票會有十個(gè)分區(qū)服務(wù)器(每支股票兩個(gè)分區(qū)服務(wù) 器),剩余的1995支股票有1995個(gè)分區(qū)服務(wù)器,總共有2005個(gè)分 區(qū)服務(wù)器用于這2000支股票。在這種情況下,通常會有一個(gè)機(jī)制用 來同步分區(qū)服務(wù)器中的對象副本之間的對象狀態(tài),其中該分區(qū)服務(wù) 器為同 一股票提供次序服務(wù)。這個(gè)簡單的例子表明了分區(qū)服務(wù)器的 數(shù)目不需要直接對應(yīng)于不同項(xiàng)目(即,這個(gè)例子中的股票)的數(shù)目, 如上述例子中的2005個(gè)分區(qū)服務(wù)器(并且因此,對象副本)用于對 2000支不同股票的請求提供服務(wù)。在圖10和11中示出圖6中的分區(qū)委托612以及代理表614其 具體實(shí)施。分區(qū)委托612包括至包含分區(qū)和分區(qū)代理信息的相應(yīng)表 的對象委托的列表。如果假設(shè)調(diào)用設(shè)置次序?qū)ο螅瑘D10中的表612 表示表Tl是對應(yīng)于該設(shè)置次序?qū)ο蟮拇肀?,如指向圖11中的表 614的點(diǎn)線箭頭所示。在代理表614中,分區(qū)關(guān)鍵字(key)與每個(gè) 分區(qū)代理相關(guān)。因此,知道分區(qū)就能夠從代理表614中確定對應(yīng)于 該分區(qū)的分區(qū)代理。例如對于設(shè)置次序?qū)ο笪泻头謪^(qū)A來說,相 應(yīng)的分區(qū)代理是對象OIA,其對應(yīng)于圖7中的分區(qū)代理714。圖10和11中的表顯示了高速緩存器是怎樣一個(gè)"多級"高速緩 存器。在圖IO所示的第一級中,對象委托與圖11中的相應(yīng)表相關(guān), 其是包括分區(qū)和分區(qū)代理信息的第二級。該多級高速緩存器的每個(gè) 條目可以表示為(對象委托,(分區(qū),分區(qū)代理))。通過提供這 樣的多級高速緩存器,可以容易地取回存儲在分區(qū)代理的本地高速 緩存器中的連接信息,用于針對相同遠(yuǎn)程對象的后續(xù)調(diào)用,從而使 得遠(yuǎn)程對象調(diào)用的性能遠(yuǎn)好于使用現(xiàn)有技術(shù)的性能。在圖12中示出了圖7中分區(qū)代理714的適當(dāng)內(nèi)容的一個(gè)例子。 分區(qū)代理714優(yōu)選地包括一個(gè)指向相應(yīng)對象(圖7中的722)的存根 1210、請求上下文信息1220、對象狀態(tài)1230、連接信息1240以及 其他數(shù)據(jù)1250。盡管分區(qū)代理可以包括需要本地存儲的任何適當(dāng)信 息,該分區(qū)代理可以通過僅存儲存根1210和連接信息1240而充分 地工作。通過在分區(qū)代理714中高速緩存連接信息1240,該分區(qū)代 理能夠?qū)⑦h(yuǎn)程對象調(diào)用請求快速路由至其相應(yīng)的遠(yuǎn)程對象。連接信息的高速緩存器和分區(qū)代理存儲在每個(gè)客戶端中。如果 分區(qū)服務(wù)器死機(jī)、移動或者重啟,包含連接信息的高速緩存器將失 效,并通過路由獲取最近的連接信息來更新。在第一次對象被成功 調(diào)用后,該對象的連接信息高速緩存在客戶端中??蛻舳说谋镜馗?速緩存器將有效,直到服務(wù)器分區(qū)改變?yōu)橹?,在服?wù)器分區(qū)改變時(shí), 本地高速緩存器將失效,最后當(dāng)再次確定連接時(shí)利用新的連接信息 進(jìn)行更新。在這點(diǎn)上,重要的是注意,盡管在具有完整功能的計(jì)算機(jī)系統(tǒng)
的上下文中描述了本發(fā)明并且將繼續(xù)描述,本領(lǐng)域的技術(shù)人員可以 理解,本發(fā)明能夠以各種形式作為程序產(chǎn)品分布,并且本發(fā)明等同 地應(yīng)用,而不考慮用于實(shí)際執(zhí)行該分布的具體計(jì)算機(jī)可讀信號承載介質(zhì)的特定類型。適當(dāng)?shù)木唧w計(jì)算機(jī)可讀信號承載介質(zhì)的例子包括 可記錄類型介質(zhì)和傳輸類型介質(zhì),可記錄類型介質(zhì)諸如軟盤和CD RW (例如,圖1中的195),傳輸類型介質(zhì)諸如具體實(shí)施本發(fā)明的數(shù)字和模擬通信鏈路。優(yōu)選實(shí)施例提供了將遠(yuǎn)程對象調(diào)用性能提高達(dá)15倍的能力。通 過為每個(gè)分區(qū)服務(wù)器提供一個(gè)分區(qū)代理,以及將用于每個(gè)分區(qū)服務(wù) 器的連接信息在其相應(yīng)的分區(qū)代理中高速緩存,使用本地高速緩存 器的數(shù)據(jù),可以將大部分的遠(yuǎn)程調(diào)用快速有效地路由至相應(yīng)的分區(qū) 服務(wù)器。此外,通過將對象副本之間的責(zé)任分隔為無重疊區(qū)域,消 除了同步對象副本的對象狀態(tài)的需要。優(yōu)選實(shí)施例公開了 一種完全不同的方法在客戶端高速緩存對象 委托,其包括含有連接信息的分區(qū)代理,所述連接信息用于告訴如 何連接到服務(wù)器集群中的實(shí)際對象。連接信息的客戶端側(cè)高速緩存 消除了服務(wù)器端對象同步的需要,其避免了與服務(wù)器高速緩存器中 過期數(shù)據(jù)相關(guān)聯(lián)的問題。通過將連接信息高速緩存在客戶端側(cè)上的 分區(qū)代理中,客戶端知道如何更快地到達(dá)正確對象,而沒有任何過 期數(shù)據(jù)的可能。這對于不能容忍服務(wù)器側(cè)的任何過期數(shù)據(jù)的公司以 及商業(yè)來說是一個(gè)巨大的進(jìn)步。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解在本發(fā)明的范圍內(nèi)可能有多種變 形。因此,在參照優(yōu)選實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)描述和說明的同 時(shí),本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解在不偏離本發(fā)明精神和范圍的前提 下,可以估文出這些和其他的形式和細(xì)節(jié)上的變化。
權(quán)利要求
1. 一種聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng),包括通過網(wǎng)絡(luò)連接在 一起的多個(gè)計(jì)算機(jī)系統(tǒng),其中該多個(gè)計(jì)算才幾系 統(tǒng)中的每一個(gè)包含指定對象的副本;以及第一計(jì)算機(jī)系統(tǒng),其包括多個(gè)分區(qū)代理,每個(gè)分區(qū)代理引用該 指定對象的不同副本,每個(gè)分區(qū)代理訪問高速緩存器,該高速緩存 器包含關(guān)于如何訪問該指定對象的相應(yīng)副本的連接信息。
2. 如權(quán)利要求1所述的聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng),其中該高速緩存器包 含連接信息,用于將對象請求路由至該指定對象的相應(yīng)副本。
3. 如權(quán)利要求1或2所述的聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng),其中該高速緩存器使對象委托與相應(yīng)的分區(qū)表相關(guān)。
4. 如權(quán)利要求3所述的聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng),其中該相應(yīng)的分區(qū)表 使分區(qū)與該多個(gè)分區(qū)代理中相應(yīng)的一個(gè)分區(qū)代理相關(guān)。
5. 如權(quán)利要求1至4中任意一個(gè)所述的聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng),其中 該指定對象的每個(gè)副本處理唯一類型的請求,消除了在該指定對象 的副本之間同步狀態(tài)數(shù)據(jù)的任何需要。
6. 如權(quán)利要求1至5中任意一個(gè)所述的聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng),進(jìn)一 步包括分區(qū)代理機(jī)制,該分區(qū)代理機(jī)制創(chuàng)建該指定對象的副本并創(chuàng) 建相應(yīng)的多個(gè)分區(qū)代理。
7. —種用于遠(yuǎn)程對象調(diào)用的計(jì)算^L實(shí)現(xiàn)的方法,該方法包括步驟在多個(gè)計(jì)算機(jī)系統(tǒng)中創(chuàng)建指定對象的多個(gè)副本;以及 創(chuàng)建多個(gè)分區(qū)代理,每個(gè)分區(qū)代理引用該指定對象的不同副本,每個(gè)分區(qū)代理訪問高速緩存器,該高速緩存器包含關(guān)于如何訪問該指定對象相應(yīng)副本的連接信息。
8. 如權(quán)利要求7所述的方法,其中該高速緩存器包含連接信息,用于將對象請求路由至該指定對象的相應(yīng)副本。
9. 如權(quán)利要求7或8所述的方法,其中該高速緩存器使對象委托與相應(yīng)的分區(qū)表相關(guān)。
10. 如權(quán)利要求9所述的方法,其中該相應(yīng)的分區(qū)表使分區(qū)與 該多個(gè)分區(qū)代理中相應(yīng)的一個(gè)分區(qū)代理相關(guān)。
11. 如權(quán)利要求7至10中任意一個(gè)所述的方法,其中該指定對 象的每個(gè)副本處理唯一類型的請求,消除了在該指定對象的副本之間同步狀態(tài)數(shù)據(jù)的任何需要。
12. 如權(quán)利要求7至11中任意一個(gè)所述的方法,進(jìn)一步包括創(chuàng)建 該指定對象的副本和創(chuàng)建相應(yīng)的多個(gè)分區(qū)代理。
13. 如權(quán)利要求7至12中任意一個(gè)所述的方法,進(jìn)一步包括步驟(A) 接收對象請求;(B) 確定該多個(gè)分區(qū)代理中的哪一個(gè)對應(yīng)于該對象ffr求;(C) 將該對象請求路由至(B)中確定的分區(qū)代理;以及(D) 在(B)中確定的分區(qū)代理使用存儲在該高速緩存器中的 連接信息,將該對象請求路由至該指定對象的相應(yīng)副本。
14. 一種用于在聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng)中遠(yuǎn)程對象調(diào)用的計(jì)算機(jī)實(shí)現(xiàn)的方法,該聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng)包括通過網(wǎng)絡(luò)連接在 一起的多個(gè)計(jì)算 機(jī)系統(tǒng),其中該多個(gè)計(jì)算機(jī)系統(tǒng)中的每一個(gè)包含指定對象的副本, 該聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng)還包括第一計(jì)算機(jī)系統(tǒng),其包括多個(gè)分區(qū)代 理,每個(gè)分區(qū)代理引用該指定對象的不同副本,每個(gè)分區(qū)代理訪問 高速緩存器,該高速緩存器包含關(guān)于如何訪問該指定對象的相應(yīng)副 本的連接信息,該方法包括步驟(A) 接收對象請求;(B) 確定該多個(gè)分區(qū)代理中的哪一個(gè)對應(yīng)于該對象請求;(C) 將該對象請求路由至(B)中確定的分區(qū)代理;以及(D) 在(B)中確定的分區(qū)代理使用存儲在該高速緩存器中的 連接信息,將該對象請求路由至該指定對象的相應(yīng)副本。
15. —種程序產(chǎn)品,包括(A)分區(qū)代理機(jī)制,其創(chuàng)建多個(gè)分區(qū)代理,每個(gè)分區(qū)代理引用 通過網(wǎng)絡(luò)連接在一起的多個(gè)計(jì)算機(jī)系統(tǒng)中的指定對象的不同副本, 其中該多個(gè)計(jì)算機(jī)系統(tǒng)中的每 一 個(gè)包含該指定對象的副本,每個(gè)分 區(qū)代理訪問高速緩存器,該高速緩存器包含關(guān)于如何訪問該指定對象的相應(yīng)副本的連接信息;以及(B)承載該分區(qū)代理機(jī)制的計(jì)算機(jī)可讀信號承載介質(zhì)。
16. 如權(quán)利要求15所述的程序產(chǎn)品,其中該計(jì)算機(jī)可讀信號承載 介質(zhì)包括可記錄介質(zhì)。
17. 如權(quán)利要求15所述的程序產(chǎn)品,其中該計(jì)算機(jī)可讀信號承載 介質(zhì)包括傳輸介質(zhì)。
18. 如權(quán)利要求15至17中任意一個(gè)所述的程序產(chǎn)品,其中該高 速緩存器包含連接信息,用于將對象請求路由至該指定對象的相應(yīng) 副本。
19. 如權(quán)利要求15至18中任意一個(gè)所述的程序產(chǎn)品,其中該高 速緩存器使對象委托與相應(yīng)的分區(qū)表相關(guān)。
20. 如權(quán)利要求19所述的程序產(chǎn)品,其中該相應(yīng)的分區(qū)表使分區(qū) 與該多個(gè)分區(qū)代理中相應(yīng)的一個(gè)分區(qū)代理相關(guān)。
21. 如權(quán)利要求15至19中任意一個(gè)所述的程序產(chǎn)品,其中該 指定對象的每個(gè)副本處理唯 一 類型的請求,消除了在該指定對象的 副本之間同步狀態(tài)數(shù)據(jù)的任何需要。
22. 如權(quán)利要求15至21中任意一個(gè)所述的程序產(chǎn)品,其中分區(qū) 代理機(jī)制創(chuàng)建該指定對象的副本并創(chuàng)建相應(yīng)的多個(gè)分區(qū)代理。
23. —種計(jì)算機(jī)程序,包括程序代碼裝置,當(dāng)該程序在計(jì)算機(jī)上 運(yùn)行時(shí),該程序代碼裝置適用于執(zhí)行權(quán)利要求1至13中任意一個(gè)所 述的方法。
全文摘要
在聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng)中,分區(qū)代理定義為每個(gè)都包括連接信息的高速緩存器,其當(dāng)每次遠(yuǎn)程調(diào)用對象時(shí),允許將遠(yuǎn)程調(diào)用快速路由到對象,而不需要經(jīng)歷針對該對象確定路由信息的開銷。對象的多個(gè)副本在多個(gè)計(jì)算機(jī)系統(tǒng)中創(chuàng)建。然后創(chuàng)建指向該對象的每個(gè)副本的分區(qū)代理。分區(qū)代理允許快速訪問這些對象副本,而不需要同步它們的狀態(tài)數(shù)據(jù)的開銷。將連接信息優(yōu)選地高速緩存在分區(qū)代理中允許了計(jì)算機(jī)系統(tǒng)調(diào)用遠(yuǎn)程對象,而沒有每次調(diào)用用于訪問遠(yuǎn)程對象的連接信息時(shí)進(jìn)行確定的性能損失。
文檔編號G06F9/50GK101147131SQ200680009532
公開日2008年3月19日 申請日期2006年4月12日 優(yōu)先權(quán)日2005年4月14日
發(fā)明者A·J·巴克霍爾德, 沈金梅, 浩 王 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
霍城县| 龙泉市| 宁城县| 兴国县| 镇康县| 乾安县| 涪陵区| 长沙市| 九寨沟县| 图们市| 灌南县| 西乌珠穆沁旗| 米脂县| 资源县| 本溪| 双柏县| 汨罗市| 张掖市| 藁城市| 遂平县| 洛隆县| 宁强县| 鄂托克旗| 汶上县| 厦门市| 恩平市| 咸宁市| 临颍县| 康平县| 桦甸市| 开化县| 新沂市| 和政县| 吉隆县| 扎兰屯市| 原阳县| 凌海市| 句容市| 绿春县| 前郭尔| 玉山县|