專利名稱:通過代理證書產(chǎn)生在網(wǎng)格中進(jìn)行相互授權(quán)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理,尤其涉及網(wǎng)格計(jì)算。更具體地說,本發(fā)明提供了一種通過代理證書產(chǎn)生進(jìn)行網(wǎng)格相互授權(quán)的方法、設(shè)備和程序。
背靜技術(shù)網(wǎng)格計(jì)算是通過網(wǎng)絡(luò)來共享中央處理器(CPU)資源,從而使眾多機(jī)器起到一個(gè)大型超級(jí)計(jì)算機(jī)的作用。網(wǎng)格計(jì)算(也稱對(duì)等計(jì)算或分布式計(jì)算)使得可將任何機(jī)器中的未用CPU容量分配給所需的總處理作業(yè)。
在大型企業(yè)中,在任何給定時(shí)刻都可能有成百上千的臺(tái)式機(jī)器處于空閑狀態(tài)。即使當(dāng)用戶在看屏幕而沒有與機(jī)器交互時(shí),也可以認(rèn)為CPU是空閑的。其他計(jì)算資源可能在一天中的不同時(shí)候是空閑的。例如,數(shù)據(jù)庫(kù)服務(wù)器群集(或其子集)可能在下班時(shí)間(如夜間)不使用。恰當(dāng)?shù)膶?shí)例是,在紐約市的上班高峰期,在印度可能大多數(shù)人都在睡覺。因此,在一天中的任何時(shí)候,都可能存在可用于解決大型計(jì)算問題的未用處理周期。
給定用戶可以利用網(wǎng)格技術(shù)來運(yùn)行計(jì)算強(qiáng)度大的作業(yè)。例如,用戶可能有一個(gè)生物工藝學(xué)項(xiàng)目,例如人類基因組研究項(xiàng)目。作業(yè)可以是可能運(yùn)行兩天或者可能僅僅在白天查詢資源機(jī)器的任何程序。然而,網(wǎng)格計(jì)算一般用于計(jì)算強(qiáng)度很大的作業(yè)。用戶可以將作業(yè)發(fā)送給資源機(jī)器,然后回家過夜或度周末。于是,資源機(jī)器將處理該作業(yè)并將結(jié)果返回給用戶。
用戶可以選擇網(wǎng)格中的特定機(jī)器來運(yùn)行作業(yè)。用戶可能知道用戶所信任的特定機(jī)器。例如,用戶可能知道更新了安全性補(bǔ)丁、安全操作系統(tǒng)等的具有未用容量的機(jī)器?;蛘?,用戶可以將作業(yè)提交給網(wǎng)格調(diào)度器,該調(diào)度器會(huì)選擇主機(jī)(資源)來處理該作業(yè)。如果用戶將作業(yè)發(fā)送給網(wǎng)格調(diào)度器,那么認(rèn)為用戶信任調(diào)度器會(huì)將該作業(yè)發(fā)送給適當(dāng)?shù)闹鳈C(jī)。
當(dāng)然,網(wǎng)格計(jì)算可能帶來安全問題。例如,資源機(jī)器可能負(fù)擔(dān)過重。在這種情況下,主資源機(jī)器可以將工作卸載給輔助資源機(jī)器。提交作業(yè)的用戶可能未必信任輔助資源或主機(jī)。該作業(yè)的IP、運(yùn)行的程序、輸入數(shù)據(jù)、輸出數(shù)據(jù)等都可供輔助的非置信主機(jī)所使用。這給用戶帶來了安全性方面的未授權(quán)風(fēng)險(xiǎn)或代價(jià)。然而,一旦作業(yè)提交給主資源,用戶就無法控制網(wǎng)格中最終哪臺(tái)機(jī)器來處理作業(yè)。因此,處理作業(yè)的輔助資源機(jī)器可能缺乏所要求的甚至必要的安全性級(jí)別。該機(jī)器可能有易受病毒攻擊或偵測(cè)的操作系統(tǒng)。或者,輔助資源可能是惡意的,從而竊取結(jié)果或網(wǎng)格作業(yè)的因特網(wǎng)協(xié)議(IP)地址。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個(gè)方面,提供了一種如權(quán)利要求1所述的方法。
根據(jù)本發(fā)明的第二個(gè)方面,提供了一種如權(quán)利要求9所述的方法。
根據(jù)本發(fā)明的第三個(gè)方面,提供了一種如權(quán)利要求10所述的方法。
本發(fā)明認(rèn)識(shí)到了現(xiàn)有技術(shù)的缺點(diǎn),并提供了一種用于在資源計(jì)算機(jī)的網(wǎng)格中進(jìn)行輔助資源相互授權(quán)的機(jī)制。網(wǎng)格安全性經(jīng)常利用證書和代理證書來識(shí)別用戶。當(dāng)主資源機(jī)器試圖將網(wǎng)格計(jì)算作業(yè)卸載給輔助資源時(shí),主資源機(jī)器向用戶機(jī)器發(fā)送代理證書請(qǐng)求。響應(yīng)代理證書請(qǐng)求,用戶機(jī)器在輔助資源機(jī)器上執(zhí)行授權(quán)作業(yè)。如果與輔助資源機(jī)器的授權(quán)成功,那么用戶機(jī)器產(chǎn)生并返回有效的代理證書。然后,主資源機(jī)器利用代理證書執(zhí)行與輔助資源機(jī)器的相互驗(yàn)證。然而,如果與輔助資源機(jī)器的授權(quán)不成功,那么用戶機(jī)器產(chǎn)生并返回?zé)o效的代理證書。然后,主資源執(zhí)行與輔助資源機(jī)器的相互驗(yàn)證;不過,驗(yàn)證將因無效代理證書而失敗。于是,主資源將選擇另一個(gè)輔助資源,并重復(fù)這一過程直至找到能通過與用戶機(jī)器的相互授權(quán)的資源。
被認(rèn)為是本發(fā)明特征的新穎特性如附屬權(quán)利要求書中所述。不過,在結(jié)合附圖閱讀時(shí),通過參照以下舉例實(shí)施方式的詳述,可以最好地理解本發(fā)明本身以及優(yōu)選使用方式、進(jìn)一步的目的及其優(yōu)點(diǎn),其中圖1示出了可以實(shí)現(xiàn)本發(fā)明的一種數(shù)據(jù)處理系統(tǒng)的網(wǎng)絡(luò)的圖示;圖2是根據(jù)本發(fā)明的優(yōu)選實(shí)施方式的可以實(shí)現(xiàn)成服務(wù)器的數(shù)據(jù)處理系統(tǒng)的框圖;圖3是可以實(shí)現(xiàn)本發(fā)明的一種數(shù)據(jù)處理系統(tǒng)的框圖;圖4示出了用于將網(wǎng)格作業(yè)從主資源卸載給輔助資源的過程;圖5示出了根據(jù)本發(fā)明的實(shí)施方式用于通過代理證書產(chǎn)生進(jìn)行網(wǎng)格相互授權(quán)將網(wǎng)格作業(yè)從主資源卸載給輔助資源的過程;圖6是說明根據(jù)本發(fā)明的舉例實(shí)施方式的網(wǎng)格計(jì)算系統(tǒng)中的機(jī)器的框圖;圖7是說明根據(jù)本發(fā)明的舉例實(shí)施方式的網(wǎng)格計(jì)算系統(tǒng)中的資源機(jī)器的操作的流程圖;和圖8是說明根據(jù)本發(fā)明的舉例實(shí)施方式的網(wǎng)格計(jì)算系統(tǒng)中的用戶機(jī)器的操作的流程圖。
具體實(shí)施例方式
本發(fā)明提供了用于在資源計(jì)算機(jī)的網(wǎng)格中進(jìn)行輔助資源相互授權(quán)的方法、設(shè)備和計(jì)算機(jī)程序產(chǎn)品。數(shù)據(jù)處理設(shè)備可以是一種分布式數(shù)據(jù)處理系統(tǒng),其中利用多個(gè)計(jì)算設(shè)備來實(shí)現(xiàn)本發(fā)明的各個(gè)方面。因此,下列圖1-3是可以實(shí)現(xiàn)本發(fā)明的數(shù)據(jù)處理環(huán)境的例圖。應(yīng)當(dāng)理解,圖1-3只是說明性的,而并不想要主張或意味著對(duì)實(shí)現(xiàn)本發(fā)明的環(huán)境作任何限制。在不背離本發(fā)明的思想和范圍的前提下,可以對(duì)所述環(huán)境作出許多修改。
下面參照附圖,圖1示出了可以實(shí)現(xiàn)本發(fā)明的一種數(shù)據(jù)處理系統(tǒng)的網(wǎng)絡(luò)的圖示。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100是一種可以實(shí)現(xiàn)本發(fā)明的計(jì)算機(jī)網(wǎng)。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100包括網(wǎng)絡(luò)102,該網(wǎng)絡(luò)是用于在網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100內(nèi)共同連接的各種設(shè)備與計(jì)算機(jī)之間提供通信鏈路的媒介。網(wǎng)絡(luò)102可以包括連接,例如有線、無線通信鏈路或光纜。
在所述例子中,服務(wù)器104與網(wǎng)絡(luò)102以及存儲(chǔ)單元106連接。此外,客戶機(jī)108、110和112與網(wǎng)絡(luò)102連接。這些客戶機(jī)108、110和112可以是例如個(gè)人計(jì)算機(jī)或網(wǎng)絡(luò)計(jì)算機(jī)。在所述例子中,服務(wù)器104為客戶機(jī)108-112提供數(shù)據(jù),例如引導(dǎo)文件、操作系統(tǒng)映像和應(yīng)用??蛻魴C(jī)108、110和112是服務(wù)器104的客戶機(jī)。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100還可以包括其他服務(wù)器、客戶機(jī)以及其他未示出的設(shè)備。
具體地說,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100包括網(wǎng)格120,即計(jì)算系統(tǒng)的網(wǎng)格。網(wǎng)格計(jì)算是通過網(wǎng)絡(luò)共享中央處理器(CPU)資源,從而使眾多機(jī)器起到一個(gè)大型超級(jí)計(jì)算機(jī)的作用。網(wǎng)格計(jì)算(也稱對(duì)等計(jì)算或分布式計(jì)算)使得可將任何機(jī)器中未用的CPU容量分配給所需的總處理作業(yè)。
如圖1中所示,網(wǎng)格120可以由客戶機(jī)和服務(wù)器計(jì)算機(jī)的組合構(gòu)成。任何具有未用資源的計(jì)算機(jī)系統(tǒng)都可以被配置為通過網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100接受網(wǎng)格作業(yè)。網(wǎng)絡(luò)120內(nèi)的網(wǎng)格計(jì)算機(jī)可以跨越全球,并可以通過例如(但不限于)專用網(wǎng)絡(luò)、撥號(hào)連接、專用因特網(wǎng)連接、網(wǎng)關(guān)業(yè)務(wù)等與網(wǎng)絡(luò)102連接。
給定用戶可以利用網(wǎng)格技術(shù)通過利用工作站將作業(yè)提交給網(wǎng)絡(luò)120中的資源機(jī)器之一(例如圖1中的客戶機(jī)108)來完成計(jì)算強(qiáng)度大的作業(yè)。于是,資源機(jī)器將處理該作業(yè)并將結(jié)果返回給用戶。用戶可以選擇網(wǎng)格120中的特定機(jī)器來完成作業(yè)。或者,用戶可以將作業(yè)提交給網(wǎng)格調(diào)度器,該調(diào)度器會(huì)選擇主機(jī)(資源)來處理該作業(yè)。網(wǎng)格調(diào)度器可以安裝在網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100中的機(jī)器例如服務(wù)器(如服務(wù)器104)上。如果用戶將作業(yè)發(fā)送給網(wǎng)格調(diào)度器,那么認(rèn)為用戶信任調(diào)度器會(huì)將該作業(yè)發(fā)送給適當(dāng)?shù)闹鳈C(jī)。
在所述例子中,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100是帶有網(wǎng)絡(luò)102的因特網(wǎng),它表示世界范圍內(nèi)利用傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)協(xié)議組進(jìn)行相互通信的網(wǎng)絡(luò)和網(wǎng)關(guān)的集合。處于因特網(wǎng)的核心的是主節(jié)點(diǎn)或主機(jī)(包括數(shù)千路由數(shù)據(jù)和消息的商業(yè)、政府、教育和其他計(jì)算機(jī)系統(tǒng))之間的高速數(shù)據(jù)通信線路的骨干。當(dāng)然,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100還可以實(shí)現(xiàn)成多種不同類型的網(wǎng)絡(luò)(例如,內(nèi)聯(lián)網(wǎng)、局域網(wǎng)(LAN)或廣域網(wǎng)(WAN))。圖1旨在舉例而不能認(rèn)為是本發(fā)明的體系結(jié)構(gòu)的限定。
參照?qǐng)D2,根據(jù)本發(fā)明的優(yōu)選實(shí)施方式描述了可以實(shí)現(xiàn)成服務(wù)器(例如圖1中的服務(wù)器104)的數(shù)據(jù)處理系統(tǒng)的框圖。數(shù)據(jù)處理系統(tǒng)200可以是對(duì)稱多處理器(SMP)系統(tǒng),它包括多個(gè)與系統(tǒng)總線206連接的處理器202和204。此外,也可以使用單個(gè)處理器系統(tǒng)。與系統(tǒng)總線206連接的還有存儲(chǔ)器控制器/高速緩存208,它為本地存儲(chǔ)器209提供接口。I/O總線橋210與系統(tǒng)總線206連接,并為I/O總線212提供接口。存儲(chǔ)器控制器/高速緩存208和I/O總線橋210可以如圖所示合并。
與I/O總線212連接的外設(shè)部件互連(PCI)總線橋214為PCI本地總線216提供接口。多個(gè)調(diào)制解調(diào)器可以與PCI本地總線216連接。典型的PCI總線實(shí)現(xiàn)方式將支持四個(gè)PCI擴(kuò)展槽或內(nèi)置連接器。與圖1中的客戶機(jī)108-112的通信鏈路可以通過調(diào)制解調(diào)器218和網(wǎng)絡(luò)適配器220來提供,調(diào)制解調(diào)器218和網(wǎng)絡(luò)適配器220通過內(nèi)置連接器與PCI本地總線216連接。
附加PCI總線橋222和224為附加PCI本地總線226和228提供接口,由此可以支持附加調(diào)制解調(diào)器或網(wǎng)絡(luò)適配器。這樣,數(shù)據(jù)處理系統(tǒng)220使得可以與多個(gè)網(wǎng)絡(luò)計(jì)算機(jī)連接。存儲(chǔ)器映射圖形適配器230和硬盤232也可以如圖所示直接或間接地與I/O總線212連接。
本領(lǐng)域普通技術(shù)人員可以理解,圖2中所示的硬件可以變化。例如,除了所述硬件之外或代替所述所述硬件,還可以使用其他外圍設(shè)備(諸如光盤驅(qū)動(dòng)器等)。所示例子并不意味著關(guān)于本發(fā)明的體系結(jié)構(gòu)的限定。
圖2中所示的數(shù)據(jù)處理系統(tǒng)可以是例如IBM eServer pSeries系統(tǒng)(紐約Armonk的國(guó)際商用機(jī)器公司的一種產(chǎn)品),它運(yùn)行AdvancedInteractive Executive(AIX)操作系統(tǒng)或LINUX操作系統(tǒng)。
下面參照?qǐng)D3,圖中示出了可以實(shí)現(xiàn)本發(fā)明的一種數(shù)據(jù)處理系統(tǒng)的框圖。數(shù)據(jù)處理系統(tǒng)300是計(jì)算機(jī)(例如圖1中的客戶機(jī)108)的一個(gè)例子,其中可以具有實(shí)現(xiàn)本發(fā)明的過程的代碼或指令。在所述例子中,數(shù)據(jù)處理系統(tǒng)300采用集線器體系結(jié)構(gòu),包括北橋和存儲(chǔ)器控制器集線器(MCH)308以及南橋和輸入/輸出(I/O)控制器集線器(ICH)310。處理器302、主存儲(chǔ)器304和圖形處理器318與MCH 308連接。圖形處理器318可以通過例如加速圖形端口(AGP)與MCH連接。
在所述例子中,局域網(wǎng)(LAN)適配器312、音頻適配器316、鍵盤和鼠標(biāo)適配器320、調(diào)制解調(diào)器322、只讀存儲(chǔ)器(ROM)324、硬盤驅(qū)動(dòng)器(HDD)326、CD-ROM驅(qū)動(dòng)器330、通用串行總線(USB)端口和其他通信端口332以及PCI/PCIe設(shè)備334可以與ICH 310連接。PCI/PCIe設(shè)備可以包括例如筆記本電腦的以太網(wǎng)適配器、內(nèi)置卡、PC卡等。PCI使用卡總線控制器,而PCIe則不用。ROM 324可以是例如快閃二進(jìn)制輸入/輸出系統(tǒng)(BIOS)。硬盤驅(qū)動(dòng)器326和CD-ROM驅(qū)動(dòng)器330可以例如采用集成驅(qū)動(dòng)電子部件(IDE)或串行高級(jí)技術(shù)附件(SATA)接口。超級(jí)I/O(SIO)設(shè)備336可以與ICH 310連接。
操作系統(tǒng)在處理器302上運(yùn)行,并用于協(xié)調(diào)和提供對(duì)圖3中數(shù)據(jù)處理系統(tǒng)300中各組成部分的控制。操作系統(tǒng)可以是在市場(chǎng)上買到的操作系統(tǒng),例如可從Microsoft公司得到的Windows XP。面向?qū)ο蟮木幊滔到y(tǒng)(如Java)可以與操作系統(tǒng)協(xié)同運(yùn)行,并從在數(shù)據(jù)處理系統(tǒng)300上執(zhí)行的Java程序或應(yīng)用提供對(duì)操作系統(tǒng)的調(diào)用?!癑ava”是SunMicrosystems公司的商標(biāo)。操作系統(tǒng)、面向?qū)ο蟮木幊滔到y(tǒng)以及應(yīng)用或程序的指令可以置于存儲(chǔ)設(shè)備(例如硬盤驅(qū)動(dòng)器326)中,并可以裝載到主存儲(chǔ)器304中以由處理器302執(zhí)行。本發(fā)明的過程通過處理器302利用計(jì)算機(jī)實(shí)現(xiàn)的指令來執(zhí)行,這些指令可以置于存儲(chǔ)器(例如主存儲(chǔ)器304、存儲(chǔ)器324)中或者置于一個(gè)或多個(gè)外圍設(shè)備326和330中。
本領(lǐng)域普通技術(shù)人員可以理解,圖3中的硬件可以隨實(shí)現(xiàn)方式的不同而不同。除了圖3中所示的硬件之外或代替圖3中所示的硬件,還可以使用其他內(nèi)部硬件或外圍設(shè)備,例如閃存、等效非易失性存儲(chǔ)器或光盤驅(qū)動(dòng)器等。此外,本發(fā)明的過程還可以應(yīng)用于多處理器數(shù)據(jù)處理系統(tǒng)。數(shù)據(jù)處理系統(tǒng)300除了采取PDA的形式外還可以是平板式計(jì)算機(jī)或膝上型計(jì)算機(jī)。
網(wǎng)格中的資源機(jī)器可能負(fù)擔(dān)過重。在這種情況下,主資源機(jī)器可以將工作卸載給輔助資源機(jī)器。圖4示出了用于將網(wǎng)格作業(yè)從主資源卸載給輔助資源的過程。用戶執(zhí)行與主資源的授權(quán)。授權(quán)通常簡(jiǎn)單地通過用戶將作業(yè)發(fā)送給主機(jī)來完成。如果用戶不信任主機(jī),那么用戶不會(huì)將作業(yè)發(fā)送給主機(jī)。也就是說,用戶要么最初信任主資源要么信任網(wǎng)格調(diào)度器會(huì)將網(wǎng)格作業(yè)分配給適當(dāng)?shù)闹髻Y源。該資源通過將用戶的標(biāo)識(shí)(ID)與授權(quán)列表或網(wǎng)格圖(gridmap)文件進(jìn)行對(duì)照來授權(quán)用戶。網(wǎng)格中的每個(gè)資源都保留有授權(quán)列表或網(wǎng)格圖文件,所述授權(quán)列表或網(wǎng)格圖文件保存了被授權(quán)在該資源上運(yùn)行作業(yè)的每個(gè)用戶的ID和其他屬性。通常,每當(dāng)對(duì)表進(jìn)行了更改,網(wǎng)格的管理者都會(huì)將列表推向網(wǎng)格中的所有資源。在通過交換用戶的代理證書和主資源的主機(jī)證書進(jìn)行了相互驗(yàn)證之后,用戶410將網(wǎng)格作業(yè)發(fā)送給主資源420。
如圖4中所示,在操作1中,主資源420執(zhí)行與用戶機(jī)器410的相互驗(yàn)證。相互驗(yàn)證可以例如利用數(shù)字證書(例如X509證書)來實(shí)現(xiàn)。用戶410可以保存證書,例如“/home/<user>/.globus/user_cert.pem”。
典型的數(shù)字證書通過顯著的名稱如(C=US,O=IBM,OU=AIX,CN=JohnUser)來描述終端實(shí)體(例如用戶)。本例中,數(shù)字證書標(biāo)識(shí)了國(guó)家(C)、組織(O)、組織單元(OU)和普通名字(CN)。數(shù)字證書還包括終端實(shí)體的公鑰并通過置信證書機(jī)構(gòu)(CA)的私鑰進(jìn)行簽名。因此,當(dāng)一個(gè)人接收到數(shù)字證書時(shí),他可以核對(duì)可信CA的簽名并信任該CA已經(jīng)適當(dāng)?shù)貙彶榱擞脩羯矸荨?br>
在操作2中,主資源420可以確定網(wǎng)格作業(yè)要被卸載給輔助資源430。如果主資源的處理資源已充分利用,那么它可以卸載網(wǎng)格作業(yè)。例如,主資源可以接收資源旨在給該資源的工作量,而使主資源不再有可供使用的CPU資源。
在操作3中,主資源向用戶機(jī)器發(fā)出證書請(qǐng)求。然后,用戶機(jī)器410自動(dòng)產(chǎn)生一個(gè)代理證書,以便主資源用于與輔助資源進(jìn)行驗(yàn)證。這些過程最好是自動(dòng)操作的,因?yàn)檫@些網(wǎng)格作業(yè)或程序可能運(yùn)行好幾天。換言之,要使用戶在現(xiàn)場(chǎng)允許或拒絕這些請(qǐng)求是不切實(shí)際的。然后,用戶機(jī)器410可以保存代理證書,例如“/tmp/X509proxycert”。
代理證書的顯著名稱類似于附有字符串(例如“/proxy”)的證書,例如,(C=US,O=IBM,OU=AIX,CN=JohnUser/proxy)。代理證書由證書而不是CA來簽名。換言之,CA對(duì)證書簽名,而證書又對(duì)代理證書簽名。當(dāng)代理證書被遠(yuǎn)程網(wǎng)格資源接收到時(shí),信任鏈如下1)我信任可信CA,可信CA對(duì)證書簽名;2)因此,我信任證書;3)我信任證書;因此,我信任由證書簽名的代理證書;和4)因此,我信任代理證書。
在操作4中,用戶機(jī)器410將代理證書發(fā)送到主資源420。此后,主資源420將作業(yè)提交給輔助資源430。然后,在操作5中進(jìn)行相互驗(yàn)證,輔助資源430通過代理授權(quán)用戶以執(zhí)行作業(yè)。
圖4中所示的過程的優(yōu)點(diǎn)在于,可以為代理證書分配一個(gè)短的生命期。典型的生命期可以是例如24小時(shí)。代理證書伴隨網(wǎng)格業(yè)務(wù)。因此,如果代理證書受到損壞,那么它將在短時(shí)間內(nèi)到期,從而限制了潛在的破壞。此外,網(wǎng)格作業(yè)還可以在無需用戶關(guān)注的情況下在整個(gè)網(wǎng)格中移動(dòng),這是因?yàn)楦郊哟碜C書可以根據(jù)需要自動(dòng)產(chǎn)生。這樣,不管網(wǎng)格作業(yè)在網(wǎng)格內(nèi)如何分配,都允許用戶通過單一簽署(sign-on)來提交網(wǎng)格作業(yè)。換言之,用戶可以只是提交網(wǎng)格作業(yè)并隨后離開。
主資源可以根據(jù)一組判據(jù)來選擇輔助資源。在這方面,主資源可以與輔助資源執(zhí)行某種形式的授權(quán)。然而,提交作業(yè)的用戶未必信任輔助資源或主機(jī)。因此,處理作業(yè)的輔助資源機(jī)器可能缺乏所要求的甚至必要的安全性級(jí)別。該機(jī)器可能有易受病毒攻擊或偵測(cè)的操作系統(tǒng)?;蛘撸o助資源可能是惡意的,從而竊取結(jié)果或網(wǎng)格作業(yè)的因特網(wǎng)協(xié)議(IP)地址。
圖5示出了根據(jù)本發(fā)明的實(shí)施方式,通過代理證書產(chǎn)生進(jìn)行網(wǎng)格相互授權(quán)將網(wǎng)格作業(yè)從主資源卸載給輔助資源的過程。通過代理證書產(chǎn)生進(jìn)行網(wǎng)格相互授權(quán)的前提是利用(leverage)或截取相互驗(yàn)證過程,以查明如下信息1.將作業(yè)卸載或分配到主資源之外;2.出現(xiàn)這種情況時(shí)的精確實(shí)例;和3.所得到的輔助資源的IP地址。
利用這一信息,運(yùn)行自動(dòng)過程的用戶機(jī)器可以發(fā)現(xiàn)關(guān)于輔助資源的詳細(xì)信息,判斷是否授權(quán)該輔助資源運(yùn)行作業(yè),以及必要時(shí)終止或破壞輔助驗(yàn)證過程,從而建立相互授權(quán)機(jī)制。
用戶510將網(wǎng)格作業(yè)發(fā)送給主資源520。用戶執(zhí)行與主資源的授權(quán)。也就是說,用戶要么最初信任主資源,要么信任網(wǎng)格調(diào)度器會(huì)將網(wǎng)格作業(yè)分配給適當(dāng)?shù)闹髻Y源。在操作1中,主資源520執(zhí)行與用戶機(jī)器510的相互驗(yàn)證。相互驗(yàn)證可以例如利用數(shù)字證書(例如X509證書)來實(shí)現(xiàn)。
在操作2中,主資源520可以確定網(wǎng)格作業(yè)將被卸載給輔助資源530。在操作3中,主資源向用戶機(jī)器發(fā)出證書請(qǐng)求。響應(yīng)來自主資源520的證書請(qǐng)求,用戶機(jī)器510在操作3A中將授權(quán)作業(yè)直接提交給新識(shí)別的輔助資源530,而與主資源520所卸載的當(dāng)前網(wǎng)格作業(yè)無關(guān)。
這一授權(quán)作業(yè)在輔助資源機(jī)器上運(yùn)行并識(shí)別輔助資源的安全性要素。例如,授權(quán)作業(yè)可以確定輔助資源是否具有最新的操作系統(tǒng)和安全性更新,輔助資源是否具有可信操作系統(tǒng),在該資源上是否還有任何沖突的網(wǎng)格作業(yè)在運(yùn)行,等等。授權(quán)作業(yè)所收集的安全性信息可以隨實(shí)現(xiàn)方式的不同而不同。例如,盡管在一種實(shí)施方式中,用戶可以希望列出輔助資源正在運(yùn)行的作業(yè),但是用戶也可能優(yōu)先選擇禁用這一命令的資源,從而避免通過隱蔽途徑泄露關(guān)鍵和/或戰(zhàn)略信息。
用戶機(jī)器可以例如利用更多的靜態(tài)決策(例如具有黑和/或白列表)進(jìn)行相互授權(quán)。用戶機(jī)器可以利用一些規(guī)則,例如信任網(wǎng)格虛擬組織所信任的任何資源,但不信任下班之后監(jiān)控強(qiáng)度降低的特定資源。與輔助資源的授權(quán)是相互的,因?yàn)檩o助資源通過將用戶ID與授權(quán)列表進(jìn)行對(duì)照來向用戶授權(quán),如上所述。
如果與輔助資源機(jī)器的相互授權(quán)成功,那么用戶機(jī)器510產(chǎn)生有效的代理證書,以便主資源用于與輔助資源的驗(yàn)證。然而,如果輔助資源不能通過授權(quán)過程,那么用戶機(jī)器510產(chǎn)生無效的代理證書。
在操作4中,用戶機(jī)器510將代理證書發(fā)送到主資源520。此后,主資源520將作業(yè)提交給輔助資源530。然后,在操作5中進(jìn)行相互驗(yàn)證,輔助資源530通過代理授權(quán)用戶以運(yùn)行作業(yè)。然而,如果主資源520向輔助資源530給出無效的代理證書,那么輔助資源將不允許運(yùn)行用戶的網(wǎng)格作業(yè)。主資源將查看到這一錯(cuò)誤,然后搜索要將作業(yè)卸載到的另一個(gè)輔助資源,返回到操作2。因此,用戶機(jī)器通過借助產(chǎn)生有效或無效的代理證書強(qiáng)制輔助資源接受或拒絕網(wǎng)格作業(yè)的方式來執(zhí)行與輔助資源的相互授權(quán)。
下面對(duì)照?qǐng)D6,圖中示出了描述根據(jù)本發(fā)明的舉例實(shí)施方式的網(wǎng)格計(jì)算系統(tǒng)中的機(jī)器的框圖。用戶機(jī)器610包括驗(yàn)證模塊612、證書產(chǎn)生模塊614和授權(quán)模塊612。主資源機(jī)器620包括驗(yàn)證模塊622和工作量平衡模塊624。輔助資源機(jī)器630包括驗(yàn)證模塊632和工作量平衡模塊634。
當(dāng)主資源機(jī)器620接收到來自用戶機(jī)器610的網(wǎng)格作業(yè)時(shí),主資源機(jī)器620利用驗(yàn)證模塊622執(zhí)行與用戶機(jī)器的驗(yàn)證。用戶機(jī)器610通過驗(yàn)證模塊612執(zhí)行與主資源機(jī)器的這一相互驗(yàn)證。主資源機(jī)器620還可以通過主資源機(jī)器中的驗(yàn)證模塊622和輔助資源機(jī)器中的驗(yàn)證模塊632執(zhí)行與輔助資源630的相互驗(yàn)證。
利用工作量平衡模塊624,主資源機(jī)器620可以決定將工作卸載給其他資源。例如,主資源機(jī)器620可以將從用戶機(jī)器610接收到的網(wǎng)格作業(yè)卸載給輔助資源機(jī)器630。同樣,輔助資源機(jī)器630可以利用工作量平衡模塊634將這一相同網(wǎng)格作業(yè)卸載給另一資源機(jī)器(未示出)。
當(dāng)主資源機(jī)器620決定將從用戶機(jī)器610接收到的網(wǎng)格作業(yè)卸載給輔助資源機(jī)器630時(shí),主資源機(jī)器620向用戶機(jī)器610發(fā)出證書請(qǐng)求。根據(jù)本發(fā)明的一種舉例實(shí)施方式,用戶機(jī)器610響應(yīng)來自主資源機(jī)器620的證書請(qǐng)求執(zhí)行與輔助資源機(jī)器630的相互授權(quán)。
證書請(qǐng)求可以例如通過IP地址識(shí)別輔助資源機(jī)器。此外,用戶機(jī)器610可以將查詢網(wǎng)格作業(yè)提交給主資源機(jī)器620,查詢輔助資源的IP地址。然后,用戶機(jī)器610利用授權(quán)模塊614根據(jù)輔助資源機(jī)器作出授權(quán)決定。用戶機(jī)器610可以將授權(quán)作業(yè)提交給新識(shí)別的輔助資源630。這一授權(quán)作業(yè)可以在輔助資源機(jī)器上運(yùn)行并識(shí)別輔助資源的安全性要素。授權(quán)模塊614還可以例如利用更多的靜態(tài)決策(例如具有黑和/或白列表)進(jìn)行相互授權(quán)。
如果與輔助資源機(jī)器630的相互授權(quán)成功,那么用戶機(jī)器610利用證書產(chǎn)生模塊616產(chǎn)生有效的代理證書。然而,如果輔助資源機(jī)器630不能通過授權(quán)過程,那么用戶機(jī)器610利用證書產(chǎn)生模塊616產(chǎn)生無效的代理證書。
用戶機(jī)器610將代理證書發(fā)送到主資源機(jī)器620。此后,主資源機(jī)器620將作業(yè)提交給輔助資源機(jī)器630。然后,在驗(yàn)證模塊622與認(rèn)讓模塊632之間進(jìn)行相互驗(yàn)證,輔助資源630通過代理授權(quán)用戶以運(yùn)行作業(yè)。然而,如果主資源機(jī)器620向輔助資源機(jī)器630給出無效的代理證書,那么輔助資源機(jī)器將不允許運(yùn)行用戶的網(wǎng)格作業(yè)。主資源機(jī)器將查看到這一錯(cuò)誤,然后利用工作量平衡模塊624搜索要將作業(yè)卸載到的另一個(gè)輔助資源。
圖7是說明根據(jù)本發(fā)明的舉例實(shí)施方式的網(wǎng)格計(jì)算系統(tǒng)中的資源機(jī)器的操作的流程圖。當(dāng)接收到處理網(wǎng)格作業(yè)的請(qǐng)求時(shí),過程開始,并執(zhí)行與用戶機(jī)器的相互驗(yàn)證(塊702)。然后,判斷驗(yàn)證是否成功(塊704)。如果驗(yàn)證不成功,那么過程拒絕網(wǎng)格作業(yè)(塊706)并結(jié)束。
如果在塊704中驗(yàn)證成功,那么過程授權(quán)用戶(塊708),并判斷授權(quán)是否成功(塊710)。如果授權(quán)不成功,那么過程拒絕網(wǎng)格作業(yè)(塊706)并結(jié)束。
如果在塊710中授權(quán)成功,那么過程接收來自用戶機(jī)器的網(wǎng)格作業(yè)(塊712),并判斷是否卸載網(wǎng)格作業(yè)(塊714)。塊714中的判斷可以在主資源機(jī)器處理網(wǎng)格作業(yè)之前的任何時(shí)候作出。如果不卸載網(wǎng)格作業(yè),那么過程運(yùn)行網(wǎng)格作業(yè)(塊716),過程結(jié)束。
如果在塊714中要卸載網(wǎng)格作業(yè),那么,過程選擇網(wǎng)格作業(yè)所要發(fā)送到的輔助資源(塊718)。然后,過程向用戶機(jī)器發(fā)出證書請(qǐng)求(塊720),并接收來自用戶機(jī)器的代理證書(塊722)。然后,過程利用代理證書執(zhí)行與輔助資源的相互驗(yàn)證(塊724)。
判斷與輔助資源的驗(yàn)證是否成功(塊726)。如果驗(yàn)證不成功,那么過程返回到塊718選擇另一個(gè)輔助資源。然而,如果在塊726中與輔助資源的驗(yàn)證成功,那么過程將網(wǎng)格作業(yè)卸載給輔助資源(塊728),過程結(jié)束。
圖8是說明根據(jù)本發(fā)明的舉例實(shí)施方式的網(wǎng)格計(jì)算系統(tǒng)中的用戶機(jī)器的操作的流程圖。當(dāng)要將網(wǎng)格作業(yè)提交給網(wǎng)格計(jì)算系統(tǒng)中的資源時(shí),過程開始。過程識(shí)別主資源(塊802),并執(zhí)行與主資源的相互驗(yàn)證(塊804)。判斷驗(yàn)證是否成功(塊806)。如果驗(yàn)證不成功,那么過程返回到塊802識(shí)別另一個(gè)主資源。
如果在塊806中驗(yàn)證成功,那么過程執(zhí)行與主資源的授權(quán)(塊808)。然后判斷與主資源的授權(quán)是否成功(塊810)。如果授權(quán)不成功,那么過程返回到塊802識(shí)別另一個(gè)主資源。
如果在塊810中授權(quán)成功,那么過程將網(wǎng)格作業(yè)發(fā)送給主資源(塊812)。判斷是否存在退出條件(塊814)。例如,當(dāng)用戶機(jī)器關(guān)閉或者在用戶機(jī)器上關(guān)閉了網(wǎng)格計(jì)算軟件時(shí),就可能存在退出條件。當(dāng)接收到網(wǎng)格作業(yè)的結(jié)果時(shí),也可能存在退出條件。如果存在退出條件,那么過程結(jié)束。
然而,如果在塊814中不存在退出條件,那么判斷是否接收到來自主資源的證書請(qǐng)求(塊816)。如果未接收到證書請(qǐng)求,那么過程返回到塊814判斷是否存在退出條件。
如果在塊816中接收到來自主資源的證書請(qǐng)求,那么過程執(zhí)行與輔助資源的授權(quán)(塊818)。然后,判斷與輔助資源的授權(quán)是否成功(塊820)。如果在塊820中授權(quán)成功,那么過程產(chǎn)生有效的代理證書(塊822);否則,過程產(chǎn)生無效的代理證書(塊824)。在塊822或824之一中產(chǎn)生了有效或無效代理證書后,過程將代理證書返回給主資源。然后,過程返回到塊814判斷是否存在退出條件。
因此,本發(fā)明通過提供一種通過代理證書產(chǎn)生進(jìn)行網(wǎng)格相互授權(quán)的機(jī)制來克服現(xiàn)有技術(shù)的缺點(diǎn)。網(wǎng)格中的資源機(jī)器能夠通過將用戶ID與授權(quán)列表或網(wǎng)格圖文件進(jìn)行對(duì)照來對(duì)用戶進(jìn)行授權(quán)。本發(fā)明允許用戶機(jī)器被配置為控制其網(wǎng)格作業(yè)分配的授權(quán),而無需改變網(wǎng)格資源上的網(wǎng)格軟件并且仍在現(xiàn)有網(wǎng)格相互授權(quán)和單向授權(quán)的流程內(nèi)工作。本發(fā)明的機(jī)制提供了一種單一簽署范例,同時(shí)允許用戶提交網(wǎng)格作業(yè)后離開。
值得注意的是,盡管本發(fā)明結(jié)合全功能數(shù)據(jù)處理系統(tǒng)進(jìn)行了描述,然而,本領(lǐng)域普通技術(shù)人員可以理解,本發(fā)明的過程可以以指令的計(jì)算機(jī)可讀介質(zhì)形式以及多種形式來分配,并且,無論實(shí)際用于執(zhí)行分配的信號(hào)承載介質(zhì)是什么特定類型,本發(fā)明同樣可以應(yīng)用。計(jì)算機(jī)可讀介質(zhì)的例子包括可記錄型介質(zhì),例如軟盤、硬盤驅(qū)動(dòng)器、RAM、CD-ROM、DVD-ROM,和傳輸型介質(zhì),例如數(shù)字和模擬通信鏈路、有線或采用傳輸形式(如射頻和光波傳輸)的無線通信鏈路。計(jì)算機(jī)可讀介質(zhì)可以采取編碼格式的形式,這種編碼格式可以被解碼以便實(shí)際使用于特定數(shù)據(jù)處理系統(tǒng)。
以上本發(fā)明的描述是為了說明和敘述,而并不是要以所公開的形式對(duì)本發(fā)明進(jìn)行窮舉或限定。對(duì)本領(lǐng)域普通技術(shù)人員而言,顯然還有許多修改和變化。選擇和描述這種實(shí)施方式是為了最好地解釋本發(fā)明的原理、實(shí)際應(yīng)用,以及使本領(lǐng)域普通技術(shù)人員能理解本發(fā)明還有適合于所企圖的特定用途的具有各種修改的各種實(shí)施方式。
權(quán)利要求
1.一種用于在網(wǎng)格計(jì)算系統(tǒng)中授權(quán)卸載網(wǎng)格作業(yè)的方法,該方法包括將網(wǎng)格作業(yè)提交給主網(wǎng)格資源;響應(yīng)來自主網(wǎng)格資源的證書請(qǐng)求,識(shí)別要運(yùn)行網(wǎng)格作業(yè)的輔助網(wǎng)格資源;執(zhí)行與輔助網(wǎng)格資源的授權(quán);和如果與網(wǎng)格資源的授權(quán)失敗,那么產(chǎn)生無效的代理證書并將該無效代理證書發(fā)送給主網(wǎng)格資源。
2.權(quán)利要求1的方法,還包括如果與網(wǎng)格資源的授權(quán)失敗,那么產(chǎn)生有效的代理證書;和將該有效代理證書發(fā)送給主網(wǎng)格資源。
3.權(quán)利要求1或2的方法,其中將網(wǎng)格作業(yè)提交給主網(wǎng)格資源包括將網(wǎng)格作業(yè)提交給網(wǎng)格調(diào)度器,其中網(wǎng)格調(diào)度器選擇主網(wǎng)格資源并將網(wǎng)格作業(yè)發(fā)送給該主網(wǎng)格資源。
4.權(quán)利要求1、2或3的方法,其中識(shí)別要運(yùn)行網(wǎng)格作業(yè)的輔助網(wǎng)格資源包括將查詢網(wǎng)格作業(yè)提交給主網(wǎng)格資源,查詢輔助資源的身份。
5.權(quán)利要求1至4中任一權(quán)利要求的方法,其中識(shí)別要運(yùn)行網(wǎng)格作業(yè)的輔助網(wǎng)格資源包括檢測(cè)證書請(qǐng)求中的輔助網(wǎng)格資源的地址。
6.權(quán)利要求1至5中任一權(quán)利要求的方法,其中執(zhí)行與輔助網(wǎng)格資源的授權(quán)包括將授權(quán)作業(yè)提交給輔助網(wǎng)格資源。
7.權(quán)利要求6的方法,其中授權(quán)作業(yè)包括下列之一識(shí)別輔助資源的安全性要素;確定輔助網(wǎng)格資源的操作系統(tǒng)、輔助網(wǎng)格資源上安裝的安全性更新、輔助資源是否具有可信操作系統(tǒng)以及在輔助網(wǎng)格資源上是否有任何沖突的網(wǎng)格作業(yè)在運(yùn)行中的至少之一;或者確定給定命令在輔助網(wǎng)格資源上是否禁用。
8.權(quán)利要求1至7中任一權(quán)利要求的方法,其中執(zhí)行與輔助網(wǎng)格資源的授權(quán)包括下列之一確定輔助網(wǎng)格資源是否包含在黑列表中;確定輔助網(wǎng)格資源是否包含在白列表中;或者利用一個(gè)或多個(gè)規(guī)則執(zhí)行與輔助網(wǎng)格資源的授權(quán)。
9.一種用于在網(wǎng)格計(jì)算系統(tǒng)中授權(quán)卸載網(wǎng)格作業(yè)的設(shè)備,該設(shè)備包括用于將網(wǎng)格作業(yè)提交給主網(wǎng)格資源的裝置;響應(yīng)來自主網(wǎng)格資源的證書請(qǐng)求,用于識(shí)別要運(yùn)行網(wǎng)格作業(yè)的輔助網(wǎng)格資源的裝置;用于執(zhí)行與輔助網(wǎng)格資源的授權(quán)的裝置;和如果與網(wǎng)格資源的授權(quán)失敗,用于產(chǎn)生無效的代理證書并將該無效代理證書發(fā)送給主網(wǎng)格資源的裝置。
10.一種計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品,用于在網(wǎng)格計(jì)算系統(tǒng)中授權(quán)卸載網(wǎng)格作業(yè),該計(jì)算機(jī)程序產(chǎn)品包括用于將網(wǎng)格作業(yè)提交給主網(wǎng)格資源的指令;響應(yīng)來自主網(wǎng)格資源的證書請(qǐng)求,用于識(shí)別要運(yùn)行網(wǎng)格作業(yè)的輔助網(wǎng)格資源的指令;用于執(zhí)行與輔助網(wǎng)格資源的授權(quán)的指令;和如果與網(wǎng)格資源的授權(quán)失敗,用于產(chǎn)生無效的代理證書并將該無效代理證書發(fā)送給主網(wǎng)格資源的指令。
全文摘要
提供了一種用于在資源計(jì)算機(jī)的網(wǎng)格中進(jìn)行輔助資源的相互授權(quán)的機(jī)制。當(dāng)主資源試圖將網(wǎng)格計(jì)算作業(yè)卸載給輔助資源時(shí),主資源向用戶機(jī)器發(fā)送代理證書請(qǐng)求。響應(yīng)代理證書請(qǐng)求,用戶機(jī)器執(zhí)行與輔助資源的授權(quán)。如果與輔助資源的授權(quán)成功,那么用戶機(jī)器產(chǎn)生并返回有效的代理證書。然后,主資源執(zhí)行與輔助資源的相互驗(yàn)證。如果與輔助資源的授權(quán)失敗,那么用戶機(jī)器產(chǎn)生并返回?zé)o效的代理證書。主資源與輔助資源之間的相互驗(yàn)證將因無效代理證書而失敗。然后,主資源選擇另一個(gè)輔助資源,并重復(fù)這一過程直至找到能通過與用戶機(jī)器的相互授權(quán)的資源。
文檔編號(hào)H04L29/06GK1914881SQ200580003471
公開日2007年2月14日 申請(qǐng)日期2005年3月22日 優(yōu)先權(quán)日2004年3月25日
發(fā)明者蘇珊·瑪麗·考哈尼, 杰拉德·弗蘭西斯·邁克布雷迪, 杰西卡·凱利·穆利羅, 肖恩·帕特里克·穆林, 約漢尼·蒙-漢·舍耶 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司