两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于加權(quán)成本捆綁并發(fā)送工作單元到服務(wù)器的方法和系統(tǒng)的制作方法

文檔序號(hào):7970487閱讀:149來(lái)源:國(guó)知局
專利名稱:基于加權(quán)成本捆綁并發(fā)送工作單元到服務(wù)器的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般地涉及一種計(jì)算機(jī)系統(tǒng),尤其涉及基于加權(quán)成本捆綁并發(fā)送工作單元到服務(wù)器。
背景技術(shù)
1948年的EDVAC計(jì)算機(jī)系統(tǒng)的研制經(jīng)常引述為計(jì)算機(jī)時(shí)代的開(kāi)始。自那時(shí)以來(lái),計(jì)算機(jī)系統(tǒng)已經(jīng)發(fā)展成非常復(fù)雜的設(shè)備,并且計(jì)算機(jī)系統(tǒng)可以在許多不同的設(shè)置中發(fā)現(xiàn)。計(jì)算機(jī)系統(tǒng)典型地包括硬件,例如半導(dǎo)體和電路板,以及軟件,也稱作計(jì)算機(jī)程序。
多年前,計(jì)算機(jī)是不彼此通信的獨(dú)立設(shè)備,但是今天,計(jì)算機(jī)日益地連接在網(wǎng)絡(luò)中,并且稱作客戶端的一個(gè)計(jì)算機(jī)可能請(qǐng)求稱作服務(wù)器的另一個(gè)計(jì)算機(jī)以執(zhí)行操作。隨著因特網(wǎng)的出現(xiàn),該客戶端/服務(wù)器模型日益地在在線業(yè)務(wù)和服務(wù)中使用,例如在線拍賣行、股票貿(mào)易、銀行業(yè)、商業(yè)以及信息存儲(chǔ)和取回。
用于連接客戶端和服務(wù)器的兩種當(dāng)前技術(shù)稱作面向服務(wù)的體系結(jié)構(gòu)(SOA)和效用計(jì)算。面向服務(wù)的體系結(jié)構(gòu)包括彼此通信的服務(wù)的集合。服務(wù)是一種明確定義、獨(dú)立的功能,并且不依賴于其他服務(wù)的上下文或狀態(tài)。服務(wù)之間的通信可能涉及簡(jiǎn)單的數(shù)據(jù)傳遞或者可能涉及協(xié)調(diào)一些活動(dòng)的兩個(gè)或多個(gè)服務(wù)。效用計(jì)算是一種服務(wù)供應(yīng)模型,其中服務(wù)提供商使得計(jì)算資源根據(jù)需要對(duì)用戶可用,并且針對(duì)資源的具體使用而不是統(tǒng)一價(jià)格向客戶收費(fèi)。像其他類型的按需計(jì)算(例如網(wǎng)格計(jì)算)一樣,效用模型設(shè)法使得資源的有效使用達(dá)到最大和/或使得相關(guān)成本達(dá)到最小。另一種版本的效用計(jì)算在共享池效用模型中在企業(yè)內(nèi)部實(shí)施。在共享池效用模型中,企業(yè)集中其計(jì)算資源以服務(wù)較大量的用戶而沒(méi)有不必要的冗余。
在面向服務(wù)的體系結(jié)構(gòu)和效用計(jì)算中,客戶端確定接收并處理請(qǐng)求的服務(wù)器,并且客戶端可能具有發(fā)送到多個(gè)服務(wù)器的多個(gè)請(qǐng)求。每個(gè)服務(wù)器處理其接收的請(qǐng)求并且將響應(yīng)發(fā)送到發(fā)起請(qǐng)求的客戶端。隨著該大量請(qǐng)求和響應(yīng)變成大量的網(wǎng)絡(luò)通信量,其降低網(wǎng)絡(luò)性能從而增加請(qǐng)求的響應(yīng)時(shí)間。
因此,需要一種在客戶端和服務(wù)器之間通信請(qǐng)求和響應(yīng)的更好技術(shù)。

發(fā)明內(nèi)容
本發(fā)明提供一種方法、裝置、系統(tǒng)和信號(hào)承載介質(zhì),在一種實(shí)施方案中,其將多個(gè)工作單元累積成束并且將該束發(fā)送到所選主動(dòng)服務(wù)器。主動(dòng)服務(wù)器基于工作單元的相對(duì)成本和服務(wù)器的成本來(lái)選擇。在一種實(shí)施方案中,選擇主動(dòng)服務(wù)器包括確定相對(duì)工作單元成本和相對(duì)服務(wù)器成本,基于相對(duì)工作單元成本和相對(duì)服務(wù)器成本計(jì)算服務(wù)器的總加權(quán)成本,并且選擇具有最低總加權(quán)成本的主動(dòng)服務(wù)器。主動(dòng)服務(wù)器可能在本地處理束中的工作或者將工作單元發(fā)送到被動(dòng)服務(wù)器進(jìn)行處理。主動(dòng)服務(wù)器確定每個(gè)工作單元是否可以在主動(dòng)服務(wù)器處執(zhí)行。如果工作單元可以在主動(dòng)服務(wù)器上執(zhí)行,主動(dòng)服務(wù)器執(zhí)行該工作單元并且創(chuàng)建本地結(jié)果。如果工作單元不能在服務(wù)器上執(zhí)行,主動(dòng)服務(wù)器將工作單元發(fā)送到被動(dòng)服務(wù)器,并且被動(dòng)服務(wù)器創(chuàng)建遠(yuǎn)程結(jié)果。主動(dòng)服務(wù)器從被動(dòng)服務(wù)器接收遠(yuǎn)程結(jié)果,將本地結(jié)果和遠(yuǎn)程結(jié)果組合成組合結(jié)果,并且將組合結(jié)果發(fā)送到客戶端。在各種實(shí)施方案中,分支和相關(guān)性數(shù)據(jù)包括在束中,主動(dòng)服務(wù)器使用其來(lái)排序和有條件地處理工作單元。


本發(fā)明的各種實(shí)施方案在下文結(jié)合附圖描述。
圖1描繪用于實(shí)現(xiàn)本發(fā)明實(shí)施方案的實(shí)例系統(tǒng)的高級(jí)框圖。
圖2描述根據(jù)本發(fā)明實(shí)施方案實(shí)例系統(tǒng)所選組件的框圖。
圖3A描繪根據(jù)本發(fā)明實(shí)施方案工作單元相對(duì)成本數(shù)據(jù)的實(shí)例數(shù)據(jù)結(jié)構(gòu)的框圖。
圖3B描繪根據(jù)本發(fā)明實(shí)施方案服務(wù)器成本數(shù)據(jù)的實(shí)例數(shù)據(jù)結(jié)構(gòu)的框圖。
圖4A描繪根據(jù)本發(fā)明實(shí)施方案調(diào)用流的實(shí)例數(shù)據(jù)結(jié)構(gòu)的框圖。
圖4B描繪根據(jù)本發(fā)明實(shí)施方案請(qǐng)求束的實(shí)例數(shù)據(jù)結(jié)構(gòu)的框圖。
圖5描繪根據(jù)本發(fā)明實(shí)施方案動(dòng)作的實(shí)例處理的流程圖。
圖6描繪根據(jù)本發(fā)明實(shí)施方案在主動(dòng)服務(wù)器處請(qǐng)求束的實(shí)例處理的流程圖。
圖7描繪根據(jù)本發(fā)明實(shí)施方案在被動(dòng)服務(wù)器處工作單元的實(shí)例處理的流程圖。
但是,應(yīng)當(dāng)注意,附圖僅說(shuō)明本發(fā)明的實(shí)例實(shí)施方案,因此不認(rèn)為是其范圍的限制,因?yàn)楸景l(fā)明可以允許其他等效的實(shí)施方案。
具體實(shí)施例方式
參考附圖,其中遍及幾個(gè)視圖類似的數(shù)字表示類似的部件,圖1描繪根據(jù)本發(fā)明實(shí)施方案經(jīng)由網(wǎng)絡(luò)130連接到服務(wù)器132的客戶端計(jì)算機(jī)系統(tǒng)100的高級(jí)框圖表示。在一種實(shí)施方案中,客戶端計(jì)算機(jī)系統(tǒng)100的硬件組件可以由從Armonk,New York的國(guó)際商業(yè)機(jī)器獲得的eServer iSeries計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)。但是,本領(lǐng)域技術(shù)人員將理解,本發(fā)明實(shí)施方案的機(jī)構(gòu)和裝置同樣適用于任何適當(dāng)?shù)挠?jì)算系統(tǒng)。計(jì)算機(jī)系統(tǒng)100用作服務(wù)器132的客戶端,但是術(shù)語(yǔ)“客戶端”和“服務(wù)器”僅為了方便而使用,在其他實(shí)施方案中,在一個(gè)場(chǎng)景中用作服務(wù)器的電子設(shè)備可能在另一個(gè)場(chǎng)景中用作客戶端,反之亦然。
客戶端計(jì)算機(jī)系統(tǒng)100的主要組件包括一個(gè)或多個(gè)處理器101,主存儲(chǔ)器102,終端接口111,存儲(chǔ)器接口112,I/O(輸入/輸出)設(shè)備接口113,以及通信/網(wǎng)絡(luò)接口114,其全部連接以經(jīng)由存儲(chǔ)器總線103、I/O總線104和I/O總線接口單元105進(jìn)行組件間通信。
客戶端計(jì)算機(jī)系統(tǒng)100包含一個(gè)或多個(gè)通用可編程中央處理單元(CPU)101A、101B、101C和101D,這里一般地稱作處理器101。在一種實(shí)施方案中,客戶端計(jì)算機(jī)系統(tǒng)100包含典型相對(duì)大系統(tǒng)的多個(gè)處理器;但是,在另一種實(shí)施方案中,客戶端計(jì)算機(jī)系統(tǒng)100可能作為選擇是單個(gè)CPU系統(tǒng)。每個(gè)處理器101執(zhí)行存儲(chǔ)在主存儲(chǔ)器102中的指令,并且可能包括一個(gè)或多個(gè)板上高速緩沖存儲(chǔ)器級(jí)別。
主存儲(chǔ)器102是用于存儲(chǔ)數(shù)據(jù)和程序的隨機(jī)存取半導(dǎo)體存儲(chǔ)器。在另一種實(shí)施方案中,主存儲(chǔ)器102表示客戶端計(jì)算機(jī)系統(tǒng)100的整個(gè)虛擬內(nèi)存,并且可能也包括連接到客戶端計(jì)算機(jī)系統(tǒng)100或經(jīng)由網(wǎng)絡(luò)130連接的其他計(jì)算機(jī)系統(tǒng)的虛擬內(nèi)存。主存儲(chǔ)器102在概念上是單個(gè)單一實(shí)體,但是在其他實(shí)施方案中,主存儲(chǔ)器102是更復(fù)雜的配置,例如高速緩沖存儲(chǔ)器和其他存儲(chǔ)設(shè)備的分層結(jié)構(gòu)。例如,主存儲(chǔ)器102可能存在于多級(jí)高速緩沖存儲(chǔ)器中,并且這些高速緩沖存儲(chǔ)器可能還根據(jù)功能劃分,使得一個(gè)高速緩沖存儲(chǔ)器保存指令而另一個(gè)高速緩沖存儲(chǔ)器保存由一個(gè)或多個(gè)處理器使用的非指令數(shù)據(jù)。主存儲(chǔ)器102可能進(jìn)一步分布并與不同CPU或CPU集合相關(guān)聯(lián),如在各種所謂非均勻存儲(chǔ)器存取(NUMA)計(jì)算機(jī)體系結(jié)構(gòu)的任何一種中已知的。
主存儲(chǔ)器102包括服務(wù)器選擇機(jī)構(gòu)160、應(yīng)用162、工作單元相對(duì)成本數(shù)據(jù)164、服務(wù)器成本數(shù)據(jù)165、調(diào)用流166以及請(qǐng)求束168。雖然服務(wù)器選擇機(jī)構(gòu)160、應(yīng)用162、工作單元相對(duì)成本數(shù)據(jù)164、服務(wù)器成本數(shù)據(jù)165、調(diào)用流166和請(qǐng)求束168所示包含在客戶端計(jì)算機(jī)系統(tǒng)100中的存儲(chǔ)器102中,在其他實(shí)施方案中,它們中一些或全部可能在不同的計(jì)算機(jī)系統(tǒng)上并且可能例如經(jīng)由網(wǎng)絡(luò)130遠(yuǎn)程訪問(wèn)??蛻舳擞?jì)算機(jī)系統(tǒng)100可以使用虛擬尋址機(jī)制,其允許客戶端計(jì)算機(jī)系統(tǒng)100的程序表現(xiàn)好像它們僅訪問(wèn)大且單個(gè)存儲(chǔ)實(shí)體而不是訪問(wèn)多個(gè)較小的存儲(chǔ)實(shí)體。因此,雖然服務(wù)器選擇機(jī)構(gòu)160、應(yīng)用162、工作單元相對(duì)成本數(shù)據(jù)164、服務(wù)器成本數(shù)據(jù)165、調(diào)用流166和請(qǐng)求束168所示包含在存儲(chǔ)器102中,這些單元不一定都同時(shí)完全包含在相同的存儲(chǔ)設(shè)備中。此外,雖然服務(wù)器選擇機(jī)構(gòu)160、應(yīng)用162、工作單元相對(duì)成本數(shù)據(jù)164、服務(wù)器成本數(shù)據(jù)165、調(diào)用流166和請(qǐng)求束168所示為單獨(dú)的實(shí)體,在其他實(shí)施方案中,它們中一些,或者它們中一些的部分可能封裝在一起。
在一種實(shí)施方案中,服務(wù)器選擇機(jī)構(gòu)160包括能夠在處理器101上執(zhí)行的指令或能夠由在處理器101上執(zhí)行的指令解釋的語(yǔ)句以執(zhí)行下面參考圖2和5進(jìn)一步描述的功能。在另一種實(shí)施方案中,服務(wù)器選擇機(jī)構(gòu)160可能在微碼中實(shí)現(xiàn)。在另一種實(shí)施方案中,服務(wù)器選擇機(jī)構(gòu)160可能經(jīng)由邏輯門和/或其他適當(dāng)硬件技術(shù)在硬件中實(shí)現(xiàn),代替或除了基于處理器的系統(tǒng)之外。應(yīng)用162可能是用戶應(yīng)用、第三方應(yīng)用、操作系統(tǒng)或者其任何組合或部分。工作單元相對(duì)成本數(shù)據(jù)164參考圖3A在下面進(jìn)一步描述。服務(wù)器成本數(shù)據(jù)165參考圖3B在下面進(jìn)一步描述。調(diào)用流166參考圖4A在下面進(jìn)一步描述。請(qǐng)求束168參考圖4B在下面進(jìn)一步描述。
存儲(chǔ)器總線103提供在處理器101、主存儲(chǔ)器102和I/O總線接口單元105之間傳送數(shù)據(jù)的數(shù)據(jù)通信路徑。I/O總線接口單元105還連接到用于將數(shù)據(jù)傳送到各種I/O單元以及傳送來(lái)自各種I/O單元的數(shù)據(jù)的系統(tǒng)I/O總線104。I/O總線接口單元105通過(guò)系統(tǒng)I/O總線104與也已知為I/O處理器(IOP)或I/O適配器(IOA)的多個(gè)I/O接口單元111,112,113和114通信。系統(tǒng)I/O總線104可能是例如工業(yè)標(biāo)準(zhǔn)PCI總線或任何其他適當(dāng)總線技術(shù)。
I/O接口單元支持與多種存儲(chǔ)器和I/O設(shè)備的通信。例如,終端接口單元111支持一個(gè)或多個(gè)用戶終端121,122,123和124的連接。存儲(chǔ)器接口單元112支持一個(gè)或多個(gè)直接存取存儲(chǔ)設(shè)備(DASD)125,126和127(其典型地是旋轉(zhuǎn)磁盤驅(qū)動(dòng)器存儲(chǔ)設(shè)備,雖然它們可能作為選擇是其他設(shè)備,包括配置以對(duì)主機(jī)表現(xiàn)為單個(gè)大存儲(chǔ)設(shè)備的磁盤驅(qū)動(dòng)器陣列)的連接。主存儲(chǔ)器102的內(nèi)容可以根據(jù)需要存儲(chǔ)到直接存取存儲(chǔ)設(shè)備125,126和127或從其中取回。
I/O和其他設(shè)備接口113提供到各種其他輸入/輸出設(shè)備或其他類型設(shè)備中任何一個(gè)的接口。兩個(gè)這種設(shè)備,打印機(jī)128和傳真機(jī)129在圖1的實(shí)例實(shí)施方案中顯示,但是在其他實(shí)施方案中,許多其他這種設(shè)備可能存在,其可能具有不同類型。網(wǎng)絡(luò)接口114提供從客戶端計(jì)算機(jī)系統(tǒng)100到其他數(shù)字設(shè)備和計(jì)算機(jī)系統(tǒng)的一個(gè)或多個(gè)通信路徑;這種路徑可能包括例如一個(gè)或多個(gè)網(wǎng)絡(luò)130。
雖然存儲(chǔ)器總線103在圖1中顯示為提供處理器101、主存儲(chǔ)器102和I/O總線接口105之間直接通信路徑的相對(duì)簡(jiǎn)單、單個(gè)總線結(jié)構(gòu),實(shí)際上,存儲(chǔ)器總線103可能包括多個(gè)不同的總線或通信路徑,其可能以各種形式中任何一種排列,例如分層、星形或網(wǎng)狀結(jié)構(gòu)中的點(diǎn)到點(diǎn)鏈路、多個(gè)分層總線、并行冗余路徑或者任何其他適當(dāng)類型的結(jié)構(gòu)。此外,雖然I/O總線接口105和I/O總線104顯示為單個(gè)各自單元,客戶端計(jì)算機(jī)系統(tǒng)100實(shí)際上可能包含多個(gè)I/O總線接口單元105和/或多個(gè)I/O總線104。當(dāng)顯示多個(gè)I/O接口單元時(shí),其將系統(tǒng)I/O總線104與運(yùn)行到各種I/O設(shè)備的各種通信路徑分離,在其他實(shí)施方案中,I/O設(shè)備的一些或全部直接連接到一個(gè)或多個(gè)系統(tǒng)I/O總線。
圖1中描繪的客戶端計(jì)算機(jī)系統(tǒng)100具有多個(gè)連接的終端121,122,123和124,例如可能是典型的多用戶“大型”計(jì)算機(jī)系統(tǒng)。典型地,在這種情況下,連接設(shè)備的實(shí)際數(shù)目大于圖1中所示的那些,雖然本發(fā)明并不局限于任何特定大小的系統(tǒng)??蛻舳擞?jì)算機(jī)系統(tǒng)100可能作為選擇是典型地僅包含單個(gè)用戶顯示器和鍵盤輸入的單用戶系統(tǒng),或者可能是具有很少或不具有直接用戶接口,但是接收來(lái)自其他計(jì)算機(jī)系統(tǒng)(客戶端)請(qǐng)求的服務(wù)器或類似設(shè)備。在其他實(shí)施方案中,客戶端計(jì)算機(jī)系統(tǒng)100可能實(shí)現(xiàn)為個(gè)人計(jì)算機(jī)、便攜式計(jì)算機(jī)、膝上型或筆記本計(jì)算機(jī)、PDA(個(gè)人數(shù)字助理)、平板計(jì)算機(jī)、袖珍計(jì)算機(jī)、電話、傳呼機(jī)、汽車、電話會(huì)議系統(tǒng)、儀表或任何其他適當(dāng)類型的電子設(shè)備。
網(wǎng)絡(luò)130可能是任何適當(dāng)?shù)木W(wǎng)絡(luò)或網(wǎng)絡(luò)組合并且可能支持適合于到/來(lái)自客戶端計(jì)算機(jī)系統(tǒng)100的數(shù)據(jù)和/或代碼的通信的任何適當(dāng)協(xié)議。在各種實(shí)施方案中,網(wǎng)絡(luò)130可能代表直接或間接連接到客戶端計(jì)算機(jī)系統(tǒng)100的存儲(chǔ)設(shè)備或存儲(chǔ)設(shè)備的組合。在一種實(shí)施方案中,網(wǎng)絡(luò)130可能支持Infiniband。在另一種實(shí)施方案中,網(wǎng)絡(luò)130可能支持無(wú)線通信。在另一種實(shí)施方案中,網(wǎng)絡(luò)130可能支持硬布線通信,例如電話線或電纜。在另一種實(shí)施方案中,網(wǎng)絡(luò)130可能支持以太網(wǎng)IEEE(電器和電子工程師協(xié)會(huì))802.3x規(guī)范。在另一種實(shí)施方案中,網(wǎng)絡(luò)130可能是因特網(wǎng)并且可能支持IP(因特網(wǎng)協(xié)議)。
在另一種實(shí)施方案中,網(wǎng)絡(luò)130可能是局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)。在另一種實(shí)施方案中,網(wǎng)絡(luò)130可能是熱點(diǎn)服務(wù)提供商網(wǎng)絡(luò)。在另一種實(shí)施方案中,網(wǎng)絡(luò)130可能是內(nèi)聯(lián)網(wǎng)。在另一種實(shí)施方案中,網(wǎng)絡(luò)130可能是GPRS(通用分組無(wú)線電服務(wù))網(wǎng)絡(luò)。在另一種實(shí)施方案中,網(wǎng)絡(luò)130可能是FRS(家庭無(wú)線電服務(wù))網(wǎng)絡(luò)。在另一種實(shí)施方案中,網(wǎng)絡(luò)130可能是任何適當(dāng)?shù)姆涓C狀數(shù)據(jù)網(wǎng)絡(luò)或基于蜂窩的無(wú)線電網(wǎng)絡(luò)技術(shù)。在另一種實(shí)施方案中,網(wǎng)絡(luò)130可能是IEEE 802.11B無(wú)線網(wǎng)絡(luò)。在另一種實(shí)施方案中,網(wǎng)絡(luò)130可能是任何適當(dāng)?shù)木W(wǎng)絡(luò)或網(wǎng)絡(luò)的組合。雖然顯示一個(gè)網(wǎng)絡(luò)130,在其他實(shí)施方案中,任何數(shù)目(包括零個(gè))網(wǎng)絡(luò)(相同或不同類型)可能存在。
服務(wù)器132可能包括已經(jīng)對(duì)客戶端計(jì)算機(jī)系統(tǒng)100描述的硬件組件的一些或全部。服務(wù)器132還包括對(duì)等服務(wù)器處理程序136和服務(wù)器調(diào)用協(xié)調(diào)程序138。服務(wù)器132參考圖2在下面進(jìn)一步描述。
在一種實(shí)施方案中,對(duì)等服務(wù)器處理程序136和服務(wù)器調(diào)用協(xié)調(diào)程序138,或者其任何組合或部分,包括能夠在類似于處理器101的處理器上執(zhí)行的指令或者能夠由在處理器上執(zhí)行的指令解釋的語(yǔ)句以執(zhí)行如參考圖2,6和7在下面進(jìn)一步描述的功能。在另一種實(shí)施方案中,對(duì)等服務(wù)器處理程序136和服務(wù)器調(diào)用協(xié)調(diào)程序138,或者其任何組合或部分,可能在微碼中實(shí)現(xiàn)。在另一種實(shí)施方案中,對(duì)等服務(wù)器處理程序136和服務(wù)器調(diào)用協(xié)調(diào)程序138,或者其任何組合或部分,可能經(jīng)由邏輯門和/或其他適當(dāng)硬件技術(shù)在硬件中實(shí)現(xiàn),代替或除了基于處理器的系統(tǒng)之外。
應(yīng)當(dāng)理解,圖1目的在于在高級(jí)別描繪客戶端計(jì)算機(jī)系統(tǒng)100、網(wǎng)絡(luò)130和服務(wù)器132的代表性主要組件,各個(gè)組件可能具有比圖1中表現(xiàn)的更大復(fù)雜度,不同于或除了圖1中所示那些之外的組件可能存在,以及這些組件的數(shù)目、類型和結(jié)構(gòu)可能變化。這種其它復(fù)雜度或其它變化的幾個(gè)特定實(shí)例在這里公開(kāi);應(yīng)當(dāng)理解,這些僅作為實(shí)例并且不一定僅是這種變化。
圖1中所示并實(shí)現(xiàn)本發(fā)明各種實(shí)施方案的各種軟件組件可能以多種方式實(shí)現(xiàn),包括使用各種計(jì)算機(jī)軟件應(yīng)用程序、例程、組件、程序、對(duì)象、模塊、數(shù)據(jù)結(jié)構(gòu)等,在下文稱作“計(jì)算機(jī)程序”或簡(jiǎn)單地“程序”。計(jì)算機(jī)程序典型地包括在各種時(shí)刻駐留在客戶端計(jì)算機(jī)系統(tǒng)100中各種存儲(chǔ)器和存儲(chǔ)設(shè)備中,并且當(dāng)由客戶端計(jì)算機(jī)系統(tǒng)100中一個(gè)或多個(gè)處理器101讀取并執(zhí)行時(shí),使得客戶端計(jì)算機(jī)系統(tǒng)100完成執(zhí)行包括本發(fā)明實(shí)施方案各個(gè)方面的步驟或單元必要的步驟的一個(gè)或多個(gè)指令。
而且,雖然本發(fā)明的實(shí)施方案已經(jīng)并且在下文將在全功能的計(jì)算機(jī)系統(tǒng)的上下文中描述,本發(fā)明的各種實(shí)施方案能夠以多種形式作為程序產(chǎn)品發(fā)行,并且本發(fā)明同樣適用而不管用來(lái)實(shí)際執(zhí)行發(fā)行的特定類型的信號(hào)承載介質(zhì)。定義該實(shí)施方案功能的程序可能經(jīng)由多種有形信號(hào)承載介質(zhì)存儲(chǔ)在客戶端計(jì)算機(jī)系統(tǒng)100和/或服務(wù)器132中,在客戶端計(jì)算機(jī)系統(tǒng)100和/或服務(wù)器132上編碼以及遞送到客戶端計(jì)算機(jī)系統(tǒng)100和/或服務(wù)器132,其中有形信號(hào)承載介質(zhì)包括但不局限于下面的計(jì)算機(jī)可讀介質(zhì)(1)永久地存儲(chǔ)在不可重寫(xiě)存儲(chǔ)介質(zhì),例如連接到計(jì)算機(jī)系統(tǒng)或位于其中的只讀存儲(chǔ)器或存儲(chǔ)設(shè)備,例如CD-ROM、DVD-R或DVD+R上的信息;(2)存儲(chǔ)在可重寫(xiě)存儲(chǔ)介質(zhì),例如硬盤驅(qū)動(dòng)器(例如DASD 125,126或127)、CD-RW、DVD-RW、DVD+RW、DVD-RAM或軟盤上的可更改信息;或者(3)由通信或傳輸介質(zhì),例如通過(guò)計(jì)算機(jī)或電話網(wǎng)絡(luò),例如網(wǎng)絡(luò)130傳送的信息。
這種有形信號(hào)承載介質(zhì),當(dāng)承載指導(dǎo)或控制本發(fā)明功能的計(jì)算機(jī)可讀、處理器可讀或機(jī)器可讀指令或語(yǔ)句或者使用其編碼時(shí),代表本發(fā)明的實(shí)施方案。
本發(fā)明的實(shí)施方案也可能作為與客戶端公司、非盈利組織、政府實(shí)體、內(nèi)部組織結(jié)構(gòu)等的服務(wù)約定的一部分而遞送。這些實(shí)施方案的方面可能包括配置計(jì)算機(jī)系統(tǒng)以執(zhí)行這里描述的方法中的一些或全部,以及使用實(shí)現(xiàn)這里描述的方法中一些或全部的軟件系統(tǒng)或web服務(wù)。這些實(shí)施方案的方面也可能包括分析客戶端公司,響應(yīng)分析產(chǎn)生建議,產(chǎn)生軟件以實(shí)現(xiàn)建議的部分,將軟件集成到現(xiàn)有處理和基礎(chǔ)結(jié)構(gòu)中,計(jì)量這里描述的方法和系統(tǒng)的使用,分配費(fèi)用給客戶,并且針對(duì)他們對(duì)這些方法和系統(tǒng)的使用給用戶開(kāi)賬單。
另外,在下文描述的各種程序可能基于它們?cè)诒景l(fā)明具體實(shí)施方案中實(shí)現(xiàn)的應(yīng)用而識(shí)別。但是,下面的任何特定程序命名僅為了方便而使用,因此本發(fā)明的實(shí)施方案不應(yīng)當(dāng)局限于僅在由這種命名法識(shí)別和/或隱含的任何具體應(yīng)用中使用。
圖1中所示的實(shí)例環(huán)境并不意在限制本發(fā)明。實(shí)際上,其他備選硬件和/或軟件環(huán)境可以使用而不背離本發(fā)明的范圍。
圖2描繪根據(jù)本發(fā)明實(shí)施方案圖1的實(shí)例系統(tǒng)的所選組件的框圖。說(shuō)明的是經(jīng)由網(wǎng)絡(luò)130(圖1)可通信地連接到主動(dòng)服務(wù)器132-1的客戶端100。主動(dòng)服務(wù)器132-1經(jīng)由網(wǎng)絡(luò)130(圖1)可通信地連接到被動(dòng)服務(wù)器132-2和132-3,但是在其他實(shí)施方案中,任何數(shù)目的客戶端、主動(dòng)服務(wù)器和被動(dòng)服務(wù)器可能存在。服務(wù)器132(圖1)一般地指主動(dòng)服務(wù)器132-1以及被動(dòng)服務(wù)器132-2和132-3。
主動(dòng)服務(wù)器132-1包括主動(dòng)對(duì)等服務(wù)器處理程序136-1和主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1。被動(dòng)服務(wù)器132-2包括被動(dòng)對(duì)等服務(wù)器處理程序136-2和被動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-2。被動(dòng)服務(wù)器132-3包括被動(dòng)對(duì)等服務(wù)器處理程序136-3和被動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-3。對(duì)等服務(wù)器處理程序136(圖1)一般地指主動(dòng)對(duì)等服務(wù)器處理程序136-1以及被動(dòng)對(duì)等服務(wù)器處理程序136-2和136-3。服務(wù)器調(diào)用協(xié)調(diào)程序138(圖1)一般地指主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1以及被動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-2和138-3。術(shù)語(yǔ)“主動(dòng)”和“被動(dòng)”在這里僅為了方便而使用,并且在其他實(shí)施方案中,對(duì)于一個(gè)請(qǐng)求束為“主動(dòng)”的服務(wù)器132、對(duì)等服務(wù)器處理程序136和服務(wù)器調(diào)用協(xié)調(diào)程序138可能對(duì)于另一個(gè)請(qǐng)求束為“被動(dòng)”,反之亦然。因此,例如,服務(wù)器132-1可能作為一個(gè)請(qǐng)求束的主動(dòng)服務(wù)器操作,而同時(shí)作為其他請(qǐng)求束的被動(dòng)服務(wù)器操作。類似地,例如,服務(wù)器132-2可能作為一個(gè)請(qǐng)求束的被動(dòng)服務(wù)器操作,而同時(shí)作為其他請(qǐng)求束的主動(dòng)服務(wù)器操作。
服務(wù)器選擇機(jī)構(gòu)160累積來(lái)自應(yīng)用162的動(dòng)作直到達(dá)到邊界。邊界可以由事務(wù)、由活動(dòng)或由用戶指定。服務(wù)器選擇機(jī)構(gòu)160基于動(dòng)作創(chuàng)建工作單元并且在邊界處將工作單元捆綁成請(qǐng)求束168。服務(wù)器選擇機(jī)構(gòu)160進(jìn)一步經(jīng)由工作單元相對(duì)成本數(shù)據(jù)164和服務(wù)器成本數(shù)據(jù)165從多個(gè)服務(wù)器132中選擇主動(dòng)服務(wù)器132-1,以接收請(qǐng)求束168。服務(wù)器選擇機(jī)構(gòu)160可以對(duì)于不同的請(qǐng)求束168選擇不同的主動(dòng)服務(wù)器132-1。服務(wù)器選擇機(jī)構(gòu)160基于請(qǐng)求束168的性質(zhì)、請(qǐng)求束168中工作單元的相對(duì)成本數(shù)據(jù)164以及它們的平均服務(wù)器成本數(shù)據(jù)165確定主動(dòng)服務(wù)器132-1,以便使得在不同服務(wù)器132處理請(qǐng)求束168的成本達(dá)到最小。服務(wù)器選擇機(jī)構(gòu)160將請(qǐng)求束168發(fā)送到所選主動(dòng)服務(wù)器132-1的主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1。
主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1協(xié)調(diào)請(qǐng)求束168中的工作單元。主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1確定本地主動(dòng)對(duì)等服務(wù)器處理程序136-1是否能夠處理請(qǐng)求束168中的工作單元。如果本地主動(dòng)對(duì)等服務(wù)器處理程序136-1不能處理工作單元,主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1將工作單元發(fā)送到遠(yuǎn)程被動(dòng)服務(wù)器132-2或132-3,在那里工作單元由被動(dòng)對(duì)等服務(wù)器處理程序136-2或136-3處理。主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1檢查工作單元與工作單元條件處理的分支之間的相關(guān)性,以便增加請(qǐng)求束168中不同工作單元的并行計(jì)算。主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1等待來(lái)自所有工作單元的結(jié)果。當(dāng)接收到結(jié)果時(shí),主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1組合結(jié)果并將組合結(jié)果發(fā)送到客戶端100。
圖3A描繪根據(jù)本發(fā)明實(shí)施方案工作單元相對(duì)成本數(shù)據(jù)164的實(shí)例數(shù)據(jù)結(jié)構(gòu)的框圖。工作單元相對(duì)成本數(shù)據(jù)164包括記錄305,310,315,320和325,但是在其他實(shí)施方案中,具有任何適當(dāng)數(shù)據(jù)的任何數(shù)目的記錄可能存在。記錄305,310,315,320和325的每個(gè)包括工作單元字段330和相對(duì)成本字段335,但是在其他實(shí)施方案中,更多或更少的字段可能存在。
工作單元字段330標(biāo)識(shí)事務(wù)、計(jì)算、操作、功能、請(qǐng)求、命令、或能夠完成或執(zhí)行的任何其他類型的工作單元。相對(duì)成本字段335標(biāo)識(shí)當(dāng)與其他工作單元相比較時(shí)完成或執(zhí)行各個(gè)工作單元330的相對(duì)成本,而不管工作單元在哪個(gè)服務(wù)器132執(zhí)行或完成。作為工作單元相對(duì)成本的實(shí)例,實(shí)現(xiàn)取回動(dòng)作的工作單元可能比實(shí)現(xiàn)更新動(dòng)作的工作單元具有較低的相對(duì)成本,并且實(shí)現(xiàn)瀏覽動(dòng)作的工作單元可能比實(shí)現(xiàn)事務(wù)動(dòng)作的工作單元具有較低的相對(duì)成本,而不管哪個(gè)服務(wù)器處理由該動(dòng)作產(chǎn)生的工作單元。但是,在其他實(shí)施方案中,任何適當(dāng)?shù)膭?dòng)作、工作單元和相對(duì)成本可以使用。
圖3B描繪根據(jù)本發(fā)明實(shí)施方案服務(wù)器成本數(shù)據(jù)165的實(shí)例數(shù)據(jù)結(jié)構(gòu)的框圖。服務(wù)器成本數(shù)據(jù)165包括記錄350,355和360,但是在其他實(shí)施方案中,具有任何適當(dāng)數(shù)據(jù)的任何數(shù)目的記錄可能存在。記錄350,355和360的每個(gè)包括服務(wù)器標(biāo)識(shí)字段365和服務(wù)器成本字段370,但是在其他實(shí)施方案中,更多或更少的字段可能存在。服務(wù)器標(biāo)識(shí)字段365標(biāo)識(shí)服務(wù)器132。服務(wù)器成本370指示在服務(wù)器365處理工作單元的相對(duì)或絕對(duì)成本。在一種實(shí)施方案中,服務(wù)器成本370指示與特定服務(wù)器365相關(guān)聯(lián)的成本,而不管服務(wù)器365完成或執(zhí)行哪個(gè)工作單元330。在另一種實(shí)施方案中,服務(wù)器成本370取決于服務(wù)器365正在處理哪個(gè)工作單元330,所以服務(wù)器成本370可能取決于服務(wù)器365自身是否可以處理工作單元330或必須將工作單元330轉(zhuǎn)發(fā)到被動(dòng)服務(wù)器132-2或132-3而對(duì)服務(wù)器365變化。
作為服務(wù)器成本370的實(shí)例,由不同服務(wù)器標(biāo)識(shí)符365標(biāo)識(shí)的不同服務(wù)器132可能具有依賴于服務(wù)器132的類型、服務(wù)器132位于的國(guó)家、服務(wù)器132的工作量、服務(wù)器132的購(gòu)買價(jià)格或操作成本、本地對(duì)等服務(wù)器處理程序136能夠執(zhí)行的服務(wù),或任何其他適當(dāng)因素的不同成本。在各種實(shí)施方案中,服務(wù)器132可能經(jīng)由基于歷史數(shù)據(jù)的訓(xùn)練,由基于規(guī)則的計(jì)算確定它們的成本,或可能具有由管理員設(shè)置的成本。
圖4A描繪根據(jù)本發(fā)明實(shí)施方案調(diào)用流166的實(shí)例數(shù)據(jù)結(jié)構(gòu)的框圖。調(diào)用流166包括工作單元405,410,415,420和425,但是在其他實(shí)施方案中,具有任何適當(dāng)數(shù)據(jù)的任何數(shù)目的工作單元可能存在。工作單元405,410,415,420和425的每個(gè)包括標(biāo)識(shí)符字段430、對(duì)象字段435、方法字段440、參數(shù)字段450、分支字段455、相關(guān)性字段460以及主動(dòng)服務(wù)器標(biāo)識(shí)字段470。
標(biāo)識(shí)符字段430標(biāo)識(shí)調(diào)用流166中的工作單元和記錄。對(duì)象435標(biāo)識(shí)工作單元針對(duì)的對(duì)象,或工作單元需要訪問(wèn)的數(shù)據(jù)或設(shè)備。對(duì)象435的實(shí)例包括數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)表格、文檔、文件、電子設(shè)備、存儲(chǔ)設(shè)備、I/O處理器、網(wǎng)絡(luò)接口設(shè)備、或方法440針對(duì)的任何其他適當(dāng)類型的對(duì)象。方法440標(biāo)識(shí)對(duì)等服務(wù)器處理程序136用來(lái)完成或執(zhí)行工作單元的方法、功能、程序、模塊或任何其他邏輯。參數(shù)450標(biāo)識(shí)可能由從應(yīng)用162接收的動(dòng)作傳遞到方法440的任何數(shù)據(jù)。參數(shù)450的實(shí)例可能包括關(guān)鍵字、列、行標(biāo)識(shí)符、賬號(hào)、密碼、條目或由方法完成或執(zhí)行工作單元所需的任何其他適當(dāng)數(shù)據(jù)。
分支455標(biāo)識(shí)指定工作單元的順序和條件執(zhí)行的邏輯條件。例如,工作單元405具有分支455,指示如果工作單元A 405(由“A”的ID430標(biāo)識(shí))成功,那么工作單元B 410(由“B”的ID 430標(biāo)識(shí))將完成或執(zhí)行,但是如果工作單元A 405不成功,那么工作單元C 415(由“C”的ID 430標(biāo)識(shí))將完成或執(zhí)行。由主動(dòng)服務(wù)器字段470指定的主動(dòng)服務(wù)器132-1的主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1讀取分支455并且基于分支455的邏輯條件排序指定工作單元的執(zhí)行,如參考圖6在下面進(jìn)一步描述的。
相關(guān)性字段460標(biāo)識(shí)影響工作單元的處理或執(zhí)行順序或影響工作單元的可能并行處理的工作單元之間的相關(guān)性。例如,工作單元425具有相關(guān)性字段460,指示工作單元“A”和“D”的結(jié)果(例如,由工作單元“A”和“D”取回的數(shù)據(jù))將由工作單元“E”使用。因此,主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1不發(fā)送工作單元“E”到適當(dāng)?shù)膶?duì)等服務(wù)器處理程序136直到工作單元“A”和“D”已經(jīng)完成。但是,工作單元“A”和“D”可能以任何順序或同時(shí)執(zhí)行。由主動(dòng)服務(wù)器字段470指定的主動(dòng)服務(wù)器132-1的主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1讀取相關(guān)性460并且基于相關(guān)性460排序指定工作單元的執(zhí)行,如參考圖6在下面進(jìn)一步描述的。
主動(dòng)服務(wù)器標(biāo)識(shí)字段470標(biāo)識(shí)工作單元可能發(fā)送到的主動(dòng)服務(wù)器132-1。服務(wù)器選擇機(jī)構(gòu)160選擇主動(dòng)服務(wù)器132-1并且因此設(shè)置主動(dòng)服務(wù)器標(biāo)識(shí)字段470,如參考圖5在下面進(jìn)一步描述的。
圖4B描繪根據(jù)本發(fā)明實(shí)施方案請(qǐng)求束168的實(shí)例數(shù)據(jù)結(jié)構(gòu)的框圖。實(shí)例請(qǐng)求束168包括使用相同主動(dòng)服務(wù)器470(圖4A)的任何數(shù)目的捆綁工作單元,例如所示工作單元405,410,415,420和425。服務(wù)器選擇機(jī)構(gòu)160選擇工作單元405,410,415,420和425并且將它們捆綁成請(qǐng)求束168,如參考圖5在下面進(jìn)一步描述的。
圖5描繪根據(jù)本發(fā)明實(shí)施方案的實(shí)例動(dòng)作處理的流程圖??刂圃趬K500開(kāi)始。然后控制繼續(xù)到塊505,在那里服務(wù)器選擇機(jī)構(gòu)160接收來(lái)自應(yīng)用162的動(dòng)作。然后控制繼續(xù)到塊510,在那里服務(wù)器選擇機(jī)構(gòu)160確定是否已經(jīng)遇到動(dòng)作邊界。在各種實(shí)施方案中,動(dòng)作邊界可以由應(yīng)用162的事務(wù),由應(yīng)用162的活動(dòng),或由用戶指定。
如果塊510的確定成立,那么已經(jīng)遇到動(dòng)作邊界,所以控制繼續(xù)到步驟515,在那里服務(wù)器選擇機(jī)構(gòu)160確定由接收的累積動(dòng)作產(chǎn)生的工作單元的相對(duì)成本335。在一種實(shí)施方案中,服務(wù)器選擇機(jī)構(gòu)160通過(guò)基于接收的動(dòng)作在工作單元相對(duì)成本數(shù)據(jù)164中查找工作單元330并且讀取相關(guān)相對(duì)成本335來(lái)確定相對(duì)成本。在另一種實(shí)施方案中,服務(wù)器選擇機(jī)構(gòu)160也使用來(lái)自應(yīng)用162的動(dòng)作基于接收的任何相關(guān)參數(shù)調(diào)節(jié)相對(duì)成本335。
然后控制繼續(xù)到塊520,在那里服務(wù)器選擇機(jī)構(gòu)160確定可用于處理與接收和累積的動(dòng)作相關(guān)聯(lián)的工作單元的服務(wù)器132的服務(wù)器成本370。在一種實(shí)施方案中,各種可用服務(wù)器的成本固定而不管工作單元,并且服務(wù)器選擇機(jī)構(gòu)160基于可用于處理工作單元的服務(wù)器365從服務(wù)器成本數(shù)據(jù)165中讀取服務(wù)器成本370。
在另一種實(shí)施方案中,服務(wù)器選擇機(jī)構(gòu)160基于工作單元調(diào)節(jié)服務(wù)器成本370。例如,如果服務(wù)器365具有在可以本地處理工作單元的主動(dòng)對(duì)等服務(wù)器處理程序136-1中可用的服務(wù),那么服務(wù)器選擇機(jī)構(gòu)160使用服務(wù)器成本數(shù)據(jù)165中的服務(wù)器成本370而不修改。但是,如果服務(wù)器365必須引起發(fā)送或路由工作單元到被動(dòng)服務(wù)器(例如被動(dòng)服務(wù)器132-2或132-3)以由遠(yuǎn)程被動(dòng)對(duì)等服務(wù)器處理程序(例如被動(dòng)對(duì)等服務(wù)器處理程序136-2或136-3)處理的進(jìn)一步通信成本,那么服務(wù)器選擇機(jī)構(gòu)160因此增加服務(wù)器365的服務(wù)器成本370。
然后控制繼續(xù)到塊525,在那里服務(wù)器選擇機(jī)構(gòu)160計(jì)算由服務(wù)器標(biāo)識(shí)符365標(biāo)識(shí)的可能可用服務(wù)器132的每個(gè)的總加權(quán)成本,其處理包括由累積動(dòng)作產(chǎn)生的工作單元的請(qǐng)求束168。使用圖3A,3B和4A的實(shí)例,各個(gè)記錄405,410,415,420和425中的工作單元A,B,C,C和E具有各自的工作單元相對(duì)成本2,4,3,5和6。三個(gè)可能的服務(wù)器132存在在服務(wù)器成本數(shù)據(jù)165中各自服務(wù)器成本370為2,4和3的記錄350的服務(wù)器A,記錄355的服務(wù)器B以及記錄360的服務(wù)器C。
如果服務(wù)器A自身能夠處理工作單元A,B和C,但是需要發(fā)送或路由工作單元D和E到服務(wù)器B,那么服務(wù)器選擇機(jī)構(gòu)160將工作單元D和E的服務(wù)器成本370從2增加(在塊520)到例如4。因此,服務(wù)器A具有總加權(quán)成本(2*2)+(2*4)+(2*3)+(4*5)+(4*6)=62。
如果服務(wù)器B自身能夠處理工作單元B,C,D和E,但是需要發(fā)送或路由工作單元A到服務(wù)器C,那么服務(wù)器選擇機(jī)構(gòu)160將工作單元E的服務(wù)器成本370從4增加(在塊520)到例如6。因此,服務(wù)器B具有總加權(quán)成本(6*2)+(4*4)+(4*3)+(4*5)+(4*6)=84。
如果服務(wù)器C自身能夠處理工作單元A,B,D和E,但是需要發(fā)送或路由工作單元C到服務(wù)器A,那么服務(wù)器選擇機(jī)構(gòu)160將工作單元C的服務(wù)器成本370從3增加(在塊520)到例如4。因此,服務(wù)器C具有總加權(quán)成本(3*2)+(3*4)+(4*3)+(3*5)+(3*6)=63。
服務(wù)器選擇機(jī)構(gòu)160然后比較每個(gè)服務(wù)器的計(jì)算的總加權(quán)成本(62比84比63),并且選擇具有最低總加權(quán)成本的服務(wù)器A,并且指定該服務(wù)器為主動(dòng)服務(wù)器132-1。
然后控制繼續(xù)到塊530,在那里服務(wù)器選擇機(jī)構(gòu)160基于累積動(dòng)作和先前在塊525確定的主動(dòng)服務(wù)器創(chuàng)建工作單元的調(diào)用流166,包括創(chuàng)建標(biāo)識(shí)符430、對(duì)象435、方法440、參數(shù)450、分支455、相關(guān)性460和主動(dòng)服務(wù)器470。然后控制繼續(xù)到塊535,在那里服務(wù)器選擇機(jī)構(gòu)160基于調(diào)用流創(chuàng)建工作單元的請(qǐng)求束168并且發(fā)送請(qǐng)求束到所選主動(dòng)服務(wù)器470。然后控制繼續(xù)到塊540,在那里主動(dòng)服務(wù)器132-1處理請(qǐng)求束168,如參考圖6在下面進(jìn)一步描述的。然后控制繼續(xù)到塊599,在那里圖5的邏輯返回。
如果塊510的確定不成立,那么還沒(méi)有遇到動(dòng)作邊界,所以控制繼續(xù)到塊510,在那里服務(wù)器選擇機(jī)構(gòu)160累積接收的動(dòng)作。然后控制返回到塊505,如先前在上面描述的。
圖6描繪根據(jù)本發(fā)明實(shí)施方案在主動(dòng)服務(wù)器132-1處請(qǐng)求束168的實(shí)例處理的流程圖。控制在塊600開(kāi)始。然后控制繼續(xù)到塊605,在那里主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1接收來(lái)自客戶端100的請(qǐng)求束168。然后控制繼續(xù)到塊610,在那里主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1確定請(qǐng)求束168中不具有分支455或相關(guān)性460的工作單元。主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1還確定請(qǐng)求束168中使其分支455和相關(guān)性460滿足的工作單元。
工作單元使其分支455滿足,如果相關(guān)邏輯條件滿足。使用圖4A的實(shí)例,主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1確定工作單元A是否已經(jīng)執(zhí)行并且成功。如果工作單元A已經(jīng)執(zhí)行并且成功,那么主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1確定工作單元B使其分支滿足并且可用于執(zhí)行。類似地,如果工作單元A已經(jīng)執(zhí)行但是不成功,那么主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1確定工作單元C使其分支滿足并且可用于執(zhí)行。
工作單元使其相關(guān)性460滿足,如果在相關(guān)性460中指定的相關(guān)工作單元已經(jīng)執(zhí)行,也就是,如果工作單元的執(zhí)行順序滿足。使用圖4A中記錄425的實(shí)例,主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1確定工作單元A和D是否已經(jīng)執(zhí)行。如果工作單元A和D已經(jīng)執(zhí)行,那么工作單元E使其相關(guān)性460滿足,因?yàn)楣ぷ鲉卧狤依賴的工作單元(A和D)已經(jīng)執(zhí)行,因此在相關(guān)性460中指定的執(zhí)行順序滿足。
主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1然后決定確定的工作單元是否可以由主動(dòng)對(duì)等服務(wù)器處理程序136-1在本地處理。在一種實(shí)施方案中,主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1基于執(zhí)行確定的工作單元所必需的資源、服務(wù)或功能當(dāng)前是否在主動(dòng)對(duì)等服務(wù)器處理程序136-1可用,決定確定的工作單元是否可以在本地處理。
如果確定的工作單元可以在本地處理,那么主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1將確定的工作單元發(fā)送到主動(dòng)對(duì)等服務(wù)器處理程序136-1。如果工作單元不能在本地處理,那么主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1將確定的工作單元發(fā)送到能夠處理工作單元的適當(dāng)被動(dòng)服務(wù)器132-2或132-3。在一種實(shí)施方案中,主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1基于執(zhí)行確定的工作單元所必需的資源、服務(wù)或功能當(dāng)前是否在被動(dòng)服務(wù)器132-2或132-3可用來(lái)選擇適當(dāng)被動(dòng)服務(wù)器132-2或132-3。
然后控制繼續(xù)到塊615,在那里主動(dòng)對(duì)等服務(wù)器處理程序136-1處理或執(zhí)行任何發(fā)送的工作單元并且創(chuàng)建或計(jì)算本地結(jié)果。被動(dòng)服務(wù)器132-2或132-3處理或執(zhí)行任何發(fā)送的工作單元并且創(chuàng)建或計(jì)算遠(yuǎn)程結(jié)果(如參考圖7在下面進(jìn)一步描述的)。主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1接收本地結(jié)果和/或遠(yuǎn)程結(jié)果。
然后控制繼續(xù)到塊620,在那里主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1確定請(qǐng)求束168中仍然未處理的任何工作單元是否需要遠(yuǎn)程被動(dòng)服務(wù)器132-2或132-3。如果塊620的確定成立,那么請(qǐng)求束168中的未處理工作單元不能在本地處理并且需要遠(yuǎn)程被動(dòng)服務(wù)器132-2或132-3,所以控制繼續(xù)到塊625,在那里主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1將在塊620確定的工作單元發(fā)送到適當(dāng)被動(dòng)服務(wù)器132-2或132-3。然后控制繼續(xù)到塊630,在那里被動(dòng)服務(wù)器132-2或132-3處理工作單元,如參考圖7在下面進(jìn)一步描述的。
然后控制繼續(xù)到塊635,在那里主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1接收來(lái)自被動(dòng)服務(wù)器132-2或132-3的遠(yuǎn)程結(jié)果。然后控制繼續(xù)到塊640,在那里主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1組合遠(yuǎn)程結(jié)果和本地結(jié)果,如果有的話。然后控制繼續(xù)到塊645,在那里主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1確定請(qǐng)求束168中的任何工作單元是否仍未處理。
如果塊645的確定成立,那么至少一個(gè)未處理工作單元仍然存在于請(qǐng)求束168中,所以控制返回到塊610,如先前在上面描述的。
如果塊645的確定不成立,那么請(qǐng)求束168中所有工作單元都已處理,所以控制繼續(xù)到塊650,在那里主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1將工作單元的組合結(jié)果發(fā)送到客戶端100。然后控制繼續(xù)到塊699,在那里圖6的邏輯返回。
如果塊620的確定不成立,那么請(qǐng)求束168中任何未處理工作單元不需要遠(yuǎn)程被動(dòng)服務(wù)器132-2或132-3,所以控制繼續(xù)到塊655,在那里主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1將在塊620確定的工作單元發(fā)送到本地主動(dòng)對(duì)等服務(wù)器處理程序136-1,其處理工作單元并返回本地結(jié)果。然后控制繼續(xù)到塊640,在那里主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1組合本地結(jié)果和遠(yuǎn)程結(jié)果,如果有的話。然后控制繼續(xù)到塊645,如先前在上面描述的。
圖7描繪根據(jù)本發(fā)明實(shí)施方案在被動(dòng)服務(wù)器132-2或132-3處工作單元的實(shí)例處理的流程圖??刂圃趬K700開(kāi)始。然后控制繼續(xù)到塊705,在那里被動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-2或138-3接收來(lái)自主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1的工作單元并且發(fā)送工作單元到其本地被動(dòng)對(duì)等服務(wù)器處理程序136-2或136-3。然后控制繼續(xù)到塊710,在那里被動(dòng)對(duì)等服務(wù)器處理程序136-2或136-3確定工作單元是否必須同步完成或執(zhí)行。如果塊710的確定成立,那么工作單元必須同步完成或執(zhí)行,所以控制繼續(xù)到塊715,在那里被動(dòng)對(duì)等服務(wù)器處理程序136-2或136-3保持到主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1的連接。然后控制繼續(xù)到塊720,在那里被動(dòng)對(duì)等服務(wù)器處理程序136-2或136-3執(zhí)行工作單元或計(jì)算工作單元的結(jié)果,并且將結(jié)果經(jīng)由保持的連接返回到主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1。然后控制繼續(xù)到塊799,在那里圖7的邏輯返回。
如果塊710的確定不成立,那么工作單元不需要同步完成或執(zhí)行,所以控制繼續(xù)到塊725,在那里被動(dòng)對(duì)等服務(wù)器處理程序136-2或136-3釋放到主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1的連接。然后控制繼續(xù)到塊730,在那里被動(dòng)對(duì)等服務(wù)器處理程序136-2或136-3執(zhí)行工作單元并且計(jì)算工作單元的結(jié)果。然后控制繼續(xù)到塊735,在那里被動(dòng)對(duì)等服務(wù)器處理程序136-2或136-3發(fā)起到主動(dòng)服務(wù)器調(diào)用協(xié)調(diào)程序138-1的新連接,并且經(jīng)由新連接發(fā)送計(jì)算的結(jié)果。然后控制繼續(xù)到塊799,在那里圖7的邏輯返回。
在本發(fā)明實(shí)例實(shí)施方案的前面詳細(xì)描述中,參考形成其一部分的附隨附圖(其中類似的數(shù)字表示類似的單元),并且其中作為說(shuō)明顯示本發(fā)明可以在其中實(shí)踐的具體實(shí)例實(shí)施方案。這些實(shí)施方案足夠詳細(xì)地描述以使得本領(lǐng)域技術(shù)人員能夠?qū)嵺`本發(fā)明,但是其他實(shí)施方案可以使用,并且可以進(jìn)行邏輯、機(jī)械、電氣和其他變化而不背離本發(fā)明的范圍。在該說(shuō)明書(shū)中使用的詞語(yǔ)“實(shí)施方案”的不同實(shí)例不一定指相同的實(shí)施方案,但是它們可能指相同的實(shí)施方案。這里說(shuō)明或描述的任何數(shù)據(jù)和數(shù)據(jù)結(jié)構(gòu)僅是實(shí)例,并且在其他實(shí)施方案中,不同的數(shù)據(jù)量、數(shù)據(jù)類型、字段、字段的數(shù)目和類型、字段名、記錄的數(shù)目和類型、條目或數(shù)據(jù)組織可以使用。另外,任何數(shù)據(jù)可以與邏輯組合,使得單獨(dú)的數(shù)據(jù)結(jié)構(gòu)不是必需的。因此,前面的詳細(xì)描述不在限制的意義上進(jìn)行,并且本發(fā)明的范圍僅由附加權(quán)利要求定義。
在前面的描述中,陳述了許多具體細(xì)節(jié)以提供本發(fā)明實(shí)施方案的徹底理解。但是,本發(fā)明可以不以這些具體細(xì)節(jié)而實(shí)踐。在其他實(shí)例中,眾所周知的電路、結(jié)構(gòu)和技術(shù)沒(méi)有詳細(xì)顯示以便不遮蓋本發(fā)明。
權(quán)利要求
1.一種方法,包括創(chuàng)建多個(gè)工作單元的束;從多個(gè)服務(wù)器中選擇主動(dòng)服務(wù)器,其中選擇還包括確定多個(gè)工作單元的多個(gè)相對(duì)工作單元成本,確定多個(gè)服務(wù)器的多個(gè)相對(duì)服務(wù)器成本,基于相對(duì)工作單元成本和相對(duì)服務(wù)器成本計(jì)算多個(gè)服務(wù)器的多個(gè)總加權(quán)成本,并且選擇具有最低總加權(quán)成本的主動(dòng)服務(wù)器;以及將該束從客戶端發(fā)送到主動(dòng)服務(wù)器。
2.根據(jù)權(quán)利要求1的方法,其中創(chuàng)建工作單元束還包括創(chuàng)建工作單元之間的相關(guān)性。
3.根據(jù)權(quán)利要求2的方法,其中創(chuàng)建工作單元之間的相關(guān)性還包括創(chuàng)建工作單元的執(zhí)行順序。
4.根據(jù)權(quán)利要求1的方法,其中創(chuàng)建工作單元束還包括創(chuàng)建工作單元之間的分支。
5.根據(jù)權(quán)利要求4的方法,其中創(chuàng)建工作單元之間的分支還包括創(chuàng)建指定工作單元的條件執(zhí)行的邏輯條件。
6.根據(jù)權(quán)利要求3的方法,其中主動(dòng)服務(wù)器確定工作單元的每個(gè)是否可以在主動(dòng)服務(wù)器執(zhí)行,如果工作單元可以在主動(dòng)服務(wù)器上執(zhí)行,主動(dòng)服務(wù)器執(zhí)行工作單元并創(chuàng)建本地結(jié)果,以及如果工作單元不能在該服務(wù)器上執(zhí)行,主動(dòng)服務(wù)器將工作單元發(fā)送到被動(dòng)服務(wù)器,其中被動(dòng)服務(wù)器創(chuàng)建遠(yuǎn)程結(jié)果。
7.根據(jù)權(quán)利要求6的方法,其中主動(dòng)服務(wù)器接收來(lái)自被動(dòng)服務(wù)器的遠(yuǎn)程結(jié)果,將本地結(jié)果與遠(yuǎn)程結(jié)果組合成組合結(jié)果,并且將組合結(jié)果發(fā)送到客戶端。
8.根據(jù)權(quán)利要求6的方法,其中主動(dòng)服務(wù)器執(zhí)行工作單元并且順序地發(fā)送工作單元到被動(dòng)服務(wù)器。
9.一種系統(tǒng),包括創(chuàng)建多個(gè)工作單元的束的裝置;從多個(gè)服務(wù)器中選擇主動(dòng)服務(wù)器的裝置,其中選擇還包括確定多個(gè)工作單元的多個(gè)相對(duì)工作單元成本,確定多個(gè)服務(wù)器的多個(gè)相對(duì)服務(wù)器成本,基于相對(duì)工作單元成本和相對(duì)服務(wù)器成本計(jì)算多個(gè)服務(wù)器的多個(gè)總加權(quán)成本,并且選擇具有最低總加權(quán)成本的主動(dòng)服務(wù)器;以及將該束從客戶端發(fā)送到主動(dòng)服務(wù)器的裝置,其中主動(dòng)服務(wù)器確定工作單元的每個(gè)是否可以在主動(dòng)服務(wù)器執(zhí)行,如果工作單元可以在主動(dòng)服務(wù)器上執(zhí)行,主動(dòng)服務(wù)器執(zhí)行工作單元并創(chuàng)建本地結(jié)果,以及如果工作單元不能在該服務(wù)器上執(zhí)行,主動(dòng)服務(wù)器將工作單元發(fā)送到被動(dòng)服務(wù)器,其中被動(dòng)服務(wù)器創(chuàng)建遠(yuǎn)程結(jié)果。
10.根據(jù)權(quán)利要求9的系統(tǒng),其中創(chuàng)建工作單元束的裝置還包括創(chuàng)建工作單元之間的相關(guān)性的裝置。
11.根據(jù)權(quán)利要求10的系統(tǒng),其中創(chuàng)建工作單元之間的相關(guān)性的裝置還包括創(chuàng)建工作單元的執(zhí)行順序的裝置。
12.根據(jù)權(quán)利要求9的系統(tǒng),其中創(chuàng)建工作單元束的裝置還包括創(chuàng)建工作單元之間的分支的裝置。
13.根據(jù)權(quán)利要求12的系統(tǒng),其中創(chuàng)建工作單元之間的分支的裝置還包括創(chuàng)建指定工作單元條件的執(zhí)行的邏輯條件的裝置。
14.根據(jù)權(quán)利要求9的系統(tǒng),其中主動(dòng)服務(wù)器接收來(lái)自被動(dòng)服務(wù)器的遠(yuǎn)程結(jié)果,將本地結(jié)果與遠(yuǎn)程結(jié)果組合成組合結(jié)果,并且將組合結(jié)果發(fā)送到客戶端。
15.根據(jù)權(quán)利要求13的系統(tǒng),其中主動(dòng)服務(wù)器執(zhí)行工作單元并且基于邏輯條件發(fā)送工作單元到被動(dòng)服務(wù)器。
16.一種配置計(jì)算機(jī)的方法,包括配置計(jì)算機(jī)以創(chuàng)建多個(gè)工作單元的束;配置計(jì)算機(jī)以從多個(gè)服務(wù)器中選擇主動(dòng)服務(wù)器,其中選擇還包括確定多個(gè)工作單元的多個(gè)相對(duì)工作單元成本,確定多個(gè)服務(wù)器的多個(gè)相對(duì)服務(wù)器成本,基于相對(duì)工作單元成本和相對(duì)服務(wù)器成本計(jì)算多個(gè)服務(wù)器的多個(gè)總加權(quán)成本,并且選擇具有最低總加權(quán)成本的主動(dòng)服務(wù)器;以及配置計(jì)算機(jī)以將該束從計(jì)算機(jī)發(fā)送到主動(dòng)服務(wù)器,其中主動(dòng)服務(wù)器確定工作單元的每個(gè)是否可以在主動(dòng)服務(wù)器執(zhí)行,如果工作單元可以在主動(dòng)服務(wù)器上執(zhí)行,主動(dòng)服務(wù)器執(zhí)行工作單元并創(chuàng)建本地結(jié)果,如果工作單元不能在該服務(wù)器上執(zhí)行,主動(dòng)服務(wù)器將工作單元發(fā)送到被動(dòng)服務(wù)器,其中被動(dòng)服務(wù)器創(chuàng)建遠(yuǎn)程結(jié)果,以及其中主動(dòng)服務(wù)器接收來(lái)自被動(dòng)服務(wù)器的遠(yuǎn)程結(jié)果,將本地結(jié)果與遠(yuǎn)程結(jié)果組合成組合結(jié)果,并且將組合結(jié)果發(fā)送到計(jì)算機(jī)。
17.根據(jù)權(quán)利要求16的方法,其中配置計(jì)算機(jī)以創(chuàng)建工作單元的束還包括配置計(jì)算機(jī)以創(chuàng)建工作單元的執(zhí)行順序。
18.根據(jù)權(quán)利要求17的方法,其中主動(dòng)服務(wù)器執(zhí)行工作單元并且根據(jù)執(zhí)行順序發(fā)送工作單元到被動(dòng)服務(wù)器。
19.根據(jù)權(quán)利要求16的方法,其中配置計(jì)算機(jī)以創(chuàng)建工作單元的束還包括配置計(jì)算機(jī)以創(chuàng)建指定工作單元的條件執(zhí)行的邏輯條件。
20.根據(jù)權(quán)利要求19的方法,其中主動(dòng)服務(wù)器執(zhí)行工作單元并且基于邏輯條件發(fā)送工作單元到被動(dòng)服務(wù)器。
全文摘要
本發(fā)明公開(kāi)一種方法、裝置、系統(tǒng)和信號(hào)承載介質(zhì)。在一種實(shí)施方案中,將多個(gè)工作單元累積成束并將該束發(fā)送到所選主動(dòng)服務(wù)器。在一種實(shí)施方案中,選擇主動(dòng)服務(wù)器包括確定相對(duì)工作單元成本和相對(duì)服務(wù)器成本,據(jù)此計(jì)算服務(wù)器的總加權(quán)成本,并且選擇具有最低總加權(quán)成本的主動(dòng)服務(wù)器。主動(dòng)服務(wù)器可在本地處理束中的工作或者將工作單元發(fā)送到被動(dòng)服務(wù)器進(jìn)行處理。主動(dòng)服務(wù)器確定每個(gè)工作單元是否可以在主動(dòng)服務(wù)器執(zhí)行。如果工作單元可以在主動(dòng)服務(wù)器上執(zhí)行,主動(dòng)服務(wù)器執(zhí)行工作單元并創(chuàng)建本地結(jié)果;否則,主動(dòng)服務(wù)器發(fā)送工作單元到被動(dòng)服務(wù)器,并且被動(dòng)服務(wù)器創(chuàng)建遠(yuǎn)程結(jié)果。主動(dòng)服務(wù)器接收來(lái)自被動(dòng)服務(wù)器的遠(yuǎn)程結(jié)果,將本地結(jié)果與遠(yuǎn)程結(jié)果組合成組合結(jié)果,并將組合結(jié)果發(fā)送到客戶端。在各種實(shí)施方案中,分支和相關(guān)性數(shù)據(jù)包含在束中,主動(dòng)服務(wù)器使用其排序并條件處理工作單元。
文檔編號(hào)H04L29/06GK1956454SQ20061014285
公開(kāi)日2007年5月2日 申請(qǐng)日期2006年10月27日 優(yōu)先權(quán)日2005年10月28日
發(fā)明者沈金梅, 王浩, 理查德·A·迪耶德里奇 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
吉林省| 台中县| 吴川市| 稷山县| 蒲江县| 陵水| 洛宁县| 汉阴县| 沙洋县| 鄯善县| 固镇县| 石狮市| 昂仁县| 乡宁县| 华安县| 海丰县| 基隆市| 垣曲县| 汾阳市| 台南县| 五常市| 信丰县| 巴东县| 海口市| 元谋县| 当雄县| 南充市| 康乐县| 哈尔滨市| 隆尧县| 蒙阴县| 万山特区| 任丘市| 湛江市| 沐川县| 雷山县| 招远市| 蛟河市| 都兰县| 敦煌市| 北海市|