地理围栏认证提供的制作方法

文档序号:13561868阅读:284来源:国知局
地理围栏认证提供的制作方法

优先权要求

本申请要求于2015年3月18日提交的美国临时申请no.62/134,689的权益,其全部内容通过引用并入本文。

本文公开的主题一般涉及在计算机网络中交换电子内容。更具体地,某些示例涉及用于访问与事件或实体相关联的受地理位置限制的内容集合的认证处理。



背景技术:

诸如智能电话的移动装置用于生成内容。内容可能是文本消息、照片(具有或不具有增加文字)和视频。用户可以与其社交网络中的其他人分享这些内容。然而,不存在与正在参与公共事件或实体的陌生人分享内容的机制。

附图说明

结合附图,通过以下详细描述将更充分地理解示例实施例,在附图中:

图1示出了根据实施例配置的系统。

图2示出了与实施例相关联的服务器侧处理。

图3示出了与实施例相关联的客户端侧处理。

图4-8示出了可以与实施例相关联的图形用户界面。

图9是示出根据示例实施例的提供地理围栏认证的方法的流程图。

图10是示出根据示例实施例的用户简档表的表格。

图11示出了根据示例实施例的可以执行移动操作系统的示例移动装置。

图12是示出可以安装在上述任何一个或多个装置上的软件的架构的框图。

图13是示出根据一些示例性实施例的能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文所讨论的任何一种或多种方法的机器的组件的框图。

在附图的若干视图中,相同的附图标记指示相同的部分。

具体实施方式

基于地理位置来提供访问内容的认证(例如,由用户发布的内容的集合,诸如snapchat(快照)故事)是一件精细的事情。一方面,访问不应被限制太多,特别是关于位于与事件或位置相关联的地理围栏(例如在大学校园内)的潜在投稿人和发布者。另一方面,隐私权和其它问题可能使得不期望简单地向任何位于地理围栏内的用户提供内容访问。具体地参见大学校园的示例,允许仅位于校园内的任何人访问和查看学生发布的照片和其它内容可能是不合需要的(或者甚至是危险的)。在提供这种内容访问方面,存在许多技术挑战。

描述了用于不仅基于地理围栏内的地理位置而且还基于各种次要数据和标准来提供对内容的访问的各种示例方法。此类数据包括例如与授权实体或机构(例如,指示特定大学或公司的域的授权实体或机构)相关联的通信标识符(例如,电子邮件地址),以及与存储在用户简档中的用户相关的活动数据,作为补充认证决策的基础。此类活动数据可以包括通信元数据(例如,关于特定用户已经访问到的其它内容集合的历史数据)和装置活动数据(例如,屏幕截图活动或使用地理过滤器的图像处理)。其它可使用的次要数据包括装置签名或设置信息(例如,语言设置)或实时图像处理(例如,使用面部识别)。

可以处理次要数据,来确定特定用户是否与实体或事件具有充分和有意义的联系,或者与和事件或实体相关联的先前内容集合(例如,特定大学校园的先前的快照故事)具有充分和有意义的联系。下面描述用于解决与提供地理围栏内的内容访问相关联的技术挑战的示例系统。

图1示出了根据实施例配置的系统100。系统100包括经由网络106连接的一组客户端装置102_1至102_n以及至少一个服务器104。网络106可以是有线或无线网络的任何组合。

每个客户端装置102具有诸如经由总线114连接的中央处理单元110和输入/输出装置112的标准组件。输入/输出装置112可以包括触摸显示器、专用控制按钮、物理连接器、扬声器等。网络接口电路116同样连接到总线114并提供到网络106的连接。存储器120同样连接到总线114。通信应用122由cpu110实现以协调与服务器104和/或其它客户端装置的通信。客户端装置可以是平板计算机、智能电话、可穿戴技术、笔记本计算机或台式计算机的形式。

服务器104同样包括诸如中央处理单元130、总线132、输入/输出装置134和网络接口电路136的标准组件。存储器140连接到总线132。通信模块142由cpu130实现以协调与客户端装置102的通信。事件图库模块144由cpu130实现以存储来自现场事件中参与者的消息。消息形成事件图库,其可以响应于来自客户端装置102的请求而被提供给客户端装置102。服务器104同样包括或连接到数据库150,可由通信模块142和事件图库模块144经由总线132访问数据库150。数据库150可以作为用户简档数据库,并且可存储用于第二认证操作的用户简档表(在下面进一步详细描述)。

图2示出与事件图库模块144的实施例相关联的操作。该图的顶部示出了一组消息发送者,例如,发送者_1至发送者_n。每个消息发送者与客户端装置102相关联。通信应用122被配置为使消息附带有地理位置信息。通常,将从驻留在客户端装置中的gps芯片收集地理位置信息。然而,同样可以使用其它地理位置信息,诸如蜂窝网络地理位置信息、自报告的地理位置信息等。

事件图库模块144包括允许人们定义事件的管理界面。例如,管理界面可能会向事件计划者提示事件名称、事件描述、事件日期、事件时间和事件位置。事件位置由定义与事件相关联的地理位置围栏的物理坐标(例如,gps坐标)指定。

如先前所指示,来自发送者的消息包括地理位置信息。服务器104从任何数量的发送者接收此类消息和地理位置数据200。对于每个消息,可以执行认证处理(或多个认证处理)(202),以授权向事件图库204发布内容。例如,地理位置数据可以与地理位置围栏进行比较。如果消息不是从地理位置围栏内发送,则该消息不是来自被允许的位置,并且因此将该消息丢弃。如果消息来自允许的位置,则该消息被发布到事件图库204。在其它示例实施例中,可以执行如下面进一步详细描述的第二认证处理,以便评估消息是否将被发布到事件图库204,或者可替代地将其丢弃。

事件图库模块144可以包括策展(curation)接口,其允许事件计划者可选地策展事件图库206。例如,策展接口可以允许事件计划者删除不适当或冗余的消息。图2的最终操作是响应于来自任何数量的用户的请求208来提供事件图库。

图3示出了与驻留在客户端装置102上的通信应用122相关联的处理。通信应用122发送注册请求300。注册请求可以是加入或关注事件的明确的请求。可替代地,可以通过向服务器104发送地理位置数据来触发注册请求。事件图库模块144确定客户端装置是否被授权注册从而加入或关注该事件。例如,事件图库模块144可以确定地理位置数据是否对应于与事件相关联的地理位置围栏。在其它实施例中,可以执行下面进一步详细描述的第二认证处理,以便评估是否授权客户端装置加入或关注事件。

响应于请求而接收302事件图库提示信息。事件图库提示信息可以是事件的标记,诸如品牌、文本描述等。事件图库提示信息被添加到可选择的目的地列表304(即,用于特定消息或内容片段的接收者的列表)。可选择的目的地列表304包括用户的社交网络中的人。在该情况下,可选择的目的地列表采用事件的标记来增强。

如果用户生成消息(306:是),则提供308目的地列表。目的地列表包括用户的社交网络中的人,以及事件和/或事件图库的标记。如果选择(310)事件图库,则该用户被添加为事件312的关注者。因此,例如,在用户响应于简单地传送地理位置数据而接收到事件图库提示的情况下,用户可以通过将消息(共享故事)发布到事件图库来正式关注该事件。也就是说,事件图库模块144响应于用户向事件图库发布消息而将用户添加到事件关注者的列表。最后,消息被发送到在可选择的目的地列表314上指定的接收者。这些接收者可以包括用户的社交网络中的人或者与该用户具有某些其它关联的人(例如,俱乐部内的共同会员,具有类似的爱好,参加同一所大学,等等)。

图4是在事件中拍摄的消息的示例。在该示例中,消息是可以采用文本或其它图形进行增强的照片。图5示出了可选择的目的地列表500。可选目的地列表500包括针对现场事件502的条目和针对社交网络中的人的条目504。从可选目的地列表500选择现场事件502(其可以具有来自用户的社交网络的关注者成员以及与用户无关的人或实体)可以导致如图6所示的提示。提示可解释与将内容发布到事件图库相关联的条款。图7示出了列出在社交网络中的朋友以及正在关注的一个或多个事件的界面。

图8是事件图库800的示例。事件图库800包括单独发布的内容802(例如,包括图像、视频、文本和音频的消息)。事件图库800可以在指定的暂时时段可用。例如,指定的暂时时段可以是事件的持续时段。在事件的持续时间内,事件图库的标记可显示在朋友列表中(例如,目的地列表)。在一个实施例中,事件图库具有按顺序示出的单个的短时消息。例如,示出第一图像五秒钟,并且然后示出第二图像三秒钟等。

事件图库可以对所有事件参与者开放。可替代地,可以为从目的地列表或一些其它列表(例如,事件中的同事的列表)中选择的参与者的子集形成事件图库。实施例针对地理位置保持正在进行中的事件图库(共享故事)。例如,共享故事可能会延续几个月。可替代地,在指定的地理位置,共享故事可以每二十四小时更新一次。

图9是示出根据示例实施例授权向事件图库发布消息(或其它内容)的方法900的流程图。方法900可以用于执行认证或验证操作,作为图2的操作202的一部分或者作为图3的注册操作300的一部分。

方法900在操作902处开始,并且随后在操作904处从装置接收向事件图库发布消息(或其它内容)或者注册以加入或关注事件的请求。该请求由通信模块142接收。

用于发布、加入或关注的请求包括指示请求装置(从其接收请求)(例如,智能电话)的位置的地理位置数据,以及识别请求装置或操作请求装置的用户的标识数据。地理位置数据可以例如是由客户端装置102的gps模块提供的gps坐标,或使用wi-fi或单元塔三角测量由客户端装置102确定的位置数据。标识数据可以包括客户端装置102的操作者的电子邮件地址,客户端装置102的标识符(例如,电子序列号(esn)、移动识别号码(min)或系统识别码(sid))、装置签名(例如,使用客户端装置102的设置生成)或经由其发送请求的无线网络的ip地址。标识数据同样可以包括实时视觉数据(例如,发送用户的面部的图片,或发送用户所位于的环境的图片)。

在操作906处,通信模块142解析所接收的请求,并提取地理位置数据和标识数据。然后,所提取的数据908由通信模块1422提供给事件图库模块144。

在操作910处,事件图库模块144通过确定从请求提取的地理位置数据是否对应于与特定事件或实体的事件图库相关联的地理位置围栏来执行第一认证操作。如果地理位置数据与相关地理位置围栏不对应,则在操作912处拒绝认证,并且方法900在操作914处终止。

另一方面,如果地理位置数据与相关地理位置围栏对应,则在操作916处,事件图库模块144执行第二认证操作,第二认证操作包括使用在操作906处提取的标识数据来验证用户的属性。对于确保只有合格的用户才能对特定事件图库进行贡献或者才能够加入(或关注)存在事件图库的事件,第二认证操作是有用的。如果第二认证操作失败,则在操作912处再次拒绝认证。认证方法900在操作914处终止。

第二认证操作的执行可以涉及使用例如在操作906处提取的标识数据的任何数量的子操作。可以针对用户简档数据执行这些各种子操作,用户简档数据作为用户简档表(下面参考图10进行讨论)的一部分存储在由事件图库模块144访问的数据库150中。

在第一示例认证子操作中,在请求中包括的电子邮件地址用于执行第二认证。具体地,可以将电子邮件地址(例如,john@lmu.edu)的域名部分与和事件相关联的实体或组织(例如,洛约拉马利蒙特大学(loyolamarymountuniversity))的域名进行比较。在该示例中,洛约拉马利蒙特大学(lmu)可以是约翰(john)正在寻求加入或关注的音乐会事件的位置,或音乐会事件可具有约翰正在寻求贡献的事件图库。

在该子操作中,事件图库模块144同样可以访问针对特定实体或组织的合格电子邮件地址的数据库。例如,通过与系统100的操作者的协议,lmu可以提供对该大学的授权电子邮件地址的数据库的访问。在另一实施例中,可以针对来自第三方(例如,社交网站)的实体电子邮件地址源的数据库来验证电子邮件地址。

在第二示例认证子操作中,在请求中包括的ip地址可用于执行认证。例如,认证可能仅限于从校园wi-fi网络发布(或以其它方式访问校园wi-fi网络)的那些装置,其中相关事件正在大学校园内举行(或大学以一些其它方式与事件相关联)。

在另外的示例中,在用户简档内包括的认证子操作、通信、活动和/或视觉数据被用作第二认证处理的一部分。图10是示出可以在数据库150内保持的示例用户简档表1002的数据图。表1002由事件图库模块144的用户简档子模块维护。具体转到用户简档表1002,该表被示出包括针对每个用户的以下信息:用户标识符1004、消息系统标识符1006(例如,系统100使用的标识符)、一个或多个电子邮件地址1008、活动数据1010的多个实例(例如,用户的屏幕截图行为或活动、图像过滤器使用等)、通信(或发布)数据1012(例如,各种事件图库或事件的内容集合的贡献历史)的多个实例和用户视觉数据1014(例如,与用户相关联的面部或位置图像)的多个实例。用户简档表1002同样可以包括装置设置数据1016。其它示例可利用信息包括区号、电话号码等。例如,用户电话的语言设置可以是用于向特定国家或地区中的用户提供地理围栏认证的有用标准。

返回到使用存储在用户简档表1002内的历史活动、通信和/或视觉数据的认证子操作的描述,可在认证子操作中使用以下通信数据:

·对特定事件图库(例如,与用户现在请求提供贡献的相同(公共)实体相关联的事件图库)的贡献的新近度(recency)。

·向先前为相关事件图库做出贡献(或被认证可以做出贡献)的其他用户发送和从此类其他用户接收通信(例如短时消息)的频率。

·先前为特定事件图库做出贡献的另一个用户的观看事件图库(例如,快照故事)的频率(例如,与举办用户正在寻求加入或关注的事件的同一实体(例如,大学)相关联的合格的快照故事)。

·关于用户的朋友或联系人活动的信息或习惯,包括他们的朋友/联系人参与特定事件图库的级别。因此,如果他或她的一定数量的朋友(或来自他/她的装置的电话联系人)已经参与向图库发布,则可以允许用户访问图库。

完成过去的事件图库(例如,访问图库序列中的第一个和最后一个内容项目),指示用户现在可能寻求访问的事件图库的亲密性或连接性。

活动数据1010(其提供关于特定应用(例如,通信应用122)的用户活动历史)同样可以用于认证子操作。这种活动数据的示例包括指示用户是否应用与特定位置或事件相关的图像过滤器(例如,快照地理过滤器)(例如,与特定大学校园相关联的地理过滤器)或者查看已经应用此类位置相关图像过滤器的图像/图像集合的数据。类似地,也可以使用如由网页浏览或其它活动确定的用户针对特定活动的偏好(例如,用户的爱好)。

活动数据1010同样可以在移动装置上记录用户的屏幕采集(例如,“屏幕截图”)行为或活动,这同样可以在认证子操作中应用。考虑到用户可能已经在特定位置(其位于地理围栏内或者足够靠近与事件相关联的位置)处的移动装置上执行屏幕采集操作。可以在认证子操作中计算和使用该消息。

在一个示例中,用户视觉数据1014用于通过确定用户的面部是否先前在经批准的事件图库中出现来提供地理围栏认证。如果是这样,则可以根据用户使用移动装置或相机采集的“自拍”,将用户的面部与用户账户相关联。在该示例中,在操作904处接收到的请求中包括用户面部的实时图像(或从这种图像生成的数据)。该实时图像数据可以与用户视觉数据1014进行比较以验证用户,并且同样可以与在与授权的实体相关联的另一事件图库中存在的图像(例如,自拍)进行比较(例如,以确定描绘用户的“自拍”是否存在于为特定大学批准的另一个快照故事中)。如果检测到这种相关性,则可以在操作916处批准地理围栏认证。

装置设置数据1016(例如,语言设置)同样可以用作认证子操作以在特定区域中提供地理围栏认证。例如,在特定装置的语言设置指示特定语言偏好(例如,德语)的情况下,可以基于所确定的语言偏好来选择性地认证对在德国发生的事件的事件图库的访问。

除了上述示例之外,同样可以使用其它概念作为认证子操作,包括用户所需的明确动作。例如,在一些实施例中,可以提示用户访问图库所需的密码。

模块、组件和逻辑

本文描述某些实施例为包括逻辑或多个组件、模块或机构。模块可以构成软件模块(例如,在机器可读介质上或传输信号中实现的代码)或硬件模块。“硬件模块”是能够执行某些操作的有形单元,并且可以以某种物理方式配置或布置。在各种示例实施例中,一个或多个计算机系统(例如,单机计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或多个硬件模块(例如,处理器或一组处理器)可以通过软件(例如,应用程序或应用程序部分)配置为执行如本文所述的某些操作来操作的硬件模块。

在一些实施例中,硬件模块可以机械地、电子地或其任何合适的组合来实现。例如,硬件模块可以包括被永久配置为执行某些操作的专用电路或逻辑。例如,硬件模块可以是专用处理器,诸如现场可编程门阵列(fpga)或专用集成电路(asic)。硬件模块同样可以包括由软件临时配置以执行某些操作的可编程逻辑或电路。例如,硬件模块可以包括在通用处理器或其它可编程处理器内包含的软件。应当理解,在专用和永久配置的电路中或在临时配置的电路(例如,由软件配置)中机械地实现硬件模块的决定可以由成本和时间考虑来驱动。

因此,短语“硬件模块”应理解为包括有形实体,即物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)从而以某种方式操作或执行本文所述的某些操作的实体。如在此所使用的,“硬件实现的模块”是指硬件模块。考虑到其中硬件模块被临时配置(例如,编程)的实施例,硬件模块中的每一个硬件模块不需要在任何一个时刻被配置或实例化。例如,在硬件模块包括由软件配置的通用处理器以成为专用处理器的情况下,通用处理器可以被配置为在不同时间分别不同的专用处理器(例如,包括不同的硬件模块)。因此,软件可以由此配置特定的一个处理器或多个处理器,例如,在一个时刻构成特定的硬件模块,并且在不同的时刻构成不同的硬件模块。

硬件模块可向其它硬件模块提供信息以及从其它硬件模块接收信息。因此,所描述的硬件模块可以被认为是通信耦合的。在多个硬件模块同时存在的情况下,可以通过在两个或更多个硬件模块之间的信号传输(例如,通过适当的电路和总线)实现通信。在其中在不同时间对多个硬件模块进行配置或实例化的实施例中,这种硬件模块之间的通信可以例如通过在存储器结构(多个硬件模块具有对其的访问)中存储和检索信息来实现。例如,一个硬件模块可以执行操作并将该操作的输出存储在与其通信耦合的存储器装置中。然后,其它硬件模块可以在稍后的时间访问存储器装置以检索和处理存储的输出。硬件模块同样可以发起与输入或输出装置的通信,并且可以对资源(例如,信息集合)进行操作。

可以至少部分地由一个或多个处理器(其被临时配置(例如通过软件)或永久地配置为执行相关操作)执行本文描述的示例方法的各种操作。无论是临时还是永久配置,这种处理器可以构成处理器实现的模块,其操作以执行本文所述的一个或多个操作或功能。如在此所使用的,“处理器实现的模块”是指使用一个或多个处理器实现的硬件模块。

类似地,本文所述的方法可以是至少部分地由处理器实现的,其中特定处理器或多个处理器是硬件的示例。例如,方法中的至少一些操作可以由一个或多个处理器或处理器实现的模块执行。此外,一个或多个处理器同样可以操作以支持在“云计算”环境中相关操作的性能或者作为“软件即服务”(saas)。例如,至少一些操作可以由一组计算机(例如包括处理器的机器)执行,其中这些操作可经由网络(例如,因特网)以及经由一个或多个适当的接口(例如,应用程序接口(api))而被访问。

某些操作的性能可以分布在处理器之间,不只驻留在单个机器内,还可部署在多个机器上。在一些示例实施例中,处理器或处理器实现的模块可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器场内)。在其它示例实施例中,处理器或处理器实现的模块可以分布在多个地理位置上。

应用程序

图11示出了根据示例实施例的可执行移动操作系统(例如iostm、androidtmphone或其它移动操作系统)的示例移动装置1100。在一个实施例中,移动装置1100可以包括可以从用户1102接收触知信息的触摸屏。例如,用户1102可物理地触摸1104移动装置1100,并且响应于触摸1104,移动装置1100可以确定诸如触摸位置、触摸力、手势运动等的触知信息。在各种示例实施例中,移动装置1100可以显示主屏幕1106(例如,iostm上的跳板(springboard)),移动装置1100的用户1102可以使用主屏幕1106来启动应用并且此外管理移动装置1100。在各种示例实施例中,主屏幕1106可以提供诸如电池寿命、连接性或其它硬件状态的状态信息。主屏幕1106同样可以包括可以被激活以启动应用的多个图标,例如通过触摸图标所占据的区域。类似地,可以通过触摸由特定用户界面元素占据的区域来激活其它用户界面元素。以该方式,用户1102可以与应用交互。

许多种类的应用(同样称为“app”)可以在移动装置1100上执行。应用可以包括本地应用(例如,以iostm上运行的objective-c编程的应用或者在androidtm上运行的以java编程的应用)、移动网络应用(例如html5)或混合应用(例如,启动html5会话的本地外壳(nativeshell)应用)。在具体示例中,移动装置1100可以包括消息应用1120、录音应用1122、相机应用1124、书籍阅读器应用1126、媒体应用1128、健身应用1130、文件管理应用1132、位置应用1134、浏览器应用1136、设置应用1138、联系人应用1140、电话应用1142、其它应用(例如,游戏应用、社交网络应用、生物特征监测应用)、第三方应用1144等。

软件架构

图12是示出可以安装在上述任何一个或多个装置上的软件架构1202的框图1200。图12仅仅是软件架构的非限制性示例,并且应当理解也可以实施许多其它架构以便于实现本文所述的功能。软件1202可以在诸如图13的机器1300的硬件上执行,机器1300包括处理器1310、存储器1330和i/o组件1350。在图12的示例架构中,软件1202可以被概念化为每层可以提供特定功能的层堆栈。例如,软件1202可以包括诸如操作系统1204、库1206、框架1208和应用1210的层。在操作上,应用程序1210可以通过软件堆栈来调用应用程序接口(api)调用1212,并且响应于api调用1212接收消息1214。

操作系统1204可以管理硬件资源并提供公共服务。操作系统1204可以包括例如内核1220、服务1222和驱动1224。内核1220可以作为硬件和其它软件层之间的抽象层。例如,内核1220可以负责存储器管理、处理器管理(例如,调度)、组件管理、联网、安全设置等。服务1222可以为其它软件层提供其它公共服务。驱动器1224可负责控制底层硬件,或与底层硬件进行接口连接。例如,驱动1224可以包括显示器驱动、相机驱动、驱动、闪存驱动、串行通信驱动(例如通用串行总线(usb)驱动)、wi-驱动、音频驱动、电源管理驱动等。

库1206可以提供可由应用程序1210利用的低级公共基础设施。库1206可以包括系统1230库(例如,c标准库),其可以提供诸如存储器分配函数、字符串操作函数、数学函数等的功能。此外,库1206可以包括api库1232,诸如媒体库(例如,支持诸如mpreg4、h.264、mp3、aac、amr、jpg、png的各种媒体格式的表现和操作的库)、图形库(例如,可用于在显示器上的图形内容中呈现2d和3d的opengl框架)、数据库库(例如,可提供各种关系数据库函数的sqlite)、网络库(例如,可提供网络浏览功能的webkit)等。库1206同样可以包括各种各样的其它库1234,从而为应用1210提供许多其它api。

框架1208可以提供可由应用1210利用的高级公共基础设施。例如,框架1208可以提供各种图形用户界面(gui)功能、高级资源管理、高级位置服务等。框架1208可以提供大范围的可由应用1210利用的其它api,其中的一些应用可以针对于特定的操作系统或平台。

应用1210包括主页应用1250、联系人应用1252、浏览器应用1254、书籍阅读器应用1256、位置应用1258、媒体应用1260、消息应用1262、游戏应用1264和诸如第三方应用程序1266的各种各样的其它应用。在特定示例中,第三方应用1266(例如,由除特定平台的供应商之外的实体使用androidtm或iostm软件开发工具包(sdk)开发的应用)可以是在移动操作系统(诸如iostm、androidtmphone或其它移动操作系统)上运行的移动软件。在该示例中,第三方应用1266可以调用由移动操作系统1204提供的api调用1212以便于实现本文所述的功能。

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

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

机器1300可以包括处理器1310、存储器1330和i/o组件1350,其可被配置为经由总线1302彼此通信。在示例实施例中,处理器1310(例如,中央处理单元(cpu)、精简指令集计算(risc)处理器、复杂指令集计算(cisc)处理器、图形处理单元(gpu)、数字信号处理器(dsp)、专用集成电路(asic),射频集成电路(rfic)、另一个处理器或其任何合适的组合)可以包括例如可以执行指令1316的处理器1312和处理器1314。术语“处理器”旨在包括多核处理器,多核处理器包括可同时执行指令的两个或多个独立处理器(同样称为“核心”)。尽管图13示出了多个处理器,但是机器1300可以包括单个具有单个核的处理器、单个具有多个核的处理器(例如,多核处理器)、多个具有单个核的处理器、多个具有多个核的处理器,或其任何组合。

存储器1330可以包括经由总线1302可对处理器1310访问的主存储器1332、静态存储器1334和存储单元1336。存储单元1336可以包括机器可读介质1338,在该机器可读介质1338上存储体现本文所述的任何一种或多种方法或功能的指令1316。在由机器1300执行期间,指令1316可以完全或至少部分地驻留在主存储器1332内、静态存储器1334内、处理器1310中的至少一个处理器1310内(例如,在处理器的高速缓冲存储器内)或其任何适当的组合。因此,主存储器1332、静态存储器1334和处理器1310可以被认为是机器可读介质1338。

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

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

在另外的示例实施例中,i/o组件1350还可以包括多个其它组件中的生物特征组件1356、运动组件1358、环境组件1360或定位组件1362。例如,生物特征组件1356可以包括检测表达(例如手的表达、面部表情、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件1358可以包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等。环境组件1360可以包括例如照明传感器组件(例如光度计)、温度传感器组件(例如,检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如气压计)、声学传感器组件(例如,一个或多个检测背景噪声的麦克风)、接近度传感器组件(例如,检测附近物体的红外传感器)、气体传感器(例如,气体检测传感器,用于检测危险气体的安全性浓度或测量大气中的污染物的浓度)或可提供对应于周围物理环境的指示、测量或信号的其它组件。定位组件1362可以包括位置传感器组件(例如,全球定位系统(gps)接收器组件)、高度传感器组件(例如,高度计或气压计,其检测气压,可以从该气压导出高度)、取向传感器组件(例如磁力计)等。

可以使用各种各样的技术来实现通信。i/o组件1350可以包括可操作以分别经由耦合1382和耦合1372将机器1300耦合到网络1380或装置1370的通信组件1364。例如,通信组件1364可以包括网络接口组件或与网络1380通过接口连接的其它合适的装置。在另外的示例中,通信组件1364可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(nfc)组件、组件(例如,低能量)、wi-组件和经由其它模式提供通信的其它通信组件。装置1370可以是另一个机器或各种各样的外围装置(例如,经由通用串行总线(usb)耦合的外围装置)中的任一个。

此外,通信组件1364可以检测标识符或包括可操作以检测标识符的组件。例如,通信组件1364可以包括射频识别(rfid)标签读取器组件、nfc智能标签检测组件、光学读取器组件(例如,光学传感器,其用于检测诸如通用产品代码(upc)条形码的一维条形码,诸如快速响应(qr)代码、aztec代码、数据矩阵、dataglyph、maxicode、pdf417、超码、uccrss-2d条形码的多维条形玛,以及其它光学代码)、或者声学检测组件(例如,用于识别标记的音频信号的麦克风)。此外,可以经由通信组件1364来导出各种信息,诸如经由因特网协议(ip)地理位置的位置、经由wi-信号三角测量的位置、经由检测可以指示特定位置的nfc信标信号的位置等。

传输介质

在各种示例实施例中,网络1380的一个或多个部分可以是自组织网络、内联网、外部网、虚拟专用网络(vpn)、局域网(lan)、无线lan(wlan)、广域网(wan)、无线wan(wwan)、城域网(man)、因特网、因特网的一部分、公共交换电话网(pstn)的一部分、普通老式电话服务(pots)网络、蜂窝电话网络、无线网络、wi-网络、另一种类型的网络,或两个或更多个这种网络的组合。例如,网络1380或网络1380的一部分可以包括无线或蜂窝网络,并且耦合1382可以是码分多址(cdma)连接、全球移动通信系统(gsm)连接或其它类型的蜂窝或无线耦合。在该示例中,耦合1382可以实现各种类型的数据传输技术中的任何一种,诸如单载波无线电传输技术(1xrtt)、演进数据优化(evdo)技术、通用分组无线业务(gprs)技术、gsm演进增强型数据速率(edge)无线电通信技术、包括3g的第三代合作伙伴计划(3gpp)、第四代无线(4g)网络、通用移动电信系统(umts)、高速分组接入(hspa)、全球微波接入互操作性(wimax)、长期演进(lte)标准、由各种标准制定组织定义的其它标准、其它远程协议或其它数据传输技术。

可以经由网络接口装置(例如,在通信组件1364中包括的网络接口组件)使用传输介质并利用多个公知传输协议(例如,超文本传输协议(http))中的任何一个通过网络1380来发送或接收指令1316。类似地,指令1316可以经由耦合1372(例如,对等耦合)使用传输介质发送到装置1370或从装置1370接收。术语“传输介质”应被认为包括能够存储、编码或携带用于由机器1300执行的指令1316的任何无形介质,并且包括数字或模拟通信信号或其它无形介质以便于实现这种软件的通信。

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

语言

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

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

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

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

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