用于定制移动应用的技术转让专利

申请号 : CN201480009668.0

文献号 : CN105009079B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : S·乌德

申请人 : UPC咨询有限公司

摘要 :

一种移动数据处理设备(MT),包括存储器、处理系统和用于从所环境探测环境标识符的探测器系统。存储器包括定义功能集的至少一个应用(260)和一个或多个插件(270)。至少一个插件当前在用。当前在用插件定义在所述应用执行期间移动数据处理设备的操作。当前在用插件定义的操作包括一个或多个任务(425)。至少一个任务定义了由应用(260)定义的功能的子集(470),包括用于操作探测器系统的至少一个功能。插件进一步定义了用于功能的子集的执行次序。本发明使得在必须被提交给由平台提供者进行的一致性检查的应用中能够定制功能。

权利要求 :

1.一种移动数据处理设备,包括:

-麦克风、耳机或扬声器、键盘或触屏、用户身份模块以及接收传输电路,-存储器系统,用于储存程序代码指令和数据;

-处理系统,其包括至少一个处理单元,其中所述处理系统被配置为执行至少一些程序代码指令并处理存储在所述存储器系统中的数据;

-探测器系统,用于从所述移动数据处理设备的当前环境探测至少一个类型的环境标识符;

其中:

-所述存储器系统包括所述处理系统能执行的至少一个应用,其中所述至少一个应用定义所述处理系统能执行的功能集;

-所述存储器系统进一步包括一个或多个插件,其中所述至少一个应用和所述一个或多个插件在不同的步骤被安装,并且其中每次至少一个插件能够被选择作为所述至少一个应用的当前在用插件;

-所述至少一个当前在用插件仅仅定义所述至少一个应用的任务的特定子集,其可被唤起以提供定制的功能,其中由所述当前在用插件定义的操作包括一个或多个所述任务,其中至少一个任务定义了:-在所述至少一个应用中包含的所述功能集的已排序的功能的子集,其中所述功能的子集等于或小于所述功能集,并且其中所述功能的子集包括用于操作探测器系统的至少一个功能;

-用于所述功能的子集的执行次序。

2.如权利要求1所述的移动数据处理设备,其中所述一个或多个任务中的至少一个定义了所述功能的子集和由当前在用插件探测的一个或多个事件之间的关系。

3.如权利要求1所述的移动数据处理设备,其中所述探测器系统包括至少一个短程探测器。

4.如权利要求1所述的移动数据处理设备,其中所述探测器系统只能通过所述至少一个应用的功能控制。

5.如权利要求1所述的移动数据处理设备,其中所述当前在用插件进一步定义了所述功能的子集的资源集。

6.如权利要求1所述的移动数据处理设备,其中所述至少一个应用包括解释器,所述解释器被配置为将输入的一般功能调用翻译为内部平台特定的功能调用,这样一个或多个插件可以以平台独立方式被实施。

7.如权利要求1所述的移动数据处理设备,其中响应于探测到在环境标识符中包含的一个或多个网络地址,所述至少一个或多个插件被配置为将通信从所述移动数据处理设备定向到不同于包含在所述环境标识符中的一个或多个网络地址的至少一个网络地址。

8.如权利要求7所述的移动数据处理设备,其中所述至少一个或多个插件被配置为将通信从所述移动数据处理设备定向到内部内容储存装置。

9.如权利要求7所述的移动数据处理设备,其中所述至少一个或多个插件被配置为通过多个可选路由从所述移动数据处理设备定向通信。

10.如权利要求7所述的移动数据处理设备,其中所述至少一个或多个插件被配置为根据所述移动数据处理设备的位置执行从所述移动数据处理设备到网络地址的通信的所述定向。

11.如权利要求1所述的移动数据处理设备,其中所述至少一个类型的环境标识符包括条型码、近场通信[“NFC”]标签、蓝牙标签、以及红外辐射中的一个或多个。

12.如权利要求1所述的移动数据处理设备,其中所述应用由所述移动数据处理设备的供应商信任的实体数字签名,其中可选择作为当前在用插件的至少一个插件不被数字签名。

13.一种用于操作移动数据处理设备的方法,所述移动数据处理设备包括麦克风、耳机或扬声器、键盘或触屏、用户身份模块以及接收传输电路、用于储存程序代码指令和数据的存储器系统、被配置为执行至少一些程序代码指令并处理存储在所述存储器系统中的数据的处理系统、以及用于从所述移动数据处理设备的当前环境探测至少一个类型的环境标识符的探测器系统,其中所述方法包括在存储器系统安装:-所述处理系统能执行的至少一个应用,其中所述至少一个应用定义所述处理系统能执行的功能集;

-一个或多个插件,其中所述至少一个应用和所述一个或多个插件在不同的步骤被安装,并且其中每次至少一个插件能够被选择作为所述至少一个应用的当前在用插件;

-其中所述至少一个当前在用插件仅仅定义所述至少一个应用的任务的特定子集,其可被唤起以提供定制的功能,其中由所述当前在用插件定义的操作包括一个或多个所述任务,其中至少一个任务定义了:-在所述至少一个应用中包含的所述功能集的已排序的功能的子集,其中所述功能的子集等于或小于所述功能集,并且其中所述功能的子集包括用于操作探测器系统的至少一个功能;

-用于所述功能的子集的执行次序。

说明书 :

用于定制移动应用的技术

技术领域

[0001] 本发明一般地涉及定制软件应用,这些应用的定制被一组边界条件所限制,例如用于受保护平台的定制的移动应用。

背景技术

[0002] 一种渐增的趋势是硬件销售商倾向于控制移动应用向移动终端的交付。出现这种趋势的原因很多,例如对出售的应用收取特许费的需求和/或抑制不满足设计方针的软件或包括实际上的恶意软件的需求。移动终端拒绝未被硬件销售商签署的或由硬件销售商管理的应用商店管理的移动应用是常见的。
[0003] 下文中被称为移动应用的用于移动终端的应用正常地是从由移动终端平台的供应者管理的库中获得。例如,苹果股份有限公司管理自己的应用商店、亚马逊应用商是用于谷歌安卓操作系统的移动应用商店、微软公司电话商店和微软商店是用于Windows平台的应用商店、诺基亚商店是用于诺基亚装置的应用商店。该名单不是详尽的。
[0004] 与以上安排相关的问题之一是几乎不可能从移动应用商店交付定制的应用。这是因为每一个定制的应用必须提交给应用商店以供检查和签署。应当为个体客户定制的应用的例子包括积分和/或成员卡、公共交通和/或娱乐设施的季节通行证(season passes)、仅适用于实际参加活动的人的事件通信证。
[0005] 一个相关问题是硬件销售商可以要求通过他们的应用商店交付的应用对于任何人来说是可用的——但是要求付款可以是理所当然的。因此,应用商店不适合交付针对封闭受众的应用,所述应用例如用于访问敏感信息的应用和/或处于α或β测试阶段并且尚未适合发布的应用。

发明内容

[0006] 本发明的目的因而是提供向原则上不支持定制应用的移动终端交付定制应用的技术。通过如所附独立权利要求所述的本发明的方面,获得本发明的目的。从属权利要求和以下的详细描述和附图涉及详细的实施例,其解决额外的问题和/或提供额外的优点。
[0007] 本发明的特征之一是移动应用的通用版本从应用商店交付,同时用于定制应用的定制信息从定制服务器交付。在本说明书的稍后部分,通用版本将被称作模板应用。关于整体系统和网络体系结构,定制服务器可以像图1结合应用服务器描述的那样被安置,尽管定制服务器的功能不同于图1中的应用服务器。通过从应用商店交付模板应用和从定制服务器交付用于定制应用的定制信息,可以克服应用商店只能提供已经通过应用商店或硬件销售商的一致性检查的数字化签名的应用的限制。相关的问题是应用商店可以拒绝提供被编程为执行未通过一致性检查的功能的移动应用。这是为什么要从应用商店交付的模板应用必须含有一些基本功能,而且这些功能在没有任何限制的情况下不能被升级。
[0008] 本发明的一方面是一种移动数据处理设备,包括用于储存程序代码指令和数据的存储器系统,加上包括至少一个处理单元的处理系统。所述处理系统被配置为执行至少一些程序代码指令并处理存储在所述存储器系统中的数据。所述移动数据处理设备还包括探测器系统以用于从所述移动数据处理设备的当前环境探测至少一个类型的环境标识符。存储器系统包括所述处理系统能执行的至少一个应用,其中所述至少一个应用定义所述处理系统能执行的功能集。
[0009] 为了提供允许的定制功能,存储器系统进一步包括一个或多个插件,其中每次至少一个插件能够被选择作为所述至少一个应用的当前在用插件。所述至少一个当前在用插件被配置为在所述至少一个应用的执行期间定义所述移动数据处理设备的操作。
[0010] 由当前在用插件定义的操作包括用于定义功能的子集的一个或多个任务,所述功能由至少一个应用定义,其中所述功能的子集等于或小于功能集,并且其中所述功能的子集包括用于操作探测器系统的至少一个功能。进一步地,所述一个或多个任务还定义了用于所述功能的子集的执行次序。
[0011] 下文使用更短的术语“移动终端”代替较长的术语“移动数据处理设备”,但是需要指出的是,在一些实施例或使用案例中用作终端的能力不是强制的。
[0012] 在一些实施例中,任务可进一步定义功能的子集和由当前在用插件探测的一个或多个事件之间的关系。事件可以包括用户接口事件,由此功能可以从移动终端的用户接口触发。另外或者可替代的,事件可以包括现实世界的信号或信息的探测,由此功能可以作为移动终端的位置、朝向、环境、氛围(ambient)、当前背景等等的结果被触发。
[0013] 在一些实施例中,探测器系统包括至少一个短程探测器。短程探测器的使用促进了确定移动终端的位置。
[0014] 在一些实施例中,探测器系统仅通过应用的功能可控,插件仅通过应用编程接口(API)调用应用的功能。除定义使用哪些功能之外,当前在用插件可以进一步定义用于功能的子集的资源集。资源可以包括网络地址,其用于检索涉及移动终端的用户的当前上下文相关的全球性和/或本地相关的内容。例如,在动物园中,全球相关内容可以包括有关可以在动物园看到的物种的信息。本地相关的内容可以包括在该特定动物园中的动物的信息。代替从移动终端外部检索全球性地和/或本地有关的内容,插件可以包括具有这样的内容的数据集或数据库。提供数据集或数据库,或其他形式的内容来作为插件的一部分具有这样的优势:相对复杂的插件可以在高效连接可用的位置上被传送给移动终端。例如,在进入动物园时,插件可以通过动物园的入口处可用的WLAN网络安装到移动终端。稍后,当移动终端的用户探索动物园的时候,插件可以探测例如短程镭射或条形码的本地标识符,并向用户提供用户可以在他们的位置看见的相应内容。但是当移动终端用户探索动物园时,连续的WLAN访问是不必要的。
[0015] 可以用平台独立方式创建插件。换句话说,插件是相同并同样地不考虑台通过应用进行通信。平台独立的插件通过提供具有解释器的应用是可行的,解释器被配置为将进来的一般功能调用解释为内部的平台特定功能调用,由此一个或多个插件由此可以用平台独立方式实现。可选地,可以为一个平台创建插件和应用并向其他平台的应用提供解释器。
[0016] 在一些实施例中,当插件探测到包含在环境标识符中的一个或多个网络地址的时候,它被配置为将通信从移动终端定向到包含在所述环境标识符中的网络地址以外的网络地址。此特征可以用于几个目的。例如,假定环境标识是布置在感兴趣的对象上的条型码,它的最初目的是将观众的移动终端定向到固定的已编程的外部服务器,从所述外部服务器可以检索有关对象的信息。通过在插件控制下执行移动终端中的地址解析,插件可以替换或补充与有感兴趣的对象有关的信息。在某些情况下插件可以将移动终端定向到除条型码(或其他环境标识)中表示的那个服务器之外的外部服务器。在其他情况下,插件可以从条型码中表示的外部服务器检索信息,但是提供的额外的信息,例如翻译。或者,如果感兴趣的对象是广告,插件可以不仅向用户提供广告,而且还有与正在被广告的产品相关的公平试验结果或价格比较。额外的或补充的信息可以从外部服务器和/或从包含于插件本身的数据储存装置中检索到。
[0017] 虽然对于本发明来说不是强制性的,应用通过被移动数据处理设备的供应商所信任的实体而被数字签名是典型的,所述实体例如平台特定的应用商店,但是所述插件没有被数字签名。
[0018] 在一些实施例中,不同功能的子集的插件可以被提供给同一个应用。除为访问者、客户等等提供第一功能的子集的第一插件之外,可以有提供不同于第一子集并且典型地比第一子集更宽的第二插件。提供第二功能的子集的第二插件仅仅被提供给授权的人员。
[0019] 在代表性的但是非限定的实施例中,地点可以是展会,例如博物馆、美术馆、展览、商店,或者展览访问者感兴趣的对象的任何地点。用于访问者的第一插件提供有关在访问者附近的对象并指示公共场所的信息,如自助食堂、卫生间等等。用于授权人员的第二插件提供附加信息,所述信息可以涉及人员通道、安全系统、特定功能的负责人,等等。
[0020] 在另一代表性的但是非限制性的实施例中,用于展示对象进行销售的地点的应用,例如商店或艺术图表种类,用于客户的第一插件显示对象的零售和/或活动价格,同时用于员工的第二插件显示额外信息,例如购买价、库存量、下一次交付日期和数量、出售量,等等。
[0021] 用于授权人员的第二插件可以但并非必须地提供由第一插件所提供的所有信息。例如,在博物馆中用于客户的第一插件可以提供涉及博物馆展览的详细资料和历史,同时用于安全员的第二插件可以显示基础信息,例如关于实际展品的名称和描述,加上涉及该展品的安全系统的详细信息。

附图说明

[0022] 在如下部分中,本发明的具体实施例将参照示意性的但非限制性的实施例更详细地描述。参照了以下附图:
[0023] 图1示出一些用户使用他们的各自移动终端在不同的展会中访问信息的情况;
[0024] 图2显示移动终端的示意性框图;
[0025] 图3A是假设的使用案例的示意性信号图,其中在展会中利用根据本发明的实施例的移动终端;
[0026] 图3B是图3A的信号图的一个版本,该版本适用于具有不同功能的子集的多个插件被提供用于相同应用的情况;
[0027] 图4示出用于本发明的实施例的一示例软件架构;
[0028] 图5是示出一实施方式的信号图,其中当前在用插件探测到感知信息中的网络地址并且向用户提供可选或补充的信息;以及
[0029] 图6是示出另一实施方式的信号图,其中当前在用插件作出关于链接至外部网络资源的独立决定。具体实施例
[0030] 图1示出这样的情况,其中三名用户使用他们各自的移动终端MT1、MT2和MT3来访问不同展会EX1-EX4中的信息。在这个上下文中,“展会”在宽泛的含义上使用,其包括组织者放置东西让观众观看的任何事件或位置,并且通过观众的移动终端向观众提供获得附加信息的机会。在现有情况中,存在三名用户以及四个展会,每个用户都使用不同平台的移动终端。
[0031] 在现有情况下,展会1是具有相对永久收藏品的博物馆。展会2是座美术馆,其具有更快速改变地展品,展会3是动物园,而展会4可以是艺术或运动表演。展会的进一步的非限定实施例是促销、演讲等等。
[0032] 向用户提供展会的单独描述的传统方式是向用户提供以连续编号的展会项目的音频记录。此技术的问题是它不方便非顺序地查看展会项目。另外一个问题在于展会项目的任何改变必须被个别地更新至音频回放设备。
[0033] 另一公知技术是提供具有二维条码的广告或展会项目。观众可以使用他们的移动终端扫描2D条形码。结果,终端的web浏览器被定向至由2D条型码定义的网址,并且附加信息可以从网址获得。此技术适用于为移动终端提供静态信息。或者为了更准确地表达问题,原则上有可能移动终端从被放置在感兴趣对象附近的2D条型码定义的网址访问任何种类的内容。一个特别的问题是现代移动终端的销售商或制造商不支持从平台特定应用商店之外的源下载任何潜在地有害的内容。此外,从应用商店提供的任何应用必须遵守严格限制和/或由平台提供者定义的测试。此问题的后果是它不太可能向新式移动终端提供频繁更新的任意应用。这是因为任何更新的应用必须经历平台提供者的一致性测试。从展会组织者的角度来看,为每个平台提供商重复更新和一致性测试的需要使得该问题被恶化。
[0034] 根据本发明的示例性实施例,通过向不同平台的每个移动终端提供至少一个平台特定应用(“应用”app)来缓解现有技术的问题。该应用可以是对所有展会充分通用的。除至少一个应用之外,可以有专门针对一定的需求或情形的一个或多个插件。应用指示移动终端执行各种功能。这就是为什么应用必须经过由平台提供者定义的一致性测试,假定平台的一致性测试是强制性的。与此相反,一个或多个插件并不直接负责由移动终端执行的功能,并且因此不必被提交给一致性测试。相反,插件定义了由应用定义的功能的子集、用于功能的子集的执行次序、以及用于功能的子集的资源集,所述资源集例如地址、数据集等等。因为是定义了移动终端能够执行的所有功能的通用应用并且该通用应用仅仅需要被证明一次,现有技术的问题,即为现代移动终端提供定制的、更新的或情形特定的应用的困难被减轻。相反,插件仅仅定义已证明功能和相关资源的特定子集,这就是为什么插件不必单独被证明的原因。由于更新的或情形特定的插件不必单独地被证明,展会组织者等等向移动终端提供更新内容比以往容易得多,即使是在移动终端仅仅从制造商特定的应用商店接受应用。
[0035] 在图1中所示的情况中,附图标记MT1-MT3分别表示不同平台的三个移动终端。对于每一平台,有一个平台特定应用商店(“应用商店”)AS1-AS3,每个应用商店提供用于该平台的移动终端的一般应用。对于每一个展会EX1-EX4,存在相应的传感信息集SI1-SI4,在应用控制下,由移动终端进行的传感信息探测具有指示移动终端从插件库PR1-PR4检索展会-特定应用插件的作用。考虑访问者使用移动终端MT1的情况。当访问者遇到一些感兴趣对象的时候,例如展会EX1中的用于显示的项目、动物、表演或者诸如此类,那些感兴趣的对象可以设置为对象-特定的传感信息集合,此处标注为SI11-SI13。当移动终端MT1在应用和展会特定插件控制下探测到传感信息集SI11-SI13的时候,插件请求应用使得在移动终端的用户接口上显示进一步的信息。这样的进一步的信息典型地在传感信息集合SI11-SI13的附近是感兴趣的对象所特有的。
[0036] 在特定例子中,展会EX1可以是博物馆。当移动终端MT1在平台特定应用的控制下探测到展会特定的传感信息集SI11的时候,应用指示可移动终端检索特定于该博物馆的插件。稍后,当访问者在博物馆四处走动的时候,移动终端MT1,在平台特定应用和展会特定插件控制下探测到这里通过SI11-SI13表示的对象特定的传感信息集,插件请求应用指示移动终端向用户提供与感兴趣的对象有关的附加信息,例如历史条目。这样的附加信息可以包括数据、静态或活动图像、声音、访问者的任务、用于访问进一步信息的选项、用户可以从与感兴趣对象有关的实体请求联系的查询形式,或这些或类似的各种各样信息的任意组合。
[0037] 在一些实施例中可以将所有的展会特有信息包括到展会特定插件中,在这种情况下在检索展会特定插件之后,移动终端可以保持离线。在替代实现方案中,在应用和插件控制下的对象特定传感信息SI11-SI13的探测具有插件通过应用请求移动终端检索与感兴趣的对象有关的进一步信息的作用。
[0038] 尽管在感兴趣对象附近的2D条形码的使用是公知的,关于2D条形码被处理的方式在现有技术和本发明的本实施例中有着重要差别。与移动终端有关的使用2D条形码的传统方式是2D条型码的内容将移动终端的web浏览器定向到2D条型码定义的网页。在传统技术中移动终端盲目地遵循在2D条型码中编码的指导,因此把web导航的控制让给包含于条型码中的web地址和要在web地址中发现的进一步的链接。与此相反,本发明可以通过这样的方式实现:web冲浪通过移动终端、控制移动终端的应用和定义应用如何控制移动终端控制的插件来控制。
[0039] 在先前的描述中,2D条形码被用作传感信息的示意性例子,响应于探测到对象特定的传感信息集,所述传感信息通知移动终端中的应用在哪里检索展会特定插件以及通过移动终端用户接口提供什么附加内容。但是传感信息可以采取代替2D条形码的其他形式或2D条形码的附加形式。例如,移动终端可能具有能够独立地或与外部定位服务器组合起来确定移动终端位置的定位装置。应用可以被配置为询问位置数据库并在移动终端位置的基础上确定适当的展会特定插件和/或对象特定信息。移动终端的定位可以基于GPS信号、通信信号的信号质量观测和定位模型,或者定位可以依靠不通过墙壁传播或不进行远距离传送的弱信号,例如红外辐射或近场或短距无线信号,例如蓝牙。可选地,不通过墙壁传播或不进行远距离传送的信号可以直接用以表示应用应当指示移动终端检索的插件和/或对象特定信息。
[0040] 优选地,平台特定应用也执行硬件抽象,或换句话说,包括相应的硬件抽象层。这意味着,插件不必是平台特定的,因为应用中的硬件抽象层把由插件做出的请求转化成硬件特定指示。
[0041] 作为示例性的例子,假定有三个不同平台、四个展会,用于每个展会的内容针对总共五个不同的版本被更新四次。如果用于每个平台的每个内容的每个版本以特定应用的形式来提供,则总共要求3*4*5=60不同的应用,每个应用都必须提交以用于一致性测试。与此相反,本发明的上述实施例——其中插件独立于平台——仅仅要求3个应用和4个情形特定插件的每一个的5个版本,或者说20个不同的插件。只有3个应用需要提交以进行一致性测试,每个移动终端均需要一个平台特定的应用。
[0042] 图2显示移动终端的示意性框图。移动终端MT包括具有至少一个中央处理单元的处理系统202。移动终端进一步包括存储器系统250,如本领域技术人员已知的,其典型地包括快速易失性存储器和较慢非易失性存储器的结合。此外,移动终端包括或利用用户接口210,其包括输入电路212和输出电路214。输入电路212包括移动终端的麦克风和例如数字按键键盘和/或触屏的用户输入装置。输出电路214包括移动终端显示器和耳机或扬声器。
移动终端进一步包括接收/传输电路220,其包括传输电路222、接收电路224和天线226。用户身份模块SIM 230通过识别功能被使用以验证移动终端的用户并识别用户对接入网络AN的订购。典型的现代移动终端也包括WLAN(无线局域网)电路234,其正常的使用方式是用作无线局域网基站(未示出)的WLAN客户端。
[0043] 为了支持可安装的程序模块,移动终端的存储器250典型地包括例行程序以用于下载可安装的程序模块以及储存可安装的程序模块作为存储250中的app(应用)260用于由中央处理单元CP执行。图2显示这样的安排,其中移动终端被配置为通过数据网络DN、接入网络AN、天线226和接收电路224从应用商店ASn(n=1,2,3,...,取决于平台)下载可安装程序模块。不同于通过接入网络上从应用商店下载程序,或者说除此之外,其他安排同样也是可能的,例如通过数据网络DN下载可安装程序模块到分离的数据终端(未示出),所述可安装的程序模块从该数据终端通过WLAN电路234或通过例如蓝牙或通用串行总线(USB,未单独显示)的其他一些短程连接被传递至移动终端。接入网络AN典型地是支持宽带的移动式通信网络,而数据网络DN典型地是互联网或一些实施网际协议(IP)的封闭的子网络,通常被称为内联网或外联网。在这个一般的层面上,如在相应技术中使用的,图2中所有先前讨论的单元可以是常规的。如将在以下更详细地描述的,一个或多个外部主机可通过接入网络AN和数据网络DN访问。最后,附图标记280表示存储器250的区域,用于存储参数和临时变量。
[0044] 除用户接口210之外,移动终端典型地包括可选的传感器240以用于探测环境变量或参数。传感器240的非排除性列表包括摄像头、IR(红外线)探测/通信电路、GPS和/或其他位置确定电路、罗盘、陀螺仪(倾斜度传感器)、RFID(射频标识)和/或NFC(近场通信)电路,等等。
[0045] 借助于传感器240,能在移动终端中执行的应用260可以收集关于移动终端的环境、周围情况、位置和/或朝向的信息。这样的基于传感器的信息总称为传感信息。应用260包括用于操作传感器的程序实施的功能。根据被执行的应用,移动终端可以被设置为响应用户控制,自发地和/或逐渐地收集这样的传感信息,于是,一种类型传感信息的探测触发应用260指示移动终端收集进一步的传感或其它信息。通过示意性的但是非限制性的实施例,传感信息的主要来源可以包括本地辐射,其通知移动终端它接近潜在感兴趣对象,例如动物园中的动物。响应于探测到这些局限于本地的辐射,应用可以检索涉及感兴趣对象(例如动物)的进一步信息。这样的进一步信息可以包括全球性地相关信息,例如对动物种类的描述,和/或进一步的信息可以包括本地相关信息,例如对个别动物的描写和在动物园中的它们的地点。诸如红外线、蓝牙或近场通信的局限于本地的辐射的探测可以触发应用从传感器240收集与朝向相关的传感信息,所述传感器240例如罗盘指向和/或陀螺仪/倾斜度信息以及可选的精确GPS信息。通过使用移动终端的位置、朝向、有关动物在动物园中的放置信息的组合,应用可以在移动终端的显示器上显示有关信息。假定移动终端显示器被指向动物笼具之外,假设用户正在看动物笼具,在移动终端中执行的应用可以显示处于笼具内的动物种类、它们的编号和在动物园中的近况,包括成年和年幼动物的数量。
[0046] 然而,动物园中在移动终端内执行的示例性的应用的以上描述是不完整的。在现实世界中,因为所有的应用必须得到应用商店或平台提供者认可的现实约束,这类应用的生成是几乎不可能的。假定动物园特定应用执行到目前为止所描述的所有功能,该应用应当针对每个动物园(或展会,等等)创建。此外,应用应当是定期更新以反映动物园的变动情况。应当为不同平台、终端配置等等创建应用的若干版本。用于所有平台、终端配置、动物园和状况变化的所有应用应当得到应用商店认可,这显然是不实际的。该遗留问题通过在本文中所说明的应用和插件的合作解决。
[0047] 图3A是假设的使用案例的示意性信号图,其中根据本发明实施例的移动终端在展会、动物园等等中被使用。步骤3-10包括从平台特定的应用商店AS1下载和安装应用。此步骤可以类似于现有技术被执行。在未被明显示出的步骤中,应用可以通过显式用户操作被启动,例如激活移动终端显示器上的应用的图标或小部件(tile)。可选地应用可以被配置为响应于其他类型的用户动作被启动,例如拍照。
[0048] 附图标记3-20表示为展会特定插件执行一次的一系列步骤。在此处所述的例子中,所述步骤系列开始于步骤3-22,其中移动终端用户接口接收获得传感信息的用户命令。在一个示例中,获得传感信息的用户命令可以包括拍照的指示并且从产生的照片中提取条型码的内容。这样的动作通过附图标记3-24和3-26来表示,其中应用指示移动终端捕获传感信息SI1并将传感信息返回到应用。
[0049] 可选地,举几个代表性的例子,获得传感信息的命令可以包括确定移动终端位置或探测一些与位置有关的信号的指示,所述信号例如红外信号、蓝牙信号或WLAN信号。在又一实施例中,明显的,步骤3-22可以是多余的,应用可以被配置为自发地探测适当的传感信息。例如,应用可以被配置为探测WLAN网络的存在并使用WLAN网络的名称作为关于移动终端位置的一般信息。
[0050] 不管应用如何接收传感信息SI1或接收的是何种信息,应用在步骤3-28中使用传感信息SI1以从插件库PR1加载相应插件。在未明显示出的步骤中,插件立即被启动,或它可以被配置为响应用户动作的探测或一些外来传感信息的探测而启动。这完成系列步骤3-20,其针对每个插件被执行一次。在示意性的但非限制性的例子中,系列步骤3-20针对每个展会被执行一次。
[0051] 附图标记3-40表示对每个感兴趣的对象执行一次步骤系列。在此处所描述的例子中,步骤系列在步骤3-42开始,其中移动终端用户接口接收获得传感信息的用户命令。用户命令通过应用被传递到插件。步骤3-42至3-46是与步骤3-22至3-26类似的,不同的是,步骤3-42至3-46通过应用由插件控制。这就意味着当插件在用并且移动终端能检索或接收与插件内容或相关消息时,步骤3-44和3-46包含来自插件通过应用到移动终端的指示,以得到对象特定的传感信息。该信息在这里由SI1n表示,其中“1”对应于移动台所处的展会,“n”对应于感兴趣的对象。响应于接收或探测对象特定的传感信息SI1n,插件通过应用指示移动终端在其用户接口上产生对象特定的内容或信息。
[0052] 图3B是图3A的信号图的一个版本,该版本适用于具有不同功能的子集的多个插件被提供给相同应用的情况。对图3A的差异是图3B显示两个插件库PR1和PR2,插件1和插件2分别从这两个插件库被装入移动终端。在简化实现中,两个插件可以从相同库被装载,但是,如后面将描述的,从多个库提供两个(或更多)插件带来另外的实施方式选择。
[0053] 步骤3-10至3-28类似于图3A中的相应步骤,重复的描述在此省略。在图3B中所示的情况中,应用APP意识到这一事实,即第二插件(插件2)可从插件库PR2中下载。在一些实施例中,APP可以被硬编码以了解PR2提供具有不同于插件1的功能的子集的插件2。在其他实施例中,插件1可以通知APP可从插件库PR2下载插件2。在又一实施例中,APP可以询问用于可用插件的已知库。
[0054] 在图3B中所示的实施例中,APP可以执行可选验证步骤3-30以验证移动终端的用户关于下载插件2的用户权限。在典型的但非限制性的实施例中,认证步骤3-30包括提示和查询3-32移动终端的用户接口UI,通过其用户可以提供他们的证书。在其他实施例中,对用户接口UI的查询3-32是没有必要的,移动终端可以存储提供用户凭据的预载证书(未示出)。假定认证步骤3-30成功地完成了,在步骤3-34中APP继续从插件库PR2下载插件2。为完整性起见,应该指出的是,认证步骤3-30不必预先下载插件2。相反,认证步骤3-30可以在下载插件2后进行但是在它的执行之前来执行。
[0055] APP现在探测到它已经具有为它安装的两个(或更多)插件,附图标记3-36表示插件选择器,它是可选的软件例程,由其用户被要求通过用户接口查询3-38选择用于APP的当前在用插件。插件选择器3-36仅仅是数种可行实施方案之一。作为由用户选择的替代方案,插件可以用这样的方式分等级地被排列,即涉及相同APP的插件中,具有最高等级的插件是自动被选择的。作为又一替代方案,第二插件(插件2)可以用这样的方式被编码,即它通过第一插件提供附加用户接口单元、以及事件以及任务处理器(见图4),并且APP显示用于APP的所有已安装插件的用户接口单元的组合。
[0056] 在现有情况中,用户选择插件2作为当前在用插件。相应地,剩余步骤3-42至3-48类似于图3A中所示的步骤,但是他们由插件2与APP合作处理,步骤3-42至3-48的重复说明被省去。
[0057] 图4示出可以用于实施本发明的实施例的示例软件架构。本领域技术人员可以认识到在图4中所示的软件体系结构不是完整的一个。相反,图4示出与解决本发明基础问题相关的软件体系结构的那些方面,最显著的问题是如何在给应用强加严格边界条件的平台上提供定制的应用功能。
[0058] 在图4中所示的例子中,附图标记260表示应用,附图标记270表示插件。对于在图4中所示的软件体系结构的初始说明中,我们可以忽视解释器/软件抽象层460。应用260含有用于一个或多个功能的定义,其中一个通过附图标记470来表示。为了理解软件体系结构,任务和功能之间的差异是这样的,任务定义了需要被完成的,例如“拍照”或“搜索2D条型码的图片”,而功能是软件结构,其中的一个或多个被要求用来执行每个任务。部分或全部的功能定义470参考引起在移动终端中的物理过程的动作定义480。
[0059] 继而插件270含有用于几个任务的定义,其中一个通过附图标记425来表示。每个任务内容425包含已排序的功能集470的定义,所述功能集470包含于应用260并由应用260提供。例如,任务425的示意性例子是“PrepareCamera(准备相机)”。“PrepareCamera”任务425可以调用功能470,例如“PoweronCamera(打开相机)”、“MeasureExposure(测量曝光)”、“AdjustShutterspeed(调整快门速度)”、“AdjustAperture(调整光圈)”、“ShowPreview(显示预览)”。任务的另一例子可以是“TakePicture(拍照)”。为此目的,“TakePicture”任务可以由探测到用户接口单元的激活来被唤起,并且一旦被唤起,“TakePicture”任务可以调用如“CloseAperture(关闭光圈)”、“OpenShutter(打开快门)”、“CloseShutter(关闭快门)”和“ReadSensorToBuffer(将传感器读到缓存)”的功能。功能定义470提到一个或多个动作
480。例如“OpenShutter”和“CloseShutter”功能定义可以参考动作如“装载值255/0至端口
123”,其中在该特定移动终端类型中,“123”是快门的硬件端口,而“255”和“0”分别是用于打开和关闭快门的值。
[0060] 应用260向插件提供应用编程接口(API)450,其中一个通过附图标记270来表示。这里作为示意性例子示出的特定插件具有一个或多个菜单410。每个菜单定义含有用于若干用户接口单元的定义,例如静态文字单元或按钮415。每个按钮定义415可以链接到进一步的用户接口单元,例如进一步的菜单或事件420。为了本发明的目的,最令人感兴趣的用户接口单元是造成一些事情发生的事件。每个事件定义420通过API 450引用一些任务425。
事件420的示例性例子是探测到用户激活“拍照片”按钮,这本身是按钮415的示意性例子。
[0061] 为了本发明的目的,这里示出的软件体系结构的最有趣的方面是,移动终端的实际物理资源的所有活动通过存在于应用260中的动作480控制。应用260经历如应用商店或平台提供者所要求的一致性证明、完整性检验、真实性检验等等。从一致性检查等等的角度来看,插件270不定义硬件资源上的任何活动。相反,插件270仅仅定义应用260的任务425的子集,其可以作为不同事件420的结果被唤起。这是为什么插件270不必被提交给应用商店施加的一致性检查,尽管插件270向移动终端提供了定制的功能。特别地,每个定制的插件270可以向任务425定义用户接口单元415和事件420之间的关系。任务425通过API 450唤起功能470和动作480。但是插件可能不定义新功能或动作并因此不必提交给应用商店批准。
[0062] 因为插件不必提交由应用商店的批准,理论上,可能的是以平台独立方式创建它们。当然,平台特定应用含有平台特定功能存在技术障碍,平台特定功能要求平台特定的功能调用。此遗留问题可以通过向应用260提供解释器460来解决,解释器460充当软件抽象层。解释器460接收非本地的功能调用并将它们转换为本地或平台特定的功能调用。在一个实施例中,平台可以被给出默认平台状态,并且在那平台上解释器460是多余的。然而,通过采用在图4中所示的实施方式,平台独立软件的创建是更容易的,其中在所有平台上插件借助于通用(平台独立)功能调用从应用请求服务,解释器将所述通用功能调用转变成为平台特有的功能调用。本领域技术人员可以认识到,对于若干功能来说,功能名称的简单变化或参数次序的改变是不足的,解释器460可能必须结合一些平台的多种功能的作用以完成一些另一平台仅需要一个功能就可以完成的东西。在反方向上,解释器460把通用的结果转化成平台特定的结果形式。
[0063] 根据另一可选特征,插件270可以不仅包括用于执行逻辑的定义而且可以包括内容,如通过数据储存装置符号435所例证的。
[0064] 现有技术中众所周知的是,当用户将移动终端的摄像头指向2D条型码并用扫描应用捕获它时,扫描应用将把移动终端的浏览器定向至外部服务器以检索2D条型码引用的内容。根据本说明书的可选特征,由移动终端捕获的传感信息引用的这类内容检索可以在几个方面论述中得以增强。首先,引用外部内容的传感信息不限于条形码。相反,通过移动终端接收或捕获的任何传感信息可以用来引用外部内容,例如红外线信号、无线电台或微波信号,关于除条形码之外的特征的图像认别,等等。其次,接收的或捕获的传感信息所引用的内容不一定要从固定的已编程服务器(例如,统一资源定位符URL,在条型码中固定地编程)检索。相反,这样的内容可以从并非直接由条型码指示的源来检索。在一些实施例中,传感信息引用的内容可以从包含于插件270的数据储存装置435中检索。在一些实施例中,不同于那些编码在传感信息中的URL指示直接指示的,传感信息引用的内容参考可以从一个或多个外部(在线)服务器检索。另外,在一些实施例中,关于内容将从外部服务器还是内部源435检索的选择基于从移动终端的用户输入接收的用户输入。
[0065] 部分或全部的上述特征可以组合使用。例如,众所周知,在展会中的对象可以设置有条形码,所述条形码将移动终端的浏览器定向到在条形码中编码的URL地址。本说明书的可选功能可以用于增强移动终端的行为。例如,可以提供专门针对展会的插件270,其中插件270在内容数据储存装置435内含有内部旅游指南。当移动终端捕获条型码或接收表示用户存在于对象附近的其他一些种类信息的时候,插件可以拦截URL(或其它信息)并且从内部数据储存装置435和/或从除固定编程到条型码的服务器之外的服务器来检索内容。
[0066] 在另一示例中,传感信息是指定要支付的发票的条型码。数据安全和隐私可以通过实施进一步的可选特征来增强,其中,插件以伪随机方式选择多个可选通信信道之一以用于与用户的银行通信。多个可选通信信道可以包括可选技术,例如蜂窝连接、WLAN连接,等等。可选地或附加地,多个可选通信信道可以包括银行的服务器的网络地址。例如,假定插件(由银行提供)和银行服务系统共享保密算法,借助该算法,从问题到答案的通信资源(例如服务器地址)是变化的,入侵者不能有效地发送答案至那个发送问题的服务器地址。将服务器地址的从条型码中固定编程的服务器地址改变的其他原因可以是主服务器退出服务状态或过载。
[0067] 在图4中所示的简图中,事件420被示为用户接口事件。换句话说,图4显示了耦合到用户接口单元415的事件。在一些插件中,部分或全部事件420可以是除用户接口事件之外的事件。换句话说,部分或全部任务425可以通过除用户接口事件之外的事件被触发。例如,局限于本地的辐射(例如红外线、蓝牙、NFC等等)探测是可以自发事件,也就是说,不要求任何用户接口活动,被解释为通过API 450唤起470进一步的功能的事件。在一个示例中,移动终端位置的探测和/或局限于本地的辐射的探测可以唤起任务425,该任务含有要被执行的功能470的有序表。响应于移动终端位置的探测或靠近感兴趣的对象所唤起的任务425可以定义用于获得涉及感兴趣对象的全球或本地相关内容的功能。任务425可以进一步定义用于确定移动终端的朝向的功能。那样,假设用户正在看向与移动终端的朝向具有已知关联的方向,则由当前在用插件270定制的应用260可以确定移动终端的用户正在观看的特定对象。用于观察的直觉方向是移动终端摄像头的方向。
[0068] 在一个进一步的例子中,移动终端的用户参观动物园。在动物园的入口处,探测到本地传感信息,例如用移动终端摄像头捕获到条型码或探测到本地辐射,则触发应用从插件库检索动物园特定插件。当动物园特定插件是在用插件时,它定制应用的操作。作为事件420的例子,在感知到移动终端位置(例如通过GPS或本地传感器信息)时,插件可以唤起任务425,该任务请求应用唤起功能470以用于检索与用户附近的动物有关的内容。这些本地有关的内容可以从本地资源库检索,或者它可以例如以数据库的形式包含在插件中。插件可以确定,或请求应用确定,向移动终端摄像头方向的动物笼具含有动物X、Y和Z。插件可以进一步唤起功能以激活移动终端摄像头。用户接口事件的一个例子可以是在触控式显示器上的触摸输入的探测。现在,在显示器上的触摸输入的探测可以唤起任务以将触摸输入的区域与具有动物X、Y和Z的图片比较,具有动物X、Y和Z的图片是摄像头能够看见动物的图片。如果在触摸输入的区域与动物X、Y和Z之一的图有联系,插件可以显示与用户在显示器上指向的动物有关的内容。在本例中本地相关的信息表明在摄像头的视觉范围内的动物笼具含有动物X、Y和Z,这使识别用户所选择动物的任务与不具有动物是X、Y和Z之一的假设时识别动物的任务相比更加简单。这仅仅是使用将从通过API从应用请求的、作为有序的功能集的任务的一个例子。在本例中已排序的功能集包括确定移动终端位置和方向,并且基于移动终端位置和方向,检索位置和方向上有关的全球和本地内容。本领域技术人员可以认识到各种其他例子也是可能的。
[0069] 上述实施例着眼于在应用260和插件270之间责任分布。一种非常简短的处理方法(crystallization)是应用260确定移动终端能够获得和处理何种传感信息,以及移动终端如何获得传感信息。插件270依次指定移动终端的哪些功能将用于收集和处理传感信息、如何将功能连接到用户的当前上下文中的有关序列。借助于应用和插件之间责任的适当分布,本发明解决现有技术的问题,其中提供定制的内容典型地要求应用商店批准大量应用。
[0070] 除在应用和插件之间的前述责任分布之外,进一步的任务可以被指派到插件。例如,应用260可以提供用户接口单元的默认集,例如背景图像、菜单、按钮、选择框等等。这些默认的用户接口单元被使用除非插件通过提供上下文特定的用户接口单元覆盖它们。例如,参考图2,一个使用案例被描述,其中探测到局限于本地的辐射引起移动终端收集传感信息,例如位置和朝向,并根据用户使得移动终端指向的那个方向显示有关信息。在一些实施例中,应用260可以与覆盖部分或全部用户接口单元的特定插件270配合。例如,在百货商店中,默认用户接口单元可以被替换成百货商店的特定品牌UI单元。
[0071] 在一些实施例中,插件被配置为考虑链接的独立决策,即将通信从移动终端定向至网络地址或资源。例如,当前在用插件可以探测传感信息,例如含有网络地址(URL)的条型码或电磁辐射。代替将移动终端定向至探测到的URL,插件请求应用将通信从移动终端定向至另一网络地址,在一些实施例中可以取决于附加的考虑,如移动终端的位置、终端类型或平台、终端订户的身份或组,等等。下面将结合图5和6提供了一些详细范例。
[0072] 如结合图3B所述的,可能针对单一应用APP提供多个具有不同的功能的子集的插件。具有用于相同APP的多个插件的实施引起在图4的软件体系结构中的一些改变。例如,有多个插件270。可以存在选择多个插件之一作为当前在用插件的插件选择器(显示为在图3B中的项目3-36)。可选地,APP可以在用户接口上显示所有插件的所有用户接口单元410。如果用户选择的用户接口单元仅仅是由一个插件提供,则该插件的事件处理程序被使用。另一方面,如果用户选择的用户接口单元仅仅是由多个插件提供,则提供该用户接口单元的级别最高的插件的事件处理程序将被使用。例如,如果同样命名的用户接口单元由访问者插件和安全员插件提供,则安全员插件的事件处理程序将用于处理用户接口单元。
[0073] 图5是示出一实施方式的信号图,其中当前在用插件探测到例如条形码或局限于本地辐射的传感信息中的网络地址(URL)并且向用户提供可选或补充信息。步骤5-02是向应用发出的捕获传感信息的功能调用,其在步骤5-04中返回到插件。传感信息涉及感兴趣的对象并含有诸如网络地址(URL)的标识符,依据该标识符涉及感兴趣对象的信息通常可以被检索到。URL是环境标识符的一个例子,即从移动终端的环境捕获的标识符。在步骤5-06中,插件在传感信息中探测URL。在步骤5-08中,代替将移动终端定向至在环境标识符中固定被编程的URL,通过到应用的适当功能调用(图4中的项目435),插件从内部数据储存装置检索感兴趣的对象所特有的信息。在步骤5-10中,插件将从内部数据储存装置检索到的对象特定信息交付给用户接口。
[0074] 图6是示出另一实施方式的信号图,其中当前在用插件作出关于链接至外部网络资源的独立决策。从插件在移动终端捕获的传感信息中探测到网络地址(URL)的意义上来说,即步骤6-02至6-06,图中例子的开始与图5中相似。例如,插件通过扫描发票可以探测银行服务器的URL。可选地,通过移动终端的用户接口或从任何一些来源,插件可以获得URL。再次,在步骤6-08中,插件可以从内部数据储存装置检索一些对象特定的信息。在步骤6-10和6-12中,插件从用户接口请求和接收用户输入。通常移动终端现在应当将用户输入或基于用户输入的决策传送至例如银行服务器的外部服务器。在当前实施例中,可以通过银行提供的插件,以伪随机方式使用被标为外部服务器1、2和3的若干可选通信资源,如步骤6-
14至6-18所示。若干可选通信资源包括不同的网络地址(URL)、或者说,诸如文本传送、数据呼叫、电子邮件、http(s)、WLAN或者移动终端可用的任何任何通信技术。若干可选通信资源以伪随机方式的使用增强了数据安全性和私密性。例如,银行可以通过可选通信资源之一请求用户确认交易。在当前情况中,银行和插件可以在它们两者之间协商可选通信资源被使用的次序,侵入者或偷听者不知道银行预期接收用户的确认的通信资源。
[0075] 本领域技术人员可以认识到发明的原理可以在不脱离本发明的构思和范围的情况下以多种方式修改。