移动设备的被动动态地理围栏的制作方法

文档序号:15182413发布日期:2018-08-17 05:56阅读:202来源:国知局

版权声明

本专利文档的公开内容的一部分包含受版权保护的材料。当本专利文档或专利公开出现在专利和商标局的专利文件或记录中时,版权所有人不反对任何人对其进行摹写复制,但无论如何仍保留所有版权。下面的声明适用于下文以及形成本文档一部分的附图中所述的软件和数据:copyright2012,ebay,inc.。保留所有权利。

优先权声明

本申请要求于2012年8月22日提交的题为“passivedynamicgeofencingformobiledevices”的美国临时申请no.61/692,173的权益,其通过全文引用合并与此。本申请还要求于2013年7月29日提交的题为“passivedynamicgeofencingformobiledevices”的美国申请no.13/952,812的权益,其通过全文引用合并与此。

本申请大体上涉及在分布式网络上操作的基于网络的系统内的数据处理或者移动设备上的数据处理,更具体地,涉及用于执行针对移动设备的被动动态地理围栏的系统和方法。



背景技术:

诸如(california,cupertino,appleinc.的)等具有数据连接和位置确定能力的智能电话的日益增加的使用慢慢地改变了人们交互、购买产品和服务、甚至管理账户的方式。智能电话可以向用户提供与多种多样的信息有关的几乎即时的信息,例如产品可用性、朋友位置或定价。例如,诸如(california,sanjose,ebayinc.的)redlasertm等应用允许智能电话的用户扫描条形码并且立即在在线和本地零售店上核查价格。智能电话通常还包括诸如全球定位系统(gps)接收机等允许设备不断地更新位置信息的机制。这些技术改变还促使人群交互和交换信息的方式发生改变。

附图说明

示例性地示出了一些实施例,实施例不限于附图中的图示,在附图中:

图1是示出了根据示例实施例的用于在移动设备上实现被动动态地理围栏的系统100的框图。

图2是示出了根据示例实施例的用于操作移动设备的环境的框图。

图3是示出了根据示例实施例的移动设备的框图。

图4是示出了根据示例实施例的被动动态地理围栏可以在其中操作的基于网络的系统400的框图。

图5是示出了根据示例实施例的地理围栏调页模块的框图。

图6a是示出了根据示例实施例的示例父地理围栏和子地理围栏的框图。

图6b是示出了根据示例实施例的示例父地理围栏和子地理围栏的框图。

图7示出了根据示例实施例的在移动设备上使用被动动态地理围栏的方法的流程图。

图8是示出了根据示例实施例的使移动设备能够使用被动动态地理围栏的方法的流程图。

图9是用于使机器执行本文所讨论的方法中的任意一种或多种的指令集可以在其中执行的示例形式为计算机系统的机器的示意表示。

定义

位置-对于本说明书和所附权利要求而言,术语“位置”用于表示地理位置,例如经度/纬度组合或街道地址。术语“位置”在本说明书中还用于指示与事件相关联的物理位置,例如,假期目的地。

实时-对于本说明书和所附权利要求而言,术语“实时”用于表示当发生事件时或当通过可操作系统接收输入时,在该过程中执行的计算或操作。然而,使用术语“实时”不是要排除在输入和响应之间引起一些等待时间的操作,只要所述等待时间是由于机器的性能特点而引起的无意结果即可。

上下文-对于本说明书和所附权利要求而言,术语“上下文”用于表示环境输入,例如,位置、时间和天气条件。上下文通常表示描述个人(例如,用户)的环境和/或活动的条件。例如,上下文信息可以包括用户的位置、移动方向、当前活动(例如,工作、驾车、打高尔夫、购物等)、当前天气条件、一天中的时间、和一年中的时间(例如,季节)。在特定示例中,与用户有关的上下文信息也可以包括以往事件、购买历史、或者与用户有关的其他历史数据。

具体实施方式

尤其描述了用于在移动设备上使用被动动态地理围栏的示例系统和。还描述了用于在移动设备上产生和利用被动动态地理围栏的系统和方法。在一些示例实施例中,用于在移动设备上实现被动动态地理围栏的系统和方法允许移动设备无缝地监视数量不限的地理围栏。在一些示例中,位置感知智能电话应用可以监视数量不限的地理围栏,同时在给定时间仅在存储器中维护少量地理围栏。在以下描述中,为了解释目的,描述了大量具体细节以便提供对示例实施例的全面理解。然而,本领域技术人员应清楚可以实践本发明,而无需这些具体细节。同样应清楚的是,移动设备上的被动动态地理围栏不限于提供的示例,并且可以包括未具体讨论的其他场景。

可以在位置感知移动设备上使用地理围栏以检测移动设备的用户何时进入特定位置,例如,特定零售商店。例如,可以根据全球定位系统(gps)坐标(例如,纬度和经度)结合以米或英尺为单位测量的半径来定义地理围栏。备选地,也可以根据定义边界框的一系列gps坐标来定义地理围栏。在其他示例中,地理围栏可以具有由数学公式定义并且由gps坐标锚定的任何几何形状。

诸如(califbrnia,cupertino,appleinc.的)等移动设备可以在给定时间仅监视有限数量的地理围栏。此外,在移动设备上运行的应用通常仅可以在用户打开应用(或者应用至少在移动设备上的存储器中是活跃的)时才更新监视的地理围栏。

为了克服仅能够监视有限数量的地理围栏的限制,已经提出了地理围栏调页(paging)的构思。地理围栏调页也可以提供限制移动设备内用于监视和维护地理围栏所需的存储量的益处。例如,根据实施例操作的移动设备可以在任何给定时间监视10个地理围栏(请注意,10是任意数字而不旨在限制本文所公开的系统和方法)。所监视的地理围栏中的九个被分配给感兴趣的特定地理位置(例如,零售商店),而第十个地理围栏在地理上包围其他九个地理围栏。在一些示例中,九个较小的地理围栏被称作子地理围栏,而较大的包围地理围栏被称作父地理围栏。在其他示例中,10个地理围栏可以被称作地理围栏页,其中较大的地理围栏描述了页的边界,而较小的地理围栏位于页中。

在示例中,移动设备移出父地理围栏(上面的示例中的地理围栏号10),移动设备可以加载新的父地理围栏和与该父地理围栏相关联的多个子地理围栏。通过使用页比喻说法,当移动设备移出父地理围栏时,移动设备可以加载子地理围栏。在示例中,用户可能希望监视咖啡厅位置。在大城市区域中可能存在大量咖啡厅。因此,服务提供商系统可以将城市区域分为一系列父地理围栏,每一个父地理围栏包含可管理数量的咖啡厅,每一个咖啡厅可以被分配给子地理围栏。尝试监视分配给每一个咖啡厅的地理位置和/或附近的地理围栏的移动设备可以联系服务提供商系统以请求基于当前位置的地理围栏集合。基于该请求,服务提供商系统可以访问包括移动设备的当前位置的父地理围栏并且发送父地理围栏和在该父地理围栏中定义的所有子地理围栏,其中,每一个子地理围栏表示特定的咖啡厅位置。随着移动设备在城市区域中四处移动,移动设备可以检测其当前位置何时离开父地理围栏。当移动设备移出当前监视的父地理围栏时,移动设备可以向服务提供商请求新的父地理围栏(下一个地理围栏页)。因此,移动设备可以无缝地监视大量分立的位置(例如,单独的地理围栏或子地理围栏),而无需在存储器中或移动设备上维护所有子地理围栏。在另一示例中,各种父地理围栏和子地理围栏可以被存储在移动设备上并且仅在基于移动设备的当前位置需要它们时才被加载到活跃的存储器中。

示例系统

图1是示出了根据示例实施例用于在移动设备上实现被动动态地理围栏的系统100的框图。在示例中,系统100可以包括用户110a-110n(根据上下文,统称为用户110)和基于网络的发布系统120。在示例中,用户110a-110n可以经由移动设备115a-115n(统称为移动设备115)连接到基于网络的发布系统120。用户110a-110n也可以经由客户端140a-140n(统称为客户端140)连接到基于网络的发布系统120。

在示例中,用户110可以在基于网络的发布系统120上配置账户。如果用户110a满足特定的访问标准或规则,则诸如用户110a等的每一个用户可以使用移动设备115a或客户端140a来访问账户。在示例中,访问规则可以包括用户识别和位置识别规则(例如,用户必须位于基于网络的发布系统120支持的位置中)。基于网络的发布系统120上的用户账户可以允许用户定义感兴趣的特定位置以便经由地理围栏进行监视。在一些示例中,基于网络的发布系统120可以监视用户行为并且基于以往用户行为和预测的用户行为来创建地理围栏。在特定示例中,商家可以将基于网络的发布系统120用作基于位置的广告平台,在该基于位置的广告平台中,诸如用户110等的用户选择加入基于位置的广告。例如,(minnesota,minneapolis的)bestbuy可以使用基于网络的发布系统120来经由移动设备115向用户110提供基于位置的广告。在该示例中,可以产生一系列父地理围栏,其中每一个父地理围栏包围可管理数量的地理相关的bestbuy商店位置。每一个bestbuy商店位置将由小得多的子地理围栏覆盖,该子地理围栏使基于网络的发布系统120能够仅当用户110之一在地理上邻近bestbuy商店(基于移动设备115检测到监视的子地理围栏之一内的位置)时才供应与特定bestbuy商店有关的基于位置的广告。

在另一示例中,在移动设备115上运行的位置感知智能电话应用可以基于检测到存在于子地理围栏中来触发预定义的任务。

示例操作环境

图2是示出了根据示例实施例的用于操作移动设备115的环境200的框图。环境200是可以在其中执行用于使用被动动态地理围栏的方法的示例环境。环境200可以包括:移动设备115、通信连接210、网络220、服务器230、通信卫星270、商家服务器280和数据库290。服务器230可以可选地包括:基于位置的服务应用240、位置确定应用250、发布应用260、以及地理围栏调页应用270。数据库290可以可选地包括:地理围栏页292、用户简档294、和/或位置历史296。移动设备115表示可以由用户用来经由被动动态地理围栏监视数量不限的位置的一个示例设备。移动设备115可以是多种类型设备中的任何一个(例如,蜂窝电话、pda、个人导航设备(pnd)、手持计算机、平板计算机、笔记本计算机、或其他类型的可移动设备)。移动设备115可以经由与通信网络220的连接210进行接口连接。根据移动设备115的形式,可以使用多种类型的连接210和通信网络220中的任何一种。

例如,连接210可以是码分多址(cdma)连接、全球移动通信系统(gsm)连接、或其他类型的蜂窝连接。这种连接210可以实现多种类型的数据传输技术中的任何一个,例如,单载波无线电传输技术(1xrtt)、演进数据优化(evdo)技术、通用分组无线电服务(gprs)技术、增强数据速率的gsm演进(edge)技术、或其他数据传输技术(例如,第四代无线,4g网络)。当采用这种技术时,通信网络220可以包括蜂窝网络,所述蜂窝网络具有多个交叠的地理覆盖范围的小区站点,所述多个小区站点通过蜂窝电话交换机来进行互连。可以将这些蜂窝电话交换机耦接到网络主干(例如,公共交换电话网络(pstn)、分组交换数据网络或其他类型的网络)。

在其他示例中,连接210可以是无线保真(wi-fi,ieee802.11x类型)连接、全球微波互联接入(wimax)连接、或其他类型的无线数据连接。在这种实施例中,通信网络220可以包括一个或多个无线接入点,所述无线接入点耦接到局域网(lan)、广域网(wan)、互联网或其他分组交换数据网络。

在另一示例中,连接210可以是有线连接,例如,以太网链接,通信网络可以是lan、wan、互联网或其他分组交换数据网络。因此,可以明确地考虑多种不同配置。

可以通过至通信网络220的接口(例如,通过有线或无线接口)耦接多个服务器230。这些服务器230可以被配置为向移动设备115提供多种类型的服务。例如,一个或多个服务器230可以执行基于位置的服务(lbs)应用240,所述应用240与在移动设备115上执行的软件进行互操作,以向用户提供lbs。lbs可以使用对该设备位置、和/或其他设备的位置等的了解,以向用户提供位置特定信息、推荐、通知、交互能力和/或其他功能。例如,lbs应用240可以向基于网络的发布系统120提供位置数据,然后所述位置数据可以用于提供对基于网络的发布系统120上的群账户的访问。可以通过移动设备115与在一个或多个服务器230上执行的位置确定应用250的互操作,获得对该移动设备的位置、和/或其他设备的位置的了解。还可以通过移动设备115提供位置信息,而不使用诸如应用250等位置确定应用。在特定示例中,移动设备115可以具有一些有限的位置确定能力,通过位置确定应用250来增强所述位置确定能力。在一些示例中,服务器230还可以包括用于提供数据的位置感知发布(例如广告或供应)的发布应用260。在特定示例中,可以通过位置确定应用250将位置数据提供给发布应用260。在一些示例中,通过位置确定应用250提供的位置数据可以包括商家信息(例如,零售位置的标识)。在特定示例中,位置确定应用250可以经由网络220接收信号以进一步识别位置。例如,商家可以广播具体的ieee802.11服务集标示符(ssid),位置确定应用250可以解释该ieee802.11ssid以识别特定的零售位置。在另一示例中,商家可以经由射频标识(rfid)、近场通信(nfc)或可以由位置确定应用250使用的类似协议来广播标识信号。除了使用这些机制来识别特定位置的示例之外,这些机制(例如,ssid、rfid、nfc等)也可以用作辅认证因素,这将在下文中进行更详细的讨论。

在特定示例中,地理围栏调页应用270可以利用lbs应用240或位置确定应用250来辅助确定要向移动设备115发送哪一个地理围栏页。

示例移动设备

图3是示出了根据示例实施例的移动设备115的框图。移动设备115可以包括处理器310。处理器310可以是适合该移动设备的多种不同类型的商业可用处理器中的任何一种(例如,xscale架构微处理器、无互锁流水线(mips)架构处理器的微处理器、或其他类型的处理器)。通常处理器可访问存储器320(例如,随机存取存储器(ram)、闪存、或其他类型的存储器)。存储器320可以适于存储操作系统(os)330和应用程序340,例如,支持移动位置的应用,所述应用可以向用户提供lbs。在特定示例中,应用程序340可以包括用于通过基于位置信息根据需要检索和监视父地理围栏和子地理围栏来执行被动动态地理围栏的指令。可以将处理器310直接耦接到或通过适当的中间硬件耦接到显示器350和一个或多个输入/输出(i/o)设备360,例如,键盘、触摸面板传感器、麦克风等。类似地,在一些实施例中,处理器310可以耦接到与天线390接口连接的收发机370。收发机370可以被配置为根据移动设备115的特性,经由天线390发送和接收蜂窝网络信号、无线数据信号、或其他类型的信号。可以以这种方式建立与通信网络220的连接210。此外,在一些配置中,gps接收机380还可以利用天线390来接收gps信号。

可以在授予phillips等并转让给bostonma.的whereinc.的题为“location-basedservices”的美国专利7,848,765(其通过引用的方式合并与此)中,找到关于提供并接收基于位置的服务的附加详情。

美国专利7,848,765中时论的示例地理位置构思是指地理围栏。可以将地理围栏定义为围绕物理位置或移动对象(例如,用户)的周长或边界。地理围栏可以简单的是围绕物理位置的半径,所述半径定义了围绕该位置的圆形区域。然而,地理围栏可以是在地图上绘制的任意几何形状或任意边界。地理围栏可以用于确定感兴趣的地理区域,以进行人口计算、广告或类似目的。如本文所述,地理围栏可以结合本文所讨论的供应产生和传送构思一起使用。例如,地理围栏可以用于辅助确定用户(或与用户相关联的移动设备)是否在感兴趣的地理区域(例如,目标位置)内以提供对群账户的访问。如果用户处于通过预配置群账户所建立的地理围栏内,则本文所述的系统可以使用该信息来认证用户以访问群账户,例如,认证用户以处理针对群支付账户的支付。

示例平台架构

图4是示出了根据示例实施例被动动态地理围栏可以在其中操作的基于网络的系统400的框图。该框图示出了可以在其中采用示例实施例的基于网络的系统400(以客户端-服务器系统的示例形式)。以基于网络的位置感知发布或支付系统的示例形式示出了网络系统402,所述系统经由网络404(例如,互联网或wan)向一个或多个客户端机器410、412提供服务器端功能。图4示出了例如在各客户端机器410和412上执行的web客户端406(例如,浏览器,例如,由washingtonstate,redmond,microsoftcorporation研发的internetexplorer浏览器)和编程客户端408(例如,california,sanjose,paypal,inc.的papal支付智能电话应用)。在一个示例中,客户端机器410和412可以是移动设备的形式,例如,移动设备115。在另一示例中,编程客户端408可以是california,sanjose,ebay.inc.的redlaser移动购物应用。

应用编程接口(api)服务器414和web服务器416耦接至一个或多个应用服务器418,并分别向一个或多个应用服务器418提供编程接口和web接口。应用服务器418容纳一个或多个发布模块420(在特定示例中,这些还可以包括例如商业模块、广告模块和市场模块)、支付模块422、和地理围栏调页模块432。应用服务器418进而示出为与一个或多个数据库服务器424相耦接,所述数据库服务器424辅助访问一个或多个数据库426。在一些示例中,应用服务器418可以直接访问数据库426,而无需数据库服务器424。

发布模块420可以向访问网络系统402的用户提供多个发布功能和服务。支付模块422可以类似地向用户提供多个支付服务和功能。支付模块422可以允许用户在帐户中积累值(例如,以商业货币的形式,如美元,或以专有货币的形式,例如“点”),然后在零售位置中或在外部在线零售场所中用积累的值兑换通过多种发布模块420广告的或可获得的产品(例如,货物或服务)。支付模块422还可以被配置为辅助基于地理围栏检测的支付处理并且与地理围栏调页模块432相结合地工作。地理围栏调页模块432可以提供父地理围栏和子地理围栏的产生。尽管在图4中将发布模块420、支付模块422和地理围栏调页模块432示出为全部形成网络系统402的部分,然而应认识到,在备选实施例中,支付模块422可以形成支付服务的部分,所述支付服务独立于网络系统402并与其不同。

此外,尽管如图4所示的系统400采用客户端-服务器架构,然而本发明当然不限于这种架构,例如,可以同样地在分布式或对等式架构系统中得到良好应用。还可以将多种发布模块420、支付模块422和地理围栏调页模块432实现为独立的系统或软件程序,不必具有联网能力。

web客户端406通过由web服务器416支持的web接口,访问多种发布模块420、支付模块422和地理围栏调页模块432。类似地,编程客户端408通过由api服务器414提供的编程接口,访问由发布模块420、支付模块422和地理围栏调页模块432提供的多种服务和功能。编程客户端408可以是例如智能电话应用(例如,paypal支付应用),使得用户能够利用由智能电话提供的或经由网络404获取的用户简档数据和当前位置信息直接从其智能电话处理支付。

图4还示出了在第三方服务器机器440上执行的第三方应用428,通过由api服务器414提供的编程接口对网络系统402进行编程访问。例如,第三方应用428可以利用从网络系统402检索的信息,支持在由第三方容纳的网站上的一个或多个特征或功能。例如,第三方网站可以提供一个或多个由网络系统402的相关应用支持的促销功能、市场功能或支付功能。此外,出于广告或营销目的,第三方网站可以向商家提供对地理围栏调页模块432的防问。

示例授权模块

图5是示出了根据示例实施例的地理围栏调页模块432的框图。在该示例中,地理围栏调页模块432可以包括规则引擎505、通信模块510、产生模块520、账户模块530和位置模块540。在示例中,地理围栏调页模块432可以访问数据库426以存储和/或检索产生规则、用户简档数据、位置数据和地理围栏(父和子)、以及其他信息,从而实现被动动态地理围栏。

在示例中,规则引擎505可以被配置为管理和评估用于控制父地理围栏和子地理围栏产生的规则。在示例中,规则引擎505可以实施要求与父地理围栏相关联的多个子地理围栏在地理上与父地理围栏相关的规则。如参照图6a至图6b所讨论的,子地理围栏不必完全包含在父地理围栏的地理边界内。在另一示例中,规则引擎505可以要求子地理围栏完全包含在父地理围栏的地理边界内。

在示例中,通信模块510可以被配置为管理地理围栏调页模块432与用户之间的通信,其中用户正在经由移动设备115或客户端140进行通信。通信模块510还可以被配置为管理地理围栏调页模块432与商家(例如,商家服务器280)之间的通信。

在示例中,产生模块520被配置为根据诸如账户模块530、位置模块540和规则引擎505等的模块提供的信息来产生父地理围栏和子地理围栏。

在示例中,账户模块530被配置为在网络系统402上提供(建立)和管理用户账户。在特定示例中,账户模块530可以根据由通信模块510接收的配置数据来提供用户账户。账户模块530还可以联合规则引擎505来提供或解除用户账户。

在示例中,位置模块540被配置为从诸如移动设备115等的移动设备接收位置数据,并且根据该位置数据来确定当前物理位置,该当前物理位置可以包括对感兴趣的地标或其他场所的参考。在一些示例中,位置模块540可以接收gps型坐标(例如,经度和纬度),该gps型坐标可以用于建立与移动设备(因此移动设备的用户)相关联的当前位置。通过使用经度和纬度坐标,位置模块540可以确定例如当前位置是否在当前父地理围栏内。在特定示例中,位置模块540可以从移动设备接收其他位置确定信息,例如,仅在特定物理位置处容易得到的数据的照片或扫描(通常被称作辅位置认证因素)。在另一示例中,一些商家可以广播特定无线网络信号,诸如移动设备115等的移动设备可以接收该特定无线网络信号。移动设备115可以包括用于在接收到信号时将该信号转换为具体位置的编制程序或电路,或者移动设备115简单地将唯一信号重传至位置模块540。在示例中,商家位置可以发送唯一ssid,位置模块可以被编程以将其解释为标识特定的商家位置。在另一示例中,商家可以在其所有位置内广播唯一ssid,并且位置模块540可以被编程为使用唯一ssid和其他位置数据(例如,gps坐标或小区塔位置)的组合来识别具体位置。

参照图6至图8详细说明与位置感知地理围栏调页模块432提供的功能有关的额外细节。

示例地理围栏调页

图6a是示出了根据示例实施例的示例父地理围栏和子地理围栏的框图。在该示例中,诸如地理围栏610、620或630等的父地理围栏可以包括诸如子地理围栏611、612、616等的多个子地理围栏。子地理围栏可以具有各种尺寸或形状;图6a仅通过举例说明的方式将所有地理围栏示出为圆形。在圆形地理围栏示例中,可以通过诸如纬度、经度和半径等的地理位置数据来描述父地理围栏和子地理围栏。在另一示例中,多个成对的地理位置点(纬度、经度)可以用于创建边界框。在其他示例中,一系列地理位置点可以用于创建不规则形状。此外,本领域中已知用于描述边界框的其他方法可以用于在诸如网络系统402等的系统内存储地理位置数据。

在示例中,子地理围栏可以与多个父地理围栏相关联。例如,子地理围栏625/635可以属于父地理围栏620和父地理围栏630两者。此外,如果诸如移动设备115等的移动设备在地理上位于父地理围栏620内,则父地理围栏620和子地理围栏(621、622、623、624和625/635)在存储器中可以是活跃的。当移动设备移入由父地理围栏630覆盖(但未由父地理围栏620覆盖)的地理区域中时,父地理围栏630和子地理围栏(631-634)可以加载到活跃存储器中,而子地理围栏625/635保持在活跃存储器中。在特定示例中,当移动设备115在地理上位于诸如(由父地理围栏620与父地理围栏630的重叠创建的)重叠区640等的重叠区中时,移动设备115可以将来自两个父地理围栏的子地理围栏(例如,子地理围栏621-625和631-635)加载到活跃存储器中。在一些示例中,诸如父地理围栏630等的父地理围栏可以包括与父地理围栏的边界相交(或近似相交)的子地理围栏,例如,子地理围栏624。在其他示例中,诸如父地理围栏610等的父地理围栏可以被配置为包括边界与父地理围栏的边界处于预定义距离内的子地理围栏,例如,子地理围栏624。

图6b是示出了根据示例实施例的示例父地理围栏和子地理围栏的框图。图6b旨在至少示出父地理围栏和子地理围栏的几个额外方面。首先,图6b示出了诸如父地理围栏640等的不规则形状的父地理围栏。其次,图6b示出了各种类型的子地理围栏。将子地理围栏641与子地理围栏642a-642n(通常称作子地理围栏642)进行比较。父地理围栏和子地理围栏均可以包括各种元数据字段,这些元数据字段可以用于存储可以由移动设备115或网络系统402使用以执行不同功能的附加描述信息。例如,地理围栏可以包括用于指示网络系统402上的特定零售连锁店或广告商的商家id。在示例中,子地理围栏642可以表示零售连锁店的一系列零售位置。在诸如移动设备115等的移动设备上运行的移动应用可以使用子地理围栏642来确定具有移动设备115的用户何时已经移入特定的商店位置。在示例中,移动应用能够提供该位置特定的交易或库存信息。

示例方法

图7是示出了根据示例实施例用于在移动设备上使用被动动态地理围栏的方法700的流程图。在示例中,方法700可以包括用于以下各项的操作:在710监视第一父地理围栏,在720检测到穿越边界,在730加载第二父地理围栏,以及在740监视第二父地理围栏。可选地,方法700还可以包括诸如以下各项等的操作:在750检测进入多个第二子地理围栏之一,以及在760触发预定义操作。

在示例中,方法700可以从710开始,在710移动设备115监视第一父地理围栏和多个第一子地理围栏。例如,参照图6a,移动设备115可以监视父地理围栏610和子地理围栏611-616。可选地,方法700还可以包括移动设备115发送用户感兴趣的物理位置列表。在该示例中,可以将物理位置列表转换为一个或多个父地理围栏,每一个父地理围栏包含多个子地理围栏。移动设备115将监视表示物理位置列表中的物理位置的子地理围栏。在720,方法700可以继续由移动设备115检测指示从第一父地理围栏穿越至第二父地理围栏的位置改变。再次参照图6a,移动设备115可以检测与移动设备115相关联的位置何时从父地理围栏610移动至父地理围栏620。

在730,方法700可以继续,由移动设备115响应于检测到存在于第二父地理围栏中来加载第二父地理围栏和多个第二子地理围栏。在一些示例中,移动设备115仅检测到移出第一父地理围栏,然后基于第一父地理围栏之外的当前位置来确定后续父地理围栏。在一些示例中,移动设备115可以向诸如网络系统402等的基于网络的系统发送请求以获得要监视的新的父地理围栏和新的多个子地理围栏。在其他示例中,移动设备115可以包括地理围栏(父和子)数据库并且可以在内部查询数据库以确定要加载的新的父地理围栏和相关联的子地理围栏。在示例中,移动设备115在加载第二父地理围栏和多个第二子地理围栏之前卸载第一父地理围栏和第一多个子地理围栏。

在740,方法700继续,由移动设备115参考第二父地理围栏和多个第二子地理围栏来监视与移动设备115相关联的位置。可选地,方法700可以在750继续由移动设备115检测与移动设备115相关联的当前位置移入(例如,进入或者穿越与之相关联的边界)多个第二子地理围栏之一。例如,移动设备115可以参考可以表示零售位置的第二多个地理围栏来监视位置,以确定移动设备115何时进入监视的零售位置。最后,在760,方法700可以可选地包括移动设备115响应于进入多个第二子地理围栏之一来触发预定义的操作。在示例中,预定义操作可以尤其包括显示促销消息、发送文本或电子邮件消息、改变应用的功能、或者发出提醒。移动设备115或者在移动设备115上运行的应用可以被配置为响应于检测到进入子地理围栏来执行任何支持的功能。在示例中,在移动设备115上运行的操作系统可以包括用于监视地理围栏并且在检测到进入监视的地理围栏之后产生事件的功能。可以由被注册以接收事件的任何应用来处理所产生的事件。

图8是示出了根据示例实施例的使移动设备能够使用被动动态地理围栏的方法800的流程图。在示例中,方法800可以包括用于以下各项的操作:在810接收地理围栏页请求,在820产生父地理围栏和相关联的子地理围栏,在830发送父地理围栏和相关联的子地理围栏,在840接收第二地理围栏请求,产生第二父地理围栏和相关联的子地理围栏,以及在860发送第二父地理围栏和相关联的子地理围栏。

在810,方法800可以开始于由网络系统402从诸如移动设备115等的移动设备接收第一地理围栏页请求。在示例中,地理围栏页请求可以包括与请求方移动设备相关联的当前位置。在特定示例中,当可以由单个服务提供商向不同的移动应用或服务提供服务时,地理围栏页请求还可以包括应用或服务标示符。

在820,方法800可以继续,由网络系统402至少部分地基于地理围栏页请求来产生第一父地理围栏和多个第一子地理围栏。在这些示例中,父地理围栏可以表示地理围栏页,因此地理围栏页请求可以返回父地理围栏和多个相关联的子地理围栏。

在830,方法800可以继续,由网络系统402通过诸如互联网等的网络发送第一父地理围栏和与第一父地理围栏相关联的多个第一子地理围栏。在840,方法800可以继续,由网络系统402接收第二地理围栏页请求。在850,方法800可以继续,由网络系统402产生第二父地理围栏和与第二父地理围栏相关联的多个第二子地理围栏。最后,在860,方法800可以以下操作结束:网络系统402响应于从移动设备115接收的请求发送第二父地理围栏和多个第二子地理围栏。

模块、组件和逻辑

在本文中将特定实施例描述为包括逻辑或多个组件、模块或机制。模块可以构成软件模块(例如,具体实现在机器可读介质上或传输信号中的代码)或硬件模块。硬件模块是能够执行特定操作并且可以以特定方式被配置或布置的有形单元。在示例实施例中,一个或多个计算机系统(例如,单独的客户端或服务器计算机系统)或者计算机系统的一个或多个硬件模块(例如,处理器或处理器组)可以由软件(例如,应用或应用部分)配置为操作以执行本文所述的特定操作的硬件模块。

在各个实施例中,可以机械地或电子地实现硬件模块。例如,硬件模块可以包括永久配置(例如,配置为专用处理器,例如,现场可编程门阵列(fpga)或专用集成电路(asic))以执行特定操作的专用电路或逻辑。硬件模块还可以包括由软件临时配置以执行特定操作的可编程逻辑或电路(例如,包含在通用处理器或其他可编程处理器中)。将清楚的是,可以通过成本和时间考虑来促使做出在专用和永久配置的电路中或者在(例如,由软件配置的)临时配置的电路中机械地实现硬件模块的决策。

因此,术语“硬件模块”应当被理解为涵盖有形实体,例如被物理地构造、永久地配置(例如,硬连线)或临时配置(例如,编程)为以特定方式操作和/或执行本文所述的特定操作的实体。考虑到对硬件模块进行临时配置(例如,编程)的实施例,无需在任何时刻对每一个硬件模块进行配置或实例化。例如,在硬件模块包括使用软件配置的通用处理器的情况下,通用处理器可以在不同时间被配置为相应不同的硬件模块。软件可以相应地将处理器配置为例如在一个时刻构成特定硬件模块并且在不同时刻构成不同的硬件模块。

硬件模块可以向其他硬件模块提供信息并且从其他硬件模块接收信息。因此,所述的硬件模块可以被视为可通信地耦合。在多个此类硬件模块同时存在的情况下,可以通过连接硬件模块的信号传输(例如,通过适合的电路和总线)来实现通信。在在不同时间配置或实例化多个硬件模块的实施例中,可以例如通过在多个硬件模块有权访问的存储器结构中存储和检索信息来实现此类硬件模块之间的通信。例如,一个硬件模块可以执行操作并且在与其可通信地耦合的存储器设备中存储该操作的输出。然后,另一个硬件模块可以在稍后访问存储器设备以检索和处理所存储的输出。硬件模块还可以发起与输入或输出设备的通信并且可以对资源(例如,信息集合)进行操作。

本文所述的示例方法的各个操作可以至少部分地由(例如,由软件)临时配置或永久配置为执行相关操作的一个或多个处理器来执行。不论是临时配置还是永久配置,此类处理器可以构成操作以执行一个或多个操作或功能的处理器执行模块。在一些示例实施例中,本文提及的模块可以包括处理器执行模块。

类似地,本文所述的方法可以至少部分地是处理器执行的。例如,可以由一个或多个处理器或处理器执行模块来执行方法的操作中的至少一些操作。操作中的特定操作的执行可以分布在一个或多个处理器之间,所述一个或多个处理器不仅位于单个机器中而且部署在多个机器之间。在一些示例实施例中,处理器可以位于单个位置中(例如,家庭环境、办公环境中或作为服务器群),而在其他实施例中,处理器可以分步在多个位置之间。

一个或多个处理器还可以操作以支持执行“云计算”环境中的相关操作或作为“软件即服务(saas)”的相关操作。例如,可以由计算机组(例如,包括处理器的机器)执行操作中的至少一些操作,其中可以经由网络(例如,互联网)并且经由一个或多个适合的接口(例如,api)来访问这些操作。

电子装置和系统

示例实施例可以实现在数字电子电路中,或实现在计算机硬件、固件、软件或其组合中。可以使用计算机程序产品(例如,有形地表现在信息载体中的计算机程序,如表现在机器可读介质中,以由数据处理装置(例如,可编程处理器、计算机或多个计算机)执行或者以控制数据处理装置的操作)实现示例实施例。

可以用任意形式的编程语言(包括编译或解释语言)写计算机程序,并且可以将计算机程序配置为任何形式,包括独立程序或模块、子例程、或适合在计算环境中使用的其他单元。可以将计算机程序配置为在一个计算机或多个计算机上执行,所述多个计算机位于同一站点或分布在多个站点并通过通信网络互连。

在示例实施例中,可以通过执行计算机程序的一个或多个可编程处理器执行操作,以通过操作输入数据和产生输出执行功能。还可以通过专用逻辑电路(例如,fpga或asic)执行方法操作,并且可以将示例实施例的装置实现为专用逻辑电路(例如,fpga或asic)。

计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。通过运行在对应计算机上并彼此具有客户端-服务器关系的计算机程序,来产生客户端和服务器的关系。在采用可编程计算系统的实施例中,将认识到,需要考虑硬件和软件架构二者。具体地,应认识到,对是否在永久配置的硬件(例如,asic)中、在临时配置的硬件(例如,软件和可编程处理器的组合)中、或在永久和临时配置的硬件的组合中实现特定功能的选择可以是设计选择。下文列出了可以在多种示例实施例中采用的硬件(例如,机器)和软件架构。

示例机器架构和机器可读介质

图9是示例形式为计算机系统900的机器的框图,其中可以执行用于使机器执行这里所述的任何一个或多个的方法的指令。在备选实施例中,所述机器可以操作为独立设备或可以与其他机器相连(例如,联网)。在联网的部署中,机器可以操作为服务器-客户端网络环境中的服务器或客户端机器,或作为对等式(分布式)网络环境中的同位机。所述机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、pda、蜂窝电话、web装置、网络路由器、开关或桥、或能够(顺序地或以其他方式)执行指令的任何机器,所述指令指定该机器要采取的行为。此外,尽管仅示出了单个机器,然而术语“机器”还应包括机器的任何集合,所述机器单独地或整体地执行指令的集合(或多个集合),以便执行这里所述的任何一个或多个的方法。

示例计算机系统900包括处理器902(例如,中央处理单元(cpu)、图形处理单元(gpu)或二者)、主存储器904和静态存储器906,其中通过总线908彼此通信。计算机系统900还可以包括视频显示单元910(例如,液晶显示器(lcd)或阴极射线管(crt))。计算机系统900还包括字母数字输入设备912(例如,键盘)、光标控制(用户接口(ui)导航)设备914(例如鼠标)、盘驱动单元916、信号产生设备918(例如,扬声器)和网络接口设备920。

机器可读介质

盘驱动单元916包括存储了数据指令和结构(例如,软件)924的一个或多个集合的机器可读介质922,其中所述机器可读介质表现为这里所述的任何一个或多个的方法或功能,或由这里所述的任何一个或多个的方法或功能使用。在通过计算机系统900执行期间,指令924还可以完整地或至少部分地驻留在主存储器904、静态存储器906和/或处理器902中,其中主存储器904和处理器902还构成机器可读介质。

尽管在示例实施例中将机器可读介质922示出为单个介质,然而术语“机器可读介质”可以包括单个介质或多个介质(例如,集中式的或分布式的数据库、和/或相关联的缓存和服务器),存储一个或多个指令或数据结构。应将术语“机器可读介质”理解为包括任何有形介质,能够存储、编码或携带由机器执行的指令并引起该机器执行本发明实施例的方法中的任何一个或多个,或能够存储、编码或携带由这种指令使用的或与其相关联的数据结构。因此,应将术语“机器可读介质”理解为包括但不限于固态存储器以及光学介质和磁性介质。机器可读介质的具体示例包括非易失性的存储器,示例性地包括:半导体存储设备(例如,可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom))和闪存设备;磁盘,例如,内部硬盘和可移动盘;磁光盘;以及cd-rom和dvd-rom盘。

传输介质

还可以通过通信网络926使用传输介质来发送或接收指令924。可以使用网络接口设备920和多种已知传输协议中的任何一个(例如,http),来传输指令924。通信网络的示例包括lan、wan、互联网、移动电话网络、普通老式电话(pots)网络和无线数据网络(例如,wifi和wimax网络)。应将术语“传输介质”理解为包括任意无形介质,能够存储、编码或携带由机器执行的指令,并且包括数字或模拟通信信号或辅助这种软件通信的其他无形介质。

因此,已经描述了用于被动动态地理围栏的方法和系统。尽管已经参考具体示例实施例描述了本发明,然而显而易见的是可以在不脱离本发明的广义范围的前提下,对这些实施例进行多种修改和改变。因此,应将本说明书和附图理解为是示意性的而非限制性的。

虽然已经参照具体示例实施例描述了实施例,但是显而易见,可在不偏离本发明的广义精神和范围的情况下对这些实施例进行各种修改和改变。因此,应将本说明书和附图理解为是示意性的而非限制性的。形成本发明的一部分的附图示意性地而非限制性地示出了可以实现该主题的具体实施例。非常详细地描述了所示实施例以便本领域技术人员能够实践这里所公开的教义。可以在本公开的范围内使用和导出其他实施例,使得可以进行结构和逻辑的替换和改变,而不脱离本公开的范围。因此,这种详细描述不是为了限制,仅通过所附权利要求以及权利要求全部范围的等同物来限制多种实施例的范围。

如果实际上公开了多于一个的实施例,则这里为了方便起见,可以通过术语“发明”单独地和/或整体地引述发明主题的这种实施例,而不是旨在自发地将该申请的范围限制为任何单个发明或发明构思。因此,尽管这里示出并描述了特定实施例,应理解,可以将为实现相同目的而计算的任何排列代替所示特定实施例。本公开旨在涵盖多种实施例的任何的和所有的调整或变形。当本领域技术人员阅读以上描述时将清楚上述实施例和并未在这里所详述的其他实施例的组合。

本文献中引述的所有出版物、专利和专利文献通过全文引用的方式全部合并与此,如同通过引用单独合并。在本文献和所引用合并的其他文献之间有使用不一致的情况下,可以将在合并引用中的使用认为是对本文献使用的补充;对于不可调和的不一致而言,由本文献中的使用进行控制。

本文献中,通常在专利文献中使用的术语“一”或“一个”旨在包括一个或多个,独立于“至少一个”或“一个或多个”的任意其他示例或使用。本文献中,除非明确指出,否则术语“或”用于表示非排除性的或,使得“a或b”包括“有a无b”、“有b无a”以及“a和b”。在所附权利要求中,术语“包括”和“其中”用作对应术语“包含了”和“在其中”的简化英语等同物。此外,在以下权利要求中,术语“包含了”和“包含了”是开放式的;也就是说,除了包括在权利要求中这种术语之后所列的要素之外,还包括其他要素的系统、设备、物品或处理仍落在所附权利要求的范围内。此外,在以下权利要求中,术语“首先”、“第二”和“第三”等仅用作标签,而不是为了强加对这些对象的数目要求。

提供了本公开的摘要,从而使读者可以快速地理解技术公开的性质。应理解,提交摘要并不用于解释或限制权利要求的范围或含义。此外,在以上具体实施方式中,可以看出,多个特征可以集合在单个实施例中以使公开顺畅。本公开的该方法不应被解释为反映要求保护的实施例需要比每一个权利要求中明确记载的特征更多的特征的意图。相反,如所附权利要求所反映的,利用单个公开的实施例的一部分特征就可以实现本发明的主题。因此,所附权利要求在此包含在具体实施方式中,每个权利要求自身作为独立的实施例。

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