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