地理度量的制作方法

文档序号:14185986阅读:136来源:国知局

本公开总体上涉及基于位置的度量。



背景技术:

可以包括社交网站的社交网络系统可以使其用户(例如个人或组织)能够与它进行交互,以及通过它彼此进行交互。社交网络系统可以用来自用户的输入在社交网络系统中创建和存储与用户相关的用户简档。用户简档可以包括人口统计信息,通信渠道信息、以及关于用户的个人兴趣的信息。社交网络系统也可以用来自用户的输入创建并存储用户与社交网络系统的其他用户的关系记录,以及提供服务(例如涂鸦墙,照片分享,活动组织,消息传递,游戏或广告)以促进用户之间或之中的社交互动。

社交网络系统可以通过一个或多个网络向用户的移动设备或其他计算设备发送与其服务有关的内容或消息。用户还可以在用户的移动或其他计算设备上安装软件应用,以访问社交网络系统内的用户的用户简档和其他数据。社交网络系统可以生成个性化的一组内容对象以显示给用户,例如连接到用户的其他用户的聚合故事的新闻馈送。

诸如智能手机,平板电脑或膝上型计算机的移动计算设备可以包括用于确定其位置、方向、或定向的功能,例如gps接收器,罗盘或陀螺仪。这样的设备还可以包括用于无线通信的功能,例如蓝牙通信、近场通信(nfc)、或红外(ir)通信、或用无线局域网(wlan)或蜂窝电话网络的通信。这样的设备还可以包括一个或多个相机、扫描仪、触摸屏、麦克风或扬声器。移动计算设备也可以执行软件应用,例如游戏、网页浏览器、或社交网络应用。利用社交网络应用,用户可以在其社交网络中与其他用户进行连接、通信以及共享信息。



技术实现要素:

在具体实施例中,可以计算指示人们与物理世界中的其他用户或实体而不是虚拟的用户或实体交互的频率的度量(“地理度量”)。例如,用户与特定的好友或生意(例如,餐馆、公园、场所或地标)物理上交互的次数越多,该度量的值越高。在具体实施例中,度量可以基于从社交网络外部(例如,地理位置、传感器、或蓝牙低能量(ble)信标数据)获得的信号。例如,使用环境位置数据收集可以获得地理位置数据。作为另一个示例,传感器数据可以包括通过设备的麦克风收集的环境音频数据。作为另一个示例,相比于仅仅根据地理位置数据,特定的存储器可以使用ble信标以更高的精度确定你的位置。

在具体实施例中,地理度量可以被实现为具有由系数修改的分量度量的加权函数。分量度量可以包括快速衰减的分量度量(例如,基于最近的接近度);较慢衰减的分量度量(例如,较长期的重叠);以及不具有时间因数的地理位置重叠的分量度量,例如,至少分享一个主要热点的人,但可能并不在同一时间彼此接近(例如,拥有相同的工作场所或者在同一所学校)。应用于每个分量度量的系数可以通过机器学习算法来确定。

在实施例中,可以提供方法,其中该方法可以包括:

由计算设备识别社交图谱中的第一节点和第二节点,其中,历史位置数据能够用于第一节点和第二节点;

由计算设备访问用于计算地理度量的一个或多个分量度量,其中,地理度量表示第一节点与第二节点之间的空间共同性的评估,其中,空间共同性是基于为第一节点存储的历史位置数据和为第二节点存储的历史位置数据来确定的;

由计算设备访问每个对应于分量度量之一的一个或多个系数;

由计算设备,通过将接收到的系数应用于分量度量并组合分量度量来计算地理度量;以及

由计算设备提供计算的地理度量。

在实施例中,可以提供向客户端设备呈现通知的方法,其中,该方法可以包括:

通过地理度量确定模块:

识别与第一用户或实体相关的第一数据节点以及与第二实体或地理位置相关的第二数据节点,第一和第二数据节点被存储在由网络可寻址计算系统托管的在线社交网络的社交图谱中,其中历史位置数据可用于第一数据节点和第二数据节点中的每一个;

访问用于计算地理度量的一个或多个分量度量,地理度量表示第一用户或实体与第二实体或地理位置之间的空间共同性的评估,以及空间共同性是基于历史位置数据来确定的,其中历史位置数据被存储用于第一节点和第二节点中的每一个;

访问每个对应于分量度量之一的一个或多个系数;

通过将接收到的系数应用于分量度量并组合分量度量来计算地理度量;并提供计算的地理度量;以及,

可选地,向第一节点的客户端设备发送通知,优选地,至少部分地基于值高于预定阈值的计算的地理度量,其中,通知可以包括第二节点的内容对象。

在实施例中,发送通知可以包括:

响应于检测到计算的地理度量的值的增加,增加发送到客户端设备的通知的速率;和/或

响应于检测到所计算的地理度量的值的减小,减小发送到客户端设备的通知的速率。

在实施例中,社交图谱可以包括多个数据节点和连接数据节点的多个边,其中,第一节点可以对应于用户或实体;并且其中,第二节点可以对应于用户、实体或地理位置。

在实施例中,历史位置数据可以包括在没有来自用户的手动输入的情况下获得的隐式位置数据。

在实施例中,隐式位置数据可以包括全球定位系统数据、wi-fi位置数据、蜂窝塔位置数据、蓝牙信标数据或音频指纹数据。

在实施例中,历史位置数据可以包括基于来自用户在社交网络系统上的输入获得的显式位置数据。

在实施例中,显式位置数据可以包括签到或简档信息。

在实施例中,确定空间共同性可以包括:基于所存储的第一和第二节点的历史位置数据来确定第一节点的先前位置是否在第二节点的先前位置的预定距离内。

在实施例中,所存储的历史位置数据可以包括在第一和第二节点之间具有时间重叠的位置数据。

在实施例中,分量度量可以包括基于近因的分量度量、时间持续分量度量或时间无关分量度量。

在实施例中,时间无关分量度量可以包括:

基于历史位置数据,确定第一和第二节点的一个或多个地理集群;以及

确定所确定的地理集群中的任何一个是否在第一和第二节点之间共享。

在实施例中,一个或多个系数可以基于第一和第二节点之间的亲和度。

在实施例中,计算地理度量可以包括计算组合的分量度量的总和。

在实施例中,所计算的地理度量可以具有在0与1之间范围内的值。

在实施例中,可以基于第一节点的更新的位置数据,更新一个或多个分量度量的值。

在实施例中,确定空间共同性可以包括:基于所存储的第一和第二节点的历史位置数据,确定第一节点先前是否在与第二节点相关的区域内。

在进一步的实施例中,可以提供更多计算机可读非临时性存储介质,存储介质体现软件,当该软件被执行时,被配置以执行根据本发明的包括在此公开的任何实施例的方法。

在实施例中,计算机可读非临时性存储介质可以体现软件,当软件被执行时,被配置以:

识别社交图谱中的第一节点和第二节点,其中历史位置数据可用于第一节点和第二节点;

访问用于计算地理度量的一个或多个分量度量,其中地理度量表示第一节点和第二节点之间的空间共同性的评估,其中空间共同性基于为第一节点存储的历史位置数据和为第二节点存储的历史位置数据确定;

访问每个对应于分量度量之一的一个或多个系数;

通过将接收到的系数应用于分量度量并组合分量度量来计算地理度量;以及

提供所计算的地理度量。

在进一步的实施例中,可以提供装置,该装置包括:一个或多个处理器;以及耦接到处理器的一个或多个计算机可读非临时性存储介质,当被执行时,体现软件的存储介质被配置以执行根据本发明的包括在此公开的任何实施例的方法。

在实施例中,该设备可以包括:

一个或多个处理器;以及耦接到处理器并且体现软件的一个或多个计算机可读非临时性存储介质,并且,当被执行时,被配置为:

识别社交图谱中的第一节点和第二节点,其中历史位置数据可用于第一节点和第二节点;

访问用于计算地理度量的一个或多个分量度量,其中地理度量表示第一节点和第二节点之间的空间共同性的评估,其中空间共同性基于为第一节点存储的历史位置数据和为第二节点存储的历史位置数据确定;

访问每个对应于分量度量之一的一个或多个系数;

通过将接收到的系数应用于分量度量并组合分量度量来计算地理度量;以及

提供所计算的地理度量。

以上公开的实施例仅是示例,并且本公开的范围不限于此。具体实施例可以包括以上公开的实施例的组件、元件、特征、功能、操作或步骤的全部、一些或一点没有。根据本发明的实施例特别在涉及方法、存储介质、系统和计算机程序产品的所附权利要求中公开,其中在权利要求类别中提到的任何特征,例如方法,也可以在另一个权利要求类别,例如,系统,中被要求保护。所附权利要求中的依赖关系或引用返回仅仅是为了正式原因而被选择。然而,由故意引用返回任何先前的权利要求(特别是多重从属)引起的任何主题也可以被要求保护,这样权利要求及其特征的任何组合被公开并且可以被要求保护,不管所附权利要求中选择的依赖性。可以要求保护的主题不仅包括所附权利要求中阐述的特征的组合,而且还包括权利要求中的特征的任何其他组合,其中权利要求中提及的每个特征可以与权利要求中的任何其他特征或其他特征的组合相结合。此外,在此描述或描画的任何实施例和特征可以以单独的权利要求和/或与在此描述或描画的任何实施例或特征或者具有所附权利要求的任何特征的任何组合来要求保护。

附图说明

图1示出了与社交网络系统相关的示例网络环境。

图2示出了用于计算社交图谱的特定节点之间的地理度量的示例方法。

图3示出了示例社交图谱。

图4示出了示例计算系统。

具体实施方式

图1示出了与社交网络系统相关的示例网络环境100。网络环境100包括通过网络110彼此连接的客户端系统130、社交网络系统160和第三方系统170。尽管图1示出了客户端系统130、社交网络系统160、第三方系统170和网络110的特定布置,但是本公开考虑客户端系统130、社交网络系统160、第三方系统170和网络110任何合适的布置。作为示例而非限制,客户端系统130、社交网络系统160和第三方系统170中的两个或更多个可以绕过网络110直接相互连接。作为另一个示例,客户端系统130、社交网络系统160和第三方系统170中的两个或更多个可以在物理或逻辑上彼此全部或部分地共置。此外,尽管图1示出了特定数量的客户端系统130、社交网络系统160、第三方系统170和网络110,本公开考虑任何合适数量的客户端系统130、社交网络系统160,第三方系统170和网络110。作为示例而非限制,网络环境100可以包括多个客户端系统130、社交网络系统160、第三方系统170和网络110。

本公开考虑任何合适的网络110。作为示例而非限制,网络110的一个或多个部分可以包括自组织网络、内联网、外联网、虚拟专用网络(vpn)、局域网(lan)、无线局域网(wlan)、广域网(wan)、无线广域网(wwan)、城域网(man)、互联网的一部分、公共交换电话网络(pstn)的一部分、蜂窝电话网络或者这些中的两个或更多个的组合。网络110可以包括一个或多个网络110。

链路150可将客户端系统130、社交网络系统160和第三方系统170连接到通信网络110或彼此连接。本公开考虑任何合适的链路150。在具体实施例中,一个或多个链路150包括一个或多个有线(例如,诸如数字用户线路(dsl)或电缆数据服务接口规范(docsis)),无线(例如,诸如wi-fi或全球互通微波接入(wimax))或光学(例如,诸如同步光纤网络(sonet)或同步数字体系(sdh))链路。在具体实施例中,一个或多个链路150各自包括自组织网络、内联网,外联网、vpn、lan、wlan、wan、wwan、man、互联网的一部分、pstn的一部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一个链路150或者两个或更多个这样的链路150的组合。链路150在整个网络环境100中不一定是相同的。一个或多个第一链路150可以在一个或多个方面与一个或多个第二链路150不同。

在具体实施例中,客户端系统130可以是包括硬件、软件或嵌入式逻辑组件或者两个或更多个这种组件的组合,并且能够执行由客户端系统130实现或支持的适当功能的电子设备。作为示例而非限制,客户端系统130可以包括计算机系统,例如台式计算机、笔记本或便携式电脑、上网本、平板电脑、电子书阅读器、全球定位系统(gps)设备、相机、个人数字助理(pda)、手持电子设备、蜂窝电话、智能电话、其他合适的电子设备或其任何适当的组合。本公开考虑任何合适的客户端系统130。客户端系统130可以使在客户端系统130处的网络用户能够访问网络110。客户端系统130可以使它的用户能够与其他客户端系统130处的其他用户通信。

在具体实施例中,客户端系统130可以包括网页浏览器132、诸如微软ie浏览器,谷歌浏览器或火狐浏览器,并且可以具有一个或多个附件、插件或其他扩展,诸如工具栏或雅虎工具栏。客户端系统130处的用户可以输入将网络浏览器132指向特定服务器(诸如服务器162或与第三方系统170相关的服务器)的统一资源定位符(url)或其他地址,并且网络浏览器132可以生成超文本传输协议(http)请求并将该http请求传送给服务器。服务器可以接受http请求,并响应于http请求,向客户端系统130传送一个或多个超文本标记语言(html)文件。客户端系统130可以基于来自服务器的html文件渲染用于呈现给用户的网页。本公开考虑任何合适的网页文件。作为示例而非限制,根据特定需要,网页可以从html文件、可扩展超文本标记语言(xhtml)文件或可扩展标记语言(xml)文件渲染。这些页面还可以执行脚本,例如但不限于,诸如以javascript、java、微软银光、诸如ajax(异步javascript和xml)的标记语言和脚本的组合等编写的脚本。在此,在适当的情况下,对网页的引用包含一个或多个对应的网页文件(浏览器可以用其来渲染网页),反之亦然。

在具体实施例中,社交网络160或第三方170系统可使用激活信号轮询或“查验(ping)”客户端系统130以获得位置信息。作为示例而非限制,社交网络系统可以通过发送激活信号激活客户端系统130的位置服务,针对位置数据轮询由移动设备130执行的应用程序。激活信号可以使用无线通信协议(例如,诸如wi-fi或长期演进(lte))来传输。在具体实施例中,客户端系统130的位置服务可以使用一个或多个位置确定方法,例如,诸如使用一个或多个蜂窝塔的位置、与wi-fi热点相关的众包的位置信息、或者客户端系统130的全球定位系统(gps)功能。

在具体实施例中,在客户端系统130上执行的音频捕获应用可以连续地或以周期性间隔捕获来自客户端系统130的麦克风的音频数据并将它转换为音频指纹。作为示例而非限制,波形指纹可以使用音频特征检测算法(例如,快速傅里叶变换(fft)或离散余弦变换(dct))生成。音频指纹是一个用于总结波形或波形的集合的小、而健壮的表现。

在具体实施例中,社交网络系统160可以是能够托管在线社交网络的网络可寻址计算系统。社交网络系统160可以生成、存储、接收和发送社交网络数据,例如,诸如用户简档数据、概念简档数据、社交图谱信息或与在线社交网络相关的其他合适的数据。社交网络系统160可以由网络环境100的其他组件直接或经由网络110访问。作为示例而非限制,客户端系统130可以直接或经由网络110使用网络浏览器132或与社交网络系统160(例如,移动社交网络应用程序、消息收发应用程序、另一合适的应用程序或其任何组合)相关的本地应用来访问社交网络系统160。在具体实施例中,社交网络系统160可以包括一个或多个服务器162。每个服务器162可以是跨越多个计算机或多个数据中心的分布式服务器或单一服务器。服务器162可以是各种类型的,例如但不限于,诸如网络服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交换服务器、数据库服务器、代理服务器、适用于执行在此描述的功能或过程的另一服务器、或其任何组合。在具体实施例中,每个服务器162可以包括用于执行由服务器162实现或支持的适当功能的硬件、软件或嵌入式逻辑组件或者两个或更多个这种组件的组合。

在具体实施例中,社交网络系统160可以包括一个或多个数据存储器164。数据存储器164可以被用来存储各种类型的信息。在具体实施例中,存储在数据存储器164中的信息可以根据特定的数据结构来组织。在具体实施例中,每个数据存储器164可以是关系型、柱状型、相关型或其他合适的数据库。尽管本公开描述或示出特定类型的数据库,但是本公开考虑任何合适类型的数据库。特定的实施例可以提供使客户端系统130、社交网络系统160或第三方系统170能够管理、检索、修改、添加或删除存储在数据存储器164中的信息的接口。

在具体实施例中,社交网络系统可以将地理和位置数据存储在一个或多个数据存储器164中。社交网络系统160可使用激活信号轮询或“查验”客户端系统130以获得客户端系统130的位置信息。在具体实施例中,社交网络系统160可以在一个或多个数据存储器164中存储用于各种歌曲、电视节目、音轨、电影、表演等的音频波形或音频波形指纹。

在具体实施例中,社交网络系统160可以将一个或多个社交图谱存储在一个或多个数据存储器164中。在具体实施例中,社交图谱可以包括多个节点以及连接节点的多个边,该多个节点可以包括多个用户节点(每个对应于特定用户)或多个概念节点(每个对应于特定概念)。社交网络系统160可以向在线社交网络的用户提供与其他用户进行通信和交互的能力。在具体实施例中,用户可以通过社交网络系统160加入在线社交网络,然后将连接(例如,关系)添加到他们想要连接到的社交网络系统160的多个其他用户。在此,术语“好友”可以指社交网络系统160的、用户已经通过社交网络系统160与其形成了连接、关联或关系的任何其他用户。

在具体实施例中,社交网络系统160可以向用户提供对社交网络系统160支持的各种类型的项目或对象采取行动的能力。作为示例而非限制,项目和对象可以包括社交网络系统160的用户可以属于的组或社交网络;用户可能感兴趣的事件或日历条目;用户可以使用的基于计算机的应用程序;允许用户通过服务购买或出售物品的交易;用户可能执行的与广告的交互;或其他合适的项目或对象。用户可以与能够社在交网络系统160或第三方系统170的外部系统中表示的任何事物进行交互,第三方系统170与社交网络系统160分离且通过网络110耦接到社交网络系统160。

在具体实施例中,社交网络系统160可以能够链接各种实体。作为示例而非限制,社交网络系统160可以使用户能够彼此交互以及从第三方系统170或其他实体接收内容,或者允许用户通过应用程序接口(api)或其他通信渠道与这些实体交互。

在具体实施例中,第三方系统170可以包括一个或多个类型的服务器、一个或多个数据存储器、一个或多个接口、包括但不限于api、一个或多个网络服务、一个或多个内容源、一个或多个网络或例如服务器可与之通信的任何其他合适的组件。第三方系统170可以通过与运行社交网络系统160的实体不同的实体运行。然而,在具体实施例中,社交网络系统160和第三方系统170可以彼此协作地操作以向社交网络系统160或第三方系统170的用户提供社交网络服务。在这个意义上,社交网络系统160可以提供平台或主干网,诸如第三方系统170的其他系统可以使用该平台或主干网以向互联网上的用户提供社交网络服务和功能。

在具体实施例中,第三方系统170可以包括第三方内容对象提供商。第三方内容对象提供商可以包括可以被传送到客户端系统130的内容对象的一个或多个源。作为示例而非限制,内容对象可以包括关于用户感兴趣的事物或活动的信息,例如,诸如电影放映时间、电影评论、餐厅评论、餐馆菜单、产品信息和评论或其他合适的信息。作为另一示例而非限制,内容对象可以包括激励内容对象,例如,诸如优惠券、打折券、礼品券或其他合适的激励对象。

在具体实施例中,社交网络系统160还包括用户生成的内容对象,其可以提高用户与社交网络系统160的交互。用户生成的内容可以包括用户可以添加、上传、发送或“发布”到社交网络系统160的任何事物。作为示例而非限制,用户将来自客户端系统130的帖子传送到社交网络系统160。帖子可以包括诸如状态更新或其他文本数据、位置信息、照片、视频、链接、音乐或其他类似数据或媒体的数据。内容还可以由第三方通过诸如新闻馈送或流的“通信渠道”添加到社交网络系统160。

在具体实施例中,社交网络系统160可以包括各种服务器、子系统、程序、模块、日志和数据存储器。在具体实施例中,社交网络系统160可以包括以下中的一个或多个:web服务器、行为记录器、api请求服务器、相关性排序引擎、内容对象分类器、通知控制器、行为日志、第三方内容对象暴露日志、推理模块、授权/隐私服务器、搜索模块、广告锁定模块、用户界面模块、用户简档存储、连接存储器、第三方内容存储器或位置存储器。社交网络系统160还可以包括诸如网络接口、安全机制、负载平衡器、故障转移服务器、管理和网络操作控制台、其他合适的组件或其任何合适的组合。在具体实施例中,社交网络系统160可以包括用于存储用户简档的一个或多个用户简档存储器。用户简档可以包括例如,传记信息、人口统计信息、行为信息、社交信息或其他类型的描述性信息,诸如工作经历、教育历史、爱好或喜好、兴趣、亲和度、或位置。兴趣信息可以包括与一个或多个类别相关的兴趣。类别可以是一般的或特定的。作为示例而非限制,如果用户“点赞”关于鞋子品牌的文章,该类别可以是品牌,或者是“鞋子”或“服装”的一般类别。连接存储器可以用于存储关于用户的连接信息。连接信息可以指出具有相似或共同工作经验,团体成员身份,兴趣爱好,教育历史或者以任何方式相关或共享共同属性的用户。连接信息还可以包括不同用户和内容(内部和外部)之间的、用户定义的连接。网络服务器可以用于通过网络110将社交网络系统160链接到一个或多个客户端系统130或一个或多个第三方系统170。网络服务器可以包括用于在社交网络系统160和一个或多个客户端系统130之间接收和路由消息的邮件服务器或其他消息收发功能。api请求服务器可以允许第三方系统170通过调用一个或多个api来访问来自社交网络系统160的信息。行为记录器可被用于从网络服务器接收关于社交网络系统160上或之外的用户行为的通信。结合行为日志,第三方内容对象日志可以保持用户对第三方内容对象的暴露。通知控制器可以将关于内容对象的信息提供给客户端系统130。可以将信息作为通知推送到客户端系统130,或者可以响应从客户端系统130接收的请求从客户端系统130提取信息。授权服务器可以用于实施社交网络系统160的用户的一个或多个隐私设置。用户的隐私设置确定如何共享与用户相关的特定信息。授权服务器可以允许用户例如通过设置适当的隐私设置从而选择或者不选择让他们的行为被社交网络系统160记录或与其他系统(例如,第三方系统170)共享。第三方内容对象存储器可以用于存储从例如第三方系统170的第三方接收的内容对象。位置存储器可以用于存储从与用户相关的客户端系统130接收的位置信息。广告定价模块可以将社交信息、当前时间、位置信息或其他合适的信息组合起来,以通知的形式向用户提供相关的广告。

在具体实施例中,客户端系统130的位置服务可以使用一个或多个位置确定方法,例如,诸如使用一个或多个蜂窝塔的位置、与wi-fi热点相关的众包的位置信息或者客户端系统130的gps功能。在具体实施例中,客户端系统130的应用可以发送位置数据和其他相关数据,例如,诸如来自附近蜂窝塔的信号强度。作为示例而非限制,至少部分取决于客户端系统130是否能够获取gps数据,gps数据可以被用作位置信息的主要来源。如果客户端系统130不能在预定的持续时间内获取gps数据,则可以使用一个或多个蜂窝塔或wi-fi热点来确定客户端系统130的位置。尽管本公开描述了使用特定的位置确定方法的位置服务,但是本公开考虑使用任何合适的方法或位置检测方法的组合的位置服务。

在具体实施例中,社交网络系统160可将来自客户端系统130的多个位置读数分组,以确定代表位置读数的地理集群。作为示例而非限制,多个地理位置数据点可以使用空间聚类算法来分组。在具体实施例中,空间聚类算法可以将多个地理位置数据点表示为一个或多个地理集群或“热点”。此外,社交网络160或第三方系统170可以确定对应于特定的地理位置的地理集群。作为示例而非限制,社交网络系统160可以访问目录信息的数据库,并且将地理集群中的一个或多个与特定住所、地点或商业地点相关。

在具体实施例中,可以至少部分地基于用户的地理集群来推断用户的信息。作为示例而非限制,社交网络系统160可以至少部分地基于大多数人在每个工作日上午2-5:00期间处于家庭位置,并且在那些时刻用户的地理集群的假设来推断用户的家庭位置。作为另一个示例,社交网络系统160可以至少部分地基于大多数人在每个工作日下午2-5:00期间在工作场所处,并且工作地点与用户在那些时刻的地理集群一致的假设来推断用户的工作地点。

基于gps的位置服务对于确定客户端系统130在开放空间中的位置可能是最有用的,但是难以确定建筑物(例如,诸如购物中心或电影院)内的位置。在具体实施例中,客户端系统130的位置可以通过使用蓝牙低功耗(ble)信标来确定。ble信标是扩展客户端系统130的位置服务的室内定位系统的一部分。作为示例而非限制,客户端系统130的位置服务可以确定客户端系统130在特定建筑物附近,但是可以使用位于商店内的ble信标来细化客户端系统130的位置,以确定客户端系统130是在建筑物内部还是在建筑物外部。

ble信标被配置为以预定时间间隔发送“接近信号”。ble信标发送通用唯一标识符(uuid)和主要和次要代码。uuid用于识别(例如,与特定商店相关)公共信标组,并且主要和次要代码可以用于将信标与物理空间的给定位置或区域唯一地关联,以便附近任何适当配备的设备(诸如移动设备)都可以检测到它。在客户端系统130上执行的应用可以处理来自ble信标的接近信号,并且社交网络系统130可以基于在接近信号中编码的信息来确定客户端系统130在建筑物内。

客户端系统130的位置可以基于由客户端系统130的麦克风捕获的音频信号而被细化。在具体实施例中,社交网络系统160可将由客户端系统130上传的音频波形与存储在上述一个或多个数据存储器164中的波形指纹相匹配。波形匹配可利用特征检测算法,例如,诸如快速傅立叶变换(fft)或直接余弦变换(dct)。此外,频域或时域中的互相关可用于波形匹配。作为示例而非限制,客户端系统130可以发送指示客户端系统130在公园附近的位置数据。客户端系统130的麦克风可以捕捉并上传在公园中乐队正演奏的歌曲的音频波形。客户端系统130或,替代地,社交网络系统160可访问可包括公园附近的表演列表的数据存储器164。如果在上传的音频波形与存储在数据存储器164中的波形指纹中的一个之间找到匹配,则社交网络系统160可以推断出客户端系统130在公园,并且正在听现场表演。

在具体实施例中,社交网络系统160可以计算在社交网络系统160之外发生的各种社交图谱实体的交互的度量(其在此可被称为“地理度量”)。基于与在线社交网络相关的特定节点之间的先前空间共同性,地理度量可以表示未来交互的评估,该特点节点为诸如与在线社交网络相关的用户、实体、地理位置或其他对象、或其任何适当的组合。作为示例而非限制,空间共同性可以反映社交图谱的节点之间的物理或“现实世界”交互。在具体实施例中,地理度量还可以表示概率或函数,该概率或函数基于用户与其他用户或实体的先前空间共同性,测量用户可能相对于另一用户或实体执行特定行为的预测概率。以这种方式,可以基于用户先前的行为来预测用户的将来行为,其中可以至少部分地根据用户的存储的位置数据来计算地理度量。地理度量可用于预测可能在在线社交网络内部或外部发生的任何数量的行为。

地理度量还可以关于与第三方系统170或其他合适的系统相关的对象来确定。作为示例而非限制,用户与特定的好友或企业(例如、餐馆、公园、场所或地标)共享空间共同性越频繁,地理度量值越高。地理度量可以基于对与社交图谱实体有关的位置数据或关系的持续监视而改变。尽管本公开描述了以特定方式确定特定地理度量,但本公开考虑以任何合适的方式确定任何合适的基于位置的度量。

为了预测用户在给定情况下可能采取的行动,社交网络系统160或第三方系统170上的任何程序可以通过提供一组系数或权重来请求用户或实体的地理度量。作为示例而非限制,可以在请求时按需计算地理度量的值。在具体实施例中,可以基于实体的历史位置数据和其他传感器数据来计算地理度量的分量度量。与空间通用性或交互相关的示例分量度量可以包括:例如,两个或更多用户在特定时间范围内处于同一事件的次数,用户常去特定的商业或场馆场所的次数,实体与其他用户交互的次数,或涉及与其他用户或实体有关的社交网络系统160的行为或对象的任何其他基于位置的活动。在具体实施例中,地理度量可以测量与用户相关的交互。作为示例而非限制,地理度量可以测量人与人之间的交互,例如,诸如在社交图谱中连接的彼此具有空间共同性的用户。社交网络系统160可以基于彼此在同一时间处于预定距离内来确定两个用户会面或一起花费时间的次数。在具体实施例中,该确定可以基于从每个用户的客户端系统130轮询的环境位置数据。在具体实施例中,该确定可以基于在相同地理位置(例如餐馆)处签到的两个用户。

作为另一个示例,地理度量可以测量人与实体的交互,例如,诸如在社交图谱中连接并且彼此具有空间共同性的用户和实体。例如,社交网络系统160可以确定用户常去的与实体(例如餐馆)相关的地理位置的次数。作为另一个示例,社交网络系统160可以确定连接的用户与另一个实体处于相同的地理位置的次数(例如,当时在特定音乐组合正在表演的场所参加音乐会的用户)。在具体实施例中,该确定可以基于用户的客户端系统130接收来自放置在餐馆中的ble信标的数据。在具体实施例中,该确定可以基于连接的用户的客户端系统130捕获相同歌曲的音频波形并具有相似的音量。

作为另一个示例,地理度量可以测量人与实体的类型/类别,其是比人与实体交互更宽泛的交互测量。在具体实施例中,社交网络系统160可以确定用户常去的与实体的类型或类别相关的一个或多个地理位置的次数。作为示例而非限制,该确定可以基于从用户的客户端系统130接收到的位置数据指出用户在一个或多个国家公园的边界内的次数。作为另一个示例,该确定可以基于用户已经在通过社交网络系统160组织的电影院接受晚间活动的次数。

在具体实施例中,地理度量可以测量与实体相关的交互。作为示例而非限制,地理度量可以测量实体对人的交互,例如,诸如特定快餐车或机构以及访问它的用户。作为另一个示例,地理度量可以测量实体到位置交互,例如,诸如使用快餐车的位置数据跟踪在不同时间快餐车的位置。作为另一个示例,音乐组合在特定场所演奏的次数,地理度量可以测量实体对实体的交互,例如,诸如基于在社交网络系统160上发布的状态更新来跟踪音乐组合在特定场所演奏的次数。

在具体实施例中,地理度量可以实现为具有每个分量度量都用加权系数修改的加权线性函数。作为示例而非限制,地理度量可以用等式(1)表示,

地理度量=a0+a1x1+a2x2+a3x3(1)

其中,a0是基础值,a1...a3是每个分量度量的系数,并且x1...x3是上述的分量度量。此外,每个分量度量(例如,x1)可以包括多个基于位置的分量,并且每个基于位置的分量可以具有它自己的加权系数。例如,以下描述的基于近因的度量可以包括基于位置的分量的组合,例如,诸如,确定两个用户当前是否处于彼此的预定距离内,确定两个用户最近是否在相同位置签到,或者是否有趋向的餐馆。在具体实施例中,一个或多个系数可以基于如下所述的两个节点之间的亲和度,使得节点之间的关系越强,系数越高。作为示例而非限制,与彼此具有高亲和度的用户(例如,好友、同事或同学)相关的分量度量可具有相对高的值的相关系数。在具体实施例中,可以将一个或多个分量度量添加到地理度量或从地理度量中移除,以提高准确度或说明附加的基于位置的分量度量。在具体实施例中,地理度量的值可以在0和1之间的范围内。

一个或多个分量度量可以使用衰减因数,其中来自用户的历史位置数据的信号的强度作为时间函数而衰减。此外,不同的分量度量可能以不同的速率衰减历史位置数据。因此,基于对特定位置数据如何随着时间的推移变得不太相关的理解,某些分量度量可以衰减历史位置数据的影响。为此可以使用各种衰减机制。作为示例而非限制,特定分量度量可以使用诸如指数衰减的数学函数来衰减关于用户行为的统计。作为另一个示例,衰减是通过仅选择关于在例如,诸如24小时或30天的特定时间窗内发生的用户行为的统计来实现的。

在具体实施例中,分量度量可以包括基于近因的度量(例如,基于最近的接近度)、时间持续度量(例如,较长时间的重叠)或与没有任何时间元素(时间无关)的节点之间的位置重叠有关的度量。作为示例而非限制,基于近因的分量度量可以指示两个用户同时在彼此的预定距离内的概率。作为另一个示例,时间持续度量可以指示用户与例如,诸如餐馆或电影院的特定实体交互的概率,或特定快餐车将在特定地理位置处的概率。作为另一个示例,时间无关分量度量可以是用户是否共享至少一个主要地理集群,但是不一定彼此同时接近(例如,共享相同工作场所或者在同一学校的用户)的指示。

在具体实施例中,加权系数的值可以使用机器学习算法来确定,该机器学习算法基于位置数据和历史的、实时捕获的其他传感器数据或其任何组合来训练。加权系数可以是二进制的,或者更一般地是任何实数。在具体实施例中,加权系数可以是每个分量度量对整体地理度量的相对重要性的指示,较高值的加权系数可以意味着特定分量度量对整体地理度量具有较高的影响。加权系数可以基于分量量度所基于的位置数据的连续跟踪而连续地更新。在具体实施例中,社交网络系统160可以使用在历史位置数据上训练的机器学习算法来确定加权系数。在具体实施例中,当基于位置的数据中的更新发生时,例如,接收到更新的位置数据,上传音频波形或者人们更新他们的位置或添加好友,每个分量度量的值可以保持最新。尽管本公开描述了以特定方式计算加权系数或分量度量,但是本公开考虑以任何适当的方式计算加权系数或分量度量。

社交网络系统160或第三方系统170的各种处理可以从社交网络系统160请求地理度量。例如,这些处理可以包括那些实现基本社交网络系统功能的处理,诸如推荐算法、通知算法和广告锁定算法等等。请求地理度量的其他处理可以由一个或多个平台应用程序执行,该平台应用程序是在社交网络系统160内操作的应用程序,但可以由不同于社交网络系统160的运营商的第三方提供。平台应用程序可以包括社交游戏、消息收发服务以及使用由社交网络系统160提供的社交平台的任何其他应用程序。在一些实施例中,请求地理度量的处理可以包括在外部服务器上运行的一个或多个外部应用程序。外部应用程序可以通过api与社交网络系统交互。外部应用程序可以执行api支持的各种操作,诸如使用户能够通过社交网络系统160彼此发送消息,或者显示通过社交网络系统160路由的广告。

图2图示用于计算社交图谱的特定节点之间的地理度量的示例方法。方法200可以在步骤210开始,其中在社交图谱中识别第一节点和第二节点。在具体实施例中,第一个节点和第二个节点的历史位置数据是可用的。作为示例而非限制,第一节点可以对应于用户或实体,而第二节点对应于用户、实体或地理位置。在步骤220,访问用于计算地理度量的一个或多个分量度量。在具体实施例中,地理度量表示对于第一节点和第二节点之间的空间共同性的评估。

在步骤225,可基于第一节点的先前位置是否在第二节点的先前位置的预定距离内来确定空间共同性。在具体实施例中,基于为第一节点存储的历史位置数据和为第二节点存储的历史位置数据来确定空间共同性。在步骤230,访问每个与分量度量中的一个相对应的一个或多个系数。在步骤240,通过将接收到的系数应用于分量度量并组合分量度量来计算地理度量。在步骤250,提供计算的地理度量。在步骤255,可以至少部分地基于所计算的具有的值高于预定阈值的地理度量来将通知发送到第一节点的客户端系统。尽管本公开描述和说明了图2的方法的特定步骤以特定顺序发生,但是本公开考虑图2的方法的任何合适的步骤以任何适当的顺序发生。此外,虽然本公开描述并说明执行图2的方法的特定步骤的特定组件,但是本公开考虑执行图2的方法的任何合适的步骤的任何合适的组件的任何合适的组合。

图3示出了示例社交图谱。在具体实施例中,社交网络系统160可以将一个或多个社交图谱300存储在一个或多个数据存储器中。在具体实施例中,社交图谱300可以包括多个节点以及连接节点的多个边306,该多个节点可以包括多个用户节点302或多个概念节点304。为了教学目的,在二维视觉图表示中示出了图3中所示的示例社交图谱300。在具体实施例中,为了合适的应用程序,社交网络系统160、客户端系统130或第三方系统170可以访问社交图谱300和相关的社交图谱信息。社交图谱300的节点和边可以被存储为例如数据存储器(例如社交图谱数据库)中的数据对象。这样的数据存储器可以包括社交图谱形300的节点或边的一个或多个可搜索或可查询索引。

在具体实施例中,用户节点302可对应于社交网络系统160的用户。作为示例而非限制,通过社交网络系统160交互或通信的用户可以是个人(人类用户)、实体(例如企业、商业或第三方应用)或者(例如个人或实体)团体。在具体实施例中,当用户向社交网络系统160注册账户时,社交网络系统160可以创建对应于用户的用户节点302,并将用户节点302存储在一个或多个数据存储器中。在适当的时候,在此描述的用户和用户节点302可以指注册用户和与注册用户相关的用户节点302。另外或作为替代,在适当的情况下,在此描述的用户和用户节点302可以指尚未向社交网络系统160注册的用户。在具体实施例中,用户节点302可以与由用户提供的信息或由包括社交网络系统160的各种系统收集的信息相关。作为示例而非限制,用户可以提供他或她的姓名、简档图片、联系信息、出生日期、性别、婚姻状况、家庭状况、工作、教育背景、偏好、兴趣或其他人口统计信息。在具体实施例中,用户节点302可以与对应于与用户相关的信息的一个或多个数据对象相关。在具体实施例中,用户节点302可以对应于一个或多个网页。

在具体实施例中,用户节点302可以与从用户的位置数据推断的信息相关。作为示例而非限制,可以从与一天中的特定小时(例如上午2:00至5:00)相关的地理集群推断用户的家庭位置,并且用户的家庭位置又可以与用户节点302相关。

在具体实施例中,概念节点304可以对应于概念。作为示例而非限制,概念可以对应地方(例如,诸如电影院、餐厅、地标或城市);网站(例如,诸如与社交网络系统160相关的网站或与网络应用服务器相关的第三方网站);实体(例如,诸如人、企业、团体、运动队或名人);可位于社交网络系统160内或位于诸如网络应用程序的外部服务器上的资源(例如,诸如音频文件、视频文件、数字照片、文本文件、结构化文档或应用程序);不动产或知识产权(例如,诸如雕塑、绘画、电影、游戏、歌曲、创意、照片或书面作品);游戏;活动;想法或理论;另一个合适的概念或两个或更多这样的概念。概念节点304可以与由用户提供的概念信息或由包括社交网络系统160的各种系统收集的信息相关。作为示例而非限制,概念信息可以包括名称或标题;一个或多个图像(例如,书的封面图像);位置(例如地址或地理位置);网站(可能与url相关);联系信息(例如,电话号码或电子邮件地址);其他合适的概念信息或这些信息的任何合适的组合。在具体实施例中,概念节点304可以与对应于与概念节点304相关的信息的一个或多个数据对象相关。在具体实施例中,概念节点304可以对应于一个或多个网页。

在具体实施例中,社交图谱表300中的节点可以表示网页或由网页(可以被称为“简档页面”)表示。简档页面对于社交网络系统160可访问或由其托管。简档页面也可以被托管在与第三方服务器170相关的第三方网站上。作为示例而非限制,对应于特定外部网页的简档页面可以是特定外部网页,并且简档页面可以对应于特定概念节点304。简档页面可以被其他用户的全部或选定的子集查看。作为示例而非限制,用户节点302可以具有对应的用户简档页面,对应的用户可以在其中添加内容、做出声明或以其他方式表达他或她自己。作为另一个示例而非限制,概念节点304可以具有对应的概念简档页面,一个或多个用户可以在其中添加内容、做出声明或表达他们自己,具体涉及与概念节点304对应的概念。

在具体实施例中,概念节点304可以表示由第三方系统170托管的第三方网页或资源。除其他元素外,第三方网页或资源还可以包括表示内容、可选择的或其他图标、或表示行为或活动的其他可交互对象(其可以以例如javascript,ajax或php代码实现)。作为示例而非限制,第三方网页可以包括诸如“点赞”、“签到”、“吃”、“推荐”或其他合适的行为或活动的可选图标。观看第三方网页的用户可以通过选择图标中的一个(例如,“吃”)来执行行为,引起客户端系统130向社交网络系统160传输指示用户的行为的消息。响应于该消息,社交网络系统160可以在对应于用户的用户节点302和对应于第三方网页或资源的概念节点304之间创建边(例如,“吃”边),并且将边306存储在一个或多个数据存储器中。

在具体实施例中,社交图谱300中的一对节点可以通过一个或多个边306彼此连接。连接一对节点的边306可以表示该对节点之间的关系。在具体实施例中,边306可以包括或表示与一对节点之间的关系对应的一个或多个数据对象或属性。作为示例而非限制,第一用户可以指出第二用户是第一用户的“好友”。响应于该指示,社交网络系统160可以向第二用户发送“好友请求”。如果第二用户确认“好友请求”,则社交网络系统160可在社交图谱300中创建将第一用户的用户节点302连接到第二用户的用户节点302的边306,并将边306作为社交图谱信息存储在一个或多个数据存储器24中。在图3的示例中,社交图谱300包括指示用户“a”和用户“b”的用户节点302之间的好友关系的边306以及指示用户“c”和用户“b”的用户节点302之间的好友关系的边。虽然本公开描述或说明具有连接特定用户节点302的特定属性的特定边306,但本公开考虑具有连接用户节点302的任何合适属性的任何适当边306。作为示例而非限制,边306可以表示友谊、家庭关系、商业或雇佣关系、粉丝关系、追随者关系、访客关系、订户关系、上/下级关系、互惠关系、非互惠关系、另一种合适类型的关系、或两种以上这种关系。此外,尽管本公开总体上将节点描述为连接,但是本公开还将用户或概念描述为连接。在此,在适当的情况下,对连接的用户或概念的引用可以指与那些在社交图谱300中通过一个或多个边306连接的用户或概念对应的节点。

在具体实施例中,用户节点302与概念节点304之间的边306可以表示与用户节点302相关的用户针对与概念节点304相关的概念执行的特定行为或活动。作为示例而非限制,如图3所示,用户可以“点赞”、“出席”、“播放”、“收听”、“烹饪”、“工作于”或“观看”概念,每个概念可以对应于边类型或子类型。对应于概念节点304的概念简档页面可以包括,例如,可选择的“签到”图标(例如,诸如可点击的“签到”图标)或可选的“添加到收藏夹”图标。类似地,在用户点击这些图标之后,社交网络系统160可响应于对应于相应行为的用户的行为而创建“喜欢”边或“签到”边。作为另一个示例而非限制,用户(用户“c”)可以使用特定应用程序(在线音乐应用程序spotify)来收听特定歌曲(“漫游”)。在这种情况下,社交网络系统160可以在对应于用户的用户节点302和对应于歌曲和应用的概念节点304之间创建“收听”边306和“使用”边(如图3所示)以指出用户收听该歌曲并使用该应用程序。此外,社交网络系统160可以创建对应于歌曲和应用的概念节点304之间的“播放”边306(如图3所示),以指出特定歌曲由特定应用播放。在这种情况下,“播放”边306对应于由外部应用(spotify)对外部音频文件(歌曲“imagine”)执行的行为。尽管本公开描述具有连接用户节点302和概念节点304的特定属性的特定边306,但是本公开考虑具有连接用户节点302和概念节点304的任何合适属性的任何适当边306。此外,尽管本公开描述代表单一关系的用户节点302和概念节点304之间的边,但是本公开考虑代表一个或多个关系的用户节点302和概念节点304之间的边。作为示例而非限制,边306可以表示用户点赞和已经在特定概念上使用两者。或者,另一个边306可以表示用户节点302和概念节点304之间的每种类型的关系(或者单个关系的倍数)(如图3所述,在用户“e”的用户节点302与用于“spotify”的概念节点304之间)。

在具体实施例中,社交网络系统160可以在社交图谱300中的用户节点302和概念节点304之间创建边306。作为示例而非限制,观看概念简档页面(例如通过使用web浏览器或由用户的客户端系统130托管的专用应用程序)的用户可以通过点击或选择“点赞”图标来指出他或她喜欢概念节点304表示的概念,这可能引起用户的客户端系统130向社交网络系统160传输指示用户喜欢与概念简档页面相关的概念的消息。响应于该消息,社交网络系统160可以在与用户相关的用户节点302与概念节点304之间创建边306,如用户与概念节点304之间的“点赞”边306所示。在具体实施例中,社交网络系统160可以将边306存储在一个或多个数据存储器中。在具体实施例中,边306可以由社交网络系统160响应于特定用户行为而自动形成。作为示例而非限制,如果第一用户上传图片、观看电影或聆听歌曲,则可以在对应于第一用户的用户节点302与对应于这些概念的概念节点304之间形成边306。尽管本公开描述了以特定方式形成特定边306,但是本公开考虑以任何合适的方式形成任何合适的边306。

作为另一个示例,社交网络系统160可以至少部分地基于用户的基于时间的例程来创建对应于用户节点302和与特定类型的音乐或特定体育团队相对应的概念节点304之间的“点赞”关系的边306。响应于用户在运动队的场地处具有地理集群,社交网络系统160可以创建对应于用户节点302和与特定运动队相对应的概念节点304之间的“点赞”关系的边306。作为另一个示例,响应于用户在例如爵士俱乐部的会场(专用于特定类型的音乐)具有地理集群,社交网络系统160可创建对应于用户节点302和与特定类型的音乐相对应的概念节点304之间的“点赞”关系的边306。

在具体实施例中,基于与用户节点302相关的用户或实体的位置数据,社交网络系统160可以在用户节点302与社交图谱300中的另一用户节点302或概念节点304之间创建隐式连接或边306。作为示例而非限制,社交网络系统160可基于指示空间共同性的用户的位置数据,在两个用户节点302之间创建边306。作为另一个示例,社交网络系统可以基于指示用户已经进入服装店的ble信标数据,在用户节点302和与服装店的地理位置相对应的概念节点304之间创建边306。作为另一个示例,社交网络系统可以基于来自用户的位置数据和音频指纹数据,在对应于用户和特定音乐组合的用户节点302与对应于场地和特定歌曲的概念节点304之间创建一个或多个边306。

与地理度量相关的概念是各个社交图谱实体彼此的社交图谱亲和度(在此可以被称为“亲和度”)。亲和度可以表示与在线社交网络相关的特定对象之间的关系或者兴趣水平的强度,特定对象为诸如用户、概念、内容、行为、广告、与在线社交网络相关的其他对象或者其任何适当的组合。也可以关于与第三方系统170或其他合适的系统相关的对象来确定亲和度。可以建立针对每个用户、主题或者内容类型的社交图谱实体的整体亲和度。整体亲和度可以基于对与社交图谱实体相关的行为或关系的持续监视而改变。尽管本公开描述了以特定方式确定特定的亲和度,但是本公开考虑以任何合适的方式确定任何合适的亲和度。

在具体实施例中,社交网络系统160可以使用亲和度系数来测量或量化社交图谱亲和度。亲和度系数可以表示或量化与在线社交网络相关的特定对象之间的关系的强度。亲和度系数还可以表示基于用户对行为的兴趣来测量用户执行特定行为的预测概率的概率或函数。以这种方式,可以基于用户先前的行为来预测用户的未来行为,其中可以至少部分地根据用户行为的历史来计算亲和度系数。亲和度系数可用于预测可能在在线社交网络之内或之外的任何数量的行为。作为示例而非限制,这些行为可以包括各种类型的通讯,诸如发送消息、发布内容或评论内容;各种类型的观察行为,诸如访问或观看简档页面、媒体或其他合适的内容;关于两个或更多个社交图谱实体的各种类型的重合信息,诸如在相同的组合中、在相同的照片中被标记、在相同的位置签到或者出席相同的事件;或其他合适的行为。尽管本公开以特定方式描述了测量亲和度,但是本公开考虑以任何合适的方式测量亲和度。

在具体实施例中,社交网络系统160可以使用各种因数来计算亲和度系数。这些因数可以包括例如用户行为、对象之间的关系的类型、位置信息、其他合适的因数或其任何组合。在具体实施例中,当计算亲和度系数时,不同的因数可能被不同地加权。每个因数的权重可以是静态的,或者权重可以根据例如用户、关系的类型、行为的类型、用户的位置等等而改变。因数的评分可以根据它们的权重进行组合以确定用户的整体亲和度系数。作为示例而非限制,可以为特定的用户行为分配等级和权重两者,而与特定的用户行为相关的关系被分配等级和相关权重(例如,权重总和为100%)。为了计算用户对特定对象的亲和度系数,分配给用户的行为的等级可以包括例如整体亲和度系数的60%,而用户和对象之间的关系可以包括整体亲和度系数的40%。在具体实施例中,当确定用于计算亲和度系数的各种因数的权重时,社交网络系统160可以考虑各种变量,例如,诸如自访问信息以来的时间、衰减因数、访问频率、与信息的关系或与其相关信息被访问的对象的关系、与连接到对象的社交图谱实体的关系、用户行为的短期或长期平均、用户反馈、其它合适的变量或其任何组合。作为示例而非限制,亲和度系数可以包括引起由特定行为提供的信号的强度随着时间衰减的衰减因数,使得在计算亲和度系数时更近期的行为更相关。评分和权重可以基于亲和度系数所基于的行为的持续跟踪而被连续地更新。可以采用任何类型的处理或算法来分配、组合、平均等等,每个因数的评级和分配给这些因数的权重。在具体实施例中,社交网络系统160可以使用机器学习算法来确定亲和度系数,该机器学习算法利用历史行为和过去的用户反应或从用户产生的数据(通过让他们暴露于各种选择和测量响应)来训练。尽管本公开描述了以特定方式计算亲和度系数,但是本公开考虑以任何合适的方式来计算亲和度系数。

在具体实施例中,社交网络系统160可以基于用户的行为来计算亲和度系数。社交网络系统160可以监视在在线社交网络上、在第三方系统170上、在其他合适的系统上或其任何组合上这样的行为。可以跟踪或监视任何合适类型的用户行为。典型的用户行为包括查看简档页面、创建或发布内容、与内容交互、在图像中标记或被标记、加入群组、列出和确认参与事件,在地点签到、点赞特定页面、创建页面以及执行其他促进社交行为的任务。在具体实施例中,社交网络系统160可以基于用户对特定类型的内容的行为来计算亲和度系数。内容可以与在线社交网络,第三方系统170或另一合适的系统相关。内容可以包括用户、简档页面、帖子、新闻报道、标题、即时消息、聊天室对话、电子邮件、广告、图片、视频、音乐、其他合适的对象或其任何组合。社交网络系统160可以分析用户的行为以确定一个或多个行为是否指出对主题、内容、其他用户等的亲和度。作为示例而非限制,如果用户可以频繁发布与“咖啡”或其变体有关的内容,则社交网络系统160可以确定用户相对于概念“咖啡”具有高亲和度系数。特定行为或行为类型可以被赋予比其他行为更高的权重和/或评级,这可能影响整体计算的亲和度系数。作为示例而非限制,如果第一用户向第二用户发送电子邮件,则与第一用户仅查看第二用户的用户简档页面相比,该行为的权重或评级可以更高。

在具体实施例中,社交网络系统160可以基于特定对象之间的关系的类型来计算亲和度系数。参考社交图谱300,当计算亲和度系数时,社交网络系统160可以分析连接特定用户节点302和概念节点304的边306的数量和/或类型。作为示例而非限制,通过配偶类型边(表示两个用户结婚)连接的用户节点302可以被分配比通过好友类型边连接的用户节点302更高的亲和度系数。换句话说,根据分配给特定用户的行为和关系的权重,对于关于用户的配偶的内容,整体亲和度可被确定高于关于用户的好友的内容。在具体实施例中,用户与另一个对象的关系可能会影响关于计算该对象的亲和度系数的用户的行为的权重和/或评分。作为示例而非限制,如果用户在第一张照片中被标记,但仅仅点赞第二张照片,社交网络系统160可确定用户相对于第一照片具有比第二照片更高的亲和度系数,因为具有与内容的标记类型关系可以被赋予比具有与内容的点赞类型关系更高的权重和/或等级。在具体实施例中,社交网络系统160可基于一个或多个第二用户与特定对象的关系来计算第一用户的亲和度系数。换句话说,其他用户与对象之间的连接和亲和度系数可能会影响第一个用户对该对象的亲和度系数。作为示例而非限制,如果第一用户连接到或具有一个或多个第二用户的高亲和度系数,并且那些第二用户连接到或具特定对象的高亲和度系数,社交网络系统160可确定第一用户也应该具有针对该特定对象的相对较高的亲和度系数。在具体实施例中,亲和度系数可以基于特定对象之间的分离程度。较低的亲和度系数可以表示第一用户将共享对社交图谱300中的与第一用户间接连接的用户的内容对象的兴趣的降低的可能性。作为示例而非限制,在社交图谱300中更接近的社交图谱实体(即,更少的分离度)可以具有比社交图谱300中进一步分离的实体更高的亲和度系数。

在特定的实施例中,社交网络系统160可以基于位置信息来计算亲和度系数。相比于彼此更远的对象,在地理上彼此更接近的对象可以被认为是彼此更相关或更感兴趣。在具体实施例中,用户对特定对象的亲和度系数可以基于对象的位置与和用户相关的当前位置(或用户的客户端系统130的位置)的接近度。第一个用户可能对更接近第一个用户的其他用户或概念更感兴趣。作为示例而非限制,如果用户距离机场一英里而距离加油站两英里,社交网络系统160可以基于机场到用户的接近来确定用户对于机场具有比加油站更高的亲和度系数。

在具体实施例中,社交网络系统160可以基于亲和度系数信息来执行与用户有关的特定行为。基于用户对行为的兴趣,亲和度系数可以用于来预测用户是否将执行特定的行为。当产生或呈现任何类型的对象(例如广告、搜索结果、新闻报道、媒体、消息、通知或其他合适的对象)给用户时,可以使用亲和度系数。如果适当的话,也可以利用亲和度系数对这些对象进行排列和排序。以这种方式,社交网络系统160可以提供与用户的兴趣和当前情况相关的信息,增加了他们将发现这种感兴趣的信息的可能性。在具体实施例中,社交网络系统160可以基于亲和度系数信息来生成内容。内容对象可以基于特定于用户的亲和度系数来提供或选择。作为示例而非限制,亲和度系数可以被用于为用户生成媒体,其中可以将用户关于媒体对象具有高整体亲和度系数的媒体呈现给用户。作为另一个示例而非限制,亲和度系数可以被用于为用户生成广告,其中可以将用户关于广告对象具有高整体亲和度系数的广告呈现给用户。在具体实施例中,社交网络系统160可以基于亲和度系数信息生成搜索结果。针对特定用户的搜索结果可基于与关于查询用户的搜索结果相关的亲和度系数而被评分或排名。作为示例而非限制,可以在搜索结果页面上将与具有较高亲和度系数的对象相对应的搜索结果排序得高于与具有较低亲和度系数的对象相对应的结果。

在具体实施例中,社交网络系统160可以响应于来自特定系统或处理的对亲和度系数的请求来计算亲和度系数。为了预测用户在给定情况下可能采取的行动(或可能是的主题),任何处理可以为用户请求计算的亲和度系数。该请求还可以包括一组权重以用于各种因数,该各种因数用于计算亲和度系数。该请求可以来自在在线社交网络上运行的进程,来自第三方系统170(例如通过api或其他通信渠道)或来自另一合适的系统。响应于该请求,社交网络系统160可以计算亲和度系数(或者如果之前已经计算和存储,则访问亲和度系数信息)。在具体实施例中,社交网络系统160可以测量关于特定处理的亲和度。不同的处理(在线社交网络的内部和外部)可以请求用于特定对象或对象集合的亲和度系数。社交网络系统160可以提供与请求亲和度测量的特定处理相关的亲和度测量。通过这种方式,每个处理都会接收一个亲和度测量,该测量是针对处理将使用亲和度测量的不同情境而定制的。

结合社交图谱亲和度以及亲和度系数,具体实施例可以利用以下的每一个通过引用并入本文的2006年8月11日提交的美国专利申请第11/503093号、2010年12月22日提交的美国专利申请第12/977027号、2010年12月23日提交的美国专利申请第12/978265号、和2012年10月1日提交的美国专利申请第13/632869号中公开的一个或多个系统、组件、元件、功能、方法、操作或步骤。

在具体实施例中,广告可以是文本(可以是html链接)、一个或多个图像(可以是html链接)、一个或多个视频、音频、一个或多个adobeflash文件、这些合适的组合或呈现在一个或多个网页上、在一个或多个电子邮件中或结合用户所请求的搜索结果的任何合适的数字格式的任何其他合适的广告。另外或作为替代,广告可以是一个或多个赞助故事(例如,社交网络系统160上的新闻馈送或滚动条)。赞助故事可以是广告商所促进的用户的社交行为(例如“点赞”页面、“点赞”或评论页面上的帖子、rsvp到与页面相关的事件、对张贴在页面上的问题进行投票、签到到某个地方、使用应用程序或玩游戏或“点赞”或分享网站),例如,通过使社交行为呈现在用户或其他页面的简档页面的预定区域内,呈现与广告商相关的附加信息,在其他用户的新闻馈送或滚动中弹出或以其他方式突出显示,或其他方式促进。广告商可以付钱来促进社交行为。社交行为可以在社交网络系统160内或社交网络系统160上被促进。另外或作为替代,社交行为可以在适当的情况下在社交网络系统160之外或线下被促进。在具体实施例中,页面可以是商业、组织或品牌的在线呈现(诸如社交网络系统160之内或之外的网页或网站),便于其分享故事并与人们连接。例如,可以通过添加应用程序、发布故事或托管事件来定制页面。

当查看与社交网络系统160相关的网页时,赞助故事可以从用户的新闻馈送中的故事中生成并且被推送到用户的网页浏览器的显示内的特定区域。赞助故事更可能被用户看到,至少部分原因是赞助故事通常涉及用户好友、粉丝页面或其他连接的交互或建议。关于赞助故事,具体实施例可以利用2011年12月15日提交的标题为“sponsoredstoriesunitcreationfromorganicactivitystream”的美国专利申请第13/327557号、2012年2月3日作为美国专利申请第13/020745号提交的标题为“sponsoredstoriesunitcreationfromorganicactivitystream”的美国专利申请公开第2012/0203831号或2011年3月9日作为美国专利申请第13/044506号提交的标题为“endorsementsubscriptionsforsponsoredstories”的美国专利申请公开第2012/0233009号中公开的一个或多个系统、组件、元件、功能、方法、操作或步骤,作为示例而非限制,上述公开都通过引用并入本文。在具体实施例中,如在2011年8月18日提交的标题为“computer-visioncontentdetectionforsponsoredstories”的美国专利申请第13/212356号中所公开的,赞助故事可以利用计算机视觉算法来检测上传的图像中的产品或与广告商没有明确连接的照片,作为示例而非限制,该公开通过引用并入本文。

如上所述,广告可以是文本(可以是html链接)、一个或多个图像(可以是html链接)、一个或多个视频、音频、一个或多个adobeflash文件、这些合适组合或以任何合适的数字格式的任何其他合适的广告。在具体实施例中,广告可能被要求在第三方网页、社交网络系统网页或其他页面中显示。广告可以显示在页面的专用部分中,诸如在页面顶部的横幅区域中、在页面的侧面的列中、在页面的gui中、在弹出窗口中、在页面的内容的顶部上或关于该页面的其他地方。另外或作为替代,广告可以被显示在应用内或游戏内。广告可以在专用页面内显示,要求用户在用户可能访问页面、利用应用程序或玩游戏之前与广告交互或观看广告。例如,用户可以通过网络浏览器观看广告。

用户可以以任何合适的方式与广告交互。用户可以点击或以其他方式选择广告,并且广告可以将用户(或用户使用的浏览器或其他应用)引到与广告相关的页面。在与广告相关的页面上,用户可以采取另外的行为,诸如购买与广告相关的产品或服务、接收与广告相关的信息或者订阅与广告相关的时事通讯。可以通过选择广告的组件(如“播放按钮”)来播放带有音频或视频的广告。在具体实施例中,广告可以包括一个或多个游戏,用户或其他应用程序可以在广告中玩一个或多个游戏。广告可以包括用于响应广告中的投票或问题的功能。

广告可以包括用户可以与之交互的社交网络系统功能。例如,广告可以使用户能够通过选择与背书相关的图标或链接来“点赞”或以其他方式支持广告。类似地,用户可以与另一个用户(例如,通过社交网络系统160)或rsvp(例如,通过社交网络系统160)共享广告到与广告相关的事件。另外或作为替代,广告可以包括针对用户的社交网络系统内容。例如,广告可以显示关于已经采取了与广告的主题相关的行为的社交网络系统160内的用户的好友的信息。

社交网络系统功能或内容可以以任何合适的方式与广告相关。例如,在将广告提供给用户之前,广告系统(其可以包括硬件、软件或两者以用于接收对广告的投标并作为响应选择广告)可以从社交网络系统160检索社交网络功能或内容,并且将检索到的社交网络功能或内容并入到广告中。用广告选择和提供社交网络系统功能或内容的例子在2010年10月5日作为美国专利申请第12/898662号提交的标题为“providingsocialendorsementswithonlineadvertising”的美国专利申请公开第2012/0084160号和2011年3月8日作为美国专利申请第13/043424号提交的标题为“selectingsocialendorsementinformationforanadvertisementfordisplaytoaviewinguse”的美国专利申请公开第2012/0232998号中公开,作为示例而非限制,上述两个公开都通过引用并入本文。与和社交网络系统功能或内容相关的广告交互可以引起关于交互的信息显示在社交网络系统160中的用户的简档页面中。

具体实施例可以促进将广告递送给更有可能发现广告更相关或有用的用户。例如,广告商可以通过识别和锁定更有可能发现其广告更相关或有用的用户来实现更高的转换率(并且因此从广告中获得更高的投资回报(roi))。广告商可以使用社交网络系统160中的用户简档信息来识别那些用户。另外或作为替代,社交网络系统160可以使用社交网络系统160中的用户简档信息为广告商识别那些用户。作为示例而非限制,具体实施例可以用以下内容锁定用户:事件的邀请或建议;关于优惠券、交易或愿望清单项目的建议;关于好友的生活事件的建议;关于组合的建议;广告;或社交广告。这样的锁定可以适当地在社交网络系统160上或内部、社交网络系统160下或外部、或者用户的移动计算设备上发生。当在社交网络系统160上或内部时,这样的锁定可以指向用户的新闻馈送、搜索结果、电子邮件或其他收件箱或通知渠道、或者可以出现在社交网络系统160的网页的特定区域中,例如在门房或者分组区域中的网页的右侧(其可以沿着与相同的概念、节点或者对象相关的右侧栏广告进行分组)或网络-自我区域(其可以基于用户在网页上正在观看的内容以及用户的当前新闻馈送)。当在社交网络系统160下或外部时,这样的锁定可以通过第三方网站提供,例如涉及广告交换或社交插件。当在用户的移动计算设备上时,这样的锁定可以通过推送通知给移动计算设备来提供。

用于识别和锁定用户的锁定标准可以包括在社交网络系统160上明确的,规定的用户兴趣或用户与社交网络系统160上的节点、对象、实体、品牌或页面的明确连接。另外或作为替代,这样的锁定标准可以包括隐式或推断的用户兴趣或连接(其可以包括分析用户的历史、人口、社交或其他活动、好友的社交活动或其他活动、订阅或(例如基于共享兴趣、连接或事件)与用户相似的其他用户的任何前述)。具体实施例可以利用平台锁定,其可以涉及平台和“点赞”印象数据;上下文信号(例如,“谁正在查看或最近查看了可口可乐网页?”);轻量级的连接(例如“签到”);看起来相似的连接;粉丝;提取关键字;emu广告;推理广告;地理度量;系数;亲和度;或其他社交图谱信息;好友之间连接;pinning或助推;交易;调查;家庭收入;社交团体或群体;在图像或其他媒体中检测到的产品;社交或开放图的边类型;地理预测;简档或网页的视图;状态更新或其他用户帖子(可能涉及自然语言处理或关键字提取的分析);活动信息;或协作过滤。识别和锁定用户还可以适当包括隐私设置(诸如用户选择退出)、数据散列或数据匿名。

关于用广告锁定用户,具体实施例可以利用以下公开的一个或多个系统、组件、元件、功能、方法、操作或步骤,作为示例而非限制,这些公开全部通过引用并入本文:2008年8月18日作为美国专利申请第12/193702号提交的标题为“socialadvertisementsandotherinformationalmessagesonasocialnetworkingwebsiteandadvertisingmodelforsame”的美国专利申请公开第2009/0119167号;2008年8月20日作为美国专利申请第12/195321号提交的标题为“targetingadvertisementsinasocialnetwork”的美国专利申请公开第2009/0070219号;2010年12月15日作为美国专利申请第12/968786号提交的标题为“targetingsocialadvertisingtofriendsofuserswhohaveinteractedwithanobjectassociatedwiththeadvertising”的美国专利申请公开第2012/0158501号;或2010年12月23日作为美国专利申请第12/978265号提交的标题为“contextuallyrelevantaffinitypredictioninasocial-networkingsystem”的美国专利申请公开第2012/0166532号。

可以使用插件来呈现或以其他方式递送广告,插件用于网页浏览器或其他应用程序、内嵌框架元素、新闻馈送、滚动条,通知(其可以包括例如电子邮件、短消息服务(sms)消息或通知)或其他手段。可以在用户的移动或其他计算设备上向用户呈现或以其他方式递送广告。关于递送广告,具体实施例可以利用以下公开的一个或多个系统、组件、元件、功能、方法、操作或步骤,作为示例而非限制,这些公开全部通过引用并入本文:2010年12月15日作为美国专利申请第12/969368号提交的标题为“commentplug-inforthird-partysystem”的美国专利申请公开第2012/0159635号;2010年12月15日作为美国专利申请第12/969408号提交的标题为“commentorderingsystem”的美国专利申请公开第2012/0158753号;2006年8月11日作为美国专利申请第11/503242号提交的标题为“dynamicallyprovidinganewsfeedaboutauserofasocialnetwork”的美国专利第7669123号;2006年8月11日作为美国专利申请第11/503093号提交的标题为“providinganewsfeedbasedonuseraffinityforentitiesandmonitoredactionsinasocialnetworkenvironment”的美国专利第8402094号;2010年9月16日作为美国专利申请第12/884010号提交的标题为“actionclusteringfornewsfeeds”的美国专利申请公开第2012/0072428号;2009年7月1日作为美国专利申请第12/496606号提交的标题为“gatheringinformationaboutconnectionsinasocialnetworkingservice”的美国专利申请公开第2011/0004692号;2006年9月12日作为美国专利申请第11/531154号提交的标题为“methodandsystemfortrackingchangestousercontentinanonlinesocialnetwork”的美国专利申请公开第2008/0065701号;2007年1月17日作为美国专利申请第11/624088号提交的标题为“feedingupdatestolandingpagesofusersofanonlinesocialnetworkfromexternalsources”的美国专利申请公开第2008/0065604号;2010年4月19日作为美国专利申请第12/763171号提交的标题为“integratedsocial-networkenvironment”的美国专利第8244848号;2009年10月6日作为美国专利申请第12/574614号提交的标题为“sharingoflocation-basedcontentiteminsocial-networkingservice”的美国专利申请公开第2011/0083101号;2010年8月18日作为美国专利申请第12/858718号提交的标题为“locationrankingusingsocial-graphinformation”的美国专利第8150844号;2011年3月18日提交的标题为“sendingnotificationstousersbasedonusers’notificationtolerancelevels”的美国专利申请第13/051286号;2011年4月28日提交的标题为“managingnotificationspushedtouserdevices”的美国专利申请第13/096184号;2011年10月18日提交的标题为“platform-specificnotificationdeliverychannel”的美国专利申请第13/276248号;或2011年2月1日作为美国专利申请第13/019061号提交的标题为“mobileadvertisementwithsocialcomponentforgeo-socialnetworkingsystem”的美国专利申请公开第2012/0197709号。虽然本公开描述或示出了以特定方式并结合特定内容递送的特定广告,但是本公开考虑了以任何合适的方式并结合任何合适的内容递送的任何合适的广告。

在具体实施例中,在社交网络系统的服务器上执行的分析可以使用地理度量来追踪特征在单个特征级别或在产品级别上的影响。作为示例而非限制,特定的商业实体可以向用户发送广告作为一个或多个通知。在具体实施例中,可以响应于计算出的地理度量具有高于预定阈值的值来发送通知。此外,检测特定用户到企业之间的地理度量的值的增加意味着更高的空间共同性,值的增加可能导致社交网络系统增加发送给用户的通知的数量。另一方面,如果增加通知的量没有区别或者导致地理度量的值降低,则社交网络系统可以减少发送给用户的通知的数量。作为另一个示例,广告商可能希望向具有高的用户到用户地理度量(意味着与其他用户的空间共同性高)的用户展示更多的本质上像棋盘游戏的社交的产品广告,而向具有较低用户到用户地理度量(意味着与其他用户的空间共同性低)的用户展示更多针对游戏移动应用的广告。

在具体实施例中,在线社交网络的一个或多个内容对象可以与隐私设置相关。对象的隐私设置(或“访问设置”)可以以任何合适的方式被存储,例如,诸如与对象相关、以授权服务器上的索引、以另一种合适的方式或其任意组合。对象的隐私设置可以指定如何使用在线社交网络访问(例如,查看或共享)对象(或与对象相关的特定信息)。在对象的隐私设置允许特定用户访问该对象的情况下,对象可以被描述为相对于该用户是“可见的”。作为示例而非限制,在线社交网络的用户可以指定用户简档页面的隐私设置,以标识可以访问用户简档页面上的工作经历信息的一组用户,从而排除其他用户访问该信息。在具体实施例中,隐私设置可以指定不被允许访问与对象相关的某些信息的用户的“阻止列表”。换句话说,阻止列表可以指定对象对其不可见的一个或多个用户或实体。作为示例而非限制,用户可以指定不可以访问与用户相关的相册的一组用户,从而排除那些用户访问相册(同时还可能允许不在该用户组内的某些用户访问相册)。在具体实施例中,隐私设置可与特定的社交图谱元素相关。诸如节点或边的社交图谱元素的隐私设置可以指定社交图谱元素、与社交图谱元素相关的信息、或与社交图谱元素相关的内容对象可以如何使用在线社交网络来访问。作为示例而非限制,对应于特定照片的特定概念节点304可以具有隐私设置,该隐私设置指定照片仅可以被在照片中标记的用户及其好友访问。在具体实施例中,隐私设置可以允许用户选择或者不选择让他们的行为被社交网络系统160记录或者与其他系统(例如,第三方系统170)共享。在具体实施例中,与对象相关的隐私设置可以指定允许的访问或拒绝访问的任何合适的粒度。作为示例而非限制,可以为特定用户(例如,只有我、我的室友和我的老板)、在特定分离程度内的用户(例如,好友或好友的好友)、用户组(例如,游戏俱乐部、我的家人)、用户网络(例如,特定雇主的雇员、特定大学的学生或校友)、所有用户(“公众”)、没有用户(“私人”)、第三方系统170的用户、特定应用程序(例如,第三方应用程序、外部网站)、其他合适的用户或实体或其任何组合指定访问或拒绝访问。尽管本公开以特定方式描述了使用特定隐私设置,但是本公开考虑以任何合适的方式使用任何合适的隐私设置。

在具体实施例中,一个或多个服务器162可以是用于执行隐私设置的授权/隐私服务器。响应于来自用户(或其它实体)的对存储在数据存储器164中的特定对象的请求,社交网络系统160可以向数据存储器164发送针对对象的请求。如果授权服务器基于与对象相关的隐私设置确定用户被授权访问对象,请求可以识别与请求相关的用户,并且可以仅被发送给用户(或用户的客户端系统130)。如果请求用户没有被授权访问该对象,则授权服务器可以阻止从数据存储器164中检索所请求的对象,或者可以阻止所请求的对象被发送给用户。在搜索查询上下文中,如果查询用户被授权访问对象,则只能将对象生成为搜索结果。换句话说,对象必须具有查询用户可见的可见性。如果对象具有对用户不可见的可见性,则该对象可以从搜索结果中排除。虽然本公开描述了以特定方式实施隐私设置,但是本公开考虑以任何适当的方式实施隐私设置。

图4示出了示例计算系统。在具体实施例中,一个或多个计算机系统400执行在此描述或示出的一个或多个方法的一个或多个步骤。在具体实施例中,一个或多个计算机系统400提供在此描述或示出的功能。在特定的实施例中,运行在一个或多个计算机系统400上的软件执行在此描述或示出的一个或多个方法的一个或多个步骤,或者提供在此描述或示出的功能。具体实施例包括一个或多个计算机系统400的一个或多个部分。在此,在适当的情况下,对计算机系统的引用可以包括计算设备。此外,在适当的情况下,对计算机系统的引用可以涵盖一个或多个计算机系统。

本公开考虑了任何合适数量的计算机系统400。本公开考虑采取任何合适的物理形式的计算机系统400。作为示例而非限制,计算机系统400可以是嵌入式计算机系统、片上系统(soc)、单板计算机系统(sbc)(例如、诸如计算机模块(com)或模块上系统(som))、台式计算机系统、膝上或笔记本计算机系统、交互式信息亭、大型机、计算机系统的网格、移动电话、个人数字助理(pda)、服务器、平板计算机系统或其中的两个或更多个的组合。在适当的情况下,计算机系统400可以包括单一或分散;跨越多个地点;跨越多台机器;跨越多个数据中心;或驻留在可以包括一个或多个网络中的一个或多个云组件的云中的一个或多个计算机系统400。在适当的情况下,一个或多个计算机系统400可以在没有显着的空间或时间限制的情况下执行在此描述或示出的一个或多个方法的一个或多个步骤。作为示例而非限制,一个或多个计算机系统400可以实时或以批处理模式执行在此描述或示出的一个或多个方法的一个或多个步骤。在适当的情况下,一个或多个计算机系统400可以在不同的时间或在不同的位置执行在此描述或示出的一个或多个方法的一个或多个步骤。

在具体实施例中,计算机系统400包括处理器402、内存404、存储406、输入/输出(i/o)接口408、通信接口410和总线412。尽管本公开描述和示出了在特定布置中具有特定数量的特定组件的特定计算机系统,但本公开考虑在任何合适的布置中具有任何合适数量的任何合适组件的任何合适的计算机系统。

在具体实施例中,处理器402包括用于执行诸如构成计算机程序的指令的硬件。作为示例而非限制,为了执行指令,处理器402可以从内部寄存器、内部缓存、内存404或存储406中检索(或取出)指令;解码并执行它们;然后将一个或多个结果写入内部寄存器、内部缓存、内存404或存储406。在具体实施例中,处理器402可以包括用于数据、指令或地址的一个或多个内部缓存。在适当的情况下,本公开考虑包括任何合适数量的任何合适的内部缓存的处理器402。作为示例而非限制,处理器402可以包括一个或多个指令缓存、一个或多个数据缓存以及一个或多个翻译后援缓冲器(tlb)。指令缓存中的指令可以是内存404或存储406中的指令的副本,并且指令缓存可以加速处理器402对那些指令的检索。数据缓存中的数据可以是内存404或者存储406中用于在处理器402处执行的指令以进行操作的数据的副本;在处理器402处执行的先前指令的结果,用于由在处理器402处执行的后续指令访问或用于写入内存404或存储406;或其他合适的数据。数据缓存可以加速处理器402的读取或写入操作。tlb可以加速处理器402的虚拟地址转换。在具体实施例中,处理器402可以包括用于数据、指令或地址的一个或多个内部寄存器。在适当的情况下,本公开考虑包括任何合适数量的任何合适的内部寄存器的处理器402。在适当的情况下,处理器402可以包括一个或多个算术逻辑单元(alu);是一个多核处理器;或者包括一个或多个处理器402。尽管本公开描述并示出了特定的处理器,但是本公开考虑了任何合适的处理器。

在特定的实施例中,内存404包括用于存储处理器402执行的指令或处理器402进行操作的数据的主存储器。作为示例而非限制,计算机系统400可以将来自存储406或另一个源(例如,诸如另一个计算机系统400)的指令加载到内存404。处理器402然后可以将来自内存404的指令加载到内部寄存器或内部缓存。为了执行指令,处理器402可以从内部寄存器或内部缓存中取回指令并对它们进行解码。在执行指令期间或之后,处理器402可以将一个或多个结果(其可以是中间结果或最终结果)写入内部寄存器或内部缓存。处理器402然后可以将这些结果中的一个或多个写入内存404。在具体实施例中,处理器402仅执行一个或多个内部寄存器或内部缓存中的指令或内存404(与存储406或别处相反)中的指令,并且仅操作一个或多个内部寄存器或内部缓存中的数据或内存404(与存储406或别处相反)中的数据。一个或多个存储器总线(其每个可以包括地址总线和数据总线)可以将处理器402耦接到内存404。总线412可以包括一个或多个如下所述存储器总线。在具体实施例中,一个或多个存储器管理单元(mmu)驻留在处理器402和内存404之间,并且便于处理器402所请求的对内存404的访问。在具体实施例中,内存404包括随机存取存储器(ram)。在适当的情况下,该ram可以是易失性存储器,在适当的情况下,该ram可以是动态ram(dram)或静态ram(sram)。此外,在适当的情况下,该ram可以是单端口或多端口的ram。本公开考虑任何合适的ram。在适当的情况下,内存404可以包括一个或多个内存404。尽管本公开描述并示出特定的存储器,但是本公开考虑任何合适的存储器。

在具体实施例中,存储406包括用于数据或指令的大容量存储。作为示例而非限制,存储406可以包括硬盘驱动器(hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带、或通用串行总线(usb)驱动器、或这些中两个或更多个的组合。在适当的情况下,存储406可以包括可移除的或不可移除的(或固定的)介质。在适当的情况下,存储406可以在计算机系统400的内部或外部。在特定的实施例中,存储406是非易失性的固态存储器。在特定的实施例中,存储406包括只读存储器(rom)。在适当的情况下,该rom可以是掩模编程rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可变rom(earom)或闪存或这些中的两个或更多个的组合。本公开考虑采取任何合适的物理形式的大容量存储406。在适当的情况下,存储406可以包括一个或多个便于处理器402与存储406之间通信的存储控制单元。在适当的情况下,存储406可以包括一个或多个存储406。尽管本公开描述并示出了特定的存储,但是本公开考虑任何合适的存储。

在具体实施例中,i/o接口408包括提供用于计算机系统400和一个或多个i/o设备之间的通信的一个或多个接口的硬件、软件或二者。在适当的情况下,计算机系统400可以包括这些i/o设备中的一个或多个。这些i/o设备中的一个或多个可以使个人与计算机系统400之间能够通信。作为示例而非限制,i/o设备可能包括:键盘、键盘、麦克风、显示器、鼠标、打印机、扫描仪、扬声器、静止照相机、手写笔、平板电脑、触摸屏、轨迹球、摄像机、其他合适的i/o设备或这些中的两个或更多个的组合。i/o设备可以包括一个或多个传感器。本公开考虑用于它们的任何合适的i/o设备以及任何合适的i/o接口408。在适当的情况下,i/o接口408可以包括使处理器402能够驱动这些i/o设备中的一个或多个的一个或多个设备或软件驱动器。在适当的情况下,i/o接口408可以包括一个或多个i/o接口408。尽管本公开描述并示出了特定的i/o接口,但是本公开考虑任何合适的i/o接口。

在具体实施例中,通信接口410包括在计算机系统400与一个或多个其他计算机系统400或一个或多个网络之间提供用于通信(例如,诸如基于分组的通信)的一个或多个接口的硬件、软件或二者。作为示例而非限制,通信接口410可以包括用于与以太网或其他有线网络通信的网络接口控制器(nic)或网络适配器,或用于与诸如wi-fi网络的无线网络进行通信的无线nic(wnic)或无线适配器。本公开考虑任何合适的网络以及任何合适的通信接口410。作为示例而非限制,计算机系统400可以与自组织网络、个人域网(pan)、局域网(lan)、广域网(wan)、城域网(man)或互联网的一个或多个部分或这些中的两个或更多个的组合通信。一个或多个这些网络中的一个或多个部分可以是有线或无线的。作为示例,计算机系统400可以与无线pan(wpan)(例如,诸如蓝牙wpan)、wi-fi网络、wi-max网络、蜂窝电话网络(例如,诸如全球移动通信系统(gsm)网络)或其他合适的无线网络或者这些中的两个或更多个的组合通信。在适当的情况下,计算机系统400可以包括用于这些网络中的任何一个的任何合适的通信接口410。在适当的情况下,通信接口410可以包括一个或多个通信接口410。尽管本公开描述和示出了特定的通信接口,但是本公开考虑任何合适的通信接口。

在具体实施例中,总线412包括将计算机系统400的组件彼此耦接的硬件、软件或两者。作为示例而非限制,总线412可以包括加速图形端口(agp)或其他图形总线、增强型工业标准体系结构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准体系结构(isa)总线、无线带宽互连、低引脚数(lpc)总线、存储器总线、微通道架构(mca)总线、外设部件互连(pci)总线、pci扩展(pcie)总线、串行高级技术附件(sata)总线、视频电子标准协会本地(vlb)总线、或其他合适的总线或这些中的两个或更多个的组合。在适当的情况下,总线412可以包括一个或多个总线412。尽管本公开描述并示出了特定的总线,但是本公开考虑任何合适的总线或互连。

在此,在适当情况下,计算机可读非临时性存储介质或媒介可以包括一个或多个基于半导体的或其他集成电路(ic)(例如,诸如现场可编程门阵列(fpga)或专用ic(asic))、硬盘驱动器(hdd)、混合硬盘驱动器(hhd)、光盘、光盘驱动器(odd)、磁光盘、磁光驱动器、软盘、软盘驱动器(fdd)、磁带、固态驱动器(ssd)、ram驱动器、安全数字卡或驱动器、任何其他合适的计算机可读非暂态存储介质、或者这些中的两个或更多个的任何合适的组合。在适当的情况下,计算机可读非临时性存储介质可以是易失的、非易失的或易失和非易失的组合。

除非另有明确指出或者上下文另有指出,在此,“或”是包含性的而不是排他性的。因此,在此,除非另外明确指出或者上下文另有指出,否则“a或b”是指“a,b或两者”。此外,除非另有明确指出或者上下文另有指出,“和”既是联合的又是各自的。因此,除非另有明确指出或者上下文另有指出,在此,“a和b”意味着“a和b,共同地或分别地”。

本公开的范围涵盖本领域的普通技术人员将理解的对在此描述或示出的示例实施例的所有改变、替换、变化、变更和修改。本公开的范围不限于在此描述或示出的示例性实施例。此外,尽管本公开在此将相应实施例描述和示出为包括特定组件、元件、功能、操作或步骤,本领域普通技术人员将理解,这些实施例中的任何一个可以包括在此任何地方描述或示出的任何组件、元件、功能、操作或步骤的任何组合或置换。此外,在所附权利要求书中对被适配为、被安排为、能够、被配置为、可以、操作为、或可操作来执行特定功能的设备或系统或设备或系统的组件的引用涵盖设备、系统、组件,无论它或那个特定的功能是否被激活,打开、或锁定,只要设备、系统或组件如此适配、安排、能够、配置、启用、可操作或运转。

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