亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

不可靠計(jì)算環(huán)境中使用擾亂計(jì)算單元的分布式計(jì)算的制作方法

文檔序號(hào):6513859閱讀:181來源:國知局
專利名稱:不可靠計(jì)算環(huán)境中使用擾亂計(jì)算單元的分布式計(jì)算的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)和計(jì)算機(jī)軟件,尤其涉及保護(hù)在不可靠分布式計(jì)算環(huán)境中執(zhí)行的計(jì)算。
背景技術(shù)
計(jì)算機(jī)工業(yè)開始越來越依賴于計(jì)算的效用模型(utility model)。與組織通常購買并維持滿足它們各自計(jì)算需要所需的所有必要的硬件和軟件計(jì)算機(jī)資源的傳統(tǒng)計(jì)算范式相反,計(jì)算的效用模型更多在效用或服務(wù)方面來看待計(jì)算機(jī)資源,其可有效地為多個(gè)組織所共享,以滿足所有那些組織的集體計(jì)算需要。
一種這樣的計(jì)算效用環(huán)境被稱為網(wǎng)格(grid)計(jì)算,其中,將一組可能不同種類且地理上遙遠(yuǎn)的計(jì)算機(jī)系統(tǒng)以分布方式連接在一起,以共享它們各自的資源,并呈現(xiàn)出單個(gè)大型又強(qiáng)大的虛擬計(jì)算機(jī)系統(tǒng)的外部特征(appearance)。網(wǎng)格計(jì)算環(huán)境可用來共享各種硬件和軟件資源,如處理器、應(yīng)用、儲(chǔ)存設(shè)備(storage)、存儲(chǔ)器(memory)、打印機(jī)、網(wǎng)絡(luò)連接、以及其它外設(shè)。在計(jì)算網(wǎng)格中,提取多個(gè)計(jì)算機(jī)的硬件和/或軟件資源,其中使用專用軟件以使基礎(chǔ)資源的效用最大化的方式來將工作發(fā)到各個(gè)資源。
網(wǎng)格計(jì)算在系統(tǒng)利用效率方面經(jīng)常比已知有很多計(jì)算機(jī)在大多數(shù)時(shí)間經(jīng)常嚴(yán)重地利用不足的傳統(tǒng)計(jì)算環(huán)境更為有效。使用傳統(tǒng)計(jì)算環(huán)境的組織通常需要維持足夠的計(jì)算能力,以滿足那些組織對(duì)其每一個(gè)計(jì)算系統(tǒng)的最大或峰值需求,而不管那些峰值需求的出現(xiàn)頻率如何。另一方面,通過網(wǎng)格計(jì)算,可有效地共享多個(gè)組織的計(jì)算能力(或甚至同一組織所擁有的多個(gè)地點(diǎn)或系統(tǒng)的計(jì)算能力),使得可以將工作分發(fā)給網(wǎng)格中的不同資源,用于使整體系統(tǒng)利用率最大化。在很多情況下,網(wǎng)格中維持的集體計(jì)算能力可小于其它方式下滿足網(wǎng)格的每個(gè)使用者的各計(jì)算需求所需的計(jì)算能力。
在很多情況下,網(wǎng)格計(jì)算還提供很多復(fù)雜計(jì)算應(yīng)用所期望的高度并行處理的可能性。此外,網(wǎng)格計(jì)算經(jīng)常提供故障排除(failover)、負(fù)載平衡和其它高可用性能力來增加網(wǎng)格的可靠性和可用性,以及其它高級(jí)能力,如安全、管理等。
盡管可在單個(gè)組織內(nèi)維持一些計(jì)算效用環(huán)境,但在很多情況下,計(jì)算效用環(huán)境由多個(gè)組織使用,或甚至可以被公共維持和/或支持。例如,可利用網(wǎng)格和網(wǎng)絡(luò)服務(wù)來從多個(gè)組織提取計(jì)算資源,并使網(wǎng)格的客戶或使用者(甚至不在網(wǎng)格中貢獻(xiàn)(host)任何計(jì)算資源的那些人)能夠讓一個(gè)或多個(gè)資源提供者為其執(zhí)行計(jì)算或其它任務(wù)。此外,可開發(fā)成本結(jié)構(gòu)來使網(wǎng)格的客戶能夠基于每次交易或預(yù)訂而為資源使用付費(fèi)。
作為例子,可使用網(wǎng)格計(jì)算來執(zhí)行通常在數(shù)百萬美元的超級(jí)計(jì)算機(jī)上執(zhí)行的多種類型的計(jì)算。通過使網(wǎng)格中成百上千個(gè)顯著低價(jià)且低性能的計(jì)算機(jī)互連,并然后將復(fù)雜計(jì)算分解為由多個(gè)計(jì)算機(jī)并行處理的計(jì)算單元,網(wǎng)格可提供與很多超級(jí)計(jì)算機(jī)同等的性能,并且成本顯著減小。很多組織更加愿意基于交易或預(yù)訂而為使用網(wǎng)格付費(fèi),以避免為處理復(fù)雜計(jì)算而購買并維持自身充分的計(jì)算能力的需要。
然而,網(wǎng)格計(jì)算和其它形式的分布式計(jì)算效用環(huán)境的一個(gè)缺點(diǎn)在于,由于網(wǎng)格的多組織結(jié)構(gòu)而帶來的安全性問題。
例如,在很多分布式計(jì)算效用環(huán)境中,預(yù)期大量組織會(huì)將計(jì)算資源提供給該環(huán)境的底層結(jié)構(gòu)(infrastructure)。在一些情況下,那些組織甚至可能彼此之間是競爭對(duì)手。因此,希望在這種環(huán)境中執(zhí)行工作的客戶可能不具有對(duì)其數(shù)據(jù)保密性的完全控制。
盡管可使用加密通信來保護(hù)計(jì)算機(jī)之間的通信,但是當(dāng)在計(jì)算效用環(huán)境中的特定計(jì)算機(jī)上執(zhí)行數(shù)據(jù)的基礎(chǔ)處理時(shí),通常,計(jì)算機(jī)必須能夠在執(zhí)行計(jì)算之前對(duì)數(shù)據(jù)解密。換句話說,加密通常在客戶端和資源之間的傳送期間保護(hù)數(shù)據(jù),而一旦由該資源接收并處理數(shù)據(jù),則不保護(hù)數(shù)據(jù)。
結(jié)果,計(jì)算效用環(huán)境中為客戶執(zhí)行的計(jì)算有可能至少部分地由競爭對(duì)手或其它不可靠方所貢獻(xiàn)的計(jì)算資源來執(zhí)行。因此,存在好奇或惡意的不可靠方將在貢獻(xiàn)計(jì)算資源時(shí)對(duì)計(jì)算和/或與計(jì)算相關(guān)的通信進(jìn)行竊聽的實(shí)質(zhì)性風(fēng)險(xiǎn),從而產(chǎn)生了危及客戶的保密數(shù)據(jù)的安全的風(fēng)險(xiǎn)。
因此,本領(lǐng)域中存在對(duì)在計(jì)算效用或其它不可靠分布式計(jì)算環(huán)境中執(zhí)行的計(jì)算加以保護(hù)的重大需要。

發(fā)明內(nèi)容
本發(fā)明通過提供一種裝置、程序產(chǎn)品和方法來解決與現(xiàn)有技術(shù)相關(guān)的這些和其它問題,其中在不可靠計(jì)算機(jī)上啟動(dòng)其它計(jì)算單元的運(yùn)行的同時(shí),啟動(dòng)擾亂計(jì)算單元的運(yùn)行,以防止不可靠方對(duì)計(jì)算的重建。具體地說,在將特定計(jì)算分解為多個(gè)計(jì)算單元的同時(shí),生成一個(gè)或多個(gè)擾亂計(jì)算單元,并將其提供給一個(gè)或多個(gè)資源提供者,以便與被分解的計(jì)算的那些計(jì)算單元一起運(yùn)行??梢韵嘈?,擾亂計(jì)算單元隨同作為分解所關(guān)注的計(jì)算的結(jié)果而生成的一個(gè)或多個(gè)計(jì)算單元的存在,可以使得從提供給不可靠計(jì)算機(jī)的計(jì)算單元對(duì)計(jì)算或其總的結(jié)果的檢測和重建顯著地復(fù)雜化。
根據(jù)本發(fā)明的各個(gè)實(shí)施例可以以多種不同方式來實(shí)現(xiàn)擾亂計(jì)算單元。例如,可將擾亂計(jì)算單元實(shí)現(xiàn)為不用來生成結(jié)果數(shù)據(jù)的偽計(jì)算單元。作為另一個(gè)例子,可將擾亂計(jì)算單元實(shí)現(xiàn)為來自另一個(gè)被分解的計(jì)算的計(jì)算單元。當(dāng)附加地與來自對(duì)多個(gè)不同的計(jì)算機(jī)的給定分解的其它計(jì)算單元的可選運(yùn)行組合時(shí),顯著地減小了不可靠方重建計(jì)算的能力。然而,應(yīng)當(dāng)理解,上面討論的特定例子實(shí)際上僅是說明性的,并且本發(fā)明不限于這些特定的例子。
所附權(quán)利要求中闡述了表現(xiàn)本發(fā)明特征的這些和其它優(yōu)點(diǎn)和特征。然而,為了更好地理解本發(fā)明和通過使用本發(fā)明而實(shí)現(xiàn)的優(yōu)點(diǎn)和目的,應(yīng)當(dāng)參考附圖和所附描述內(nèi)容,其中描述了本發(fā)明的示例實(shí)施例。


圖1為適用于實(shí)現(xiàn)根據(jù)本發(fā)明的擾亂分布式計(jì)算的計(jì)算效用環(huán)境的方框圖。
圖2為在圖1的計(jì)算效用環(huán)境的示例實(shí)現(xiàn)中的軟件層的方框圖。
圖3為圖1的計(jì)算效用環(huán)境的示例硬件和軟件實(shí)現(xiàn)的方框圖。
圖4為圖示由圖3中提到的代理(broker)計(jì)算機(jī)運(yùn)行的實(shí)現(xiàn)根據(jù)本發(fā)明的擾亂分布式計(jì)算的示例處理計(jì)算例程的流程圖。
圖5為圖示由圖3中提到的代理計(jì)算機(jī)運(yùn)行的實(shí)現(xiàn)根據(jù)本發(fā)明的擾亂分布式計(jì)算的另一個(gè)示例處理計(jì)算例程的流程圖。
具體實(shí)施例方式
下文中討論的實(shí)施例利用擾亂計(jì)算單元來防止對(duì)至少部分由不可靠計(jì)算機(jī)運(yùn)行的被分解的計(jì)算的重建。例如,不可靠計(jì)算機(jī)可被耦接到計(jì)算效用環(huán)境,如計(jì)算網(wǎng)格,由此利用網(wǎng)格服務(wù)、網(wǎng)絡(luò)服務(wù)、以及其它分布式計(jì)算功能來允許使用計(jì)算資源來為客戶執(zhí)行計(jì)算。在這點(diǎn)上,計(jì)算機(jī)在以下意義上是不可靠的,即客戶或計(jì)算的所有者不能確保可以訪問該不可靠計(jì)算機(jī)或者向或從這樣的計(jì)算機(jī)進(jìn)行通信的一方將不能夠“竊聽”或以其它方式監(jiān)視保密計(jì)算和/或數(shù)據(jù)業(yè)務(wù)。
根據(jù)本發(fā)明,將計(jì)算分解或劃分為多個(gè)計(jì)算單元,然后以使任何不可靠計(jì)算提供者不能夠有效地重新組合計(jì)算單元以重建原始計(jì)算的方式,將所述多個(gè)計(jì)算單元分發(fā)給一個(gè)或多個(gè)計(jì)算提供者。然后將結(jié)果重新組合,以便通常在沒有被未授權(quán)方竊聽的危險(xiǎn)的環(huán)境中產(chǎn)生最終結(jié)果。
為防止對(duì)計(jì)算的重建或重新組合,將擾亂計(jì)算單元連同來自被分解的計(jì)算的計(jì)算單元一起分發(fā)給不可靠計(jì)算機(jī)。在此上下文中,擾亂計(jì)算單元為使不可靠計(jì)算機(jī)確定傳遞到不可靠計(jì)算機(jī)的那些計(jì)算單元中的哪些計(jì)算單元屬于相同的被分解的計(jì)算的能力被擾亂或以其它方式復(fù)雜化的計(jì)算單元。例如,可將擾亂計(jì)算單元實(shí)現(xiàn)為偽計(jì)算單元,換句話說,不用來生成結(jié)果數(shù)據(jù),但所述偽計(jì)算單元對(duì)不可靠計(jì)算機(jī)呈現(xiàn)為計(jì)算的成員。作為另一個(gè)例子,可將擾亂計(jì)算單元實(shí)現(xiàn)為來自另一個(gè)被分解的計(jì)算的計(jì)算單元,所述另一個(gè)被分解的計(jì)算甚至可以是同一計(jì)算的復(fù)制,以便將來自多個(gè)計(jì)算的單元以難以或不可能確定那些計(jì)算單元的成員資格的方式,發(fā)到不可靠計(jì)算機(jī)。還應(yīng)當(dāng)理解,可以通過將一些計(jì)算單元分發(fā)給在與特定的不可靠方不相關(guān)且不通信的其他方控制下的其它計(jì)算機(jī),來提供附加保護(hù)。對(duì)于受益于此公開的本領(lǐng)域的普通技術(shù)人員來說,擾亂計(jì)算單元的其它實(shí)現(xiàn)將是明顯的。
現(xiàn)在轉(zhuǎn)到附圖,其中,幾幅圖中的相同標(biāo)號(hào)總是表示相同的部件,圖1圖示了根據(jù)本發(fā)明的示例計(jì)算效用環(huán)境10。例如,使用計(jì)算網(wǎng)格12來實(shí)現(xiàn)環(huán)境10,所述計(jì)算網(wǎng)格12用來將多個(gè)客戶端14耦接到多個(gè)計(jì)算資源16。
如本領(lǐng)域中所公知的,可使用任意數(shù)目的計(jì)算機(jī)、外設(shè)、存儲(chǔ)設(shè)備、網(wǎng)絡(luò)連接和適于提供對(duì)資源16的共享訪問的其它軟件和組件來實(shí)現(xiàn)計(jì)算網(wǎng)格12。應(yīng)當(dāng)理解,網(wǎng)格12、客戶端14和資源16的組件可位于任意數(shù)目的地點(diǎn),并可在任意數(shù)目的組織或個(gè)人的控制或領(lǐng)域下。此外,這種組件可為性質(zhì)上同類或不同類的。
接下來,圖2圖示了用于計(jì)算效用環(huán)境10的示范高度抽象的架構(gòu)20。例如,架構(gòu)20包括組織(fabric)層22,用于提供對(duì)通過網(wǎng)格協(xié)議來間接進(jìn)行共享訪問的資源的邏輯表示。在圖示的實(shí)施例中,組織組件主要實(shí)現(xiàn)本地的特定資源的操作。架構(gòu)20還包括連接層24,其定義用于網(wǎng)格事務(wù)(具體地說,組織層組件之間的網(wǎng)格事務(wù))的主要通信和驗(yàn)證協(xié)議。通信協(xié)議可包括各種通信相關(guān)服務(wù),如傳輸、路由選擇和命名。例如,可使用驗(yàn)證協(xié)議來提供用于檢驗(yàn)用戶和資源的身份的安全機(jī)制。
架構(gòu)20還包括資源層26,例如,資源層26通過支持各個(gè)資源的共享操作的安全協(xié)商、啟動(dòng)、監(jiān)測、控制、記賬、以及支付,來提供用于對(duì)資源的共享訪問的協(xié)議。另外,使用集合(collective)層28來協(xié)調(diào)對(duì)各組資源的訪問,尤其包括例如目錄服務(wù)、共同分配(co-allocation)、安排時(shí)間和代理服務(wù)、監(jiān)測和診斷服務(wù)、數(shù)據(jù)復(fù)制服務(wù)、編程系統(tǒng)、工作負(fù)荷管理系統(tǒng)和協(xié)作框架、軟件發(fā)現(xiàn)(software discovery)服務(wù)、團(tuán)體授權(quán)服務(wù)、團(tuán)體記賬和支付服務(wù)、以及協(xié)作服務(wù)。通常,層24、26和28可由允許網(wǎng)格的應(yīng)用30來訪問。
應(yīng)當(dāng)理解,可在架構(gòu)20的每一層中實(shí)現(xiàn)不同服務(wù)。此外,架構(gòu)20實(shí)際上僅為示例,可替換地,可使用其它網(wǎng)格或計(jì)算效用架構(gòu)。因此,本發(fā)明不限于這里圖示的特定計(jì)算效用環(huán)境。
接下來,圖3圖示了用于適于執(zhí)行根據(jù)本發(fā)明的擾亂分布式計(jì)算的裝置40的示例硬件和軟件環(huán)境。具體地說,將裝置40實(shí)現(xiàn)為圖1的計(jì)算效用環(huán)境10中駐留的代理計(jì)算機(jī)。然而,為了本發(fā)明的目的,裝置40在實(shí)踐中可表示任何類型的計(jì)算機(jī)、計(jì)算機(jī)系統(tǒng)或其它可編程電子設(shè)備,包括客戶端計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、便攜計(jì)算機(jī)、手持計(jì)算機(jī)、嵌入控制器等。此外,可使用例如在集群、計(jì)算網(wǎng)格、或其它分布式計(jì)算系統(tǒng)中的多個(gè)網(wǎng)絡(luò)計(jì)算機(jī),來實(shí)現(xiàn)裝置40。下文中,還將裝置40稱為“計(jì)算機(jī)”,盡管應(yīng)當(dāng)理解,術(shù)語“裝置”也可包括根據(jù)本發(fā)明的其它適合的可編程電子設(shè)備。
計(jì)算機(jī)40通常包括中央處理單元(CPU)42,其包括耦接到存儲(chǔ)器44的一個(gè)或多個(gè)處理器,存儲(chǔ)器44可表示隨機(jī)存取存儲(chǔ)器(RAM)設(shè)備,所述存儲(chǔ)器設(shè)備包括計(jì)算機(jī)40的主儲(chǔ)存器、以及任何補(bǔ)充級(jí)別的存儲(chǔ)器,例如高速緩沖存儲(chǔ)器、非易失性或備份存儲(chǔ)器(例如,可編程或快閃存儲(chǔ)器)、只讀存儲(chǔ)器等。另外,可考慮存儲(chǔ)器44包括物理上位于計(jì)算機(jī)40中的其它位置的存儲(chǔ)裝置(memory storage),例如,CPU 42的處理器中的任何高速緩沖存儲(chǔ)器,以及任何用作虛擬存儲(chǔ)器的儲(chǔ)存容量(storage capacity),該儲(chǔ)存容量例如存儲(chǔ)在大容量儲(chǔ)存設(shè)備上或存儲(chǔ)在耦接到計(jì)算機(jī)40的另一個(gè)計(jì)算機(jī)上。
對(duì)于非易失性儲(chǔ)存器來說,計(jì)算機(jī)40通常包括一個(gè)或多個(gè)大容量儲(chǔ)存設(shè)備46,例如,尤其是,軟盤或其它可移動(dòng)盤驅(qū)動(dòng)器、硬盤驅(qū)動(dòng)器、直接存取儲(chǔ)存設(shè)備(DASD)、光學(xué)驅(qū)動(dòng)器(例如,CD驅(qū)動(dòng)器、DVD驅(qū)動(dòng)器等)和/或帶驅(qū)動(dòng)器。此外,計(jì)算機(jī)40還可包括對(duì)一個(gè)或多個(gè)網(wǎng)絡(luò)50(例如,尤其是,LAN、WAN、無線網(wǎng)絡(luò)和/或因特網(wǎng))的接口48,以允許與其它計(jì)算機(jī)和電子設(shè)備,例如一個(gè)或多個(gè)客戶端或管理計(jì)算機(jī)52、一個(gè)或多個(gè)計(jì)算所有者54、以及一個(gè)或多個(gè)計(jì)算提供者56,進(jìn)行信息通信。在其它實(shí)現(xiàn)中,計(jì)算網(wǎng)格可僅駐留在計(jì)算機(jī)40內(nèi),從而計(jì)算所有者和計(jì)算提供者可通過用戶接口58與網(wǎng)格通信。
通常,計(jì)算機(jī)40還接收用于與外部進(jìn)行信息通信的多個(gè)輸入和輸出。為了給用戶或操作者提供接口,計(jì)算機(jī)40通常包括用戶接口58,其合并一個(gè)或多個(gè)用戶輸入設(shè)備(例如,尤其是,鍵盤、鼠標(biāo)、軌跡球、操縱桿、觸摸墊和/或麥克風(fēng))、以及顯示器(例如,尤其是,CRT監(jiān)視器、LCD顯示面板、和/或揚(yáng)聲器)。另外,可通過另一個(gè)計(jì)算機(jī)或終端,例如通過經(jīng)由網(wǎng)絡(luò)50和網(wǎng)絡(luò)接口48耦接到計(jì)算機(jī)40的客戶端計(jì)算機(jī)52,來接收用戶輸入。應(yīng)當(dāng)理解,如本領(lǐng)域所公知的,計(jì)算機(jī)40通常包括在CPU 42和組件44、46、48和58中每一個(gè)之間的適當(dāng)?shù)哪M和/或數(shù)字接口。
計(jì)算機(jī)40在操作系統(tǒng)60的控制下工作,并運(yùn)行,或相反地,依賴于各種計(jì)算機(jī)軟件應(yīng)用、組件、程序、對(duì)象、模塊、數(shù)據(jù)結(jié)構(gòu)等。例如,可駐留網(wǎng)格中間件組件62,以實(shí)現(xiàn)一部分前面提到的計(jì)算網(wǎng)格12,并且其對(duì)于也駐留在計(jì)算機(jī)40上的一個(gè)或多個(gè)允許網(wǎng)格的應(yīng)用64來說,是可訪問的。此外,還可在例如分布式或客戶端-服務(wù)器計(jì)算環(huán)境中,在通過網(wǎng)絡(luò)耦接到計(jì)算機(jī)40的另一個(gè)計(jì)算機(jī)中的一個(gè)或多個(gè)處理器上運(yùn)行附加應(yīng)用、組件、程序、對(duì)象、模塊等,從而可將實(shí)現(xiàn)計(jì)算機(jī)程序的功能所需要的處理分配到網(wǎng)絡(luò)上多個(gè)計(jì)算機(jī)。
通常,無論是作為操作系統(tǒng)的一部分還是特定應(yīng)用、組件、程序、對(duì)象、模塊或指令序列乃至其子集來實(shí)現(xiàn),被運(yùn)行以實(shí)現(xiàn)本發(fā)明的實(shí)施例的例程在此處將被稱為“計(jì)算機(jī)程序代碼”,或簡稱為“程序代碼”。程序代碼通常包括一個(gè)或多個(gè)指令,其在不同時(shí)間駐留在計(jì)算機(jī)中的不同存儲(chǔ)器和儲(chǔ)存設(shè)備中,并且,當(dāng)計(jì)算機(jī)中的一個(gè)或多個(gè)處理器讀取并運(yùn)行所述指令時(shí),使該計(jì)算機(jī)執(zhí)行運(yùn)行體現(xiàn)本發(fā)明的各個(gè)方面的步驟或要素所必需的步驟。此外,盡管已經(jīng)并且在下文中仍將在全功能計(jì)算機(jī)和計(jì)算機(jī)系統(tǒng)的上下文中描述本發(fā)明,但是本領(lǐng)域的技術(shù)人員將理解,本發(fā)明的各個(gè)實(shí)施例能夠作為程序產(chǎn)品以各種形式發(fā)布,并且,不管用于實(shí)際進(jìn)行所述發(fā)布的計(jì)算機(jī)可讀信號(hào)承載介質(zhì)的具體類型為何,本發(fā)明都同樣適用。計(jì)算機(jī)可讀信號(hào)承載介質(zhì)的例子包括但不限于可記錄型介質(zhì),例如,尤其是,易失性和非易失性存儲(chǔ)設(shè)備、軟盤和其它可移動(dòng)盤、硬盤驅(qū)動(dòng)器、磁帶、光盤(例如CD-ROM、DVD等);以及傳輸型介質(zhì),如數(shù)字和模擬通信鏈路。
還應(yīng)當(dāng)理解,還能夠?qū)⒈景l(fā)明的各個(gè)實(shí)施例實(shí)現(xiàn)為在一個(gè)或多個(gè)計(jì)算機(jī)上實(shí)現(xiàn)的服務(wù),并且,對(duì)于可以訪問該服務(wù)的客戶端來說是可用的。例如,這種服務(wù)可通過計(jì)算效用、網(wǎng)格服務(wù)、網(wǎng)絡(luò)服務(wù)等來提供。
另外,可基于應(yīng)用來標(biāo)識(shí)下文中描述的各種程序代碼,其中在本發(fā)明的特定實(shí)施例中,在所述應(yīng)用內(nèi)實(shí)現(xiàn)所述程序代碼。然而,應(yīng)當(dāng)理解,下面的任何特定程序命名僅為了方便而使用,因此,本發(fā)明不應(yīng)當(dāng)限于只在由這種命名所標(biāo)識(shí)和/或暗示的任何特定應(yīng)用中使用。此外,給定有通常為無窮數(shù)目的可將計(jì)算機(jī)程序組織為例程、過程、方法、模塊、對(duì)象等的方式,以及各種可在駐留在典型計(jì)算機(jī)內(nèi)的各種軟件層(例如,操作系統(tǒng)、庫、API、應(yīng)用、小應(yīng)用程序等)中分配程序功能的方式,應(yīng)當(dāng)理解,本發(fā)明不限于這里描述的對(duì)程序功能的特定組織和分配。
本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,圖1-3中示出的示例環(huán)境不試圖限制本發(fā)明。實(shí)際上,本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,可使用其它替換硬件和/或軟件環(huán)境,而不脫離本發(fā)明的范圍。此外,本領(lǐng)域的技術(shù)人員將理解,可在其它在一個(gè)或多個(gè)不可靠計(jì)算機(jī)上執(zhí)行計(jì)算的環(huán)境中利用本發(fā)明,而不管所述環(huán)境被實(shí)現(xiàn)為計(jì)算效用環(huán)境、網(wǎng)格環(huán)境、分布式計(jì)算環(huán)境、客戶端-服務(wù)器環(huán)境、對(duì)等網(wǎng)絡(luò)環(huán)境、還是本領(lǐng)域所公知的其它多計(jì)算機(jī)環(huán)境。
現(xiàn)在轉(zhuǎn)到圖4,其中更詳細(xì)地示出了例如由計(jì)算網(wǎng)格12中的一個(gè)或多個(gè)代理計(jì)算機(jī)響應(yīng)客戶或所有者的請求而運(yùn)行的示例處理計(jì)算例程100。通常,客戶或所有者的請求指定特定計(jì)算,其中,通過將該計(jì)算分解為多個(gè)計(jì)算單元,例程100在方框102開始處理。
盡管在其它實(shí)施例中可以使用其它分解計(jì)算的方式,但是,可在方框102中使用的一種分解方式對(duì)計(jì)算變量利用中國剩余定理(CRT,ChineseRemainder Theorem)。按照CRT,并以小于最大大小M的兩個(gè)整數(shù)J和K作為計(jì)算變量,可以選擇模數(shù)m1、m2和m3(其中,m1、m2和m3兩兩互質(zhì),并且m1*m2*m3=M),使得j1=J(mod m1)k1=K(mod m1)j2=J(mod m2)k2=K(mod m2)j3=J(mod m3)k3=K(mod m3)按照CRTj1+k1=J+K(mod m1)j1*k1=J*K(mod m1)j2+k2=J+K(mod m2)j2*k2=J*K(mod m2)j3+k3=J+K(mod m3)j3*k3=J*K(mod m3)也可以相同的方式執(zhí)行減法和除法。此外,可重新組合j1、j2和j3,以求出J,并且可重新組合k1、k2和k3,以求出K。
同樣,給定大于計(jì)算中的任何整數(shù)的最大大小的值M,可以通過選擇m1、m2和m3,并對(duì)計(jì)算的變量執(zhí)行模運(yùn)算以生成分別使用不同mi的三個(gè)分離的計(jì)算單元,來將涉及整數(shù)的計(jì)算劃分為多個(gè)計(jì)算單元。
在所示實(shí)施例中,mi的大小通常應(yīng)當(dāng)約為M的立方根。還應(yīng)當(dāng)理解,可通過選擇約為M的N次方根(并且互質(zhì))的mi,將計(jì)算劃分為N個(gè)計(jì)算單元。另外,在一些實(shí)施例中,可期望對(duì)于每個(gè)mi僅選擇質(zhì)數(shù)。
同樣,一旦計(jì)算在方框102中被分解,則控制流轉(zhuǎn)到方框104,以生成至少一個(gè)擾亂計(jì)算單元,接下來,控制流轉(zhuǎn)到方框106,以將計(jì)算單元(包括擾亂計(jì)算單元)轉(zhuǎn)發(fā)給一個(gè)或多個(gè)計(jì)算提供者,以有效地啟動(dòng)那些計(jì)算單元在計(jì)算提供者的計(jì)算資源上的運(yùn)行。然后在方框108收集由計(jì)算提供者生成的計(jì)算結(jié)果,并且,在方框110使用CRT來重新組合該結(jié)果,以生成總的結(jié)果。然后在方框112將計(jì)算結(jié)果返回到客戶端,并且例程100完成。
在其它實(shí)施例中,可由不同實(shí)體來執(zhí)行圖4中概述的各個(gè)步驟。例如,在一些實(shí)施例中,客戶或所有者可執(zhí)行將計(jì)算分解為計(jì)算單元和/或?qū)Y(jié)果的重新組合,而計(jì)算網(wǎng)格中的可靠代理計(jì)算機(jī)或其它實(shí)體僅用于將計(jì)算單元傳遞到計(jì)算提供者以及從計(jì)算提供者傳遞結(jié)果。在另一些實(shí)施例中,客戶或所有者可執(zhí)行圖4中概述的所有步驟。對(duì)于受益于此公開的本領(lǐng)域的技術(shù)人員來說,其它替換方式將是明顯的。
可以預(yù)想將計(jì)算分解為計(jì)算單元并生成擾亂計(jì)算單元以防止不可靠方重建計(jì)算的各種實(shí)現(xiàn)。例如,如上面提到的,可將擾亂計(jì)算單元實(shí)現(xiàn)為具有其它計(jì)算單元的外部特征而一旦返回便不再使用其結(jié)果的偽計(jì)算單元??呻S機(jī)生成或以其它編程方式來生成這種偽計(jì)算單元。在基于每個(gè)計(jì)算而產(chǎn)生費(fèi)用的一些實(shí)現(xiàn)中,偽計(jì)算單元的使用可能增加計(jì)算所有者的費(fèi)用;然而,這種單元的出現(xiàn)可顯著增加惡意方可能需要考慮的可能的重新組合的數(shù)目。
在另一個(gè)例子中,通過給每個(gè)計(jì)算單元賦予只有分解該計(jì)算和組合結(jié)果的一方才知道的唯一且不相關(guān)的ID,可以在大致相同的時(shí)間一起提交用于大量(F個(gè))完整計(jì)算的計(jì)算單元,而在各個(gè)計(jì)算單元中沒有指明計(jì)算單元和完整計(jì)算之間的具體關(guān)聯(lián)的標(biāo)識(shí)符。另外,可期望使傳遞到每個(gè)不可靠計(jì)算機(jī)的計(jì)算單元交錯(cuò),以便計(jì)算單元的順序不指明它們和任何特定計(jì)算的關(guān)聯(lián)。在此點(diǎn)上,用于每個(gè)計(jì)算的計(jì)算單元起到針對(duì)與其一起提交的其它計(jì)算的擾亂計(jì)算單元的作用。
按照CRT,例如,組合計(jì)算單元<F1,m1>、<F2,m2>和<F3,m3>將給出看似有效的結(jié)果,即使該結(jié)果實(shí)際上沒有意義,因?yàn)檫@些單元來自三個(gè)完全分離的完整計(jì)算(F1、F2和F3)。
作為另一個(gè)例子,例如,可期望通過在使用CRT來分解計(jì)算時(shí)為不同計(jì)算選擇不同的mi,而選擇不同方式或算法來分解各個(gè)計(jì)算。例如,在一些實(shí)現(xiàn)中,不可靠方也許有可能通過竊聽該計(jì)算來確定為每個(gè)計(jì)算單元使用了哪個(gè)mi。通過這樣做,不可靠方也許能夠?qū)⒍鄠€(gè)計(jì)算單元分類到具有相同mi的存儲(chǔ)桶(bucket)。按照CRT,由于CRT中的mi必定互質(zhì),所以,來自一個(gè)存儲(chǔ)桶的計(jì)算單元不能與來自相同存儲(chǔ)桶的計(jì)算單元重新組合。這樣,如果F個(gè)計(jì)算被分解為分別使用相同mi的三個(gè)計(jì)算單元,那么不可靠方可將計(jì)算單元分類到三個(gè)存儲(chǔ)桶,然后分析那些單元可重新組合的F3種方式。通常,如果F個(gè)計(jì)算各自被分解為P個(gè)計(jì)算單元,則將有FP種可能方式來重新組合那些計(jì)算單元。
為了解決這種潛在的攻擊形式,可例如通過從適當(dāng)mi的超集中選擇mi,來為每個(gè)完整計(jì)算選擇不同的mi組。例如,在很多實(shí)現(xiàn)中,將每個(gè)計(jì)算劃分為三個(gè)單元將是足夠的。然而,除了選擇三個(gè)mi,還可通過選擇多于三個(gè)mi,例如10個(gè)mi(其都大約為M的立方根),來提供更強(qiáng)的安全性。在很多情況下,為計(jì)算選擇的任意三個(gè)mi的乘積是否精確為M是不相干的,只要三個(gè)所選mi的乘積滿足前面提到的CRT中對(duì)M的約束即可。由此,對(duì)于每個(gè)計(jì)算來說,可使用10個(gè)可用mi中的三個(gè)不同mi來分解該計(jì)算。在這種實(shí)現(xiàn)中,不可靠方需要對(duì)F個(gè)計(jì)算考慮的可能有效組合的數(shù)目將非常大,即(103)F3,一般地,如果為F個(gè)計(jì)算中的每一個(gè)使用P個(gè)計(jì)算單元,并且從TP個(gè)模數(shù)的超集中選擇P個(gè)模數(shù)來生成P個(gè)計(jì)算單元,那么,將有(TPP)FP種方式來重新組合所得計(jì)算單元。
作為另一個(gè)例子,可以以多種方式對(duì)給定計(jì)算進(jìn)行分解,而將為多次分解生成的計(jì)算單元集體提交,從而,來自一個(gè)分解的計(jì)算單元起到針對(duì)來自其它每一個(gè)分解的計(jì)算單元的擾亂計(jì)算單元的作用。
通過圖5中示出的處理計(jì)算例程120,更詳細(xì)地示出了根據(jù)本發(fā)明的利用上面討論的多種擾亂技術(shù)的擾亂分布式計(jì)算的一個(gè)特定實(shí)現(xiàn)。例程120在方框122以使用從模數(shù)超集取出的不同模數(shù),按照CRT將F個(gè)計(jì)算分解為計(jì)算單元而開始。另外,在方框122為每個(gè)計(jì)算單元分配不相關(guān)的標(biāo)識(shí)符,以防止導(dǎo)出計(jì)算單元和特定計(jì)算之間的關(guān)聯(lián)。
接下來,在方框124對(duì)計(jì)算單元重新排序,以將其轉(zhuǎn)發(fā)給一個(gè)或多個(gè)計(jì)算提供者,由此使來自不同計(jì)算的計(jì)算單元一起交錯(cuò)。
接下來,在方框126將來自多個(gè)計(jì)算的計(jì)算單元轉(zhuǎn)發(fā)給一個(gè)或多個(gè)計(jì)算提供者,以有效地啟動(dòng)那些計(jì)算單元在計(jì)算提供者的計(jì)算資源上的運(yùn)行。然后,在方框128收集計(jì)算提供者生成的計(jì)算結(jié)果,并且在方框130使用CRT來重新組合所述結(jié)果,以生成總的結(jié)果。然后在方框132將計(jì)算結(jié)果返回到客戶端,并且例程120完成。
可以在不脫離本發(fā)明的精神和范圍的情況下,對(duì)這里描述的實(shí)施例進(jìn)行各種附加修改。因此,本發(fā)明的范圍由所附權(quán)利要求限定。
權(quán)利要求
1.一種啟動(dòng)計(jì)算在至少一個(gè)不可靠計(jì)算機(jī)上的執(zhí)行的方法,該方法包括將該計(jì)算分解為多個(gè)計(jì)算單元,所述多個(gè)計(jì)算單元可組合而生成該計(jì)算的結(jié)果;生成至少一個(gè)擾亂計(jì)算單元;在不可靠計(jì)算機(jī)上啟動(dòng)至少一個(gè)擾亂計(jì)算單元和所述多個(gè)計(jì)算單元中的至少一個(gè)計(jì)算單元的運(yùn)行,以防止不可靠方重建該計(jì)算。
2.如權(quán)利要求1所述的方法,其中,擾亂計(jì)算單元包括通過分解第二計(jì)算而生成的計(jì)算單元。
3.如權(quán)利要求2所述的方法,其中,啟動(dòng)至少一個(gè)擾亂計(jì)算單元和所述多個(gè)計(jì)算單元中的至少一個(gè)計(jì)算單元的運(yùn)行的步驟包括使多個(gè)計(jì)算單元中的至少一個(gè)擾亂計(jì)算單元與所述多個(gè)計(jì)算單元交錯(cuò)。
4.如權(quán)利要求2所述的方法,其中,使用與用于分解第二計(jì)算的算法不同的算法來分解該計(jì)算。
5.如權(quán)利要求1所述的方法,其中,擾亂計(jì)算單元包括偽計(jì)算單元。
6.如權(quán)利要求1所述的方法,其中,擾亂計(jì)算單元包括通過對(duì)該計(jì)算的第二分解生成的計(jì)算單元。
7.如權(quán)利要求1所述的方法,還包括在第二計(jì)算機(jī)上啟動(dòng)所述多個(gè)計(jì)算單元中的至少一個(gè)計(jì)算單元的運(yùn)行。
8.如權(quán)利要求1所述的方法,還包括在不可靠計(jì)算機(jī)上啟動(dòng)全部所述多個(gè)計(jì)算單元的運(yùn)行。
9.如權(quán)利要求1所述的方法,其中,將該計(jì)算分解為多個(gè)計(jì)算單元包括使用中國剩余定理(CRT)來進(jìn)行分解。
10.如權(quán)利要求9所述的方法,其中,該計(jì)算包括多個(gè)變量,并且其中,將該計(jì)算分解為多個(gè)計(jì)算單元包括選擇多個(gè)互質(zhì)的模數(shù);以及通過使用所述多個(gè)互質(zhì)的模數(shù)中的一個(gè)來對(duì)所述多個(gè)變量中的每一個(gè)執(zhí)行模運(yùn)算,而生成每一個(gè)計(jì)算單元。
11.如權(quán)利要求10所述的方法,其中,選擇多個(gè)互質(zhì)的模數(shù)包括從互質(zhì)模數(shù)超集中選擇每一個(gè)模數(shù),該方法還包括使用從互質(zhì)模數(shù)超集中選擇的不同的模數(shù)集,來將多個(gè)計(jì)算分解為多個(gè)計(jì)算單元;以及在不可靠計(jì)算機(jī)上啟動(dòng)來自所述多個(gè)計(jì)算的計(jì)算單元的運(yùn)行。
12.如權(quán)利要求1所述的方法,還包括接收在所述多個(gè)計(jì)算單元中的每一個(gè)的運(yùn)行期間生成的結(jié)果數(shù)據(jù);以及從該結(jié)果數(shù)據(jù)生成該計(jì)算的結(jié)果。
13.如權(quán)利要求1所述的方法,其中,不可靠計(jì)算機(jī)被耦接到網(wǎng)格計(jì)算網(wǎng)絡(luò)。
14.如權(quán)利要求13所述的方法,其中,由耦接到網(wǎng)格計(jì)算網(wǎng)絡(luò)的客戶端計(jì)算機(jī)來執(zhí)行對(duì)該計(jì)算的分解。
15.如權(quán)利要求13所述的方法,其中,由耦接到網(wǎng)格計(jì)算網(wǎng)絡(luò)的代理計(jì)算機(jī)來執(zhí)行對(duì)該計(jì)算的分解,該方法還包括從客戶端計(jì)算機(jī)接收該計(jì)算。
16.如權(quán)利要求1所述的方法,其中,由耦接到不可靠計(jì)算機(jī)的至少一個(gè)計(jì)算機(jī)來執(zhí)行對(duì)該計(jì)算的分解、擾亂計(jì)算單元的生成、以及不可靠計(jì)算機(jī)上擾亂計(jì)算單元和所述多個(gè)計(jì)算單元中的一個(gè)計(jì)算單元的運(yùn)行的啟動(dòng),該方法還包括將擾亂計(jì)算單元和所述多個(gè)計(jì)算單元中的一個(gè)計(jì)算單元傳遞到不可靠計(jì)算機(jī)。
17.一種裝置,包括至少一個(gè)處理器;以及程序代碼,配置為用來由至少一個(gè)處理器運(yùn)行,以通過將計(jì)算分解為可組合而生成該計(jì)算的結(jié)果的多個(gè)計(jì)算單元,生成至少一個(gè)擾亂計(jì)算單元,并且在不可靠計(jì)算機(jī)上啟動(dòng)至少一個(gè)擾亂計(jì)算單元和所述多個(gè)計(jì)算單元中的至少一個(gè)計(jì)算單元的運(yùn)行以防止不可靠方重建計(jì)算,來啟動(dòng)該計(jì)算在至少一個(gè)不可靠計(jì)算機(jī)上的執(zhí)行。
18.如權(quán)利要求17所述的裝置,其中,擾亂計(jì)算單元包括通過分解第二計(jì)算而生成的計(jì)算單元。
19.如權(quán)利要求18所述的裝置,其中,該程序代碼配置為通過使多個(gè)計(jì)算單元中的至少一個(gè)擾亂計(jì)算單元與所述多個(gè)計(jì)算單元交錯(cuò),來啟動(dòng)至少一個(gè)擾亂計(jì)算單元和所述多個(gè)計(jì)算單元中的至少一個(gè)計(jì)算單元的運(yùn)行。
20.如權(quán)利要求18所述的裝置,其中,該程序代碼配置為使用與用于分解第二計(jì)算的算法不同的算法來分解該計(jì)算。
21.如權(quán)利要求17所述的裝置,其中,擾亂計(jì)算單元包括偽計(jì)算單元。
22.如權(quán)利要求17所述的裝置,其中,擾亂計(jì)算單元包括通過對(duì)該計(jì)算的第二分解生成的計(jì)算單元。
23.如權(quán)利要求17所述的裝置,該程序代碼還配置為在第二計(jì)算機(jī)上啟動(dòng)所述多個(gè)計(jì)算單元中的至少一個(gè)的運(yùn)行。
24.如權(quán)利要求17所述的裝置,該程序代碼還配置為在不可靠計(jì)算機(jī)上啟動(dòng)全部所述多個(gè)計(jì)算單元的運(yùn)行。
25.如權(quán)利要求17所述的裝置,其中,該程序代碼配置為使用中國剩余定理(CRT)來將該計(jì)算分解為多個(gè)計(jì)算單元。
26.如權(quán)利要求25所述的裝置,其中,該計(jì)算包括多個(gè)變量,并且其中,該程序代碼配置為通過選擇多個(gè)互質(zhì)的模數(shù),并使用所述多個(gè)互質(zhì)的模數(shù)中的一個(gè)來對(duì)所述多個(gè)變量中的每一個(gè)執(zhí)行模運(yùn)算而生成每一個(gè)計(jì)算單元,從而將該計(jì)算分解為多個(gè)計(jì)算單元。
27.如權(quán)利要求26所述的裝置,其中,該程序代碼配置為從互質(zhì)模數(shù)超集中選擇所述多個(gè)互質(zhì)的模數(shù),其中,該程序代碼還配置為使用從互質(zhì)模數(shù)超集中選擇的不同模數(shù)集,來將多個(gè)計(jì)算分解為多個(gè)計(jì)算單元,并在不可靠計(jì)算機(jī)上啟動(dòng)來自所述多個(gè)計(jì)算的計(jì)算單元的運(yùn)行。
28.如權(quán)利要求17所述的裝置,其中,該程序代碼還配置為接收在所述多個(gè)計(jì)算單元中的每一個(gè)的運(yùn)行期間生成的結(jié)果數(shù)據(jù),并從該結(jié)果數(shù)據(jù)生成該計(jì)算的結(jié)果。
29.如權(quán)利要求17所述的裝置,其中,不可靠計(jì)算機(jī)被耦接到網(wǎng)格計(jì)算網(wǎng)絡(luò)。
30.如權(quán)利要求29所述的裝置,還包括耦接到網(wǎng)格計(jì)算網(wǎng)絡(luò)的客戶端計(jì)算機(jī),并且該程序代碼駐留在該客戶端計(jì)算機(jī)上。
31.如權(quán)利要求29所述的裝置,還包括耦接到網(wǎng)格計(jì)算網(wǎng)絡(luò)的客戶端計(jì)算機(jī),并且該程序代碼駐留在該客戶端計(jì)算機(jī)上,其中,該程序代碼還配置為從客戶端計(jì)算機(jī)接收計(jì)算。
32.如權(quán)利要求17所述的裝置,其中,該程序代碼駐留在耦接到不可靠計(jì)算機(jī)上的分離計(jì)算機(jī)上,并且其中,該程序代碼還配置為將擾亂計(jì)算單元和所述多個(gè)計(jì)算單元中的一個(gè)計(jì)算單元傳遞到不可靠計(jì)算機(jī)。
33.一種程序產(chǎn)品,包括程序代碼,配置為用來通過將計(jì)算分解為可組合而生成該計(jì)算的結(jié)果的多個(gè)計(jì)算單元,生成至少一個(gè)擾亂計(jì)算單元,并且在不可靠計(jì)算機(jī)上啟動(dòng)至少一個(gè)擾亂計(jì)算單元和所述多個(gè)計(jì)算單元中的至少一個(gè)計(jì)算單元的運(yùn)行以防止不可靠方重建計(jì)算,來啟動(dòng)計(jì)算在至少一個(gè)不可靠計(jì)算機(jī)上的執(zhí)行;和承載該程序代碼的計(jì)算機(jī)可讀信號(hào)承載介質(zhì)。
34.如權(quán)利要求33所述的程序產(chǎn)品,其中,信號(hào)承載介質(zhì)包括可讀介質(zhì)和傳輸介質(zhì)中的至少一個(gè)。
全文摘要
一種裝置、程序產(chǎn)品和方法,在不可靠計(jì)算機(jī)上啟動(dòng)其它計(jì)算單元的運(yùn)行的同時(shí),啟動(dòng)擾亂計(jì)算單元的運(yùn)行,以防止不可靠方對(duì)計(jì)算的重建。具體地說,在將特定計(jì)算分解為多個(gè)計(jì)算單元的同時(shí),生成一個(gè)或多個(gè)擾亂計(jì)算單元,并將其提供給一個(gè)或多個(gè)資源提供者,以便與被分解的計(jì)算的那些計(jì)算單元一起運(yùn)行。
文檔編號(hào)G06F9/50GK1645332SQ200510005530
公開日2005年7月27日 申請日期2005年1月20日 優(yōu)先權(quán)日2004年1月20日
發(fā)明者斯科特·N·杰勒德 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1