欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

分布式計算框架的制作方法

文檔序號:6495429閱讀:244來源:國知局
分布式計算框架的制作方法
【專利摘要】實施例所針對的是:將處理任務(wù)從性能降低的計算機系統(tǒng)分布到至少一個其他計算機系統(tǒng);在一個計算機系統(tǒng)處處理從性能降低的計算機系統(tǒng)接收的分布式任務(wù);以及建立模擬環(huán)境以用于測試分布式計算框架功能。在實施例中,性能降低的計算機系統(tǒng)監(jiān)視計算任務(wù)以為每個任務(wù)確定處理資源使用水平。計算任務(wù)是在性能降低的計算機系統(tǒng)上運行的軟件應(yīng)用的一部分。性能降低的計算機系統(tǒng)確定:所監(jiān)視的任務(wù)之一正在使用超過所指定閾值水平的處理資源。性能降低的計算機系統(tǒng)將任務(wù)發(fā)送給另一計算機系統(tǒng),該另一計算機系統(tǒng)接收、處理并返回該任務(wù)的結(jié)果到性能降低的計算機系統(tǒng)。性能降低的計算機系統(tǒng)將從該另一計算機系統(tǒng)接收的經(jīng)處理結(jié)果呈現(xiàn)在運行中的軟件應(yīng)用內(nèi)。
【專利說明】分布式計算框架
[0001]背景
[0002]計算機已變得高度集成于工作、家庭、移動設(shè)備以及許多其他地方中。計算機可快速且有效地處理大量信息。被設(shè)計成在計算機系統(tǒng)上運行的軟件應(yīng)用允許用戶執(zhí)行包括商業(yè)應(yīng)用、學校作業(yè)、娛樂等等在內(nèi)的各種各樣的功能。軟件應(yīng)用通常被設(shè)計成執(zhí)行特定的任務(wù),諸如用于草擬文檔的文字處理器應(yīng)用或者用于發(fā)送、接收和組織電子郵件的電子郵件程序。
[0003]這些軟件應(yīng)用越來越多地運行在更小的性能降低的計算設(shè)備上,比如移動電話、上網(wǎng)本和平板計算機。這些更小、更加移動的設(shè)備常常由于更小的中央處理單元(CPU)、更少的存儲器和電池壽命問題而在其處理能力方面受限。結(jié)果,CPU密集型軟件應(yīng)用通常不在這些設(shè)備上實現(xiàn),并且被保留用于更大、通常固定的設(shè)備。因此,針對性能降低的設(shè)備的應(yīng)用的開發(fā)者限制了他們包括在其應(yīng)用中的特性。
[0004]概述
[0005]在此所述的實施例所針對的是:將處理任務(wù)從性能降低(移動)的計算機系統(tǒng)分布到主計算機系統(tǒng);處理從性能降低的計算機系統(tǒng)接收的分布式任務(wù);以及建立模擬環(huán)境以用于測試分布式計算框架功能。在一個實施例中,性能降低的計算機系統(tǒng)監(jiān)視計算任務(wù)以為每個任務(wù)確定處理資源使用水平。計算任務(wù)是在性能降低的計算機系統(tǒng)上運行的軟件應(yīng)用的一部分。性能降低的計算機系統(tǒng)確定:所監(jiān)視的任務(wù)之一正在使用超過所指定閾值水平的處理資源。性能降低的計算機系統(tǒng)將任務(wù)發(fā)送給另一計算機系統(tǒng),該另一計算機系統(tǒng)接收、處理并返回該任務(wù)的結(jié)果到性能降低的計算機系統(tǒng)。性能降低的計算機系統(tǒng)將從該另一計算機系統(tǒng)接收的經(jīng)處理結(jié)果呈現(xiàn)在運行中的軟件應(yīng)用內(nèi)。
[0006]在另一實施例中,主計算機系統(tǒng)從性能降低的計算機系統(tǒng)接收要處理的各種軟件應(yīng)用任務(wù)。主計算機系統(tǒng)建立虛擬執(zhí)行環(huán)境以用于處理所接收的任務(wù)。虛擬執(zhí)行環(huán)境在同該計算機系統(tǒng)的其余部分隔離的隔離邊界中操作。主計算機系統(tǒng)在所建立的虛擬執(zhí)行環(huán)境中處理所接收的任務(wù),并且將經(jīng)處理任務(wù)的結(jié)果發(fā)送給性能降低的計算機系統(tǒng)。
[0007]在又一實施例中,計算機系統(tǒng)建立允許測試分布式應(yīng)用的模擬環(huán)境。模擬環(huán)境允許開發(fā)者在部署應(yīng)用以前在其自己的計算機系統(tǒng)上測試其應(yīng)用。計算機系統(tǒng)發(fā)起主計算系統(tǒng)和性能降低的計算機系統(tǒng)的模擬,并且在模擬環(huán)境中執(zhí)行下列各項:監(jiān)視性能降低的計算機系統(tǒng)上的計算任務(wù)以為每個任務(wù)確定處理資源使用水平;確定所監(jiān)視的任務(wù)至少之一正在使用超過所指定閾值水平的處理資源;將所確定的任務(wù)發(fā)送給不同的計算機系統(tǒng),該計算機系統(tǒng)在虛擬執(zhí)行環(huán)境中接收并處理該任務(wù),并且將所述任務(wù)的結(jié)果返回給性能降低的計算機系統(tǒng);以及將經(jīng)處理的結(jié)果呈現(xiàn)在正在運行的軟件應(yīng)用內(nèi)。
[0008]提供本概述是為了以簡化的形式介紹將在以下詳細描述中進一步描述的選擇的概念。本概述不旨在標識出所要求保護的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護的主題的范圍。
[0009]將在以下的描述中闡述另外的特征和優(yōu)點,并且部分特征和優(yōu)點可從該描述中顯而易見,或者可從本文教導的實踐中獲知。本發(fā)明的特征和優(yōu)點可以通過在所附權(quán)利要求中特別指出的手段和組合來實現(xiàn)并獲取。本發(fā)明的特征將從以下描述和所附權(quán)利要求書中變得完全顯而易見,或者可通過如下所述對本發(fā)明的實踐而獲知。
[0010]附圖簡述
[0011]為了進一步闡明本發(fā)明的各實施例的以上和其他優(yōu)點和特征,將參考附圖來呈現(xiàn)本發(fā)明的各實施例的更具體的描述??梢岳斫?,這些附圖只描繪本發(fā)明的典型實施例,因此將不被認為是對其范圍的限制。本發(fā)明將通過使用附圖用附加特征和細節(jié)來描述和解釋,附圖中:
[0012]圖1示出了本發(fā)明的實施例可在里面操作的計算機體系結(jié)構(gòu),所述實施例包括將任務(wù)從性能降低的計算機系統(tǒng)分布到至少一個其他計算機系統(tǒng)。
[0013]圖2示出了用于將任務(wù)從性能降低的計算機系統(tǒng)分布到至少一個其他計算機系統(tǒng)的示例性方法的流程圖。
[0014]圖3示出了用于在一個計算機系統(tǒng)處處理從性能降低的計算機系統(tǒng)接收到的分布式任務(wù)的示例性方法的流程圖。
[0015]圖4示出了用于建立用于測試分布式計算框架功能的模擬環(huán)境的示例性方法的流程圖。
[0016]圖5示出了建立用于測試分布式計算框架功能的模擬環(huán)境的計算機體系結(jié)構(gòu)。
[0017]詳細描述
[0018]在此所述的實施例所針對的是:將處理任務(wù)從性能降低(移動)的計算機系統(tǒng)分布到主計算機系統(tǒng);處理從性能降低的計算機系統(tǒng)接收的分布式任務(wù);以及建立模擬環(huán)境以用于測試分布式計算框架功能。在一個實施例中,性能降低的計算機系統(tǒng)監(jiān)視計算任務(wù)以為每個任務(wù)確定處理資源使用水平。計算任務(wù)是在性能降低的計算機系統(tǒng)上運行的軟件應(yīng)用的一部分。性能降低的計算機系統(tǒng)確定:所監(jiān)視的任務(wù)之一正在使用超過所指定閾值水平的處理資源。性能降低的計算機系統(tǒng)將任務(wù)發(fā)送給另一計算機,該另一計算機接收、處理并返回該任務(wù)的結(jié)果到性能降低的計算機系統(tǒng)。性能降低的計算機系統(tǒng)將從該另一計算機系統(tǒng)接收的經(jīng)處理結(jié)果呈現(xiàn)在運行中的軟件應(yīng)用內(nèi)。
[0019]在另一實施例中,主計算機系統(tǒng)從性能降低的計算機系統(tǒng)接收要處理的各種軟件應(yīng)用任務(wù)。主計算機系統(tǒng)建立虛擬執(zhí)行環(huán)境以用于處理所接收的任務(wù)。虛擬執(zhí)行環(huán)境在同該計算機系統(tǒng)的其余部分隔離的隔離邊界中操作。主計算機系統(tǒng)在所建立的虛擬執(zhí)行環(huán)境中處理所接收的任務(wù),并且將經(jīng)處理任務(wù)的結(jié)果發(fā)送給性能降低的計算機系統(tǒng)。
[0020]在又一實施例中,計算機系統(tǒng)建立允許測試分布式應(yīng)用的模擬環(huán)境。計算機系統(tǒng)發(fā)起主計算系統(tǒng)和性能降低的計算機系統(tǒng)的模擬,并且在模擬環(huán)境中執(zhí)行下列各項:監(jiān)視性能降低的計算機系統(tǒng)上的計算任務(wù)以為每個任務(wù)確定處理資源使用水平;確定所監(jiān)視的任務(wù)至少之一正在使用超過所指定閾值水平的處理資源;將所確定的任務(wù)發(fā)送給一不同的計算機系統(tǒng),該計算機系統(tǒng)在虛擬執(zhí)行環(huán)境中接收并處理該任務(wù),并且將所述任務(wù)的結(jié)果返回給性能降低的計算機系統(tǒng);以及將經(jīng)處理的結(jié)果呈現(xiàn)在正在運行的軟件應(yīng)用內(nèi)。
[0021]以下討論現(xiàn)涉及可以執(zhí)行的多種方法以及方法動作。應(yīng)當注意,雖然這些方法動作可能是按一定次序討論的,或者是在流程圖中被描繪為是按照特定順序進行的,然而并非必然需要特定的次序,除非是特別聲明的或者是因為一個動作依賴于在執(zhí)行該動作之前完成另一動作而需要的。[0022]本發(fā)明的各實施例可包括或利用專用或通用計算機,該專用或通用計算機包括諸如舉例而言一個或多個處理器和系統(tǒng)存儲器的計算機硬件,如以下更詳細討論的。本發(fā)明范圍內(nèi)的各實施例還包括用于承載或存儲計算機可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的物理和其他計算機可讀介質(zhì)。這樣的計算機可讀介質(zhì)可以是可由通用或?qū)S糜嬎銠C系統(tǒng)訪問的任何可用介質(zhì)。以數(shù)據(jù)形式存儲有計算機可執(zhí)行指令的計算機可讀介質(zhì)是計算機存儲介質(zhì)。承載計算機可執(zhí)行指令的計算機可讀介質(zhì)是傳輸介質(zhì)。由此,作為示例而非限制,本發(fā)明的各實施例可包括至少兩種顯著不同的計算機可讀介質(zhì):計算機存儲介質(zhì)和傳輸介質(zhì)。
[0023]計算機存儲介質(zhì)包括RAM、ROM、EEPROM、CD-ROM、基于RAM、閃存、相變存儲器(PCM),或其它類型的存儲器的固態(tài)驅(qū)動器(SSD),或者其他光盤存儲、磁盤存儲或其他磁存儲設(shè)備,或可用于以計算機可執(zhí)行指令、數(shù)據(jù)或數(shù)據(jù)結(jié)構(gòu)形式存儲所期望的程序代碼裝置且可被通用或?qū)S糜嬎銠C訪問的任何其他介質(zhì)。
[0024]“網(wǎng)絡(luò)”被定義成允許在計算機系統(tǒng)和/或模塊和/或其他電子設(shè)備之間傳輸電子數(shù)據(jù)的一個或多個數(shù)據(jù)鏈路和/或數(shù)據(jù)交換機。當信息通過網(wǎng)絡(luò)(硬連線、無線、或者硬連線或無線的組合)被傳輸或提供給計算機時,該計算機將該連接適當?shù)匾暈閭鬏斀橘|(zhì)。傳輸介質(zhì)可以包括如下的網(wǎng)絡(luò):所述網(wǎng)絡(luò)可以用于運送計算機可執(zhí)行指令形式或數(shù)據(jù)結(jié)構(gòu)形式的數(shù)據(jù)或所期望的程序代碼裝置,并且可以被通用或?qū)S糜嬎銠C訪問。上述的組合也應(yīng)被包括在計算機可讀介質(zhì)的范圍內(nèi)。
[0025]此外,在到達各種計算機系統(tǒng)組件之后,計算機可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的程序代碼資料可從傳輸介質(zhì)自動傳輸?shù)接嬎銠C存儲介質(zhì)(或反之亦然)。例如,通過網(wǎng)絡(luò)或數(shù)據(jù)鏈路接收到的計算機可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)可被緩沖在網(wǎng)絡(luò)接口模塊(例如,網(wǎng)絡(luò)接口卡或“NIC”)內(nèi)的RAM中,然后最終被傳輸給計算機系統(tǒng)RAM和/或計算機系統(tǒng)處的較不易失性的計算機存儲介質(zhì)。因而,應(yīng)當理解,計算機存儲介質(zhì)可被包括在還利用(或甚至主要利用)傳輸介質(zhì)的計算機系統(tǒng)組件中。
[0026]計算機可執(zhí)行(或計算機可解釋)的指令包括例如致使通用計算機、專用計算機、或?qū)S锰幚碓O(shè)備執(zhí)行某個功能或某組功能的指令。計算機可執(zhí)行指令例如可以是二進制代碼、諸如匯編語言之類的中間格式指令或者甚至是源代碼。盡管用結(jié)構(gòu)特征和/或方法動作專用的語言描述了本主題內(nèi)容,但可以理解,所附權(quán)利要求書中定義的主題內(nèi)容不必限于上述特征或動作。更具體而言,上述特征和動作是作為實現(xiàn)權(quán)利要求的示例形式而公開的。
[0027]本領(lǐng)域的技術(shù)人員將理解,本發(fā)明可以在具有許多類型的計算機系統(tǒng)配置的網(wǎng)絡(luò)計算環(huán)境中實踐,這些計算機系統(tǒng)配置包括個人計算機、臺式計算機、膝上型計算機、消息處理器、手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程消費電子設(shè)備、網(wǎng)絡(luò)PC、小型計算機、大型計算機、移動電話、PDA、尋呼機、路由器、交換機等等。本發(fā)明還可在分布式系統(tǒng)環(huán)境中實踐,在該環(huán)境中本地和遠程計算機系統(tǒng)通過網(wǎng)絡(luò)(經(jīng)由硬連線數(shù)據(jù)鏈路、無線數(shù)據(jù)鏈路、或者經(jīng)由硬連線和無線數(shù)據(jù)鏈路的組合)鏈接起來,每個計算機系統(tǒng)都執(zhí)行任務(wù)(例如,云計算、云服務(wù)等)。在分布式系統(tǒng)環(huán)境中,程序模塊可以位于本地和遠程存儲器存儲設(shè)備二者中。
[0028]圖1示出了可在其中采用本發(fā)明的原理的計算機架構(gòu)100。計算機體系結(jié)構(gòu)100包括兩種不同的計算機系統(tǒng)。性能降低的計算機系統(tǒng)110可以是任何類型的上網(wǎng)本、平板計算機、智能電話或其他移動或電池運行的計算機系統(tǒng),所述計算機系統(tǒng)出于種種原因比典型臺式或膝上型計算機系統(tǒng)具有更少的處理能力。這樣的性能降低的設(shè)備具有受諸如大小、電池壽命、成本或其他考慮因素之類的各種約束限制的處理資源。本領(lǐng)域技術(shù)人員將認識到性能降低的計算機系統(tǒng)與正常臺式、膝上型或企業(yè)計算機系統(tǒng)之間的區(qū)別。主計算機系統(tǒng)125是正常或高性能計算機系統(tǒng)(或計算機系統(tǒng)的群集)。主計算機系統(tǒng)125可以是家庭臺式或膝上型計算機系統(tǒng)、公司工作站或甚至后端數(shù)據(jù)服務(wù)器?;旧先魏尉哂锌捎锰幚碣Y源的計算系統(tǒng)都可以用于主計算機系統(tǒng)125。
[0029]圖1中所示的兩種計算機系統(tǒng)都可包括用于執(zhí)行特定任務(wù)的各種模塊。例如,任務(wù)監(jiān)視模塊115可以用于監(jiān)視正在被執(zhí)行或被調(diào)度為要作為軟件應(yīng)用117的一部分被執(zhí)行的各個任務(wù)118。任務(wù)轉(zhuǎn)移模塊120可以將這些任務(wù)從性能降低的計算機系統(tǒng)轉(zhuǎn)移到主計算機系統(tǒng)。所述任務(wù)可以在資源使用水平116過高時被轉(zhuǎn)移。例如,如果處理資源閾值水平已經(jīng)被設(shè)置(例如119)并且如果該閾值水平正在被超過,則一個或多個任務(wù)可以被轉(zhuǎn)移(例如經(jīng)轉(zhuǎn)移的任務(wù)121)到計算機系統(tǒng)125的任務(wù)接收模塊130。環(huán)境建立模塊135可以建立虛擬執(zhí)行環(huán)境145 (VEE),所述虛擬執(zhí)行環(huán)境145具有其自己的模塊以用于執(zhí)行功能。
[0030]VEE可以利用主計算機系統(tǒng)125上的現(xiàn)有計算資源。VEE提供隔離的環(huán)境(例如隔離邊界141)以用于處理所接收的任務(wù)。此外,VEE包括節(jié)流模塊160,所述節(jié)流模塊160允許計算機系統(tǒng)節(jié)流其容量并且僅僅在空閑時對分布式工作負載作出貢獻。VEE可以在基本上任何計算機系統(tǒng)上建立,并且可以處理來自基本上任何類型的軟件應(yīng)用的任務(wù)。在一些情況下,VEE可以是虛擬機。
[0031]虛擬執(zhí)行環(huán)境是輕量環(huán)境,其提供邏輯上下文并利用主操作系統(tǒng)(OS)創(chuàng)建分開的安全域。從性能降低的計算機系統(tǒng)接收的任務(wù)可以在VEE內(nèi)執(zhí)行。VEE可以提供同主OS的分隔和完全隔離。因此,在閉合VEE以后,基本上沒有痕跡被留在主計算機系統(tǒng)上。與任務(wù)相對應(yīng)的二進制碼和父進程、子進程或孤立進程是在VEE的隔離邊界141內(nèi)執(zhí)行的,因此當主操作系統(tǒng)的本機操作開始時或者當主計算機系統(tǒng)被從分區(qū)移除時,易于清理和僅僅停止或移除VEE。
[0032]VEE可以與外部web資源進程數(shù)據(jù)通信并且將執(zhí)行的結(jié)果156提供給設(shè)備110。在許多情況下,主計算機系統(tǒng)比移動設(shè)備具有更高網(wǎng)絡(luò)帶寬。在這樣的情況下,軟件應(yīng)用的網(wǎng)絡(luò)通信量可以被推送給VEE。例如,如果用戶需要在其移動設(shè)備上閱讀大文檔而不是在移動設(shè)備上下載整個文檔,則文檔可以在VEE上下載。VEE然后可以用一次一屏內(nèi)容服務(wù)于移動設(shè)備,這可以節(jié)省盤空間和電池,并且可以導致更快的總體下載時間。
[0033]在性能降低的計算機系統(tǒng)110能夠運行虛擬化軟件的情況下,環(huán)境建立模塊135可以建立虛擬機以處理所接收的任務(wù)。然后,任何所接收的任務(wù)都由虛擬機來處理。通過這種方式,任何可以以隔離的方式被處理,而不影響底層主OS。
[0034]任務(wù)執(zhí)行運行時(TER)可以在主計算機系統(tǒng)上運行。TER可以被配置為檢測主OS的處理容量。例如,在一些情況下,TER可以確定主計算機系統(tǒng)是否虛擬化能力并且如果是(并且如果用戶105選擇這樣),則分布式任務(wù)在虛擬機(VM)內(nèi)執(zhí)行??商娲?,TER可以確定:主計算機系統(tǒng)具有可用于處理分布式任務(wù)的至少一些空閑或其他處理資源。TER可以使用這些處理資源來建立虛擬執(zhí)行環(huán)境,包括將分布式任務(wù)執(zhí)行和主計算機自己的操作分隔開的隔離邊界。TER可以管控任務(wù)在主計算機系統(tǒng)上的執(zhí)行。TER可以檢測本機任務(wù)和分布式任務(wù)的CPU和其他處理資源利用。TER然后可以相應(yīng)地節(jié)流虛擬機或VEE的資源利用以最小化任何副作用。例如,如果主計算機系統(tǒng)開始處理另一本地任務(wù),其可以節(jié)流分布式任務(wù)的處理。
[0035]類似的運行時環(huán)境可以可以在性能降低的計算機系統(tǒng)上實現(xiàn)。任務(wù)發(fā)起運行時環(huán)境(TIRE)可以被實現(xiàn),該任務(wù)發(fā)起運行時環(huán)境使用不同的模塊來執(zhí)行特定任務(wù)。TIRE組件可以是專門為移動或其他性能降低的設(shè)備設(shè)計的。TIRE組件因此可以是輕量的并且可以被集成到移動設(shè)備的OS的內(nèi)核中。其可以執(zhí)行任務(wù)調(diào)度并且可以基于其當前容量將任務(wù)分配給TER。TIRE可以允許管理員在運行時輸入二進制碼,同時TIRE解釋所述二進制碼并且進行任務(wù)分布。
[0036]在一些情況下,軟件開發(fā)工具包(SDK)可以被提供,所述軟件開發(fā)工具包允許開發(fā)者開發(fā)在性能降低的計算機系統(tǒng)上運行的應(yīng)用,同時將很多處理轉(zhuǎn)嫁給主計算機系統(tǒng)。SDK可以包括或提供一組方法,所述方法允許任務(wù)間通過聲明性和常規(guī)編程的并行性。使用SDK,動態(tài)調(diào)度和調(diào)整任務(wù)調(diào)度可以被提供。在一些實施例中,可以提供模擬環(huán)境,其中開發(fā)者可以在部署為上述計算環(huán)境構(gòu)建的應(yīng)用以前測試這些應(yīng)用。下面,將參照圖2、3和4的方法200、300和400更詳細地解釋上述這一和其他概念。
[0037]考慮到以上描述的系統(tǒng)和體系結(jié)構(gòu),參考圖2和圖3的流程圖將更好地理解根據(jù)所公開的主題實現(xiàn)的方法。為了說明簡明起見,這些方法被示出和描述為一系列框。然而,應(yīng)該理解和了解,所要求保護的主題不受框的次序的限制,因為一些框可按不同的次序進行和/或與此處所描繪和描述的其他框同時進行。此外,并非全部所示的框都是實現(xiàn)下面所述的方法所必需的。
[0038]圖2示出了用于將處理任務(wù)從性能降低的計算機系統(tǒng)分布到至少一個其他計算機系統(tǒng)的方法200的流程圖?,F(xiàn)在將頻繁參考環(huán)境100的組件和數(shù)據(jù)來描述方法200。
[0039]方法200包括如下動作:監(jiān)視性能降低的計算機系統(tǒng)上的一個或多個計算任務(wù)以為每個任務(wù)確定處理資源使用水平,其中所述計算任務(wù)是在性能降低的計算機系統(tǒng)上運行的軟件應(yīng)用的一部分(動作210)。例如,作為任務(wù)發(fā)起運行時環(huán)境(TIRE)的一部分,任務(wù)監(jiān)視模塊115可以監(jiān)視作為軟件應(yīng)用117的一部分的任務(wù)118。軟件應(yīng)用可以是任何類型的軟件功能、服務(wù)、應(yīng)用程序或軟件功能的其他部分。軟件應(yīng)用可以執(zhí)行許多分立任務(wù)。在該環(huán)境(100)中,應(yīng)用的任務(wù)中的一個或多個可以被發(fā)送給另一計算機系統(tǒng)以用于處理。
[0040]任務(wù)監(jiān)視模塊可以為性能降低的計算機系統(tǒng)110確定資源使用水平116。資源使用水平可以指示多少處理資源正在被使用以及處于什么水平或百分比。例如,資源使用水平可以指示CPU使用百分比、RAM使用百分比、網(wǎng)絡(luò)使用百分比、電池使用百分比或者任何其他處理組件的使用。
[0041]方法200包括如下動作:確定所監(jiān)視的任務(wù)至少之一正在使用超過所指定閾值水平的處理資源(動作220)。例如,任務(wù)監(jiān)視模塊115可以確定:所監(jiān)視的任務(wù)中的一個或多個正在使用處理資源的一個大的部分。如果該部分超過所指定的閾值水平(例如CPU使用在某個時間段內(nèi)高于80%),則任務(wù)轉(zhuǎn)移模塊120可以被用于將所確定的任務(wù)發(fā)送給主計算機系統(tǒng)125 (動作230)。主計算機系統(tǒng)可以被配置為接收、處理和返回任務(wù)的結(jié)果到性能降低的計算機系統(tǒng)(這將在下面在圖3中解釋)。任務(wù)轉(zhuǎn)移模塊可以將任務(wù)劃分成多個不同的部分以用于在虛擬執(zhí)行環(huán)境中處理。部分的大小可以基于各種考慮因素動態(tài)地調(diào)整,包括移動設(shè)備的網(wǎng)絡(luò)信號的當前強度、要處理的任務(wù)的大小或者任務(wù)的優(yōu)先級水平。因此,例如如果移動設(shè)備當前具有高信號強度,則可以使用最優(yōu)分組大小來針對該信號強度發(fā)射最大量的數(shù)據(jù)。
[0042]在一些情況下,任務(wù)部分以無縫方式被轉(zhuǎn)移、處理并返回。在這樣的情況下,任務(wù)可以表現(xiàn)為已經(jīng)在性能降低的計算機系統(tǒng)上處理過。在這些情形下,用戶可以不知道應(yīng)用任務(wù)中的一些曾是在不同的計算機系統(tǒng)上被處理的。因此,例如用戶可以正在性能降低的計算機系統(tǒng)上玩游戲。游戲的各個任務(wù)可以在游戲被玩的同時選擇性地被發(fā)送給另一計算機系統(tǒng)、被處理并被返回給性能降低的計算機系統(tǒng)。任務(wù)的經(jīng)處理的結(jié)果被無縫地合并到游戲中。因此,可以玩由于處理資源限制而通常本不能在性能降低的計算機系統(tǒng)上玩的游戲(或其他應(yīng)用),因為處理的大部分是在另一計算機系統(tǒng)上進行的。
[0043]例如,如果用戶正在玩國際象棋,并且國際象棋程序想要分析棋步,“最佳步”計算可以被發(fā)送給數(shù)據(jù)中心、用戶的家庭臺式機或甚至不相關(guān)用戶的家庭臺式機。此外,在一些情況下,計算可以被分割并且發(fā)送給大數(shù)目的性能降低的設(shè)備。對于一些問題,比如國際象棋“最佳步”示例,計算可以被分割成幾千個非常簡單的問題,其中單個設(shè)備可以將這些問題推送給其他設(shè)備的并然后容易地組合這些結(jié)果以選擇答案。在電池壽命是個問題的情況下,可以通過將對這些經(jīng)劃分任務(wù)的接受僅僅限制于該設(shè)備從充電器接收電能的時間來減少電池使用。這所具有的效果是,使大數(shù)目的已插電的性能降低的設(shè)備有效地充當超級計算機,而不影響這些設(shè)備的電池壽命。
[0044]在一些實施例中,從性能降低的計算機系統(tǒng)轉(zhuǎn)移到主計算機系統(tǒng)的任務(wù)的數(shù)目是可動態(tài)調(diào)節(jié)的。對所轉(zhuǎn)移任務(wù)的數(shù)目的調(diào)節(jié)可以基于主計算機系統(tǒng)125的當前處理條件。因此,如果主機計算機系統(tǒng)當前正在使用計算資源的一個大的部分,則性能降低的計算機系統(tǒng)可以將更少的任務(wù)發(fā)送給主計算機提供(并且可能可以將任務(wù)發(fā)送給另一主計算機系統(tǒng))。如上所述,性能降低的計算機系統(tǒng)可以將從主計算機系統(tǒng)接收的經(jīng)處理結(jié)果呈現(xiàn)在運行中的軟件應(yīng)用內(nèi)(動作240)。這可以無縫地執(zhí)行,其中用戶105不知道軟件應(yīng)用的部分正在其他地方被處理。
[0045]為了進一步利用上述系統(tǒng),可以提供通用應(yīng)用開發(fā)框架。該通用應(yīng)用開發(fā)框架可以允許開發(fā)者開發(fā)在性能降低的計算機系統(tǒng)上操作的軟件應(yīng)用,并且將軟件應(yīng)用任務(wù)轉(zhuǎn)移到一個或多個其他計算機系統(tǒng)。該通用應(yīng)用開發(fā)框架可以與一個或多個現(xiàn)有應(yīng)用開發(fā)程序集成。因此,通過將現(xiàn)有應(yīng)用開發(fā)程序(即集成開發(fā)環(huán)境(IDE))與通用應(yīng)用開發(fā)框架一起使用,開發(fā)者可以開發(fā)在性能降低的計算機系統(tǒng)(例如移動電話或平板計算機)上運行的應(yīng)用并且將應(yīng)用處理的大的部分轉(zhuǎn)移到能夠更好地應(yīng)對處理負載的其他計算機系統(tǒng)。在主計算機系統(tǒng)上進行的動作將在下面參照圖3來描述。
[0046]圖3示出了用于在主計算機系統(tǒng)處處理從性能降低的計算機系統(tǒng)接收的分布式任務(wù)的方法300的流程圖。現(xiàn)在將頻繁參考環(huán)境100的組件和數(shù)據(jù)來描述方法300。
[0047]方法300包括如下動作:從性能降低的計算機系統(tǒng)接收要處理的一個或多個軟件應(yīng)用任務(wù)(動作310)。例如,任務(wù)接收模塊130可以從性能降低的計算機系統(tǒng)110接收要在主計算機系統(tǒng)125處處理的任務(wù)121。許多這樣的任務(wù)可以由任務(wù)接收模塊來接收和緩沖。所述任務(wù)可以單獨地或成組地接收。在一些情況下,任務(wù)可以被流式傳輸給主計算機系統(tǒng)。經(jīng)處理的結(jié)果156同樣可以被流式傳輸回性能降低的計算機系統(tǒng)。所述任務(wù)可以被分解成子任務(wù)、以及甚至進一步的子任務(wù)。對任務(wù)的該劃分可以用在性能降低的計算機系統(tǒng)具有低信號強度或者連接到低帶寬網(wǎng)絡(luò)的情況下。
[0048]方法300還包括如下動作:建立虛擬執(zhí)行環(huán)境以用于處理所接收的任務(wù),其中虛擬執(zhí)行環(huán)境在同主計算機系統(tǒng)的其余部分隔離的隔離邊界中操作(動作320)。例如,環(huán)境建立模塊135可以建立虛擬邊界141中的虛擬執(zhí)行環(huán)境(VEE) 145。如上所述,隔離邊界可以是在里面執(zhí)行任務(wù)的處理的虛擬邊界。任務(wù)處理模塊150單單在隔離邊界內(nèi)處理任務(wù);任務(wù)處理模塊不具有對存儲在該邊界以外的數(shù)據(jù)的訪問。通過這種方式,VEE可以在基本上任何計算機系統(tǒng)上安全地建立,因為VEE不具有對存儲在主計算機系統(tǒng)上的文件的訪問。此夕卜,隔離邊界防止VEE中的任務(wù)執(zhí)行影響運行在主計算機系統(tǒng)上的操作系統(tǒng)或其他程序。因此,病毒和其他惡意軟件被防止以免對主系統(tǒng)程序造成任何損害。因此,VEE是主系統(tǒng)的其他軟件應(yīng)用不能訪問的安全、受隔離的環(huán)境。
[0049]在一些情況下,VEE可以是虛擬機。一些主系統(tǒng)可以被配置為特別良好地與虛擬機一起工作。在這樣的系統(tǒng)中,多個虛擬機可以由模塊135建立以處理到來的任務(wù)。每個虛擬機都可以被建立以處理與某些應(yīng)用相關(guān)的任務(wù)。一旦應(yīng)用在性能降低的計算機系統(tǒng)上被關(guān)閉或者一旦所調(diào)度的時間已經(jīng)到來(例如作為處理調(diào)度的一部分),虛擬機(或者正常虛擬執(zhí)行環(huán)境)就被從主計算機系統(tǒng)移除,而不留下其存在的記錄。由于VEE是在隔離邊界中建立的,因此主系統(tǒng)的其他程序未與VEE交互過,并且清理是移除組成VEE的文件和數(shù)據(jù)結(jié)構(gòu)這一簡單事項。
[0050]方法300還包括在所建立的虛擬執(zhí)行環(huán)境中處理所接收的任務(wù)的動作(動作330)。例如,任務(wù)處理模塊150可以在VEE145內(nèi)處理到來的任務(wù)121。該處理可以在一些實例中受限或被節(jié)流。例如,節(jié)流模塊165可以檢測主計算機系統(tǒng)正在處理某些類型的任務(wù)(例如關(guān)鍵或高重要度任務(wù)),或者以其他方式正在使用其處理資源的一個大的部分。作為響應(yīng),節(jié)流模塊160可以推遲從性能降低的計算機系統(tǒng)接收到的任務(wù)的處理,直到關(guān)鍵任務(wù)已經(jīng)完成處理,或者直到處理資源處于可接受的水平。VEE還可以向性能降低的計算機系統(tǒng)通知:任務(wù)處理已經(jīng)被臨時推遲,并且任務(wù)可能需要被發(fā)送給另一 VEE或另一計算機系統(tǒng)。
[0051]在一些實施例中,VEE可以被配置為監(jiān)視主計算機系統(tǒng)的處理資源并且動態(tài)地節(jié)流所接收的任務(wù)的處理。在一些情況下,該動態(tài)節(jié)流可以不發(fā)生,直到VEE確定主系統(tǒng)正在使用該系統(tǒng)的高于指定閾值水平的處理資源。因此,一旦達到該水平,則被調(diào)度要在VEE中執(zhí)行的任務(wù)就被推遲或者移動到另一計算機系統(tǒng)。在任務(wù)由于節(jié)流而被暫?;蛞云渌绞奖煌七t的情況下,這些任務(wù)可以在VEE已經(jīng)檢測到主計算機系統(tǒng)具有充足的處理資源以后恢復(fù)。
[0052]VEE的任務(wù)處理的結(jié)果156可以被發(fā)送給性能降低的計算機系統(tǒng)110 (動作340)。所述結(jié)果可以在處理以后基本上立即被發(fā)送。通過這種方式,所述結(jié)果可以作為用戶的應(yīng)用的一部分被呈現(xiàn)給用戶105。因此,用戶可以在他或她的移動或平板設(shè)備上打開應(yīng)用(例如使用輸入106),讓應(yīng)用處理(基本上)在他或她的家庭計算機系統(tǒng)上執(zhí)行,并且在應(yīng)用117中查看結(jié)果就好像性能降低的計算機系統(tǒng)進行了所有處理那樣。這些結(jié)果可以被流式傳輸給移動設(shè)備110并且無縫地合并到用戶正在使用的應(yīng)用中。
[0053]在一些情況下,當VEE正在處理第一應(yīng)用的一部分時,VEE可以在第一任務(wù)被處理的同時接收要在VEE處處理的第二任務(wù)。主計算機系統(tǒng)可以確定:所接收的第二任務(wù)是與所接收的第一任務(wù)相同的軟件程序的一部分,并且可以在相同的虛擬執(zhí)行環(huán)境中處理第二任務(wù)。在其他情況下,VEE可能正在處理第一應(yīng)用的一部分,并且然后在第一任務(wù)被處理的同時接收要在VEE處處理的第二任務(wù)。主計算機系統(tǒng)可以確定:所接收的第二任務(wù)是與所接收的第一任務(wù)不同的軟件程序的一部分,并且可以建立不同的第二 VEE以處理所接收的第二任務(wù)。因此,多個不同虛擬執(zhí)行環(huán)境可以被建立以處理從不同軟件應(yīng)用接收到的任務(wù)。
[0054]圖4示出了用于建立用于測試分布式計算框架功能的模擬環(huán)境的方法400的流程圖?,F(xiàn)在將頻繁地分別參照圖1和圖4的環(huán)境100和400的組件和數(shù)據(jù)來描述方法400。
[0055]方法400包括建立被配置為允許測試分布式應(yīng)用的模擬環(huán)境的動作(動作410)。例如,環(huán)境建立模塊435可以建立允許測試分布式應(yīng)用的模擬環(huán)境420。開發(fā)者415因此可以寫入被設(shè)計為在性能降低的計算機系統(tǒng)110上操作的應(yīng)用416并且在計算機系統(tǒng)405上的模擬環(huán)境中測試這些應(yīng)用。上面的應(yīng)用117是可以將自己任務(wù)118中的一些轉(zhuǎn)嫁給其他計算機系統(tǒng)的分布式應(yīng)用。模擬環(huán)境可以是可定制的,以模擬公司或企業(yè)環(huán)境、家庭環(huán)境或其他計算環(huán)境。在一些情況下,模擬環(huán)境可以允許多個虛擬執(zhí)行環(huán)境被建立并同時運行以處理來自多個不同軟件應(yīng)用的任務(wù)。在一些情況下,模擬環(huán)境可以在相同的機器(405)上提供應(yīng)用執(zhí)行加上VEE (或VM)、TER和/或TIR,使得上述分布式應(yīng)用可以被開發(fā)和測試。在環(huán)境的數(shù)目和類型已經(jīng)被選擇以后,環(huán)境建立模塊可以發(fā)起模擬(動作420 )。
[0056]方法400還包括在所建立的模擬環(huán)境中執(zhí)行各個步驟的動作(動作430),包括下列各項中的一個或多個:監(jiān)視性能降低的計算機系統(tǒng)110上的計算任務(wù)118以為每個任務(wù)確定處理資源使用水平116,其中所述任務(wù)是運行在性能降低(移動)的系統(tǒng)上的軟件應(yīng)用117的一部分;確定所監(jiān)視的任務(wù)至少之一正在使用超過所指定閾值水平119的處理資源;將所確定的任務(wù)121發(fā)送給主計算機系統(tǒng)125,該主計算機系統(tǒng)125在虛擬執(zhí)行環(huán)境145中接收并處理該任務(wù),并且將所述任務(wù)的結(jié)果156/421返回給性能降低的計算機系統(tǒng);以及將從主計算機系統(tǒng)接收的經(jīng)處理的結(jié)果呈現(xiàn)在正在運行的軟件應(yīng)用內(nèi)。所述任務(wù)安全地在隔離環(huán)境中被處理,并被返回給用戶的應(yīng)用,而不需要用戶知道。模擬環(huán)境因此允許開發(fā)者在實際部署應(yīng)用以前模擬和測試應(yīng)用。
[0057]因此,提供了將應(yīng)用任務(wù)從性能降低(移動)的計算機系統(tǒng)分布到主計算機系統(tǒng)的方法、系統(tǒng)和計算機程序產(chǎn)品。此外,提供方法、系統(tǒng)和計算機程序產(chǎn)品,其在主計算機系統(tǒng)處處理從性能降低的計算機系統(tǒng)接收的分布式任務(wù),并且建立模擬環(huán)境以用于測試分布式應(yīng)用功能。
[0058]本發(fā)明可具體化為其它具體形式而不背離其精神或本質(zhì)特征。所描述的實施例在所有方面都應(yīng)被認為僅是說明性而非限制性的。因此,本發(fā)明的范圍由所附權(quán)利要求書而非前述描述指示。落入權(quán)利要求書的等效方案的含義和范圍內(nèi)的所有改變應(yīng)被權(quán)利要求書的范圍所涵蓋。
【權(quán)利要求】
1.在包括多個計算系統(tǒng)的計算機聯(lián)網(wǎng)環(huán)境中一種在包括至少一個處理器和存儲器的性能降低的計算機系統(tǒng)處用于將處理任務(wù)從所述性能降低的計算機系統(tǒng)分布到至少一個其他計算機系統(tǒng)的計算機實現(xiàn)的方法,所述方法包括: 監(jiān)視性能降低的計算機系統(tǒng)上的一個或多個計算任務(wù)以為每個任務(wù)確定處理資源使用水平的動作,其中所述計算任務(wù)是在所述性能降低的計算機系統(tǒng)上正在運行的軟件應(yīng)用的一部分; 確定所監(jiān)視的任務(wù)至少之一正在使用超過所指定閾值水平的處理資源的動作; 將所確定的任務(wù)發(fā)送給第二、不同的計算機系統(tǒng)的動作,所述第二、不同的計算機系統(tǒng)被配置為接收、處理并返回所述任務(wù)的結(jié)果到所述性能降低的計算機系統(tǒng);以及 所述性能降低的計算機系統(tǒng)將從所述第二計算機系統(tǒng)接收的經(jīng)處理結(jié)果呈現(xiàn)在所述正在運行的軟件應(yīng)用內(nèi)的動作。
2.如權(quán)利要求1所述的方法,其特征在于,所確定的任務(wù)是將所述任務(wù)劃分成一個或多個部分以用于由所述第二、不同的計算機系統(tǒng)執(zhí)行。
3.如權(quán)利要求2所述的方法,其特征在于,所述任務(wù)部分以無縫方式被轉(zhuǎn)移、處理和返回,使得所述任務(wù)表現(xiàn)為是在所述性能降低的計算機系統(tǒng)上被處理的。
4.如權(quán)利要求1所述的方法,其特征在于,還包括:提供通用應(yīng)用開發(fā)框架,所述通用應(yīng)用開發(fā)框允許開發(fā)者開發(fā)在性能降低的計算機系統(tǒng)上操作的軟件應(yīng)用,并且將軟件應(yīng)用任務(wù)轉(zhuǎn)移到一個或多個其他計算機系統(tǒng)。
5.一種用于實現(xiàn)用于在主計算機系統(tǒng)處處理從性能降低的計算機系統(tǒng)接收的分布式任務(wù)的方法的計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括其上存儲有計算機可執(zhí)行指令的一個或多個計算機可讀存儲介質(zhì),所述指令在由所述計算系統(tǒng)的一個或多個處理器執(zhí)行時使得所述計算系統(tǒng)執(zhí)行所述方`法,所述方法包括: 從性能降低的計算機系統(tǒng)接收要處理的一個或多個軟件應(yīng)用任務(wù)的動作; 建立虛擬執(zhí)行環(huán)境以用于處理所接收的任務(wù)的動作,其中所述虛擬執(zhí)行環(huán)境在同所述主計算機系統(tǒng)的其余部分隔離的隔離邊界中操作; 在所建立的虛擬執(zhí)行環(huán)境中處理所接收的任務(wù)的動作;以及 將經(jīng)處理的任務(wù)的結(jié)果發(fā)送給所述性能降低的計算機系統(tǒng)的動作。
6.如權(quán)利要求5所述的計算機程序產(chǎn)品,其特征在于,還包括: 監(jiān)視所述主計算機系統(tǒng)的處理資源的動作;以及 在確定所述主計算機系統(tǒng)正在使用所述主計算機系統(tǒng)的高于所指定的閾值水平的處理資源以后,動態(tài)地節(jié)流所接收的任務(wù)的處理的動作;
7.如權(quán)利要求6所述的計算機程序產(chǎn)品,其特征在于,還包括將所接收的任務(wù)轉(zhuǎn)移到另一計算機系統(tǒng)以用于在所述另一計算機系統(tǒng)上處理的動作。
8.如權(quán)利要求6所述的計算機程序產(chǎn)品,其特征在于,還包括重啟由于節(jié)流而被暫停的任務(wù)的執(zhí)行的動作。
9.如權(quán)利要求5所述的計算機程序產(chǎn)品,其特征在于,所述虛擬執(zhí)行環(huán)境是所述主計算機系統(tǒng)的其他軟件應(yīng)用不能訪問的安全、受隔離的環(huán)境。
10.如權(quán)利要求5所述的計算機程序產(chǎn)品,其特征在于,所述虛擬執(zhí)行環(huán)境被從所述主計算機系統(tǒng)移除,而不留下其存在的記錄。
11.如權(quán)利要求5所述的計算機程序產(chǎn)品,其特征在于,還包括: 檢測所述主計算機系統(tǒng)正在處理指定類型的任務(wù)的動作; 推遲所接收的任務(wù)的處理的動作;以及 向所述性能降低的計算機系統(tǒng)通知任務(wù)處理已經(jīng)被推遲的動作。
12.如權(quán)利要求5所述的計算機程序產(chǎn)品,其特征在于,還包括: 在所接收的初始任務(wù)正在被處理的同時接收要在所述虛擬執(zhí)行環(huán)境處執(zhí)行的第二任務(wù)的動作; 確定所接收的第二任務(wù)與所接收的初始任務(wù)是相同的軟件程序的一部分的動作;以及 在相同的虛擬執(zhí)行環(huán)境中處理所接收的第二任務(wù)的動作。
13.如權(quán)利要求5所述的計算機程序產(chǎn)品,其特征在于,還包括: 在所接收的初始任務(wù)正在被處理的同時接收要在所述虛擬執(zhí)行環(huán)境處執(zhí)行的第二任務(wù)的動作; 確定所接收的第二任務(wù)與所接收的初始任務(wù)是不同的軟件程序的一部分的動作;以及 建立第二、不同的虛擬執(zhí)行環(huán)境以處理所接收的第二任務(wù)的動作。
14.一種計算機系統(tǒng),包括以下: 一個或多個處理器; 系統(tǒng)存儲器;` 其上存儲有計算機可執(zhí)行指令的一個或多個計算機可讀存儲介質(zhì),所述計算機可執(zhí)行指令在被所述一個或多個處理器執(zhí)行時致使所述計算系統(tǒng)執(zhí)行用于建立用于測試分布式計算框架功能的模擬環(huán)境的方法,所述方法包括以下各項: 建立被配置為允許測試分布式應(yīng)用的模擬環(huán)境的動作; 發(fā)起主計算機系統(tǒng)和性能降低的計算機系統(tǒng)的模擬的動作; 在所建立的模擬環(huán)境中執(zhí)行下列各項的動作: 監(jiān)視所述性能降低的計算機系統(tǒng)上的一個或多個計算任務(wù)以為每個任務(wù)確定處理資源使用水平,其中所述計算任務(wù)是在所述性能降低的計算機系統(tǒng)上正在運行的軟件應(yīng)用的一部分; 確定所監(jiān)視的任務(wù)至少之一正在使用超過所指定的閾值水平的處理資源的動作;將所確定的任務(wù)發(fā)送給第二、不同的計算機系統(tǒng),所述第二、不同的計算機系統(tǒng)在虛擬執(zhí)行環(huán)境中接收并處理所述任務(wù),并且將所述任務(wù)的結(jié)果返回給所述性能降低的計算機系統(tǒng);以及 將從所述主計算機系統(tǒng)接收的經(jīng)處理的結(jié)果呈現(xiàn)在所述正在運行的軟件應(yīng)用內(nèi)。
15.如權(quán)利要求14所述的系統(tǒng),其特征在于,所述模擬環(huán)境允許多個虛擬執(zhí)行環(huán)境被建立并同時運行以處理來自多個不同軟件應(yīng)用的任務(wù)。
【文檔編號】G06F9/44GK103562868SQ201280026747
【公開日】2014年2月5日 申請日期:2012年5月18日 優(yōu)先權(quán)日:2011年5月31日
【發(fā)明者】N·G·甘地, K·范海寧, J·劉, K·A·拉森 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
信宜市| 渭南市| 比如县| 曲水县| 保定市| 昔阳县| 贺州市| 晋州市| 紫阳县| 嘉义县| 泾阳县| 嫩江县| 湟中县| 福安市| 泸西县| 六盘水市| 徐州市| 星座| 赤峰市| 革吉县| 饶河县| 柳河县| 蓬溪县| 青田县| 朝阳区| 武胜县| 甘肃省| 禹州市| 罗平县| 义马市| 齐河县| 姜堰市| 洮南市| 方城县| 光山县| 大理市| 安达市| 通榆县| 扎兰屯市| 黄龙县| 涞源县|