在站点上组织社交活动信息的制作方法

文档序号:19615477发布日期:2020-01-07 08:05阅读:214来源:国知局
在站点上组织社交活动信息的制作方法

本申请是专利申请号201180022896.8的分案申请。

交叉引用

本申请要求来自如下美国临时专利申请的优先权,通过引用将其合并于此:序列号61/316,828,2010年3月23日提交并且名称为“socialfeedforvideosite”。

本发明涉及一种在网络上提供视频的系统和方法。特别地,本发明涉及在站点上组织社交活动信息。



背景技术:

在网站上共享视频内容已经发展成世界范围的现象,受到数十万网站的支持。诸如youtubetm的视频托管站点,目前具有上百万用户和上千万的视频。视频托管站点的用户可对他/她的朋友的活动(例如,观看视频、上传视频等)感兴趣,以便他/她能够确定视频以至少部分基于他/她朋友的活动进行观看。基于朋友的活动向用于推荐视频的现有系统具有大量问题。

现有方案中存在的第一个问题在于它们没有以有组织的并且有用的方式呈现朋友的活动。例如,如果用户具有200个朋友并且每个朋友在一天中观看5个视频(对于总共1000个供用户的朋友观看的视频),则难以以有意义的方式向用户呈现1000个活动。该问题由于视频托管站点的有限显示空间而进一步受到阻碍。

现有方案中存在的第二个问题在于当向用户推荐视频时它们仅依靠单个视频托管站点上的朋友活动。如果用户的朋友正在多个网站上观看视频,则该用户在观看与所述用户的朋友相同的许多视频方面会有所遗漏。



技术实现要素:

本发明的实施例通过在站点上组织社交活动信息至少部分地克服了现有技术的缺陷和限制。在一个实施例中,在一个实施例中,系统包括馈送(feed)服务模块和呈现模块。所述馈送服务模块被配置为从至少一个第三方源接收至少一个第一用户的社交活动。所述馈送服务模块聚合所述社交活动信息以形成经聚合社交活动信息。所述呈现模块通信地耦合到所述馈送服务模块,并被配置为从所述馈送服务模块接收所述经聚合社交活动信息。所述呈现模块生成与所述经聚合社会活动信息相关联的馈送显示并且将馈送显示发送给客户端,以显示给第二用户。

附图说明

通过示例的方式而不是通过限制所附附图中的图的方式示出本发明,在所附附图中,相似的附图标记用于指代相似的元件。

图1是示出根据一个实施例在网站上组织社交活动信息的系统的高级框图。

图2是示出根据一个实施例的馈送服务模块(feedservingmodule)的框图。

图3是根据一个实施例的至少部分基于公共用户聚合社交活动信息的方法的流程图。

图4是根据一个实施例的至少部分基于公共视频聚集社交活动信息的方法的流程图。

图5是根据一个实施例的至少部分基于公共用户和公共视频聚集社交活动信息的方法的流程图。

图6是根据一个实施例的过滤社交活动信息的方法的流程图。

图7是根据一个实施例的向用户提供视频推荐的方法的流程图。

图8是根据一个实施例的排序社交反馈的方法的流程图。

图9描述根据一个实施例的在网站上组织社交信息的系统。

图10到图26描述根据一个或更多个实施例的由视频托管站点生成的图形用户界面的屏幕截图。

图27描述根据一个实施例的在网站上组织社交信息的系统。

图28描述根据一个实施例的在网站上组织社交信息的系统。

图29到图30描述根据一个或更多个实施例的由视频托管站点生成的图形用户界面的屏幕截图。

具体实施方式

下面描述在网站上组织社交活动信息的系统和方法。在下述描述中,出于说明的目的,为了提供对本发明的实施例的彻底理解,阐述了许多特定细节。然而,将明显的是,对于本领域技术人员而言,本发明可在不考虑这些特定细节的情况下实践。在其他情况下,为了避免模糊本发明而以框图形式示出结构和设备。例如,参考用户接口和特定硬件,在下面一个实施例中描述本发明。然而,本发明应用于能够接收数据和命令的任何类型的计算设备,以及提供服务的外围设备。

说明书中涉及的“一个实施例”或“一种实施例”表示与包括在本发明的至少一个实施例中的实施例关联描述的特定特征、结构或特性。在说明书各个地方出现的短语“在一个实施例中”不必全部涉及同一实施例。

随后详细描述的一些部分以算法和计算机存储器内的数据比特上的运算的符号表示的形式呈现。这些算法描述和表示是在数据处理领域供本领域技术人员使用的含义,以更加有效地将他们工作的实质传达给本领域其他技术人员。在这里,算法通常设想为是导致所希望的结果的步骤的自洽序列。步骤是那些需要物理量的物理操作。尽管不是必须的但是通常这些量采取能够存储、传输、组合、比较或者操作的电或磁信号的形式。已经被多次证明这是方便的,主要是出于共同使用的目的,将这些信号称为比特、值、元素、符号、字符、术语、数字等。

然而,应该牢记所有这些和类似的术语是要与合适的物理量相结合,并且仅仅是应用于这些量的方便的标签。除非特别声明,否则从下面的讨论可知,可以理解在整个说明书中,利用诸如“处理”或“计算”或“计算”或“确定”或“显示”等的术语的讨论,指代计算机系统或类似的电子计算设备的动作或过程,所述计算机系统或类似的电子计算设备操作,并且将表示计算机系统寄存器和存储器内的物理(电子)量的数据转换成其他数据,类似地表示为计算机系统存储器或寄存器内的物理的数据。

本发明还涉及一种用于执行本发明的操作的装置。该装置可以被特别地构造以用于所需目的,或者它可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用目的的计算机。这样的计算机程序可存储在诸如(但不限于)包括软盘、光盘、cd-rom以及磁盘的任何类型的光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁或光卡、包括具有非易失性存储器的usb密钥的闪存、或适合于存储电子指令的任何类型的介质的计算机可读存储介质中,各个计算机可读存储介质均耦合到计算机系统总线。

本发明可以采取完全硬件实施例,完全软件实施例的形式,或者包含硬件元件和软件元件二者的实施例。在优选的实施例中,本发明以软件实现,其包括但不限于固件、常驻软件、微代码等。

此外,本发明可以采取能够从提供程序码的计算机可用或计算机可读介质访问访问的计算机程序产品,以供计算机或任何指令执行系统使用或与计算机或任何指令执行系统相结合。对于本说明书的目的,计算机可用或计算机可读介质可以是可以包含、存储、通信、传播、或传送供指令执行系统、装置、或设备使用或与指令执行系统、装置、或设备相结合的程序的任何装置。

适合用于存储和/或执行程序代码的数据处理系统将包括通过系统总线直接或间接耦合到存储器元件的至少一个处理器。存储器元件可包括在程序代码的实际执行期间所采用的本地存储器、大容量存储装置以及高速缓冲存储器,该高速缓冲存储器提供至少一些程序代码的临时存储,以减少在执行期间必须从大容量存储装置获取代码的次数。

输入/输出或i/o设备(包括但不限于键盘、显示器、指点设备等)可以直接地或通过中间i/o控制器耦合到系统。

网络适配器也可以耦合到系统,以使数据处理系统通过中间私有或公共网络,来耦合到其他数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡只是网络适配器的一些目前可用的类型。

最后,本文呈现的算法和显示并不内在地与任何特定的计算机或其他装置有关。各种通用目的的系统可以根据本文的教导与程序一起使用,或者可证明便于构造更专门的装置以执行所需的方法步骤。将从下面的描述中描述针对各种这些系统所需的结构。此外,未参考任何特定的编程语言描述本发明。将会理解,各种编程语言可以用来实现如本文所描述的本发明的教导。

系统概述

图1是示出根据一个实施例的在网站上组织社交活动信息的系统105的高级框图。网站的示例包括但不限于:视频托管站点、在线公告板、社交网站和与社交网络特征集成的视频托管站点。所示的系统105实施例的包括:视频托管站点100、内容提供商118、客户端120和第三方站点128。视频托管站点100、内容提供商118、客户端120和第三方站点128经由网络122通信地耦合。例如,视频托管站点100、内容提供者118、第三方站点128和客户端120经由网络122通信地耦合,以促进与客户端120类似的客户端设备的用户之间信息(例如,视频内容)的共享。尽管只示出了一个内容提供商118,一个客户端120和一个第三方站点128,但是本技术领域技术人员将认识到,任何数目的内容提供者118、客户端120和第三方站点128都能够可通信地耦合到网络122。此外,虽然只有一个网络122耦合到第三方站点128、客户端120、内容提供商118和视频托管站点100,但是技术领域技术人员将理解,任何数目的网络122都能够连接到第三方站点128、客户端120和视频托管站点100。

网络122是一个常规类型的网络(有线或无线的),并且可以具有任意数目的配置,诸如星型配置、令牌环配置或本领域技术人员已知的其他配置。在一个实施例中,网络122包括一个或更多个局域网(lan)、广域网(wan)(例如,因特网)、和/或多个设备跨过其通信的任何其他互连数据通路。在另一个实施例中,网络122是对等网络。在一个实施例中,网络122耦合到通信网络的一部分或包括通信网络的一部分,以按照各种不同的通信协议发送数据。例如,网络是3g网络或4g网络。在又一个实施例中,网络122包括蓝牙通信网络或蜂窝式通信网络,以经由如下方式发送和接收数据:短消息服务(sms)、多媒体消息服务(mms)、超文本传输协议(http)、直接数据连接、无线应用协议(wap)、电子邮件等。在又一个实施例中,使用诸如安全套接字层(ssl)、安全http和/或虚拟私人网络(vpn)的常规加密技术对网络122内的全部或一些链接进行加密。

在所示的实施例中,网络122经由信号线107通信地耦合到视频托管站点100。网络122经由信号线101通信地耦合到内容提供商118。网络122经由信号线103通信地耦合到客户端120。网络122经由信号线105通信地耦合到第三方站点128。

第三方站点128是能够供诸如客户端120的客户端设备的用户访问的任何网站。例如,第三方站点128是社交网络站点、第三方视频托管站点、与社交网络特征集成的视频托管站点、在线公告板等。在一个实施例中,第三方站点128是系统105的可选特征。

视频托管站点100是允许用户经由搜索和/或浏览界面来访问视频内容的任何系统。视频托管站点100的示例是在www.youtube.com找到的youtubetm网站。其他视频托管站点也是已知的,并且适于根据本文公开的教导进行操作。将理解,术语“网站”表示适于使用任何因特网工作协议来供应内容的任何计算机系统,而不旨在限于经由因特网或http协议上传或下载的内容。

在一个实施例中,视频托管站点100上的视频内容的源来自用户上传视频、视频的其他网站或数据库的搜索或缓慢行进等,或其任何组合。例如,在一个实施例中,视频托管站点100配置为允许用户上传视频内容。在另一个实施例中,视频托管站点100配置为通过实时地爬取此类源或者搜索此类源,来从其他源获得视频。

为了简化并且澄清本发明,由视频托管站点100接收并且共享的视频内容将被称为视频、视频文件或视频项。本领域技术人员将认识到的是,视频托管站点100能够接收并且共享任何介质类型和文件类型的内容。例如,视频托管站点100共享诸如视频、音频、视频与音频的组合、诸如jpeg或gif文件和/或文本文件的图像等的内容。

视频托管站点100通信地耦合至网络122。在所示的实施例中,视频托管站点100包括:前端接口102、视频服务模块104、视频搜索模块106、上传服务器108、呈现模块110、缩略图生成器112、用户数据库114、视频数据库116、馈送服务模块124以及馈送数据库126。视频托管站点100的组件彼此通信地耦合。诸如防火墙、负载平衡、认证服务器、应用服务器、故障恢复(failover)服务器、站点管理工具等的其他常规特征未示出,从而不模糊系统的特征。在一个实施例中,视频托管站点100的所示组件实现为单个软件或硬件或多个软件或硬件。通常,在一个实施例中描述的作为由一个组件执行的功能,在其他实施例中也能够由其他组件执行,或者通过组件的组合执行。此外,在一个实施例中描述的作为由视频托管站点100的组件执行的功能,在适当的情况下在其他实施例中由一个或更多个客户端120或内容提供商118执行。在一个实施例中,归因于特定组件的功能由一起操作的不同或多个组件执行。

视频托管站点100上的各种服务器和模块中的每一个均实现为在服务器级计算机上执行的服务器程序,所述服务器级计算机包括一个或更多个中央处理单元(“cpu”或多个情况下的“多个cpu”)、存储器、网络接口、外围接口以及其他已知组件。在一个实施例中,计算机本身允许运行诸如linux的开源操作系统,具有一个或更多个cpu,十亿字节或更多个的存储器、以及一千亿万或更多光盘存储装置。在一个实施例中,使用其他类型的计算机,并预期在将来开发的更强大的计算机,它们根据本文所公开的教导配置。在另一个实施例中,由任何元件实现的功能根据计算机程序产品提供,所述计算机程序产品被存储在一个或更多个有形的、非临时性的计算机可读存储介质(例如,随机存取存储器(“ram”),闪存,固态驱动(“ssd”),硬盘驱动,光学/磁介质等)。

前端接口102是经由网络122处理提供与内容提供商118和/或客户端120的通信的接口。例如,前端接口102接收从内容提供商118上传的视频文件,并且将所述视频文件传递给上传服务器108。在一个实施例中,前端接口102接收来自客户端120的用户的请求,并且将所述请求传递给视频托管站点100的其他组件(例如,视频搜索模块106、视频服务模块104等)。例如,前端接口102接收来自用户的视频搜索查询,并且将所述视频搜索查询发送到视频搜索模块106。

上传服务器108经由前端接口102接收来自内容提供商118的视频文件。在一个实施例中,上传服务器108处理视频文件并且将视频文件存储在视频数据库116中。例如,上传服务器108向视频分配视频识别(视频id),并将视频和视频id存储在视频数据库116中。由上传服务器108处理的视频文件的另一个示例包括执行以下一个或多个:格式化、压缩、元数据标记和内容分析等。

视频数据库116是一种存储系统,其用于存储视频由视频托管站点100与用户共享的文件。在一个实施例中,视频数据库116存储由上传服务器108处理的视频文件。在另一个实施例中,视频数据库116存储视频文件的元数据。例如,视频数据库116存储以下一个或多个:标题、描述、标签信息和视频文件的管理权利。视频文件的管理权利包括以下一个或多个:删除视频文件的权利、编辑关于视频文件的信息的权利、和将视频文件与广告相关联的权利等。在一个实施例中,由内容提供商118提供视频文件的元数据的一些或全部。例如,内容提供商118在将视频上传至视频托管站点100时提供视频的标题和简短说明。

视频搜索模块106是当由处理器(未示出)执行时,处理由前端接口102从用户接收到任何的搜索查询的代码和例程。来自用户的搜索查询包括诸如关键字的搜索条件,例如,识别用户有兴趣观看的视频。在一个实施例中,视频搜索模块106使用搜索条件查询存储在视频数据库116中视频文件的元数据,并且经由前端接口102向用户返回搜索结果。例如,如果用户经由前端接口102向视频搜索模块106提供关键字搜索查询,则视频搜索模块106识别存储在视频数据库116中的与关键字相匹配的视频,并且经由前端接口102向用户返回搜索结果(例如,视频id、标题、描述、所识别的视频的缩略图)。

视频服务模块104是当由处理器(未示出)执行时,处理视频请求并且将视频供应给用户的代码和例程。例如,视频服务模块104从用户接收观看视频的请求,基于请求的至少部分从视频数据库116中检索视频,并且经由前端接口102向用户呈现视频。

在一个实施例中,视频服务模块104接收来自用户的请求以在用户点击去往视频的链接时访问该视频。从用户接收到的请求包括视频的视频id。在一个实施例中,一旦用户点击针对视频的链接,视频id就自动包括在请求中。视频服务模块104使用视频id以搜索和定位视频数据库116中的视频。一旦所请求的视频被定位,视频服务模块104就经由前端接口102向用户发送该视频。在一个实施例中,视频在web浏览器上呈现给用户。诸如视频的标题和描述的与视频相关联的元数据也呈现给用户。在一个实施例中,在向用户发送视频之后,视频服务模块104将视频的视频id存储在用户数据库114中,以便将用户的视频观看历史存储在用户数据库114中。

用户数据库114是一种存储系统,其用于存储与任何用户相关联的数据和/或信息。例如,用户数据库114存储由用户上传的视频文件的视频id,以便在用户数据库114中保持用户的视频上传历史。用户数据库114还存储用户已经从视频数据库116访问以进行观看的视频文件的视频id,以便将用户的视频观看历史存储在用户数据库114中。在一个实施例中,通过使用一个唯一的用户名和密码和/或通过使用用户的因特网协议地址来识别用户。

缩略图生成器112是生成针对视频的缩略图的代码和例程。缩略图是代表视频托管站点100上的视频的图像。例如,缩略图生成器112对视频进行分析,并从视频中选择一帧作为缩略图。在一个实施例中,缩略图生成器112提供针对视频的一个或多个图像,并允许发布者(例如,上传视频的用户)选择一个图像作为缩略图。

馈送数据库126是存储生成用户反馈所需数据的存储系统。参照反馈服务模块124在下面更详细描述用户反馈。在馈送数据库126中存储的数据包括社交反馈。社交反馈是描述由一个或多个用户在视频托管站点100和/或第三方站点128上执行的一个或更多个活动的数据。在一个实施例中,社交反馈由馈送服务模块124和/或存储在前端接口102上的一个或更多个模块处理,以产生用户反馈。在一个实施例中,社交反馈是数据反馈,其包括对由一个或多个用户在视频托管站点100上执行的活动的描述、和对由一个或多个用户在第三方站点128上执行的活动的描述(例如,社交网站、第三方视频托管站点、与社交网络特征集成的视频托管站点、在线公告板等)。在一个实施例中,馈送数据库126存储社交反馈的全部或子集。

活动是在视频托管站点100和/或第三方网站128上采取的行动。活动的示例包括:观看视频、评论视频、在第三方网站128共享视频、评级视频等级、将视频标记作为喜爱的视频、将视频标记作为喜欢的视频、上传视频、订阅视频频道、向播放列表添加视频、管理播放列表、编辑简档信息和/或管理私人设置等。在一个实施例中,由用户执行的活动与用户输入相关联。例如,如果用户通过点击“播放”按钮观看视频,则通过视频托管站点100接收针对活动“观看视频”的用户输入。

在一个实施例中,社交馈送包括对一个或更多个已经在视频托管站点100上执行的所有现场(onsite)活动的描述。在一个实施例中,视频托管站点100仅在用户许可的情况下收集此信息,并根据用户给出的许可使用任何收集的信息。例如,在用户已经给出视频托管站点100许可以允许这样做的情况下,视频托管站点100仅基于用户的信息向用户的朋友给出建议。现场活动是由用户在视频托管站点100执行的任何活动。例如,社交馈送包括以下一个或更多个:在视频托管站点100上上传视频;在视频托管站点100上观看视频;以及在视频托管站点100上将视频标记作为最喜爱的视频等等。在一个实施例中,社交馈送包括对一个或更多个用户已经在视频托管站点100上执行的现场活动的子集的描述。

在另一个实施例中,社交馈送包括对一个或更多个用户已经在诸如第三方站点128的第三方站点上执行的所有非现场(offsite)活动的描述。在一个实施例中,视频托管站点100仅在用户许可的情况下收集此信息。非现场活动是在第三方站点128上执行的活动。例如,如果用户将他/她在视频托管站点100的账户连接到他/她在第三方站点128的账户,并且允许所述视频托管站点100监视他/她在活动第三方站点128上的活动,则第三方站点128上的所有他/她的活动都通过所述视频托管站点100收集并且包括在社交馈送中。在一个实施例中,社交馈送包括对一个或更多个用户在第三方站点128上已经执行的非现场活动的子集的描述。

在又一实施例中,社交馈送包括对一个或更多个用户的所有现场活动和非现场活动的描述。在一个实施例中,视频托管站点100仅在用户许可的情况下收集此信息。在一个实施例中,社交馈送包括一个或更多个用户在视频托管站点100上已经执行的现场活动的子集的描述,和/或对一个或更多个用户在第三方站点128上已经执行的非现场活动的子集的描述。

馈送服务模块124是处理在视频托管站点100和/或第三方站点128上所执行的活动的代码和例程。例如,馈送服务模块124实时监视在视频托管站点100和/或第三方站点128上执行的活动,并且实时处理所述活动。在一个实施例中,馈送服务模块124从存储在馈送数据库126中的社交馈送中检索活动。在另一实施例中,馈送服务模块124实时地检索活动。例如,馈送服务模块124实时监视视频托管站点100和/或第三方站点128上的活动。馈送服务模块124存储对实时活动的描述,以便于稍后用作馈送数据库126中的社交馈送的一部分。

在一个实施例中,馈送服务模块124接收一个或更多个用户输入,该一个或者多个用户输入是针对在视频托管站点100和/或第三方站点128上执行的一个或更多个活动。所述一个或更多个用户输入与描述一个或更多个活动的社交活动信息相关联。馈送服务模块124至少部分地基于一个或更多个用户输入聚合社交活动信息,以生成经聚合社交活动信息作为输出,并且将所述经聚合社交活动信息提供给用户。在另一个实施例中,馈送服务模块124至少部分地基于一个或更多个用户输入来过滤社交活动信息,并且生成经过滤社交活动信息作为输出。馈送服务模块124将经过滤社交活动信息提供给用户。在又一实施例中,馈送服务模块124至少部分地基于一个或更多个用户输入确定视频推荐。馈送服务模块124将视频推荐提供给用户。视频推荐是向用户推荐的视频。例如,馈送服务模块124至少部分地基于用户的观看历史向用户推荐视频。在又一实施例中,馈送服务模块124对包括一个或更多个活动的社交馈送进行排序,并且形成经排序馈送作为输出。馈送服务模块124将经排序馈送提供给用户。

在一个实施例中,馈送服务模块124被配置为从馈送数据库126中检索的社交馈送,处理所述社交馈送并作为处理所述社交馈送的输出形成用户馈送。例如,馈送服务模块124接收包括在社交馈送内的一个或更多个活动,并且处理所述的一个或更多个活动以形成用户馈送。用户馈送是由于对社交馈送进行处理而导致的数据和/或信息的馈送。在一个实施例中,用户馈送包括如下一个或更多个:经聚合社交活动信息、经过滤社交活动信息、视频推荐和经排序馈送。在一个实施例中,用户馈送存储在馈送数据库126中。下面参考图2进一步详细描述馈送服务模块124。

呈现模块110是当由处理器(未图示)执行时,向诸如客户端120的对应客户端设备来呈现旨在针对用户的任何信息的代码和例程。例如,呈现模块110生成与信息相关联的图形,并经由前端接口102和网络122将所述图形发送到安装在客户端120中的web浏览器(未图示)。在一个实施例中,旨在针对用户的信息包括用户馈送。在另一个实施例中,旨在针对用户的信息包括用户馈送的子集。例如,旨在针对用户的信息包括以下一个或更多个:经聚合社交活动信息、经过滤社交活动信息、视频推荐和经排序馈送。

内容提供商118是向视频托管站点100提供视频文件的任何设备。例如,内容提供商118是用于将视频文件上传到视频托管站点100的计算设备。内容提供商118通信地耦合到网络122。在一个实施例中,内容提供者118也是客户端120。在另一实施例中,内容提供商118是对视频托管站点100进行操作的同一实体。

在一个实施例中,内容提供商118被配置成由用户操作以执行各种的内容提供商功能。内容提供商功能的示例包括但不限于:上传视频到视频托管站点100;编辑由视频托管站点100所存储的视频;从视频托管站点100去除视频以及编辑与视频相关联的内容提供商偏好。

客户端120是任何基于处理器的计算设备。客户端120存储并执行诸如web浏览器的客户端软件,并且使用所述客户端软件经由网络122连接到视频托管站点100。在一个实施例中,客户端120包括各种不同的计算设备。客户端120的示例包括但不限于:个人计算机、个人数字助理、电视设置盒、平板计算机、智能手机和膝上型电脑。客户端120包括一个或更多个处理器(未图示),存储器(未图示)和计算设备惯用的其他部件。在一个实施例中,客户端120通信地耦合到网络122。

在一个实施例中,配置客户端120作为内容提供商118以向视频托管站点100提供视频文件。在另一实施例中,客户端120配置为观看由视频托管站点100提供的视频。例如,客户端120包括适于在视频托管站点100中使用的视频文件格式的嵌入式视频播放器(例如,来自adobe系统公司的flashtm播放器),以便用户能够使用客户端120中的嵌入式视频播放器观看来自视频托管站点100的视频。

前端接口102、视频服务模块104、视频搜索模块106、上传服务器108、呈现模块110、缩略图生成器112、、用户数据库114、视频数据库116、馈送服务模块124和馈送数据库126经由一个或更多个信号线彼此通信地耦合。在一个实施例中,前端接口102、视频服务模块104、视频搜索模块106、上传服务器108、呈现模块110、缩略图生成器112、、用户数据库114、视频数据库116、馈送服务模块124和馈送数据库126经由总线彼此通信地耦合(未图示)。

馈送服务模块

图2是示出根据一个实施例的馈送服务模块的框图。在所示的实施例中,馈送服务模块124包括:聚合模块202、过滤器模块204、推荐模块206、馈送排序模块208以及活动监视器模块210。这里,聚合模块202、过滤器模块204、推荐模块206和馈送排序模块208通过由虚线形成的矩形描绘以指示:在一个实施例中,一个或更多个的聚合模块202、过滤器模块204、推荐模块206和馈送排序模块208被包括在馈送服务模块124内;而在另一实施例中,一个或更多个的聚合模块202、过滤器模块204、推荐模块206和馈送排序模块208被包括在前端接口102内。例如,在一个实施例中,聚合模块202和过滤器模块204被包括在馈送服务模块124内,而推荐模块206和馈送排序模块208被包括在前端接口102内。

馈送服务模块124经由信号线201通信地耦合到前端接口102。例如,在一个实施例中的馈送,馈送服务模块124经由信号线201向前端接口102发送用户馈送,并且前端接口102经由上述参考图1描述的网络122将用户馈送传递到客户端120。馈送服务模块124还经由信号线203耦合到视频数据库116,经由信号线205耦合到用户数据库114,并且经由信号线207耦合到馈送数据库126。例如,馈送服务模块124经由信号线207从馈送数据库126检索描述社交馈送的信息,至少部分地基于描述社交馈送的信息生成描述用户馈送的信息,并且经由信号线207将描述用户馈送的信息存储在馈送数据库126上。在一个实施例中,馈送服务模块124经由信号线205从用户数据库114中检索用户的视频观看历史。例如,馈送服务模块124经由信号线205从用户数据库114中检索用户所观看的视频文件的视频id。在另一实施例中,馈送服务模块124经由信号线203从视频数据库116中检索视频id和与所述视频id相关联的视频的元数据(例如,视频的标题、描述等)。例如,馈送服务模块124经由信号线203从视频数据库116中检索视频id和与推荐给用户的视频相关联的元数据,并且向呈现模块110发送视频id和元数据用以向用户呈现。

聚合模块202是聚合社交活动信息的代码和例程。例如,聚合模块202检索针对一个或更多个活动的一个或更多个用户输入,处理所述一个或更多个用户输入以聚合与该一个或更多个用户输入相关联的社交活动信息,并且生成经聚合社交活动信息作为输出。在一个实施例中,聚合模块202通信地耦合到馈送数据库126,以经由信号线207从馈送数据库126中检索社交馈送。社交馈送包括一个或更多个活动。所述一个或更多个活动是在视频托管站点100和/或第三方站点128上执行的活动。在一个实施例中,代替对社交馈送进行检索,所述聚合模块经由信号线207从馈送数据库126中检索一个或更多个活动。

在一个实施例中,所述一个或更多个活动提供与用户或该用户的朋友相关联的社交活动信息。例如,所述一个或更多个活动是由一个或更多个第一用户的朋友执行的活动。在一个实施例中,所述第一用户的朋友可以是与第一用户相关联的视频托管站点100的任何第二用户,作为所述第一用户的朋友。在另一实施例中,所述第一用户的朋友包括经由社交图形连接到所述第一用户的视频托管站点100的任何第二用户。例如,如果第一用户和第二用户作为朋友相关联,并且第三用户关联为第二用户的朋友,则所述第三用户也关联为所述第一用户的朋友。在一个实施例中,这些各种友谊用于生成用户馈送并存储在馈送数据库126中。

在另一实施例中,所述一个或更多个活动提供与视频托管站点100上的一个或更多个著名视频相关联的社交活动信息。例如,一个或更多个活动描述针对著名视频而公布的一个或更多个新评论。著名视频的示例包括但不限于:最流行的视频、频繁收藏的视频和有特色的视频等。

流行的视频是已被观看预定的次数的视频,是在视频托管网站100和/或第三方站点128上受欢迎程度趋向上升的视频、和/或满足本领域中已知的用于确定流行的视频的任何其他条件的视频。例如,流行的视频是已经被观看过百万次或更多次的视频。在另一个示例中,流行的视频是趋向于受到用户的朋友或用户的社交图形的成员的欢迎的视频。视频的流行度至少部分地基于以下一个或更多个确定:视频观看计数(例如,观看视频的数目)、视频共享计数(例如,视频在一个或更多个第三方站点128上被共享的次数)、视频的用户评级、喜欢的计数(例如,喜欢的视频的数目)、不喜欢的计数(例如,不喜欢的视频的计数)和/或评论计数(例如,附加到视频的评论的数目)等等。

频繁收藏的视频是:已经被预定数目的用户选择为“最喜爱”视频的视频;在被用户的朋友或用户的社交图形的成员选择为“最喜爱”方面趋向于上升的视频;和/或满足本领域中已知的用于确定流行的视频的任何其他条件的视频。例如,频繁收藏的视频是视频已经被一百万用户选择为“最喜爱”的视频。在另一个示例中,频繁收藏的视频是趋向于被用户的朋友或用户的社交图形的成员选择为“最喜爱”的视频。

有特色的视频是托管站点100的管理员已指定为有特色视频的视频,和/或满足本领域中已知的用于确定有特色的视频的任何其他条件的视频。例如,视频的所有者付费并且将所述视频指定为有特色的视频。在其他实施例中,有特色的视频可能通过一个过程确定而不需要付费。在一个实施例中,有特色的视频是与目前正在被客户端设备120的用户(或用户的朋友)观看的视频的内容有关的视频,或与近来被客户端设备120的用户观看的一个或更多个视频有关的视频。在一个实施例中,有特色的视频是从存储在视频数据库116中的内容伙伴视频的池中拉出来的视频。内容伙伴视频是由内容伙伴上传的视频。内容伙伴是与视频托管站点100的所有者具有收益共享关系的内容提供商118的用户。在一个实施例中,有特色视频至少部分地基于客户端设备120的地理位置在馈送中选择用于显示。

在一个实施例中,聚合模块202被配置为聚合社交活动信息,所述社交活动信息至少部分地基于与所述一个或更多个用户输入相关联的一个或更多个公共用户来描述所述一个或更多个活动。聚合模块202确定针对一个或更多个用户输入的一个或更多个用户。例如,聚合模块202至少部分地基于存储在用户数据库114中的所有信息(或信息的子集)和/或存储在馈送数据库126中的所有信息(或信息的子集),确定针对一个或更多个用户输入的一个或更多个用户。聚合模块202将一个或更多个用户输入分离成一个或更多个组,以便每个组都具有公共用户。聚合模块202至少部分地基于公共用户聚合针对用户输入的每个组的社交活动信息。请注意,在多个实施例中,用户已选择将他们的活动用作聚合的一部分。

例如,聚合模块202接收针对四个活动的四个用户输入。每个用户输入针对不同的用户活动,以便总共有四个用户输入以及四个活动,所述四个活动中的每一个由四个用户输入中的不同一个代表。第一和第二用户输入由所述第一用户的第一个朋友(例如,第一个朋友是名为“alice”的用户)提供。第三和第四用户输入由所述第一用户的第二个朋友(例如,第一个朋友是名为“bob”的用户)提供。聚合模块202至少部分地基于公共用户将四个用户输入划分为两组,以便第一组包括由alice提供的第一和第二用户输入,并且第二组包括由bob提供的第三和第四用户输入。第一组的公共用户是alice。第二组的公共用户是bob。聚合模块202单独聚合用户输入的每个组。例如,如果用户输入的第一组描述alice将两个不同的视频上传到视频托管站点100,则聚合模块202聚合用户输入的第一组作为“alice已经上传了两个新视频”。针对bob发生类似的聚合,例如,“bob已经评论了两个视频”。这种聚合的结果是:所有alice的活动都被聚合到第一聚合描述(例如,“alice已经上传了两个视频”)和所有bob的活动都被聚合到第二聚合描述(例如,“bob已经评论了两个视频”)。在其他系统中,每个活动都收到其自身的描述,因此,代替通过两种聚合描述来描述的四个活动,通过四种聚合描述来描述的四个活动。上述的聚合提供了许多好处。例如,由于每个公共用户的动作被聚合到聚合描述中,因此用户界面不太混乱并有更多的空间来描述更多的用户的活动。

在另一个实施例中,聚合模块202被配置为至少部分地基于与所述一个或更多个用户输入相关联的一个或更多个公共视频来聚合所述社交活动信息。聚合模块202确定与所述一个或更多个用户输入相关联的一个或更多个视频。例如,聚合模块202至少部分地基于存储在用户数据库114中的所有信息(或信息的子集)和/或存储在馈送数据库126中的所有信息(或信息的子集),确定与所述一个或更多个用户输入相关联的一个或更多个视频。聚合模块202将一个或更多个用户输入分离成一个或更多个组,以便每个组都与公共视频相关联。聚合模块202至少部分地基于与每个组相关联的公共视频来聚合用于每个组的社交活动信息。例如,聚合模块202接收针对四个活动的四个用户输入。第一和第二用户输入与第一视频相关联(例如,第一和第二用户输入是对第一视频的评论)。第三和第四用户输入与第二视频相关联(例如,第三用户输入是对第二视频的评论并且第四用户输入是针对第二视频的“最喜爱”输入)。聚合模块202将四个用户输入划分为两组,以便第一组包括与第一视频相关联的第一和第二用户输入,并且第二组包括与第二视频相关联的第三和第四用户输入。聚合模块202至少部分地基于公共视频来单独聚合用户输入的每个组。例如,如果用户输入的第一组描述描述针对第一视频公布了两个新评论(例如,名为“charliebitmyfinger”),则所述聚合模块202聚合用户输入的第一组为“视频‘charliebitmyfinger’具有两个新评论”。

在又一实施例中,聚合模块202被配置为至少部分地基于与所述一个或更多个用户输入相关联的一个或更多个分类来聚合社交活动信息。分类包括下述内容的一个或更多个:对社交网站采取的动作、对在线公告板采取的动作、评论视频、将视频上传到视频站点、将视频标记作为最喜爱的视频、将视频标记作为喜欢的视频。

在一个实施例中,不同的分类具有存储在馈送数据库126中的预定重要性级别,并且聚合模块202被配置为至少部分地基于活动所属于分类的相对重要性来聚合所述活动。具体来说,下面的列表至少部分地基于重要性排序了分类,以便将最重要的分类列在第一位而将最不重要的分类列在最后:(1)对社交网站采取的动作;(2)对在线公告板采取的动作;(3)评论视频;(3)将视频上传到视频站点;(4)将视频标记作为最喜爱的视频;(5)将视频标记作为喜欢的视频。在一个实施例中,馈送数据库126存储指示上述层级的数据。在一个实施例中,由用户设置每个分类的重要性级别,以便用户可以定义针对不同分类的重要性的层级。

在一个实施例中,聚合模块202接收针对具有公共用户和公共视频的一个或更多个活动的一个或更多个用户输入。所述聚合模块202确定用于一个或更多个用户输入的公共用户和/或公共视频。例如,聚合模块202确定用于公共用户的用户名和用于公共视频的视频id。聚合模块202将一个或更多个用户输入分类成一个或更多个组,以便用户输入的每个组与分类相关联。聚合模块202至少部分地基于与用户输入的一个或更多个组相关联的一个或更多个分类来聚合社交活动信息。

在另一个实施例中,聚合模块202接收针对三个活动的三个用户输入。所述三个用户输入由公共用户(例如,“alice”)提供并且与公共视频(例如,名为“charliebitmyfinger”)有关。第一用户输入是指alice标记视频“charliebitmyfinger”作为最喜爱的视频。第二用户输入是指alice在第一社交网站上分享所述视频。第三用户输入是指alice在第二社交网站分享所述视频。第一用户输入与“将视频标记作为最喜爱的视频”的第一分类相关联,并且第二和第三用户输入与“对社交网站采取的动作”(例如,在社交网站共享视频)的第二分类相关联。聚合模块202至少部分地基于第一和第二分类聚合与所述三个用户输入相关联的社交活动信息。例如,如果第二分类具有比第一分类更高的重要性级别,则聚合模块202聚合针对三个用户输入的社交活动信息作为“alice”已经在两个社交网站上分享了视频“charliebitmyfinger”。

在一个实施例中,聚合模块202通信地耦合到馈送数据库126,呈现模块110和活动监视器模块210。在一个实施例中,聚合模块202:(1)从馈送数据库126中检索社交馈送;(2)将经聚合社交活动信息发送给呈现模块110,以呈现给客户;和(3)从活动监视器模块210接收针对一个或更多个活动的一个或更多个用户输入。在另一实施例中,针对一个或更多个活动的一个或更多个用户输入通过聚合模块202实时接收。

过滤器模块204是用于过滤社交活动信息的代码和例程。例如,过滤器模块204是识别信息的唯一来源并且至少部分地基于所述唯一来源组织社交活动信息的过滤器。在一个实施例中,唯一来源是具有唯一用户名的用户或具有唯一视频id的视频。然后,所述过滤器模块204至少部分地基于对社交活动信息的组织生成经过滤社交活动信息作为输出。

过滤器模块204通信地耦合到馈送数据库126,以从馈送数据库126接收针对一个或更多个活动的一个或更多个用户输入。在一个实施例中,一个或更多个用户输入是针对来自从所述馈送数据库126中检索到的社交馈送的活动。在另一实施例中,一个或更多个用户输入是针对受活动监视器模块210监视的活动。所述一个或更多个活动可以是实时的或可以被延迟任何时间量。下面更详细描述地活动监视器模块210。在又一实施例中,活动的监察模块210通信地耦合到前端接口102以从所述前端接口102接收针对一个或更多个活动的一个或更多个用户输入。

过滤器模块204确定针对一个或更多个用户输入的一个或更多个第一来源。例如,过滤器模块204确定用于每个用户输入的用户。第一来源的进一步示例包括但不限于:视频、视频频道和订阅。在一个实施例中,过滤器模块204被配置为根据针对一个或更多个用户输入的所有第一来源,确定一个或更多个唯一来源。例如,过滤器模块204根据针对所有用户输入的所有用户确定一个或更多个唯一用户作为唯一来源。如果两个或更多个用户输入具有公共用户,则过滤器模块204针对所述两个或更多用户输入确定公共用户作为唯一来源。备选地,如果两个或者更多用户输入由不同的用户提供,则过滤器模块204针对所述用户输入确定不同到的唯一来源。例如,如果过滤器模块204接收三个用户输入,其中第一用户输入由第一用户提供,第二和第三用户输入由第二用户提供,则所述过滤器模块204针对三个用户输入确定两个唯一来源。第一唯一来源是第一用户并且第二唯一来源是第二用户。

在一个实施例中,过滤器模块204被配置为至少部分地基于一个或更多个唯一来源过滤社交活动信息。过滤器模块204至少部分地基于唯一来源,确定向客户端120呈现社交活动信息的哪个部分。例如,过滤器模块204确定向客户端120呈现与由用户提供的第一用户输入相关联的社交活动信息,而不向客户端120呈现与由同一用户提供的第二用户输入相关联的社交活动信息。

在一个实施例中,过滤器模块204至少部分地基于显示限制确定将要向客户端120呈现的社交活动信息。显示限制是对在客户端120上显示社交活动信息的限制。例如,显示限制是对可用于呈现社交活动信息的显示空间的限制。在一个实施例中,过滤器模块204从限定显示限制的客户端120接收输入。在另一实施例中,过滤器模块204从限定显示限制的视频托管站点100的管理员接收输入。

在一个实施例中,过滤器模块204确定与将要显示在客户端120上的唯一来源相关联的社交活动信息的一部分,并且分配显示空间的一部分以显示所述社交活动信息的一部分。然后,过滤器模块204确定是否满足显示限制。例如,过滤器模块204确定是否显示空间的任何部分仍然是可用于显示。如果显示限制没有满足,则过滤器模块204继续分配可用显示空间的一部分,以显示与其他唯一来源相关联的社交活动信息的其他部分。被确定为在具有分配的显示空间的客户端120上显示的所述社交活动信息的所有部分都被称作经过滤社交活动信息。如果显示限制得到满足,则过滤器模块204将所述经过滤社交活动信息发送给呈现模块110,以呈现给用户。

在一个实施例中,过滤器模块204通信地耦合到馈送数据库126、呈现模块110和活动监视器模块210。在一个实施例中,过滤器模块204:(1)从馈送数据库126中检索社交馈送;(2)将所述经过滤社交活动信息发送给呈现模块110,以呈现给用户;以及(3)从一个或更多个活动监视器模块210接收一个或更多个活动。在一个实施例中,实时接收来自活动监视器模块210的一个或更多个活动。

推荐模块206是向视频托管站点100上的用户推荐视频的代码和例程。例如,推荐模块206至少部分地基于用户的简档信息(诸如年龄、地理信息、兴趣、人口信息、教育/工作经验等)向用户推荐视频的集合,在一个实施例中,推荐模块206从视频数据库116中检索向用户推荐的视频的集合的视频id和元数据(例如,标题、描述等),并且将所述视频id和元数据发送给呈现模块110,用于向用户呈现。

在一个实施例中,推荐模块206被配置为基于视频托管站点100上的第一用户的活动确定针对第一用户的视频推荐。例如,推荐模块206至少部分地基于第一用户的视频观看历史向所述第一用户推荐视频。推荐模块206从用户数据库114中检索第一用户的视频观看历史。例如,推荐模块206从用户数据库114中检索由第一用户观看的视频的视频id,和/或从视频数据库116中检索视频的元数据。在一个实施例中,推荐模块206至少部分地基于以下一个或更多个确定针对第一用户的视频推荐:由第一用户观看的视频、由第一用户标记为最喜爱的视频的视频、由第一用户标记为喜欢的视频的视频、由第一用户在第三方站点128上观看的视频、以及由第一用户在第三方站点128上共享的视频。

在另一个实施例中,推荐模块206被配置为至少部分地基于由第一用户的一个或更多个朋友所执行的活动确实针对第一用户的视频推荐。如上所述,朋友是作为朋友与所述第一用户相关联的第二用户。友谊关联被存储在视频上托管站点100(例如,馈送数据库126,用户数据库114等)。活动包括用于第一用户的一个或更多个朋友的现场活动和/或非现场活动。在一个实施例中,在具有一个或更多个朋友的许可的情况下,由视频托管站点100跟踪并记录一个或更多个朋友的现场活动和/或非现场活动。在一个实施例中,推荐模块206至少部分地基于朋友的视频观看历史确定向用于推荐的视频。例如,推荐模块206向用户推荐所述用户的朋友目前正在视频托管站点100或第三方站点128上观看的视频。在其他实施例中,推荐模块206至少部分地基于以下一个或更多个确定针对第一用户的视频推荐:朋友过去在视频托管站点100或第三方站点128上观看的视频、朋友在视频托管站点100或第三方站点128上观看的视频、朋友在视频托管站点100或第三方站点128上实时观看的视频、朋友在视频托管站点100或第三方站点128上标记为最喜爱的视频的视频、朋友在视频托管站点100或第三方站点128上标记为最喜爱的视频的视频、朋友在视频托管站点100或第三方站点128上共享的视频。

在又一实施例中,推荐模块206被配置为至少部分地基于任何用户在视频托管站点100上执行的活动,确定针对第一用户的视频推荐。例如,所有用户在视频托管站点100上的整体活动确定在所述视频托管站点100上哪个视频是流行的。在一个实施例中,推荐模块206至少部分地基于视频在视频托管站点100上的流行度向用户推荐视频。视频的流行度至少部分地基于以下一个或更多个确定:视频观看计数、视频共享计数、最喜爱的计数(例如,被标记为最喜爱的视频的视频的次数)、视频的用户评级、喜欢的计数、不喜欢的计数和/或评论计数等。在一个实施例中,推荐模块206在一段时间内向用户推荐具有最高视频观看计数和/或最高最喜爱计数的视频。

在一个实施例中,推荐模块206通信地耦合到用户数据库114、视频数据库116中、活动监视器模块210、馈送数据库126和呈现模块110。在一个实施例中,推荐模块206执行以下步骤中的一个或更多个:(1)从用户数据库114中检索第一用户和第一用户的朋友的视频观看历史;(2)从活动监视器模块210接收一个或更多个活动;(3)从社交馈送中接收一个或更多个活动,所述社交馈送从馈送数据库126中检索到;(4)将视频推荐发送给呈现模块110,以呈现给所述第一用户;以及(5)从视频数据库116中检索针对第一用户推荐的视频的视频id和元数据。在一个实施例中,推荐模块206从活动监视器模块210实时接收一个或更多个活动。在另一实施例中,推荐模块206将针对第一用户推荐的视频的视频id和元数据发送给呈现模块110,以呈现给第一用户。

馈送排序模块208是对社交馈送进行排序以生成经排序馈送的代码和例程。例如,馈送排序模块208从馈送数据库126接收包括有一个或更多个活动的社交馈送,至少部分地基于一个或更多个活动对社交馈送进行排序并且形成经排序馈送作为输出。

在一个实施例中,馈送排序模块208被配置为至少部分地基于与一个或更多个活动相关联的一个或更多个得分,对所述社交反馈进行排序。一个或更多个活动与由一个或更多个发布者(即,在视频托管站点100和/或第三方站点128上上传视频,并且在该站点上发布该视频的用户)发布的一个或更多个视频相关联。馈送排序模块208接收针对在社交反馈内包括的一个或更多个活动的一个或更多个用户输入。馈送排序模块208计算每个活动的得分。馈送排序模块208形成经排序馈送,以便在经排序馈送中将具有较高得分的第一活动排列在具有较低得分的第二活动之前。

用于对与由发布者发布的视频相关联活动进行排序的得分,至少部分地基于以下一个或更多个确定:视频观看计数、视频共享计数、最喜爱的计数、视频的用户评级、喜欢的计数、不喜欢的计数、评论计数、视频的年龄,视频标签、视频是否是流行的视频、视频是否是有特色的视频、在视频托管站点100观看的发布者的总视频、发布者的视频计数(例如,由发布者发布的视频的数目)、发布者的订户/朋友计数(例如,发布者的订户/朋友的数目)、发布者的账户年龄以及以上项目中任何两项之比(例如,视频观看计数与视频年龄之比,喜欢的计数与不喜欢的计数之比等)。例如,如果两个视频具有相同的视频年龄,则第一活动具有第二活动更高的得分,所述第一活动与具有较高的视频观看计数的第一视频相关联,所述第二活动与具有较低的视频观看计数的第二视频相关联。

在一个实施例中,馈送排序模块208通信地耦合到馈送数据库126、活动监视器模块210和呈现模块110。在一个实施例中,馈送排序模块208:(1)从馈送数据库126接收社交馈送;(2)从活动监视器模块210接收一个或更多个活动;(3)将经排序馈送发送给呈现模块110,以呈现给客户端120;以及(4)在馈送数据库126中存储经排序馈送。

活动监视器模块210是用于监视视频托管站点100和其他第三方站点128上的活动的代码和例程。例如,活动监视器模块210接收针对在视频托管站点100或第三方站点128上执行的活动的用户输入。在一个实施例中,活动监视器模块210实时接收针对在视频托管站点100或第三方站点128上执行的活动的用户输入。活动监视器模块210包括现场模块212和非现场模块214。

现场模块212是用于监视视频托管站点100上的现场活动的代码和例程。例如,现场模块212是一个守护程序,其监视视频托管站点100并且在对视频托管站点100上执行活动的情况下接收用户输入。在一个实施例中,现场模块212实时监视视频托管站点100。在一个实施例中,现场模块212通信地耦合到聚合模块202、过滤器模块204、推荐模块206、馈送数据库126和用户数据库114。例如,现场模块212在馈送数据库126中存储作为社交馈送的一部分的现场活动,在用户数据库114中存储用户观看的视频的视频id,并向聚合模块202、过滤器模块204和推荐模块206发送针对现场活动的用户输入。

非现场模块214是用于监视第三方站点128上的非现场活动的代码和例程。例如,非现场模块214是一个守护程序,其监视第三方站点128并且在对第三方站点128上执行活动的情况下接收用户输入。在一个实施例中,非现场模块214在用户许可的情况下监视所述用户的非现场活动。例如,用户在视频托管站点100与第三方站点128之间建立连接,并且允许共享视频托管站点100与第三方站点128之间的社交活动信息。非现场模块214监视第三方站点128(可选地,实时),并且在对第三方站点128上执行活动的情况下接收用户输入。例如,非现场模块214在用户于第三方站点128上观看视频的情况下接收用户输入。在一个实施例中,非现场模块214通信地耦合到聚合模块202、过滤器模块204、推荐模块206、馈送数据库126和用户数据库114。例如,非现场模块214向聚合模块202、过滤器模块204和推荐模块206发送针对非现场活动的用户输入,在馈送中数据库126中存储非现场活动作为社交反馈的一部分,并且在用户数据库114中存储用户在第三方站点128上观看的视频的视频id。

在一个实施例中,用户馈送包括以下一个或更多个:来自聚合模块202的经聚合社交活动信息、来自过滤器模块204的经过滤社交活动信息、来自推荐模块206的视频推荐和来自馈送排序模块208的经排序馈送。向呈现模块110发送用户馈送,使得呈现模块110生成与用户馈送相关联的图形,并将该图形提供给用户。

方法

图3是根据一个实施例的至少部分地基于公共用户聚合社交活动信息的方法的流程图300。聚合模块202接收针对第一活动的第一用户输入(302)。第一用户输入与描述第一活动的社交活动信息相关联。聚合模块202接收针对第二活动的第二用户输入(304)。第二用户输入与描述第二活动的社交活动信息相关联。在一个实施例中,聚合模块202从活动监视器模块210(可选地,这些输入被接收实时)接收针对步骤402和404的活动的一个或更多个输入。在另一实施例中,从馈送数据库126中检索的社交反馈中,聚合模块202接收针对步骤402和404的活动的输入。

第一和第二用户输入具有提供用户输入的公共用户。聚合模块202确定针对第一和第二用户输入的公共用户(306)。例如,聚合模块202确定公共用户的唯一用户名。聚合模块202至少部分地基于公共用户聚合针对第一和第二用户输入的社交活动信息(308)以形成经聚合社交活动作为输出。例如,如果第一和第二用户输入与在视频托管站点100上上传两个视频的用户(例如,该用户是名为“alice”的用户)相关联,则聚合模块202聚合针对所述用户输入的社交活动信息作为“alice已经上传了两个新视频”。聚合模块202向呈现模块110发送经聚合社交活动信息。

呈现模块110至少部分地基于从聚合模块202接收到的经聚合社交活动信息生成图形(310)。该图形与针对第一和第二用户输入的经聚合社交活动信息相关联。在一个实施例中,该图形被配置为将经聚合社交活动信息显示到客户端120。呈现模块110将所述图形发送到客户端120(312),以呈现给用户。例如,呈现模块110将所述图形发送到客户端120的web浏览器(未图示),使得web浏览器使用所述图形将经聚合社交活动信息显示给客户。在一个实施例中,如果用户点击图形中示出的经聚合社交活动信息,则聚合前的所有社交活动信息被显示给用户。

图4是根据一个实施例的至少部分地基于公共视频聚合社交活动信息的方法的流程图400。聚合模块202接收针对第一活动的第一用户输入(402)。第一用户输入与描述第一活动的社交活动信息相关联。聚合模块202接收针对第二活动的第二用户输入(404)。第二用户输入与描述第二活动的社交活动信息相关联。

第一和第二用户输入具有与用户输入相关联的公共视频。聚合模块202确定针对第一和第二用户输入的公共视频(406)。例如,聚合模块202确定针对公共视频的视频id。聚合模块202至少部分地基于公共视频聚合针对第一和第二用户输入的社交活动信息(408)以形成经聚合社交活动信息。例如,如果第一和第二用户输入与具有第一用户输入和第二用户输入的视频(例如,名为“charliebitmyfinger”)相关联,则聚合模块202聚合针对所述用户输入的社交活动信息作为“视频charliebitmyfinger具有两个新评论”,所述第一用户输入是指第一用户公布对视频的第一评论,所述第二用户输入是指第二用户公布对视频的第二评论。聚合模块202将经聚合社交活动信息发送到呈现模块110。

呈现模块110至少部分地基于从聚合模块202接收到的经聚合社交活动信息生成图形(410)。该图形与针对第一和第二用户输入的经聚合社交活动信息相关联。在一个实施例中,该图形被配置为将经聚合社交活动信息显示到客户端120。呈现模块110将所述图形发送到客户端120(412),以呈现给用户。例如,呈现模块110将所述图形发送到客户端120的web浏览器,并且web浏览器使用所述图形将社交活动信息呈现给用户。

图5是根据一个实施例的至少部分地基于公共用户和公共视频聚合社交活动信息的方法的流程图500。聚合模块202接收到两个活动。聚合模块202接收针对第一活动的第一用户输入(502)。第一用户输入与描述第一活动的社交活动信息相关联。聚合模块202接收针对第二活动的第二用户输入(504)。第二用户输入与描述第二活动的社交活动信息相关联。

第一和第二用户输入具有公共视频和公共用户。聚合模块202确定针对第一和第二用户输入的公共视频和公共用户。例如,聚合模块202确定用于公共视频的视频id和用于公共用户的用户名。聚合模块202将两个用户输入分类为一个或两个组,以便每个组都与分类相关联。聚合模块202至少部分地基于与所述一个或两个组相关联的一个或两个分类聚合针对第一和第二用户输入的社交活动信息。在一个实施例中,聚合模块202至少部分地基于一个或两个分类确定将要显示到客户端120的来自第一和第二活动的一个或两个活动(506)。呈现模块110至少部分地基于从聚合模块202接收到的经聚合社交活动信息生成图形(508)。在一个实施例中,该图形被配置为将经聚合社交活动信息显示到客户端120。呈现模块110将所述图形发送到客户端120(510),以呈现给用户。例如,呈现模块110将所述图形发送到客户端120的web浏览器,并且web浏览器使用所述图形将经聚合社交活动信息呈现给用户。

图6是根据一个实施例的过滤社交活动信息的方法的流程图600。在一个实施例中,唯一来源是具有唯一用户名的用户。在另一实施例中,唯一来源是具有唯一视频id的视频。过滤器模块204接收限定显示限制的输入(602)。例如,过滤器模块204描述可用于将社交活动信息呈现为客户端120的有限显示空间的输入。在一个实施例中,过滤器模块204从描述显示限制的客户端120接收输入。在另一个实施例中,过滤器模块204从描述显示限制的视频托管站点100的管理员接收输入。这里,步骤602通过由虚线形成的矩形描绘,以指示步骤602是所述方法的可选特征。例如,在其他实施例中,显示限制由过滤器模块204自动设置而不需要输入以限定显示限制。

过滤器模块204接收针对一个或更多个活动的一个或更多个用户输入(604)。所述一个或更多个用户输入与描述一个或更多个活动的社交活动信息相关联。在一个实施例中,所述一个或更多个活动是来自从馈送数据库126中检索到的社交馈送的活动。在另一实施例中,所述一个或更多个活动是由活动监视器模块210监视的一个或更多个活动。

过滤器模块204确定针对一个或更多个用户输入的一个或更多个第一来源(606)。例如,在一个实施例中,第一来源是提供用户输入的用户并,且过滤器模块204确定一个或更多个用户作为针对所述一个或更多个用户输入的一个或更多个来源。过滤器模块204从一个或更多个第一来源确定一个或更多个唯一来源(608)。在一个实施例中,如果两个或更多个用户输入具有一个公共用户,则过滤器模块204确定公共用户作为两个或更多个用户输入的唯一来源。另选地,如果针对所述两个或更多用户输入由不同的用户提供,则过滤器模块204针对所述用户输入确定不同的唯一来源。例如,如果过滤器模块204接收三个用户输入,其中第一用户输入由第一用户提供,第二和第三用户输入由第二用户提供,则所述过滤器模块204针对三个用户输入确定两个唯一来源。第一唯一来源是第一用户而第二唯一来源是第二用户。

过滤器模块204确定与将要显示在客户端120上的唯一来源相关联的社交活动信息的一部分,并分配显示空间的一部分(610),以显示与所述唯一来源相关联的所述社交活动信息的一部分。例如,过滤器模块204确定与呈现给客户端120的由用户提供的第一用户输入相关联的社交活动信息的第一部分并分配显示空间以显示所述社交活动信息的第一部分,同时不向客户端120呈现与由同一用户提供的第二用户输入相关联的社交活动信息的第二部分。

过滤器模块204确定是否满足显示限制(612)。例如,过滤器模块204确定是否显示空间的任何部分仍然是可用于显示。如果显示限制没有满足,则过滤器模块204继续分配可用显示空间的一部分(610),以显示与另一个唯一来源相关联的社交活动信息的部分。被选择为在具有分配的显示空间的客户端120上显示的所述社交活动信息的部分都被称作经过滤社交活动信息。如果显示限制得到满足,则过滤器模块204将所述经过滤社交活动信息发送给呈现模块110,以呈现给用户。

在一个实施例中,分配显示空间以便每个唯一用户具有针对由所述用户进行的一个社交活动的空间。例如,参考步骤610和612,假设有四个用户(alice、brian、claude和dan)。alice、claude和dan每个人都具有5个活动(在三个用户之间总共15个活动)。然而,brian自己具有10个活动。所以,所述四个用户之间的总共活动是25个活动(15加10是25)。然而,显示器仅具有针对10个活动的空间。在步骤610,过滤器模块204选择了四个活动,四个活动中的每一个来自唯一用户中的每一个,以便通过每个人一个活动将alice,brian、claude和dan每一个均表示在显示活动中。在这一点,在尚未分配显示空间的用户当中左边总共有21个活动(25减4是21),alice、claude和dan每个人具有4个尚未分配显示空间的活动,brian具有9个尚未分配显示空间的活动。现在方法600移动到确定是否满足显示限制的步骤612。在此示例中,显示限制是10。由于4个视频已被分配了空间,因此6个视频的空间保留在显示限制中并且方法移回到步骤610。在步骤610,过滤器模块204再次选择4个活动,四个活动中的每一个来自唯一用户中的每一个,以便通过每个人一个活动将alice,brian、claude和dan每一个均表示在显示活动中。在这一点,在尚未分配显示空间的用户当中左边总共有17个活动(21减4是17),alice、claude和dan每个人具有3个尚未分配显示空间的活动,brian具有8个尚未分配显示空间的活动。现在方法600再次移动到确定是否满足显示限制的步骤612。由于8个视频现在已分配了空间,因此,2个视频的空间保留在显示限制中,并且方法移回到步骤610。在步骤610中,过滤器模块204选择两个活动,两个活动中的每一个来自唯一用户中的每一个(没有针对两个剩余用户的剩余活动分配任何空间)。选择四个唯一用户中的哪两个分配空间的处理是本领域中已知的任何方法。在一个实施例中,使用随机数生成器选择所述两个用户。在另一个实施例中,以用户名接近字母“a”或字母“z”优先的方式,至少部分地基于所述两个用户的名字的字母顺序选择所述两个用户(例如,如果“a”优先,则选择alice和brian以接收显示空间)。在又一实施例中,至少部分地基于所述两个用户在视频托管站点100创建其账户的日期来选择所述两个用户,以便更资深的用户优先。在这一点,在尚未分配显示空间的用户当中左边总共有15个活动(17减2是15)。方法移动到确定是否满足显示限制的步骤612。然后,所述方法移动到步骤614。

呈现模块110至少部分地基于从过滤器模块204接收到的经过滤社交活动信息生成图形(614)。在一个实施例中,该图形被配置为将经过滤社交活动信息显示到客户端120。呈现模块110将所述图形发送到客户端120(616),以呈现给用户。例如,呈现模块110将所述图形发送到客户端120的web浏览器并且web浏览器使用所述图形将经过滤社交活动信息呈现给用户。

图7是根据一个实施例的向用户提供视频推荐的方法的流程图700。推荐模块206接收针对一个或更多个活动的一个或更多个用户输入(702)。所述一个或更多个用户输入与涉及所述一个或更多个活动的一个或更多个视频相关联。在一个实施例中,所述一个或更多个活动是来自从馈送数据库126中检索到的社交馈送的一个或更多个活动。在另一实施例中,所述一个或更多个活动是受活动监视器模块210监视的一个或更多个活动。推荐模块206至少部分地基于一个或更多个活动确定视频推荐(704)。

呈现模块110至少部分地基于从推荐模块204接收到视频推荐生成图形(706)。在一个实施例中,该图形被配置为将视频推荐显示到客户端120。呈现模块110将所述图形发送到客户端120(708),以呈现给第一用户。在一个实施例中,呈现模块110将所述图形发送到客户端120的web浏览器,并且web浏览器使用所述图形将视频推荐呈现给第一用户。例如,web浏览器向第一用户呈现一个推荐视频的列表,所述列表包括视频标题、视频缩略图、描述、视频发布者和评级等。

图8是根据一个实施例的对社交馈送进行排序的方法的流程图800。馈送排序模块208接收针对包括在社交馈送内的一个或更多个活动的一个或更多个用户输入(802)。在一个实施例中,从馈送数据库126中检索社交馈送。馈送排序模块208至少部分地基于针对所述一个或更多个活动的一个或更多个用户输入来对社交馈送进行排序(804),并形成经排序馈送作为输出。馈送排序模块208将经排序馈送发送给呈现模块110。

例如,馈送排序模块208至少部分地基于一个或更多个活动的一个或更多个得分对社交馈送进行排序。一个或更多个活动与由一个或更多个发布者发布的一个或更多个视频相关联。馈送排序模块208计算每个活动的得分。针对与由发布者发布的视频相关联的活动的得分至少部分地基于以下一个或更多个确定:视频观看计数、视频共享计数、最喜爱的计数、视频的用户评级、喜欢的计数、不喜欢的计数、评论计数、视频的年龄,视频标签、视频是否是流行的视频、视频是否是有特色的视频、在视频托管站点100观看的发布者的总视频、发布者的视频计数、发布者的订户/朋友计数、发布者的账户年龄以及以上项目中任何两项之比。馈送排序模块208形成一个经排序馈送,以便在经排序馈送中将具有较高得分的第一活动排列在具有较低得分的第二活动之前。

呈现模块110至少部分地基于从馈送排序模块208中接收到经排序馈送生成图形(806)。在一个实施例中,该图形被配置为将经排序馈送显示到客户端120。呈现模块110将所述图形发送到客户端120(808),以呈现给用户。例如,呈现模块110将所述图形发送到客户端120的web浏览器,并且web浏览器使用所述图形将经排序馈送呈现给用户。

在一个实施例中,系统105制作由视频托管网站100生成的网站的主页,首先,人们开始回答以下问题:“今天,我应该看什么”?换句话说,创建一个网页,所述网页具有大量的个性化视频推荐和迫使用户每天多次访问的消费体验。与许多社交网站相比,一个实施例基于其他站点上的活动允许馈送中的信息。例如,客户端120的用户访问主页,并且在他们观看在其他站点上的嵌入视频时看见与他/她的朋友的活动有关的信息(当然,假设朋友已经同意这样做)。此外,即使用户的朋友没有被激活,用户也可以询问以在他的馈送上看见“更多”,他的馈送可以增加有,例如,推荐视频和/或频道或,例如,很久之前他的朋友的额外活动(当然,在他们许可的情况下),或例如来自朋友的朋友(在他们许可的情况下)。备选实施例不需要许可,或可以将许可需求留给用户。

在各种实施例中,当决定将什么放到用户馈送中时要考虑到隐私问题。例如,第一用户可以请求他们的朋友不接收基于第一用户的活动的推荐。

在一个实施例中,该系统105考虑到以下类型的数据中的一些、所有或不考虑(假设那种类型的数据针对那个实施例保持,并且假设用户隐私问题已经得到解决并且被考虑):订阅;为你推荐;来自朋友&视频托管站点100上的订阅的最近的活动;先前喜爱或观看的视频托管站点100上的视频;来自朋友的第三方站点128视频活动;googlebuzztm或类似的社交评论站点;用户喜欢的嵌入在第三方站点128上的视频、经由电子邮件发送给用户的视频;视频托管站点100和/或第三方站点128上有特色的视频;视频托管站点100上的焦点视频;视频托管站点100和/或第三方站点128上最流行的视频;视频托管站点100和/或第三方站点128上现在正在被观看的视频;与客户端设备120的个人用户具有地理相关性的视频和/或新闻;组活动以及多个活动。

在一个实施例中,系统105所提供的特征包括以下:视频馈送中的持续性视频;新馈送项目的“告诉我更多”生成;鼓励来自馈送的相同或相似的视频的新频道订阅和/或捆绑;让我从我的馈送中删除/去除任何东西;永久过滤(例如,没有评级,没有fred的收藏夹等);来自其他社交网站的低延迟;建议注销注册的用户以获得更好的视频;一旦你见过一视频就对其进行标记;为喜爱的视频添加永久的星星;在馈送项目中内联评论或会话;客户端120的用户可以针对哪个项目进入馈送设置优先级;从社交网站中拉出视频;存在视频的计数;采取所有控制以允许客户端120的用户播放他/她的当前馈送中的所有视频;说“少这样”以便更少的与目前正在播放的视频类似的视频被建议给客户端120的用户;携带馈送以在客户端120的用户点击馈送中的任何视频时观看;告诉我订阅的视频何时已崩溃(例如,“点击这里以观看来自第二用户的八个其他视频”);临时观看过滤器(只有特定类型的,只来自特定源等);让我将视频锁定(pin)在我的主页上,直到我明确移除它为止;单击发布到第三方社交网站128(包括从视频托管站点100托管的网页向第三方站点单击喜欢或最喜爱的视频);同一人在同一视频上使同一动作崩溃(多个用户间的重复排除,例如,视频托管站点100上最喜爱的视频变成了第三方站点128上的自动共享);非现场地提取我的馈送。

图9描绘根据一个实施例的在视频站点上(例如,视频托管站点100)组织社交信息的系统905。图10至图26描述根据本发明的一个或更多个实施例由视频托管站点生成的图形用户界面1005,1105,1205,1305,1405,1505,1605,1705,1805,1905,2005,2105,2205,2305,2405,2505,2605的屏幕截图。图27描述根据一个实施例在视频站点(例如,视频托管站点100)上组织社交信息的系统2705。图28描述根据一个实施例在视频站点(例如,视频托管站点100)上组织社交信息的系统2805。

图29到图30描述根据一个或更多个实施例由视频托管站点100生成的图形用户界面2905、3005的屏幕截图。具体而言,图29示出了第一图形用户界面2905。第一图形用户界面2905描述了非聚合馈送的示例。非聚合馈送显示由两个不同的用户“timmy”和“mrizzo1154987341”进行的三个社交活动。元素2910描绘由“mrizzo1154987341”进行的活动。元素2920和2930描绘由“timmy”进行的活动。

图30描绘了第二个图形用户界面3005。第二图形用户界面3005描绘了聚合馈送的示例。具体而言,所述第二图形用户界面3005描绘了以下示例:在非聚合馈送被聚合的情况下在第一图形用户界面2905中描绘的非聚合馈送看起来是什么样的。如同图29中的非聚合馈送,非聚合馈送显示由两个不同的用户“timmy”和“mrizzo1154987341”进行的三个社交活动。元素3010描绘由“mrizzo1154987341”进行的活动。元素3010与图29中的元素2910相对应。元素3020由“timmy”进行的两个活动。具体而言,元素3020描绘由图29中的元素2920和2930表示的活动的聚合版本。例如,图30中的图形3030与图29中的元素2920相对应,并且图30中的图形3040与图29中的元素2930相对应。因此,图30描绘了图29中的非聚合馈送的聚合版本。本领域技术人员将认识到存在其他方式描绘图29中的非聚合馈送的聚合版本。

已经出于示出和描述的目的给出了本发明的实施例的前面的描述。所述实施例不是旨在穷举以将将本发明限制到所公开的精确形式。许多修改和变化根据上述教导都是可以的。目的是本发明的范围不是由详细的描述限制的,而是由本申请的权利要求的限制。如本领域技术人员将理解的那样,在不脱离本发明的精神或基本特征的情况下,可以以其他特定形式具体实施本发明。同样,对模块、例程、特征、属性、方法和其他方面的特定命名和划分的都不是强制性的或重要的,并且实现本发明的机制或其特征可具有不同的名称、划分和/或格式。此外,如对于本领域技术人员而言是显而易见的那样,本发明的模块,例程,特征、属性、方法和其他方面可以被实现为软件、硬件、固件或所述三者的任何组合。此外,在将本发明的部件实现为软件(其示例是模块)的情况下,该部件可实现为单独的程序、实现为较大程序的一部分、实现为多个单独的程序,实现为一个静态或动态链接库,实现为内核可加载模块,实现为设备驱动器、和/或实现为计算机编程的本领域技术人员现在或将来知道的每种和任何其他方式。此外,本发明不限于以任何特定编程语言实现,或用于任何特定的操作系统或环境。因此,本发明的公开旨在是示出而不是限制本发明的范围,本发明的范围将在在下述权利要求中阐述。

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