减少交叠地理栅栏的制作方法

文档序号:11892880阅读:254来源:国知局
减少交叠地理栅栏的制作方法与工艺

当前,在计算设备(例如,智能电话、平板计算机、全球定位系统(“GPS”)计算设备、PDA等)以及其中嵌入有计算设备的更大型系统(例如,汽车、飞机、卡车、轮船,等等)上操作的许多应用包括跟踪计算设备的位置并在计算设备进入、保持在内、离开和/或缺席当前称为“地理栅栏”的一个或多个预定区域向用户提醒因计算设备的当前位置而异的信息的能力。

术语“地理栅栏”指的是定义在被满足时发起一些相关联的功能(例如,记录用户在该位置的在场、推送信息、发送警报、触发动作或应用,等等)的位置、区域、或边界的地理坐标集。地理栅栏可由坐标之间的复杂多边形或线组成,并且因此术语“地理栅栏”可以是定义周界的点或坐标的集合、中心点加半径、向量空间、或用于定义2D或3D区域或周界的任何其他数据结构。地理栅栏可由通过纬度、经度、以及海拔值定义的各点来指定,但各点也可由街道地址、道路交叉点等来定义。

地理栅栏可被实现在各种安全、广告、资产跟踪、库存控制、以及各种其他应用中或者在计算设备上操作的基于地理的系统中(本文称为“启用地理栅栏的应用”)。例如,用户智能电话上的用于影院的启用地理栅栏的应用可以在用户走进包括影院的购物中心且其地理栅栏涵盖该购物中心的各部分或整个区域时提醒用户降低的票价。

地理栅栏边界和服务可由地理栅栏服务器提供,其示例是Qualcomm支持的服务器。启用地理栅栏的应用接收来自地理栅栏服务器的邻近地理栅栏的地理特性/位置。当在计算设备上执行时,启用地理栅栏的应用持续地确定其位置——例如,通过计算设备的GPS接收机和/或通过Wi-Fi(例如,预测绘的Wi-Fi接入点位置)和/或蜂窝连接(例如,预测绘的蜂窝塔位置)——并将其位置与已知地理栅栏的位置相比较以确定地理栅栏准则是否被满足(例如,进入地理栅栏、离开地理栅栏、跨越地理栅栏边界,等等)。在启用地理栅栏的应用确定地理栅栏准则已被满足时,该应用可发起到地理栅栏服务器的通信以向该服务器通知地理栅栏事件,或者该应用可以在本地地消费该地理栅栏。在被发送到服务器时,地理栅栏服务器向计算设备发送某些适当的内容(例如,广告或优惠券)或指令,和/或发送该位置处的地理栅栏的经更新列表。当在计算设备上本地地消费时,启用地理栅栏的应用可向用户呈现已在计算设备上的内容(例如,高速缓存的与该位置相关的内容、对现有内容重新排序、高速缓存的广告,等等)和/或可以向内容服务器查询内容。

概述

各实施例提供了用于将与在同一计算设备上操作的一个或多个启用地理栅栏的应用相关联的交叠/地理上接近的地理栅栏组合成单个混合地理栅栏的系统以及在该系统中实现的方法。在一实施例中,该一个或多个启用地理栅栏的应用中的每一者可以监视混合地理栅栏,使得在计算设备跨越混合地理栅栏时,该一个或多个启用地理栅栏的应用可同时或近乎同时地检测混合地理栅栏已被满足。因而,该一个或多个启用地理栅栏的应用中的每一者可以同时与地理栅栏服务器通信,因为该一个或多个启用地理栅栏的应用中的每一者同时或近乎同时检测到混合地理栅栏何时被满足。因而,通过混合启用地理栅栏的应用的地理栅栏区域中的一者或多者,各实施例可降低该一个或多个启用地理栅栏的应用与地理栅栏服务器通信所需的总数据量、位置感测、和/或处理资源,从而改进电池寿命以及计算设备上的总体用户体验。

各实施例方法可以用软件来实现,且可由执行地理栅栏管理单元的地理栅栏服务器和/或计算设备处理器执行。在又一些实施例中,各实施例方法可以用地理栅栏服务器和/或计算设备上的硬件(例如,硬件组件或片上系统的形式)来实现。

在一实施例中,向在同一计算设备上操作的数个启用地理栅栏的应用提供混合地理栅栏可由地理栅栏服务器实现。地理栅栏服务器可以获得关于在计算设备上操作的所有启用地理栅栏的应用的通知,并且可以使用此信息来标识在计算设备上操作的该一个或多个启用地理栅栏的应用的交叠和/或紧密相邻的地理栅栏。地理栅栏服务器还可绘制涵盖被确定为相邻和/或交叠的这些地理栅栏中的一些或全部的单个混合地理栅栏。在另一实施例中,地理栅栏服务器可以向该计算设备上的一个或多个启用地理栅栏的应用中的与混合地理栅栏中包括的地理栅栏相关联的每一应用提供与混合地理栅栏有关的信息,从而使得该一个或多个应用共享共同的地理栅栏区域。

在一实施例中,地理栅栏服务器可以基于移动计算设备的当前位置将各地理栅栏组合成混合地理栅栏,诸如通过确定在地理上接近移动计算设备的当前位置的地理栅栏并将这些地理栅栏混合在一起。在一替换实施例中,地理栅栏服务器可以更一般地将各地理栅栏组合成混合地理栅栏,而不管移动设备的当前位置。具体而言,地理栅栏服务器可被配置成根据被确定为地理上彼此接近的各地理栅栏编组生成混合地理栅栏,而不管计算设备的当前位置。因而,在这样的实施例中,地理栅栏服务器可周期性地提前生成并存储各地理区域(例如,州或国家的整个区域)的满额混合地理栅栏,并可按需将这些所存储的混合地理栅栏中的一者或多者发送给计算设备,诸如响应于接收到对经更新的地理栅栏信息的请求或以“推送”数据的形式抢先发送给计算设备。

在又一些实施例中,为在同一计算设备上执行的一个或多个地理栅栏应用生成共同的混合地理栅栏的操作可由配置有用于执行各实施例方法的操作的处理器可执行指令的计算设备处理器来实现。在这样的实施例中,执行地理栅栏管理单元的计算设备处理器可以接收与启用地理栅栏的应用中的每一者的地理栅栏有关的信息,诸如来自启用地理栅栏的应用本身或来自地理栅栏服务器。使用此信息,执行地理栅栏管理单元的计算设备处理器可以将这些启用地理栅栏的应用中的一者或多者的地理栅栏重绘/组合成单个混合地理栅栏,并可将该混合地理栅栏发送给启用地理栅栏的应用中的与该混合地理栅栏中包括的地理栅栏相关联的每一应用。

在另一实施例中,在计算设备上执行地理栅栏管理单元的处理器可为在计算设备上操作的启用地理栅栏的应用周期性地创建并存储所有可能的可用混合地理栅栏(或所有可用混合地理栅栏的特定子集),而不管移动计算设备的当前位置。因而,在另一实施例中,独自地或响应于接收到来自计算设备上的应用的对经更新的地理栅栏信息的请求,执行地理栅栏管理单元的处理器可快速访问所存储的与计算设备上的启用地理栅栏的应用相关联的混合地理栅栏,并可将所存储的混合地理栅栏发送给该应用。换言之,执行地理栅栏管理单元的处理器可为启用地理栅栏的应用准备预生成的混合地理栅栏并可按需或按请求来将这些预制混合地理栅栏发送给应用。

在另一实施例中,在计算设备上操作的地理栅栏管理单元可代表在计算设备上执行的一个或多个启用地理栅栏的应用充当代理地理栅栏服务器。地理栅栏管理单元可以将在计算设备上操作的启用地理栅栏的应用的列表发送给地理栅栏服务器,并作为响应可接收混合地理栅栏。地理栅栏管理单元还可监视计算设备的位置(例如,经由GPS)以检测何时跨越混合地理栅栏。在跨越混合地理栅栏时,执行地理栅栏管理单元的计算设备处理器可以向与混合地理栅栏中包括的地理栅栏相关联的在计算设备上执行的每一启用地理栅栏的应用发送该混合地理栅栏准则被满足的通知。地理栅栏管理单元还可向地理栅栏服务器发送通知。在一替换实施例中,地理栅栏管理单元可以向与混合地理栅栏中包括的地理栅栏相关联的地理栅栏应用中的每一者发送该混合地理栅栏,并且这些启用地理栅栏的应用随后可如同它们直接从地理栅栏服务器接收到该混合地理栅栏那样地操作。

在一实施例中,执行地理栅栏管理单元的地理栅栏服务器和/或计算设备处理器可以在组合地理上接近的地理栅栏之前确定这些地理栅栏是否“适用于”混合。例如,执行地理栅栏管理单元的地理栅栏服务器和/或计算设备处理器可以执行对地理上接近的地理栅栏的分析以评估混合各地理栅栏是否将造成使底层启用地理栅栏的应用的基于位置的服务显著降级的混合地理栅栏(例如,基于地理栅栏的形状、大小、相关元数据,等等)。

在另一实施例中,执行地理栅栏管理单元的地理栅栏服务器和/或计算设备处理器可以确定地理上接近的地理栅栏是否被它们所关联的启用地理栅栏的应用准许混合。例如,在定义用于特定启用地理栅栏的应用的地理栅栏的过程期间,启用地理栅栏的应用的开发者可以指定该地理栅栏不可与另一地理栅栏混合。在又一示例中,启用地理栅栏的应用可包括向地理栅栏服务器和/或计算设备处理器指示与该应用相关联的一个或多个地理栅栏是否被准许混合的标志或另一值。

另一实施例是一种包括上述地理栅栏服务器和计算设备的系统,其中计算设备将在该计算设备上执行的启用地理栅栏的应用的列表发送给地理栅栏服务器,地理栅栏服务器如上所述地生成混合地理栅栏并如上所述地将混合地理栅栏发送回该计算设备以供在该计算设备上执行的地理栅栏管理单元使用。

附图简述

纳入于此且构成本说明书一部分的附图解说了本发明的示例性实施例,并与以上给出的概括描述和下面给出的详细描述一起用来解释本发明的特征。

图1是解说适于在各种方面中使用的示例通信系统的网络组件的通信系统框图。

图2是应用开发者、地理栅栏服务器、以及在计算设备上操作的启用地理栅栏的应用之间的典型信令和呼叫流。

图3A是一位置处的与不同的启用地理栅栏的应用相关联的交叠地理栅栏的图解。

图3B是根据一实施例的在一位置处的根据多个交叠地理栅栏生成的混合地理栅栏的图解。

图4A是解说用于基于计算设备的当前位置在地理栅栏服务器上为在计算设备上操作的报告应用生成混合地理栅栏的实施例方法的过程流程图。

图4B是解说用于在地理栅栏服务器上为计算设备生成混合地理栅栏的实施例方法的过程流程图。

图5是解说用于将与报告应用相关联的计算设备向地理栅栏服务器进行注册的实施例方法的过程流程图。

图6是解说用于确定向报告应用发送混合地理栅栏还是非混合地理栅栏信息的实施例方法的过程流程图。

图7A和7B是解说用于生成并存储与当前位置相关联的混合地理栅栏并将所存储的与当前位置相关联的混合地理栅栏发送给报告应用的实施例方法的过程流程图。

图8是解说一实施例计算设备中的示例逻辑组件和信息流的框图,该计算设备被配置成为在该计算设备上操作的启用地理栅栏的应用确定、生成和/或管理混合地理栅栏。

图9A是解说用于基于计算设备的当前位置从地理栅栏管理单元向在计算设备上操作的启用地理栅栏的应用发送混合地理栅栏的实施例方法的过程流程图。

图9B是解说用于从地理栅栏管理单元向在计算设备上操作的启用地理栅栏的应用发送混合地理栅栏的另一实施例方法的过程流程图。

图10A是解说用于在混合地理栅栏被满足时代表在计算设备上操作的启用地理栅栏的应用通知地理栅栏服务器的实施例方法的过程流程图。

图10B是解说用于在计算设备上实现代理服务器应用以监视并报告何时跨越从地理栅栏服务器接收到的混合地理栅栏的实施例方法的过程流程图。

图11是解说用于向与混合地理栅栏中包括的地理栅栏相关联的启用地理栅栏的应用发送该混合地理栅栏的实施例方法的过程流程图。

图12是解说用于从地理栅栏管理单元向计算设备上的报告应用发送混合地理栅栏的实施例方法的过程流程图。

图13是解说用于确定从地理栅栏管理单元向报告应用发送混合地理栅栏还是非混合地理栅栏信息的实施例方法的过程流程图。

图14A和14B是解说用于使用地理栅栏管理单元生成并存储与计算设备的当前位置相关联的混合地理栅栏并将所存储的与当前位置相关联的混合地理栅栏发送给报告应用的实施例方法的过程流程图。

图15A-15C是将地理上接近的地理栅栏组合成混合地理栅栏的图解。

图16是适于在一实施例中使用的计算设备的组件框图。

图17是适于在一方面中使用的网络服务器计算设备的组件框图。

详细描述

将参照附图详细描述各实施例。在可能之处,相同附图标记将贯穿附图用于指代相同或类似部分。对特定示例和实现所作的引用是用于解说性目的,而无意限定本发明或权利要求的范围。

有数种不同的蜂窝和移动通信服务和标准可用或在将来被构想,其皆可实现各实施例并受益于各实施例。此类服务和标准包括例如第三代伙伴项目(3GPP)、长期演进(LTE)系统、第三代无线移动通信技术(3G)、第四代无线移动通信技术(4G)、全球移动通信系统(GSM)、通用移动电信系统(UMTS)、3GSM、通用分组无线电服务(GPRS)、码分多址(CDMA)系统(例如cdmaOne)、增强数据率GSM演进(EDGE)、高级移动电话系统(AMPS)、数字AMPS(IS-136/TDMA)、演进数据优化(EV-DO)、数字增强型无绳电信(DECT)、微波接入全球互通(WiMAX)、无线局域网(WLAN)、Wi-Fi受保护接入I&II(WPA、WPA2)、以及综合数字增强网络(iden)。这些技术中的每一者涉及例如语音、数据、信令、和/或内容消息的传送和接收。应理解,对与个体电信标准或技术相关的术语和/或技术细节的任何引述是仅用于解说目的的,且并不意在将权利要求的范围限定于特定通信系统或技术,除非权利要求语言中有具体陈述。

术语“计算设备”在本文指代以下各项中的任一个或全部:蜂窝电话,智能电话,个人或移动多媒体播放器,个人数据助理(PDA),膝上型计算机,平板计算机,智能本,车载计算系统,陆、海、空导航系统,超级本,掌上计算机,无线电子邮件接收器,启用因特网的多媒体蜂窝电话,无线游戏控制器,以及包括存储器、可编程处理器以及GPS接收机或用于确定当前位置的其他装置的类似的个人电子设备。术语“计算设备”还包括具有处理器的嵌入式计算设备以及包括在较大计算设备或交通工具内的用于确定当前位置的装置,诸如集成在自行车、汽车、摩托车、飞机、小艇、轮船等内的计算系统和/或导航系统。

术语“启用地理栅栏的应用”在本文指的是在计算设备上操作的可利用或参与包括地理栅栏的基于位置的服务的应用。在各实施例中,启用地理栅栏的应用可以接收来自地理栅栏服务器和/或地理栅栏管理单元的与一个或多个地理栅栏有关的信息(例如,地理栅栏的形状、面积、周界,等等),并且在一方面,启用地理栅栏的应用可以使用这样的信息来监视特定区域中的一个或多个地理栅栏以确定其计算设备何时跨越这些地理栅栏之一的边界或以其他方式满足这些地理栅栏之一。

分开地对待每一启用地理栅栏的应用是常见的,从而意味着可能需要在计算设备上操作的每一启用地理栅栏的应用确定其地理栅栏边界是否已被满足,而不管该应用的地理栅栏边界与关联于该计算设备上的其他启用地理栅栏的应用的一个或多个其他地理栅栏边界是否接近或交叠。作为处置相接近的各地理栅栏区域的这一脱节办法的结果,常规计算设备在进入存在许多相邻且交叠的地理栅栏的区域时体验到性能的显著降低,诸如较高电池耗尽,因为该计算设备必须同时跟踪各相邻或交叠地理栅栏并且对于跨越的每一地理栅栏都与地理栅栏服务器通信。在应用的应用开发者绘制若干交叠或相邻地理栅栏时,这一情况也可影响单个启用地理栅栏的应用。

总而言之,各实施例提供了用于将与在同一计算设备上操作的一个或多个启用地理栅栏的应用相关联的交叠/地理上接近的地理栅栏组合成单个混合地理栅栏的系统以及在该系统中实现的方法。在一实施例中,该一个或多个启用地理栅栏的应用中的每一者可以监视混合地理栅栏,使得在计算设备跨越混合地理栅栏时,该一个或多个启用地理栅栏的应用可同时或近乎同时检测到混合地理栅栏已被满足。因而,该一个或多个启用地理栅栏的应用中的每一者可以同时与地理栅栏服务器通信,因为该一个或多个启用地理栅栏的应用中的每一者同时或近乎同时检测混合地理栅栏何时被满足。因而,通过混合启用地理栅栏的应用的地理栅栏区域中的一者或多者,各实施例可降低该一个或多个启用地理栅栏的应用与地理栅栏服务器通信所需的总数据量、位置感测、和/或处理资源,从而改进电池寿命以及计算设备上的总体用户体验。

各实施例方法可以用软件实现且由地理栅栏服务器执行。在又一些实施例中,各实施例方法可以用硬件组件或片上系统形式的硬件来实现。

在一实施例中,向在同一计算设备上操作的数个启用地理栅栏的应用提供混合地理栅栏可在地理栅栏服务器内实现。地理栅栏服务器可以获得关于计算设备上操作的所有启用地理栅栏的应用(例如,向地理栅栏服务器注册的所有应用)的通知,并且可以使用这一信息来标识在计算设备上操作的一个或多个启用地理栅栏的应用的交叠和/或紧密相邻的地理栅栏。地理栅栏服务器可以使用这一信息来绘制涵盖该一个或多个启用地理栅栏的应用的相邻和交叠地理栅栏中的一些或全部的单个混合地理栅栏。

在另一实施例中,地理栅栏服务器可以向该计算设备上的一个或多个启用地理栅栏的应用中的每一者提供与混合地理栅栏有关的信息,从而使得该一个或多个应用共享共同的地理栅栏区域。因为该一个或多个启用地理栅栏的应用中的每一者共享共同的地理栅栏区域,所以每一应用可同时或近乎同时检测到计算设备已跨越混合地理栅栏,从而使得计算设备能够同时或近乎同时为该一个或多个启用地理栅栏的应用中的每一者向地理栅栏服务器报告满足混合地理栅栏。结果,计算设备可以较不频繁地与地理栅栏服务器通信和/或尝试感测位置,从而节省系统资源和电池功率。

在一实施例中,响应于接收到来自在计算设备上操作的启用地理栅栏的应用(即,“报告应用”)的地理栅栏跨越通知,地理栅栏服务器可以确定与在报告应用的计算设备上的启用地理栅栏的应用中的一者或多者相关联的接近(例如,交叠)该计算设备的当前位置的地理栅栏。地理栅栏服务器可以将这些地理栅栏组合/重绘成单个混合地理栅栏区域,并且地理栅栏服务器可以将该混合地理栅栏的信息发送给报告应用。地理栅栏服务器可同时或稍后将同一混合地理栅栏信息发送给同一计算设备上的其他启用地理栅栏的应用,从而最终确保该一个或多个启用地理栅栏的应用中的每一者监视共同的地理栅栏(即,混合地理栅栏)。因而,这样的实施例可降低计算设备必须与地理栅栏服务器通信和/或尝试感测其计算设备的位置的时间量,因为最终,该一个或多个启用地理栅栏的应用可在同时跨越混合地理栅栏并同时或近乎同时将这些跨越报告给地理栅栏服务器。

在一实施例中,地理栅栏服务器可以实现用于混合在同一计算设备上操作的多个启用地理栅栏的应用的交叠地理栅栏或邻近地理栅栏的各种策略。在一实施例中,地理栅栏服务器可以将交叠/邻近地理栅栏组合成各种形状。例如,地理栅栏服务器可以基于地理栅栏周界来形成组合形状,创建封装各单独地理栅栏的较大地理栅栏,和/或确定所组合的地理栅栏的加权平均形状。权重可包括突破栅栏的概率、栅栏的大小、使用情况的所需准确度、使用情况所需的电池节省,等等。

在又一些实施例中,为在同一计算设备上执行的一个或多个地理栅栏应用生成共同的混合地理栅栏的操作可由配置有用于执行各实施例方法的操作的处理器可执行指令的计算设备处理器来实现。在这一实施例中,地理栅栏管理单元可在计算设备上执行以代表在计算设备上执行的一个或多个启用地理栅栏的应用充当代理地理栅栏服务器。在这一实施例中,地理栅栏管理单元可以接收来自启用地理栅栏的应用本身或来自地理栅栏服务器的、与启用地理栅栏的应用中的每一者的当前位置中的地理栅栏有关的信息。使用这一信息,地理栅栏管理单元可以将一个或多个启用地理栅栏的应用的在当前位置中的地理栅栏重绘/组合成单个混合地理栅栏。

在一实施例中,在计算设备的处理器上执行的地理栅栏管理单元可以监视计算设备的位置以检测何时跨越混合地理栅栏。在混合地理栅栏被跨越时,地理栅栏管理单元可以向在计算设备上执行的每一启用地理栅栏的应用发送地理栅栏准则被满足的通知。地理栅栏管理单元还可向地理栅栏服务器发送通知。这可以使每一应用能够独立地动作,如同它已确定它自己的地理栅栏被跨越一样。因为地理栅栏管理单元同时通知各启用地理栅栏的应用,所以到地理栅栏服务器的单个连接可被建立以支持所有应用。在一替换实施例中,地理栅栏管理单元可以向计算设备上的其他地理栅栏应用的每一个发送经重绘的地理栅栏,这些其他地理栅栏应用随后可如上所述地如同它们已接收到来自地理栅栏服务器的混合地理栅栏一样操作。

在一实施例中,地理栅栏管理单元可被实现为独立应用或软件服务或作为操作系统的一部分或以计算设备中的专用硬件(例如,在GPS芯片内部)来实现,等等。

各个实施例可实现在各种各样的通信系统内,诸如图1中解说的示例通信系统100。通信系统100可包括可被配置成使用各种技术来确定它的位置的计算设备102。

在一实施例中,计算设备102可包括配置成接收来自GPS卫星114的无线通信118并可基于这些接收到的通信118来确定其当前位置信息的GPS芯片组。计算设备102还可包括辅助GPS(A-GPS)功能性。

在另一实施例中,计算设备102可利用各种已知局部定位系统(诸如Wi-Fi定位系统或基于移动网络的定位系统)来确定其当前位置。例如,计算设备102可以通过无线连接120与无线接入点(图1中示为无线接入点108)通信,且计算设备102可以基于无线接入点108的已知位置来确定其当前位置。在另一示例中,计算设备102可基于从具有已知位置的基站(诸如从基站106)接收到的无线信号122来类似地确定其当前位置。

计算设备102还可利用混合定位系统,其中计算设备102使用GPS和局部定位系统的组合来确定其位置。因为GPS在开放区域中可能更精确但在室内或在高大建筑物之间可能工作不良,所以计算设备102可被配置成利用GPS结合一种或多种其他定位技术,诸如蜂窝塔信号、无线因特网信号、蓝牙信标、或其他局部定位系统来克服只使用GPS的限制。例如,计算设备102可以使用基于蜂窝塔信号的局部定位系统,这不受建筑物或恶劣天气的干扰。在另一示例中,计算设备102可以利用Wi-Fi定位系统作为GPS的补充来在具有高Wi-Fi密度的城区给出非常确切的定位。

计算设备102可被配置成连接到因特网112。例如,计算设备102可被配置成经由通过无线接入点108(诸如Wi-Fi接入点)建立的无线连接120连接到因特网112。无线接入点108可以通过有线连接124来与因特网112连接。另外,计算设备102和蜂窝塔台或基站106可以经由蜂窝连接122来交换数据,蜂窝连接122可以是CDMA、TDMA、GSM、PCS、3G、4G、LTE或任何其他类型的蜂窝连接。蜂窝塔或基站106可以通过有线连接126与因特网112连接。

在一实施例中,计算设备102可包括一个或多个启用地理栅栏的应用。启用地理栅栏的应用中的一者或多者中的每一者可以管理与该特定启用地理栅栏的应用相关联的一个或多个地理栅栏(即,与现实世界地理区域相关联的虚拟周界)。启用地理栅栏的应用中的一者或多者中的每一者可以利用计算设备102的定位能力来确定计算设备102是否已跨越其地理栅栏之一的周界(即,满足该地理栅栏)。在计算设备102满足与启用地理栅栏的应用相关联的地理栅栏时,该应用可以向地理栅栏服务器114报告该跨越并请求经更新的地理栅栏信息,诸如接近计算设备102的当前位置的地理栅栏的位置。

在一实施例中,地理栅栏服务器114可被配置成管理并更新在各计算设备(诸如计算设备102)上操作的启用地理栅栏的应用的地理栅栏信息。地理栅栏服务器114可以与地理栅栏信息数据库116通信,它可存储与特定启用地理栅栏的应用相关联的地理栅栏区域。地理栅栏服务器114可通过有线连接130连接到因特网112并且因而可能够接收来自启用地理栅栏的应用的地理栅栏信息请求并向其发送经更新的地理栅栏信息。

图2解说了用于根据已知技术在启用地理栅栏的应用上实现基于位置的服务的信令和呼叫流200。

当前,应用开发者可以向在地理栅栏服务器114上操作的地理栅栏服务(例如,Qualcomm的平台)注册应用。应用开发者的计算机202和地理栅栏服务器114可以交换各种应用注册通信207。例如,应用开发者可以向地理栅栏服务器114提供与其应用有关的各种细节;地理栅栏服务器可以执行各种确认、验证和/或质量保证测试来测试该应用是否兼容地理栅栏服务;并且在接收到批准后,应用开发者可包括从地理栅栏服务接收到的代码或指令(例如,软件开发套件或SDK)以嵌入该应用来使开发者的应用能够与地理栅栏服务器114通信(例如,以启用地理栅栏能力)。

在注册过程之后,应用开发者的计算机202可以通过管理门户或应用编程接口(API)访问地理栅栏服务以定义用于该应用206的一个或多个地理栅栏。例如,应用开发者的计算机202可以向地理栅栏服务器114发送描述地理栅栏的周界、形状、大小等的信息(例如,一个或多个地理栅栏定义208)。地理栅栏服务器114可以在操作210中将一个或多个地理栅栏定义208与开发者的应用206相关联。

此时,计算设备102的用户可以下载应用开发者的计算机202在计算设备102上创建的启用地理栅栏的应用206。用户还可运行启用地理栅栏的应用206以使启用地理栅栏的应用206能够与地理栅栏服务器114通信。例如,启用地理栅栏的应用206可以与地理栅栏服务器114通信并且接收包括一个或多个地理栅栏定义208的地理栅栏信息212。

在接收到地理栅栏信息212后,应用206在操作214确定计算设备102的当前位置(例如,纬度和经度)。如以上参考图1所述,应用206可以利用计算设备102上可用的各种基于位置的系统或能力,诸如GPS或基于Wi-Fi的定位服务。应用206随后在操作216基于计算设备102的当前位置来确定地理栅栏跨越已发生。启用地理栅栏的应用206继续监视计算设备的当前位置,直至它确定计算设备已满足地理栅栏。

在应用206认识到计算设备已跨越地理栅栏(例如,一个或多个地理栅栏定义208中所定义的地理栅栏)之后,启用地理栅栏的应用206可以向地理栅栏服务器114发送地理栅栏跨越通知218。地理栅栏跨越通知218可提醒地理栅栏服务器与地理栅栏跨越相关的动作必然发生(例如,向计算设备的用户推送通知)。同样,地理栅栏服务器114可以基于来自应用开发者的计算机202的一个或多个地理栅栏定义208向启用地理栅栏的应用206发送可包括与计算设备102的当前位置中的最近添加的地理栅栏或其他地理栅栏有关的信息的经更新的地理栅栏信息220。

图3A和3B解说彼此交叠或紧密相邻的地理栅栏区域的示例表示的覆盖图300、320。

图3A解说与同一计算设备上的不同启用地理栅栏的应用相关联的各单独地理栅栏的覆盖图300。

如上所述,计算设备102可包括各种启用地理栅栏的应用。启用地理栅栏的应用可由各种组织、公司、事件等开发和/或相关联。例如,特定店铺的所有者可开发启用地理栅栏的应用以向消费者通知该店铺的当前库存和该店铺的每日特价。

在一示例中,计算设备102可包括三个启用地理栅栏的应用。第一启用地理栅栏的应用可以是用于特定零售店的应用,且第一启用地理栅栏的应用可能正在监视围绕该零售店(即,店铺302)的物理位置的第一地理栅栏308。如以上参考图2所述,店铺的所有者可能先前向地理栅栏服务定义了地理栅栏308,并且与该地理栅栏服务相关联的地理栅栏服务器可已向第一启用地理栅栏的应用发送了地理栅栏信息以使第一启用地理栅栏的应用能够开始监视地理栅栏308(例如,以开始实现用于店铺302的基于位置的服务)

类似地,第二启用地理栅栏的应用可能正监视围绕影院304的第二地理栅栏310,且第三启用地理栅栏的应用可能正监视围绕餐馆306的第三地理栅栏312。在另一实施例中,地理栅栏308、310、312可以与单个启用地理栅栏的应用相关联,诸如由开发者为购物中心创建的应用。

如在图3A中所示,开发者可定义地理栅栏308、310、312的边界以创建各种不同形状和大小。例如,地理栅栏308是矩形,地理栅栏310是菱形,而地理栅栏312是圆形。尽管未示出,但可以预见,地理栅栏可符合近乎任何二维或三维形状。

实际上,地理栅栏区域可由于实现的限制而具有最小有效半径。例如,使用GPS的计算设备可经由仅50米的最小有效范围。结果,地理栅栏可与其他相邻地理栅栏区域频繁交叠,尤其是在密集位置中,诸如购物中心和商业区。因而,如在图3A所示,可以存在其中地理栅栏308、310、312中的两者或更多者交叠与以其他方式相邻的区域。

地理栅栏可因应用而非计算设备而异,所以在计算设备上的多个应用正在实现地理栅栏时,该计算设备上的每一启用地理栅栏的应用独立地确定它是否跨越其地理栅栏之一并在跨越地理栅栏之后联系地理栅栏服务器来获得经更新的地理栅栏参数信息。例如,计算设备可包括独立地监视购物中心区域中的若干地理栅栏的多个启用地理栅栏的应用。因为由启用地理栅栏的应用监视的地理栅栏中的一些或全部可交叠或可紧密相邻,所以启用地理栅栏的应用可独立地使用位置感测半径(例如,GPS、Wi-Fi、蓝牙、蜂窝,等等)来确定地理栅栏是否已被跨越并且每当它们相应的地理栅栏被跨越时就在短时间内联系地理栅栏服务器,从而潜在地花费计算设备上的相当量的电池功率和/或处理资源。换言之,在计算设备包括独立地跟踪交叠或相近地理栅栏区域的应用时,计算设备可能必须重复使用位置感测无线电装置来获得经更新的位置锁定,这消耗电池功率,且在一些应用中还在接近若干相邻地理栅栏的位置时与地理栅栏服务器通信并从中接收经更新的地理栅栏参数信息(即,具有获得满足的地理栅栏的每一应用至少一次),这也消耗电池功率。在单个启用地理栅栏的应用时具有同一区域中的多个交叠或近乎交叠的地理栅栏时(诸如用于包括每一店铺的地理栅栏的购物中心的应用),这一情况也可发生。

如在图3A中所示,在用户316沿路径314走向店铺302时,用户的计算设备(未示出)可能必须使用位置感测无线电装置来检测跨越地理栅栏308、310、312,并在每当第一、第二、和第三启用地理栅栏的应用中的任一者的地理栅栏308、310、312被跨越时与地理栅栏服务器通信。此外,因为地理栅栏308、310、312交叠,所以在用户316沿路径314走动时计算设备可能必须以高频率使用位置感测无线电装置来检测跨越地理栅栏308、310、312,且计算设备还必须在短时间量内与地理栅栏服务器通信若干次,从而造成对计算设备的无线电收发机、处理器以及电池的过量需求。例如,在用户316走向店铺302时,计算设备可能必须检测五次地理栅栏跨越并且与地理栅栏服务器快速连贯地通信五次(即,每次计算设备穿过地理栅栏跨越点318a-318e之一时一次)

图3B解说通过组合与同一计算设备上的一个或多个启用地理栅栏的应用相关联的多个交叠或相邻地理栅栏308、310和312来生成的单个混合地理栅栏322的示图320。

在一实施例中,地理栅栏服务器可以识别同一计算设备上的一个或多个启用地理栅栏的应用何时具有交叠或相邻地理栅栏并且将这些地理栅栏混合以创建单个混合地理栅栏。通过混合分开的、交叠或相邻地理栅栏,地理栅栏服务器可以降低和/或改进在同一计算设备上操作的启用地理栅栏的应用之间的同步,从而使计算设备能够花费更少时间和/或功率来检测地理栅栏跨越和/或代表启用地理栅栏的应用与地理栅栏服务器通信。

在又一些实施例中,在计算设备上操作的地理栅栏管理单元应用可以混合在同一计算设备上操作的启用地理栅栏的应用的地理栅栏。

如在图3B中所示,地理栅栏服务器可以识别第一、第二和第三启用地理栅栏的应用在计算设备上操作并可将地理栅栏308、310、312组合成单个混合地理栅栏322。在一实施例中,地理栅栏服务器可以使用各种技术来将多个地理栅栏组合成单个混合地理栅栏,如在下文参考图15A-15C进一步描述的。

在组合地理栅栏308、310、312之后,地理栅栏服务器(或地理栅栏管理单元)可以将混合地理栅栏322发送到第一、第二和第三启用地理栅栏的应用来作为经更新的地理栅栏信息。因而,在一实施例中,地理栅栏服务器可以用混合地理栅栏322替换第一、第二和第三启用地理栅栏的应用的分开的地理栅栏308、310、312,从而意味着每一应用可开始监视混合地理栅栏322。

因为第一、第二和第三启用地理栅栏的应用可以监视同一混合地理栅栏322,所以第一、第二和第三启用地理栅栏的应用可同时或近乎同时地识别混合地理栅栏322被跨越的时间,并且计算设备可代表第一、第二和第三启用地理栅栏的应用将地理栅栏跨越同时或近乎同时地报告给地理栅栏服务器,从而降低计算设备可使用位置感测无线电装置检测地理栅栏跨越以及与地理栅栏服务器通信所花费的时间量和/或功率量。

例如,如在图3B所示,在用户316沿路径314走向店铺302时,用户316的计算设备可在一个地理栅栏跨越点324处跨越混合地理栅栏322,此时对于在计算设备上操作的每一启用地理栅栏的应用,地理栅栏边界可被满足。因而,并非如以上在图3A中所述地检测五个分开的地理栅栏跨越点318a-318e并在地理栅栏跨越点318a-318e中的每一者处与地理栅栏服务器通信五次,计算设备可改为只需检测一个跨越点并且对于启用地理栅栏的应用的每一个与地理栅栏服务器通信一次(例如,在同一传输中),因为启用地理栅栏的应用正监视相同混合地理栅栏322并且因而同时或近乎同时地识别出混合地理栅栏322何时被跨越。

图4A和4B解说可由在服务器上执行的处理器执行的实施例方法400、430,用于生成混合地理栅栏以供在计算设备上操作的启用地理栅栏的应用使用或由在计算设备上操作的地理栅栏管理单元使用,地理栅栏管理单元代表其地理栅栏被涵盖在混合地理栅栏的应用来监视混合地理栅栏。

方法400的操作实现其中服务器可混合被确定为在地理上接近计算设备的当前位置的地理栅栏的实施例。通过集中于地理上接近计算设备的当前位置的地理栅栏,服务器可利用大多数计算设备用户停留在相对小的地理区域内的趋势来生成合理数量的有用混合地理栅栏。例如,并非组合跨整个国家定位的地理栅栏,服务器可只组合接近用户的家或工作地点的地理栅栏。

在又一些实施例中,诸如以下参考图4B描述的,地理栅栏服务器可以更一般地将地理栅栏组合成混合地理栅栏,而不管移动设备的当前位置。具体而言,地理栅栏服务器可被配置成根据被确定为地理上彼此接近的各地理栅栏编组生成混合地理栅栏,而不管计算设备的当前位置。因而,在这样的实施例中,地理栅栏服务器可提前生成各地理区域(例如,州或国家的整个区域)的满额混合地理栅栏,并可按需将这些混合地理栅栏中的一者或多者发送给计算设备,诸如响应于接收地理栅栏跨越通知或以“推送”数据的形式抢先发送给计算设备。

为易于描述,各实施例(诸如下文参考图4A-7B描述的那些)可包括包含或依赖于计算设备的当前位置的操作。然而,对计算设备的当前位置的任何引用或依赖不旨在限制权利要求的范围,除非在权利要求中明确叙述。

图4A解说可被实现在地理栅栏服务器上以用于将与在同一计算设备上操作的不同启用地理栅栏的应用相关联的多个地理栅栏组合成单个混合地理栅栏的实施例方法400。在一实施例中,地理栅栏服务器可以将混合地理栅栏发送给在同一计算设备上操作的启用地理栅栏的应用,以使得启用地理栅栏的应用监视同一地理栅栏并且因而同时或近乎同时地检测混合地理栅栏何时被满足。

在框402,地理栅栏服务器可以监视来自报告应用的地理栅栏跨越通知。在一实施例中,报告应用可以是在计算设备上操作的启用地理栅栏的应用,并且报告应用可基于经由位置感测无线电装置确定的其计算设备的当前位置已检测到地理栅栏已被跨越。响应于检测到地理栅栏已被跨越,报告应用可以将地理栅栏跨越通知(例如,消息)发送给地理栅栏服务器,如以上参考图2所描述的。

在另一实施例中,地理栅栏跨越通知可包括地理栅栏服务器可能需要以向报告应用提供基于位置的服务的信息。例如,地理栅栏跨越通知可包括报告应用的身份、报告应用的计算设备的身份、计算设备的当前位置、用户的身份(例如,用户的电话号码和电子邮件地址),等等。

在判定框404,地理栅栏服务器可以确定它是否已接收到来自报告应用的地理栅栏跨越通知。在地理栅栏服务器确定它尚未接收到来自报告应用的地理栅栏跨越通知时(即,判定框404=“否”),地理栅栏服务器可持续重复判定框404中的过程以识别它何时已接收到来自报告应用的地理栅栏跨越通知。在一实施例中,地理栅栏服务器可保持空闲或低功率状态,直至它接收到地理栅栏跨越通知。

在地理栅栏服务器确定它已接收到来自报告应用的地理栅栏跨越通知(即,判定框404=“是”)时,在报告应用的计算设备先前没有向地理栅栏服务器注册时,地理栅栏服务器可以在框406注册报告应用的计算设备。在一实施例中,地理栅栏服务器可以通过记录地理栅栏跨越通知中包括的计算设备的标识信息并将计算设备与报告应用相关联来注册报告应用的计算设备。注册计算设备在下文参考图5进一步描述。

在框408,地理栅栏服务器可以确定报告应用的计算设备的当前位置。如上所述,地理栅栏服务器可以接收报告应用的计算设备的当前位置作为接收自报告应用的地理栅栏跨越通知的一部分。在另一实施例中,地理栅栏服务器可以向报告应用发送请求其计算设备的当前位置的信号。

在框410,地理栅栏服务器可以确定与报告应用的计算设备相关联的启用地理栅栏的应用。在一实施例中,地理栅栏服务器可以维持启用地理栅栏的应用与它们的计算设备之间的关联,诸如如以上参考图406所述地注册启用地理栅栏的应用的计算设备,并且地理栅栏服务器可以使用这些关联来确定报告应用的计算设备上包括的(即,与其相关联的)其他启用地理栅栏的应用。例如,地理栅栏服务器可以使用报告应用的计算设备的标识准则执行数据库查找来确定与该计算设备相关联的启用地理栅栏的应用(包括报告应用)。

在框412,地理栅栏服务器可以确定与报告应用的计算设备上的启用地理栅栏的应用相关联的地理栅栏。例如,如以上参考图3A所示,除报告应用(例如,第一启用地理栅栏的应用)之外,地理栅栏服务器可以确定存在计算设备上操作的两个其他启用地理栅栏的应用(例如,第二和第三启用地理栅栏的应用)且每一启用地理栅栏的应用具有一个或多个地理栅栏。在另一实施例中,地理栅栏可以用单个启用地理栅栏的应用相关联。

在框414,地理栅栏服务器可以确定在地理上接近报告应用的计算设备的当前位置的地理栅栏。在一实施例中,地理栅栏服务器可以执行各种计算来确定报告应用的计算设备上的启用地理栅栏的应用的地理栅栏是否交叠和/或紧密相邻(即在地理上接近)。例如,地理栅栏服务器可以确定计算设备的当前区域中的各地理栅栏中的每一者的区域和/或周界,并可确定多个地理栅栏是否具有交叠和/或近乎交叠的区域和/或周界。在另一实施例中,地理栅栏可在地理上接近而不交叠,诸如在两个地理栅栏处于彼此的某一距离内时。

在框416,地理栅栏服务器可以将当前位置处的地理上接近的地理栅栏组合成混合地理栅栏。地理栅栏服务器可以实现各种技术来组合地理栅栏。例如,地理栅栏服务器可以生成涵盖地理上接近的分开的地理栅栏中的每一者的混合地理栅栏,或者地理栅栏服务器可以使用地理栅栏的形状的加权平均来创建表示地理栅栏的中心形状的混合地理栅栏。将地理栅栏组合成混合地理栅栏在下文参考图15A-15C进一步描述。

在框418,地理栅栏服务器可以将混合地理栅栏发送给计算设备,诸如发送给报告应用。因而,在一实施例中,在接收到混合地理栅栏之后,报告应用可以开始使用混合地理栅栏代替由报告应用的开发者所定义的地理栅栏来监视地理栅栏跨越。

在另一实施例中,在可任选框420,地理栅栏服务器可以将混合地理栅栏发送给与报告应用的计算设备相关联的其他启用地理栅栏的应用。例如,地理栅栏服务器可以将混合地理栅栏“推送”给同一计算设备上的每一启用地理栅栏的应用,以使得这些启用地理栅栏的应用立即开始监视同一地理栅栏。

地理栅栏服务器可以执行返回到框402的持续循环中的实施例过程,以使得地理栅栏服务器持续监视它是否已接收到来自另一报告应用的地理栅栏跨越通知。在一实施例中,地理栅栏服务器可最终接收到来自在同一计算设备上的每一启用地理栅栏的应用的地理栅栏跨越通知,并且可以执行该实施例过程以向这些启用地理栅栏的应用中的每一者发送共同的混合地理栅栏来监视。因而,具有计算设备的当前区域中的地理栅栏的启用地理栅栏的应用中的每一者可共享相同的混合地理栅栏,并且作为启用地理栅栏的应用监视同一地理栅栏的结果,在计算设备跨越混合地理栅栏时,计算设备可以代表启用地理栅栏的应用来协调/同步与地理栅栏服务器的通信。

在又一实施例中,地理栅栏服务器可以执行上述操作以将用于单个启用地理栅栏的应用的地理上接近的多个地理栅栏组合成混合地理栅栏,从而使得该单个启用地理栅栏的应用能够监视单个混合地理栅栏而非多个单独的地理栅栏。

如上所述,图4B解说了可由地理栅栏服务器实现以用于生成混合地理栅栏以供在计算设备上操作的启用地理栅栏的应用使用而不管设备的当前位置的实施例方法430。

在一实施例中,地理栅栏服务器可能够访问在计算设备上执行的所有可能的启用地理栅栏的应用的所有可能的地理栅栏。在这样的实施例中,地理栅栏服务器可周期性地(例如,每晚或每星期)创建并存储可供用于计算设备上的启用地理栅栏的应用的所有可能的混合地理栅栏。因而,在又一实施例中,响应于接收到来自计算设备上的应用的地理栅栏跨越通知或对地理栅栏消息的另一请求,地理栅栏服务器可以快速访问所存储的混合地理栅栏并将它发送给发出请求应用。换言之,地理栅栏服务器可为各应用准备预生成的混合地理栅栏,并可按请求或按需来将这些预制混合地理栅栏发送给应用。

在框432,地理栅栏服务器可以注册计算设备,如以上参考图4A描述的方法400的框406中所述。地理栅栏服务器还可在框434确定与计算设备相关联的启用地理栅栏的应用,诸如通过标识与计算设备相关联的一个或多个启用地理栅栏的应用作为在框432的注册过程的一部分。

在框436,地理栅栏服务器可以标识与计算设备上的启用地理栅栏的应用相关联的地理栅栏,如参考图4A描述的方法的框412的操作概括地描述的。例如,地理栅栏服务器可以在地理栅栏数据库116中执行查找操作以发现与在移动设备上操作的每一启用地理栅栏的应用相关联的一个或多个地理栅栏。在又一实施例中,地理栅栏服务器可以只标识处于计算设备的特定距离内的地理栅栏。例如,地理栅栏服务器可以只标识计算设备的一百英里内的地理栅栏以节省处理资源。在另一实施例中,地理栅栏服务器可以标识与在框434关联于计算设备的启用地理栅栏的应用相关联的每一地理栅栏,而不管计算设备的当前位置。

地理栅栏服务器还可在框438确定地理上彼此接近的所标识的地理栅栏。在一实施例中,在它们的相应区域处于彼此的某一距离内或它们的区域交叠超过预定义阈值(例如,10%以上交叠)时,地理栅栏可在地理上彼此接近。例如,地理栅栏服务器可以确定以上参考图3A描述的地理栅栏308、310、312在地理上彼此接近,因为它们的区域交叠。在框440,服务器还可在框438编组被确定为地理上接近的所标识的地理栅栏。

在框442,通过组合每一编组的所标识的地理栅栏,诸如通过执行与以上参考图4A描述的方法400的框416相类似的操作,地理栅栏服务器可以生成用于所标识的地理栅栏的每一编组的混合地理栅栏。在一实施例中,通过执行框442的操作,地理栅栏服务器可以生成每一可能的混合地理栅栏——或另选地,所有可能的混合地理栅栏的特定子集(例如,特定区域的混合地理栅栏)——可供用于启用地理栅栏的应用。在框444,地理栅栏服务器还可存储在框442生成的每一混合地理栅栏以供稍后使用。在框452,地理栅栏服务器可任选地等待特定时间段(例如,24小时、一星期、数月,等等)。地理栅栏服务器还可重复以上描述的在框434开始的操作。因而,在一实施例中,地理栅栏服务器可以重复以上操作,例如作为正常作业或例程的一部分以便于保持所存储的地理栅栏的集合是当前的。

在又一些实施例中,地理栅栏服务器可以执行可与上述操作同时发生或在其之后发生的其他操作。在可任选框446,地理栅栏服务器可任选地监视来自在计算设备上操作的报告应用的地理栅栏跨越通知,如以上参考图4A在方法400的框402中描述的。

在可任选判定框448,地理栅栏服务器可以确定它是否已接收到来自计算设备(诸如如上所述,来自报告应用)的地理栅栏跨越通知。在地理栅栏服务器确定它尚未接收到地理栅栏跨越通知时(即,可任选判定框448=“否”),服务器可持续重复始于可任选框446的过程以识别它何时已接收到来自报告应用的地理栅栏跨越通知。在一实施例中,地理栅栏服务器可保持空闲或低功率状态,直至它接收到地理栅栏跨越通知。

在地理栅栏服务器确定它已接收到地理栅栏跨越通知(即,可任选判定框448=“是”)时,服务器可在可任选框450将所存储的混合地理栅栏发送给报告应用。在一实施例中,发送给报告应用的所存储的混合地理栅栏可以与报告应用相关联(即,与报告应用相关联的地理栅栏可已被用来生成混合地理栅栏,如以上在框442中描述的)。地理栅栏服务器还可重复在可任选框446开始的以上操作。

在可任选框450的操作的另一实施例中,地理栅栏服务器可向计算设备抢先发送一个或多个混合地理栅栏而无需接收到地理栅栏跨越通知。例如,地理栅栏服务器可以将混合地理栅栏推送给计算设备,从而使该计算设备上的启用地理栅栏的应用能够几乎立即开始监视这些混合地理栅栏。因而,在这样的实施例中,在计算设备移至由混合地理栅栏覆盖的区域时,监视该区域的启用地理栅栏的应用可快速访问混合地理栅栏信息,而不必向地理栅栏服务器请求经更新的地理栅栏信息。

图5解说可由地理栅栏服务器实现来用于注册要与报告应用相关联的计算设备的实施例方法500。方法500的操作实现以上参考图4A描述的方法400的框406的操作的实施例。因而,在一实施例中,地理栅栏服务器可以在确定它已接收到来自报告应用的地理栅栏跨越通知之后(即,判定框404=“是”)开始执行方法500。

在框502,地理栅栏服务器可以接收与报告应用的计算设备有关的的信息。在一实施例中,地理栅栏服务器可以接收与报告应用的计算设备有关的信息作为报告计算设备的地理栅栏跨越通知的一部分,或者地理栅栏服务器可在接收到地理栅栏跨越通知之后分开地请求报告应用提供计算设备的标识信息。

在判定框504,地理栅栏服务器可以确定报告应用是否已经与计算设备相关联。换言之,地理栅栏服务器可以确定报告应用之前是否已在这一特定计算设备上报告过地理栅栏跨越通知。在一实施例中,因为报告应用的多个副本可能存在于其他计算设备上,所以地理栅栏服务器可将报告应用与它在其上操作的特定计算设备相关联,以确保地理栅栏服务器可跟踪在同一计算设备上操作的启用地理栅栏的应用。在一实施例中,地理栅栏服务器可以在报告应用之前从来未在该计算设备上与地理栅栏服务器通信时(例如,作为在该计算设备上刚被安装且在首次运行的结果),确定报告应用与该计算设备之间不存在关联。

在地理栅栏服务器确定报告应用已经与计算设备相关联(即,判定框504=“是”)时,地理栅栏服务器可以通过确定报告应用的计算设备的当前位置来在以上参考图4A描述的方法400的框408继续执行该过程。

在地理栅栏服务器确定报告应用的计算设备尚未注册(即,判定框504=“否”)时,地理栅栏服务器可以在框506将报告应用与其计算设备相关联。在一实施例中,地理栅栏服务器通过将报告应用与计算设备之间的关联记录在地理栅栏信息数据库116中来实现这一操作,如以上参考图1所述。

地理栅栏服务器可以通过确定报告应用的计算设备的当前位置来继续执行以上参考图4A描述的方法400的框408中的过程。

图6解说可在地理栅栏服务器实现以响应于确定当前位置处存在适于或兼容混合的多个地理栅栏(即,地理栅栏可被混合而不使该应用或地理栅栏的功能性或操作显著降级)来将混合地理栅栏发送给报告应用的实施例方法600。方法600的操作实现以上参考图4A描述的方法400的操作的实施例。因而,地理栅栏服务器可在以上参考图4A描述的方法400的框414中确定存在于计算设备的当前位置处的在地理上接近的地理栅栏之后开始执行方法600。

在判定框602,地理栅栏服务器可以确定当前位置处是否存在多个在地理上接近的地理栅栏。在一实施例中,地理栅栏服务器可需要交叠或近乎交叠(即,地理上接近)的至少两个地理栅栏处于当前位置以生成混合地理栅栏。例如,尽管计算设备可包括四个启用地理栅栏的应用,但这些启用地理栅栏的应用中仅一个可具有在计算设备的当前区域中的地理栅栏。在这一示例中,地理栅栏服务器可不能够生成混合地理栅栏,因为当前位置中仅存在一个地理栅栏。

在地理栅栏服务器确定当前位置处不存在多个地理上接近的地理栅栏时(即,判定框602=“否”),地理栅栏服务器可以在框614将非混合的地理栅栏信息发送给报告应用。在一实施例中,地理栅栏服务器可以将非混合的地理栅栏信息发送给报告应用,如以上参考图2描述的。因而,在一示例中,报告应用可以接收报告应用的开发者初始定义的地理栅栏。地理栅栏服务器可以执行返回到以上参考图4A描述的方法400的框402的持续循环中的实施例过程,以使得地理栅栏服务器持续监视它是否已接收到来自另一报告应用的地理栅栏跨越通知。

在地理栅栏服务器确定当前位置处存在多个地理上接近的地理栅栏时(即,判定框602=“是”),地理栅栏服务器可以在框604确定该多个地理上接近的地理栅栏中的哪一些适于混合。在一实施例中,地理栅栏服务器可以检查地理上接近的地理栅栏中的每一者来确定地理上接近的地理栅栏是否能够被混合在一起。地理栅栏服务器可以查看各单独的地理栅栏特性(例如,报告应用的开发者已请求特定地理栅栏永不混合还是只在特定条件下混合),整体看待该多个地理上接近的地理栅栏,以及与地理栅栏有关的各种其他信息,与这些地理栅栏相关联的启用地理栅栏的应用,以及这些启用地理栅栏的应用的开发者。

在一实施例中,地理栅栏服务器可以基于地理栅栏的形状来确定地理上接近的地理栅栏是否适于混合。例如,地理栅栏服务器可以执行对地理上接近的地理栅栏的形状分析以评估地理栅栏的形状中的两者或多者是否“兼容”混合。在一实施例中,在地理栅栏服务器能够组合地理栅栏形状而没有对相关联的地理栅栏应用的性能、功能性或响应性的显著影响时,地理栅栏形状可适于混合。换言之,地理栅栏服务器可以确定混合两个或更多个地理栅栏是否将导致使底层启用地理栅栏的应用的基于位置的服务显著降级的混合地理栅栏。例如,地理栅栏服务器可以确定几乎不交叠的圆形地理栅栏和方形地理栅栏可能是不兼容的,因为组合这些地理栅栏可能生成将比圆形或方形地理栅栏显著更大或者以省略由初始地理栅栏覆盖的某些区域的方式来成形的单个混合地理栅栏。在另一实施例中,在所得的混合地理栅栏超过基于初始地理栅栏的大小的大小阈值(例如,混合地理栅栏可不大于初始地理栅栏的组合区域的150%)和/或不超过基于初始地理栅栏所覆盖的区域的区域覆盖阈值(例如,混合地理栅栏可能需要覆盖初始地理栅栏的区域的至少85%)时,地理栅栏服务器可以确定形状不适于混合。

在一实施例中,地理栅栏服务器可以参考地理栅栏元数据来确定地理栅栏是否适于混合。地理栅栏服务器可以确定地理栅栏的类型中的每一者(例如,步行地理栅栏、驾车地理栅栏、公司地理栅栏、商业地理栅栏,等等),并可只混合具有兼容类型的地理栅栏。换言之,地理栅栏服务器可以只在基于位置的服务的目标/目的将不因组合各地理栅栏而显著降级时才混合这些地理栅栏。例如,被设计成向行人提醒购物中心中的店铺的每日特惠的地理栅栏可不兼容被设计成向通过该购物中心的驾驶员提醒修车厂换油特价的地理栅栏。

在另一实施例中,地理栅栏服务器可以基于开发者设置的特性/参数来确定地理上接近的地理栅栏是否适于混合。在定义用于应用的地理栅栏的过程期间,开发者可以指定该地理栅栏不能与另一地理栅栏混合。例如,开发者可能需要最大精确度来达到开发者对于该地理栅栏的目标,诸如用于具有在终点线处的地理栅栏的马拉松应用。在这样的示例中,在该地理栅栏的区域/精确度作为混合的结果而被改变的情况下,该地理栅栏的用途(例如,自动指示用户何时完成马拉松)可被阻挠。在一实施例中,地理栅栏服务器可以检查指示开发者是否允许特定地理栅栏的混合的开发者标志或另一值。

在判定框606,地理栅栏服务器可以确定多个地理上接近的地理栅栏中是否存在适于混合的多个地理栅栏。例如,尽管计算设备的当前位置中可能存在若干地理上接近的地理栅栏,但因为不兼容的形状、类型等,它们中没有一者可适于混合。

在地理栅栏服务器确定多个地理上接近的地理栅栏中没有兼容的地理栅栏时(即,判定框606=“否”),地理栅栏服务器可以在框614将非混合的地理栅栏信息发送给报告应用。如上所述,在地理栅栏服务器没有组合各地理栅栏时,地理栅栏服务器可以不发送由报告应用的开发者初始定义的地理栅栏的经更新的地理栅栏。地理栅栏服务器可以执行返回到框402的持续循环中的实施例过程,以使得地理栅栏服务器持续监视它是否已接收到来自另一报告应用的地理栅栏跨越通知。

在地理栅栏服务器确定多个地理上接近的地理栅栏中存在兼容的地理栅栏时(即,判定框606=“是”),地理栅栏服务器可以在框608将适于混合的多个地理栅栏组合成混合地理栅栏。在一实施例中,地理栅栏服务器可以按与以上参考图4A描述的方法的框416中描述的过程相类似的方式将多个兼容的地理栅栏组合成混合地理栅栏。例如,地理栅栏服务器可以取得多个兼容的地理栅栏的形状的加权平均并基于该加权平均来生成单个地理栅栏。

在可任选框610,地理栅栏服务器可以将混合地理栅栏发送给与多个兼容地理栅栏相关联的启用地理栅栏的应用。在一实施例中,地理栅栏服务器可以将混合地理栅栏抢先推送给与适于混合的该多个地理栅栏相关联的启用地理栅栏的应用,以使这些应用能够立即开始监视该混合地理栅栏。因而,地理栅栏服务器可以避免必须响应于接收到来自这些启用地理栅栏的应用中的每一者的地理栅栏跨越通知来将混合地理栅栏发送给这些应用。

在判定框612,地理栅栏服务器可以确定报告应用的地理栅栏是否适于混合。换言之,地理栅栏服务器可以确定报告应用的地理栅栏是否被包括在适于混合的多个地理栅栏中,如以上参考判定框606描述的。

在地理栅栏服务器确定报告应用的地理栅栏不适于混合(即,判定框612=“否”)时,地理栅栏服务器可以在框614将非混合的地理栅栏信息发送给报告应用。在一实施例中,地理栅栏服务器可以只发送用于报告应用的地理栅栏的经更新的地理栅栏信息。地理栅栏服务器可以执行返回到以上参考图4A描述的方法400的框402的持续循环中的实施例过程,以使得地理栅栏服务器持续监视它是否已接收到来自另一报告应用的地理栅栏跨越通知。

在地理栅栏服务器确定报告应用的地理栅栏适于混合(即,判定框612=“是”)时,地理栅栏服务器可以在框418将混合地理栅栏发送给报告应用,如以上参考图4A描述的。地理栅栏服务器还可以执行返回到以上参考图4A描述的方法400的框402的持续循环中的实施例过程,以使得地理栅栏服务器持续监视它是否已接收到来自另一报告应用的地理栅栏跨越通知。

图7A和7B解说可被实现在地理栅栏服务器上以用于生成混合地理栅栏并存储混合地理栅栏以供稍后使用的实施例方法700。方法700的操作实现以上参考图4A描述的方法400的操作的实施例。因而,地理栅栏服务器可在以上参考图4A描述的方法400的框414中确定地理上接近报告应用的计算设备的当前位置的地理栅栏之后开始执行方法700。

参考图7A,在判定框702,地理栅栏服务器可以确定报告应用的计算设备的当前位置是否与所存储的混合地理栅栏相关联。在一实施例中,地理栅栏服务器可以将先前生成的混合地理栅栏与特定区域相关联以供其他启用地理栅栏的应用稍后使用。换言之,并非为在各计算设备上操作的多个启用地理栅栏的应用生成用于特定区域的相同混合地理栅栏,地理栅栏服务器可以保持先前生成的混合地理栅栏,如下文参考框706和708进一步描述的,并且地理栅栏服务器可以将混合地理栅栏发送给同一计算设备上的其他启用地理栅栏的应用而不必每次从头开始生成混合地理栅栏。

在地理栅栏服务器确定报告应用的计算设备的当前位置与所存储的混合地理栅栏相关联(即,判定框702=“是”)时,该过程可以执行下文参考图7B描述的框722中的操作。

在地理栅栏服务器确定报告应用的计算设备的当前位置不与所存储的混合地理栅栏相关联(即,判定框702=“否”)时,地理栅栏服务器可以在框416中将地理上接近该当前位置的地理栅栏组合成混合地理栅栏,如以上参考图4A描述的。

在框706,地理栅栏服务器可存储混合地理栅栏。在一实施例中,地理栅栏服务器可以将混合地理栅栏以及应用的标识符和与混合地理栅栏相关联的各地理栅栏存储在地理栅栏信息数据库中,诸如地理栅栏信息数据库116。在框708,地理栅栏服务器可以将混合地理栅栏与报告应用的计算设备的当前位置相关联。因而,如以上参考判定框702所述,地理栅栏服务器可能够在将来召回所存储的混合地理栅栏来发送给其他启用地理栅栏的应用,而不必重新混合当前位置中的各地理栅栏。在一实施例中,每一所存储的混合地理栅栏可以与启用地理栅栏的应用和报告应用的计算设备上的各地理栅栏的特定组合相关联,如下文参考图7B进一步描述的。

在框418,地理栅栏服务器可以将混合地理栅栏发送给报告应用,如以上参考图4A描述的。地理栅栏服务器可以执行返回到执行以上参考图4A描述的方法400的框402中的操作的持续循环中的实施例过程,以使得地理栅栏服务器持续监视它是否已接收到来自另一报告应用的地理栅栏跨越通知。

参考图7B,在地理栅栏服务器确定报告应用的计算设备的当前位置与所存储的混合地理栅栏相关联(即,判定框702=“是”)时,地理栅栏服务器可以在框722生成与所存储的混合地理栅栏相关联的启用地理栅栏的应用和地理栅栏的列表。如上所述,所存储的混合地理栅栏可以与地理栅栏应用和它们相应的地理栅栏的特定组合相关联。

在一实施例中,所存储的混合地理栅栏可以只在存在确切匹配时才适于用在报告应用的计算设备上,因为所存储的混合地理栅栏可能不以其他方式准确地表示为在报告应用的计算设备的当前位置处的地理上接近的地理栅栏生成的混合地理栅栏。例如,在报告应用的计算设备仅包括启用地理栅栏的应用A和B并且在当前位置处只具有地理栅栏1和2时,表示启用地理栅栏的应用A、B和C以及地理栅栏1、2和3的所存储的混合地理栅栏可使该计算设备上的基于位置的服务的准确度显著降级。在另一示例中,所存储的混合地理栅栏可包括启用地理栅栏的应用A、B和C以及地理栅栏1、2和3,但报告应用的计算设备可包括启用地理栅栏的应用A、B、C和D以及地理栅栏1、2、3、4和5。因而,在这一示例中,所存储的混合地理栅栏可能没有准确地表示启用地理栅栏的应用D和地理栅栏4及5,这也可能极大地影响报告应用的计算设备上的启用地理栅栏的应用的基于位置的服务的准确度。

因此,在判定框724,地理栅栏服务器可以确定列表中的启用地理栅栏的应用和地理栅栏与当前关联于报告应用的计算设备的启用地理栅栏的应用和地理上接近的地理栅栏之间是否存在确切匹配。在一实施例中,地理栅栏服务器可以通过在以上参考图4A描述的方法400的框410中将列表中的启用地理栅栏的应用与被确定为当前关联于报告应用的计算设备的启用地理栅栏的应用进行比较,来实现这一操作。类似地,地理栅栏服务器可以在以上参考图4A描述的方法400的框414中的操作中将该列表中的地理栅栏与被确定为地理上接近的地理栅栏相比较。

在地理栅栏服务器确定不存在确切匹配(即,判定框724=“否”)时,地理栅栏服务器可以在以上参考图6描述的方法600的框614中将非混合的地理栅栏信息发送给报告应用。换言之,即使存在与报告应用的计算设备的当前位置相关联的混合地理栅栏,在不存在关联于报告应用的计算设备的启用地理栅栏的应用和地理栅栏与列表中包括的那些之间的确切匹配时,报告应用也可不接收混合地理栅栏,因为所存储的混合地理栅栏可能不适于由报告应用的计算设备上的启用地理栅栏的应用来使用,如上所述。因而,代替发送混合地理栅栏,地理栅栏服务器可以发送与报告应用的地理栅栏有关的更新信息,如报告应用的开发者初始定义的。

在地理栅栏服务器确定存在确切匹配(即,判定框724=“是”)时,地理栅栏服务器可在框728中将所存储的混合地理栅栏发送给报告应用。在将混合或非混合的地理栅栏信息发送给报告应用之后,地理栅栏服务器可以通过执行以上参考图4A描述的框402中的操作在持续循环中执行方法400的实施例过程,以使得地理栅栏服务器持续监视它是否已接收到来自另一报告应用的地理栅栏跨越通知。

在又一些实施例中,计算设备可包括可被配置成管理混合地理栅栏向在该计算设备上操作的多个启用地理栅栏的应用发送该混合地理栅栏的地理栅栏管理单元。

在一实施例中,地理栅栏管理单元可在计算设备上执行以代表计算设备上的其他地理栅栏应用充当代理地理栅栏服务器。在这一实施例中,地理栅栏管理单元可以接收来自启用地理栅栏的应用本身或来自地理栅栏服务器的、用于这些应用中的每一者的地理栅栏参数信息。地理栅栏管理单元可以将启用地理栅栏的应用的地理栅栏组合成单个混合地理栅栏。

在另一实施例中,地理栅栏管理单元可以监视计算设备的位置以检测混合地理栅栏何时被满足,并且在满足时,可以近乎同时向计算设备上的每一应用发送混合地理栅栏已被跨越的通知。这可以使每一应用能够独立地动作,如同它已确定它的地理栅栏被跨越一样。因为各应用被同时通知,所以对位置感测无线电装置的使用被最小化,并且到地理栅栏服务器的单个连接可被建立以支持所有这些应用。在一替换实施例中,地理栅栏管理单元可以向计算设备上的启用地理栅栏的应用中的每一者发送混合地理栅栏,这些启用地理栅栏的应用随后可如上所述地如同它们已接收到来自地理栅栏服务器的经重绘的地理栅栏一样操作。

图8是包括用于管理和混合一个或多个启用地理栅栏的应用的地理栅栏的地理栅栏管理单元812的实施例计算设备800的组件框图。

在一实施例中,计算设备800可包括处理器802。处理器802可以是多核主处理器,且处理器802可以是能够运行应用和/或用于管理这样的应用的操作系统的各种可编程处理器中的任一者。例如,处理器802可持久地执行高级操作系统(即,OS 806)并可执行众多例程来利用计算设备800的组件和软件。处理器802还可在存储器组件804内存储数据并从存储器组件804检索数据,存储器组件804可以是外部存储器和/或片上存储器。

在另一实施例中,一个或多个启用地理栅栏的应用808可以在OS 806上操作并可由处理器802执行。启用地理栅栏的应用808可以使用各种技术来确定计算设备800的当前位置。例如,启用地理栅栏的应用808可以从可任选的GPS接收机810接收计算设备800的当前位置。在另一示例中,启用地理栅栏的应用808可以使用各种局部定位系统来确定计算设备800的当前位置,诸如通过利用射频收发机814以及一个或多个天线816来接收来自多个Wi-Fi接入点、蓝牙信标、蜂窝小区站点、基站等的信号。在另一实施例中,启用地理栅栏的应用可以利用GPS和各种局部定位系统两者。

在另一实施例中,计算设备800可包括配置成管理和/或混合用于启用地理栅栏的应用808的地理栅栏的地理栅栏管理单元812。地理栅栏管理单元812可以接收来自启用地理栅栏的应用808或来自地理栅栏服务器(未示出)的与启用地理栅栏的应用的地理栅栏有关的信息。地理栅栏管理单元812还可使用以上描述的归属于地理栅栏服务器的混合地理栅栏的相同或相似方法,来组合启用地理栅栏的应用808的交叠和/或在当前位置中紧密相邻的各地理栅栏。

在另一实施例中,地理栅栏管理单元812可以如上所述地确定计算设备800的当前位置(例如,使用GPS和/或局部定位系统),并且可在混合地理栅栏被跨越时一次性地提醒启用地理栅栏的应用808,以使得启用地理栅栏的应用808可同时或近乎同时与地理栅栏服务器通信。在一替换实施例中,地理栅栏管理单元812可被配置成充当启用地理栅栏的应用808与地理栅栏服务器之间的中介。在这样的实施例中,地理栅栏管理单元812可以从地理栅栏服务器接收用于启用地理栅栏的应用808的地理栅栏信息,将各地理栅栏组合成单个混合地理栅栏,监视计算设备800的当前位置直至混合地理栅栏被跨越,向地理栅栏服务器通知地理栅栏跨越,以及代表启用地理栅栏的应用808接收来自地理栅栏服务器的经更新的地理栅栏信息。

尽管地理栅栏管理单元812在图8中被示为计算设备800上包括的分开的组件,但地理栅栏管理单元可按各种方式被实现在计算设备800上。例如,地理栅栏管理单元812可以是启用地理栅栏的应用808之一或在OS 806上运行的独立程序,并且可由计算设备800上包括的处理器(例如,处理器802)执行。在另一示例中,地理栅栏管理单元可被实现为OS 806的一部分,诸如后台进程或服务。在另一示例中,地理栅栏管理单元可以用硬件来实现,诸如处理器802或可任选的GPS接收机810中包括的逻辑电路。然而,可以预期,地理栅栏管理单元812可以在相同能力中操作,而不管它的特定实现方式。

此外,为易于描述,地理栅栏管理单元可被描述为执行下述实施例方法中的一者或多者的一个或多个操作。然而,在其中地理栅栏管理单元是用软件来实现的实施例中,应当理解,这样的操作可以由执行地理栅栏管理单元软件的计算设备处理器(例如,处理器802)执行。

可被包括在计算设备800上的其他组件在下文参考图16进一步描述。

图9A和9B解说可由在计算设备上执行地理栅栏管理单元以在设备本地地生成混合地理栅栏的处理器执行的实施例方法900、920。

如以上参考图4A和4B所述,为易于描述,各实施例(诸如下文参考图9A-15C描述的那些实施例)可包括包含或依赖于计算设备的当前位置的操作。然而,对计算设备的当前位置的任何引用或依赖不旨在限制权利要求的范围,除非在权利要求中明确叙述。

图9A解说可由在计算设备上的地理栅栏管理单元实现以用于管理在同一计算设备上操作的多个启用地理栅栏的应用的实施例方法900。在一实施例中,地理栅栏管理单元可以将计算设备的当前位置中的交叠或相邻地理栅栏组合成单个混合地理栅栏,地理栅栏管理单元可将该混合地理栅栏发送给在计算设备上操作的多个启用地理栅栏的应用。

在框902,地理栅栏管理单元可以标识在计算设备上执行的多个启用地理栅栏的应用。在一实施例中,每一启用地理栅栏的应用可以向地理栅栏管理单元注册。例如,每一启用地理栅栏的应用可包括配置该启用地理栅栏的应用以将其标识信息(例如,应用ID、地理栅栏服务器ID,等等)发送给地理栅栏管理单元的指令。

在框904,地理栅栏管理单元可以确定计算设备的当前位置。在一实施例中,地理栅栏管理单元可以利用计算设备的GPS接收机和/或计算设备上的各种局部定位组件来确定计算设备的当前位置,如上所述。

在框906,地理栅栏管理单元可为每一所标识的启用地理栅栏的应用获得与当前位置处的地理栅栏有关的信息。在一实施例中,地理栅栏管理单元可以与地理栅栏服务器通信并请求与在计算设备上操作的多个启用地理栅栏的应用相关联的地理栅栏。在另一实施例中,地理栅栏管理单元可以向多个启用地理栅栏的应用请求地理栅栏信息,这可以从地理栅栏服务器接收这样的地理栅栏信息。在另一实施例中,多个启用地理栅栏的应用的地理栅栏信息可包括与地理栅栏的形状、周界、地理位置、以及大小有关的信息。

在框908,地理栅栏管理单元可以基于地理栅栏信息来确定当前位置处的在地理上接近的地理栅栏。在一实施例中,如以上参考地理栅栏服务器讨论的,地理栅栏管理单元可以执行各种计算来确定计算设备上的启用地理栅栏的应用的地理栅栏是否交叠和/或紧密相邻。例如,地理栅栏管理单元可以确定计算设备的当前区域中的各地理栅栏中的每一者的区域和/或周界并可确定多个地理栅栏是否具有交叠和/或近乎交叠的区域和/或周界。

在框910,地理栅栏管理单元可以将当前位置处的地理上接近的地理栅栏组合成混合地理栅栏。地理栅栏管理单元可以实现各种技术来组合地理栅栏。例如,地理栅栏管理单元可以生成涵盖各单独的交叠地理栅栏中的每一者或者使用各地理栅栏的形状的加权平均来表示各地理栅栏的中心形状的混合地理栅栏。将地理栅栏组合成混合地理栅栏在下文参考图15A-15C进一步描述。

在框912,地理栅栏管理单元可以将混合地理栅栏发送给所标识的与混合地理栅栏中包括的地理栅栏相关联的启用地理栅栏的应用中的每一者。例如,地理栅栏管理单元可以发送与混合地理栅栏有关的信息,这可使启用地理栅栏的应用中的每一者能够监视混合地理栅栏。结果,多个启用地理栅栏的应用可以同时利用位置感测无线电装置的输出以识别混合地理栅栏何时被跨越,并且多个启用地理栅栏的应用中的每一者可以同时或近乎同时与地理栅栏服务器通信。

在判定框914,地理栅栏管理单元可以确定当前位置是否已改变。在一实施例中,地理栅栏管理单元可周期性地检查计算设备是否已移至其中可存在不同地理栅栏的不同位置。例如,地理栅栏管理单元可以确定计算设备是否已从购物中心位置移至停车场位置。

在地理栅栏管理单元确定当前位置尚未改变(即,判定框914=“否”)时,地理栅栏管理单元可持续重复判定框914中的过程以识别当前位置何时已改变。在地理栅栏管理单元确定当前位置已改变(即,判定框914=“是”)时,地理栅栏管理单元可以在循环中继续执行这一过程,地理栅栏管理单元可以在框904继续确定计算设备的当前位置。

在又一实施例中,地理栅栏管理单元可以执行上述操作以将用于单个启用地理栅栏的应用的地理上接近的多个地理栅栏组合成混合地理栅栏,从而使得该单个启用地理栅栏的应用能够监视单个混合地理栅栏而非多个单独的地理栅栏。

图9B解说了可由执行计算设备上的地理栅栏管理单元以用于将该计算设备上的启用地理栅栏的应用的地理上接近的地理栅栏编组进行混合的处理器实现的实施例方法920。在一实施例中,计算设备处理器可将与在计算设备上操作的启用地理栅栏的应用相关联的地理上接近的地理栅栏抢先编组在一起,并且处理器可以将接近的地理栅栏的这些编组中的每一者组合成混合地理栅栏以供这些应用中的一者或多者使用或供代表其地理栅栏被涵盖在混合地理栅栏中的各应用来监视混合地理栅栏的地理栅栏管理单元使用。

在另一实施例中,执行地理栅栏管理单元的处理器可周期性地(例如,每晚或每星期)创建并存储可供用于计算设备上操作的启用地理栅栏的应用的所有可能的混合地理栅栏。因而,在另一实施例中,独自地或响应于接收到来自计算设备上的应用的地理栅栏跨越通知或对地理栅栏信息的另一请求,执行地理栅栏管理单元的处理器可快速访问所存储的与在计算设备上的启用地理栅栏的应用相关联的混合地理栅栏,并可将所存储的混合地理栅栏发送给该应用。换言之,执行地理栅栏管理单元的处理器可为应用准备预生成的混合地理栅栏并可按需或按请求来将这些预制混合地理栅栏发送给应用。

在框902,执行地理栅栏管理单元的处理器可以标识在设备上执行的启用地理栅栏的应用,如以上参考图9A描述的。执行地理栅栏管理单元的处理器还可在框924获得与关联于所标识的启用地理栅栏的应用的地理栅栏有关的信息,诸如通过向地理栅栏服务器请求与应用有关的地理栅栏信息或通过直接向应用请求地理栅栏信息。在一实施例中,执行地理栅栏管理单元的处理器可只获得距移动设备的特定距离内的地理栅栏的信息或与特定区域(例如,州或区域的特定部分)相关联的地理栅栏的信息。在另一实施例中,执行地理栅栏管理单元的处理器可以接收地理栅栏的信息而不管它们的位置。

在框926,执行地理栅栏管理单元的处理器可以基于地理栅栏信息来确定与所标识的启用地理栅栏的应用相关联的在地理上彼此接近的地理栅栏。如以上概括地描述的,在它们的周界处于彼此的特定距离内或者它们的区域具有特定交叠程度时,地理栅栏可在地理上彼此接近。在框928,执行地理栅栏管理单元的处理器可以将在框926被确定为地理上接近的这些地理栅栏编组。

在框930,执行地理栅栏管理单元的处理器可以通过组合每一编组中的地理栅栏来生成每一地理栅栏编组的混合地理栅栏。在一实施例中,通过执行框930的操作,执行地理栅栏管理单元的处理器可以生成可供计算设备上的启用地理栅栏的应用使用的每一可能的混合地理栅栏(或可能的混合地理栅栏的特定子集)。在框932,执行地理栅栏管理单元的处理器还可存储在框930生成的每一混合地理栅栏以供稍后使用。

在一可任选实施例中,执行地理栅栏管理单元的处理器可以在可任选框938等待特定时段,并且可重复以上描述的在框924开始的操作。换言之,执行地理栅栏管理单元的处理器可以在该特定时段过去之后周期性地重复以上操作以确保所存储的混合地理栅栏最新。

在可与上述操作同时发生或之后发生的又一些实施例中,执行地理栅栏管理单元的处理器可以在可任选框934接收来自启用地理栅栏的应用的对经更新的地理栅栏信息的请求(例如,地理栅栏跨越通知)。在可任选框936,执行地理栅栏管理单元的处理器还可将所存储的与启用地理栅栏的应用相关联的混合地理栅栏发送给该应用。例如,执行地理栅栏管理单元的处理器可以将所存储的混合地理栅栏发送给与如以上在框930中描述的被用来形成该混合地理栅栏的一个或多个地理栅栏相关联的启用地理栅栏的应用。处理器可以在始于可任选框934的循环中重复以上操作。

因而,在一实施例中,执行地理栅栏管理单元的处理器可以在框932将混合地理栅栏存储在存储器中,并且在可任选框936按需将混合地理栅栏发送给启用地理栅栏的应用(例如,响应于来自报告应用的报告通知,如下文参考图12概括地描述的)。在可任选框936的操作的另一实施例中,执行地理栅栏管理单元的处理器可向计算设备上的启用地理栅栏的应用抢先发送所存储的混合地理栅栏(例如,在“推送”操作中),以使这些应用能够立即开始监视混合地理栅栏在另一实施例中(未示出),地理栅栏管理单元可以代表其地理栅栏被涵盖在混合地理栅栏中的应用来监视所存储的混合地理栅栏,并可在所存储的混合地理栅栏已被跨越时用信号通知这些应用。

图10A解说可由在计算设备上操作的地理栅栏管理单元实现以用于在计算设备已跨越混合地理栅栏时通知该计算设备上的启用地理栅栏的应用的实施例方法1000。在一实施例中,地理栅栏管理单元可以通过生成混合地理栅栏、监视混合地理栅栏以及在混合地理栅栏被跨越时代表启用地理栅栏的应用通知地理栅栏服务器,来充当启用地理栅栏的应用与地理栅栏服务器之间的中介。

在一实施例中,方法1000的操作实现以上参考图9A描述的方法900的框912的操作的实施例。因而,在一实施例中,地理栅栏管理单元可以在以上参考图9A描述的方法900的框910中将当前位置处的交叠或近乎交叠的地理栅栏组合成混合地理栅栏之后,开始执行方法1000。

在可任选判定框1002,地理栅栏管理单元可以确定当前位置是否已改变。换言之,地理栅栏管理单元可以将计算设备的当前位置与先前确定的位置相比较以确定计算设备是否已移动。在另一实施例中,在计算设备移动已达特定阈值距离时,地理栅栏管理单元可以确定当前位置已改变。

在地理栅栏管理单元确定当前位置已改变(即,可任选判定框1002=“是”)时,地理栅栏管理单元可以通过确定计算设备的当前位置来继续执行以上参考图9A描述的方法900的框9040中的过程。在一实施例中,每一位置可包括不同位置中的不同地理栅栏,并且地理栅栏管理单元可能需要将每一位置中的地理栅栏不同地组合以生成该区域的混合地理栅栏。

在地理栅栏管理单元确定当前位置尚未改变(即,可任选判定框1002=“否”)时,地理栅栏管理单元可以在框1004监视对混合地理栅栏的跨越。换言之,地理栅栏管理单元可以监视计算设备是否跨越混合地理栅栏的边界。

在判定框1006,地理栅栏管理单元可以确定计算设备是否已跨越混合地理栅栏。在一实施例中,地理栅栏管理单元可以利用GPS和/或局部定位系统(例如,Wi-Fi、蜂窝塔信号,等等)来确定计算设备是否已跨越混合地理栅栏。在地理栅栏管理单元确定计算设备尚未跨越混合地理栅栏(即,判定框1006=“否”)时,地理栅栏管理单元可以在可任选判定框1002继续执行该过程。在一实施例中,地理栅栏管理单元可持续地确定计算设备的当前位置是否已改变,如上所述。

在地理栅栏管理单元确定计算设备已跨越混合地理栅栏(即,判定框1006=“是”)时,在框1007,地理栅栏管理单元可以向所标识的与混合地理栅栏中包括的地理栅栏相关联的多个启用地理栅栏的应用中的每一者通知混合地理栅栏已被跨越。在框1008,地理栅栏管理单元还可代表与混合地理栅栏中包括的地理栅栏相关联的启用地理栅栏的应用来向地理栅栏服务器通知混合地理栅栏已被跨越。在一实施例中,地理栅栏管理单元可负责监视地理栅栏突破而非多个启用地理栅栏的应用中的每一者,从而使位置感测无线电装置的使用最小化,并且地理栅栏管理单元可在混合地理栅栏被跨越时通知地理栅栏服务器而非多个启用地理栅栏的应用中的每一者。在另一实施例中,地理栅栏管理单元可以在一个通信中向地理栅栏服务器通知混合地理栅栏跨越,从而节省时间和/或计算设备上的资源(例如,功率)。

该过程可在循环中继续,地理栅栏管理单元可在可任选判定框1002继续确定当前位置是否已改变。

图10B解说可由在计算设备上操作的地理栅栏管理单元实现以用于混合地理栅栏已被跨越时通知在该计算设备上操作的启用地理栅栏的应用的实施例方法1020。

在一实施例中,地理栅栏管理单元可以是在计算设备的处理器上执行并且充当也在设备处理器上执行的一个或多个启用地理栅栏的应用的代理服务器的应用。在这样的实施例中,执行地理栅栏管理单元的计算设备处理器可以向地理栅栏服务器请求混合地理栅栏,代表启用地理栅栏的应用监视计算设备的当前位置,并且在混合地理栅栏被跨越时通知与混合地理栅栏中包括的地理栅栏相关联的启用地理栅栏的应用中的每一者。

在框902,执行地理栅栏管理单元的计算设备处理器可以标识在设备上执行的启用地理栅栏的应用,如以上参考图9A描述的。在框1022,执行地理栅栏管理单元的计算设备处理器可以将所标识的启用地理栅栏的应用的列表发送给地理栅栏服务器。在一实施例中,该列表可以使地理栅栏服务器能够标识与所列出的启用地理栅栏的应用相关联的地理栅栏,确定地理上接近的所标识的地理栅栏,基于那些地理上接近的地理栅栏生成混合地理栅栏,以及将所生成的混合地理栅栏发送给计算设备,如以上参考图4A-7B描述的各实施例所概括讨论的。

在可任选实施例中,执行地理栅栏管理单元的计算设备处理器可在可任选框1024确定设备的当前位置。执行地理栅栏管理单元的计算设备处理器可以在可任选框1026将设备的当前位置发送给地理栅栏服务器,从而使地理栅栏服务器能够为地理上接近设备的当前位置的启用地理栅栏的应用的地理栅栏生成混合地理栅栏。

在框1028,执行地理栅栏管理单元的计算设备处理器可以接收来自地理栅栏服务器的包括与所列出的启用地理栅栏的应用中的一者或多者相关联的地理栅栏的混合地理栅栏。在一实施例中,混合地理栅栏可包括地理上接近计算设备的当前位置的地理栅栏。在另一实施例中,执行地理栅栏管理单元的计算设备处理器可以接收表示每一可能的混合地理栅栏的一个或多个混合地理栅栏或混合地理栅栏的特定子集(例如,特定地理地区或区域的混合地理栅栏)。在这样的实施例中,执行地理栅栏管理单元的计算设备处理器可以标识与计算设备的当前位置相关的混合地理栅栏并开始监视所标识的(即相关的)混合地理栅栏,如下文进一步描述的。

当在框1028接收到来自地理栅栏服务器的混合地理栅栏之后,执行地理栅栏管理单元的计算设备处理器可在可任选判定框1030可任选地确定经更新的混合地理栅栏是否是所需要的。例如,执行地理栅栏管理单元的计算设备处理器可以确定先前从地理栅栏服务器接收到的混合地理栅栏不再相关或有用,因为计算设备已经移至没有被该混合地理栅栏覆盖的另一区域。在执行地理栅栏管理单元的计算设备处理器确定需要经更新的混合地理栅栏(即,可任选判定框1030=“是”)时,处理器可重复始于框1022的以上操作以便于请求经更新的混合地理栅栏。

在执行地理栅栏管理单元的计算设备处理器确定不需要经更新的混合地理栅栏(即,可任选判定框1030=“否”)时,处理器可以在以上参考图10A描述的框1004中监视对混合地理栅栏的跨越。

执行地理栅栏管理单元的计算设备处理器还可在以上参考图10A描述的判定框1006中确定计算设备是否已跨越混合地理栅栏。直至执行地理栅栏管理单元的计算设备处理器确定计算设备尚未跨越混合地理栅栏(即,判定框1006=“否”),该处理器可以在可任选判定框1030开始的以上操作。在执行地理栅栏管理单元的计算设备处理器确定计算设备已跨越混合地理栅栏(即,判定框1006=“是”)时,该处理器在框1007可以向所标识的与混合地理栅栏中包括的地理栅栏相关联的启用地理栅栏的应用中的每一者通知混合地理栅栏已被跨越,如以上参考图10A进一步描述的。

图11解说可由在计算设备上操作的地理栅栏管理单元实现以用于组合计算设备上的启用地理栅栏的应用的兼容地理栅栏的实施例方法1100。方法1100的操作实现以上参考图9A描述的方法900的操作的实施例。因而,在一实施例中,地理栅栏管理单元可以在基于方法900的框908中的地理栅栏信息确定当前位置处的在地理上接近的地理栅栏之后开始执行方法1100。

在判定框1102,地理栅栏管理单元可以确定当前位置处是否存在多个在地理上接近的地理栅栏。换言之,地理栅栏管理单元可确定组合当前位置中的任何地理栅栏是否是可能的。例如,在当前位置中只有一个地理栅栏或者该区域中彼此不接近的多个地理栅栏时,地理栅栏管理单元可能不能组合当前位置中的地理栅栏。

在地理栅栏管理单元确定当前位置处不存在多个地理上接近的地理栅栏(即,判定框1102=“否”)时,在地理栅栏管理单元确定计算设备的当前位置是否已改变时,过程可在以上参考图9A描述的方法900的判定框914中继续。

在地理栅栏管理单元确定当前位置处存在多个地理上接近的地理栅栏时(即,判定框1102=“是”),地理栅栏管理单元可以在框1104确定该多个地理上接近的地理栅栏中的哪一些适于混合。如以上参考图6描述的方法600中的框604所描述的,交叠和/或相邻地理栅栏仍然可能出于各种原因而不适于混合。例如,地理栅栏可包括由开发者添加的将地理栅栏标记为不适于混合的元数据(例如,对于需要高度的基于位置的准确度才能如期操作的应用而言)。其他不兼容性可包括不兼容的地理栅栏形状(例如,方形地理栅栏和圆形地理栅栏)或不兼容的地理栅栏类型(例如,“步行”地理栅栏和“驾车”地理栅栏)。

在判定框1106,地理栅栏管理单元可以确定多个交叠的地理栅栏中是否存在适于混合的多个地理栅栏。换言之,地理栅栏管理单元可以确定是否存在适于组合成混合地理栅栏的至少两个地理栅栏。在地理栅栏管理单元确定多个地理上接近的地理栅栏中不存在适于混合的多个地理栅栏(即,判定框1106=“否”)时,在地理栅栏管理单元确定计算设备的当前位置是否已改变时,该过程可在以上参考图9A描述的方法900的判定框914中继续。

在地理栅栏管理单元确定多个地理上接近的地理栅栏中存在适于混合的多个地理栅栏时(即,判定框1106=“是”),地理栅栏管理单元可以在框1108将该多个兼容地理栅栏组合成混合地理栅栏。在一实施例中,在存在多个兼容地理栅栏时,地理栅栏管理单元可能够将它们组合成混合地理栅栏。

在框1110,地理栅栏管理单元可以将混合地理栅栏发送给与适于混合的多个地理栅栏相关联的启用地理栅栏的应用。换言之,只有在当前位置中具有适于混合的地理栅栏的那些应用才可接收混合地理栅栏,且其他启用地理栅栏的应用可不接收混合地理栅栏。在一实施例中,其他启用地理栅栏的应用可继续监视由它们的应用开发者初始定义的地理栅栏,因为这些地理栅栏没有被组合成混合地理栅栏。

在地理栅栏管理单元确定计算设备的当前位置是否已改变时,该过程可在以上参考图9A描述的方法900的判定框914中继续。

图12解说可由在计算设备上操作的地理栅栏管理单元实现以响应于接收到来自报告应用的地理栅栏跨越通知将混合地理栅栏发送给报告应用的实施例方法1200。在又一些实施例中,地理栅栏管理单元可以充当在计算设备上操作的多个启用地理栅栏的应用与地理栅栏服务器之间的中介。

在框1202,地理栅栏管理单元可以监视来自报告应用的地理栅栏跨越通知。在一实施例中,启用地理栅栏的应用可单独地监视地理栅栏跨越并可通过向地理栅栏管理单元(即,代替直接向地理栅栏服务器)发送地理栅栏跨越通知来指示地理栅栏何时已被跨越,并且作为响应,地理栅栏管理单元可以将混合地理栅栏的信息返回到多个启用地理栅栏的应用,如下所述。

在判定框1204,地理栅栏管理单元可以确定它是否已接收到来自报告应用的地理栅栏跨越通知。在地理栅栏管理单元确定它尚未接收到来自报告应用的地理栅栏跨越通知(即,判定框1204=“否”)时,该过程可在循环中继续,其中地理栅栏管理单元可继续在框1202中执行方法1200直至地理栅栏管理单元接收到地理栅栏跨越通知。

在地理栅栏管理单元确定它已接收到来自报告应用的地理栅栏跨越通知(即,判定框1204=“是”)时,地理栅栏管理单元可以在框1206将地理栅栏跨越通知发送给地理栅栏服务器。在一实施例中,地理栅栏管理单元可以充当报告应用与地理栅栏服务器之间的中介。在这样的实施例中,地理栅栏管理单元可以在计算设备上的启用地理栅栏的应用跨越地理栅栏时提醒地理栅栏服务器,且地理栅栏管理单元可以代表启用地理栅栏的应用接收来自地理栅栏服务器的经更新的地理栅栏信息。在另一实施例中,如上所述,地理栅栏管理单元还可接收在同一计算设备上操作的其他启用地理栅栏的应用的地理栅栏信息,并且生成由在同一计算设备上的每一启用地理栅栏的应用监视的混合地理栅栏。

地理栅栏管理单元可通过执行方法1200的框902-910中的操作来继续执行方法1200,如以上参考图9A描述的方法900的框902-910来描述的。在一实施例中,地理栅栏管理单元可以标识在计算设备上操作的启用地理栅栏的应用,确定计算设备的当前位置,为每一所标识的启用地理栅栏的应用获得当前位置的地理栅栏信息(例如,来自地理栅栏服务器),基于地理栅栏信息来确定当前位置处存在在地理上接近的地理栅栏,以及将当前位置处的交叠地理栅栏组合成混合地理栅栏。

当在框910生成混合地理栅栏之后,地理栅栏管理单元可以在框1208将混合地理栅栏发送给报告应用。在一实施例中,地理栅栏管理单元可为其他报告应用继续执行方法1200。因而,最终,地理栅栏管理单元可以将当前位置的混合地理栅栏发送给计算设备上的每一启用地理栅栏的应用,并且计算设备上的每一启用地理栅栏的应用可能够同时或近乎同时地检测到计算设备何时跨越混合地理栅栏。

在又一实施例中,地理栅栏管理单元可以执行上述操作以将与报告应用相关联的多个地理上接近的地理栅栏组合成混合地理栅栏,从而使得该报告应用能够监视单个混合地理栅栏而非多个单独的地理栅栏。

图13解说可由在计算设备上操作的地理栅栏管理单元实现以确定将混合地理栅栏还是非混合的地理栅栏信息发送给报告应用的实施例方法1300。方法1300的操作实现以上参考图12描述的方法1200的操作的实施例。因而,在一实施例中,地理栅栏管理单元可以在以上参考图12描述的方法1200的框908中基于地理栅栏信息确定当前位置处的交叠和/或紧密相邻的地理栅栏之后开始执行方法1300。

在判定框1102,地理栅栏管理单元可以确定当前位置处是否存在多个在地理上接近的地理栅栏。换言之,如以上参考图11描述的,地理栅栏管理单元可确定组合当前位置中的任何地理栅栏是否是可能的。

在地理栅栏管理单元确定当前位置处不存在多个地理上接近的地理栅栏时(即,判定框1102=“否”),地理栅栏管理单元可以在框1304将非混合的地理栅栏信息发送给报告应用。在一实施例中,当计算设备的当前位置处不存在多个地理栅栏时,地理栅栏管理单元可能不能生成混合地理栅栏,因为需要一个以上地理栅栏才能生成混合地理栅栏。在另一实施例中,该过程可以在以上参考图12描述的方法1200的框1202中继续,地理栅栏管理单元可以监视来自另一报告应用的地理栅栏跨越通知。

在地理栅栏管理单元确定当前位置处存在多个地理上接近的地理栅栏时(即,判定框1102=“是”),地理栅栏管理单元可以在框1104确定该多个地理上接近的地理栅栏中的哪一些适于混合,如以上参考图6描述的方法600中的框604所描述的。

在判定框1106,地理栅栏管理单元可以确定多个地理上接近的地理栅栏中是否存在适于混合的多个地理栅栏。换言之,地理栅栏管理单元可以确定是否存在适于组合成混合地理栅栏的至少两个地理栅栏。在地理栅栏管理单元确定多个地理上接近的地理栅栏中不存在适于混合的多个地理栅栏时(即,判定框1106=“否”),地理栅栏管理单元可以在框1304将非混合的地理栅栏信息发送给报告应用。该过程可以在以上参考图12描述的方法1200的框1202中继续,其中地理栅栏管理单元可以监视来自另一报告应用的地理栅栏跨越通知。

在地理栅栏管理单元确定多个地理上接近的地理栅栏中存在适于混合的多个地理栅栏时(即,判定框1106=“是”),地理栅栏管理单元可以在框1108将适于混合的该多个地理栅栏组合成混合地理栅栏。例如,地理栅栏管理单元可以基于兼容地理栅栏的加权平均来生成单个地理栅栏。

在可任选框1302,地理栅栏管理单元可以将混合地理栅栏发送给与适于混合的多个地理栅栏相关联的启用地理栅栏的应用。在一实施例中,地理栅栏管理单元可以更新计算设备上的具有包括在混合地理栅栏中的地理栅栏的每一启用地理栅栏的应用。在一实施例中,通过将混合地理栅栏抢先推送给与多个兼容的地理栅栏相关联的启用地理栅栏的应用,地理栅栏管理单元可以立即使这些应用能够开始监视该混合地理栅栏。因而,地理栅栏服务器可以避免必须响应于稍后接收到来自这些启用地理栅栏的应用中的每一者的地理栅栏跨越通知来将混合地理栅栏发送给这些应用。

在判定框1306,地理栅栏管理单元可以确定报告应用的地理栅栏是否适于混合。换言之,地理栅栏管理单元可以确定报告应用的地理栅栏是否被包括在适于混合的多个地理栅栏中,如以上参考判定框1106描述的。

在地理栅栏管理单元确定报告应用的地理栅栏不适于混合(即,判定框1306=“否”)时,地理栅栏管理单元可以在框1304将非混合的地理栅栏信息发送给报告应用。在一实施例中,在报告应用未被包括在适于混合的多个地理栅栏中时,地理栅栏管理单元可以确定不能混合多个地理栅栏。在这样的实施例中,地理栅栏管理单元可以只发送用于报告应用的地理栅栏的经更新的地理栅栏信息。地理栅栏管理单元可以执行返回到以上参考图12描述的方法1202的框1202的持续循环中的实施例过程,以使得地理栅栏管理单元可监视来自另一报告应用的地理栅栏跨越通知。

在地理栅栏管理单元确定报告应用的地理栅栏适于混合(即,判定框1306=“是”)时,地理栅栏管理单元可以在框1208将混合地理栅栏发送给报告应用,如以上参考图12描述的。

地理栅栏管理单元可以执行返回到以上参考图12描述的方法1202的框1202的持续循环中的实施例过程,以使得地理栅栏管理单元可监视来自另一报告应用的地理栅栏跨越通知。

图14A和14B解说了可由在计算设备上操作的地理栅栏管理单元实现以用于生成所存储的混合地理栅栏并且在存在与计算设备的当前位置一起存储的混合地理栅栏时将所存储的混合地理栅栏发送给报告应用的实施例方法1400。方法1400的操作实现以上参考图12描述的方法1200的操作的实施例。因而,地理栅栏管理单元可在以上参考图4A描述的方法1200的框908中确定计算设备的当前位置处的在地理上接近的地理栅栏之后开始执行方法1400。

参考图14A,在判定框1402,地理栅栏管理单元可以确定计算设备的当前位置是否与所存储的混合地理栅栏相关联。在一实施例中,地理栅栏管理单元可以将先前生成的混合地理栅栏与特定区域相关联以供计算设备上的启用地理栅栏的应用稍后使用。换言之,地理栅栏管理单元可以将混合地理栅栏重用于同一区域,而不必为计算设备上的每一启用地理栅栏的应用从头开始生成混合地理栅栏,如以上参考图7A和7B描述的。在地理栅栏管理单元确定计算设备的当前位置与所存储的混合地理栅栏相关联(即,判定框1402=“是”)时,地理栅栏管理单元可以执行下文参考图14B描述的框1422中的操作。

在地理栅栏管理单元确定计算设备的当前位置不与所存储的混合地理栅栏相关联(即,判定框1402=“否”)时,地理栅栏管理单元可以在框910中将当前位置处的地理上接近的地理栅栏组合成混合地理栅栏,如以上参考图9A描述的。例如,地理栅栏管理单元可以将地理栅栏组合成包括地理栅栏的区域的大部分或全部的混合地理栅栏。

在框1406,地理栅栏管理单元可以存储混合地理栅栏。在一实施例中,地理栅栏管理单元可以将混合地理栅栏存储在计算设备中包括的非易失性存储器中。在框1408,地理栅栏管理单元可以将混合地理栅栏与计算设备的当前位置相关联。因而,如以上参考判定框1402所述,地理栅栏管理单元可能够在将来召回所存储的针对计算设备的当前位置的混合地理栅栏来发送给其他启用地理栅栏的应用,而不必重新混合各地理栅栏。

在框1208,地理栅栏管理单元可以将混合地理栅栏发送给报告应用,如以上参考图12描述的。在另一实施例中(未示出),地理栅栏管理单元可以将混合地理栅栏发送给在计算设备上操作的每一启用地理栅栏的应用。在另一实施例中(未示出),地理栅栏管理单元可以只将混合地理栅栏发送给当前具有与混合地理栅栏相关联的地理栅栏的启用地理栅栏的应用。

地理栅栏管理单元可以通过执行以上参考图12描述的框1202中的操作来以持续循环执行实施例方法1200过程,以使得地理栅栏管理单元可监视来自另一报告应用的地理栅栏跨越通知。

参考图14B,在地理栅栏管理单元确定计算设备的当前位置与所存储的混合地理栅栏相关联(即,判定框1402=“是”)时,地理栅栏管理单元可以在框1422生成与所存储的混合地理栅栏相关联的启用地理栅栏的应用和它们的地理栅栏的列表。如上所述,所存储的混合地理栅栏可以与地理栅栏应用和它们相应的地理栅栏的特定组合相关联。

如以上参考图7A和7B所述,所存储的混合地理栅栏可能只在所存储的混合地理栅栏准确地反映地理上接近的地理栅栏以及与当前存在于计算设备上的那些地理上接近的地理栅栏相关联的启用地理栅栏的应用时才是有用的。例如,在地理栅栏管理单元存储了混合地理栅栏之后,计算设备上的启用地理栅栏的应用和/或地理栅栏被添加、移除、或改变,从而使得所存储的混合地理栅栏过期并且可能错误表示当前位置中的地理上接近的地理栅栏。例如,地理栅栏管理单元可以生成并存储分别是启用地理栅栏的应用X、Y以及Z的地理栅栏7、8和9的混合地理栅栏。然而,计算设备的用户可能卸载启用地理栅栏的应用Y,从而使得先前存储的针对启用地理栅栏的应用X、Y以及Z的混合地理栅栏不适于与计算设备上存在的当前应用和地理栅栏一起使用。

因此,在判定框1424,地理栅栏管理单元可确定列表中的启用地理栅栏的应用和地理栅栏与当前存在于计算设备上的启用地理栅栏的应用和地理上接近的地理栅栏之间是否存在确切匹配。地理栅栏管理单元可以通过将列表中的启用地理栅栏的应用与参考图12描述的方法1200的框902中标识的启用地理栅栏的应用相比较,来执行这一操作。类似地,地理栅栏管理单元可以在以上参考图12描述的方法1200的框908中的操作中将该列表中的地理栅栏与关联于那些启用地理栅栏的应用的被确定为地理上接近的地理栅栏相比较。

在地理栅栏管理单元确定不存在确切匹配时(即,判定框1424=“否”),地理栅栏管理单元可以在框1304将非混合的地理栅栏信息发送给报告应用。换言之,即使存在与报告应用计算设备的当前位置相关联的混合地理栅栏,当计算设备上的启用地理栅栏的应用和地理栅栏与列表中包括的那些之间不存在确切匹配时,报告应用也可不接收混合地理栅栏。地理栅栏管理单元可以通过执行以上参考图12描述的框1202中的操作来以持续循环执行实施例方法1200过程,以使得地理栅栏管理单元可持续地监视它是否已接收到来自另一报告应用的地理栅栏跨越通知。

在地理栅栏管理单元确定存在确切匹配(即,判定框1424=“是”)时,地理栅栏管理单元可以在框1428将所存储的混合地理栅栏发送给报告应用,并且返回执行以上参考图12描述的方法1200的框1202中的操作,以使得地理栅栏管理单元持续监视它是否已接收到来自另一报告应用的地理栅栏跨越通知。

图15A-15C是用于将各地理栅栏组合成单个混合地理栅栏的各种策略的图解。

在一实施例中,在根据多个地理栅栏生成混合地理栅栏时,地理栅栏服务器或地理栅栏管理单元可以分析紧邻/交叠的地理栅栏的图案,并创建平衡计算设备的工作负荷而通过维持有效粒度(例如,通过不丢失过多精度)来不极大地影响地理栅栏的一般有用性的混合地理栅栏(即,降低对位置感测无线电装置的使用和/或服务器通信的数目)。例如,地理栅栏服务器可能没有生成城市大小的大混合地理栅栏,因为尽管它会减少对位置感测无线电装置的使用和/或服务器通信的数目,但对于每一应用而言该大地理栅栏区域将具有非常有限的效用,因为基于位置的服务的准确度将被极大地影响。因而,在一实施例中,地理栅栏服务器和/或地理栅栏管理单元可以按如下方式生成混合地理栅栏:平衡计算设备的工作负荷(例如,对位置感测无线电装置的使用和/或与服务器的通信的数目),与混合地理栅栏的有用性(例如,它促进能工作的基于位置的服务的能力)。

在一实施例中,地理栅栏服务器或在计算设备上操作的地理栅栏管理单元可以确定三个地理栅栏区域1502、1504、1506存在并交叠于同一位置,并且地理栅栏服务器或地理栅栏管理单元可以执行各种计算来确定如何组合地理栅栏区域1502、1504、1506以生成不会过度地和负面地影响与地理栅栏区域1502、1504、1506相关联的基于位置的服务的混合地理栅栏。

在图15A所示的示例中,地理栅栏服务器或地理栅栏管理单元可以对地理栅栏区域1502、1504、1506执行混合操作1520a以基于地理栅栏区域1502、1504、1506的周界来创建混合地理栅栏1515。在一实施例中,在地理栅栏之间存在显著交叠时,地理栅栏服务器或地理栅栏管理单元可以选择基于地理栅栏周界来生成混合地理栅栏1515,因为对基于位置的服务的影响可被微小地影响,同时在对位置感测无线电装置的使用和/或与地理栅栏服务器的通信方面极大地减小了计算设备的工作负荷。

在图15B所示的另一示例中,地理栅栏服务器或地理栅栏管理单元可以对地理栅栏区域1502、1504、1506执行混合操作1520b以基于地理栅栏区域1502、1504、1506的区域的加权平均来生成混合地理栅栏1508(例如,矩形)。在这样的示例中,混合地理栅栏1508可以丢失一些基于位置的准确度,但取加权平均值可显著地减少对位置感测无线电装置的使用和/或所作出的到地理栅栏服务器的通信的数目。

在图15C中所示的又一示例中,地理栅栏服务器或地理栅栏管理单元可以对地理栅栏区域1502、1504、1506执行混合操作1520c并且可以确定不生成混合地理栅栏,即使地理栅栏区域1502、1504、1506略有交叠。在这一示例中,混合地理栅栏将需要显著大于地理栅栏区域1502、1504、1506以基本上覆盖地理栅栏区域1502、1504、1506的区域。因此,地理栅栏区域1502、1504、1506的任何混合地理栅栏将极大地降低基于位置的服务的准确度。换言之,地理栅栏服务器和/或地理栅栏管理单元可以确定地理栅栏区域1502、1504、1506不适于混合。

各个实施例可在各种计算设备中的任一种中实现,其中的一个示例在图16中解说。例如,计算设备1600可包括耦合至内部存储器1604的处理器1602。内部存储器1604可以是易失性或非易失性存储器,并且还可以是安全和/或加密的存储器、或者不安全和/或未加密存储器,或其任何组合。处理器1602还可被耦合至触摸屏显示器1606,诸如电阻式传感触摸屏、电容式传感触摸屏、红外传感触摸屏等。另外,计算设备1600的显示器不需要具有触摸屏能力。另外,计算设备1600可具有用于发送和接收电磁辐射的一个或多个天线1608,这一个或多个天线1608可与无线数据链路和/或耦合至处理器1602的蜂窝电话收发机1616相连接。计算设备1600还可包括用于接收用户输入的物理按钮1612a和1612b。计算设备1600还可包括用于开启和关闭计算设备1600的电源按钮1618。计算设备1600可任选地具有用于确定计算设备的地理位置的GPS收发机1620。计算设备1600可由耦合到各电子组件的电池1622供电。计算设备1600还可包括用于提供音频输出的扬声器1614。

各实施例方法的部分可在客户端-服务器架构中完成,其中一些处理发生在服务器中,诸如维护正常操作行为的数据库,该数据库可由计算设备处理器在执行各实施例方法时访问。这样的实施例可实现在各种市售的服务器计算设备中的任何服务器计算设备上,诸如图17中所解说的服务器1700。此类服务器1700典型地包括耦合至易失性存储器1702和大容量非易失性存储器(诸如盘驱动器1703)的处理器1701。服务器1700还可包括耦合至处理器1701的软盘驱动器、压缩碟(CD)或DVD碟驱动器1704。服务器1700还可包括耦合至处理器1701的网络接入端口1705,以用于建立与网络1706(诸如耦合至其他广播系统计算机和服务器的局域网)的数据连接。处理器1701可以是能通过软件指令(应用)配置以执行包括上述各种实施例的功能在内的各种功能的任何可编程微处理器、微型计算机或一个或多个多处理器芯片。通常,在软件应用被访问并被加载到处理器1701中之前,这些软件应用可被存储在内部存储器1702、1703中。处理器1701可包括足以存储应用软件指令的内部存储器。

上述方法描述和过程流图仅作为解说性示例提供,且并非旨在要求或暗示各个实施例的步骤必须按所给出的次序来执行。如本领域技术人员将领会的,前述实施例中的步骤次序可按任何次序来执行。诸如“此后”、“然后”、“接着”等的措辞并非旨在限定步骤的次序;这些措辞仅是简单地用以指引读者遍历方法的描述。进一步,对单数形式的权利要求元素的任何引述,例如使用冠词“一”、“某”或“该”的引述不应解释为将该元素限定为单数。

如本申请中所使用的,术语“组件”、“单元”、“控制器”、“系统”、“引擎”、“生成器”、“管理器”及类似术语旨在包括计算机相关实体,诸如但不限于被配置成执行特定操作或功能的硬件、固件、硬件与软件的组合、软件、或执行中的软件。例如,组件可以是但不限于在处理器上运行的进程、处理器、对象、可执行件、执行的线程、程序、和/或计算机。作为解说,编程计算设备上运行的应用和编程计算设备两者都可被称为组件。一个或多个组件可驻留在进程和/或执行的线程内,并且组件可局部化在一个处理器或核上和/或分布在两个或更多个处理器或核之间。此外,这些组件可从其上存储着各种指令和/或数据结构的各种非瞬态计算机可读介质来执行。组件可借助于本地和/或远程进程、函数或规程调用、电子信号、数据分组、存储器读/写、以及其他已知的网络、计算机、处理器、和/或进程相关通信方法体系来通信。

结合本文中所公开的实施例来描述的各种解说性逻辑框、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、块、模块、电路、以及步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。

用以实现结合本文中公开的实施例描述的各种解说性逻辑、逻辑框、模块、以及电路的硬件可用设计成执行本文中描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑电路、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。通用处理器可以是多处理器,但在替换方案中,处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与多处理器的组合、多个多处理器、与DSP核心协作的一个或多个多处理器、或任何其他此类配置。替换地,一些步骤或方法可由专用于给定功能的电路系统来执行。

在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则这些功能可作为一条或多条指令或代码存储在非瞬态计算机可读介质或非瞬态处理器可读介质上。本文中公开的方法或算法的步骤可在处理器可执行软件模块中实施,该处理器可执行软件模块可驻留在非瞬态计算机可读或处理器可读存储介质上。非瞬态计算机可读或处理器可读存储介质可以是能被计算机或处理器访问的任何存储介质。作为示例而非限定,此类非瞬态计算机可读或处理器可读介质可包括RAM、ROM、EEPROM、闪存、CD-ROM或其他光盘存储、磁盘存储或其他磁存储计算设备、或能被用来存储指令或数据结构形式的期望程序代码且能被计算机访问的任何其他介质。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字通用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据而碟(disc)用激光以光学方式再现数据。以上的组合也被包括在非瞬态计算机可读和处理器可读介质的范围内。另外,方法或算法的操作可作为一条代码和/或指令或者任何代码和/或指令组合或集合而驻留在可被纳入计算机程序产品中的非瞬态处理器可读介质和/或计算机可读介质上。

提供所公开的实施例的先前描述是为了使本领域任何技术人员皆能制作或使用本发明。对这些实施例的各种修改对本领域技术人员来说将是显而易见的,且本文所定义的一般原理可被应用于其它实施例而不背离本发明的精神或范围。由此,本发明并非旨在限定于本文中示出的实施例,而是应被授予与所附权利要求和本文中公开的原理和新颖性特征一致的最广义的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1