利用動態(tài)動作委托運行軟件應用
【技術領域】
[0001]本公開涉及數(shù)據(jù)處理領域。更具體地說,本公開涉及軟件應用的運行。
【背景技術】
[0002]軟件程序在計算機器上按照常規(guī)運行,以執(zhí)行任何有用任務。典型例子是移動應用(或者簡稱app),移動應用是為了在移動設備(例如,智能電話和平板電腦)上運行而設計的軟件應用。最近幾年,隨著其數(shù)量和式樣的爆炸式增長,該app越來越普及。
[0003]特別是,該app提供范圍廣闊的豐富功能(例如,執(zhí)行位置、環(huán)境、增強現(xiàn)實服務)。這牽涉增加請求移動設備的(硬件和/或者軟件)資源。例如,該app可以牽涉高能消耗;此外,該app可以請求不同的傳感器測量相應物理量(諸如,用于測量大氣壓力的氣壓計)。
[0004]然而,移動設備的能力不可能跟上app的發(fā)展。因此,某些app可能不能在特定移動設備上運行,或者因為其固有限制或者因為其臨時限制。特別是,當移動設備缺少app要求的資源時(例如,因為其具有低靈敏度的傳感器或者其是老型號),移動設備可能固有地不能運行某些app ;典型例子是當app要求移動設備上不存在的傳感器時。此外,當app要求的資源瞬間不可用時,移動設備可能臨時不能運行某些app ;典型例子是當app要求高能耗抱歉電池電量低時。
[0005]因此,對于移動設備的固有限制,這要求利用更新并且更強大的型號更新其,同時具有相應成本;然而,移動設備的升級可能不容易(例如,因為預算制約)或者不適當(例如,當對要求資源的需要僅是偶爾時)。相反,對于臨時限制,這就要求等待,直到要求的資源回歸可用(例如,電池充電);然而,在許多實際情況下(例如,當馬上需要一個信息時),相應延遲不可容忍。
[0006]作為一種選擇,US-A-2012/0265884(在此通過引用合并其全部公開內容)建議了一種用于確定對移動設備和一個或者多個云提供商/在移動設備和一個或者多個云提供商之間分配執(zhí)行代碼成本的技術??梢愿鶕?jù)屬于移動設備和云提供商的執(zhí)行分配數(shù)據(jù),評定(或者確定)執(zhí)行分配成本;例如,移動設備的功率消耗可以用作確定如何分配應用程序的weblet的因素。
[0007]特別 是,“Towards an elastic applicat1n model for augmenting thecomputing capabilities of mobile devices with cloud computing,XinwenZhang,Anugeetha Kunjithapatham,Sangoh Jeong,Simon Gibbs, Journal MobileNetworks and Applicat1ns archive Volume 16 Issue 3,June 2011 Pages270-284”(在此通過引用合并其全部公開內容)描述了一種彈性應用模型,該彈性應用模型使得能夠利用云資源增強資源有限的移動設備的能力。該模型包含將單個用于分割為多個稱為weblet的組件(其執(zhí)行位置是透明的)和weblet執(zhí)行配置的動態(tài)適應。
[0008]此外,“Clonecloud: elastic execut1n between mobile device andcloud, Yung-Gon Chun, Sunghwan Ihm,Petros Maniatis,Mayur Naik,AshwinPatti, EuroSys' 11 Proceedings of the sixth conference on Computer systems, Pages301-314”(在此通過引用合并其全部公開內容)建議了一種動態(tài)分析與動態(tài)剖面的組合,以在針對目標計算和通信環(huán)境優(yōu)化執(zhí)行時間和能量使用時,以細粒度自動分割應用。在運行時,通過使線程從處于選擇點的移動設備迀移到云端中的仿制機、在此執(zhí)行分割的剩余部分、以及將迀移線程重新集成到移動設備,進行應用分割。
[0009]然而,這樣要求實質改變編程模型和/或者app運行的環(huán)境。
【發(fā)明內容】
[0010]在此提供本公開的簡化
【發(fā)明內容】
,以有助于對本公開的基本理解;然而,
【發(fā)明內容】
的唯一目的是作為下面的更詳細描述的前序,以簡化方式引入本公開的一些概念,并且不能將其理解為其關鍵要素的鑒別,也不能理解為是對其范圍的闡述。
[0011 ] 在一般術語中,本公開基于動態(tài)地委托執(zhí)行動作的想法。
[0012]特別是,獨立權利要求闡述了本公開的一個或者多個方面,并且從屬權利要求闡述了其有利特征,在此通過引用逐字合并所有權利要求的措辭(參考,對每個其他方面已做必要變更的特定方面提供任何有利特征)。
[0013]更具體地說,一個方面提供了一種在計算機器上運行軟件應用的方法,其中根據(jù)所述至少一個本地組件的可用性,響應在運行時綁定到委托組件的相應請求,委托組件將執(zhí)行動作委托到至少一個本地組件和/或者至少一個遠程組件(能夠執(zhí)行該動作的至少一部分)。
[0014]另外方面提供了一種相應計算機程序(和相應計算機程序產(chǎn)品)。
[0015]另外方面提供了一種相應系統(tǒng)。
【附圖說明】
[0016]參考下面的詳細描述最好理解本公開的解決方案以及本公開的其他特征和優(yōu)點,僅作為非限制性說明給出下面的詳細描述,結合附圖閱讀下面的詳細描述(其中為了簡潔起見,利用相同或者類似的參考符號表示相應元件,并且不重復其解釋,并且每個實體的名稱既用于指出其類型又用于指出其屬性一諸如數(shù)值、內容和代表性)。特別是:
[0017]圖1示出計算機器的方框圖,其中可以應用根據(jù)本公開實施例的解決方案,
[0018]圖2示出根據(jù)本公開實施例的解決方案的示例性應用的圖解說明,
[0019]圖3示出表示可以用于實現(xiàn)本公開實施例的示例性應用場景的主軟件單元的角色的合作圖,以及
[0020]圖4示出表示可以用于實現(xiàn)本公開實施例的另一個示例性應用場景的主軟件單元的角色的合作圖。
【具體實施方式】
[0021]特別是參考圖1,方框圖示出計算機器100,其中可以應用根據(jù)本公開實施例的解決方案。
[0022]特別是,計算機器100是移動設備,例如,智能電話或者平板電腦。移動設備100包括幾個并聯(lián)到母線結構105的單元。詳細地說,微處理器(μΡ)110或許更多地控制移動設備100的操作;RAM 115用作微處理器110的工作存儲器,并且ROM 120存儲用于移動設備100的自舉的基本代碼。移動設備100還設置有大容量存儲器125,該大容量存儲器125包括內部閃速存儲器和可能的外部閃速存儲卡(諸如,SD類型的)。此外,例如,移動設備100具有輸入/輸出(I/O)單元130、移動電話收發(fā)信機(TX/RX)、WiFi類型的無線網(wǎng)接口卡(WNIC)、觸摸屏、命令按鈕、揚聲器和麥克風。
[0023]現(xiàn)在參考圖2,示出根據(jù)本公開實施例的解決方案的示例性應用的圖解說明。
[0024]通用移動設備運行一個或者多個(移動)app。每個app都要求執(zhí)行一個或者多個動作(例如,利用相應傳感器測量物理量)。利用其一個或者多個特征(例如,名稱)定義每個動作,從而之后動態(tài)地將動作綁定到運行時執(zhí)行的實際組件。這樣,app可以使用其他app的功能,而無需準確知道哪個其他程序提供其(分解為僅當需要時最適合執(zhí)行其的組件的動作)。
[0025]在根據(jù)本公開實施例的解決方案中,移動設備還包括委托組件,該委托組件將自己注冊為能夠執(zhí)行一組一個或者多個包括app的上述動作的動作(由相應特征定義)。
[0026]因此,當app需要執(zhí)行動作時,委托組件收到相應請求(根據(jù)注冊,在運行時,綁定到其)。
[0027]委托組件將動作的執(zhí)行委托到或許更多地是移動設備的本地組件(能夠執(zhí)行動作,或者至少部分動作)并且/或者委托到或許更多地位于例如另一個移動設備上或者云環(huán)境上的或許更多地是遠程計算機器的遠程組件(能夠執(zhí)行動作,或者至少部分動作)。關于如何委托執(zhí)行動作的判定基于本地組件的可用性。例如,當移動設備具有相應傳感器時,在本地執(zhí)行動作;相反,則完全在另一個移動設備上或者部分地在另一個移動設備上(共享相應傳感器的)和云環(huán)境上(利用共享傳感器測量的值)在遠程執(zhí)行動作。
[0028]這樣,甚至當移動設備(或者更一般地說任何計算機器)不能支持app時(或者因為其固有限制,或者因為其臨時限制),app (或者更一般地說任何軟件應用)仍可以運行;特別是,當軟件應用要求的資源或者在計算機器上沒有(例如,因為其具有靈敏度低的傳感器或者其是老型號)或者瞬間不可用(例如,因為其電池電量低)時,這是能夠做到的。
[0029]因此,對于計算機器的固有限制,可以避免更新其(利用更新并且更強大的型號),同時節(jié)省相應成本;甚至當其更新不容易或者不適合時,軟件應用仍可以運行(于可用計算機器上)。相反,對于計算機器的瞬間限制,當實際需要時,軟件應用可