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

文档序号:9672522阅读:来源:国知局
示)和相同的服务(利用S0’表示)(14.2.Clone)。在这方面,代理服务Sp”提交服务SO’执行app动作的显式意图,操作系统305”将服务S0”直接绑定到其;该意图还包括已经收到的测量值。然后,激活服务S0”,以执行app动作;然而,在这种情况下,服务S0”直接对测量值操作,而无需感测其(即,在所讨论的例子中,根据测量的本地大气压力随时间的变化,确定天气预报);服务S0”使app动作的执行结果(即,在所讨论的例子中,本地大气压力和天气预报)返回代理服务Sp”(15.2.Execute)。代理服务Sp”又使该结果返回代理服务Sp(16.2.Return)。
[0051]在app 310的正常连续运行的情况下,利用使app动作的执行结果返回活动A0(017)的代理服务Sp,如上进行操作流。
[0052]例如,因为复杂性,这样使移动设备100执行不可行的动作;实际上,云环境405提供无限计算资源的错觉。因此,对于高资源要求动作(例如,图像识别服务),这特别有利。与此同时,这些动作可以基于在移动设备100的附近测量的值(利用移动设备100’ )。
[0053]自然,为了满足本地特殊要求,本技术领域内的技术人员可以将在此描述的解决方案应用于许多逻辑和/或者物理调节和转换。更具体地说,尽管具体参考其一个或者多个实施例在某种程度上描述了该解决方案,但是应当明白,可以在型式和细节方面做出各种省略、替换和变更以及其他实施例。特别是,甚至可以实施本公开的不同实施例,而无需为了更透彻理解其而前面的描述陈述的特定细节(诸如数值),相反,为了不因为不必要细节妨碍理解描述,所以可以省略或者简化众所周知的特征。此外,显然,根据一般设计选择,旨在可以将结合本公开的实施例描述的具体元件和/或者方法步骤合并于任何其他实施例中。总之,序数词和限定词仅用作标记,从而以相同名称识别元件,但是本身并不暗示优先权、优先或者顺序。此外,术语:包含、包括、具有、含有和涵盖(及其任何型式)应当旨在开放式意义,而非穷举意义(即,不局限于陈述的项目),术语:基于、取决于、根据、通过(及其任何型式)应当旨在非排他性关系(即,具有涵盖的其他进一步特征),并且术语一个/一应当旨在一个或者多个项目(除非另外明确地指出)。
[0054]例如,实施例提供了一种在计算机器上运行软件应用的方法。该方法包括下面的步骤。注册委托组件在计算机器(由其至少一个特性定义每个计算机器)执行一个或者多个的一组动作的能力。委托组件从软件应用接收执行动作中的一个动作的请求;在运行时,根据其注册,使该请求绑定到委托组件。根据所述至少一个本地计算机可用性,委托组件将动作的执行委托到计算机器的至少一个本地组件(能够执行该动作的至少一部分)并且/或者委托到至少一个远程计算机器(能够执行动作的至少一部分)的至少一个远程组件。
[0055]然而,软件应用可以是任何类型的(例如,显示自动更新内容的专用接口工具集(widget)),并且其可以运行于任何计算机器上,甚至不是移动类型的(例如,笔记本)。委托组件可以是任何类型的(例如,广播接收机、库、应用),并且可以以任何方式注册其能力(参见如下)。每个动作可以由任意数字和特性类型定义(例如,参考统一资源标识符或者URI)o可以以任何方式(例如,通过利用挂钩技术截取其甚或在操作系统中),可以将每个请求绑定到委托组件。根据定义本地组件的可用性的任何特性(例如,固有的或者临时传感器存在、存储空间、微处理器类型、操作系统级、电池电量、GPS覆盖、WiFi或者3G连接),可以将动作的执行委托到任意数量的任何类型的本地组件和/或者远程组件。
[0056]在实施例中,所述委托执行动作包括:从本地组件或者远程组件接收动作的执行结果;以及使该结果返回软件应用。
[0057]然而,可以以任何方式(例如,部分地来自不同本地组件/远程组件)采集动作的结果,并且其可以是任何类型的(低至简单返回代码)。总之,动作的执行还可以不使结果返回软件应用。
[0058]在实施例中,所述委托执行动作包括:当计算机器上不存在本地组件时,将动作的执行委托到远程组件。
[0059]然而,还可以将委托在远程执行动作的判定调节到由用户手动批准。
[0060]在实施例中,所述委托执行动作包括:当计算机器上存在本地组件时,测量计算机器的至少一个量度;并且根据所述至少一个量度,将动作的执行委托到本地组件或者远程组件。
[0061]然而,量度可以是任何数量的任何类型的(例如,微处理器使用率、工作存储器占用)。可以以任何方式(例如,在请求时或者周期性地)测量量度。此外,委托在本地还是在远程执行动作的判定可以基于其他策略(例如,根据连接成本、要求的服务质量)。总之,当可能时,没有什么能妨碍始终委托在本地执行动作。
[0062]在实施例中,动作包括服务的背景中的执行。
[0063]然而,动作可以是任何类型的(例如,从简单操作到整个应用)。
[0064]在实施例中,动作包括感测物理量。
[0065]然而,物理量可以是任何类型的,并且可以利用任何数量的或者任何类型的传感器(例如,加速度表、光传感器、罗盘、陀螺仪、近距离传感器),感测其。
[0066]在实施例中,所述委托执行动作包括:将感测物理量委托到第一远程计算机器的第一远程组件;从第一远程组件接收物理量的测量值;以及通过传递物理量的测量值,将执行该服务委托到本地组件或者第二远程计算机器的第二远程组件。
[0067]然而,该动作可以要求在任何数量的任何类型的远程计算机器上感测任何数量的物理量(参见如下);然后,通过传递基于物理量的测量值的任何值(例如,简单测量值或者由一个或者多个测量值计算的值),可以将执行服务委托到任何数量的任何类型的计算机器的任何数量的本地组件和/或者远程组件。
[0068]在实施例中,计算机器是移动设备;第一远程计算机器是位于移动设备附近的另一个移动设备,并且网络服务提供第二远程计算机器。
[0069]然而,另一个移动设备可以与移动设备处于任何位置关系(例如,位于蓝牙覆盖范围内),并且网络服务可以是任何类型的(例如,万维网服务)。总之,计算机器、第一远程计算机器和第二计算机器可以是任何类型的。
[0070]在实施例中,所述委托执行动作包括:发现位于计算机器附近的每个远程计算机器的可用性,以执行动作的至少一部分。
[0071]可以以任何方式(例如,在对特定动作请求时或者通过周期性地对每个动作采集其并且在请求时从采集信息中提取特定动作中的一个)发现远程计算机器的可用性。此夕卜,可以以任何方式判定每个远程计算机器的可用性(例如,根据负荷情况或者由用户手动批准)判定每个远程计算机器的可用性;总之,某些远程计算机器可以始终可用(例如,当执行公用事业时)。可以以任何方式(甚至无差别地)选择要发现的远程计算机器。
[0072]在实施例中,所述委托执行动作包括:将执行动作委托到模拟计算机器的虚拟计算机器。
[0073]然而,可以以任何方式(或者在请求时,或者事先并且保持与计算机器同步)例示虚拟机。总之,可用在远程计算机器上(没有虚拟层)直接执行动作。
[0074]在实施例中,所述委托执行动作包括:使远程计算机器由其映像克隆软件应用。
[0075]然而,克隆可以仅涉及本地组件或者整个软件应用。总之,没有什么能够防止下载(从任何位置)要求的组件或者整个软件应用并且将要求的组件和整个软件应用临时安装在远程计算机器上(假定其操作系统兼容)。
[0076]在实施例中,所述注册委托组件的能力包括:对于指出委托组件的能力以执行动作的动作中的每个动作,对委托组件提供具有意图过滤器的清单文件。
[0077]然而,清单文件可以具有任何格式,并且其可以由任何其他储存结构(例如,数据库)替换。总之,没有什么能够妨碍以任何其他方式(例如,利用在其安装时执行的特定指令)注册委托组件的能力。
[0078]通常,如果利用等同方法执行相同的解决方案,则类似考虑适用(利用许多步骤中具有相同功能的类似步骤,移除不重要的一些步骤,或者进一步附加任选步骤);此外,可以以不同顺序、同时或者以交错方式(至少部分地)执行步骤。
[0079]另外实施例提供了一种计算机程序,以当在计算机器上执行计算机程序时,使计算机器执行上述方法的步骤。
[0080]另外实施例提供了一种计算机程序产品,该计算机程序产品包括嵌入了计算机程序的非临时计算机可读介质,该计算机程序包括可直接装载到计算机器的工作存储器中的代码,从而配置计算机器,以执行相同的方法。
[0081]然而,上述解决方案可以实现为单独软件应用、可以实现为操作系统的插件、甚或直接在操作系统本身中实现。本技术领域内的技术人员明白,本发明的方案可以实现为系统、方法或者计算机程序产品。因此,本发明的各个方面可以取完全硬件实施例、完全软件实施例(包含固件、常驻软件、微代码等等)或者将软件和通常可以统称为
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1