基于类别的围栏转让专利

申请号 : CN201910660957.1

文献号 : CN110213722B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : L·M·马蒂S·M·马

申请人 : 苹果公司

摘要 :

本发明描述了基于类别的围栏。基于类别的围栏可以对应于一组信号源而不是固定到纬度坐标和经度坐标的点位置。一组信号源可以表示实体的类别,例如,特定连锁企业。可以将信号源分布到多个离散位置。因此,与该组相关联的基于类别的围栏能够对应于多个位置而不是单个点位置和半径。该组中的每个信号源可以与该组唯一的类别标识符相关联并在该组中的信号源之间是一致的。可以将该类别标识符编程到每个信号源中。在移动设备检测到信号标识符时,移动设备能够通过进入离散位置中的任一位置而进入基于类别的围栏。该移动设备然后可以执行与基于类别的围栏相关联的应用程序。

权利要求 :

1.一种移动设备,包括:

一个或多个处理器;和

非暂时性存储设备,所述非暂时性存储设备存储指令,所述指令在由所述一个或多个处理器执行时使得所述一个或多个处理器执行操作,所述操作包括:通过位于第一位置处的移动设备检测来自第一信号源的第一信号,第一信号包括第一信号源标识符,第一信号源标识符匹配与基于类别的围栏相关联的类别标识符,所述基于类别的围栏是与位于多个位置处的一组信号源相对应的位置无意识虚拟围栏;

响应于检测到来自第一信号源的第一信号,触发所述移动设备的功能,所述功能与所述基于类别的围栏和规范相关联,所述规范指定所述功能要响应于所述移动设备进入所述基于类别的围栏而被激活;

通过位于与第一位置不同的第二位置处的所述移动设备检测来自第二信号源的第二信号,第二信号包括匹配所述类别标识符的第二信号源标识符;以及响应于检测到来自第二信号源的第二信号,在第二位置处的所述移动设备上触发与所述基于类别的围栏相关联的功能。

2.根据权利要求1所述的移动设备,其中,所述组中的每个信号源是以下中的至少一者:发射功率低于发射功率阈值的信号发射器,或

基于针对移动无线通信的IEEE 802.11x技术标准的无线接入点。

3.根据权利要求2所述的移动设备,其中,每个信号源是蓝牙低功耗BLE设备或近场通信NFC设备。

4.根据权利要求1至3中任一项所述的移动设备,所述操作包括通过对新信号源编程以广播所述类别标识符的至少一部分来将所述新信号源添加到所述基于类别的围栏。

5.根据权利要求1至3中任一项所述的移动设备,所述操作包括确定所述移动设备进入第一位置或第二位置,其中所述确定基于确定所述移动设备已从室外状态过渡到室内状态。

6.根据权利要求5所述的移动设备,所述操作包括在确定所述移动设备已进入第一位置或第二位置后:针对信号源广播扫描多个通信信道;

针对至少阈值次数的扫描,确定每次扫描中接收到的一个或多个信号源标识符中没有一个信号源标识符匹配所述类别标识符;

确定所述移动设备已退出所述基于类别的围栏;并且然后

禁用所述功能。

7.一种用于操作移动设备的方法,包括:

通过位于第一位置处的移动设备检测来自第一信号源的第一信号,第一信号包括第一信号源标识符,第一信号源标识符匹配与基于类别的围栏相关联的类别标识符,所述基于类别的围栏是与位于多个位置处的一组信号源相对应的位置无意识虚拟围栏;

响应于检测到来自第一信号源的第一信号,触发所述移动设备的功能,所述功能与所述基于类别的围栏和规范相关联,所述规范指定所述功能要响应于所述移动设备进入所述基于类别的围栏而被激活;

通过位于与第一位置不同的第二位置处的所述移动设备检测来自第二信号源的第二信号,第二信号包括匹配所述类别标识符的第二信号源标识符;以及响应于检测到来自第二信号源的第二信号,在第二位置处的所述移动设备上触发与所述基于类别的围栏相关联的功能。

8.根据权利要求7所述的方法,其中,所述组中的每个信号源是以下中的至少一者:发射功率低于发射功率阈值的信号发射器,或

基于针对移动无线通信的IEEE 802.11x技术标准的无线接入点。

9.根据权利要求7所述的方法,所述操作包括通过对新信号源编程以广播所述类别标识符的至少一部分来将所述新信号源添加到所述基于类别的围栏。

10.根据权利要求7所述的方法,还包括确定所述移动设备进入第一位置或第二位置,其中所述确定基于确定所述移动设备已从室外状态过渡到室内状态。

11.根据权利要求10所述的方法,还包括在确定所述移动设备已进入第一位置或第二位置后:针对信号源广播扫描多个通信信道;

针对至少阈值次数的扫描,确定每次扫描中接收到的一个或多个信号源标识符中没有一个信号源标识符匹配所述类别标识符;

确定所述移动设备已退出所述基于类别的围栏;并且然后

禁用所述功能。

12.一种存储指令的非暂时性存储设备,所述指令可操作以使一个或多个处理器执行根据权利要求7至11中任一项所述的方法。

13.一种用于操作应用程序的方法,包括:

通过移动设备检测来自特定位置处的信号源的信号;

确定所述信号中所包括的信号源标识符匹配与基于类别的围栏相对应的类别标识符,所述基于类别的围栏是与一组信号源相对应的位置无意识虚拟围栏,所述类别标识符对于所述一组信号源是共同的;

确定在所述特定位置处检测到所述信号的次数;

在确定所述信号源标识符匹配与所述基于类别的围栏相对应的所述类别标识符并且检测到所述信号的次数至少等于阈值数量时,通知所述移动设备的应用子系统所述移动设备已进入所述基于类别的围栏;以及响应于所述通知,在所述移动设备上激活与所述基于类别的围栏相对应的应用程序。

14.根据权利要求13所述的方法,还包括:

通过所述移动设备接收所述应用程序,包括接收与所述应用程序相关联的所述类别标识符;以及在接收到与所述应用程序相关联的所述类别标识符时,注册所述类别标识符以供所述移动设备监视。

15.根据权利要求13所述的方法,其中,所述基于类别的围栏分布在多个离散地理位置中,每个离散地理位置包括所述一组信号源中的一个或多个信号源,所述一个或多个信号源中的每个信号源被配置为广播所述类别标识符,以及其中,通知应用子系统所述移动设备已进入所述基于类别的围栏还包括确定所述移动设备已进入所述基于类别的围栏的离散地理位置之一。

16.根据权利要求15所述的方法,其中,确定所述移动设备已进入离散地理位置之一是基于确定所述移动设备已从室外状态过渡到室内状态的。

17.根据权利要求13所述的方法,还包括:

在进入所述基于类别的围栏后,针对信号源广播扫描多个通信信道,包括确定每次扫描中接收到的一个或多个信号源标识符;

针对至少第二阈值次数的扫描,确定每次扫描中接收到的所述一个或多个信号源标识符中没有一个信号源标识符匹配与所述基于类别的围栏相对应的所述类别标识符;

响应于确定每次扫描中接收到的所述一个或多个信号源标识符中没有一个信号源标识符匹配所述类别标识符,确定所述移动设备已退出所述基于类别的围栏;以及在确定所述移动设备已退出所述基于类别的围栏时,退出所述应用程序。

18.一种存储指令的非暂时性存储设备,所述指令可操作以使一个或多个处理器执行根据权利要求13至17中任一项所述的方法。

19.一种用于操作应用程序的系统,包括:

一个或多个处理器;和

存储介质,所述存储介质存储指令,所述指令可操作以使所述一个或多个处理器执行操作,所述操作包括:通过移动设备检测来自特定位置处的信号源的信号;

确定所述信号中所包括的信号源标识符匹配与基于类别的围栏相对应的类别标识符,所述基于类别的围栏是与一组信号源相对应的位置无意识虚拟围栏,所述类别标识符对于所述一组信号源是共同的;

确定在所述特定位置处检测到所述信号的次数;

在确定所述信号源标识符匹配与所述基于类别的围栏相对应的所述类别标识符并且检测到所述信号的次数至少等于阈值数量时,通知所述移动设备的应用子系统所述移动设备已进入所述基于类别的围栏;以及响应于所述通知,在所述移动设备上激活与所述基于类别的围栏相对应的应用程序。

20.根据权利要求19所述的系统,其中,所述操作还包括:通过所述移动设备接收所述应用程序,包括接收与所述应用程序相关联的所述类别标识符;以及在接收到与所述应用程序相关联的所述类别标识符时,注册所述类别标识符以供所述移动设备监视。

21.根据权利要求19所述的系统,其中,所述基于类别的围栏分布在多个离散地理位置中,每个离散地理位置包括所述一组信号源中的一个或多个信号源,所述一个或多个信号源中的每个信号源被配置为广播所述类别标识符,以及其中,通知应用子系统所述移动设备已进入所述基于类别的围栏还包括确定所述移动设备已进入所述基于类别的围栏的离散地理位置之一。

22.根据权利要求21所述的系统,其中,确定所述移动设备已进入离散地理位置之一是基于确定所述移动设备已从室外状态过渡到室内状态的。

23.根据权利要求19所述的系统,其中,所述操作还包括:在进入所述基于类别的围栏后,针对信号源广播扫描多个通信信道,包括确定每次扫描中接收到的一个或多个信号源标识符;

针对至少第二阈值次数的扫描,确定每次扫描中接收到的所述一个或多个信号源标识符中没有一个信号源标识符匹配与所述基于类别的围栏相对应的所述类别标识符;

响应于确定每次扫描中接收到的所述一个或多个信号源标识符中没有一个信号源标识符匹配所述类别标识符,确定所述移动设备已退出所述基于类别的围栏;以及在确定所述移动设备已退出所述基于类别的围栏时,退出所述应用程序。

24.根据权利要求19所述的系统,其中,所述类别标识符与对于所述一组信号源是唯一的并且对于所述一组信号源中的每个单独信号源是统一的通用唯一标识符UUID相对应。

25.根据权利要求19所述的系统,其中,所述操作还包括:使所述类别标识符的表示存储在所述一组信号源中的每个信号源上;以及使用多个离散位置指定所述基于类别的围栏,包括使所述一组信号源中的信号源被分布到离散位置,其中位于第一位置处的第一信号源的指定通信范围不到达第二信号源所位于的第二位置。

26.根据权利要求25所述的系统,其中,所述操作包括:通过添加新的离散位置来扩展所述基于类别的围栏,其中添加所述新的离散位置包括使附加信号源到所述一组信号源中,所述附加信号源置于所述新的离散位置处并且存储所述类别标识符的表示。

27.根据权利要求25所述的系统,其中,独立于纬度坐标或经度坐标限定所述基于类别的围栏。

28.根据权利要求19所述的系统,其中,所述一组信号源包括发射功率低于发射功率阈值的低功耗信号发射器、IEEE 802.11u无线信标、蓝牙低功耗BLE设备、或近场通信NFC设备中的至少一者。

说明书 :

基于类别的围栏

[0001] 本申请是申请日为2014年5月30日、申请号为201480032008.4、题为“基于类别的围栏”的发明专利申请的分案申请。

技术领域

[0002] 本公开整体涉及地理围栏。

背景技术

[0003] 一些移动设备具有用于提供基于位置的特征。例如,移动设备可以在移动设备进入或退出地理围栏时执行预先指定的应用程序或呈现特定内容。地理围栏可以由点位置和半径限定。点位置可以具有经度坐标和纬度坐标。移动设备能够通过确定移动设备的估计位置并计算估计位置和点位置之间的距离来确定移动设备已经进入地理围栏或退出地理围栏。基于计算的距离是否超过地理围栏的半径,移动设备能够确定移动设备是否进入或退出地理围栏。移动设备能够利用全球卫星系统(例如,GPS)或蜂窝三角测量技术来确定估计位置,其还包括经度坐标和纬度坐标。

发明内容

[0004] 描述了基于类别的围栏技术。一种基于类别的围栏可以是由不具有地理位置信息的信号源限定的位置无意识围栏。基于类别的围栏可以对应于一组信号源而不是固定到纬度坐标和经度坐标的点位置。一组信号源可以表示实体的类别,例如,特定连锁企业。每个信号源不需要具有关于信号源或移动设备在哪里的地理信息。类似地,移动设备不需要具有关于信号源在哪里的地理信息。可以将信号源分布到多个离散位置。因此,与该组相关联的基于类别的围栏能够对应于多个位置而不是单个点位置和半径。该组中的每个信号源可以与该组唯一的类别标识符相关联并在该组中的信号源之间是一致的。可以将该类别标识符编程到每个信号源中。在移动设备检测到信号标识符时,移动设备能够通过进入离散位置中的任一位置而进入基于类别的围栏。该移动装置然后可以执行与基于类别的围栏相关联的应用程序。
[0005] 可以实施本说明书中所描述的特征以实现以下优点。与常规地理围栏相比,基于类别的围栏允许实施更复杂的基于位置的服务。并非将地理围栏限制到单个点位置和半径,基于类别的围栏可以具有多个位置,它们可以对应于企业、政府或教育实体的分布式运营。例如,位于多个城市的零售连锁店能够为零售连锁店限定基于类别的围栏。基于类别的围栏可以在多个城市的每个城市中具有围栏的一部分。在客户带着移动设备走进任一城市中的任何商店中时,可以触发移动设备上向零售连锁店的客户提供促销信息的同一应用程序。
[0006] 与常规地理围栏相比,基于类别的围栏允许实施更灵活的基于位置的服务。在实施基于类别的围栏的企业迁移时,基于类别的围栏可以改变位置。例如,如果与基于类别的围栏相关联的企业从原来的位置搬到新位置,并不改变地理围栏的纬度坐标和经度坐标并广播该改变,企业可以将信号源从原来位置带到新位置,并完成围栏的改变。类似地,可以完成向基于类别的围栏添加新位置或从基于类别的围栏移除位置而不对围栏重新编程。可以通过在限定基于类别的围栏的组中添加广播与其他信号源广播的相同类别标识符的信号源来完成位置的添加。可以通过关闭该组中的信号源来完成位置的移除。
[0007] 与常规地理围栏相比,基于类别的围栏允许更高的间隔尺寸。由于可以由共享类别标识符的多个信号源来限定基于类别的围栏,所以信号源中的每个信号源可以是通信范围短(例如,在考虑到家具、墙壁或人体的衰减时,50米或更低)的低功耗信号源。短范围允许精确限定基于类别的围栏,这继而能够增强用户体验。例如,基于类别的围栏能够仅在客户携带手机进入餐馆时才触发应用以在移动设备上显示餐馆的新菜单。而取决于纬度坐标和经度坐标和GPS信号的常规地理围栏由于周围建筑物导致的GPS信号干扰可能在移动设备的用户不在餐馆时(例如,在用户走过那条街道时)就触发在移动设备上显示菜单。
[0008] 在附图和以下说明书中阐述了基于类别的围栏的一个或多个实施方式的细节。根据说明书、附图和权利要求,基于类别的围栏的其他特征、方面和优点将显而易见。

附图说明

[0009] 图1是示出示例性基于类别的围栏的图示。
[0010] 图2是示出示例性基于类别的围栏的动态修改的图示。
[0011] 图3是示出移动设备的示例性基于类别的围栏子系统的部件的框图。
[0012] 图4是使用基于类别标识符的基于类别的围栏来触发应用程序的示例性过程的流程图。
[0013] 图5是使用基于兴趣点列表的基于类别的围栏来触发应用程序的示例性过程的流程图。
[0014] 图6是创建基于类别的围栏的示例性过程的流程图。
[0015] 图7是用于实现创建基于类别的围栏的特征和操作的一种示例性系统架构的框图。
[0016] 图8是示出实现基于类别的围栏的特征和操作的移动设备的示例性设备架构的框图。
[0017] 图9是实现基于类别的围栏的特征和操作的移动设备的示例性网络操作环境的框图。
[0018] 各附图中的类似参考符号表示类似的元件。

具体实施方式

[0019] 示例性基于类别的围栏
[0020] 图1是示出示例性基于类别的围栏的图示。移动设备102可以是被编程控制以在移动设备102进入基于类别的围栏时执行应用程序的示例性电子设备(例如,平板计算机、膝上型计算机、智能电话或可穿戴计算设备)。可以由一组信号源限定基于类别的围栏,该组信号源例如包括信号源104,106和108。信号源104,106和108中的每个信号源可以是被配置为通过一个或多个预先指定的通信信道来广播标识符的无线信标。在一些具体实施中,信号源104,106和108是射频(RF)发射器。例如,信号源104,106和108可以是符合电气和电子工程师协会(IEEE)802.11u(Wi-FiTM)的信标。在一些具体实施中,信号源104,106和108可以是蓝牙TM低功耗(BLE)或近场通信(NFC)信标。信号源104,106和108可具有相同设备类型或不同设备类型。信号源104,106和108中的每个信号源可以在一个或多个指定的信道上广播标识符。
[0021] 可以对由信号源104,106和108中的每个信号源所广播的标识符进行编程。标识符的至少一部分可以是通用唯一标识符(UUID)。UUID可以是具有指定大小的数字(例如,128比特)。UUID可以对于一组信号源(例如,信号源104,106和108)是唯一的,并且对于该组中的每个单独信号源104,106或108是一致的。可以通过基于类别的围栏管理器110来对UUID进行编程。基于类别的围栏管理器110可以是计算设备(例如,服务器),其被配置为生成或以其他方式获得UUID并将生成的UUID与实体类别相关联。与类别相关联的UUID将被称为类别标识符(CID)。
[0022] 基于类别的围栏管理器110能够将与UUID相关联的实体类别限定为具有一个或多个物理存在的组织类别。在一些具体实施中,类别可以是一种类型组织的概括。例如,基于类别的围栏管理器110可以限定类别“杂货店”、“加油站”或“博物馆”。在一些具体实施中,类别可以表示特定组织。例如,基于类别的围栏管理器110可以限定类别“加利福尼亚大学”或“Century 12电影院”。在一些具体实施中,基于类别的围栏管理器110可以使CID存储在信号源104,106和108上,作为信号源104,106和108广播的标识符的至少一部分被广播。
[0023] 基于类别的围栏管理器110可以向应用服务器112提供CID。应用服务器112可以是将应用程序与对应CID相关联的计算设备,该应用程序例如是为一组实体显示广告的程序。应用程序可以是围栏触发的程序,其中进入或退出基于类别的围栏导致程序被激活或去激活。应用服务器112然后可以提供应用程序并将CID关联到移动设备102。
[0024] 信号源104,106和108可以在不同且离散的地点放置。例如,信号源104可以放置在地点114处。信号源106和108可以放置在地点116处。信号源104,106和108中的每个信号源可以具有覆盖区域,例如分别为覆盖区域124,126和128。覆盖区域124,126和128中的每个覆盖区域可以是围绕相应信号源的区域,在该区域内可以由移动设备102容易地检测到被相应信号源广播的标识符。覆盖区域124,126和128中的每个覆盖区域的大小可以分别对应于信号源104,106和108的通信范围。覆盖区域124,126和128如图1中圆形区域所示。在各具体实施中,覆盖区域124,126和128可以具有圆形之外的形状,例如,由地点114和116的物理结构限制的不规则形状。覆盖区域124,126和128不需要相同。覆盖区域124,126和128可以充分小,从而是离散的。例如,覆盖区域124,126和128被其信号源的通信范围分别限制在地点114和116的界限内,使得移动设备102能够在地点114处检测到信号源104,但不能在地点114处检测到信号源106或108。在信号源104,106或108中的至少一个信号源开始广播包括CID的标识符时,基于类别的围栏可以工作。
[0025] 在一些具体实施中,基于类别的围栏管理器110能够发布类别和对应CID的列表。以下表1示出了由基于类别的围栏管理器110发布的示例性列表的一部分。
[0026] 类别 CID杂货店 fd896290-6e29-11e2-bcfd-0800200c9a66
ABC商店 787520c0-6e2a-11e2-bcfd-0800200c9a66
[0027] 表1
[0028] 之后,可以通过添加广播类别的CID的新的信号源来扩展基于类别的围栏。例如,在“ABC商店”连锁在某地新开一家“ABC商店”时,可以在新位置处放置新的信号源,该新的信号源被编程以广播如表1中发布的对应CID。通过添加新的信号源并在给定地点处放置新的信号源可以扩展基于类别的围栏而无需向应用服务器112提交给定地点的位置来供移动设备102下载。
[0029] 移动设备102能够从应用服务器112获取围栏触发的应用程序,以及关联的CID。在无线子系统(例如,无线处理器和存储控制无线处理器的软件的存储器)的状态在M次扫描中从(1)未检测到基于类别的围栏的信号源变为(2)检测到基于类别的围栏的一个或多个源例如信号源104时,移动设备102能够检测到进入基于类别的围栏,其中M是预先指定的进入阈值次数。在无线子系统的状态在N次扫描中从(1)检测到基于类别的围栏的一个或多个源变化成(2)未检测基于类别的围栏的信号源例如信号源104,106或108中的任一个信号源时,移动设备102能够检测到离开基于类别的围栏,其中N是预先指定的退出阈值次数。在各具体实施中,进入阈值M可以比退出阈值N大、与退出阈值N相同或比退出阈值N小。检测可以包括从信号源104,106或108接收CID。
[0030] 在一些具体实施中,在移动设备102的应用子系统(例如,应用处理器和存储控制应用处理器的软件的存储器)处于“睡眠”(例如,省电)模式中时,可以由无线子系统执行对进入或退出的检测。在检测到进入或退出时,无线子系统能够激活应用子系统,并通知应用子系统,包括向应用子系统提供CID。应用子系统然后可以基于CID来激活或去激活围栏触发的应用程序。
[0031] 例如,移动设备102可以进入地点114。在进入时,移动设备102的无线子系统能够检测到来自信号源104的包括标识符的信号。移动设备102的无线子系统能够确定标识符的至少一部分匹配移动设备102的无线子系统处注册的CID。移动设备102的无线子系统然后能够通知移动设备102的应用子系统,该应用子系统继而能够激活(例如,执行)围栏触发的应用程序。即使在地点114和地点116彼此远离时,移动设备102也能够激活地点114或地点116中的任一个地点中的围栏触发的应用程序。此外,即使例如由于室内没有GPS信号或由于为省电而关闭了移动设备102的定位子系统,在移动设备102不能确定移动设备102的估计地理位置时,移动设备102也能够在地点114或地点116中的任一个地点中激活围栏触发的应用程序。
[0032] 图2是示出示例性基于类别的围栏的动态修改的图示。在示例性基于类别的围栏中,一开始,可以将具有覆盖区域124的信号源104放置在地点114处。信号源104能够广播CID,例如,与表1的类别“ABC商店”相关联的CID。类别“ABC商店”可以是连锁商店,包括多家实体店,其中之一位于地点114处。
[0033] 地点114处的实体店可能搬迁到新地点202。地点202可以是比地点114大的室外或室内场所,并且距地点114足够远,使得如果移动设备102位于地点202处,当信号源104位于地点114处时,移动设备102不能检测到来自信号源104的信号。
[0034] 基于类别“ABC商店”的围栏可能由于实体店的重新定位和地点大小的增大而变化。可以通过将信号源104从地点114移动到地点202来促进基于类别的围栏对应于商店位置变化的第一变化。可以通过添加更多信号源来促进基于类别的围栏对应于地点大小增大的第二变化。例如,信号源104可以是低功耗RF设备(例如,发射功率不超过10毫瓦(mW)的BLE信标)。信号源104的覆盖区域124可以足以覆盖地点114,但不足以覆盖地点202的全部。可以向基于类别的围栏添加附加的信号源204,206,208和210。信号源204,206,208和210可以是低功耗RF设备。在组合时,信号源104,204,206,208和210的覆盖区域124,214,216,218和220分别可以足以基本覆盖地点202的整体。信号源104,204,206,208和210可以各自存储与类别“ABC商店”相关联的CID,并被配置为广播该CID作为信标信号。
[0035] 在信号源104,204,206,208和210开始在新地点202处广播CID时,基于类别“ABC商店”的已变化围栏可以工作。在移动设备102进入地点202时,移动设备102能够检测来自信号源104,204,206,208和210中的任一个信号源的信号,并且在检测到时,触发与CID相关联的应用程序。触发的应用程序可以与信号源104位于地点114处时,移动设备102能够检测到来自信号源104的信号时,移动设备102将在地点114处触发的应用程序相同。例如,移动设备102先前在地点114处触发的应用程序和移动设备102在地点处现在触发的应用程序能够导致在移动设备102的屏幕224上显示用户界面222。无论具体商店物理上位于何处,用户界面222可以是与类别“ABC商店”相关联的用户界面。例如,用户界面222可以包括对于所有ABC商店通用的“欢迎来ABC商店”的消息,以及促销物品226和228。
[0036] 示例性设备部件
[0037] 图3是示出移动设备102的示例性基于类别的围栏子系统302的部件的框图。基于类别的围栏子系统302可以包括应用子系统304。应用子系统304可以包括被配置为执行应用程序的一个或多个处理器(例如,应用处理器)。应用子系统304可以包括应用服务器界面306。应用服务器界面306是应用子系统304的部件,其包括硬件和软件并且被配置为与应用服务器(例如,应用服务器112)通信并接收(例如,通过下载)一个或多个应用程序。通过应用服务器界面306接收的每个应用程序可以与CID相关联,并被配置为通过进入或退出与CID相关联的基于类别的围栏而被触发。
[0038] 应用子系统304可以包括应用管理器308。应用管理器308可以是应用子系统的被配置为存储、激活或去激活围栏触发的应用程序的部件。例如,应用管理器308能够存储和管理围栏触发的应用程序310和312。围栏触发的应用程序310和312中的每个应用程序可以与对应的CID和规范相关联。该规范能够规定,在移动设备102进入或退出对应的基于类别的围栏时,应当激活或去激活围栏触发的应用程序310或312。
[0039] 应用管理器308能够向无线子系统320注册CID。无线子系统320是基于类别的围栏子系统302的部件,其可以包括天线、无线处理器(例如,基带处理器)和软件或固件。无线子系统320可以包括CID注册表322。CID注册表322可以存储用于扫描的一个或多个CID。无线子系统320可以包括信号源接口324。信号源接口324是无线子系统320的部件,其被配置为针对来自信号源的信号扫描一个或多个通信信道,检测来自在扫描中检测到的信号的信号源标识符,并将检测到的信号源标识符与CID注册表322中存储的CID匹配。无线子系统320可以包括被配置为存储进入阈值(M)、退出阈值(N)或两者的扫描参数注册表326。信号源接口324可以在至少M次扫描中检测到或在至少N次扫描中未检测到匹配CID中的一个CID的信号源标识符时生成通知。无线子系统320可以向应用子系统304提供通知。通知可以包括针对其检测到匹配的一个或多个CID。
[0040] 在接收到通知时,应用子系统304可以确定是否激活(例如,执行)或去激活(例如从执行中退出)应用程序310或312。在激活应用程序时,应用程序可以通过用户界面管理器328呈现用户界面项目。用户界面管理器328可以是移动设备102的部件,其被配置为与用户交互,例如,通过向用户显示内容并从用户接收触摸或语音输入。用户界面项目可以是视觉项目(例如,屏幕上显示的欢迎消息)、音频项目(例如,合成或录制的语音消息)或物理项目(例如,移动设备102振动以提醒用户)。
[0041] 示例性过程
[0042] 图4是基于类别标识符使用基于类别的围栏来触发应用程序的示例性过程400的流程图。可以由移动设备102执行过程400。
[0043] 移动设备102能够通过应用服务器接口306从应用服务器接收(402)应用程序。应用程序可以是在进入基于类别的围栏时待被激活的围栏触发的应用程序。基于类别的围栏可以由多个信号源限定并对应于多个信号源。基于类别的围栏可以与包括信号源的信号源组的标识符(例如,CID)相关联。标识符可以包括对于该组而言唯一但由该组中的每个信号源共享并由对应信号源作为信标信号广播的UUID。
[0044] 基于类别的围栏可以分布于多个离散地理位置中。每个离散地理位置可以对应于该组中的信号源中的一个或多个信号源。信号源组中的每个信号源可以是发射功率低于发射功率阈值的低功耗信号发射器(例如,BLE信标或NFC信标)或基于针对移动无线通信的IEEE 802.11u技术标准的无线信标。
[0045] 移动设备102能够注册(404)与基于类别的围栏相关联的标识符,以利用应用管理器308进行监测。注册标识符可以包括在移动设备102的无线子系统320的CID注册表322中存储标识符。
[0046] 移动设备102能够利用信号源接口324来检测(406)来自信号源的信号。信号可以包括匹配注册的标识符的信号源标识符。信号的检测可以基于进入阈值。
[0047] 移动设备102能够基于信号源接口324检测到的信号标识符和CID注册表322中存储的CID之间的匹配来确定(408)移动设备102已经进入基于类别的围栏的离散地理位置中的一个位置。确定移动设备102已经进入离散地理位置中的一个位置还可以基于利用应用管理器308和移动设备102的一个或多个位置处理器确定移动设备102已经从室外状态过渡到室内状态。确定过渡可以包括例如确定移动设备102已经失去对GPS信号的接收。
[0048] 移动设备102能够在确定移动设备102已经进入离散地理位置中的一个位置时利用应用管理器308激活(410)应用程序。在一些具体实施中,在确定移动设备102已经进入离散地理位置中的一个位置之后,移动设备102能够执行用于检测围栏退出的操作。移动设备102能够针对信号源来扫描通信信道,并从每次扫描中接收到的信号确定一个或多个信号源标识符。移动设备102能够针对至少阈值次数的扫描确定每次扫描中接收到的一个或多个信号源标识符中没有任一个信号源标识符匹配注册的标识符。移动设备102然后能够确定移动设备102已经退出基于类别的围栏并退出了应用程序。
[0049] 图5是基于兴趣点列表使用基于类别的围栏来触发应用程序的示例性过程500的流程图。可以由移动设备102执行过程500。
[0050] 移动设备102能够确定(502)移动设备102的估计位置。该估计位置可以包括地理区域,例如,城市或直径X千米的地理区域。移动设备102能够使用GPS信号或无线三角测量来确定估计位置。
[0051] 移动设备102可以基于地理区域和类别标识符(CID)来确定(504)兴趣点数据库。CID可以与一组信号源相关联。移动设备102能够基于用户输入类别(例如,“杂货店”)和类别及对应CID的公布列表来指定该类别标识符。兴趣点数据库能够存储该组中的信号源的信号源标识符。该组中的信号源可以是放置在地理区域内的离散位置处的无线信标。CID可以由该组中的信号源共享并且由信号源广播。此外,每个信号源可以广播带有CID的各个标识符。单个标识符和CID能够形成信号源的信标广播有效载荷。
[0052] 移动设备102可以通过信道扫描来检测(506)信号源标识符。信道扫描可以包括利用移动设备102的无线子系统320调谐到信号源可用的频率信道中,确定是否可以在信道中接收信号,以及何时接收信号,以及确定信号中是否有信号源标识符。
[0053] 移动设备102能够确定(508)检测到的信号源标识符的至少一部分匹配兴趣点数据库中存储的CID。该部分可以是信号源标识符的UUID部分。移动设备102然后可以基于匹配来激活(510)与CID相关联的应用程序。
[0054] 在一些具体实施中,移动设备102可以确定(512)退出围栏。该退出围栏可以是围绕该地理区域的基于类别的围栏。移动设备102然后可以通过例如利用GPS信号来确定移动设备102不再位于移动设备102初始所处的城市来确定已经发生从退出围栏的退出。在确定退出时,移动设备102能够确定存储信号源标识符新列表的新兴趣点数据库。例如,当移动设备102已确定移动设备102已经从第一城市移动到第二城市时,移动设备102能够注册与位于第二城市中的“杂货店”类别对应的信号源标识符列表,并在新列表中扫描发现信号源标识符。
[0055] 图6是创建基于类别的围栏的示例性过程600的流程图。过程600可以由包括一个或多个处理器的系统执行,例如,包括基于类别的围栏管理器110或应用服务器112或两者的系统。
[0056] 该系统可以将唯一标识符与应用程序相关联(602)。该唯一标识符(例如,CID)可以表示基于类别的围栏。当移动设备102进入基于类别的围栏时,可以在移动设备102上激活该应用程序。
[0057] 该系统可以使(604)唯一标识符的表示存储在多个信号源上。信号源可以是发射功率低于发射功率阈值的低功耗信号发射器或基于针对移动无线通信的IEEE 802.11u技术标准的无线信标。
[0058] 该系统可以使用多个离散位置来限定(606)基于类别的围栏。限定基于类别的围栏可以包括使信号源分布到离散位置。当位于第一位置处的第一信号源的指定通信范围不达到第二信号源所位于的第二位置时,位置是离散的,或彼此不连接的。系统可以独立于纬度坐标或经度坐标来限定基于类别的围栏。例如,系统可以不利用每个离散位置的纬度坐标或经度坐标限定基于类别的围栏。
[0059] 系统可以使(608)移动设备102在移动设备102在任何离散位置处检测到唯一标识符时激活应用程序。使移动设备102激活应用程序可以包括与唯一标识符相关联地向移动设备102提供应用程序,并将应用程序指定为在移动设备102进入或退出基于类别的围栏时被触发的应用程序。
[0060] 在一些具体实施中,该系统可以通过添加新的离散位置来扩展基于类别的围栏。添加新的离散位置可以包括使附加的信号源存储特定于该类别的唯一标识符,并使附加的信号源被放置在新的离散位置处并广播唯一标识符。
[0061] 示例性系统架构
[0062] 图7是用于实现创建基于类别的围栏的特征和操作的示例性系统架构700的框图。也可以有其他架构,包括具有更多或更少部件的架构。在一些具体实施中,架构700包括一个或多个处理器702(例如,双核 处理器)、一个或多个输出设备704(例如
LCD)、一个或多个网络接口706、一个或多个输入设备708(例如,鼠标、键盘、触敏显示器)以及一个或多个计算机可读介质712(例如RAM、ROM、SDRAM、硬盘、光盘、闪存存储器等)。这些部件可以经由一个或多个通信通道710(例如总线)来交换通信和数据,该通信通道710可利用各种硬件和软件来促进部件之间的数据和控制信号的传输。
[0063] 术语“计算机可读介质”是指参与向处理器702提供指令以供执行的任何介质,包括但不限于:非易失性介质(例如光盘或磁盘)、易失性介质(例如存储器)和传输介质。传输介质包括但不限于同轴电缆、铜线和光纤。
[0064] 计算机可读介质712还可以包括操作系统714(例如,Mac server、Windows)、网络通信模块716、应用配置单元720、CID分布单元730和类别发布单元740。应用配置单元720可以包括用于使处理器702获得CID(通过生成CID或从UUID源接收CID)并将每个CID与应用程序相关联的指令。CID分布单元730可以包括用于使处理器702向一个或多个信号源提供CID以在信号源上存储的指令。类别发布单元740可以包括用于使处理器702发布一个或多个类别和对应CID的列表的指令,以允许动态扩展或改变基于类别的围栏。操作系统714可以是多用户、多处理、多任务、多线程、实时的等等。操作系统714执行基本任务,包括但不限于:识别来自设备706,708的输入并向设备706,708提供输出;保持跟踪并管理计算机可读介质712(例如,存储器或存储设备)上的文件和目录;控制外围设备;以及管理一个或多个通信信道710上的流量。网络通信模块716包括用于建立和维持网络连接的各种部件(例如用于实现诸如TCP/IP、HTTP等之类的通信协议的软件)。
[0065] 架构700可在并行处理或对等基础结构中实现或者在具有一个或多个处理器的单个设备上实现。软件可包括多个软件部件或者可以是单个代码主体。
[0066] 所描述的特征可有利地在能够在可编程系统上执行的一个或多个计算机程序中实现,该可编程系统包括至少一个输入设备、至少一个输出设备以及被耦接以从数据存储系统接收数据和指令并且将数据和指令发送到数据存储系统的至少一个可编程处理器。计算机程序是在计算机中可以直接或间接使用以执行某种活动或者产生某种结果的指令集。计算机程序能够以包括编译和解释语言在内的任何形式的编程语言(例如Objective-C、Java)来编程,并且其能够以任何形式部署,包括作为独立程序或者作为模块、部件、子例程、基于浏览器的web应用、或适于在计算环境中使用的其它单元。
[0067] 例如,用于执行指令的程序的合适处理器包括通用微处理器和专用微处理器两者,以及任何类型的计算机的多个处理器或内核中的一者或者唯一的处理器。一般来讲,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器。通常,计算机还将包括用于存储数据文件的一个或多个大容量存储设备或被操作性耦接以与一个或多个大容量存储设备通信;此类设备包括磁盘,例如内部硬盘和可移动磁盘;磁光盘;和光盘。适于有形地实现计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,例如包括半导体存储器设备,诸如EPROM、EEPROM、和闪存存储器设备;诸如内部硬盘和可移动磁盘的磁盘;磁光盘;和CD-ROM和DVD-ROM盘。处理器和存储器可由ASIC(专用集成电路)补充,或者被并入ASIC中。
[0068] 为了提供与用户的交互,这些特征可以在具有用于向用户显示信息的显示设备以及用户可用来向计算机提供输入的键盘和指向设备的计算机上实现,所述显示设备为诸如CRT(阴极射线管)或LCD(液晶显示器)监视器,所述指向设备为诸如鼠标或轨迹球。
[0069] 这些特征可在计算机系统中实现,该计算机系统包括后端部件诸如数据服务器,或者该计算机系统包括中间件部件诸如应用服务器或互联网服务器,或者该计算机系统包括前端部件诸如具有图形用户界面或互联网浏览器的客户端计算机或者它们的任何组合。系统的部件可通过任何形式的数字数据通信(诸如通信网络)或该数字数据通信的介质被连接。通信网络的示例包括例如LAN、WAN、以及形成互联网的计算机和网络。
[0070] 计算机系统可包括客户端和服务器。客户端和服务器一般是彼此远离的,并且通常通过网络进行交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
[0071] 示例性移动设备架构
[0072] 图8是示出实现基于类别的特征和操作的移动设备的示例性设备架构800的框图。移动设备(例如,移动设备102)能够包括存储器接口802、一个或多个数据处理器、图像处理器和/或处理器804,以及外围设备接口806。存储器接口802、一个或多个处理器804和/或外围设备接口806可为独立部件,或者可集成到一个或多个集成电路中。处理器804可以包括应用程序处理器、基带处理器和无线处理器。移动设备102中的各部件例如可由一条或多条通信总线或信号线耦接。
[0073] 可将传感器、设备和子系统耦接到外围设备接口806以促进多个功能。例如,可将运动传感器810、光传感器812以及接近传感器814耦接到外围设备接口806以促进移动设备的取向、照明和接近功能。可将位置处理器815(例如,GPS接收器)连接到外围设备接口806以提供地理定位。也可将电子磁力仪816(例如,集成电路芯片)连接到外围设备接口806,以提供可用于确定磁北方向的数据。因而,电子磁力仪816可用作电子罗盘。运动传感器810能够包括被配置为确定移动设备运动速度和方向变化的一个或多个加速计。气压计817能够包括连接到外围设备接口806并被配置为测量围绕移动设备的大气压力的一个或多个设备。
[0074] 可利用照相机子系统820和光学传感器822(例如,电荷耦合设备(CCD)或互补金属氧化物半导体(CMOS)光学传感器)来促进照相机功能,诸如拍摄照片和视频剪辑。
[0075] 可通过一个或多个无线通信子系统824来促进通信功能,所述无线通信子系统可包括射频接收器与发射器和/或光学(例如,红外)接收器与发射器。通信子系统824的具体设计与实现可取决于移动设备旨在通过其操作的通信网络。例如,移动设备可包括设计用于通过GSM网络、GPRS网络、EDGE网络、Wi-FiTM或WiMaxTM网络以及BluetoothTM网络操作的通信子系统824。具体地,无线通信子系统824可包括主机协议,使得移动设备可被配置为其他无线设备的基站。
[0076] 可将音频子系统826耦接到扬声器828和麦克风830,以促进启用语音的功能,诸如语音识别、语音复制、数字记录和电话功能。音频子系统826可以被配置为从用户接收语音命令。
[0077] I/O子系统840能够包括触摸表面控制器842和/或其他输入控制器844。可以将触摸表面控制器842耦接到触摸表面846或垫片。触摸表面846和触摸表面控制器842例如能够利用多种触敏技术中的任一种来检测接触和运动或其中断,触敏技术包括但不限于电容性、电阻性、红外和表面声波技术,以及用于确定与接触表面846接触的一个或多个点的其他接近传感器阵列或其他元件。触摸表面846能够包括例如触摸屏。
[0078] 可将其他一个或多个输入控制器844耦接到其他输入/控制设备848,诸如一个或多个按钮、摇臂开关、拇指滚轮、红外端口、USB端口和/或指针设备诸如触笔。一个或多个按钮(未示出)可包括用于扬声器828和/或麦克风830的音量控制的增大/减小按钮。
[0079] 在一种具体实施中,按下按钮第一持续时间能够解除触摸表面846的锁定;并且按下按钮比第一持续时间更长的第二持续时间能够打开或关闭通向移动设备102的电力。用户能够对按钮中的一个或多个按钮的功能进行自定义。例如,也可以使用触摸表面846实现虚拟或软按钮和/或键盘。
[0080] 在一些具体实施中,移动设备102可呈现记录的音频和/或视频文件,诸如MP3、AAC和MPEG文件。在一些具体实施中,计算设备102能够包括MP3播放器的功能。移动设备102因此可以包括与iPod兼容的针脚连接器。也可使用其他输入/输出以及控制设备。
[0081] 存储器接口802可以耦接到存储器850。存储器850可包括高速随机存取存储器和/或非易失性存储器,诸如一个或多个磁盘存储设备、一个或多个光学存储设备,和/或闪存存储器(如NAND、NOR)。存储器850可存储操作系统852,诸如Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS、iOS或嵌入式操作系统诸如VxWorks。操作系统852可包括用于处理基础系统服务以及用于执行硬件相关任务的指令。在一些具体实施中,操作系统852可以包括内核(例如,UNIX内核)。
[0082] 存储器850还可存储通信指令854,以促进与一个或多个附加设备、一个或多个计算机和/或一个或多个服务器通信。存储器850可以包括促进图形用户界面处理的图形用户界面指令856;促进传感器相关处理和功能的传感器处理指令858;促进电话相关过程和功能的电话指令860;促进电子消息相关过程和功能的电子消息指令862;促进网络浏览相关过程和功能的网络浏览指令864;促进媒体处理相关过程和功能的媒体处理指令866;促进GPS和导航相关过程和功能的GPS/导航指令868;促进相机相关过程和功能的相机指令870;促进磁强计校准的磁强计数据872和校准指令874。存储器850还可存储其他软件指令(未示出),诸如安全指令,用于促进与网络视频相关的过程和功能的网络视频指令,和/或用于促进与网上购物相关的过程和功能的网上购物指令。在一些具体实施中,媒体处理指令866分为音频处理指令和视频处理指令,以促进与音频处理相关的过程和功能以及与视频处理相关的过程和功能。还可将启动记录和国际移动设备识别码(IMEI)或类似硬件标识符存储在存储器850中。存储器850能够存储围栏指令876,在执行时,围栏指令能够使处理器804执行如下操作:生成围栏触发的应用程序或从服务器请求围栏触发的应用程序,管理围栏触发的应用程序,以及在通知移动设备102已经进入或退出基于类别的围栏时,激活或去激活围栏触发的应用程序。
[0083] 上面标识的指令和应用中的每一者可与用于执行上述一个或多个功能的指令集对应。这些指令不需要作为独立的软件程序、进程或模块来实施。存储器850可包括附加的指令或更少的指令。此外,可在硬件和/或软件中,包括在一个或多个信号处理和/或专用集成电路中,执行移动设备的各种功能。
[0084] 示例性操作环境
[0085] 图9是实现基于类别的围栏的特征和操作的移动设备的示例性网络操作环境900的框图。移动设备902a和902b可例如在数据通信中通过一个或多个有线和/或无线网络910来通信。例如,无线网络912(例如,蜂窝网络)可通过利用网关916与广域网(WAN)914诸如互联网通信。同样,接入设备918(诸如,802.11g无线接入点)可提供对广域网914的通信接入。移动设备902a和902b中的每个移动设备可以是移动设备102。
[0086] 在一些具体实施中,可以通过无线网络912和接入设备918建立语音和数据通信。例如,移动设备902a能够拨打和接收电话呼叫(例如,使用互联网语音协议(VoIP)),发送和接收电子邮件消息(例如,使用邮局协议3(POP3)),以及通过无线网络912、网关916和广域网914检索电子文档和/或流,诸如网页、照片和视频(例如,使用传输控制协议/互联网协议(TCP/IP)或用户数据报协议(UDP))。同样,在一些具体实施中,移动设备902b可通过接入设备918和广域网914来拨打和接收电话呼叫、发送和接收电子邮件消息以及检索电子文档。
在一些具体实施中,移动设备902a或902b可使用一条或多条电缆物理地连接到接入设备
918,并且接入设备918可为个人计算机。在此配置中,移动设备902a或902b可被称为“受限”设备。
[0087] 移动设备902a和902b也可以通过其他方式建立通信。例如,无线设备902a能够通过无线网络912与其他无线设备,例如其他移动设备、蜂窝电话等通信。同样,移动设备902a和902b可通过使用一个或多个通信子系统(诸如BluetoothTM通信设备)建立对等通信920,例如个人局域网。也可以实施其它通信协议和拓扑结构。
[0088] 移动设备902a或902b可例如通过所述一个或多个有线和/或无线网络与一个或多个服务930和940通信。例如,一个或多个基于类别的围栏服务930可以提供围栏触发的应用程序并将CID与移动设备902a和902b相关联。类别服务940能够向移动设备902a和902b提供发布的类别和对应的CID,使得移动设备902a和902b的用户能够通过向信号源存储对应于类别的CID来向类别围栏添加信号源,或通过改变信号源上存储的CID来修改信号源的类别。
[0089] 移动设备902a或902b能够与一个或多个信号源950通信。每个信号源950可以是被配置为广播信号源标识符的无线信标。信号源标识符可以包括CID。在一些具体实施中,每个信号源950可以通过广域网914与其他设备通信,或促进移动设备902a或902b与其他设备的通信。在一些具体实施中,每个信号源950可以独立于通信网络,并仅仅充当基于类别的围栏的信标。
[0090] 移动设备902a或902b还可通过一个或多个有线和/或无线网络访问其他数据和内容。例如,移动设备902a或902b可访问内容发布者,诸如新闻站点、真正简单联合(RSS)供稿、网站、博客、社交网站、开发者网络等等。可通过响应于用户触摸(例如网络对象)对网络浏览功能或应用程序(例如浏览器)进行调用来提供此类访问。
[0091] 已描述了本发明的若干实施方式。然而,应当理解,在不脱离本发明的实质和范围的情况下可作出各种修改。