利用动态动作委托运行软件应用

文档序号:9672522阅读:264来源:国知局
利用动态动作委托运行软件应用
【技术领域】
[0001]本公开涉及数据处理领域。更具体地说,本公开涉及软件应用的运行。
【背景技术】
[0002]软件程序在计算机器上按照常规运行,以执行任何有用任务。典型例子是移动应用(或者简称app),移动应用是为了在移动设备(例如,智能电话和平板电脑)上运行而设计的软件应用。最近几年,随着其数量和式样的爆炸式增长,该app越来越普及。
[0003]特别是,该app提供范围广阔的丰富功能(例如,执行位置、环境、增强现实服务)。这牵涉增加请求移动设备的(硬件和/或者软件)资源。例如,该app可以牵涉高能消耗;此外,该app可以请求不同的传感器测量相应物理量(诸如,用于测量大气压力的气压计)。
[0004]然而,移动设备的能力不可能跟上app的发展。因此,某些app可能不能在特定移动设备上运行,或者因为其固有限制或者因为其临时限制。特别是,当移动设备缺少app要求的资源时(例如,因为其具有低灵敏度的传感器或者其是老型号),移动设备可能固有地不能运行某些app ;典型例子是当app要求移动设备上不存在的传感器时。此外,当app要求的资源瞬间不可用时,移动设备可能临时不能运行某些app ;典型例子是当app要求高能耗抱歉电池电量低时。
[0005]因此,对于移动设备的固有限制,这要求利用更新并且更强大的型号更新其,同时具有相应成本;然而,移动设备的升级可能不容易(例如,因为预算制约)或者不适当(例如,当对要求资源的需要仅是偶尔时)。相反,对于临时限制,这就要求等待,直到要求的资源回归可用(例如,电池充电);然而,在许多实际情况下(例如,当马上需要一个信息时),相应延迟不可容忍。
[0006]作为一种选择,US-A-2012/0265884(在此通过引用合并其全部公开内容)建议了一种用于确定对移动设备和一个或者多个云提供商/在移动设备和一个或者多个云提供商之间分配执行代码成本的技术。可以根据属于移动设备和云提供商的执行分配数据,评定(或者确定)执行分配成本;例如,移动设备的功率消耗可以用作确定如何分配应用程序的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的组件(其执行位置是透明的)和weblet执行配置的动态适应。
[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”(在此通过引用合并其全部公开内容)建议了一种动态分析与动态剖面的组合,以在针对目标计算和通信环境优化执行时间和能量使用时,以细粒度自动分割应用。在运行时,通过使线程从处于选择点的移动设备迀移到云端中的仿制机、在此执行分割的剩余部分、以及将迀移线程重新集成到移动设备,进行应用分割。
[0009]然而,这样要求实质改变编程模型和/或者app运行的环境。

【发明内容】

[0010]在此提供本公开的简化
【发明内容】
,以有助于对本公开的基本理解;然而,
【发明内容】
的唯一目的是作为下面的更详细描述的前序,以简化方式引入本公开的一些概念,并且不能将其理解为其关键要素的鉴别,也不能理解为是对其范围的阐述。
[0011 ] 在一般术语中,本公开基于动态地委托执行动作的想法。
[0012]特别是,独立权利要求阐述了本公开的一个或者多个方面,并且从属权利要求阐述了其有利特征,在此通过引用逐字合并所有权利要求的措辞(参考,对每个其他方面已做必要变更的特定方面提供任何有利特征)。
[0013]更具体地说,一个方面提供了一种在计算机器上运行软件应用的方法,其中根据所述至少一个本地组件的可用性,响应在运行时绑定到委托组件的相应请求,委托组件将执行动作委托到至少一个本地组件和/或者至少一个远程组件(能够执行该动作的至少一部分)。
[0014]另外方面提供了一种相应计算机程序(和相应计算机程序产品)。
[0015]另外方面提供了一种相应系统。
【附图说明】
[0016]参考下面的详细描述最好理解本公开的解决方案以及本公开的其他特征和优点,仅作为非限制性说明给出下面的详细描述,结合附图阅读下面的详细描述(其中为了简洁起见,利用相同或者类似的参考符号表示相应元件,并且不重复其解释,并且每个实体的名称既用于指出其类型又用于指出其属性一诸如数值、内容和代表性)。特别是:
[0017]图1示出计算机器的方框图,其中可以应用根据本公开实施例的解决方案,
[0018]图2示出根据本公开实施例的解决方案的示例性应用的图解说明,
[0019]图3示出表示可以用于实现本公开实施例的示例性应用场景的主软件单元的角色的合作图,以及
[0020]图4示出表示可以用于实现本公开实施例的另一个示例性应用场景的主软件单元的角色的合作图。
【具体实施方式】
[0021]特别是参考图1,方框图示出计算机器100,其中可以应用根据本公开实施例的解决方案。
[0022]特别是,计算机器100是移动设备,例如,智能电话或者平板电脑。移动设备100包括几个并联到母线结构105的单元。详细地说,微处理器(μΡ)110或许更多地控制移动设备100的操作;RAM 115用作微处理器110的工作存储器,并且ROM 120存储用于移动设备100的自举的基本代码。移动设备100还设置有大容量存储器125,该大容量存储器125包括内部闪速存储器和可能的外部闪速存储卡(诸如,SD类型的)。此外,例如,移动设备100具有输入/输出(I/O)单元130、移动电话收发信机(TX/RX)、WiFi类型的无线网接口卡(WNIC)、触摸屏、命令按钮、扬声器和麦克风。
[0023]现在参考图2,示出根据本公开实施例的解决方案的示例性应用的图解说明。
[0024]通用移动设备运行一个或者多个(移动)app。每个app都要求执行一个或者多个动作(例如,利用相应传感器测量物理量)。利用其一个或者多个特征(例如,名称)定义每个动作,从而之后动态地将动作绑定到运行时执行的实际组件。这样,app可以使用其他app的功能,而无需准确知道哪个其他程序提供其(分解为仅当需要时最适合执行其的组件的动作)。
[0025]在根据本公开实施例的解决方案中,移动设备还包括委托组件,该委托组件将自己注册为能够执行一组一个或者多个包括app的上述动作的动作(由相应特征定义)。
[0026]因此,当app需要执行动作时,委托组件收到相应请求(根据注册,在运行时,绑定到其)。
[0027]委托组件将动作的执行委托到或许更多地是移动设备的本地组件(能够执行动作,或者至少部分动作)并且/或者委托到或许更多地位于例如另一个移动设备上或者云环境上的或许更多地是远程计算机器的远程组件(能够执行动作,或者至少部分动作)。关于如何委托执行动作的判定基于本地组件的可用性。例如,当移动设备具有相应传感器时,在本地执行动作;相反,则完全在另一个移动设备上或者部分地在另一个移动设备上(共享相应传感器的)和云环境上(利用共享传感器测量的值)在远程执行动作。
[0028]这样,甚至当移动设备(或者更一般地说任何计算机器)不能支持app时(或者因为其固有限制,或者因为其临时限制),app (或者更一般地说任何软件应用)仍可以运行;特别是,当软件应用要求的资源或者在计算机器上没有(例如,因为其具有灵敏度低的传感器或者其是老型号)或者瞬间不可用(例如,因为其电池电量低)时,这是能够做到的。
[0029]因此,对于计算机器的固有限制,可以避免更新其(利用更新并且更强大的型号),同时节省相应成本;甚至当其更新不容易或者不适合时,软件应用仍可以运行(于可用计算机器上)。相反,对于计算机器的瞬间限制,当实际需要时,软件应用可
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1