網(wǎng)格計(jì)算系統(tǒng)中的任務(wù)執(zhí)行方法、邊界裝置和網(wǎng)格服務(wù)器的制造方法
【專利摘要】本發(fā)明涉及一種網(wǎng)格計(jì)算系統(tǒng)中的任務(wù)執(zhí)行方法、邊界裝置和網(wǎng)格服務(wù)器。這里公開了在網(wǎng)格計(jì)算系統(tǒng)中執(zhí)行任務(wù)的方法和裝置。根據(jù)實(shí)現(xiàn),利用邊界裝置(104)來識別空閑時(shí)隙并估計(jì)這些空閑時(shí)隙的持續(xù)時(shí)間,以執(zhí)行子任務(wù)。這些空閑時(shí)隙表示邊界裝置的閑置狀態(tài)。利用邊界裝置來確定該邊界裝置的在空閑時(shí)隙期間執(zhí)行子任務(wù)所用的至少一個(gè)計(jì)算性能參數(shù)。利用邊界裝置來創(chuàng)建通告配置文件,其中該通告配置文件具有至少一個(gè)空閑時(shí)隙、以及該至少一個(gè)空閑時(shí)隙的持續(xù)時(shí)間和與該至少一個(gè)空閑時(shí)隙相關(guān)聯(lián)的至少一個(gè)計(jì)算性能參數(shù)。利用邊界裝置來將通告配置文件提供至網(wǎng)格計(jì)算系統(tǒng)中的網(wǎng)格服務(wù)器(102),以對主任務(wù)進(jìn)行劃分,從而創(chuàng)建該邊界裝置能夠執(zhí)行的子任務(wù)。
【專利說明】網(wǎng)格計(jì)算系統(tǒng)中的任務(wù)執(zhí)行方法、邊界裝置和網(wǎng)格服務(wù)器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)格計(jì)算系統(tǒng),并且特別地而非排他地涉及利用網(wǎng)格計(jì)算系統(tǒng)中的閑置資源的任務(wù)執(zhí)行。
【背景技術(shù)】
[0002]在現(xiàn)今環(huán)境中,通常利用諸如計(jì)算機(jī)和服務(wù)器等的計(jì)算裝置來執(zhí)行各種任務(wù)。諸如數(shù)據(jù)分析、模擬、建模和測試等的任務(wù)從計(jì)算上可能密集且復(fù)雜,并且可能無法通過一個(gè)計(jì)算裝置來執(zhí)行這些任務(wù)。將這些計(jì)算密集型任務(wù)分配至用作計(jì)算資源的多個(gè)計(jì)算裝置以供執(zhí)行。
[0003]網(wǎng)格計(jì)算是用于執(zhí)行包括計(jì)算密集型任務(wù)的任務(wù)的一個(gè)這種常用技術(shù)。在網(wǎng)格計(jì)算中,分配有主任務(wù)以供執(zhí)行的計(jì)算裝置控制閑置計(jì)算資源的處理能力以利用這些閑置計(jì)算資源來執(zhí)行主任務(wù)的子任務(wù)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供一種用于在網(wǎng)格計(jì)算系統(tǒng)中執(zhí)行任務(wù)的方法,所述方法包括以下步驟:利用邊界裝置來識別空閑時(shí)隙并估計(jì)所述空閑時(shí)隙的持續(xù)時(shí)間,以執(zhí)行子任務(wù),其中所述空閑時(shí)隙表示所述邊界裝置的閑置狀態(tài);利用所述邊界裝置來確定所述邊界裝置的在所述空閑時(shí)隙期間執(zhí)行子任務(wù)所用的至少一個(gè)計(jì)算性能參數(shù);利用所述邊界裝置來創(chuàng)建通告配置文件,其中所述通告配置文件包括所述空閑時(shí)隙中的至少一個(gè)空閑時(shí)隙、并且包括所述至少一個(gè)空閑時(shí)隙的所述持續(xù)時(shí)間和與所述至少一個(gè)空閑時(shí)隙相關(guān)聯(lián)的所述至少一個(gè)計(jì)算性能參數(shù);以及利用所述邊界裝置來將所述通告配置文件提供至所述網(wǎng)格計(jì)算系統(tǒng)中的網(wǎng)格服務(wù)器,以對主任務(wù)進(jìn)行劃分,從而創(chuàng)建所述邊界裝置能夠執(zhí)行的子任務(wù)。
[0005]本發(fā)明提供一種用于在網(wǎng)格計(jì)算系統(tǒng)中執(zhí)行任務(wù)的方法,所述方法包括以下步驟:利用所述網(wǎng)格計(jì)算系統(tǒng)中的網(wǎng)格服務(wù)器來從邊界裝置接收通告配置文件,其中所述通告配置文件包括表示所述邊界裝置的閑置狀態(tài)的至少一個(gè)空閑時(shí)隙、所述至少一個(gè)空閑時(shí)隙的持續(xù)時(shí)間、以及與所述至少一個(gè)空閑時(shí)隙相關(guān)聯(lián)的所述邊界裝置的至少一個(gè)計(jì)算性能參數(shù);利用所述網(wǎng)格服務(wù)器來檢查所述至少一個(gè)空閑時(shí)隙的持續(xù)時(shí)間是否為利用所述邊界裝置完成最小子任務(wù)所用的預(yù)定義閾值持續(xù)時(shí)間以上、以及與所述至少一個(gè)空閑時(shí)隙相關(guān)聯(lián)的所述至少一個(gè)計(jì)算性能參數(shù)是否為利用所述邊界裝置滿足所述最小子任務(wù)的時(shí)間表所用的相應(yīng)預(yù)定義閾值以上;以及基于所述檢查來對主任務(wù)進(jìn)行劃分以創(chuàng)建子任務(wù),從而利用所述邊界裝置來執(zhí)行。
[0006]本發(fā)明提供一種邊界裝置,用于在網(wǎng)格計(jì)算系統(tǒng)中執(zhí)行任務(wù),所述邊界裝置包括:處理器;時(shí)隙性能監(jiān)控器,其連接至所述處理器,并且用于進(jìn)行以下操作:識別空閑時(shí)隙并估計(jì)所述空閑時(shí)隙的持續(xù)時(shí)間,以執(zhí)行子任務(wù),其中所述空閑時(shí)隙表示所述邊界裝置的閑置狀態(tài);以及確定所述邊界裝置的在所述空閑時(shí)隙期間執(zhí)行子任務(wù)所用的至少一個(gè)計(jì)算性能參數(shù);以及通告模塊,其連接至所述處理器,并且用于進(jìn)行以下操作:創(chuàng)建通告配置文件,其中所述通告配置文件包括所述空閑時(shí)隙中的至少一個(gè)空閑時(shí)隙、并且包括所述至少一個(gè)空閑時(shí)隙的所述持續(xù)時(shí)間和與所述至少一個(gè)空閑時(shí)隙相關(guān)聯(lián)的所述至少一個(gè)計(jì)算性能參數(shù);以及將所述通告配置文件提供至所述網(wǎng)格計(jì)算系統(tǒng)中的網(wǎng)格服務(wù)器,以對主任務(wù)進(jìn)行劃分,從而創(chuàng)建所述邊界裝置能夠執(zhí)行的子任務(wù)。
[0007]本發(fā)明提供一種網(wǎng)格服務(wù)器,用于在網(wǎng)格計(jì)算系統(tǒng)中執(zhí)行任務(wù),所述網(wǎng)格服務(wù)器包括:處理器;資源監(jiān)控器,其連接至所述處理器,并且用于進(jìn)行以下操作:從邊界裝置接收通告配置文件,其中所述通告配置文件包括表示所述邊界裝置的閑置狀態(tài)的至少一個(gè)空閑時(shí)隙、所述至少一個(gè)空閑時(shí)隙的持續(xù)時(shí)間、以及與所述至少一個(gè)空閑時(shí)隙相關(guān)聯(lián)的所述邊界裝置的至少一個(gè)計(jì)算性能參數(shù);以及檢查所述至少一個(gè)空閑時(shí)隙的持續(xù)時(shí)間是否為利用所述邊界裝置完成最小子任務(wù)所用的預(yù)定義閾值持續(xù)時(shí)間以上、以及與所述至少一個(gè)空閑時(shí)隙相關(guān)聯(lián)的所述至少一個(gè)計(jì)算性能參數(shù)是否為利用所述邊界裝置滿足所述最小子任務(wù)的時(shí)間表所用的相應(yīng)預(yù)定義閾值以上;以及任務(wù)調(diào)度器,其連接至所述處理器,并且用于對主任務(wù)進(jìn)行劃分以創(chuàng)建子任務(wù),從而利用所述邊界裝置來執(zhí)行,其中所述子任務(wù)是基于所述至少一個(gè)空閑時(shí)隙的持續(xù)時(shí)間和與所述至少一個(gè)空閑時(shí)隙相關(guān)聯(lián)的所述至少一個(gè)計(jì)算性能參數(shù)所創(chuàng)建的。
[0008]本發(fā)明提供一種非瞬態(tài)計(jì)算機(jī)可讀介質(zhì),其具有一組計(jì)算機(jī)可讀指令,其中所述一組計(jì)算機(jī)可讀指令在執(zhí)行的情況下,使邊界裝置進(jìn)行以下操作:識別空閑時(shí)隙并估計(jì)所述空閑時(shí)隙的持續(xù)時(shí)間,以執(zhí)行子任務(wù),其中所述空閑時(shí)隙表示所述邊界裝置的閑置狀態(tài);確定所述邊界裝置的在所述空閑時(shí)隙期間執(zhí)行子任務(wù)所用的至少一個(gè)計(jì)算性能參數(shù);創(chuàng)建通告配置文件,其中所述通告配置文件包括所述空閑時(shí)隙中的至少一個(gè)空閑時(shí)隙、并且包括所述至少一個(gè)空閑時(shí)隙的所述持續(xù)時(shí)間和與所述至少一個(gè)空閑時(shí)隙相關(guān)聯(lián)的所述至少一個(gè)計(jì)算性能參數(shù);以及將所述通告配置文件提供至網(wǎng)格計(jì)算系統(tǒng)中的網(wǎng)格服務(wù)器,以對主任務(wù)進(jìn)行劃分,從而創(chuàng)建所述邊界裝置能夠執(zhí)行的子任務(wù)。
【專利附圖】
【附圖說明】
[0009]參考附圖來進(jìn)行詳細(xì)說明。在附圖中,附圖標(biāo)記最左邊的數(shù)字標(biāo)識了該附圖標(biāo)記首先出現(xiàn)的附圖。在整個(gè)附圖中使用相同的數(shù)字以參考相同的特征和組件。現(xiàn)在將僅通過示例的方式并且參考附圖來說明根據(jù)本發(fā)明的裝置和/或方法的一些實(shí)現(xiàn),其中:
[0010]圖1示出根據(jù)本發(fā)明的實(shí)現(xiàn)的網(wǎng)格計(jì)算系統(tǒng)。
[0011]圖2示出根據(jù)本發(fā)明的實(shí)現(xiàn)的網(wǎng)格計(jì)算系統(tǒng)的邊界裝置(edge device)和網(wǎng)格服務(wù)器(grid server)。
[0012]圖3示出根據(jù)本發(fā)明的實(shí)現(xiàn)的利用網(wǎng)格計(jì)算系統(tǒng)中的閑置資源的任務(wù)執(zhí)行所用的方法。
[0013]圖4示出根據(jù)本發(fā)明的實(shí)現(xiàn)的利用網(wǎng)格計(jì)算系統(tǒng)中的閑置資源的任務(wù)執(zhí)行所用的方法。
[0014]本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,這里的任何框圖均表示體現(xiàn)本發(fā)明的原理的例示系統(tǒng)的概念圖。同樣,應(yīng)當(dāng)理解,任何流程圖、流圖、狀態(tài)轉(zhuǎn)變圖和偽代碼等均表示可以在計(jì)算機(jī)可讀介質(zhì)中大致表示的、因而由計(jì)算機(jī)或處理器(無論這種計(jì)算機(jī)或處理器是否明確示出)來執(zhí)行的各種處理。
【具體實(shí)施方式】
[0015]本發(fā)明涉及利用網(wǎng)格計(jì)算系統(tǒng)中的閑置資源的任務(wù)執(zhí)行所用的方法和裝置。閑置資源可被理解為處于閑置狀態(tài)、并且處理能力未被利用且可用于進(jìn)行任務(wù)的計(jì)算裝置。
[0016]網(wǎng)格計(jì)算系統(tǒng)通常包括分配有主任務(wù)以供執(zhí)行的、被稱為專用資源的一個(gè)或多個(gè)網(wǎng)格服務(wù)器。主任務(wù)可以包括數(shù)據(jù)分析任務(wù)、模擬、建模任務(wù)和測試任務(wù)等。網(wǎng)格服務(wù)器可以與被稱為非專用資源的閑置計(jì)算裝置進(jìn)行通信,并且將與主任務(wù)相關(guān)聯(lián)的子任務(wù)指派至這些閑置計(jì)算裝置。這些閑置計(jì)算裝置執(zhí)行所指派的子任務(wù)并將子任務(wù)結(jié)果發(fā)送回至網(wǎng)格服務(wù)器。網(wǎng)格服務(wù)器從閑置計(jì)算裝置提取子任務(wù)結(jié)果并使這些子任務(wù)結(jié)果匯聚以生成主任務(wù)結(jié)果。
[0017]在網(wǎng)格計(jì)算系統(tǒng)中,網(wǎng)格服務(wù)器可以負(fù)責(zé)尋找哪些計(jì)算裝置是閑置或空閑的以指派計(jì)算密集型主任務(wù)的子任務(wù)。已知如下網(wǎng)格計(jì)算系統(tǒng),其中在這些網(wǎng)格計(jì)算系統(tǒng)中,處于閑置狀態(tài)的計(jì)算裝置開始與網(wǎng)格服務(wù)器進(jìn)行通信并且要求任務(wù)以供執(zhí)行。網(wǎng)格服務(wù)器接收來自閑置計(jì)算裝置的請求,并且指派子任務(wù)以供執(zhí)行。
[0018]此外,各網(wǎng)格服務(wù)器將計(jì)算密集型主任務(wù)分割成多個(gè)數(shù)據(jù)并行的子任務(wù)或者從計(jì)算密集型主任務(wù)中劃分出一些子任務(wù)。將這些已創(chuàng)建或劃分出的子任務(wù)指派至閑置計(jì)算裝置以供執(zhí)行。傳統(tǒng)上,無法判斷指派有子任務(wù)以供執(zhí)行的閑置計(jì)算裝置是否能夠執(zhí)行所指派的子任務(wù)。據(jù)此,不能確保所指派的子任務(wù)是否將由閑置計(jì)算裝置來執(zhí)行并完成。此夕卜,可以向子任務(wù)指派時(shí)間表(timeline)。通過將子任務(wù)指派至閑置計(jì)算裝置,在并不知曉閑置計(jì)算裝置的性能的情況下,不能確保這些子任務(wù)是否將由閑置計(jì)算裝置在時(shí)間表內(nèi)完成。這樣影響了利用閑置計(jì)算裝置的子任務(wù)的執(zhí)行和完成,而這又影響了指派至網(wǎng)格服務(wù)器的主任務(wù)的完成。
[0019]此外,網(wǎng)格服務(wù)器可以在劃分出子任務(wù)并將這些子任務(wù)指派至閑置計(jì)算裝置之前,確定這些閑置計(jì)算裝置的性能。在可能閑置并且與網(wǎng)格服務(wù)器進(jìn)行通信以執(zhí)行子任務(wù)的計(jì)算裝置的數(shù)量相當(dāng)大的情況下,各網(wǎng)格服務(wù)器可能必須對連接至網(wǎng)格計(jì)算系統(tǒng)的大量計(jì)算裝置確定性能。這將導(dǎo)致網(wǎng)格服務(wù)器的工作負(fù)荷極大。此外,在將大量計(jì)算裝置作為資源進(jìn)行管理的網(wǎng)格服務(wù)器的數(shù)量大的情況下,網(wǎng)格計(jì)算系統(tǒng)的管理開銷也將相當(dāng)高。
[0020]本發(fā)明涉及利用網(wǎng)格計(jì)算系統(tǒng)中的閑置資源的任務(wù)執(zhí)行所用的方法和裝置。該網(wǎng)格計(jì)算系統(tǒng)包括分配有至少一個(gè)主任務(wù)以供執(zhí)行的、用作專用資源的一個(gè)或多個(gè)網(wǎng)格服務(wù)器,并且包括用作非專用資源的一個(gè)或多個(gè)其它計(jì)算裝置,其中該一個(gè)或多個(gè)其它計(jì)算裝置可以在閑置狀態(tài)期間提供它們的處理能力以執(zhí)行與主任務(wù)相關(guān)聯(lián)的子任務(wù)。在實(shí)現(xiàn)中,被稱為閑置資源的其它計(jì)算裝置可以包括諸如移動(dòng)電話和住宅網(wǎng)關(guān)等的邊界裝置。邊界裝置是與該邊界裝置相關(guān)聯(lián)的服務(wù)提供商的網(wǎng)絡(luò)的終端處的裝置。本發(fā)明的網(wǎng)格服務(wù)器和邊界裝置被配置成如下:可以根據(jù)邊界裝置的用于在閑置狀態(tài)的持續(xù)時(shí)間內(nèi)執(zhí)行子任務(wù)的計(jì)算性能來以高效方式從主任務(wù)中劃分出子任務(wù)。據(jù)此,與傳統(tǒng)網(wǎng)格計(jì)算系統(tǒng)的情況相比,利用邊界裝置的子任務(wù)的指派、執(zhí)行和完成基本是高效的。
[0021 ] 根據(jù)本發(fā)明,邊界裝置保持針對其閑置狀態(tài)的追蹤。根據(jù)本發(fā)明,邊界裝置的閑置狀態(tài)是邊界裝置具有用以執(zhí)行從諸如網(wǎng)格服務(wù)器等的外部裝置所接收到的任務(wù)的處理能力和裝置容量的狀態(tài)。邊界裝置盡管運(yùn)行一些應(yīng)用程序或在后臺執(zhí)行沒有利用大量處理能力和裝置容量的一些任務(wù),但仍被理解為處于閑置狀態(tài)或相對閑置狀態(tài)。在實(shí)現(xiàn)中,利用邊界裝置來識別邊界裝置處于閑置狀態(tài)的時(shí)隙。這些時(shí)隙被稱為空閑時(shí)隙。針對各空閑時(shí)隙,利用邊界裝置來估計(jì)該空閑時(shí)隙的持續(xù)時(shí)間。除估計(jì)空閑時(shí)隙的持續(xù)時(shí)間以外,還利用邊界裝置來確定該邊界裝置的用于在所識別出的空閑時(shí)隙期間執(zhí)行子任務(wù)的至少一個(gè)計(jì)算性能參數(shù)。在示例中,計(jì)算性能參數(shù)包括空閑時(shí)隙期間的邊界裝置的計(jì)算速度、邊界裝置可利用的處理內(nèi)存和邊界裝置的網(wǎng)絡(luò)帶寬。
[0022]基于該識別和確定,利用邊界裝置向網(wǎng)格計(jì)算系統(tǒng)中的網(wǎng)格服務(wù)器通告至少一個(gè)空閑時(shí)隙、其持續(xù)時(shí)間和與該至少一個(gè)空閑時(shí)隙相關(guān)聯(lián)的邊界裝置的至少一個(gè)計(jì)算性能參數(shù)的信息,從而對主任務(wù)進(jìn)行劃分以創(chuàng)建邊界裝置能夠執(zhí)行的子任務(wù)。
[0023]根據(jù)本發(fā)明,網(wǎng)格服務(wù)器收聽來自邊界裝置的通告以獲取與邊界裝置的空閑時(shí)隙和計(jì)算性能參數(shù)有關(guān)的信息。在實(shí)現(xiàn)中,利用網(wǎng)格服務(wù)器來接收一個(gè)或多個(gè)邊界裝置所通告的這些邊界裝置的至少一個(gè)空閑時(shí)隙、其持續(xù)時(shí)間和至少一個(gè)計(jì)算性能參數(shù)的信息。網(wǎng)格服務(wù)器在從各邊界裝置接收到這些信息時(shí),進(jìn)行檢查,以判斷空閑時(shí)隙的持續(xù)時(shí)間是否足以利用邊界裝置完成最小子任務(wù)、以及邊界裝置利用與該空閑時(shí)隙相關(guān)聯(lián)的至少一個(gè)計(jì)算性能參數(shù)是否能夠執(zhí)行最小子任務(wù)并滿足該子任務(wù)的時(shí)間表。
[0024]基于上述針對各邊界裝置的檢查,網(wǎng)格服務(wù)器對所分配的主任務(wù)進(jìn)行劃分,以創(chuàng)建由各邊界裝置來執(zhí)行的子任務(wù)?;诟鬟吔缪b置所通告的空閑時(shí)隙的持續(xù)時(shí)間和計(jì)算性能參數(shù)來創(chuàng)建該邊界裝置的子任務(wù)。然后,利用網(wǎng)格服務(wù)器將針對這些邊界裝置所創(chuàng)建的子任務(wù)指派至相應(yīng)的邊界裝置。各邊界裝置接收所指派的子任務(wù),執(zhí)行該子任務(wù),并將子任務(wù)結(jié)果發(fā)送至網(wǎng)格服務(wù)器。網(wǎng)格服務(wù)器從所有的邊界裝置收集子任務(wù)結(jié)果,并且組合所收集的結(jié)果以制定主任務(wù)結(jié)果。
[0025]利用本發(fā)明的裝置和方法,邊界裝置在開始處理計(jì)算任務(wù)之前,估計(jì)并通告這些邊界裝置的用作為資源的可用性。這樣減輕了網(wǎng)格服務(wù)器尋找可用的閑置資源的負(fù)荷。另夕卜,邊界裝置獨(dú)自估計(jì)可用性的持續(xù)時(shí)間和用于執(zhí)行任務(wù)的性能。這樣防止了給網(wǎng)格服務(wù)器帶來判斷任務(wù)執(zhí)行所用的閑置資源性能的負(fù)擔(dān)。
[0026]此外,由于網(wǎng)格裝置劃分出適合邊界裝置的性能和閑置持續(xù)時(shí)間的子任務(wù),因此指派了邊界裝置能夠在空閑時(shí)隙期間執(zhí)行的子任務(wù)以供執(zhí)行。這便于降低所指派的子任務(wù)的執(zhí)行和完成的失敗率,這樣使得可以大致高效地完成主任務(wù)。
[0027]將結(jié)合附圖來更詳細(xì)地說明本發(fā)明的這些和其它優(yōu)點(diǎn)。應(yīng)當(dāng)注意,本說明書和附圖僅例示本發(fā)明的原理。
[0028]圖1示出根據(jù)本發(fā)明的實(shí)現(xiàn)的網(wǎng)格計(jì)算系統(tǒng)100。網(wǎng)格計(jì)算系統(tǒng)100具有多個(gè)網(wǎng)格服務(wù)器102-1,102-2,…、102-N,其中向多個(gè)網(wǎng)格服務(wù)器102_1、102_2、…、102-N各自分配被稱為主任務(wù)的任務(wù)以供執(zhí)行。以下將多個(gè)網(wǎng)格服務(wù)器102-1、102-2、…、102-N全體稱為網(wǎng)格服務(wù)器102,并且個(gè)體也稱為網(wǎng)格服務(wù)器102??梢岳猛獠咳蝿?wù)分配器(圖1中未示出)來將主任務(wù)分配至網(wǎng)格服務(wù)器102。在網(wǎng)格計(jì)算系統(tǒng)100中,多個(gè)邊界裝置104-1、104-2、…、104-M可以可通信地與網(wǎng)格服務(wù)器102中的一個(gè)或多個(gè)相連接以執(zhí)行主任務(wù)的子任務(wù)。以下將邊界裝置104-1、104-2、…、104-M全體稱為邊界裝置104,并且個(gè)體也稱為邊界裝置104。邊界裝置104包括例如移動(dòng)電話和平板電腦等的移動(dòng)裝置,并且包括例如路由器、交換機(jī)和調(diào)制解調(diào)器等的住宅網(wǎng)關(guān)。
[0029]網(wǎng)格服務(wù)器102和邊界裝置104經(jīng)由通信網(wǎng)絡(luò)106彼此可通信地連接。在實(shí)現(xiàn)中,邊界裝置104是因特網(wǎng)功能的邊界裝置。通信網(wǎng)絡(luò)106可以是無線網(wǎng)絡(luò)、有線網(wǎng)絡(luò)或它們的組合。通信網(wǎng)絡(luò)106還可以是個(gè)體網(wǎng)絡(luò)、或者彼此互連并用作例如因特網(wǎng)的一個(gè)大型網(wǎng)絡(luò)的多個(gè)這種個(gè)體網(wǎng)絡(luò)的集合??梢詫⑼ㄐ啪W(wǎng)絡(luò)106實(shí)現(xiàn)為諸如內(nèi)聯(lián)網(wǎng)、局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)和因特網(wǎng)等的不同類型的網(wǎng)絡(luò)其中之一。通信網(wǎng)絡(luò)106可以是專用網(wǎng)絡(luò)或共享網(wǎng)絡(luò),其中該專用網(wǎng)絡(luò)或共享網(wǎng)絡(luò)表示使用例如超文本傳輸協(xié)議(HTTP)、傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)等的各種協(xié)議以彼此進(jìn)行通信的不同類型的網(wǎng)絡(luò)的聯(lián)合。
[0030]通信網(wǎng)絡(luò)106還可以包括諸如但不限于以下的個(gè)體網(wǎng)絡(luò):全球通信系統(tǒng)(GlobalSystem for Communicat1n, GSM)網(wǎng)絡(luò)、通用通訊系統(tǒng)(Universal Telecommunicat1nsSystem, UMTS)網(wǎng)絡(luò)、長期演進(jìn)(Long Term Evolut1n, LTE)網(wǎng)絡(luò)、個(gè)人通信服務(wù)(Personal Communicat1ns Service, PCS)網(wǎng)絡(luò)、時(shí)分多址(Time Divis1n MultipleAccess, TDMA)網(wǎng)絡(luò)、碼分多址(Code Divis1n Multiple Access, CDMA)網(wǎng)絡(luò)、下一代網(wǎng)絡(luò)(Next Generat1n Network, NGN),公用電話交換網(wǎng)絡(luò)(Public Switched TelephoneNetwork, PSTN)和綜合業(yè)務(wù)數(shù)字網(wǎng)絡(luò)(Integrated Services Digital Network, ISDN)。此夕卜,可以理解,邊界裝置104與網(wǎng)格服務(wù)器102和其它實(shí)體之間的通信可以基于與通信網(wǎng)絡(luò)106兼容的通信協(xié)議而進(jìn)行。
[0031]此外,如圖1所示,各個(gè)邊界裝置104包括時(shí)隙-性能監(jiān)控器108和通告模塊110。邊界裝置104的時(shí)隙-性能監(jiān)控器108被配置為識別表示邊界裝置104的閑置狀態(tài)的空閑時(shí)隙。時(shí)隙-性能監(jiān)控器108還估計(jì)各個(gè)空閑時(shí)隙的持續(xù)時(shí)間。另外,時(shí)隙-性能監(jiān)控器108確定邊界裝置104的用于在所識別出的空閑時(shí)隙期間執(zhí)行子任務(wù)的一個(gè)或多個(gè)計(jì)算性能參數(shù)。邊界裝置104的通告模塊110被配置為將空閑時(shí)隙以及與這些空閑時(shí)隙相關(guān)聯(lián)的持續(xù)時(shí)間和邊界裝置104的性能參數(shù)通告至網(wǎng)格服務(wù)器102。
[0032]如圖1所示,各個(gè)網(wǎng)格服務(wù)器102包括資源監(jiān)控器112和任務(wù)調(diào)度器114。網(wǎng)格服務(wù)器102的資源監(jiān)控器112被配置為從邊界裝置104收聽具有與空閑時(shí)隙和計(jì)算性能參數(shù)有關(guān)的信息的通告。資源監(jiān)控器112可以從一個(gè)或多個(gè)邊界裝置104接收所通告的信息。對于從各邊界裝置104接收到的信息,資源監(jiān)控器112被配置為基于與空閑時(shí)隙相關(guān)聯(lián)的計(jì)算性能參數(shù)來對利用邊界裝置104完成最小子任務(wù)所用的空閑時(shí)隙的持續(xù)時(shí)間的充足性以及邊界裝置104的性能進(jìn)行檢查,以執(zhí)行最小子任務(wù)并滿足該子任務(wù)的時(shí)間表。此外,網(wǎng)格服務(wù)器102的任務(wù)調(diào)度器114被配置為基于資源監(jiān)控器112所進(jìn)行的檢查來對所分配的主任務(wù)進(jìn)行劃分以創(chuàng)建子任務(wù)。然后,任務(wù)調(diào)度器114將所創(chuàng)建的子任務(wù)指派至相應(yīng)的邊界裝置104以供執(zhí)行。
[0033]圖2示出根據(jù)本發(fā)明的實(shí)現(xiàn)的網(wǎng)格計(jì)算系統(tǒng)100的邊界裝置104和網(wǎng)格服務(wù)器102。邊界裝置104和網(wǎng)格服務(wù)器102包括一個(gè)或多個(gè)處理器202-1、202-2、接口 204-1、204-2和連接至處理器202-1、202-2的存儲器206-1、206-2。處理器202-1包括基于邊界裝置的處理器,并且處理器202-2包括基于服務(wù)器的處理器。將處理器202-1和202-2統(tǒng)稱為處理器202。同樣,接口 204-1包括基于邊界裝置的接口,并且接口 204-2包括基于服務(wù)器的接口。將接口 204-1和204-2統(tǒng)稱為接口 204。同樣,存儲器206-1和206-2分別包括基于邊界裝置的存儲器和基于服務(wù)器的存儲器。將存儲器206-1和206-2統(tǒng)稱為存儲器206。
[0034]各個(gè)處理器202可以是一個(gè)處理器單元或多個(gè)單元,其中所有這些單元均可包括多個(gè)計(jì)算單元??梢詫⒏鱾€(gè)處理器202實(shí)現(xiàn)為一個(gè)或多個(gè)微處理器、微計(jì)算機(jī)、微控制器、數(shù)字信號處理器、中央處理單元、狀態(tài)機(jī)、邏輯電路和/或基于操作指令來處理信號的任何裝置。除其它性能以外,處理器202還可被配置為提取并執(zhí)行存儲器206中所存儲的計(jì)算機(jī)可讀指令和數(shù)據(jù)。
[0035]接口 204可以包括各種軟件和硬件接口、例如諸如鍵盤和外部存儲器等的外圍裝置所用的接口。接口 204可以包括用以使得能夠在邊界裝置104和網(wǎng)格服務(wù)器102之間進(jìn)行通信的一個(gè)或多個(gè)端口。接口 204還可以使得邊界裝置104和網(wǎng)格服務(wù)器102能夠與諸如外部計(jì)算裝置和外部數(shù)據(jù)庫等的其它裝置進(jìn)行通信。
[0036]存儲器206可以包括本領(lǐng)域內(nèi)已知的任何計(jì)算機(jī)可讀介質(zhì),其中該計(jì)算機(jī)可讀介質(zhì)例如包括諸如靜態(tài)隨機(jī)存取存儲器(SRAM)和動(dòng)態(tài)隨機(jī)存取存儲器(DRAM)等的易失性存儲器、以及/或者諸如只讀存儲器(ROM)、可擦除可編程ROM、閃速存儲器、硬盤、光盤和磁帶等的非易失性存儲器。
[0037]此外,邊界裝置104和網(wǎng)格服務(wù)器102分別包括模塊208_1和208_2 (統(tǒng)稱為模塊208)以及數(shù)據(jù)210-1和210-2(統(tǒng)稱為數(shù)據(jù)210)。模塊208可以連接至處理器202。除其它事項(xiàng)外,模塊208還包括進(jìn)行特殊任務(wù)或?qū)崿F(xiàn)特殊抽象數(shù)據(jù)類型的例程、程序、對象、組件和數(shù)據(jù)結(jié)構(gòu)等。模塊208還包括用于補(bǔ)充邊界裝置104和網(wǎng)格服務(wù)器102上的應(yīng)用程序的模塊(例如,操作系統(tǒng)的模塊)。除其它事項(xiàng)外,數(shù)據(jù)210還用作用于存儲利用模塊208可以提取、處理、接收或生成的數(shù)據(jù)的儲存庫。盡管示出數(shù)據(jù)210在邊界裝置104和網(wǎng)格服務(wù)器102的內(nèi)部,但可以理解,數(shù)據(jù)210可以駐留在可連接至邊界裝置104和網(wǎng)格服務(wù)器102的外部儲存庫(圖中未示出)中。邊界裝置104和網(wǎng)格服務(wù)器102可以經(jīng)由接口 204與外部儲存庫進(jìn)行通信以從數(shù)據(jù)210獲得信息。
[0038]在實(shí)現(xiàn)中,邊界裝置104的模塊208-1包括時(shí)隙-性能監(jiān)控器108、用戶活動(dòng)監(jiān)控器212、通告模塊110、任務(wù)管理器214和其它模塊216。在實(shí)現(xiàn)中,邊界裝置104的數(shù)據(jù)210-1包括用戶活動(dòng)數(shù)據(jù)220、通告配置文件數(shù)據(jù)222、任務(wù)數(shù)據(jù)224和其它數(shù)據(jù)226。其它模塊216可以包括程序或者用于補(bǔ)充并運(yùn)行例如邊界裝置104的操作系統(tǒng)中的程序的編碼結(jié)殼(coded incrustat1n),并且其它數(shù)據(jù)226包括與一個(gè)或多個(gè)其它模塊216相對應(yīng)的數(shù)據(jù)。
[0039]同樣,在實(shí)現(xiàn)中,網(wǎng)格服務(wù)器102的模塊208-2包括任務(wù)執(zhí)行模塊228、資源監(jiān)控器112、任務(wù)調(diào)度器114、結(jié)果生成器230和其它模塊232。在實(shí)現(xiàn)中,網(wǎng)格服務(wù)器102的數(shù)據(jù)210-2包括主任務(wù)數(shù)據(jù)234、子任務(wù)數(shù)據(jù)236、資源數(shù)據(jù)238、結(jié)果數(shù)據(jù)240和其它數(shù)據(jù)242。其它模塊232可以包括程序或者用于補(bǔ)充并運(yùn)行例如網(wǎng)格服務(wù)器102的操作系統(tǒng)中的程序的編碼結(jié)殼,并且其它數(shù)據(jù)242包括與一個(gè)或多個(gè)其它模塊232相對應(yīng)的數(shù)據(jù)。
[0040]以下說明描述了網(wǎng)格計(jì)算系統(tǒng)100中的任務(wù)執(zhí)行。為了簡便,根據(jù)本發(fā)明,對一個(gè)網(wǎng)格服務(wù)器102和一個(gè)邊界裝置104之間的通信進(jìn)行說明以執(zhí)行分配至網(wǎng)格服務(wù)器102的計(jì)算密集型主任務(wù)。應(yīng)當(dāng)理解,通信的概念可以擴(kuò)展至多個(gè)邊界裝置104和一個(gè)網(wǎng)格服務(wù)器102之間或者多個(gè)邊界裝置104和多個(gè)網(wǎng)格服務(wù)器102之間的通信,以執(zhí)行計(jì)算密集型主任務(wù)。
[0041]在實(shí)現(xiàn)中,邊界裝置104為了加入網(wǎng)格計(jì)算系統(tǒng)100并且提供其在閑置狀態(tài)下的處理能力的目的,可能需要取得邊界裝置104的用戶的同意。對于用戶的同意,邊界裝置104可以接收來自該用戶的輸入。基于用戶的同意,邊界裝置104可以繼續(xù)確定邊界裝置104的用于加入網(wǎng)格計(jì)算系統(tǒng)100的閑置時(shí)間段。
[0042]在實(shí)現(xiàn)中,用戶活動(dòng)監(jiān)控器212監(jiān)控用戶在邊界裝置104上正進(jìn)行的活動(dòng),并且確定精益活動(dòng)時(shí)間段(lean activity per1d)和大量活動(dòng)時(shí)間段(high activity per1d)。這些活動(dòng)可以包括web瀏覽、社交網(wǎng)絡(luò)、基于通信的活動(dòng)、拍照和制作視頻等。精益活動(dòng)時(shí)間段是如下時(shí)間段,其中在該時(shí)間段內(nèi),邊界裝置104上正進(jìn)行的用戶活動(dòng)使邊界裝置104的處理能力和容量(即,包括處理速度、可用的處理內(nèi)存、可用網(wǎng)絡(luò)帶寬或它們的組合的一個(gè)或多個(gè)計(jì)算性能參數(shù))為各預(yù)定義閾值水平以上。同樣,大量活動(dòng)時(shí)間段是如下時(shí)間段,其中在該時(shí)間段內(nèi),邊界裝置104上正進(jìn)行的用戶活動(dòng)使邊界裝置104的處理能力和容量(即,包括處理速度、可用的處理內(nèi)存、可用網(wǎng)絡(luò)帶寬或它們的組合的一個(gè)或多個(gè)計(jì)算性能參數(shù))為各預(yù)定義閾值水平以下?;谠摫O(jiān)控,用戶活動(dòng)監(jiān)控器212維持邊界裝置104上的用戶活動(dòng)的歷史以及精益活動(dòng)時(shí)間段和大量活動(dòng)時(shí)間段的歷史。在實(shí)現(xiàn)中,用戶活動(dòng)監(jiān)控器212可以以時(shí)隙為單位來維持用戶活動(dòng)的歷史??梢允褂糜脩艋顒?dòng)監(jiān)控器212所維持的歷史來確定邊界裝置104的閑置時(shí)間段。將關(guān)于用戶活動(dòng)的信息存儲在用戶活動(dòng)數(shù)據(jù)220中。可以通過讀取邊界裝置104的系統(tǒng)狀態(tài)來監(jiān)控用戶活動(dòng)。在實(shí)現(xiàn)中,用戶活動(dòng)監(jiān)控器212可以尋求用戶的許可,以讀取這些系統(tǒng)狀態(tài)。
[0043]在實(shí)現(xiàn)中,在邊界裝置104是移動(dòng)電話或平板電腦的情況下,用戶活動(dòng)監(jiān)控器212可以基于邊界裝置104的用戶的使用模式來估計(jì)用戶活動(dòng)。為此,用戶活動(dòng)監(jiān)控器212向邊界裝置104的用戶提供調(diào)查表,其中該調(diào)查表包括尋求與來自用戶的使用模式有關(guān)的信息的問題??梢詫㈥P(guān)于使用模式的問題顯示在邊界裝置104上,然后用戶可能必須提供針對這些問題的回答。用戶可以回復(fù)邊界裝置104上的該用戶的活動(dòng)、活動(dòng)時(shí)間表、大量使用小時(shí)、運(yùn)行媒體應(yīng)用程序的時(shí)間表、社交網(wǎng)絡(luò)和web瀏覽等的詳情。用戶活動(dòng)監(jiān)控器212提取用戶回答并且評價(jià)這些用戶回答以確定邊界裝置104的用戶的使用模式?;谠撌褂媚J?,可以估計(jì)邊界裝置104上的用戶活動(dòng)。將關(guān)于使用模式的信息存儲在用戶活動(dòng)數(shù)據(jù)220中。
[0044]為了加入網(wǎng)格計(jì)算系統(tǒng)100,時(shí)隙-性能監(jiān)控器108識別空閑時(shí)隙,其中在這些空閑時(shí)隙中,邊界裝置104的處理能力不用于進(jìn)行用戶活動(dòng)并且基本可用于進(jìn)行網(wǎng)格計(jì)算?;谟脩艋顒?dòng)監(jiān)控器212所維持的用戶活動(dòng)和/或使用模式的信息來識別空閑時(shí)隙。在實(shí)現(xiàn)中,可以利用用戶活動(dòng)監(jiān)控器212所維持的用戶活動(dòng)來從時(shí)隙中識別出空閑時(shí)隙。
[0045]時(shí)隙-性能監(jiān)控器108可以識別一個(gè)或多個(gè)空閑時(shí)隙?;谒R別出的空閑時(shí)隙,時(shí)隙-性能監(jiān)控器108估計(jì)各個(gè)空閑時(shí)隙的持續(xù)時(shí)間。將空閑時(shí)隙的持續(xù)時(shí)間理解為預(yù)測的或可預(yù)測的持續(xù)時(shí)間,這是因?yàn)橛脩暨€可能在其它空閑時(shí)隙期間在邊界裝置104上開始活動(dòng)。
[0046]另外,時(shí)隙-性能監(jiān)控器108確定邊界裝置104的在所識別出的空閑時(shí)隙期間的一個(gè)或多個(gè)計(jì)算性能參數(shù)。計(jì)算性能參數(shù)包括邊界裝置的計(jì)算速度、邊界裝置可利用的處理內(nèi)存和邊界裝置的網(wǎng)絡(luò)帶寬??梢曰诳臻e時(shí)隙期間內(nèi)用戶活動(dòng)的歷史、活動(dòng)時(shí)間段和/或使用模式來確定這些參數(shù)。
[0047]在實(shí)現(xiàn)中,在邊界裝置104是移動(dòng)電話或平板電腦的情況下,用戶活動(dòng)監(jiān)控器212在識別空閑時(shí)隙之前,可以確定邊界裝置104的可用電池電量。確定該可用電量以獲知邊界裝置104是否具有用于在空閑時(shí)隙期間執(zhí)行任務(wù)的大致充足的電量。在可用電量不足或?yàn)轭A(yù)定義值以下的情況下,時(shí)隙-性能監(jiān)控器108可以在識別空閑時(shí)隙之前,等待邊界裝置104充分充電或充電至預(yù)定義值以上。
[0048]此外,在實(shí)現(xiàn)中,在識別空閑時(shí)隙之前,用戶活動(dòng)監(jiān)控器212可以判斷任意應(yīng)用程序當(dāng)前是否正在邊界裝置104上運(yùn)行。進(jìn)行該判斷以獲知邊界裝置104當(dāng)前是否正忙于進(jìn)行與運(yùn)行中的應(yīng)用程序相關(guān)聯(lián)的活動(dòng)。這些應(yīng)用程序可以包括web瀏覽器、社交小工具、文字處理器和基于通信的應(yīng)用程序等。在使邊界裝置104的處理能力和容量(即,包括處理速度、可用的處理內(nèi)存、可用網(wǎng)絡(luò)帶寬或它們的組合的一個(gè)或多個(gè)計(jì)算性能參數(shù))為各預(yù)定義閾值水平以下的一個(gè)或多個(gè)應(yīng)用程序正在運(yùn)行中的情況下,時(shí)隙-性能監(jiān)控器108在識別空閑時(shí)隙之前,可以等待邊界裝置104解除這些應(yīng)用程序或停止這些應(yīng)用程序。
[0049]此外,基于邊界裝置104的空閑時(shí)隙和計(jì)算性能參數(shù),通告模塊110創(chuàng)建用于通告空閑時(shí)隙和針對該空閑時(shí)隙的計(jì)算性能參數(shù)的信息的配置文件??梢詫⒃撆渲梦募Q為通告配置文件。該通告配置文件包括至少一個(gè)空閑時(shí)隙、該空閑時(shí)隙的持續(xù)時(shí)間和針對該空閑時(shí)隙所確定的計(jì)算性能參數(shù)的信息。在實(shí)現(xiàn)中,在邊界裝置104是移動(dòng)電話或平板電腦的情況下,該通告配置文件還包括邊界裝置104的可用電量的信息。將與通告配置文件相關(guān)聯(lián)的數(shù)據(jù)存儲在通告配置文件數(shù)據(jù)222中。
[0050]在創(chuàng)建通告配置文件之后,通告模塊110通告空閑時(shí)隙和性能參數(shù)。為此,通告模塊110將通告配置文件提供至網(wǎng)格計(jì)算系統(tǒng)100中的網(wǎng)格服務(wù)器102。在實(shí)現(xiàn)中,邊界裝置104可以搜索網(wǎng)格服務(wù)器102以發(fā)送通告配置文件。在實(shí)現(xiàn)中,邊界裝置104可以具有包含邊界裝置104以前可能已進(jìn)行通信的多個(gè)網(wǎng)格服務(wù)器102的詳情的緩存列表。通告模塊110可以基于該緩存列表來將通告配置文件多播至網(wǎng)格服務(wù)器102。
[0051]在網(wǎng)格服務(wù)器102中,任務(wù)執(zhí)行模塊228可以接收分配至網(wǎng)格服務(wù)器102的主任務(wù)以供執(zhí)行。該主任務(wù)可以由外部實(shí)體來分配。將與該主任務(wù)相關(guān)聯(lián)的數(shù)據(jù)存儲在主任務(wù)數(shù)據(jù)234中。在主任務(wù)是計(jì)算密集型任務(wù)的情況下,網(wǎng)格服務(wù)器102尋找具有空閑時(shí)隙和用以執(zhí)行主任務(wù)的一部分(即,子任務(wù))的性能的邊界裝置104。為此,資源監(jiān)控器112收聽邊界裝置104所通告的通告配置文件。資源監(jiān)控器112可以接收一個(gè)或多個(gè)邊界裝置104的通告配置文件,其中可以處理這些通告配置文件以對主任務(wù)進(jìn)行劃分從而創(chuàng)建針對邊界裝置104的子任務(wù)。
[0052]基于從邊界裝置104所接收到的通告配置文件,資源監(jiān)控器112檢查該通告配置文件中的、空閑時(shí)隙的持續(xù)時(shí)間和與該空閑時(shí)隙相關(guān)聯(lián)的計(jì)算性能參數(shù)。檢查該持續(xù)時(shí)間是否為用于完成主任務(wù)的最小子任務(wù)的預(yù)定義閾值持續(xù)時(shí)間以上。另外,檢查計(jì)算性能參數(shù)是否為用于滿足針對主任務(wù)的最小子任務(wù)的時(shí)間表的相應(yīng)預(yù)定義閾值以上。在示例中,如果空閑時(shí)隙的持續(xù)時(shí)間為用于完成最小子任務(wù)的預(yù)定義閾值持續(xù)時(shí)間以下、以及/或者如果計(jì)算性能參數(shù)為用于滿足針對最小子任務(wù)的時(shí)間表的相應(yīng)預(yù)定義閾值以下,則該通告配置文件和邊界裝置104被分配子任務(wù)所用的網(wǎng)格服務(wù)器102忽略?;谒M(jìn)行的檢查,資源監(jiān)控器112可以選擇邊界裝置104來進(jìn)行任務(wù)指派。將與所選擇的邊界裝置104相關(guān)聯(lián)的數(shù)據(jù)存儲在資源數(shù)據(jù)238中。
[0053]此外,基于資源監(jiān)控器112所進(jìn)行的檢查,任務(wù)調(diào)度器114對主任務(wù)進(jìn)行劃分以創(chuàng)建針對邊界裝置104的子任務(wù),并且將所創(chuàng)建的子任務(wù)指派至所選擇的邊界裝置104以供執(zhí)行。創(chuàng)建子任務(wù)以使得其大小和計(jì)算要求適合邊界裝置104的計(jì)算性能,并且可以在與該子任務(wù)相關(guān)聯(lián)的預(yù)定義時(shí)間表內(nèi)執(zhí)行該子任務(wù)。在示例中,資源監(jiān)控器112可以從多個(gè)邊界裝置104接收通告配置文件。基于針對通告配置文件的檢查,如果判斷為多于一個(gè)的邊界裝置104能夠進(jìn)行子任務(wù),則資源監(jiān)控器112可以選擇多于一個(gè)的邊界裝置104來將子任務(wù)指派至所選擇的各邊界裝置104,并且任務(wù)調(diào)度器114可以對主任務(wù)進(jìn)行劃分以創(chuàng)建適合各個(gè)邊界裝置104的單獨(dú)子任務(wù)。可以創(chuàng)建這些子任務(wù),以使得滿足主任務(wù)的整體時(shí)間表??梢岳斫猓梢岳镁W(wǎng)格服務(wù)器102來執(zhí)行主任務(wù)的剩余任務(wù)。將與這些子任務(wù)相關(guān)聯(lián)的數(shù)據(jù)存儲在子任務(wù)數(shù)據(jù)236中。
[0054]在實(shí)現(xiàn)中,在通告配置文件包括邊界裝置104中的可用電量的信息的情況下,資源監(jiān)控器112可以檢查可用電量。可以檢查可用電量是否為用于完成主任務(wù)的最小子任務(wù)的預(yù)定義閾值電量值以上。如果可用電量為預(yù)定義閾值電量值以下,則在共享執(zhí)行子任務(wù)時(shí),可以忽略該通告配置文件和邊界裝置104。
[0055]此外,利用邊界裝置104來執(zhí)行所指派的子任務(wù)。為此,在實(shí)現(xiàn)中,邊界裝置104在開始處理待執(zhí)行的子任務(wù)之前,可能必須向網(wǎng)格服務(wù)器102認(rèn)證自身??梢栽谶吔缪b置104和網(wǎng)格服務(wù)器102之間實(shí)現(xiàn)例如基于密碼的認(rèn)證檢查的認(rèn)證機(jī)制。網(wǎng)格服務(wù)器102在使得邊界裝置104能夠繼續(xù)執(zhí)行所指派的子任務(wù)之前,可以檢查邊界裝置104的資格和所分配的密碼。
[0056]基于該認(rèn)證,邊界裝置104的任務(wù)管理器214從網(wǎng)格服務(wù)器102接收基于邊界裝置104的通告配置文件所創(chuàng)建的子任務(wù),以在空閑時(shí)隙期間執(zhí)行。在示例中,任務(wù)管理器214可以下載所指派的子任務(wù)。任務(wù)管理器214執(zhí)行該子任務(wù)并將子任務(wù)結(jié)果發(fā)送至網(wǎng)格服務(wù)器102。將與子任務(wù)和子任務(wù)結(jié)果相關(guān)聯(lián)的數(shù)據(jù)存儲在任務(wù)數(shù)據(jù)224中。
[0057]此外,在實(shí)現(xiàn)中,網(wǎng)格服務(wù)器102可以選擇子任務(wù)并將這些子任務(wù)指派至多個(gè)邊界裝置104。網(wǎng)格服務(wù)器102中的任務(wù)調(diào)度器114可以監(jiān)控邊界裝置104以收集子任務(wù)的完成狀態(tài)??梢越?jīng)由基于輪詢的機(jī)制來進(jìn)行該監(jiān)控。此外,在實(shí)現(xiàn)中,任務(wù)調(diào)度器114可以維持指派至個(gè)體邊界裝置104的各個(gè)子任務(wù)的時(shí)間表。針對所指派的各子任務(wù),任務(wù)調(diào)度器114可以識別子任務(wù)完成期限。如果邊界裝置104錯(cuò)過了子任務(wù)完成期限,則資源監(jiān)控器112可以解除該邊界裝置104,并且任務(wù)調(diào)度器114可以將相應(yīng)的子任務(wù)與主任務(wù)合并以供網(wǎng)格服務(wù)器102執(zhí)行。
[0058]在實(shí)現(xiàn)中,基于網(wǎng)格服務(wù)器102對邊界裝置104的監(jiān)控,如果發(fā)現(xiàn)任何邊界裝置104忙于進(jìn)行用戶活動(dòng)或用戶所運(yùn)行的應(yīng)用程序、或者不可到達(dá),則資源監(jiān)控器112可以解除該邊界裝置104,并且任務(wù)調(diào)度器114可以將相應(yīng)的子任務(wù)與主任務(wù)合并以供網(wǎng)格服務(wù)器102執(zhí)行。
[0059]此外,網(wǎng)格服務(wù)器102的結(jié)果生成器230從指派了子任務(wù)的邊界裝置104收集子任務(wù)結(jié)果。結(jié)果生成器230將這些子任務(wù)結(jié)果連同網(wǎng)格服務(wù)器102中所執(zhí)行的剩余主任務(wù)的結(jié)果一起進(jìn)行整理,以生成主任務(wù)結(jié)果。將與子任務(wù)結(jié)果和主任務(wù)結(jié)果相關(guān)聯(lián)的數(shù)據(jù)存儲在結(jié)果數(shù)據(jù)240中。然后,結(jié)果生成器230可以將主任務(wù)結(jié)果發(fā)送至已將主任務(wù)分配至網(wǎng)格服務(wù)器102的實(shí)體。
[0060]在實(shí)現(xiàn)中,子任務(wù)執(zhí)行中所涉及的邊界裝置104可以根據(jù)所執(zhí)行的子任務(wù)來贏取積分或賺得報(bào)酬。為此,網(wǎng)格服務(wù)器102可以存儲與各個(gè)邊界裝置104在進(jìn)行整個(gè)主任務(wù)時(shí)的貢獻(xiàn)度有關(guān)的信息。在示例中,這些貢獻(xiàn)度可以以主任務(wù)的百分比或者子任務(wù)的類型或水平為單位。網(wǎng)格服務(wù)器102可以與計(jì)費(fèi)系統(tǒng)(未示出)進(jìn)行通信,并且提供各邊界裝置104的貢獻(xiàn)度。該計(jì)費(fèi)系統(tǒng)可以是被配置為向邊界裝置104支付酬勞的外部實(shí)體。該計(jì)費(fèi)系統(tǒng)可以確定邊界裝置104的積分或報(bào)酬金額。
[0061]利用網(wǎng)格計(jì)算系統(tǒng)100,在基于邊界裝置104的個(gè)體性能并且基于空閑時(shí)隙的持續(xù)時(shí)間來針對這些邊界裝置104創(chuàng)建子任務(wù)的情況下,可以創(chuàng)建各邊界裝置104的子任務(wù)的大小或水平以使成本節(jié)省或所產(chǎn)生的成本最優(yōu)化。
[0062]在實(shí)現(xiàn)中,邊界裝置104的用戶可以提供如下輸入,其中該輸入用以停止或暫停將閑置的處理能力共享或提供至網(wǎng)格計(jì)算系統(tǒng)100中的網(wǎng)格服務(wù)器102、并且參與執(zhí)行子任務(wù)。據(jù)此,基于用戶的該輸入,邊界裝置104的通告模塊110停止將通告配置文件發(fā)送至網(wǎng)格服務(wù)器102。用戶還可以提供用以重新開始將閑置的處理能力共享至網(wǎng)格服務(wù)器102的輸入,而基于該輸入,通告模塊110可以重新開始將通告配置文件提供至網(wǎng)格服務(wù)器102。該暫停或停止可能會影響網(wǎng)格服務(wù)器102的用于指派子任務(wù)的計(jì)劃,并且可能會影響邊界裝置104贏取積分或賺得報(bào)酬。停止閑置的處理能力的共享可以是臨時(shí)性或永久性的。為此,可以向用戶提供用以臨時(shí)性或永久性地停止提供通告配置文件的選項(xiàng)。在實(shí)現(xiàn)中,在永久性停止的情況下,可以刪除網(wǎng)格服務(wù)器102中的邊界裝置104的詳情和計(jì)費(fèi)系統(tǒng)。
[0063]圖3和圖4示出根據(jù)本發(fā)明的實(shí)現(xiàn)的、利用網(wǎng)格計(jì)算系統(tǒng)中的閑置資源的任務(wù)執(zhí)行所用的方法300和400。描述方法300和400的順序并不意圖被構(gòu)造成限制性的,并且可以按任意順序組合任意數(shù)量的所述方法塊來實(shí)現(xiàn)方法300和400或者替代方法。另外,也可以在沒有背離這里所述的本發(fā)明的精神和范圍的情況下從方法300和400中刪除個(gè)體塊。
[0064]此外,可以以任何適當(dāng)?shù)挠布?、非瞬態(tài)機(jī)器可讀指令或它們的組合的形式利用處理器或計(jì)算裝置來實(shí)現(xiàn)方法300和400。可以理解,可以基于如容易理解的存儲在非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)中的指令來執(zhí)行方法300和400的各步驟。非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)可以包括例如數(shù)字?jǐn)?shù)據(jù)存儲介質(zhì)、數(shù)字存儲器、諸如磁盤和磁帶等的磁性存儲介質(zhì)、硬盤驅(qū)動(dòng)器或者光學(xué)可讀型數(shù)字?jǐn)?shù)據(jù)存儲介質(zhì)。
[0065]此外,盡管可以在任何計(jì)算裝置中實(shí)現(xiàn)方法300和400,但在圖3和圖4所述的示例中,為了便于說明,在上述的網(wǎng)格計(jì)算系統(tǒng)100的上下文中說明方法300和400。
[0066]參考圖3,在塊302中,利用邊界裝置104識別空閑時(shí)隙并估計(jì)這些空閑時(shí)隙的持續(xù)時(shí)間,以在網(wǎng)格計(jì)算系統(tǒng)100中執(zhí)行子任務(wù)。這些空閑時(shí)隙表示邊界裝置104的閑置狀態(tài)。在塊304中,利用邊界裝置104來確定邊界裝置104的在空閑時(shí)隙期間執(zhí)行子任務(wù)所用的至少一個(gè)計(jì)算性能參數(shù)。計(jì)算性能參數(shù)包括空閑時(shí)隙期間的計(jì)算速度、可用內(nèi)存和網(wǎng)絡(luò)帶寬。
[0067]在實(shí)現(xiàn)中,基于邊界裝置104的用戶活動(dòng)的歷史以及邊界裝置104的精益活動(dòng)時(shí)間段和大量活動(dòng)時(shí)間段來識別空閑時(shí)隙并確定計(jì)算性能參數(shù)。為此,邊界裝置104維持邊界裝置104上的用戶活動(dòng)的歷史以及精益活動(dòng)時(shí)間段和大量活動(dòng)時(shí)間段的詳情。在實(shí)現(xiàn)中,基于邊界裝置104的使用模式來識別空閑時(shí)隙并確定計(jì)算性能參數(shù)。為此,可以利用邊界裝置104來接收針對調(diào)查表的用戶回答并且可以根據(jù)這些用戶回答來確定使用模式。
[0068]此外,在塊306中,利用邊界裝置104來創(chuàng)建通告配置文件,其中該通告配置文件具有至少一個(gè)空閑時(shí)隙、以及與該至少一個(gè)空閑時(shí)隙相關(guān)聯(lián)的持續(xù)時(shí)間和至少一個(gè)計(jì)算性能參數(shù)。在實(shí)現(xiàn)中,通告配置文件還可以包括邊界裝置104的可用電量。
[0069]在塊308中,利用邊界裝置104將通告配置文件提供或通告至網(wǎng)格計(jì)算系統(tǒng)100中的網(wǎng)格服務(wù)器102。提供該通告配置文件,以使得網(wǎng)格服務(wù)器102可以基于通告配置文件中的空閑時(shí)隙的持續(xù)時(shí)間和計(jì)算性能參數(shù)來對主任務(wù)進(jìn)行劃分,以創(chuàng)建邊界裝置104能夠執(zhí)行的子任務(wù)。在實(shí)現(xiàn)中,邊界裝置104可以基于邊界裝置104中的緩存列表來將通告配置文件多播至網(wǎng)格服務(wù)器102。
[0070]在塊310中,利用邊界裝置104來接收基于邊界裝置104的通告配置文件所創(chuàng)建的子任務(wù)。為了接收子任務(wù),邊界裝置104可能必須向網(wǎng)格服務(wù)器102認(rèn)證自身。在塊312中,利用邊界裝置104執(zhí)行子任務(wù)并且利用邊界裝置104將子任務(wù)結(jié)果發(fā)送至網(wǎng)格服務(wù)器102。
[0071]參考圖4,在塊402中,網(wǎng)格服務(wù)器102收聽邊界裝置104的空閑時(shí)隙和計(jì)算性能參數(shù)以在網(wǎng)格計(jì)算系統(tǒng)100中執(zhí)行子任務(wù)。在塊404中,利用網(wǎng)格服務(wù)器102從邊界裝置104接收通告配置文件。該通告配置文件具有表示邊界裝置104的閑置狀態(tài)的至少一個(gè)空閑時(shí)隙、該至少一個(gè)空閑時(shí)隙的持續(xù)時(shí)間、以及與該至少一個(gè)空閑時(shí)隙相關(guān)聯(lián)的邊界裝置104的至少一個(gè)計(jì)算性能參數(shù)。
[0072]基于所接收到的通告配置文件,在塊406中,利用網(wǎng)格服務(wù)器102來檢查至少一個(gè)空閑時(shí)隙的持續(xù)時(shí)間和與該至少一個(gè)空閑時(shí)隙相關(guān)聯(lián)的至少一個(gè)計(jì)算性能參數(shù)。檢查該至少一個(gè)空閑時(shí)隙的持續(xù)時(shí)間是否為用于利用邊界裝置104完成最小子任務(wù)的預(yù)定義閾值持續(xù)時(shí)間以上、以及與該至少一個(gè)空閑時(shí)隙相關(guān)聯(lián)的至少一個(gè)計(jì)算性能參數(shù)是否為用于利用邊界裝置104滿足最小子任務(wù)的時(shí)間表的相應(yīng)預(yù)定義閾值以上。
[0073]在塊408中,利用網(wǎng)格服務(wù)器102基于針對空閑時(shí)隙的持續(xù)時(shí)間和計(jì)算性能參數(shù)的檢查來對分配至網(wǎng)格服務(wù)器102的主任務(wù)進(jìn)行劃分以創(chuàng)建子任務(wù)。針對邊界裝置104創(chuàng)建子任務(wù),以使得該子任務(wù)的水平處于邊界裝置104的計(jì)算性能參數(shù)內(nèi),并且利用邊界裝置104在空閑時(shí)隙的持續(xù)時(shí)間內(nèi)完成該子任務(wù)。
[0074]在塊410中,利用網(wǎng)格服務(wù)器102將針對邊界裝置104所創(chuàng)建的子任務(wù)分配至邊界裝置104以供執(zhí)行。網(wǎng)格服務(wù)器102可以在傳送所指派的子任務(wù)之前對邊界裝置104進(jìn)行認(rèn)證。此外,網(wǎng)格服務(wù)器102可以監(jiān)控邊界裝置104以收集子任務(wù)的完成狀態(tài)。一旦利用邊界裝置104完成子任務(wù),則網(wǎng)格服務(wù)器102從邊界裝置104提取子任務(wù)結(jié)果并且針對所分配的主任務(wù)生成主任務(wù)結(jié)果。
[0075]盡管已經(jīng)以結(jié)構(gòu)特征特有的語言說明了針對方法和裝置的實(shí)現(xiàn),但應(yīng)當(dāng)理解,本發(fā)明并非必須局限于所述的具體特征。相反,在針對方法和裝置的一些實(shí)現(xiàn)的上下文中公開并解釋了具體特征。
[0076]通過這些方法和裝置的示例性實(shí)現(xiàn)的說明書和權(quán)利要求書,將更好地理解本發(fā)明的方法和裝置的其它優(yōu)點(diǎn)。本發(fā)明的方法和裝置不局限于以上在本說明書中陳述的實(shí)現(xiàn)。
[0077]盡管已經(jīng)參考具體實(shí)現(xiàn)說明了本發(fā)明,但本說明書并不意圖被構(gòu)造成限制性的。本領(lǐng)域技術(shù)人員在參考本發(fā)明的說明時(shí),將明白所公開的實(shí)現(xiàn)的各種變形以及本發(fā)明的替代實(shí)現(xiàn)。因此,認(rèn)為可以在沒有背離如所定義的本發(fā)明的精神或范圍的情況下進(jìn)行這些變形。
【權(quán)利要求】
1.一種用于在網(wǎng)格計(jì)算系統(tǒng)(100)中執(zhí)行任務(wù)的方法,所述方法包括以下步驟: 利用邊界裝置(104)來識別空閑時(shí)隙并估計(jì)所述空閑時(shí)隙的持續(xù)時(shí)間,以執(zhí)行子任務(wù),其中所述空閑時(shí)隙表示所述邊界裝置(104)的閑置狀態(tài); 利用所述邊界裝置(104)來確定所述邊界裝置(104)的在所述空閑時(shí)隙期間執(zhí)行子任務(wù)所用的至少一個(gè)計(jì)算性能參數(shù); 利用所述邊界裝置(104)來創(chuàng)建通告配置文件,其中所述通告配置文件包括所述空閑時(shí)隙中的至少一個(gè)空閑時(shí)隙、并且包括所述至少一個(gè)空閑時(shí)隙的所述持續(xù)時(shí)間和與所述至少一個(gè)空閑時(shí)隙相關(guān)聯(lián)的所述至少一個(gè)計(jì)算性能參數(shù);以及 利用所述邊界裝置(104)來將所述通告配置文件提供至所述網(wǎng)格計(jì)算系統(tǒng)(100)中的網(wǎng)格服務(wù)器(102),以對主任務(wù)進(jìn)行劃分,從而創(chuàng)建所述邊界裝置(104)能夠執(zhí)行的子任務(wù)。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述至少一個(gè)計(jì)算性能參數(shù)包括所述空閑時(shí)隙期間的計(jì)算速度、可用內(nèi)存和網(wǎng)絡(luò)帶寬。
3.根據(jù)權(quán)利要求1所述的方法,其中,提供所述通告配置文件的步驟包括:基于所述邊界裝置(104)中的緩存列表來將所述通告配置文件多播至所述網(wǎng)格服務(wù)器(102)。
4.根據(jù)權(quán)利要求1所述的方法,其中,還包括以下步驟: 利用所述邊界裝置(104)從所述網(wǎng)格服務(wù)器(102)接收基于所述通告配置文件所創(chuàng)建的子任務(wù); 執(zhí)行所述子任務(wù);以及 將子任務(wù)結(jié)果發(fā)送至所述網(wǎng)格服務(wù)器(102)。
5.根據(jù)權(quán)利要求1所述的方法,其中,還包括以下步驟:確定所述邊界裝置(104)的在所述空閑時(shí)隙期間執(zhí)行子任務(wù)所用的可用電量,其中所述通告配置文件還包括所述可用電量。
6.一種用于在網(wǎng)格計(jì)算系統(tǒng)(100)中執(zhí)行任務(wù)的方法,所述方法包括以下步驟: 利用所述網(wǎng)格計(jì)算系統(tǒng)(100)中的網(wǎng)格服務(wù)器(102)來從邊界裝置(104)接收通告配置文件,其中所述通告配置文件包括表示所述邊界裝置(104)的閑置狀態(tài)的至少一個(gè)空閑時(shí)隙、所述至少一個(gè)空閑時(shí)隙的持續(xù)時(shí)間、以及與所述至少一個(gè)空閑時(shí)隙相關(guān)聯(lián)的所述邊界裝置(104)的至少一個(gè)計(jì)算性能參數(shù); 利用所述網(wǎng)格服務(wù)器(102)來檢查所述至少一個(gè)空閑時(shí)隙的持續(xù)時(shí)間是否為利用所述邊界裝置(104)完成最小子任務(wù)所用的預(yù)定義閾值持續(xù)時(shí)間以上、以及與所述至少一個(gè)空閑時(shí)隙相關(guān)聯(lián)的所述至少一個(gè)計(jì)算性能參數(shù)是否為利用所述邊界裝置(104)滿足所述最小子任務(wù)的時(shí)間表所用的相應(yīng)預(yù)定義閾值以上;以及 基于所述檢查來對主任務(wù)進(jìn)行劃分以創(chuàng)建子任務(wù),從而利用所述邊界裝置(104)來執(zhí)行。
7.根據(jù)權(quán)利要求6所述的方法,其中,還包括以下步驟:基于所述檢查來選擇所述邊界裝置(104),并且將為了執(zhí)行而創(chuàng)建的子任務(wù)指派至所選擇的邊界裝置(104),其中所述子任務(wù)是基于所選擇的邊界裝置(104)的所述至少一個(gè)空閑時(shí)隙的持續(xù)時(shí)間和所述至少一個(gè)計(jì)算性能參數(shù)所創(chuàng)建的。
8.根據(jù)權(quán)利要求7所述的方法,其中,所述通告配置文件還包括所述邊界裝置(104)的可用電量,以及所述邊界裝置(104)的選擇是基于所述可用電量的。
9.一種邊界裝置(104),用于在網(wǎng)格計(jì)算系統(tǒng)(100)中執(zhí)行任務(wù),所述邊界裝置(104)包括: 處理器(202-1); 時(shí)隙性能監(jiān)控器(108),其連接至所述處理器(202-1),并且用于進(jìn)行以下操作: 識別空閑時(shí)隙并估計(jì)所述空閑時(shí)隙的持續(xù)時(shí)間,以執(zhí)行子任務(wù),其中所述空閑時(shí)隙表示所述邊界裝置(104)的閑置狀態(tài);以及 確定所述邊界裝置(104)的在所述空閑時(shí)隙期間執(zhí)行子任務(wù)所用的至少一個(gè)計(jì)算性能參數(shù);以及 通告模塊(110),其連接至所述處理器(202-1),并且用于進(jìn)行以下操作: 創(chuàng)建通告配置文件,其中所述通告配置文件包括所述空閑時(shí)隙中的至少一個(gè)空閑時(shí)隙、并且包括所述至少一個(gè)空閑時(shí)隙的所述持續(xù)時(shí)間和與所述至少一個(gè)空閑時(shí)隙相關(guān)聯(lián)的所述至少一個(gè)計(jì)算性能參數(shù);以及 將所述通告配置文件提供至所述網(wǎng)格計(jì)算系統(tǒng)(100)中的網(wǎng)格服務(wù)器(102),以對主任務(wù)進(jìn)行劃分,從而創(chuàng)建所述邊界裝置(104)能夠執(zhí)行的子任務(wù)。
10.根據(jù)權(quán)利要求9所述的邊界裝置(104),其中,所述至少一個(gè)計(jì)算性能參數(shù)包括所述空閑時(shí)隙期間的計(jì)算速度、可用內(nèi)存和網(wǎng)絡(luò)帶寬。
11.根據(jù)權(quán)利要求9所述的邊界裝置(104),其中,所述邊界裝置(104)還包括任務(wù)管理器(214),所述任務(wù)管理器(214)連接至所述處理器(202-1),并且用于進(jìn)行以下操作: 接收基于所述通告配置文件所創(chuàng)建的子任務(wù); 執(zhí)行所述子任務(wù);以及 將子任務(wù)結(jié)果發(fā)送至所述網(wǎng)格服務(wù)器(102)。
12.根據(jù)權(quán)利要求9所述的邊界裝置(104),其中,所述邊界裝置(104)還包括用戶活動(dòng)監(jiān)控器(212),所述用戶活動(dòng)監(jiān)控器(212)連接至所述處理器(202-1),并且用于進(jìn)行以下操作: 確定所述邊界裝置(104)的在所述空閑時(shí)隙期間執(zhí)行子任務(wù)所用的可用電量,其中所述通告配置文件還包括所述可用電量。
13.—種網(wǎng)格服務(wù)器(102),用于在網(wǎng)格計(jì)算系統(tǒng)(100)中執(zhí)行任務(wù),所述網(wǎng)格服務(wù)器(102)包括: 處理器(202-2); 資源監(jiān)控器(112),其連接至所述處理器(202-2),并且用于進(jìn)行以下操作: 從邊界裝置(104)接收通告配置文件,其中所述通告配置文件包括表示所述邊界裝置(104)的閑置狀態(tài)的至少一個(gè)空閑時(shí)隙、所述至少一個(gè)空閑時(shí)隙的持續(xù)時(shí)間、以及與所述至少一個(gè)空閑時(shí)隙相關(guān)聯(lián)的所述邊界裝置(104)的至少一個(gè)計(jì)算性能參數(shù);以及 檢查所述至少一個(gè)空閑時(shí)隙的持續(xù)時(shí)間是否為利用所述邊界裝置(104)完成最小子任務(wù)所用的預(yù)定義閾值持續(xù)時(shí)間以上、以及與所述至少一個(gè)空閑時(shí)隙相關(guān)聯(lián)的所述至少一個(gè)計(jì)算性能參數(shù)是否為利用所述邊界裝置(104)滿足所述最小子任務(wù)的時(shí)間表所用的相應(yīng)預(yù)定義閾值以上;以及 任務(wù)調(diào)度器(114),其連接至所述處理器(202-2),并且用于對主任務(wù)進(jìn)行劃分以創(chuàng)建子任務(wù),從而利用所述邊界裝置(104)來執(zhí)行,其中所述子任務(wù)是基于所述至少一個(gè)空閑時(shí)隙的持續(xù)時(shí)間和與所述至少一個(gè)空閑時(shí)隙相關(guān)聯(lián)的所述至少一個(gè)計(jì)算性能參數(shù)所創(chuàng)建的。
14.根據(jù)權(quán)利要求13所述的網(wǎng)格服務(wù)器(102),其中,所述資源監(jiān)控器(112)基于針對所述至少一個(gè)空閑時(shí)隙的持續(xù)時(shí)間和與所述至少一個(gè)空閑時(shí)隙相關(guān)聯(lián)的所述至少一個(gè)計(jì)算性能參數(shù)的檢查來選擇所述邊界裝置(104),以及所述任務(wù)調(diào)度器將為了執(zhí)行而創(chuàng)建的子任務(wù)指派至所選擇的邊界裝置(104)。
【文檔編號】G06F9/40GK104252337SQ201410302747
【公開日】2014年12月31日 申請日期:2014年6月27日 優(yōu)先權(quán)日:2013年6月27日
【發(fā)明者】斯萬納瓦·戴伊, 安鵬·派爾, 安麗吉特·慕克吉, ?,?shù)吕铩·保羅 申請人:塔塔咨詢服務(wù)有限公司