專利名稱::一種基于帶寬自適應(yīng)代碼遷移的移動(dòng)設(shè)備節(jié)能方法
技術(shù)領(lǐng)域:
:本發(fā)明屬于移動(dòng)計(jì)算領(lǐng)域,具體涉及一種基于帶寬自適應(yīng)代碼遷移的移動(dòng)設(shè)備節(jié)能方法。
背景技術(shù):
:移動(dòng)設(shè)備因其輕巧便攜、使用方便等優(yōu)點(diǎn),逐漸成為用戶量最大的計(jì)算平臺。隨著移動(dòng)用戶的需求不斷增長,移動(dòng)設(shè)備的性能不斷提升,電池容量已經(jīng)成為移動(dòng)設(shè)備進(jìn)一步發(fā)展的瓶頸問題。近年來,基于程序分割的代碼遷移技術(shù)逐漸應(yīng)用于移動(dòng)計(jì)算領(lǐng)域,成為緩解移動(dòng)設(shè)備資源有限問題的一種有效方法。根據(jù)程序分割方案將應(yīng)用程序的一部分代碼遷移到服務(wù)器端運(yùn)行,可以縮短應(yīng)用程序的運(yùn)行時(shí)間,降低移動(dòng)設(shè)備的能量消耗。面向?qū)ο髴?yīng)用程序的復(fù)雜性和多樣性為實(shí)現(xiàn)程序分割帶來了挑戰(zhàn)。國內(nèi)外學(xué)者在這一領(lǐng)域進(jìn)行了較為廣泛的研究并提出了相應(yīng)的方案。Eduardo等人提出的ΜΑΠ系統(tǒng)是基于微軟通用語言運(yùn)行庫CLR的代碼遷移系統(tǒng),需要程序員事先對程序源代碼中可在遠(yuǎn)端服務(wù)器執(zhí)行的對象添加“Remotable”標(biāo)識;Roelof等人提出的Cuckoo系統(tǒng)通過擴(kuò)展Android編譯系統(tǒng),為程序員提供了一種便捷的編程模型,可以輔助程序員完成一部分工作(例如遠(yuǎn)程方法調(diào)用的實(shí)現(xiàn)),但仍需程序員手動(dòng)實(shí)現(xiàn);Shumao等人則是借助中間件實(shí)現(xiàn)移動(dòng)設(shè)備上的程序分割和遷移。這些方案依賴于程序員或中間件工具,限制了其應(yīng)用領(lǐng)域。于是Sinha等研究者進(jìn)一步提出了自動(dòng)程序分割方案,這種方法無需借助額外工具,不依賴于程序員,可以透明地實(shí)現(xiàn)程序自動(dòng)分割,適用于移動(dòng)平臺。近年來,面向?qū)ο蟪绦虻淖詣?dòng)分割方案大都通過對程序進(jìn)行純靜態(tài)分析或純動(dòng)態(tài)分析構(gòu)造程序?qū)ο箨P(guān)系圖,并基于對象關(guān)系圖(ObjectRelationGraph,0RG)實(shí)現(xiàn)程序分割。Spiegel等人和Dahm提出的Doorastha系統(tǒng)均采用純靜態(tài)程序分析方法構(gòu)造對象關(guān)系圖,不能夠準(zhǔn)確反映程序的運(yùn)行態(tài)信息,因而無法獲取最優(yōu)的程序分割結(jié)果。而Messer等人和Bialek等人則采用純動(dòng)態(tài)程序分析方法構(gòu)造對象關(guān)系圖,相比純靜態(tài)分析,純動(dòng)態(tài)程序分析能夠獲取更為精確的程序運(yùn)行時(shí)信息,但得到的對象關(guān)系圖龐大復(fù)雜,導(dǎo)致程序分割開銷過大,不適用于資源有限的移動(dòng)平臺。WangLei等人通過構(gòu)造兩層對象關(guān)系圖,提出了適用于不同目標(biāo)模型的程序分割方案和基于Java的分布式系統(tǒng)框架,但并未對程序分割方法進(jìn)行具體研究,沒有考慮移動(dòng)環(huán)境中帶寬的變化。程序分割的關(guān)鍵是如何選擇程序的最優(yōu)分割方案,盡可能實(shí)現(xiàn)移動(dòng)設(shè)備能耗最小和數(shù)據(jù)傳輸開銷最小。由于數(shù)據(jù)傳輸開銷與網(wǎng)絡(luò)帶寬直接相關(guān),不同的帶寬會對應(yīng)不同的最優(yōu)分割方案。以往的程序分割通常假設(shè)帶寬固定不變,如Diaconescu等人即根據(jù)靜態(tài)帶寬計(jì)算網(wǎng)絡(luò)傳輸開銷以決策程序分割,并未考慮網(wǎng)絡(luò)環(huán)境因素(如帶寬)的變化。由于移動(dòng)網(wǎng)絡(luò)環(huán)境中帶寬變化頻繁,傳統(tǒng)的靜態(tài)程序分割技術(shù)通常會保守地根據(jù)較低帶寬決策分割方案。然而這種分割方案在帶寬較高情況下無法充分利用帶寬資源,造成網(wǎng)絡(luò)資源浪費(fèi)。Byung-Gon等人通過分析移動(dòng)設(shè)備和網(wǎng)絡(luò)環(huán)境的異構(gòu)和動(dòng)態(tài)變化特性,提出了動(dòng)態(tài)程序分害IJ,但頻繁的程序分割任務(wù)勢必為移動(dòng)設(shè)備帶來較大的額外開銷負(fù)擔(dān)。
發(fā)明內(nèi)容針對移動(dòng)設(shè)備能量資源有限問題,為了有效節(jié)省移動(dòng)設(shè)備的能量消耗,并克服靜態(tài)程序分割不適用于帶寬變化的移動(dòng)環(huán)境和動(dòng)態(tài)程序分割額外開銷較大的問題,本發(fā)明提出一種基于帶寬自適應(yīng)代碼遷移的移動(dòng)設(shè)備節(jié)能方法。本發(fā)明的一種基于帶寬自適應(yīng)代碼遷移的移動(dòng)設(shè)備節(jié)能方法,具體過程如下步驟1,構(gòu)造加權(quán)對象關(guān)系圖,具體是首先,對應(yīng)用程序進(jìn)行靜態(tài)程序分析,根據(jù)應(yīng)用程序的方法調(diào)用關(guān)系,獲取應(yīng)用程序中的對象和對象間的調(diào)用關(guān)系,構(gòu)造應(yīng)用程序初始的對象關(guān)系圖(InitialObjectRelationGraph,IORG),對象關(guān)系圖的節(jié)點(diǎn)和邊分別對應(yīng)應(yīng)用程序?qū)ο蠛蛯ο箝g的調(diào)用關(guān)系;然后,通過動(dòng)態(tài)程序分析獲得對象關(guān)系圖中各節(jié)點(diǎn)對象的運(yùn)行時(shí)間以及對象間的調(diào)用關(guān)系(每條邊)的通信數(shù)據(jù)量,得到加權(quán)對象關(guān)系圖。步驟2,基于以上加權(quán)對象關(guān)系圖,將帶寬作為一個(gè)變量,建立基于運(yùn)行時(shí)間和耗電量的程序分割優(yōu)化模型。令Xi標(biāo)識節(jié)點(diǎn)i的運(yùn)行位置,Xi=I和Xi=O分別表示節(jié)點(diǎn)i在移動(dòng)設(shè)備和服務(wù)器端運(yùn)行,則程序分割方案可表示為X=Ix1,X2,…,χη},η為節(jié)點(diǎn)個(gè)數(shù),令b表示當(dāng)前帶寬。程序分割優(yōu)化模型的目標(biāo)在于求得最優(yōu)分割方案X,滿足,Xp為模型求解空間,W(x,b)表示當(dāng)前帶寬為b時(shí)程序分割方案X的優(yōu)化模型,具體定義如下W(X,b)=WtXT(X,b)/TLocal+weXE(X,b)/ELocal其中,TLocal和Ekxal分別表示程序全部運(yùn)行在移動(dòng)設(shè)備時(shí)的運(yùn)行時(shí)間和耗電量;wt和We分別表示運(yùn)行時(shí)間和耗電量的權(quán)重,且滿足wt+we=I;T(X,b)和E(X,b)分別表示當(dāng)前帶寬為b時(shí)采用程序分割方案X的程序運(yùn)行時(shí)間和耗電量;模型求解空間Xp表示為Xp={ζ^(Γ,6()<^(Α^Λ)χ(1+)}其中,帶寬閾值Id1為滿足條件P(b^bx)^P。的最大帶寬值,P。為所設(shè)定的概率閾值了為帶寬I3l下最優(yōu)分割方案對應(yīng)的模型值;a>O為經(jīng)驗(yàn)常數(shù),用以設(shè)定W(X,bx)的上限值為『(%為)x(l+)。步驟3,進(jìn)行帶寬自適應(yīng)程序分割,在節(jié)點(diǎn)個(gè)數(shù)η不超過200時(shí),采用基于深度優(yōu)先搜索策略的分支定界程序分割方法尋找最優(yōu)分割方案,在節(jié)點(diǎn)個(gè)數(shù)η大于200時(shí),采用基于最小割的貪心方法(MCGAP)來尋找最優(yōu)分割方案。所述的分支定界程序分割方法基于分支定界深度優(yōu)先搜索法,深度搜索的約束條件包括I)程序分割方案在當(dāng)前帶寬b下對應(yīng)的優(yōu)化模型值小于當(dāng)前保存的優(yōu)化模型的最小值;2)程序分割方案在帶寬閾值Id1下的模型目標(biāo)值不高于所設(shè)定模型上限值咖;';)χ(1+Ι)0所述的基于最小割的貪心方法,利用Stoer-Wagner最小割算法求得帶寬為b和bx時(shí)對應(yīng)的運(yùn)行在移動(dòng)設(shè)備的節(jié)點(diǎn)集合Cb和運(yùn)行在服務(wù)器端的節(jié)點(diǎn)集合^,令待分割節(jié)點(diǎn)W-Cb-Sbi,對V’中節(jié)點(diǎn)進(jìn)行分割,采用Stoer-Wagner最小割算法中的最大鄰接值排序算法對節(jié)點(diǎn)進(jìn)行排序,然后基于貪心策略,同時(shí)根據(jù)與分支定界程序分割方法中相同的深度搜索的約束條件選取最優(yōu)分割方案。步驟4,根據(jù)步驟3求得的最優(yōu)分割方案,實(shí)現(xiàn)程序在移動(dòng)設(shè)備和服務(wù)器間的代碼遷移和分布式執(zhí)行,有效降低應(yīng)用程序的執(zhí)行時(shí)間和移動(dòng)設(shè)備的耗電量,延長移動(dòng)設(shè)備的電池使用壽命。本發(fā)明的優(yōu)點(diǎn)與積極效果在于(I)采用靜態(tài)與動(dòng)態(tài)程序分析相結(jié)合的方法構(gòu)造程序的加權(quán)對象關(guān)系圖,所構(gòu)建的對象關(guān)系圖復(fù)雜度低,并能夠準(zhǔn)確地反映程序結(jié)構(gòu),有利于程序分割,適用于資源有限的移動(dòng)平臺;(2)將移動(dòng)環(huán)境中帶寬作為一個(gè)變量,建立基于運(yùn)行時(shí)間和耗電量的程序分割優(yōu)化模型,適用于帶寬變化的移動(dòng)環(huán)境;(3)基于加權(quán)對象關(guān)系圖和程序分割優(yōu)化模型,提出了兩種帶寬自適應(yīng)的程序分割方法分支定界程序分割法和基于最小割的貪心方法,前者能夠求出小規(guī)模程序分割的最優(yōu)解,后者可快速求得大規(guī)模程序分割的近似最優(yōu)解;兩種方法能夠適應(yīng)帶寬變化,有效縮短程序運(yùn)行時(shí)間,降低移動(dòng)設(shè)備的能量消耗。圖I為本發(fā)明的帶寬自適應(yīng)程序分割流程圖;圖2為本發(fā)明的示例程序圖;圖3為本發(fā)明的示例程序初始對象關(guān)系圖;圖4為本發(fā)明的示例程序加權(quán)對象關(guān)系圖;圖5為本發(fā)明的BBAP方法偽代碼示意圖;圖6為本發(fā)明的MCGAP方法偽代碼示意圖;圖7為采用三種方法構(gòu)造加權(quán)對象關(guān)系圖的大小比較示意圖;圖8為本發(fā)明實(shí)施例中程序?qū)嶋H運(yùn)行時(shí)間與三種方法的預(yù)測運(yùn)行時(shí)間的對比示意圖;圖9為本發(fā)明的仿真實(shí)驗(yàn)參數(shù)示意圖;圖10為本發(fā)明的仿真實(shí)驗(yàn)加權(quán)對象關(guān)系圖信息;圖11為本發(fā)明的BBAP方法對目標(biāo)模型三種特殊情況的求解分割時(shí)間對比圖;圖12為本發(fā)明的BBAP方法的分割結(jié)果在不同帶寬下對應(yīng)的運(yùn)行時(shí)間對比示意圖;圖13為本發(fā)明的BBAP方法的分割結(jié)果在不同帶寬下對應(yīng)的耗電量對比示意圖;圖14為本發(fā)明的BBAP方法的分割結(jié)果在不同帶寬下對應(yīng)的加權(quán)模型值對比示意圖;圖15為本發(fā)明的MCGAP方法對目標(biāo)模型三種特殊情況的求解分割時(shí)間對比圖;圖16為本發(fā)明的BBAP與MGCAP運(yùn)行時(shí)間最優(yōu)模型求解結(jié)果對比圖;圖17為本發(fā)明的MCGAP方法的分割結(jié)果在不同帶寬下對應(yīng)的運(yùn)行時(shí)間對比示意圖;圖18為本發(fā)明的MCGAP方法的分割結(jié)果在不同帶寬下對應(yīng)的耗電量對比示意圖;圖19為本發(fā)明的MCGAP方法的分割結(jié)果在不同帶寬下對應(yīng)的加權(quán)模型值對比示意圖20為本發(fā)明的BBAP與MGCAP的平均性能對比圖。具體實(shí)施例方式下面將結(jié)合附圖和實(shí)例對本發(fā)明作進(jìn)一步的詳細(xì)說明。本發(fā)明提出的一種基于帶寬自適應(yīng)代碼遷移的移動(dòng)設(shè)備節(jié)能方法,首先,采用靜態(tài)與動(dòng)態(tài)分析相結(jié)合的方法分析移動(dòng)應(yīng)用程序,并構(gòu)造其對應(yīng)的加權(quán)對象關(guān)系圖;其次,將移動(dòng)環(huán)境中變化的帶寬作為一個(gè)變量,建立基于運(yùn)行時(shí)間和耗電量的程序分割優(yōu)化模型;然后,基于對象關(guān)系圖和程序分割模型實(shí)現(xiàn)帶寬自適應(yīng)的程序分割方法;最后,根據(jù)分割結(jié)果實(shí)現(xiàn)程序在移動(dòng)設(shè)備和服務(wù)器間的代碼遷移和分布式執(zhí)行,從而降低應(yīng)用程序的執(zhí)行時(shí)間和移動(dòng)設(shè)備的耗電量,延長移動(dòng)設(shè)備電池的使用壽命,而且應(yīng)用程序的運(yùn)行時(shí)間和耗電量隨帶寬變化波動(dòng)較小,對帶寬變化具有一定的適應(yīng)性。如圖I所示,本發(fā)明的移動(dòng)設(shè)備節(jié)能方法,具體過程如下步驟I,構(gòu)造加權(quán)對象關(guān)系圖。本發(fā)明實(shí)施例以一個(gè)Java程序?yàn)槔齺黻U述加權(quán)對象關(guān)系圖的構(gòu)造過程,示例程序如圖2所不,程序包含四個(gè)類FacePreview、ImageCapture>FaceDetection和FaceDetectionLib,其中FacePreview類的main方法中創(chuàng)建了一個(gè)ImageCapture對象和兩個(gè)FaceDetection對象,而兩個(gè)FaceDetection對象均在執(zhí)行自身DetectFace方法時(shí)調(diào)用了FaceDetectionLib類的ProcessBlock方法。首先,進(jìn)行靜態(tài)程序分析,利用指向分析(Points-to)技術(shù)分析Java程序的字節(jié)碼文件,得到其方法調(diào)用關(guān)系圖,并通過遍歷調(diào)用關(guān)系圖獲取程序的所有對象及對象間的調(diào)用關(guān)系,從而構(gòu)造出程序的初始對象關(guān)系圖(I0RG),其節(jié)點(diǎn)和邊分別對應(yīng)應(yīng)用程序的對象和對象間的調(diào)用關(guān)系。圖3表示為示例程序?qū)?yīng)的初始對象關(guān)系圖,S_FacePreview創(chuàng)建對象D_ImageCapture、D_FaceDetectionl和D_FaceDetection2,對象D_FaceDetectionl和D_FaceDetection2都調(diào)用S_FaceDetectionLib的方法,其中S和D前綴分別表示靜態(tài)對象和動(dòng)態(tài)對象。由于節(jié)點(diǎn)間的交互主要以方法調(diào)用的方式體現(xiàn),其通信數(shù)據(jù)主要表現(xiàn)為方法調(diào)用的參數(shù)及返回值,在動(dòng)態(tài)程序分析階段,利用Java字節(jié)碼重寫技術(shù),可以獲得程序IORG中每個(gè)節(jié)點(diǎn)對象的CPU運(yùn)行時(shí)間以及每條邊(對象間的調(diào)用關(guān)系)的通信數(shù)據(jù)量,即加權(quán)對象關(guān)系圖中各節(jié)點(diǎn)與邊的權(quán)值。圖4表示為示例程序?qū)?yīng)的加權(quán)對象關(guān)系圖,例如節(jié)點(diǎn)S-FacePreview所代表的對象的CPU運(yùn)行時(shí)間為50ms,節(jié)點(diǎn)S_FacePreview與節(jié)點(diǎn)D_ImageCaptur之間的通信數(shù)據(jù)量為9066bytes。步驟2,建立程序分割優(yōu)化模型。考慮到移動(dòng)環(huán)境中帶寬的變化,本發(fā)明將帶寬作為一個(gè)變量,提出基于運(yùn)行時(shí)間和耗電量的程序分割優(yōu)化模型,令Xi標(biāo)識節(jié)點(diǎn)i的運(yùn)行位置,Xi=I和Xi=O分別表示節(jié)點(diǎn)i在移動(dòng)設(shè)備和服務(wù)器端運(yùn)行,則程序分割方案可表示為X=Ix1,X2,…,xj,b表示當(dāng)前帶寬,J表示最優(yōu)程序分割方案。程序分割優(yōu)化模型的目標(biāo)在于求得最優(yōu)分割方案I,滿足i=argSS『u'6),XP表示模型求解空間,W(X,b)表示當(dāng)前帶寬為b時(shí)分割方案X的優(yōu)化模型,具體定義如下W(X,b)=WtXT(X,b)/TLocal+weXE(X,b)/ELocal其中,TLocal和Ekxal分別表示程序全部運(yùn)行在移動(dòng)設(shè)備時(shí)的運(yùn)行時(shí)間和耗電量;wt和We分別表示運(yùn)行時(shí)間和耗電量的權(quán)重,且滿足wt+we=I;Τ(X,b)和E(X,b)分別表示當(dāng)前帶寬為b時(shí)采用程序分割方案X的程序運(yùn)行時(shí)間和耗電量;模型求解空間Xp表示為權(quán)利要求1.一種基于帶寬自適應(yīng)代碼遷移的移動(dòng)設(shè)備節(jié)能方法,在移動(dòng)環(huán)境帶寬不斷變化的情況下,其特征在于,該移動(dòng)設(shè)備節(jié)能方法通過下面步驟實(shí)現(xiàn)步驟I:構(gòu)造加權(quán)對象關(guān)系圖,具體是首先,進(jìn)行靜態(tài)程序分析,根據(jù)程序的方法調(diào)用關(guān)系,構(gòu)造程序初始的對象關(guān)系圖,對象關(guān)系圖中的各節(jié)點(diǎn)和邊分別對應(yīng)程序中的對象和對象間的調(diào)用關(guān)系;然后,通過動(dòng)態(tài)程序分析獲得對象關(guān)系圖中各節(jié)點(diǎn)對象的運(yùn)行時(shí)間以及每條邊的通信數(shù)據(jù)量,得到加權(quán)對象關(guān)系圖;步驟2:基于加權(quán)對象關(guān)系圖,將帶寬作為一個(gè)變量,建立基于運(yùn)行時(shí)間和耗電量的程序分割優(yōu)化模型,具體是令Xi標(biāo)識節(jié)點(diǎn)i的運(yùn)行位置,Xi=I和Xi=O分別表示節(jié)點(diǎn)i在移動(dòng)設(shè)備和服務(wù)器端運(yùn)行,程序分割方案表示為X=Ix1,X2,…,χη},η為加權(quán)對象關(guān)系圖中的節(jié)點(diǎn)個(gè)數(shù),則程序分割優(yōu)化模型的目標(biāo)在于求得最優(yōu)分割方案J^^=argminr(X,6),Xp為模型求解空間,b表示當(dāng)前帶寬,ff(X,b)表示當(dāng)前帶寬為b時(shí)程序分割方案X的優(yōu)化模型,具體定義如下W(X,b)=WtXT(X,b)/TLocal+weXE(X,b)/Eloc31其中,TLocal和Ekjcal分別表示程序全部運(yùn)行在移動(dòng)設(shè)備的運(yùn)行時(shí)間和耗電量;wt和We分別表示運(yùn)行時(shí)間和耗電量的權(quán)重,且滿足wt+we=I;T(X,b)和E(X,b)分別表示當(dāng)前帶寬為b時(shí)采用程序分割方案X的程序運(yùn)行時(shí)間和耗電量;所述的模型求解空間Xp定義為={xIW{X,b,)<w{x^,b,y(\+a)^,其中,帶寬閾值Id1為滿足概率P(b彡bx)彡P(guān)。的最大帶寬值,P。為所設(shè)定的概率閾值為帶寬h下最優(yōu)程序分割方案對應(yīng)的優(yōu)化模型值;經(jīng)驗(yàn)常數(shù)a>O;步驟3:進(jìn)行帶寬自適應(yīng)程序分割,在節(jié)點(diǎn)個(gè)數(shù)η不超過200時(shí),采用分支定界程序分割方法尋找最優(yōu)分割方案,在節(jié)點(diǎn)個(gè)數(shù)η大于200時(shí),采用基于最小割的貪心方法來尋找最優(yōu)分割方案;所述的分支定界程序分割方法基于分支定界深度優(yōu)先搜索法,深度搜索的約束條件包括O程序分割方案在當(dāng)前帶寬b下對應(yīng)的優(yōu)化模型值小于當(dāng)前保存的優(yōu)化模型的最小值;2)程序分割方案在帶寬閾值Id1下的模型目標(biāo)值不高于所設(shè)定模型上限值π(χζ,)χ(\+α);所述的基于最小割的貪心方法,利用Stoer-Wagner最小割算法求得帶寬為b和Id1時(shí)對應(yīng)的運(yùn)行在移動(dòng)設(shè)備的節(jié)點(diǎn)集合Cb和運(yùn)行在服務(wù)器端的節(jié)點(diǎn)集合&,令待分割節(jié)點(diǎn)V,二V-Cb-Sbt,對V’中節(jié)點(diǎn)進(jìn)行分割,采用Stoer-Wagner最小割算法中的最大鄰接值排序算法對節(jié)點(diǎn)進(jìn)行排序,然后基于貪心策略,同時(shí)根據(jù)與分支定界程序分割方法中相同的深度搜索的約束條件選取最優(yōu)分割方案;步驟4:根據(jù)得到的最優(yōu)分割方案,實(shí)現(xiàn)程序在移動(dòng)設(shè)備和服務(wù)器間的代碼遷移和分布式執(zhí)行。2.根據(jù)權(quán)利要求I所述的一種基于帶寬自適應(yīng)代碼遷移的移動(dòng)設(shè)備節(jié)能方法,其特征在于,所述的概率閾值P。設(shè)定為O.85。3.根據(jù)權(quán)利要求I所述的一種基于帶寬自適應(yīng)代碼遷移的移動(dòng)設(shè)備節(jié)能方法,其特征在于,所述的經(jīng)驗(yàn)常數(shù)a設(shè)定為O.4。4.根據(jù)權(quán)利要求I所述的一種基于帶寬自適應(yīng)代碼遷移的移動(dòng)設(shè)備節(jié)能方法,其特征在于,步驟2中所述的帶寬為b時(shí)采用程序分割方案X的程序運(yùn)行時(shí)間T(X,b)為5.根據(jù)權(quán)利要求I所述的一種基于帶寬自適應(yīng)代碼遷移的移動(dòng)設(shè)備節(jié)能方法,其特征在于,步驟2中所述的帶寬為b時(shí)采用程序分割方案X的程序耗電量E(X,b)為全文摘要本發(fā)明提出一種基于帶寬自適應(yīng)代碼遷移的移動(dòng)設(shè)備節(jié)能方法,通過對移動(dòng)應(yīng)用程序進(jìn)行靜態(tài)和動(dòng)態(tài)分析,構(gòu)造出一種加權(quán)對象關(guān)系圖,從而將程序分割問題轉(zhuǎn)化為對象關(guān)系圖分割問題;將移動(dòng)環(huán)境中變化的帶寬看作一個(gè)變量,提出基于運(yùn)行時(shí)間和能量最優(yōu)的目標(biāo)模型;針對程序分割優(yōu)化模型提出帶寬自適應(yīng)的分支定界程序分割法(BBAP)和基于最小割的貪心程序分割法(MCGAP);最后基于所得到的分割方案實(shí)現(xiàn)移動(dòng)應(yīng)用程序在移動(dòng)設(shè)備和服務(wù)器間的代碼遷移和分布式執(zhí)行。本發(fā)明方法能夠有效縮短移動(dòng)應(yīng)用程序的運(yùn)行時(shí)間,降低移動(dòng)設(shè)備的電能消耗,并對帶寬變化具有良好的適應(yīng)性。文檔編號G06F9/44GK102968173SQ20121042184公開日2013年3月13日申請日期2012年10月30日優(yōu)先權(quán)日2012年9月28日發(fā)明者牛建偉,宋文芳申請人:北京航空航天大學(xué)