个性化的社交网络应用内容的制作方法

文档序号:6477519阅读:154来源:国知局
专利名称:个性化的社交网络应用内容的制作方法
技术领域
本发明总体上涉及社交网络,并且更具体地,涉及基于来自社交网络的用户特定数据对第三方应用进行个性化设置。
背景技术
社交网络或者具有共享兴趣或活动或对探索其他实体的兴趣感兴趣的实体的团体已经变得越发普遍。特别地,社交网络网站已经允许用户或实体相互之间更加有效地通信信息。例如,用户可以向社交网络网站发布联系信息、背景信息、工作信息、爱好或其它用户特定数据。其他用户或实体继而可以通过浏览用户简档或搜索包括特定数据的简档来查看所发布的数据。
某些社交网络网站包含用于将用户连接到与每个用户最为相关内容的系统。例如,根据用户简档中的一个或多个共同属性对用户进行分组,如地理位置、雇主、工作类别、音乐偏好或其它属性。另外,某些社交网络允许用户从该社交网络访问 一 个或多个第三方应用。这些第三方应用在社交网络网站中运行。这种应用可以向用户提供彼此通信、协作和交流的新颖、有趣的方法,从而扩展社交网络网站的功能。例如,社交网络网站包括"小部件(widget),,,其允许用户访问由第三方提供的数据或服务。因此,"小部件"或类似的用户接口允许社交网络网站用户与独立于该社交网络网站的第三方应用进行交互。
虽然社交网络网站允许用户接收来自社交网站的、基于用户数据而进行了个性化设置的内容,但是由第三方应用提供的信息不是个性化的,除非用户单独向第三方应用提供信息。因此,用户必须向社交网络网站和第三方应用提供分离的数据集,以便从这两个来源接收个性化内容。第三方应用不能访问由与用户相关联的社交网络网站所存储的用户数据。

发明内容
为了提供与第三方应用的个性化交互,社交网络网站与第三方应用共享关于其用户的已存储信息。被配置为在社交网络网站中执行的第三方应用可以访问关于用户的已存储信息,以及基于用户特定信息来构建内容页面。由此,社交网络网站的用户能够接收来自第三方应用的个性化内容或信息。存储的用户信息包括关于该用户的信息,如
用户的兴趣、偏好、统计信息(demographics)等等,还包括标识该用户的好友的信息。根据标识用户好友的信息,可以访问与这些好友相关联的附加内容,并且还可以使用这些附加内容来为初始用户构建内容页面。例如,第三方应用可以提供社交网络网站用户的最喜欢歌曲的列表,并且还提供来自社交网络网站的用户数据,以便还提供与该社交网络网站用户相关联的一个或多个其他社交网络网站用户的最喜欢歌曲。
在 一 个实施方式中,用户向社交网络网站传送访问第三方应用的请求。社交网络网站标识与该请求相关联的第三方应用服务器,并且验证该用户与社交网络网站维护的用户简档相关联。例如,社交网络网站从该用户处请求用户标识,例如用户名及密码,用于标识与该用户相关联的用户简档。社交网络网站将所述请求及用户标识符发送至第三方应用服务器。另外,社交网络网站还向第三方应用服务器传送来自与该用户相关联的用户简档的数据子集,如该用户的好友、该用户最近添加的好友、该用户的照片或其它用户数据。为了维护社交网络网站用户的隐私,社交网络网站首先检查与每个用户简档相关联的隐私设置,并且不向第三方应用服务器发送任何用户已经配置为浏览
6用户或第三方应用不可访问的数据。继而第三方应用服务器基于请 求、用户标识符及由社交网络网站提供的任何附加数据来生成应用内 容。第三方应用还可以从社交网络网站直接请求基于用户标识符的数 据。在任一情况中,应用内容是个性化的,因为该应用内容是基于用 户标识符及附加数据的。在一个实施方式中,个性化的应用内容直接 特定于用户,诸如基于用户偏好、兴趣、统计信息、与用户相关联的 其他用户、最近的活动或加入一个或多个其他用户。在其他实施方式 中,应用内容对于用户是个性化的,因为该应用内容是基于用户的好 友的有关信息,例如兴趣、统计信息及与该用户好友相关联的其它数 据。因此,第三方应用能够提供用户直接感兴趣的内容(其基于社交 网络网站所维护的关于该用户和/或用户好友的信息),并且不限于一 般性内容。
备选地,用户最初可以将访问应用的请求发送至第三方应用服务 器。继而第三方应用服务器将此请求传送至社交网络网站,社交网络 网站例如通过请求该用户登录社交网络网站来确定该用户是否具有 存储在该社交网络网站上的用户简档。继而社交网络网站检查与该用 户简档相关联的隐私设置,以确定什么数据(如果有的话)是第三方 应用服务器可访问的。继而社交网络网站响应于隐私设置而将数据传 送至第三方应用服务器。第三方应用服务器继而利用所提供的数据来 生成应用输出,并将其显示给用户。
说明书中所描述的特征和优点不是穷举的,特别地,根据附图、 说明书和权利要求书,很多其他特征和优点对于本领域普通技术人员 而言将是易见的。而且,应当注意,说明书中所使用的语言原则上为 了可读性和教导的目的而选择的,而不是为了描绘或者限制发明主题 而选择的。


图1是示出用于在社交网络网站与第三方应用服务器之间共享用
户数据的系统的高层框图;图2是示出用于与第三方应用服务器共享用户数据的社交网络网
站的架构的框图3是示出用于确定与社交网络网站接收到的应用请求相关联的 第三方应用服务器的应用标识模块的框图4是示出第三方应用服务器与社交网络网站之间的用户数据共 享的事件框图;以及
图5是示出在第三方应用服务器与社交网络网站之间共享用户数 据的备选方法的事件框图。
附图仅出于示出目的而描述了本发明的各种实施方式。从下文的 说明书中,本领域技术人员容易理解,在不脱离在此描述的本发明的 原理的情况下,可以使用在此示出的结构和方法的备选实施方式。
具体实施例方式
图1是示出用于在社交网络网站130与第三方应用服务器之间共 享用户数据的系统的高层框图。系统环境包括一个或多个客户端设备 110、第三方应用服务器120、社交网络主站130以及网络140。在备 选配置中,系统环境可以包括不同的模块和/或附加的模块。
客户端设备llOa...llOn包括一个或多个计算设备,其经由网络 140来发送和/或接收数据,并且接收用户输入。例如,客户端设备110 可以是桌面型计算机、膝上型计算机、智能电话、个人数字助理 (PDA)、移动计算设备或包括计算功能及数据通信能力的任何其它 设备。
第三方应用服务器120包括源,诸如与一个或多个标识符相关联 的计算设备或虚拟机,所述标识符诸如单个DNS条目(例如, www.domainA.com)或一目关DNS条目(例长口,戶斤有具有基本名www. domain A. com的注册)。响应于客户端设备110或者社交网络网站13 0 的请求,第三方应用服务器120经由网络140与客户端设备110、社 交网络网站130传送或共享数据、信息或服务。例如,第三方应用服 务器120经由网络140接收来自客户端设备110的数据,处理接收的数据,并且经由网络140将输出数据发送回客户端设备110。第三方 应用服务器120提供被配置为在社交网络网站运行时环境内执行的应 用。由第三方应用服务120提供的应用的示例包括用于在线销售、在 线拍卖、礼物赠送、会议、事件管理、讨论版的应用或通过网络140 将数据或其它信息提供给客户端设备110的其它应用。
由第三方应用服务器120提供的应用在社交网络主站130中提供 增强的内容和交互性,该社交网络主站还维护有针对该社交网络网站 中容纳的每个应用的应用对象。 一个示例应用是增强型消息收发服 务,其中,成员可以将虚拟对象(如"礼物"或"花,,)及可选的消息发 送给另一个成员。由此,对应用所提供的任何功能的使用可以构成社 交网络主站130用户与该应用有关的动作。另外,继续上面的示例, 虛拟礼物或消息的接收也可以认为是与该应用有关的动作。因此,可 以理解,动作可以是被动式的,并且无需要求成员的主动参与。所提 供应用的范围及类型仅受限于该应用开发者的想象力及创造力。应用 通常被编写为服务器侧代码,其运行在第三方应用服务器120上;当 然,应用也可以适当地使用客户端侧代码。
社交网络主站130包括计算系统,其允许一个或多个用户利用网 络14(H皮此交互。例如,it交网全各主站130存^f诸描述^土交网络主站130 用户(也称作"社交网络成员"或"成员")的数据,诸如用户简档或者 用户偏好,并且还存储描述不同用户之间一个或多个关系的数据。社 交网络主站130中的每个用户通过某些社交关系与 一个或多个其他用 户相关,诸如亲属、好友、同事、共同组织成员、共同教育机构的校 友等等。为了易于描述,以任何上述方法或其它方法与给定用户关联 的其他用户,称作该给定用户的"好友"。
因此,社交网络主站130向其成员提供与该网站的其他成员通信 和交互的能力。在使用中,成员加入社交网络主站130,然后向一些 期望连接的成员添加连接。这里使用的术语"好友"表示已经与成员通 过该网站形成了连接、关联或关系的任何其他成员。连接可以由成员 显式地添加,例如,成员选择特定的其他成员为好友,或由社交网络主站130基于成员的共同特性(例如,成员是同一教育机构的校友) 自动地创建。社交网络网站中的连接通常是双向的,但这并不是必须
的,因此术语"成员"和"好友"取决于参考标准。例如,假设Bob和Joe 都是成员并且在该网站中互相连接,同为成员的Bob和Joe还是彼此 的好友。成员间的连接可以是直接连接,然而社交网络主站130的一 些实施方式允许经由一级或多级连接的间接连接。同样,术语"好友"
或其它实体的情况),术语"好友"仅仅实现社交网络网站中的连接。
社交网络主站130提供了多种机制来允许成员彼此通信或获得成 员感兴趣的信息,诸如其好友参与的活动、其好友安装的应用、好友 在其他好友的活动上所做的评论等。允许成员彼此通信的机制的示例 包括
*电子邮件通道,其允许成员通过电子邮件进行通信。
通知通道,其传送通知成员某些涉及该成员的活动已经在社交网 络上发生的信息。
*邀请通道,其在用户之间传送一个或多个邀请。邀请是由成员发 出的邀请另 一个成员去做一些事情的消息,例如成员可以邀请他 的好友安装应用。
墙报(Wall Post)通道,其允许成员共享好友间的信息墙是一种 允许成员编写将在好友间共享的有趣信息的应用。写在成员墙上 的消息称作墙报。成员可以在他自己的墙上,也可以在所有好友 的墙上发布墙报。成员的任何好友都可以看到他在墙上所写的东 西。
*好友动态(News Feed)通道,其更新由成员的好友完成的多个活 动当成员的好友进行多种活动(如添加应用、评论照片、交新 好友等)时,好友动态被不断更新。
迷你动态(Mini-Feed)通道,其提供列出该成员所做的动作的迷 你动态例如,成员可能将新的好友添加到其社交网络中或安装 了某些应用。成员的所有这些活动都在该成员的迷你动态中列出。除了与其他成员交互之外,该社交网络主站130还为成员提供了 对网站所支持的各种项目采取动作的能力。这些项目可以包括该网站 成员可能所属的群组或网络(其中这里的"网络"指的不是物理的通信 网络,而是指人们的社交网络)、成员可能感兴趣的事件或日历条目、 成员可以经由该网站4吏用的基于计算才几的应用、以及允许成员经由该 网站购买或销售物品的交易。这些只是成员可能在社交网络主站130 上采取动作的项目的一些示例,并且有可能有其它许多示例。
社交网络主站130还包括成员可以在社交网络主站130上与之交 互的不同种类项目的多个对象。在一个示例实施方式中,这些对象包 括用户简档、群组对象、事件对象及应用对象(以下相应地简称为"群 组"、"事件"及"应用")。在一个实施方式中,该社交网络主站130 针对其关联项目的每个实例存储对象。例如,针对加入该社交网络主 站130的每个成员,存储用户简档;针对在社交网络主站130中定义 的每个群组,存储群组等等。
社交网络主站130的成员可以在社交网络网站130上进行特定的 动作,其中每个动作与一个或多个对象相关联。成员可以结合对象来 执行的操作的类型针对每个对象而定义,并且在很大程度上取决于该
对象所表示的项目的类型。特定的动作可以与多个对象相关联。下面 所描述的是可以针对社交网络主站130而定义的特定类型的对象的一 些示例,以及针对每个对象可以进行的一些动作。在此讨论的这些对 象和操作仅出于说明目的而提供,并且可以理解,可以在社交网络主 站130上提供数目不受限制的变化和特征。
社交网络主站130包括社交网络主站130每个成员的用户简档。 通过数据库或者其他数据存储库中维护的信息,特定成员关于另 一 个 成员所做的任何动作与每个用户的简档相关联。这种动作例如可以包 括添加与其他成员的连接、向其他成员发送消息、读取来自其他成 员的消息、查看与其他成员相关联的内容以及参与由其他成员发布的 事件等等。另外,下面结合其他对象描述的多个动作涉及特定的成员, 所以这些动作同样与这些成员相关联。用户简档还描述各用户的特征,诸如工作经历、学历、爱好或偏好、位置或类似数据,并且用户 简档包括描述用户之间 一 个或多个关系的数据,诸如指示具有相似或
共同工作经历、爱好或学历的用户的数据。另外,社交网络主站130
包括不同用户之间的用户定义的关系,其允许用户定制其与其他用户
关系的关系。例如,此用户特定的定制允许社交网络主站130的用户 与其他用户生成与该用户的现实生活相类似的关系,例如具有相同学 历的其他用户或相同位置的其他用户。
可以为成员组或网络定义群组。例如,成员可以为特定的乐队定 义歌迷俱乐部群组。社交网络主站130可以维护该歌迷俱乐部群组, 其可以包括关于该乐队的信息、该乐队的媒体内容(例如,歌曲或音 乐视频)以及该组成员可以评论该乐队的讨论版。相应地,关于该群 组的可能的成员动作可以包括加入群组、查看内容、收听歌曲、观 看视频以及在讨论版上发布消息。
类似地,可以为特定的事件定义事件,如生日聚会。成员可以通 过定义该事件的相关信息(例如时间、地点及被邀请者名单)来创建 事件。其他成员可以接受该邀请、评论该事件、发布他们自己的内容 (例如,来自该事件的图片)以及对事件执行社交网络主站130支持 的任何其它动作。相应地,事件的创建者也是事件的被邀请者,其可 以执行与该事件相关联的各种动作。
社交网络主站130还支持成员向其简档添加应用。这些应用在社 交网络主站130内提供了增强的内容和交互性,其中社交网络主站 130维护系统环境中容纳的每个应用的应用对象。网站运营商和/或第 三方开发者可以经由第三方应用服务器120来提供应用。 一个示例应 用是增强型消息收发服务,其中成员可以将虚拟对象(如"礼物"或 "花")及可选的消息发送至另一个成员。由此,对应用所提供的任何 功能的使用可以构成用户关于应用的动作。另外,继续上面的示例, 虚拟礼物或消息的接收也可以认为是与该应用有关的动作。因此,可 以理解,动作可以是被动式的,并且无需要求成员的主动参与。所提 供的应用的范围及类型仅受限于该应用开发者的想象力及创造力。一般地,当用户登录站点时,系统环境确定该用户已经安装了 (例如, 注册)哪些应用,然后结合社交网络主站130的基础功能来加载和运 行这种应用。
另外,社交网络主站130允许不同的用户使用网络140来与一个 或多个附加的成员通信。例如,社交网络网站130允许客户端设备 110A所关联的用户使用网络140与客户端设备110B所关联的第二用 户通信。下面结合图2进一步详细描述社交网络主站130。
网络14 0可以包括使用有线通信系统和无线通信系统二者的局域 网和/或广域网的任何组合。备选地,网络140可由端对端配置取代, 在该端对端配置中,客户端设备110、第三方应用服务器120及社交 网络主站13(H皮此直4妄通信。
参考图2,其示出了示例社交网络主站130的框图。社交网络主 站130包括通信模块205、用户简档存储210、事件存储220、群组存 储230、动作日志240、用户日志250、好友动态生成模块260以及应 用标识才莫块270。在其它实施方式中,该社交网络主站130包括不同 的模块和/或附加的模块。
通信模块205将社交网络主网站130链接到网络140,或链接到 一个或多个客户端设备110和/或第三方应用服务器120。通信模块205 是支持例如开放系统互连基本参考模型(OSI模型)的网络协议栈的 网络接口。因此,通信网络模块205允许社交网络主站130使用无线 通信方式和/或有线通信方式来与网络140通信。
用户简档存储210包括与不同社交网络主站130用户相关联的数 据。 当用户请求访问社交网络主网站130提供的服务时,生成该用户 的用户简档,并且将其存储在用户简档存储210中。用户简档包括描 述与用户相关联的一个或多个特性的数据,诸如人口统计信息、地理 位置、学历、就业状态、工作经历、用户兴趣、用户爱好和/或附加的 描述数据。用户简档还包括隐私设置,其指示其他用户对用户简档中 的任何信息、用户联系信息或与其他用户(如该用户的好友、网络及 群组等等)的用户定义关系的可访问性是怎样的。用户简档存储210可以通过社交网络标识符来组织所存储的用户简档,该社交网络标识
符用于唯一地标识社交网络主网站130用户。
事件存储220包括描述发生在社交网络主网站130外部的各种事 件。例如,事件存储220包括描述音乐会、电影、会议或发生在现实 生活中的其它自然事件、发生在社交网络主站或其它在线站点中的事
件的数据。事件存储220包括描述事件名称、事件开始以及结束时间、 事件位置(例如,城市或网站)、参与该事件的用户列表的数据或其 它描述数据。另外,事件存储220可以包括事件结束后总结该事件的 数据或信息,如与该事件相关联的照片、视频、回顾或讨论版。事件 存储220可以与用户简档存储210通信,这允许用户与事件相关联。 事件存储220可以根据唯一标识每个存储事件的事件标识符来组织存 储的事件数据。
群组存储230包括描述各种用户群组或社交网络主站130用户之 间关系的数据。例如,群组存储230包括描述群组名称和与群组相关 联的社交网络标识符列表的数据。另外,群组存储230可以包括描述 群组或一个或多个群组成员的数据或信息,如发布或以其他方式隶属 于群组成员的照片、视频数据、音频数据或文本数据。群组存储230 可以与用户简档存储210、事件存储220和/或动作日志240通信,这 允许事件、动作和/或用户与群组相关联。群组存储230可以根据唯一 标识每个已存储群组的群组标识符来组织存储的数据。各种存储由数 据库管理系统来管理,优选地,使用冗余的、分布式架构。部分存储 可以根据期望维护在磁盘上或存储器中,以便改进性能和可扩展性。
动作日志240包括描述用户在社交网络主站130中所做的各种动 作的数据。通过社交网络主站130提供的应用编程接口 ,存储的动作 可以发生在社交网络主站130中以及及其它站点中。在一个实施方式 中,社交网络主站130将动作日志作为条目的数据库来维护。当在社 交网络主站130上进行动作时,针对该动作的条目被添加到动作日志 中。社交网络中用户动作的示例包括向好友发送消息、使用第三方 应用、加入群组、脱离群组、添加与其他用户的关系、删除与其他用户的关系、修改存储的用户简档、生成事件描述或对社交网络主站130
存储的数据的其它修改或获取。社交网络主站130外部的用户动作的 示例包括使用第三方应用服务器120主控的在线商场来购买或查看 产品或服务、注册或订阅由第三方应用服务器120主控的网站、购买 或请求来自第三方应用服务器120主控的网站的信息或在第三方应用 服务器120上执行的类似动作。动作日志包括描述用户执行该动作、 动作发生的时间、执行动作的用户的标识符、动作涉及到的成员的标 识符、所执行动作的类型标识符、动作所操作的对象(例如,应用) 的标识符、与动作相关联的内容、动作发生的地点的数据和/或描述动 作的其他数据。可以理解,社交网络主站130中可能进行的多种类型 的动作不必要求所有这些信息。例如,如果成员改变了与成员的简档 相关联的照片,则可以只通过该成员的标识符、定义照片改变的动作 类型以及该照片或到该照片的链接来记录该动作。动作日志240可以 与用户简档存储210、事件存储220和/或群组存储230通信,这允许 事件、用户和/或群组与动作相关联。动作日志240可以根据唯一标识 每个已存储动作的动作标识符来组织存储的数据。动作日志240可以 基于动作何时发生来存储动作。例如,动作日志240可以使用后进先 出(LIFO)日志结构来存储动作,从而首先从动作日志240获取最近 的操作。在一个实施方式中,由单个动作日志230来存储来自所有社 交网络主站130用户的动作,并且根据用户标识符来组织所存储的动 作,或者是分割动作日志以便不同的用户分配存储。备选地,社交网 络主站130包括与用户总体的不同子集(例如,通过隶属、组及地域 等划分)相关联的多个动作日志240。
根据从动作日志240提取的动作,为每个用户维护用户日志250。 给定的用户日志250包括来自描述该用户动作的动作日志240的数 据,并且可以包括来自用户存储210、事件存储220和/或群组存储230 的、与该动作相关联或者受该动作影响的附加数据,用于进一步注释 或标记动作数据。用户日志250可以按年代来组织动作和相关数据, 这允许用户日志250记录用户执行动作的顺序,并且允许更容易地访问最近的用户动作。
好友动态生成器260适于与用户日志250通信,并且基于与特定 用户相关联的用户日志250的内容为每个用户生成包括一个或多个故 事(story)的好友动态。故事是来自用户日志250的一个或多个用户 动作的总结、浓缩或摘要的消息。继而可以将生成的好友动态故事传 送给一个或多个相关用户(例如,用户的好友),以允许与这种相关 用户共享用户的动作。好友动态生成器260对用户日志250的内容应 用亲和力算法(affinity algorithm),并且将用户简档存储210和/或 群组存储230中指定的与其他用户或群组的用户关系考虑在内,从而 选择日志250中作为将要分发给相关用户的一个或多个故事的基础的 动作。通过将用户与其他用户和/或群组的关系考虑在内,好友动态生 成器260确定用户日志250中与其他有关用户最为相关的数据。
在一个实施方式中,好友动态生成器260检查给定用户的用户日 志250中针对在选定的过去时段(如一天或一周)期间发生的所有动 作的内容。好友动态生成器260继而基于用户日志250中的一个或多 个动作来生成消息("故事")。例如,好友动态生成器260生成这样 的消息,其标识给定的用户(例如,用户A)、动作类型、以及可选 地受到该动作影响的用户、群组或者其他实体(例如,"用户A所加 入的群组l")。对于各种消息,好友动态生成器260确定各相关用户 对于与给定用户相关联的不同消息的兴趣。例如,好友动态生成器260 确定相关用户最近何时访问来自或与给定用户相关联的数据、相关用 户多久访问 一次访问来自或与给定用户相关联的数据、评论的数量或 给定用户和相关用户简档中的类似数据和/或特定消息中代表用户兴 趣的其它因素。基于确定的相关用户的兴趣级别,将消息传送给那些 对信息消息具有最高兴趣的相关用户。此过程也适用于给定用户的相 关用户的用户日志。例如,对于给定用户A,相关用户B、 C、 D及E 的用户日志可以在选定间隔处理,并且基于用户B、 C、 D和E的动 作为用户A构建一个或多个消息。因此,用户A可以接收如"用户B 和C正在参与事件X"或"用户C向用户D发送了礼物"或"用户D与用户E现在成为了好友"的消息。
应用标识模块270包括与一个或多个第三方应用服务器120相关 联的数据,并且与用户简档存储210和通信模块205通信。为了清晰 起见,应用标识模块270参考图3描述,其示出了应用标识模块270 的示例实现。在一个实施方式中,应用标识;漠块270包括与社交网络 主站130通信的各第三方应用服务器120相关联的一个或多个应用简 档300。图3的示例中示出的应用简档300包括应用标识符310、应 用地址320及应用数据330。
社交网络主站130从客户端设备IIO接收针对服务器120提供的 特定第三方应用的访问第三方应用服务器120的请求;该请求包括与 第三方应用相关联的应用标识符310,如应用名称、标识代码等。这 允许应用标识符310唯 一 标识由 一 个或多个第三方应用服务器12 0提 供的各种应用。接收到的请求被传递给应用标识模块270,其标识与 接收到的应用标识符310相关联的应用地址320,从而使用应用标识 符310来标识与接收到的请求相关联的第三方应用服务器120。包括 在应用简档300中的应用地址320包括标识统一资源标识符(URI)、 互联网协议(IP)地址的数据或其它描述如何访问提供该请求应用的 第三方应用服务器120的数据。
应用简档300还使应用数据330与应用标识符310和应用地址320 相关联。应用数据330标识传送到第三方应用服务器120的、由社交 网络主站130存储的数据。例如,应用数据330标识存储的用户简档 的一个或多个参数,如地理位置、学历、就业状态、工作经历、用户 兴趣、用户爱好和/或可由第三方应用服务器120访问以构建应用内容 的其他描述性数据。在一个实施方式中,应用数据330使用由编程语 言指定的参数名称或者标识符,其中编程语言诸如"Facebook标记语 言"(FBML)或者描述数据的存储和/或显示的其它编程语言。在图3 中示出的示例中,应用数据330使用参数标识符"FB—SIG—ADDED" 来请求指示用户先前是否已经访问了第三方应用服务器12 0的数据, 使用"FB SIG FRIENDS"来请求描述来自社交网络主站130的用户好友列表的数据,以及使用"FB—PROFILE—PIC,,来请求与用户简档相关 联的图像。图3中示出的应用数据330仅仅是示例,并且在其它实施 方式中,可以指定任何其他参数标识或名称。应用数据330指定从与 请求访问第三方应用服务器120的用户相关联的用户简档中获取的、 并从社交网络主站130被传送至第三方应用服务器120的数据。在一 个配置中,应用标识模块270使用关系数据库来存储应用简档300。
图4示出了示出第三方应用服务器120访问来自用户简档的用户 数据并将其以及用于对应用内容进行个性化设置的过程的事件图。图 4中描述的动作可以由执行引起所述动作的指令的各种计算机系统来 实现。本领域的技术人员将认识到, 一个或多个动作可以在硬件和/ 或软件或其组合的实施方式中实现。例如,用于执行所描述动作的指 令嵌入或存储在计算机可读存储介质中。其它实施方式可以包括与这 里所描述的步骤不同和/或附加的步骤。
首先,社交网络主站130从用户设备110 4妾收(410)针对访问 第三方应用服务器120所提供的应用的请求。例如,客户端设备IIO 用户4是供用于访问社交网络主站130的URI,该URI标识由第三方应 用服务器120提供的应用,如具有格式"apps.facebook.com/fluff,的 URI,其标识了社交网络主站130 ("apps.facebook.com")并且标识了 请求的应用("fluff,)。因此,URI或其它应用请求包括应用标识符, 社交网络主站130的应用标识才莫块270使用该应用标识符来标识 (420)与所请求的应用相关联的第三方应用服务器120。例如,对用 于访问社交网络主站13 0的URI或其它应用请求中所包括的应用标识 符310进行处理,以便标识(420)包括与应用标识符310相关联的 应用地址320的应用简档。例如,对接收到的URI或其它应用请求应 用散列函数,以标识包括与所请求的应用相关联的应用地址320的应 用简档。应用地址320是用于访问与接收到的应用标识符310相关联 的第三方应用服务器120的URI。应用地址被附加到应用名称之前, 以便形成用于访问第三方服务器处的第三方应用的完整URI。
社交网络主站130验证(430 )提供该请求的用户是否是该社交
18网络主网站130的成员。在一个实施方式中,社交网络主站130向客 户端设备IIO传送消息,以请求用户输入登录名及密码或与该社交网 络主站130相关联的其它用户凭证。备选地,社交网络主站130最初 接收(410)的应用请求包括登录名及密码或与请求(410)应用的用 户相关联的其它用户凭证。社交网络主站130继而通过认证所提供的 用户凭证来验证(430 )用户。
在验证(430)请求用户是社交网络主站130的成员后,社交网 络主站130将用户标识符传送(440)到与第三方应用服务器120相 关联的应用地址320。除了提供用户标识符之外,社交网络主站130 还将会话密钥传送(440)到第三方应用服务器120。该会话密钥与特 定用户和会话唯一地关联,并且用于标识社交网络主站130与第三方 应用服务器120之间的数据交换。另外,该会话密钥指定社交网络主 站130与第三方应用服务器交换数据期间的时间长度,使得在指定的 时滞长度后,不在第三方应用服务器120与社交网络主站130之间交 换数据。备选地,会话密钥指示社交网络主站130与第三方应用服 务器120在一段不确定的时段内交换数据,从而允许交换数据直到由 请求用户终止。因此,会话密钥是在验证(430 ) 了存在与请求用户 相关联的社交网络用户简档之后由社交网络主站130生成的,并^皮用 于唯一地标识社交网络主站130与第三方应用服务器120之间的数据 交换。在一个实施方式中,社交网络主站130将附加数据传送(440) 到第三方应用服务器120。例如,社交网络主站130从与请求应用的 用户相关联的用户简档中获取与应用标识符310相关联的应用数据 330所指定的数据。这允许社交网络主站130将来自请求用户的用户 简档的数据提供给第三方应用服务器120,以便定制第三方应用服务 器120所提供的数据。
在接收到用户标识符及来自社交网络主站130的任何附加数据之 后,第三方应用服务器120处理(450)接收到的数据,以生成应用 内容。在处理(450 )接收到的数据期间,第三方应用服务器120可 以从社交网络主站130请求(460)与该用户标识符相关联的附加数据。这使得第三方应用服务器120能够从社交网络主站130获得关于 请求用户的附加信息,这允许第三方应用服务器120基于特定的用户 数据进一步个性化设置所生成的应用内容。例如,第三方应用服务器 120请求(460)描述该请求用户最近添加为好友的其他成员的数据, 或请求(460)描述该请求用户的好友最近所做动作的数据。
如上文所述,提供给应用服务器120的此应用数据330可以包括 来自用户简档的任何数据,以及来自用户好友的用户简档的信息。在 一个实施方式中,所提供的应用数据300限于根据用户的隐私设置以 及根据用户好友的隐私设置可获得的数据。在一个实施方式中,这实 现如下。首先,社交网络主站130如上文所述获得所有用户数据以及 用户好友的数据。然后社交网络主站130评估(465 )请求用户的用 户简档的一个或多个隐私设置,以确定第三方是否可以访问第三方应 用服务器120所请求的数据。这允许请求用户通过修改隐私设置来调 整用户简档中的哪些数据是第三方应用可访问的。因此,第三方应用 服务器120仅能够访问来自用户简档的某些用户所选的数据。类似地, 如果第三方应用服务器120请求来自附加用户(例如,请求用户的好 友),则检查该附加用户的隐私设置。这防止第三方应用服务器120 从附加用户接收附加用户没有公开的信息。因此,虽然社交网络主站 130允许第三方应用服务器120从社交网络主站130访问与请求用户 相关联的信息,但是可访问的信息受到用户隐私设置的限制,这允许 不同的用户调整第三方应用服务器120可访问的信息类型和数量。综 上,应用内容对当前用户既是个性化的,由受到该用户及该用户的好 友的隐私设置的约束。
社交网络主站130继而将请求的数据或请求数据的子集传送 (470)到第三方应用服务器120。第三方应用服务器120继而生成 (480 )应用内容,诸如基于请求数据和传送的用户标识符及其它关 联数据的输出消息或者其他数据。可以理解,此应用内容对于该用户 而言是个性化的,因为该内容至少基于用户简档数据,并且可选地基 于来自该用户的好友的用户简档的信息。生成的结果继而从第三方应用服务器120被传送(495 )到社交网络主站130,在此显示(495 ) 该结果。
在社交网络主站130与第三方应用服务器120之间传送用户简档 数据允许第三方应用服务器120基于社交网络主站130所存储的用户 数据来定制与该用户的交互。这允许第三方应用服务器120向社交网 络站点用户提供更为相关的信息或服务,改进社交网络站点用户与第 三方应用服务器120之间的交互。
例如,假设第三方应用被配置为提供播放用户最喜欢的歌曲的功 能,那么, 一起从社交网络主站130获取数据将允许该应用附加地播 放该社交网络站点用户的一个或多个好友最喜欢的歌曲。可以理解, 此信息将针对每个用户独立地定制,因为每个用户具有用户数据以及 好友的唯一组合。通过以此方式来个性化设置应用内容,与仅仅播放 在整个社交网络主站中最流行歌曲的一般性应用相比,该应用显然更 为有趣且与用户更为相关。这是因为用户对他其好友感兴趣的东西要 比对该用户不认识的其他用户感兴趣的东西更感兴趣。另外,社交网 络主站130想第三方应用服务器120提供对用户简档数据的访问允许 第三方应用服务器120最初便向用户显示社交上相关的信息,而不是 请求用户向第三方应用服务器120提供附加的数据,从而简化了用户 与第三方应用服务器120的交互。
图5示出了示出用于向第三方应用服务器120提供对来自社交网 络主站130的用户数据的访问的备选方法的事件图。图5中描述的动 作可以由执行? 1起所述操作的指令的处理器实现。本领域的技术人员 将认识到一个或多个操作可以在硬件和/或软件或其组合的实施方式 中实现。例如,用于执行所描述操作的指令嵌入或存储在计算机可读 存储介质中。其它实施方式可以包括与这里所描述的步骤不同和/或附 加的步骤。
首先,第三方应用服务器120从客户端设备110接收(510)访 问应用的请求。例如,客户端设备IIO用户提供用于访问第三方应用 服务器120的URI或其它应用请求,其标识了由第三方应用服务器120提供的应用。例如,客户端设备110用户提供用于访问第三方应用服务器120的URI,其标识由第三方应用服务器120提供的应用,例如标识所请求应用的URI。第三方应用服务器120继而确定与所请求的应用相关联的应用标识符310。例如,第三方应用服务器120从URI或其它应用请求中提耳又应用标识符310。第三方应用服务器120继而经由网络U 0将与所请求应用相关联的应用标识符310以及访问请求传送(520)到社交网络主站130。访问请求标识了由社交网络主站130存储的、与该请求用户相关联的用户简档数据的子集。备选地,第三方应用服务器120将应用标识符310传送(510)到社交网络主站130,其通过访问应用标识才莫块270来标识与应用标识符310相关联的标识应用数据330。
在接收应用标识符310及访问请求之后,社交网络主站130确定(530)与该请求用户相关联的用户标识符。在一个实施方式中,社交网络主站130向客户端设备IIO传送消息,请求用户使用登录或者
其它用户凭证。备选地,来自第三方应用服务器120的访问请求包括指定社交网络网站成员的用户凭证,如用户名及密码。社交网络主站130继而通过认证所提供的用户凭证来确定(530)用户。
社交网络主站130还确定(540)是否允许第三方应用服务120访问用户简档中包括的数据。如上文结合图4所述,从社交网络主站130向应用服务器120提供的数据可以包括来自用户简档的任何数据,以及来自用户好友的用户简档的信息。在一个实施方式中,所提供的应用数据300限于依照用户隐私设置以及根据用户好友的隐私设置可用的数据。在一个实施方式中,这实现如下。首先,社交网络主站130如上文所述获得所有用户数据以及用户好友的数据。然后社交网络主站130评估请求用户的用户简档的一个或多个隐私设置,以确定(540 )第三方是否能够访问第三方应用服务器120请求的数据。这允许请求用户通过修改隐私设置来调整用户简档中的哪些数据可由第三方应用访问。因此,第三方应用服务器120仅能够从用户简档
22访问某些用户选定的数据。类似地,如果第三方应用服务器120请求来自附加用户(如,请求用户的好友)的数据,则检查该附加用户的
隐私设置。这防止第三方应用服务器120从附加用户接收附加用户没有公开的信息。因此,虽然社交网络主站130允许第三方应用服务器120访问从社交网络主站130访问与请求用户相关联的信息,但是可访问的信息受到用户隐私设置的限制,这允许不同用户调整第三方应用服务器120可访问信息的类型和数量。综上,应用内容对当前用户而言是个性化的,并且受到用户及用户好友的隐私设置的约束。
如果社交网络主站130确定(540)第三方应用服务器120允许访问请求用户的用户简档数据,则社交网络主站130将用户标识符传送(550)到第三方应用服务器120。除了提供用户标识符之外,社交网络主站130还将会话密钥传送(550)到第三方应用服务器120。会话密钥与特定用户及会话唯 一 地相关联,并且用于标识随后社交网络主站130与第三方应用服务器120之间的数据交换。该会话密钥结合图4在上文进一步描述。第三方应用服务器120继而利用从社交网络主站130接收到的消息来生成(560 )结果,如输出消息。
在生成(560)结果时,第三方应用服务器120可以从社交网络主站130请求与请求用户或与请求用户相关联的其他用户相关联的附加数据。这种对附加数据的请求已在上文结合图4进行了描述。生成的结果继而由第三方应用服务器120显示。备选地,结果从第三方应用服务器被传送(5 80 )到社交网络主站13 0,这允许使用与社交网络网站相关联的接口或显示器来显示结果。因此,用户可以使用第三方应用服务器120或者使用社交网络主站130来请求应用,并且第三方应用120访问由社交网络主站130维护、并与请求用户相关联的信息。这允许第三方应用服务器120基于来自社交网络主站130的数据来定制或个性化设置提供给请求用户的信息或服务。
已经关于有限数目的实施方式非常详细地描述了本发明。本领域技术人员将认识到还可以在其它实施方式中实现本发明。首先,部件的特定命名、术语的大写、属性、数据结构或者任何其它编程或者结构方面并非强制性或者实质性的,而实施本发明或者其特征的机制具有不同名称、格式或者协议。另外,可以如所述那样经由硬件和软件的组合或者完全用硬件单元实施系统。在这里描述的各种系统部件之
间的特定功能性划分也仅为示例性的而并非强制性的;由单个系统部
件执行的功能可以代之以由多个部件执行,而由多个部件执行的功能可以代之以由单个部件执行。另外,虽然前面的实施方式已经在社交网络的环境中描述了,但是可以理解,本领域的普通技术人员将本发明用于任何社交网络服务,甚至不通过网站提供。提供社交网络功能性的系统可以依照甚至依赖本发明使用,例如,在电子邮件上、即时消息或点到点通信的任何其它形式、或用于用户间通信的任何其它技术。用于提供社交网络功能性的系统包括分布的计算机系统、客户端代码模块或插件、客户端-服务器架构、点到点通信系统或其它系统。因此本发明不限于任何特定类型的通信系统、网络、协议、形式或应用。
上文描述中的一些部分呈现本发明在信息操作的算法和符号表示方面的特征。这些算法描述和表示是本领域技术人员用来最有效地向本领域其它技术人员传达他们的工作本质的手段。这些操作尽管在功能上或者在逻辑上加以描述,但是被理解为由计算机程序实施。另外,也已经证实有时便于将这些操作布置称为模块或者代码设备而无损于一般性。
然而应当理解,所有这些和相似术语将与适当物理数量关联并且仅为应用于这些数量的便利标记。除非特定指明,否则如根据本讨论来说清楚的是,认识到在说明书全文中利用诸如"处理,,或者"计算
(computing)"或者"运算(calculating)"或者"确定"或者"显示"等术语的讨论指代计算机系统或者类似电子计算设备的动作和过程,该计算机系统或者类似电子计算设对在计算机系统存储器或者寄存器或者其它这样的信息存储、传输或者显示设备内表示为物理(电子)数量的数据进行操控和变换。
本发明的某些方面包括这里以算法形式描述的过程步骤和指令。应当注意本发明的过程步骤和指令可以用软件、固件或者硬件来实施并且在用软件来实施时可以被下载以驻留于由实时网络操作系统使用的不同平台上并且从这些平台来操作。
本发明也涉及一种用于执行这里的操作的装置。这一装置可以是针对所需目的而专门构造的,或者它可以包括由存储于计算机中的计算机程序有选择地激活或者重新配置的通用计算机。这样的计算机程序可以存储于计算机可读存储介质中,诸如但不限于各自耦合到计算机系统总线的适于存储电子指令的任何类型介质或者任何类型盘,其
中盘包括软盘、光盘、CD-ROM、磁光盘、只读存储器(ROM)、随机存取存储器(RAM) 、 EPROM、 EEPROM、》兹卡或者光卡、专用集成电路(ASIC)。另外,说明书中所指计算机可以包括单个处理器或者可以是利用多个处理器设计以便提高计算能力的架构。
这里给出的算法和显示并非与特定计算机或者其它装置固有地有关。各种通用系统也可以与根据这里的教导的程序一起使用,或者可以证实便于构造用以执行所需方法步骤的更专用装置。根据以上描述将清楚用于各种这些系统的所需结构。此外,没有参照任何特定编程语言来描述本发明。应该理解,各种编程语言可以用来实施如这里描述的本发明的教导,并且提供对具体语言的引用是为了公开本发明的实现方式和优选实施方式。
最后应当注意,说明书中所用语言是已经主要地出于可读性和启发
因而,本发明的公开内容旨在于说明而不是限制本发明。
权利要求
1.一种向第三方应用服务器提供访问社交网络网站所维护的用户简档数据的方法,所述方法包括在所述社交网络网站处,从用户接收访问应用的请求;标识与所述请求相关联的第三方应用服务器;确定与提供所述访问应用的请求的用户相关联的用户简档,所述用户简档包括用户标识符;以及将所述用户标识符、与所述用户标识符相关联的用户数据以及所述访问应用的请求传送至所述第三方应用服务器。
2. 根据权利要求1所述的方法,进一步包括 在所述社交网络网站处,从所述第三方应用服务器接收针对所述用户简档中包括的数据的请求;评估与所述用户简档相关联的隐私设置;将针对所述用户简档中包括的数据的所述请求同与所述用户简 档相关联的所述隐私设置进行比较;以及将所述用户简档中包括的数据的子集传送至所述第三方应用服 务器。
3. 根据权利要求2所述的方法,其中将所述用户简档中包括的 数据的子集传送至所述第三方应用服务器包括响应于所述隐私设置指示第一数据是公开可访问的,将所述第一 数据传送至所述第三方应用服务器;以及响应于所述隐私设置指示第二数据不是公开可访问的,禁止将所 述第二数据传送至所述第三方应用服务器。
4. 根据权利要求1所述的方法,其中标识与所述请求相关联的 第三方应用服务器包括乂人所述请求揭_耳又应用标识符;以及 确定与所述应用标识符相关联的第三方应用服务器地址。
5. 根据权利要求4所述的方法,其中标识与所述请求相关联的第三方应用服务器进一步包括确定与所述应用标识符相关联的应用数据,所述应用数据标识来 自所述社交网络网站的、供所述第三方应用服务器使用的数据。
6. 根据权利要求1所述的方法,其中将所述用户标识符以及所 述访问应用的请求传送到所述第三方应用服务器包括生成会话密钥,所述会话密钥标识所述社交网络网站与所述第三方应用服务器之间的数据交换;从与所述访问应用的请求相关联的用户简档提取数据子集;以及 将所述会话密钥、所述用户标识符以及来自所述用户简档的所述数据子集传送至所述第三方应用服务器。
7. 根据权利要求1所述的方法,进一步包括 从所述第三方应用服务器接收应用内容,所述应用内容是基于所述用户标识符和所述用户数据而针对所述用户配置的。
8. —种在社交网络网站与第三方应用服务器之间共享用户简档 数据的方法,所述方法包括在所述第三方应用服务器处,从用户接收访问应用的请求; 向所述社交网络网站传送应用标识符和访问请求,以接收来自由所述社交网络网站维护的用户简档的数据,所述用户简档与所述用户相关联;接收由所述社交网络网站维护的所述用户简档中包括的数据的 子集;以及基于由所述社交网络网站维护的所述用户简档中包括的数据的 所述子集,生成针对所述用户个性化设置的应用内容。
9. 根据权利要求8所述的方法,其中,响应于所述用户简档中 包括的数据的所述子集而生成输出,包括从所述第三方应用服务器向所述社交网络网站传送针对所述用 户简档中包括的附加数据的请求;以及从所述社交网络网站接收所述用户简档中包括的所述附加数据 的子集。
10. 根据权利要求9所述的方法,其中来自所述社交网络网站的 所述用户简档中包括的所述附加数据的所述子集包括被所述社交网 络网站中包括的隐私设置分类为可公开访问的数据。
11. 一种用于在社交网络网站与第三方应用服务器之间共享用户简档数据的系统,所述系统包括简档存储,其包括针对所述社交网络网站的多个用户中每一个的 用户简档,每个简档标识与所述社交网络网站的多个其他用户中每一 个的连接;应用标识模块,其适于与所述简档存储通信,所述应用标识模块 包括多个应用简档,每个应用简档包括应用标识符、应用i也址和应用 数据,所述应用数据标识来自简档的数据;以及通信模块,其适于与所述应用标识模块和所述简档存储通信,所述通信模块接收目标应用标识符和请求简档,并且将与所述请求简档 相关联的数据传送至与所述目标应用标识符相关联的应用地址。
12. 根据权利要求11所述的系统,其中所述简档存储包括与每 个简档相关联的隐私设置,所述隐私设置指示每个简档中可公开访问 的数据。
13. 根据权利要求12所述的系统,其中所述通信模块响应于与 所述请求简档相关联的隐私设置来传送与所述请求简档相关联的数 据。
14. 根据权利要求13所述的系统,其中所述通信模块传送与所 述请求简档相关联的、被指示为可公开访问的数据,而不传送与所述 请求简档相关联的、未被指示为可公开访问的数据。
全文摘要
社交网络网站维护针对每个网站用户的简档。该简档包括与用户相关联的数据,例如与社交网络网站的多数其他用户中一个或多个的连接或者用户偏好。社交网络网站与一个或多个第三方应用服务器通信,用于向社交网络网站用户提供一个或多个应用。当社交网络网站用户请求由第三方应用服务器提供的应用时,社交网络网站向第三方应用服务器传送该用户的简档的子集,允许第三方应用服务器使用此简档数据来个性化设置针对该用户而执行的应用。与用户简档相关联的隐私设置允许社交网络网站限制与第三方应用服务器传送的简档数据。
文档编号G06Q10/00GK101681459SQ200880019930
公开日2010年3月24日 申请日期2008年6月12日 优先权日2007年6月12日
发明者A·丹格罗, A·斯泰恩伯格, C·奇维尔, J·王, M·斯利 申请人:费斯布克公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1