CN109247071A - 可变地理围栏系统 - Google Patents

可变地理围栏系统 Download PDF

Info

Publication number
CN109247071A
CN109247071A CN201780034240.5A CN201780034240A CN109247071A CN 109247071 A CN109247071 A CN 109247071A CN 201780034240 A CN201780034240 A CN 201780034240A CN 109247071 A CN109247071 A CN 109247071A
Authority
CN
China
Prior art keywords
geography fence
cell
described
message
example
Prior art date
Application number
CN201780034240.5A
Other languages
English (en)
Inventor
F·阿兹穆迪
P·塞利斯
J·杨
Original Assignee
斯纳普公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US201662318049P priority Critical
Priority to US62/318,049 priority
Priority to US15/474,821 priority patent/US20170287006A1/en
Priority to US15/474,821 priority
Application filed by 斯纳普公司 filed Critical 斯纳普公司
Priority to PCT/US2017/025925 priority patent/WO2017176739A1/en
Publication of CN109247071A publication Critical patent/CN109247071A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce, e.g. shopping or e-commerce
    • G06Q30/02Marketing, e.g. market research and analysis, surveying, promotions, advertising, buyer profiling, customer management or rewards; Price estimation or determination
    • G06Q30/0241Advertisement
    • G06Q30/0251Targeted advertisement
    • G06Q30/0261Targeted advertisement based on user location
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce, e.g. shopping or e-commerce
    • G06Q30/02Marketing, e.g. market research and analysis, surveying, promotions, advertising, buyer profiling, customer management or rewards; Price estimation or determination
    • G06Q30/0241Advertisement
    • G06Q30/0272Period of advertisement exposure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/58Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP based on statistics of usage or network monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/80Rating or billing plans; Tariff determination aspects
    • H04M15/8033Rating or billing plans; Tariff determination aspects location-dependent, e.g. business or home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • H04W4/022Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences with dynamic range variability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/24Accounting or billing

Abstract

在各种实施例中,可以基于在此描述的原理使地理围栏的边界可变。术语“可变”是指事物(在这个情况中,地理围栏的边界)变化和调节的能力。在特定的实施例中,可变地理围栏系统被配置为生成和监测包围区域的地理围栏,以便基于多个边界变量动态地改变地理围栏的边界。在此使用的术语“地理围栏”描述了真实世界地理区域的虚拟周界(例如,边界)。地理围栏可以是围绕点(例如,商店)的半径范围,或者是一组预定义边界。如在此所使用的,边界变量是指由可变地理围栏系统在确定地理围栏的边界的位置上使用的一组变量。

Description

可变地理围栏系统

相关申请

本申请要求于2016年4月4日提交的序列号为62/318,049的美国临时专利申请和于2016年3月30日提交的序列号为15/474,821的美国专利申请的优先权,其通过引用整体并入在此。

技术领域

本公开的实施例一般涉及移动计算技术,并且更具体地但不限于,涉及可变地理围栏系统。

背景技术

地理围栏是使用全球定位系统(GPS)或射频识别(RFID)来定义可以包围区域的地理边界的实践。一旦建立了虚拟边界,管理员就可以设置触发器,以在装置进入(或退出)指定区域时发送内容。广告商通常使用地理围栏将营销活动分发给可进入特定区域的装置。

附图说明

为了容易地识别对任何特定元素或动作的讨论,参考标号中的最高有效的一个数字或多个数字是指首先引入该元素的图号。

图1是示出用于通过网络交换数据(例如,消息和相关联内容)的示例消息传递系统的框图。

图2是示出根据示例实施例的可变地理围栏系统的各种组件的框图。

图3是示出根据示例实施例的由可变地理围栏系统生成的地理围栏的图。

图4是示出根据示例实施例的由可变地理围栏系统确定的地理围栏区域内的装置的分布的图。

图5是示出根据示例实施例的由可变地理围栏系统调节的地理围栏的边界的图。

图6是示出根据示例实施例的由可变地理围栏系统调节的地理围栏的边界的图。

图7是示出根据示例实施例的用于调节地理围栏的边界的示例方法的流程图。

图8是示出根据示例实施例的用于计算地理围栏区域的值的示例方法的流程图。

图9是示出根据一些示例实施例的可以安装在机器上的软件架构的示例的框图。

图10示出了根据示例实施例的计算机系统形式的机器的图形表示,在该计算机系统内可以执行一组指令以使机器执行在此所讨论的任何一种或多种方法。

具体实施方式

在各种实施例中,可以基于在此描述的原理使地理围栏的边界可变。术语“可变”是指事物(在该情况中,地理围栏的边界)变化和调节的能力。在特定的实施例中,可变地理围栏系统被配置为生成和监测包围区域的地理围栏,以便基于多个边界变量动态地改变地理围栏的边界。如在此使用的术语“地理围栏”描述了真实世界地理区域的虚拟周界(例如,边界)。地理围栏可以是围绕点(例如,商店)的半径,或者是一组以其它方式定义的边界。给定地理围栏内的真实世界地理区域在此将被称为地理围栏区域。如在此所使用的,边界变量是指可变地理围栏系统在确定地理围栏的边界的位置上使用的一组变量。

广告商经常使用地理围栏来向跨越地理围栏的边界的装置传递或启用内容到地理围栏区域中。内容可以包括由广告商管理的活动,以将优惠券或数字媒体内容(例如,图像、视频、交互式数字信息)传递到进入地理围栏区域或其附近的装置。例如,广告商可以利用可变地理围栏系统来配置由可变地理围栏系统管理的地理围栏,以将定制的媒体内容传递到进入特定地理围栏区域的装置。

出于本公开的目的,可变地理围栏系统可以是或者可包括可操作以计算、处理、存储、显示、生成、通信或应用用于地理围栏、控制或其它目的的各种形式的数据的任何工具或工具集合。例如,可变地理围栏系统可以是或者可包括一个或多个服务器机器的组合,该服务器机器被配置为请求和接收地理位置数据,该地理位置数据定义一个或多个关注位置,监测由地理围栏包围的地理围栏区域(例如,监测装置相对于地理围栏的位置),并基于一个或多个边界变量来调节地理围栏的边界。边界变量可以包括地理围栏的大小和形状、地理围栏内的装置分布、以及地理围栏本身的使用度量。关注位置可以包括一个或多个真实世界的位置和事件,诸如零售地点、音乐会、聚会、社区事件以及公共场所。

地理位置数据可包括定义点(例如,经度、纬度和高度)的一组坐标,包围与真实世界位置对应的地图图像中的区域的多边形或自由形式的形状,以及卫星和图像数据。可变地理围栏系统生成地理围栏,其边界包围由所接收的地理位置数据定义的区域。例如,地理位置数据可以包括零售地点的坐标或地址,并且响应于接收坐标,可变地理围栏系统生成具有包围该零售地点的半径和边界的地理围栏。基于所接收的地理位置数据,地理围栏可以是圆形的(例如,由纬度和经度定义的半径距离和点)或多边形。

在生成地理围栏之后,可变地理围栏系统对跨越地理围栏区域的装置提供与由地理围栏的边界所包围的关注位置相关联的媒体内容的访问。媒体内容可以包括数字图像、音频、视频和图像或媒体覆盖,位于地理围栏的边界内的装置的用户可以访问或附加到数字消息(例如,SMS、电子邮件、短暂消息)。例如,媒体内容可以包括与关注位置相关联的视觉内容、音频内容和图像或媒体覆盖。当装置位于地理围栏区域内时,装置的用户可以发送短暂消息,该短暂消息包括与关注位置相关联的媒体覆盖(例如,交互式过滤器)。

由装置发送的短暂消息可以是文本、图像、视频等。短暂消息的访问时间可以由消息发送者设置。可选择地,访问时间可以是默认设置或由接收者指定的设置。无论设置技术如何,该消息都是暂态的。

图像或媒体覆盖可以包括可以应用于由装置的用户采集或提供的图像的音频和视觉内容以及视觉效果。音频和视觉内容的示例包括图片、文本、徽标、动画和声音效果。视觉效果的示例包括颜色覆盖。音频和视觉内容或视觉效果可被应用于客户端装置处的媒体内容项(例如,照片)。例如,媒体覆盖包括可以覆盖在由客户端装置生成的照片之上的文本。在另一示例中,媒体覆盖包括位置标识覆盖(例如,威尼斯海滩)、直播事件名称、或商家名称覆盖(例如,海滩咖啡馆)。

可变地理围栏系统确定访问与地理围栏区域内的关注位置相关联的媒体内容的装置的分布。在一些示例实施例中,为了确定分布,可变地理围栏系统将地理围栏区域划分为包括一组小区的网格,其中每个小区表示地理围栏区域内物理位置的部分(在一些情况下,各部分相等),并且其中该组小区的总和构成由地理围栏所包围的整个物理位置。可变地理围栏系统可以跟踪和监测该组小区,以计算每个小区的使用度量。可以基于以下内容来计算该组小区中的小区的使用度量:在预定义时间段内从小区内的装置发送的包括媒体内容的消息的数量;在预定义时间段内从小区发送的包括媒体内容的消息的频率;以及在预定义时间段内在小区内访问(例如,查看或接收)媒体内容的装置的数量。

可变地理围栏系统基于该组小区中的每个小区的使用度量来调节地理围栏的边界以更准确地包围关注位置。例如,可变地理围栏系统可以调节边界以排除一组小区中的使用度量低于预定义阈值的小区,并且包括使用度高于预定义阈值的小区。在一些示例实施例中,当沿着地理围栏的周界的小区的使用度量高于阈值时,可变地理围栏系统可以扩展地理围栏的边界。阈值可以基于与地理围栏区域相关联的历史或平均使用度量来计算。

在一些示例实施例中,由可变地理围栏系统生成的地理围栏可供广告商用于将内容(例如,活动)传递给穿过地理围栏区域内的装置。例如,可变地理围栏系统可以基于预测的使用度量来计算地理围栏区域(或地理围栏区域的小区)的值(例如,价格)。所预测的地理围栏区域的使用度量可以基于:所计算的该组小区的使用度量(例如,如上所述);地理围栏区域的大小;广告商想要使用地理围栏的持续时间(例如,一小时、一天、一周);广告商想要使用该活动的时间段(例如,三月,周六,下午2:00-下午5:00等);以及指示即将发生的事件的信息(例如,通过由可变地理围栏系统访问的第三方API)。

可变地理围栏系统可以从广告商接收活动信息,诸如用于管理活动的关注位置、活动的持续时期和时间、活动内容(例如,媒体内容),以及与期望的活动接收者相关联的人口统计信息。基于对应的地理围栏的预测使用度量和活动信息,可变地理围栏系统计算地理围栏区域的值。在一些示例实施例中,当可变地理围栏系统接收到活动信息时,该值被实时更新。

图1是描绘根据一个实施例的网络系统100的网络图,该网络系统100具有被配置用于通过网络交换数据的客户端-服务器架构。例如,网络系统100可以是消息传递系统,其中客户端在网络系统100内通信以及交换数据。数据可以涉及与网络系统100及其用户相关联的各种功能(例如,发送和接收文本和媒体通信,确定地理位置等)和方面。虽然在此示出为客户端-服务器架构,但是其它实施例可以包括其它网络架构,诸如对等网络环境或分布式网络环境。

如图1中所示,网络系统100包括社交消息传递系统130。社交消息传递系统130通常基于三层架构,包括接口层124、应用逻辑层126和数据层128。如相关计算机和因特网相关技术领域的技术人员所理解的,图1中所示的每个组件或引擎表示一组可执行软件指令和用于执行指令的对应的硬件(例如,存储器和处理器)。为了避免不必要的细节模糊本发明的主题内容,从图1中省略了与传达对本发明主题内容的理解没有密切关系的各种功能组件和引擎。附加功能组件和引擎可以与社交消息传递系统(诸如图1中所示的社交消息传递系统)一起使用,以便于实现在此未具体描述的附加功能。此外,图1中描绘的各种功能组件和引擎可以驻留在单个服务器计算机上,或者可以以各种布置在若干服务器计算机之间分布。此外,尽管图1中将社交消息传递系统130描绘为三层架构,但是本发明的主题决不限于此类架构。

如图1中所示,接口层124包括接口组件(例如,web服务器)140,其接收来自各种客户端-计算装置和服务器(诸如执行客户端应用112、可变地理围栏系统160以及消息传递客户端应用170的客户端装置110,以及执行第三方应用122的第三方服务器120)的请求。响应于所接收的请求,接口组件140经由网络104向请求装置传送适当的响应。例如,接口组件140可以接收诸如超文本传输协议(HTTP)请求或者其它基于Web的应用编程接口(API)请求的请求。

客户端装置110可以执行传统web浏览器应用或针对特定平台开发以包括各种移动计算装置和移动专用操作系统中的任何一个(例如,IOSTM、ANDROIDTMPHONE)的应用(也称为“应用软件”)。在示例中,客户端装置110执行客户端应用112。客户端应用112可以提供向用户106呈现信息并且经由网络104进行通信以与社交消息传递系统130交换信息的功能。客户端装置110中的每一个可以包括计算装置,该计算装置至少包括与网络104的显示和通信能力以访问社交消息传递系统130。用户106可以包括与客户端装置110交互的人、机器或其它工具。在一些实施例中,用户106经由客户端装置110与社交消息传递系统130交互。

如图1中所示,数据层128具有一个或多个数据库服务器132,其便于访问信息存储库或数据库134。数据库134是存储数据的存储装置,该数据诸如是由客户端装置110生成并发送到社交消息传递系统130的外部区域的图像集;从包括建筑物的图像中生成的立面数据集;将图像和立面数据与地理位置匹配的地图数据;以及其它此类数据。在一个实施例中,数据库存储从街道采集的图像并将这些图像与地图数据相关联。此类实施例中的一些实施方式可以使用过滤器或图像裁剪来从图像中移除人,诸如仅存储在包括人的高度以上的图像数据的实施例。数据库134还可以存储诸如成员简档数据、社交图数据(例如,社交消息传递系统130的成员之间的关系)和其他用户数据的数据。

个人可以向社交消息传递系统130注册以成为社交消息传递系统130的成员。在注册后,成员可以在社交消息传递系统130上形成社交网络关系(例如,朋友、关注者或联系人),并且与由社交消息传递系统130提供的广泛应用进行交互。

应用逻辑层126包括各种应用逻辑组件150,该应用逻辑组件150结合接口组件140采用从数据层128中的各种数据源或数据服务取得的数据来生成各种用户界面。各个应用逻辑组件150可以用于实现与社交消息传递系统130的各种应用、服务和特征相关联的功能,包括可变地理围栏系统160的各方面。例如,社交消息传递应用可以采用一个或多个应用逻辑组件150实现。社交消息传递应用为客户端装置110的用户提供发送和接收包括文本和诸如图片和视频的媒体内容的消息的消息传递机制。客户端装置110可以访问和查看来自社交消息收发应用的消息达指定的时间段(例如,有限的或无限制的)。在示例中,特定消息可被消息接收者访问达到从首次访问特定消息时开始的预定义的持续时期(例如,由消息发送者指定)。在预定义的持续时期过去之后,消息将被删除,并且消息接收者将无法再访问该消息。当然,其它应用和服务可以分别在它们自己的应用服务器组件150中实现。

图2是示出根据一些示例实施例的可变地理围栏系统160的组件的框图,该可变地理围栏系统160配置可变地理围栏系统160以接收地理位置数据来生成和管理可变地理围栏。可变地理围栏系统160被示为包括通信组件210、呈现组件220、地理围栏组件230、内容传递组件240、评估组件250和短暂计时器模块260,所有这些都被配置为彼此通信(例如,经由总线、共享存储器或交换机)。这些组件中的任何一个或多个组件可以使用一个或多个处理器270(例如,通过配置该一个或多个处理器来执行针对该组件描述的功能)来实现,并且因此可以包括处理器270中的一个或多个处理器。

图3是示出根据示例实施例的由可变地理围栏系统160生成的地理围栏310的图300。如上所述,地理围栏310可以包括包围地图图像320中的地理区域的边界,其中地图图像320表示真实世界的地理区域。

为了生成地理围栏310,通信模块210可以接收定义关注位置的地理位置数据。例如,用户106可以通过在客户端装置110处显示的用户界面提供选择特定的关注位置的用户输入。用户输入可以包括对地图图像320中的点的选择,或者来自一组搜索结果中的搜索结果的选择,其中搜索结果对应于地图图像320上的位置。地理围栏模块230生成地理围栏310,其中地理围栏310的大小和位置基于地理位置数据。

图4是示出根据示例实施例的在地图图像320内由可变地理围栏系统160确定位于地理围栏310内的装置410的分布的图400。装置410的分布可以被定义为地理围栏310内的装置的物理密度。例如,装置410的分布可以指示地理围栏310内的装置的规格物理位置。

通信模块210可以监测位于地理围栏310内或地理围栏310附近的装置的使用数据。使用数据例如可以包括:在预定义时间段内从小区内的装置发送的包括媒体内容的消息的数量;在预定义时间段内从小区发送的包括媒体内容的消息的频率;以及在预定义时间段内在小区内访问(例如,查看或接收)媒体内容的装置的数量。基于使用数据,地理围栏模块230可以确定装置410的分布。

可以基于以下内容来计算该组小区中的小区的使用度量:在预定义时间段内从小区内的装置发送的包括媒体内容的消息的数量;在预定义时间段内从小区发送的包括媒体内容的消息的频率;以及在预定义时间段内在小区内访问(例如,查看或接收)媒体内容的装置的数量。

图5是示出根据在此讨论的示例方法,基于装置410的分布,由可变地理围栏系统160调节的图3和图4的地理围栏310的边界510的图500。地理围栏模块230可以接收使用数据来确定装置410的分布,并且作为响应,调节地理围栏310的边界以更准确地将地理围栏区域内的装置作为目标。虽然图5描绘了由可变地理围栏形成的一个围合,但是在其它示例实施例中,地理围栏模块230调节地理围栏310的边界,使得存在多个独立的地理围栏。

图6是示出根据在此讨论的示例方法的由可变地理围栏系统160调节的地理围栏310的边界610的图600。在一些示例实施例中,地理围栏模块230可以基于实时收集的使用数据来调节地理围栏310的边界。例如,当通信模块210收集使用数据时,地理围栏模块230可以重新计算地理围栏区域内的装置的分布,以及实时调节地理围栏的边界610。

在一些示例实施例中,地理围栏模块230可以基于一天中的时间来改变地理围栏的边界610。例如,地理围栏模块230可以将图5的边界510保持达到第一时间段,并且然后将边界610保持达到第二段时间段。在一些示例实施例中,时间段可以基于由通信模块210收集的使用数据来确定。虽然图3、4、5和6描绘了二维地理围栏,但是本说明书中描述的技术也可以应用于以三维定义的地理围栏的三维空间(例如,在帝国大厦的底部可以获得与在帝国大厦的观景台不同的媒体内容)。

图7是示出根据示例实施例的可变地理围栏系统160在执行用于调节地理围栏的边界的示例方法700中的操作的流程图。如图7中所示,根据一些示例实施例,一个或多个操作702、704、706、708、710和712可作为方法700的一部分(例如,前体任务、子例程或部分)而被执行。

操作702可以由通信模块210执行。在操作702处,通信模块210接收指示关注位置的地理位置数据。如上面关于图3所讨论的,用户106可以通过在客户端装置110处显示的用户界面提供识别或以其它方式选择特定的关注位置的用户输入。用户输入可以包括对地图图像320中的点的选择,或者来自一组搜索结果中的搜索结果的选择,其中搜索结果对应于地图图像320上的位置。地理围栏模块230生成地理围栏310,其中地理围栏310的大小和位置基于地理位置数据。

操作704可以由地理围栏模块230执行。在操作704处,地理围栏模块230基于由通信模块210接收的地理位置数据,生成包围包括关注区域的第一区域的地理围栏。基于地理位置数据,由地理围栏模块230生成的地理围栏可以具有对应的大小和位置。

由地理围栏模块230生成的地理围栏最初可能是过度包含的,以采集包围由地理位置数据识别的关注区域的大区域。地理围栏可以是围绕点(例如,关注位置)的半径范围,或者是一组另外定义的边界。

操作706可以由地理围栏模块230执行。在操作706处,地理围栏模块230将由地理围栏包围的区域划分为一组小区(例如,网格),其中一组小区中的每个小区表示地理围栏内的区域的一部分。例如,区域内的小区的数量可以基于地理围栏的大小或基于用户输入来定义。

操作708可以由通信模块210执行。在操作708处,通信模块210从位于地理围栏区域内的装置收集使用数据。使用数据可以包括对应的地理位置数据,该地理位置数据指示一组小区中使用数据所源自的小区(即,指示在地理围栏区域内装置的位置)。通信模块210可以从所收集的使用数据中识别与关注位置相关联的使用数据。例如,通信模块210可以基于包括与由地理围栏所包围的关注位置相关联的媒体内容的消息来识别与关注位置相关联的使用数据。例如,使用数据可以包括来自位于关注位置内的小区内的第一客户端装置的消息,其中该消息包括识别关注位置的媒体内容(例如,照片,过滤器)。

操作710可以由地理围栏模块230执行。在操作710处,地理围栏模块220基于与关注位置相关联的使用数据来计算使用度量。使用数据可以例如包括:在预定义时间段内从小区内的装置发送的包括媒体内容的消息的数量;在预定义时间段内从小区发送的包括媒体内容的消息的频率;以及在预定义时间段内在小区内访问(例如,查看或接收)媒体内容的装置的数量。基于使用数据和指示使用数据的源装置位于地理围栏内的小区的地理位置数据,地理围栏模块230可以确定地理围栏区域内的装置的分布。

操作710可以由地理围栏模块230执行。基于使用数据,地理围栏模块230计算并向由地理围栏包围的区域内的一组小区中的每个小区分配使用度量。在操作712处,地理围栏模块230基于该组小区中的每个小区的使用度量来调节地理围栏的边界。在一些示例实施例中,地理围栏模块230基于约束来调节地理围栏的边界。例如,地理围栏模块230可以调节地理围栏,使得其不延伸到第一区域之外或者在第一区域的外侧延伸预定距离,以防止随着时间的推移在可变地理围栏中意外漂移或移位。

图8是示出根据示例实施例的可变地理围栏系统160在执行用于计算地理围栏区域的值的示例方法800中的操作的流程图。如图8中所示,根据一些示例实施例,可以执行一个或多个操作802、804、806和808作为方法800的一部分(例如,前导任务、子例程或部分)。

操作802可以由地理围栏模块230执行。在操作802处,地理围栏模块230至少基于地理围栏内的一个或多个小区的使用度量和地理围栏的大小和形状来计算地理围栏的使用度量。

例如,如上面关于图7所讨论的,通信模块210从位于包括地理围栏以及在地理围栏内的一个或多个小区内的装置收集使用数据。使用数据可以例如包括:在预定义时间段内从小区内的装置发送的包括媒体内容的消息的数量;在预定义时间段内从小区发送的包括媒体内容的消息的频率;对媒体内容的访问请求;由地理围栏和/或地理围栏的每个小区内的装置访问的媒体内容的类型;以及在预定义时间段内在小区内访问(例如,查看或接收)媒体内容的装置的数量。地理围栏模块230基于来自一个或多个小区中的每一个小区的使用数据以及地理围栏的大小和形状来计算地理围栏的预测的使用度量。

操作804可以由通信模块210执行。在操作210处,通信模块210从第三方服务器120或者与广告商相关联的客户端装置110接收活动信息。活动信息可以包括媒体内容类型的规格、活动的持续时间,以及活动的目标受众的指示。

操作806和808可以由地理围栏模块230执行。在操作806处,地理围栏模块230基于活动信息和预测的使用度量来计算地理围栏的值,并且在操作808处,将值分配给地理围栏。该值可以包括在预定义时间段(例如,每天、每小时)内的固定值,或者在一些示例实施例中,可以基于位于地理围栏内的装置的媒体内容的传递的数量(例如,每100个装置的值,每个装置的值)。

图9是示出可以安装在上述任何一个或多个装置上的软件902的架构的框图900。图9仅仅是软件架构的非限制性示例,并且将理解可以实现许多其它架构来促进在此所述的功能。在各种实施例中,软件902由诸如图10的机器1000的硬件来实现,机器1000包括处理器1010、存储器1030和I/O组件1050。在该示例架构中,软件902可以被概念化为层的堆栈,其中每一个层可以提供特定的功能。例如,软件902包括诸如操作系统904、库906、框架908和应用910的层。操作上,与一些实施例一致,应用910通过软件堆栈调用应用程序编程接口(API)调用912,并响应于API调用912接收消息914。

在各种实施方式中,操作系统904管理硬件资源并提供公共服务。操作系统904包括例如内核920、服务922和驱动器924。与一些实施例一致,内核920作为硬件与其它软件层之间的抽象层。例如,内核920提供了存储器管理、处理器管理(例如调度)、组件管理、网络连接和安全设置等功能。服务922可以为其它软件层提供其它公共服务。根据一些实施例,驱动器924负责控制底层硬件或与底层硬件接口连接。例如,驱动器924可以包括显示器驱动器、相机驱动器、蓝牙驱动器、闪存驱动器、串行通信驱动器(例如通用串行总线(USB)驱动器)、驱动器、音频驱动器、电源管理驱动器等。

在一些实施例中,库906提供由应用910利用的低级通用基础设施。库906可以包括系统库930(例如,C标准库),其可以提供诸如存储器分配函数、字符串操作函数、数学函数等的函数。此外,库906可以包括API库932,诸如媒体库(例如,支持各种媒体格式(诸如运动图像专家组-4(MPEG4)、高级视频编码(H.264或AVC)、运动图像专家组-3(MP3)、高级音频编码(AAC)、自适应多速率(AMR)音频编解码器、联合图像专家组(JPEG或JPG)或便携式网络图形(PNG))的呈现和操纵的库)、图形库(例如,用于在显示器上的图形内容中呈现二维(2D)和三维(3D)的OpenGL框架)、数据库库(例如,提供各种关系数据库功能的SQLite)、web库(例如,提供网页浏览功能的WebKit)等。库906同样可以包括各种各样的其它库934,以向应用910提供许多其它API。

根据一些实施例,框架908提供可由应用910利用的高级公共架构。例如,框架908提供各种图形用户界面(GUI)功能、高级别资源管理、高级位置节点等。框架908可以提供可由应用910利用的其它API的广泛范围,其中的一些可以特定于特定操作系统或平台。

在示例实施例中,应用910包括主页应用950、联系人应用952、浏览器应用954、书籍阅读器应用956、位置应用958、媒体应用960、消息传递应用962、游戏应用964以及诸如第三方应用966的其它广泛分类的应用。根据一些实施例,应用910是执行程序中定义的功能的程序。可以利用各种编程语言来创建以各种方式构造的一个或多个应用910,诸如面向对象的编程语言(例如,Objective-C、Java或C++)或过程编程语言(例如,C或汇编语言)。在具体示例中,第三方应用966(例如,由特定平台的供应商之外的实体使用ANDROIDTM或IOSTM软件开发工具包(SDK)开发的应用)可以是在移动操作系统(诸如IOSTM、ANDROIDTM或其它移动操作系统)上运行的移动软件。在该示例中,第三方应用966可以调用由操作系统904提供的API调用912以便于执行在此描述的功能。

图10是示出根据一些实施例能够从机器可读介质(例如,机器可读存储介质)读取指令并执行在此讨论的任何一种或多种方法的机器1000的组件的框图。具体地,图10示出了以计算机系统的示例形式的机器1000的示意图,在该计算机系统内可以执行用于使机器1000执行在此讨论的任何一种或多种方法的指令1016(例如,软件、程序、应用、小程序、应用程序或其它可执行代码)。在替代实施例中,机器1000作为独立装置操作或者可以耦接(例如,网络连接)到其它机器。在联网部署中,机器1000可以以服务器-客户端网络环境中的服务器机器或客户端机器的能力操作,或者作为对等(或分布式)网络环境中的对等机器。机器1000可以包括但不限于服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能手机、移动装置、可穿戴装置(例如,智能手表)、智能家居装置(例如,智能家电)、其它智能装置、网络装置、网络路由器、网络交换机、网络桥接器、或者连续或以其它方式指定机器1000将采取的动作的能够执行指令1016的任何机器。此外,虽然只示出单个机器1000,但是术语“机器”同样可被认为包括单独或联合执行指令1016以执行在此所讨论的任何一种或多种方法的机器1000的集合。

在各种实施例中,机器1000包括处理器1010、存储器1030以及可被配置成经由总线1002彼此通信的I/O组件1050。在示例实施例中,处理器1010(例如,中央处理单元(CPU)、简化指令集计算(RISC)处理器、复合指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另一个处理器或其任何合适的组合)包括例如可以执行指令1016的处理器1012和处理器1014。术语“处理器”旨在包括多核处理器,该多核处理器可以包括可以同时执行指令的两个以上独立处理器(同样称为“核”)。尽管图10示出了多个处理器,但是机器1000可以包括单个具有单核的处理器、单个具有多核的处理器(例如,多核处理器)、多个具有单核的处理器、多个具有多核的处理器或其任何组合。

根据一些实施例,存储器1030包括主存储器1032、静态存储器1034和经由总线1002可被处理器1010访问的存储单元1036。存储单元1036可以包括机器可读介质1038,在该机器可读介质1038上存储了体现在此所述的任何一种或多种方法或功能的指令1016。指令1016同样可以在由机器1000的其执行期间完全或至少部分地驻留在主存储器1032内、静态存储器1034内、处理器1010中的至少一个内(例如,在处理器的高速缓冲存储器内)或任何合适的组合。因此,在各种实施例中,主存储器1032、静态存储器1034和处理器1010被认为是机器可读介质1038。

如在此所使用的,术语“存储器”是指能够临时或永久地存储数据的机器可读介质1038,并且可以认为包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓存、闪存和高速缓存。虽然机器可读介质1038在示例实施例中被示出为单个介质,但术语“机器可读介质”应当被认为包括能够存储指令1016的单个介质或多个介质(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。术语“机器可读介质”同样可被视为包括能够存储指令(例如,指令1016)用于由机器(例如,机器1000)执行的任何介质或多个介质的组合,使得指令在由机器1000的一个或多个处理器(例如,处理器1010)执行时使机器1000执行在此描述的任何一个或多个的方法。因此,“机器可读介质”是指单个存储设备或装置,以及包括多个存储设备或装置的“基于云”的存储系统或存储网络。因此,术语“机器可读介质”可被视为包括但不限于以固态存储器(例如,闪存)、光学介质、磁性介质、其它非易失性存储器(例如,可擦除可编程只读存储器(EPROM))或其任何合适的组合的形式的一个或多个数据存储库。

I/O组件1050包括用于接收输入、提供输出、产生输出、发送信息、交换信息、采集测量等的各种各样的组件。通常,可理解的是I/O组件1050可以包括图10中未示出的许多其它组件。I/O组件1050根据功能被分组,仅用于简化以下讨论,并且分组决不是限制性的。在各种示例实施例中,I/O组件1050包括输出组件1052和输入组件1054。输出组件1052包括视觉组件(例如,显示器,诸如等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT))、听觉组件(例如扬声器)、触觉组件(例如振动电动机)、其它信号发生器等。输入组件1054包括字母数字输入组件(例如,键盘、配置为接收字母数字输入的触摸屏、光电键盘或其它字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其它指示仪器)、触知输入组件(例如,物理按钮、提供触摸或触摸手势的位置和力的触摸屏、或其它触觉输入组件)、音频输入组件(例如,麦克风)等。

在一些另外的示例实施例中,I/O组件1050包括各种其它组件中的生物度量组件1056、运动组件1058、环境组件1060或位置组件1062。例如,生物度量组件1056包括检测表达(例如手部表达、面部表情、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、汗水或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件1058包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如陀螺仪)等。环境组件1060包括例如照明传感器组件(例如,光度计)、温度传感器组件(例如,检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如气压计)、声学传感器组件(例如,检测背景噪声的一个或多个麦克风)、接近度传感器组件(例如,检测附近物体的红外传感器)、气体传感器组件(例如,机器嗅觉检测传感器、用于为了安全而检测危险气体浓度或测量大气中的污染物的气体检测传感器)或可能提供与周围物理环境相对应的指示、测量或信号的其它组件。位置组件1062包括定位传感器组件(例如,全球定位系统(GPS)接收器组件)、高度传感器组件(例如,高度计或气压计,其可以检测可以从哪个高度导出的空气压力)、取向传感器组件(例如,磁力计)等。

通信可以使用各种各样的技术来实现。I/O组件1050可以包括通信组件1064,其可操作以分别经由耦接器1082和耦接器1072将机器1000耦接到网络1080或装置1070。例如,通信组件1064包括网络接口组件或与网络1080接口连接的另一合适装置。在另外的示例中,通信组件1064包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、蓝牙组件(例如,低功耗蓝牙)、组件和经由其它模式提供通信的其它通信组件。装置1070可以是另一机器或各种各样的外围装置(例如,经由通用串行总线(USB)耦接的外围装置)中的任何一个。

此外,在一些实施例中,通信组件1064检测标识符或包括可操作以检测标识符的组件。例如,通信组件1064包括射频识别(RFID)标签读取器组件、NFC智能标签检测组件、光学读取器组件(例如,光学传感器,其用于检测诸如通用产品代码(UPC)条形码的一维条形码、诸如快速响应(QR)代码、Aztec代码、数据矩阵、数字图形、最大码、PDF417、超码、统一商业代码缩减空格符号(UCC RSS)-2D条形码和其它光学代码的多维条形码)、声学检测组件(例如,用于识别标记的音频信号的麦克风)或其任何合适的组合。此外,可以经由可以指示特定位置的通信组件1064来导出各种信息,诸如经由因特网协议(IP)地理位置的位置、经由信号三角测量的位置、经由检测蓝牙或NFC信标信号的位置等。

在各种示例实施例中,网络1080中的一个或多个部分可以是自组织网络、内联网、外部网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网、因特网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、另一种类型的网络,或两个以上此类网络的组合。例如,网络1080或网络1080的一部分可以包括无线或蜂窝网络,并且耦接1082可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或另一种类型的蜂窝或无线耦接。在该示例中,耦接1082可以实现各种类型的数据传输技术中的任何一种,诸如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线业务(GPRS)技术、GSM演进增强型数据速率(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准制定组织定义的其它标准、其它远程协议或其它数据传输技术。

在示例实施例中,经由网络接口装置(例如,在通信组件1064中包括的网络接口组件)使用传输介质通过网络1080发送或接收指令1016,并且利用多个公知的传输协议(例如,超文本传输协议(HTTP))中的任何一个。类似地,在其它示例实施例中,使用传输介质经由耦接1072(例如,对等耦接)向装置1070发送或接收指令1016。术语“传输介质”可被视为包括能够存储、编码或携带由机器1000执行的指令1016的任何无形介质,并且包括数字或模拟通信信号或其它无形介质以便于这种软件的通信实现。

此外,因为机器可读介质1038不体现传播信号,所以机器可读介质1038是非暂态的(换句话说,不具有任何短暂信号)。然而,将机器可读介质1038标记为“非暂态”不应被解释为意味着介质不能移动。介质应该被认为是可从一个物理位置传送到另一物理位置。另外,由于机器可读介质1038是有形的,因此介质可以被认为是机器可读装置。

载体介质包括能够承载机器可读指令的任何介质,并且载体介质包括机器可读存储介质和传输介质。

以下编号的示例是实施例。

1.一种计算机实现的方法,包括:

接收定义关注位置的地理位置数据;

基于地理位置数据生成地理围栏,该地理围栏具有包围第一区域的边界,该第一区域包括关注位置;

将由地理围栏包围的第一区域划分为一组小区,该组小区中的每个小区表示第一区域的一部分;

检测来自位于形成第一区域的该组小区的小区内的装置的消息,该消息包括与关注位置相关联的媒体内容;

基于来自装置的消息和与关注位置相关联的媒体内容来计算小区的使用度量,该使用度量至少指示在预定义时间段内从小区发送的包括与关注位置相关联的媒体内容的消息的数量;以及

基于第一区域内的小区的使用度量和位置,调节包围包括关注位置的第二区域的地理围栏的边界,第二区域包括该组小区中的小区。

2.根据示例1所述的计算机实现的方法,进一步包括:

至少基于小区的使用度量和地理围栏的大小来计算地理围栏的预测的使用度量;

接收包括持续时间和媒体内容的活动信息;

基于活动信息和所预测的使用度量计算地理围栏的值;以及

将值分配给地理围栏。

3.根据示例2所述的计算机实现的方法,其中,地理围栏的值包括每个时间段的值,其中,时间段基于所预测的使用度量来确定。

4.根据示例2所述的计算机实现的方法,其中,地理围栏的值包括暴露于由活动信息定义的活动的每个装置的值。

5.根据示例1至4中任一项所述的计算机实现的方法,其中,媒体内容识别关注位置。

6.根据示例1至5中任一项所述的计算机实现的方法,其中,媒体内容包括图像数据、音频数据、视频数据和媒体覆盖。

7.根据示例1至6中任一项所述的计算机实现的方法,其中,消息包括短暂消息。

8.一种系统,包括:

存储器;以及

至少一个硬件处理器,其耦接到存储器并且包括使系统执行操作的指令,该操作包括:

接收定义关注位置的地理位置数据;

基于地理位置数据生成地理围栏,该地理围栏具有包围包括关注位置的第一区域的边界;

将由地理围栏包围的第一区域划分为一组小区,该组小区中的每个小区表示第一区域的一部分;

检测来自位于在形成第一区域的该组小区的小区内的装置的消息,该消息包括与关注位置相关联的媒体内容;

基于来自装置的消息和与关注位置相关联的媒体内容来计算小区的使用度量,该使用度量至少指示在预定义时间段内从小区发送的包括与关注位置相关联的媒体内容的消息的数量;以及

基于第一区域内的小区的使用度量和位置,调节地理围栏的边界以包围包括关注位置的第二区域,第二区域包括该组小区中的小区。

9.根据示例8所述的系统,其中,指令使系统执行操作进一步包括:

至少基于小区的使用度量和地理围栏的大小来计算地理围栏的预测的使用度量;

接收包括持续时间和媒体内容的活动信息;

基于活动信息和所预测的使用度量计算地理围栏的值;以及

将值分配给地理围栏。

10.根据示例9所述的系统,其中,地理围栏的值包括每个时间段的值,其中时间段基于所预测的使用度量来确定。

11.根据示例9所述的系统,其中,地理围栏的值包括暴露于由活动信息定义的活动的每个装置的值。

12.根据示例8至11中任一项所述的系统,其中,媒体内容识别关注位置。

13.根据示例8至12中任一项所述的系统,其中,媒体内容包括图像数据、音频数据、视频数据和媒体覆盖。

14.根据示例8至13中任一项所述的系统,其中,消息包括短暂消息。

15.一种包括指令的机器可读存储介质,该指令在由机器的一个或多个处理器执行时,使机器执行操作,操作包括:

接收定义关注位置的地理位置数据;

基于地理位置数据生成地理围栏,该地理围栏具有包围包括关注位置的第一区域的边界;

将由地理围栏包围的第一区域划分为一组小区,该组小区中的每个小区表示第一区域的一部分;

检测来自位于形成第一区域的该组小区的小区内的装置的消息,该消息包括与关注位置相关联的媒体内容;

基于来自装置的消息和与关注位置相关联的媒体内容来计算小区的使用度量,使用度量至少指示在预定义时间段内从小区发送的包括与关注位置相关联的媒体内容的消息的数量;以及

基于第一区域内的小区的使用度量和位置,调节地理围栏的边界以包围包括关注位置的第二区域,第二区域包括该组小区中的小区。

16.根据示例15所述的机器可读存储介质,进一步包括使机器执行操作的指令,该操作进一步包括:

至少基于小区的使用度量和地理围栏的大小来计算地理围栏的预测的使用度量;

接收包括持续时间和媒体内容的活动信息;

基于活动信息和所预测的使用度量计算地理围栏的值;以及

将值分配给地理围栏。

17.根据示例16所述的机器可读存储介质,其中,地理围栏的值包括每个时间段的值,其中,时间段基于所预测的使用度量来确定。

18.根据示例16所述的机器可读存储介质,其中,地理围栏的值包括暴露于由活动信息定义的活动的每个装置的值。

19.根据示例15至18中任一项所述的机器可读存储介质,其中,媒体内容识别关注位置。

20.根据示例15至19中任一项所述的机器可读存储介质,其中,媒体内容包括图像数据、音频数据、视频数据和媒体覆盖。

21.一种承载指令的载体介质,当由机器的一个或多个处理器执行时,该指令使机器执行示例1至7中任一项的方法。

在整个说明书中,多个实例可以实现被描述为单个实例的组件、操作或结构。虽然将一个或多个方法的单独操作示出和描述为单独的操作,但可以同时执行一个或多个单独的操作,并且不需要以所示顺序执行操作。作为示例配置中的单独组件呈现的结构和功能可以被实现为组合的结构或组件。类似地,作为单个组件呈现的结构和功能可以被实现为分离的多个组件。这些和其它变化、修改、添加和改进落入本文主题的范围内。

虽然已经参考具体示例实施例描述了本发明主题的概述,但是在不脱离本公开的实施例的更广泛范围的情况下,可以对这些实施例进行各种修改和改变。本发明主题的此类实施例在此可以单独地或集体地由术语“发明”指代,这仅仅为了方便,如果事实上公开了多于一个则不旨在将本申请的范围限制于任何单个公开内容或发明构思。

在此示出的实施例足够详细地描述,以使本领域技术人员能够实践所公开的教导。可以使用和从中导出其它实施例,使得可以在不脱离本公开的范围的情况下进行结构和逻辑替换和改变。因此,具体实施方式不应被认为是限制性的,并且各种实施例的范围仅由所附权利要求以及这些权利要求所赋予的等同物的全部范围来限定。

如在此所使用的,术语“或”可以以包含或排除的方式来解释。此外,可以为在此所述的资源、操作或结构提供多个实例作为单个实例。此外,各种资源、操作、组件、引擎和数据存储之间的边界是一定程度上任意的,并且在特定说明性配置的上下文中示出了特定的操作。可以设想功能的其它分配,并且这些其它分配可以落入本公开的各种实施例的范围内。通常,作为示例配置中的分离的资源呈现的结构和功能可以被实现为组合的结构或资源。类似地,作为单个资源呈现的结构和功能可以被实现为分离的资源。这些和其它变化、修改、添加和改进落入由所附权利要求所表示的本公开的实施例的范围内。因此,说明书和附图被认为是说明性的而不是限制性的。

本专利文件的公开内容的一部分包含受版权保护的材料。版权所有者不反对任何人对专利文件或专利公开内容进行传真复制,因为它出现在专利和商标局的专利文档或记录中,但保留在其它方面的所有版权。以下声明适用于下面和构成本文件一部分的附图中所述的软件和数据:版权2016,SNAPCHAT,INC,保留所有权利。

词汇表

在该上下文中的“载波信号”是指能够存储、编码或承载用于由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其它无形介质以便于此类指令的通信。可以使用传输介质经由网络接口装置并使用许多众所周知的传输协议中的任何一个传输协议来通过网络发送或接收指令。

在该上下文中的“客户端装置”是指与通信网络接口连接以从一个或多个服务器系统或其它客户端装置获得资源的任何机器。客户端装置可以是但不限于移动电话、台式计算机、膝上型计算机、便携式数字助理(PDA)、智能电话、平板计算机、超级本、上网本、膝上型计算机、多处理器系统、基于微处理器或可编程的消费电子产品、游戏控制台、机顶盒或用户可用于访问网络的任何其它通信装置。

在该上下文中的“通信网络”是指网络的一个或多个部分,该网络可以是自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网、因特网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、另一种类型的网络,或两个以上此类网络的组合。例如,网络或网络的一部分可以包括无线或蜂窝网络,并且耦合可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或其它类型的蜂窝或无线耦接。在该示例中,耦合可以实现各种类型的数据传输技术中的任何一种,诸如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线服务(GPRS)技术、GSM演进增强型数据速率(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准制定组织定义的其它标准、其它远程协议或其它数据传输技术。

在该上下文中的“短暂消息”是指可在时间限制的持续时间内访问的消息。短暂消息可以是文本、图像、视频等。短暂消息的访问时间可以由消息发送者设置。可替代地,访问时间可以是默认设置或由接收者指定的设置。无论设置技术如何,该消息都是暂态的。

在该上下文中的“机器可读介质”是指能够临时或永久地存储指令和数据的组件、装置或其它有形介质,并且可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存、光学介质、磁介质、高速缓冲存储器、其它类型的存储器(例如,可擦除可编程只读存储器(EEPROM))和/或其任何合适的组合。术语“机器可读介质”应被视为包括能够存储指令的单个介质或多个介质(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。术语“机器可读介质”还应被视为包括能够存储由机器执行的指令(例如,代码)的任何介质或多个介质的组合,使得指令在由机器的一个或多个处理器执行时使机器执行在此描述的任何一种或多种方法。因此,“机器可读介质”是指单个存储设备或装置,以及包括多个存储设备或装置的“基于云的”存储系统或存储网络。术语“机器可读介质”排除信号本身。

在该上下文中的“组件”是指具有由功能或子例程调用、分支点、应用程序接口(API)或提供特定处理或控制功能的分区或模块化的其它技术定义的边界的装置、物理实体或逻辑。组件可以经由它们的接口与其它组件组合以执行机器过程。组件可以是被设计用于与其它组件一起使用的封装功能硬件单元,以及通常执行相关功能的特定功能的程序的一部分。组件可以构成软件组件(例如,在机器可读介质上体现的代码)或硬件组件。“硬件组件”是能够执行某些操作的有形单元,并且可以以某种物理方式配置或布置。在各种示例实施例中,一个或多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或多个硬件组件(例如,处理器或一组处理器)可以通过软件(例如,应用或应用部分)将其配置为操作以执行如在此所述的某些操作的硬件组件。硬件组件还可以机械地、电子地或其任何合适的组合来实现。例如,硬件组件可以包括永久配置为执行某些操作的专用电路或逻辑。硬件组件可以是专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件组件还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路。例如,硬件组件可以包括由通用处理器或其它可编程处理器执行的软件。在由该软件配置后,硬件组件就成为特定的机器(或机器的特定组件),其被独特地定制以执行配置的功能并且不再是通用处理器。应当理解,可以由成本和时间考虑来驱动在专用和永久配置的电路中或在临时配置的电路(例如,由软件配置)中机械地实现硬件组件的决定。因此,短语“硬件组件”(或“硬件实现的组件”)应该被理解为包含有形实体,即物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)的实体,以某种方式操作或执行在此所述的某些操作。考虑其中硬件组件被临时配置(例如,编程)的实施例,不需要在任何一个时刻配置或实例化硬件组件中的每个硬件组件。例如,在硬件组件包括由软件配置成为专用处理器的通用处理器的情况下,通用处理器可以在不同时间被配置为相应的不同的专用处理器(例如,包括不同的硬件组件)。软件相应地配置特定的一个或多个处理器,例如,在一个时刻构成特定的硬件组件,并在不同的时刻构成不同的硬件组件。硬件组件可以向其它硬件组件提供信息并从其接收信息。因此,所描述的硬件组件可以被视为通信地耦接。在同时存在多个硬件组件的情况下,可以通过在两个硬件组件之间或更多个硬件组件之中的信号传输(例如,通过适当的电路和总线)来实现通信。在其中在不同时间配置或实例化多个硬件组件的实施例中,例如通过对多个硬件组件可访问的存储器结构中的信息的存储和取得,可以实现该硬件组件之间的通信。例如,一个硬件组件可以执行操作并将该操作的输出存储在与其通信耦接的存储器装置中。然后,另一硬件组件可以稍后访问存储器装置以取得和处理所存储的输出。硬件组件还可以启动与输入或输出装置的通信,并且可以在资源(例如,信息集合)上操作。在此描述的示例方法的各种操作可以至少部分地由临时配置(例如,通过软件)或永久配置为执行相关操作的一个或多个处理器来执行。无论是临时配置还是永久配置,该处理器可以构成处理器实现的组件,其用于执行在此描述的一个或多个操作或功能。如在此所使用的,“处理器实现的组件”是指使用一个或多个处理器实现的硬件组件。类似地,在此描述的方法可以至少部分地由处理器实现,其中特定的一个处理器或多个处理器是硬件的示例。例如,方法的操作中的至少一些操作可以由一个或多个处理器或处理器实现的组件来执行。此外,一个或多个处理器还可以操作以支持“云计算”环境中的相关操作的性能或作为“软件即服务”(SaaS)。例如,操作中的至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,这些操作可以经由网络(例如,因特网)并且经由一个或多个适当的接口(例如,应用程序接口(API))访问。操作中的某些操作的性能可以在处理器之间分配,不仅驻留在单个机器内,而且部署在多个机器上。在一些示例实施例中,处理器或处理器实现的组件可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器群内)。在其它示例实施例中,处理器或处理器实现的组件可以分布在多个地理位置上。

在该上下文中的“处理器”是指根据控制信号(例如,“命令”、“操作码”、“机器代码”等”)操纵数据值以及产生应用于操作机器的对应输出信号的任何电路或虚拟电路(由在实际处理器上执行的逻辑模拟的物理电路)。例如,处理器可以是中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)或其任何组合。处理器可以进一步是具有可以同时执行指令的两个或更多个独立处理器(有时称为“核”)的多核处理器。

在该上下文中,“时间戳”是指识别特定事件何时发生的字符序列或编码信息,例如给出日期和一天中的时间,有时精确到秒的分数。

Claims (21)

1.一种计算机实现的方法,包括:
接收定义关注位置的地理位置数据;
基于所述地理位置数据生成地理围栏,所述地理围栏具有包围第一区域的边界,所述第一区域包括所述关注位置;
将由所述地理围栏包围的所述第一区域划分为一组小区,该组小区中的每个小区表示所述第一区域的一部分;
检测来自位于形成所述第一区域的该组小区的小区内的装置的消息,所述消息包括与所述关注位置相关联的媒体内容;
基于来自所述装置的所述消息和与所述关注位置相关联的所述媒体内容来计算所述小区的使用度量,所述使用度量至少指示在预定义时间段内从所述小区发送的包括与所述关注位置相关联的所述媒体内容的消息的数量;以及
基于所述第一区域内的所述小区的所述使用度量和位置,调节所述地理围栏的所述边界以包围包括所述关注位置的第二区域,所述第二区域包括该组小区中的所述小区。
2.根据权利要求1所述的计算机实现的方法,进一步包括:
至少基于所述小区的所述使用度量和所述地理围栏的大小来计算所述地理围栏的预测的使用度量;
接收包括持续时间和媒体内容的活动信息;
基于所述活动信息和所预测的使用度量计算所述地理围栏的值;以及
将所述值分配给所述地理围栏。
3.根据权利要求2所述的计算机实现的方法,其中,所述地理围栏的所述值包括每个时间段的值,其中,所述时间段基于所预测的使用度量来确定。
4.根据权利要求2所述的计算机实现的方法,其中,所述地理围栏的所述值包括暴露于由所述活动信息定义的活动的每个装置的值。
5.根据权利要求1所述的计算机实现的方法,其中,所述媒体内容识别所述关注位置。
6.根据权利要求1所述的计算机实现的方法,其中,所述媒体内容包括图像数据、音频数据、视频数据和媒体覆盖。
7.根据权利要求1所述的计算机实现的方法,其中,所述消息包括短暂消息。
8.一种系统,包括:
存储器;以及
至少一个硬件处理器,其耦接到所述存储器并且包括使所述系统执行操作的指令,所述操作包括:
接收定义关注位置的地理位置数据;
基于所述地理位置数据生成地理围栏,所述地理围栏具有包围包括所述关注位置的第一区域的边界;
将由所述地理围栏包围的所述第一区域划分为一组小区,该组小区中的每个小区表示所述第一区域的一部分;
检测来自位于形成所述第一区域的该组小区的小区内的装置的消息,所述消息包括与所述关注位置相关联的媒体内容;
基于来自所述装置的所述消息和与所述关注位置相关联的所述媒体内容来计算所述小区的使用度量,所述使用度量至少指示在预定义时间段内从所述小区发送的包括与所述关注位置相关联的所述媒体内容的消息的数量;以及
基于所述第一区域内的所述小区的所述使用度量和位置,调节所述地理围栏的所述边界以包围包括所述关注位置的第二区域,所述第二区域包括该组小区中的所述小区。
9.根据权利要求8所述的系统,其中,所述指令使所述系统执行操作进一步包括:
至少基于所述小区的所述使用度量和所述地理围栏的大小来计算所述地理围栏的预测的使用度量;
接收包括持续时间和媒体内容的活动信息;
基于所述活动信息和所预测的使用度量计算所述地理围栏的值;以及
将所述值分配给所述地理围栏。
10.根据权利要求9所述的系统,其中,所述地理围栏的所述值包括每个时间段的值,其中所述时间段基于所预测的使用度量来确定。
11.根据权利要求9所述的系统,其中,所述地理围栏的所述值包括暴露于由所述活动信息定义的活动的每个装置的值。
12.根据权利要求8所述的系统,其中,所述媒体内容识别所述关注位置。
13.根据权利要求8所述的系统,其中,所述媒体内容包括图像数据、音频数据、视频数据和媒体覆盖。
14.根据权利要求8所述的系统,其中,所述消息包括短暂消息。
15.一种机器可读存储介质,包括指令,所述指令在由机器的一个或多个处理器执行时,使所述机器执行操作,所述操作包括:
接收定义关注位置的地理位置数据;
基于所述地理位置数据生成地理围栏,所述地理围栏具有包围包括所述关注位置的第一区域的边界;
将由所述地理围栏包围的所述第一区域划分为一组小区,该组小区中的每个小区表示所述第一区域的一部分;
检测来自位于形成所述第一区域的该组小区的小区内的装置的消息,所述消息包括与所述关注位置相关联的媒体内容;
基于来自所述装置的所述消息和与所述关注位置相关联的所述媒体内容来计算所述小区的使用度量,所述使用度量至少指示在预定义时间段内从所述小区发送的包括与所述关注位置相关联的所述媒体内容的消息的数量;以及
基于所述第一区域内的所述小区的所述使用度量和位置,调节所述地理围栏的所述边界以包围包括所述关注位置的第二区域,所述第二区域包括该组小区中的所述小区。
16.根据权利要求15所述的机器可读存储介质,进一步包括使所述机器执行操作的指令,所述操作进一步包括:
至少基于所述小区的所述使用度量和所述地理围栏的大小来计算所述地理围栏的预测的使用度量;
接收包括持续时间和媒体内容的活动信息;
基于所述活动信息和所预测的使用度量计算所述地理围栏的值;以及
将所述值分配给所述地理围栏。
17.根据权利要求16所述的机器可读存储介质,其中,所述地理围栏的所述值包括每个时间段的值,其中,所述时间段基于所预测的使用度量来确定。
18.根据权利要求16所述的机器可读存储介质,其中,所述地理围栏的所述值包括暴露于由所述活动信息定义的活动的每个装置的值。
19.根据权利要求15所述的机器可读存储介质,其中,所述媒体内容识别所述关注位置。
20.根据权利要求15所述的机器可读存储介质,其中,所述媒体内容包括图像数据、音频数据、视频数据和媒体覆盖。
21.一种载体介质,其承载指令,当所述指令由机器的一个或多个处理器执行时使机器执行权利要求1至7中任一项所述的方法。
CN201780034240.5A 2016-04-04 2017-04-04 可变地理围栏系统 CN109247071A (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US201662318049P true 2016-04-04 2016-04-04
US62/318,049 2016-04-04
US15/474,821 US20170287006A1 (en) 2016-04-04 2017-03-30 Mutable geo-fencing system
US15/474,821 2017-03-30
PCT/US2017/025925 WO2017176739A1 (en) 2016-04-04 2017-04-04 Mutable geo-fencing system

Publications (1)

Publication Number Publication Date
CN109247071A true CN109247071A (zh) 2019-01-18

Family

ID=59959506

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780034240.5A CN109247071A (zh) 2016-04-04 2017-04-04 可变地理围栏系统

Country Status (4)

Country Link
US (1) US20170287006A1 (zh)
KR (1) KR20180129905A (zh)
CN (1) CN109247071A (zh)
WO (1) WO2017176739A1 (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9459778B2 (en) 2011-07-12 2016-10-04 Mobli Technologies 2010 Ltd. Methods and systems of providing visual content editing functions
US9628950B1 (en) 2014-01-12 2017-04-18 Investment Asset Holdings Llc Location-based messaging
US9113301B1 (en) 2014-06-13 2015-08-18 Snapchat, Inc. Geo-location based event gallery
US9225897B1 (en) 2014-07-07 2015-12-29 Snapchat, Inc. Apparatus and method for supplying content aware photo filters
US10423983B2 (en) 2014-09-16 2019-09-24 Snap Inc. Determining targeting information based on a predictive targeting model
US10284508B1 (en) 2014-10-02 2019-05-07 Snap Inc. Ephemeral gallery of ephemeral messages with opt-in permanence
US9537811B2 (en) 2014-10-02 2017-01-03 Snap Inc. Ephemeral gallery of ephemeral messages
US9754355B2 (en) 2015-01-09 2017-09-05 Snap Inc. Object recognition based photo filters
US9521515B2 (en) 2015-01-26 2016-12-13 Mobli Technologies 2010 Ltd. Content request by location
US9294425B1 (en) 2015-02-06 2016-03-22 Snapchat, Inc. Storage and processing of ephemeral messages
US10223397B1 (en) 2015-03-13 2019-03-05 Snap Inc. Social graph based co-location of network users
US9906479B1 (en) 2015-06-16 2018-02-27 Snap Inc. Storage management for ephemeral messages
KR101838967B1 (ko) * 2015-10-08 2018-03-15 엘지전자 주식회사 차량용 편의 장치 및 차량
US9652896B1 (en) 2015-10-30 2017-05-16 Snap Inc. Image based tracking in augmented reality systems
US10354425B2 (en) 2015-12-18 2019-07-16 Snap Inc. Method and system for providing context relevant media augmentation
US9813642B1 (en) 2016-05-06 2017-11-07 Snap Inc. Dynamic activity-based image generation
US9681265B1 (en) 2016-06-28 2017-06-13 Snap Inc. System to track engagement of media items
US10387514B1 (en) 2016-06-30 2019-08-20 Snap Inc. Automated content curation and communication
US10182047B1 (en) 2016-06-30 2019-01-15 Snap Inc. Pictograph password security system
US20180026925A1 (en) 2016-07-19 2018-01-25 David James Kennedy Displaying customized electronic messaging graphics
US10203855B2 (en) 2016-12-09 2019-02-12 Snap Inc. Customized user-controlled media overlays
US10319149B1 (en) 2017-02-17 2019-06-11 Snap Inc. Augmented reality anamorphosis system
US10374993B2 (en) 2017-02-20 2019-08-06 Snap Inc. Media item attachment system
US10387730B1 (en) 2017-04-20 2019-08-20 Snap Inc. Augmented reality typography personalization system
US9980100B1 (en) 2017-08-31 2018-05-22 Snap Inc. Device location based on machine learning classifications
US10217488B1 (en) 2017-12-15 2019-02-26 Snap Inc. Spherical video editing
US10327096B1 (en) 2018-03-06 2019-06-18 Snap Inc. Geo-fence selection system
US10219111B1 (en) 2018-04-18 2019-02-26 Snap Inc. Visitation tracking system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8229458B2 (en) * 2007-04-08 2012-07-24 Enhanced Geographic Llc Systems and methods to determine the name of a location visited by a user of a wireless device
WO2012000107A1 (en) * 2010-07-01 2012-01-05 Absolute Software Corporation Automatic creation and modification of dynamic geofences
US8229473B1 (en) * 2011-06-02 2012-07-24 Nokia Siemens Networks Oy Geo-fence

Also Published As

Publication number Publication date
WO2017176739A1 (en) 2017-10-12
KR20180129905A (ko) 2018-12-05
US20170287006A1 (en) 2017-10-05

Similar Documents

Publication Publication Date Title
Krumm Ubiquitous computing fundamentals
RU2621975C2 (ru) Делегирование обработки из носимого электронного устройства
RU2614575C2 (ru) Носимое электронное устройство
Emmanouilidis et al. Mobile guides: Taxonomy of architectures, context awareness, technologies and applications
KR20110043775A (ko) 콘텐트 처리를 위한 방법들 및 시스템들
US10223832B2 (en) Providing location occupancy analysis via a mixed reality device
Kourouthanassis et al. Tourists responses to mobile augmented reality travel guides: The role of emotions on adoption behavior
US9092442B2 (en) Systems, methods and apparatus for dynamic content management and delivery
EP2494496B1 (en) Sensor-based mobile search, related methods and systems
US20170206707A1 (en) Virtual reality analytics platform
US9191238B2 (en) Virtual notes in a reality overlay
KR101794493B1 (ko) 햅틱 기술을 채용한 이동 디바이스들 및 방법들
US9881094B2 (en) Systems and methods for automated local story generation and curation
US9256806B2 (en) Methods and systems for determining image processing operations relevant to particular imagery
US10127735B2 (en) System, method and apparatus of eye tracking or gaze detection applications including facilitating action on or interaction with a simulated object
EP2540070B1 (en) Intuitive computing methods and systems
US20140111542A1 (en) Platform for recognising text using mobile devices with a built-in device video camera and automatically retrieving associated content based on the recognised text
CA2792336C (en) Intuitive computing methods and systems
US9197736B2 (en) Intuitive computing methods and systems
Chatzopoulos et al. Mobile augmented reality survey: From where we are to where we go
WO2016149594A1 (en) Geo-fence authorization provisioning
US9153074B2 (en) Wearable augmented reality eyeglass communication device including mobile phone and mobile computing via virtual touch screen gesture control and neuron command
US20160085773A1 (en) Geolocation-based pictographs
US9652896B1 (en) Image based tracking in augmented reality systems
CN105247915B (zh) 上下文敏感相关联引擎平台

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination