CN102906689B - Organize social event information on the site - Google Patents
Organize social event information on the site Download PDFInfo
- Publication number
- CN102906689B CN102906689B CN201180022896.8A CN201180022896A CN102906689B CN 102906689 B CN102906689 B CN 102906689B CN 201180022896 A CN201180022896 A CN 201180022896A CN 102906689 B CN102906689 B CN 102906689B
- Authority
- CN
- China
- Prior art keywords
- user
- video
- module
- activity information
- feed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/74—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/7867—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Marketing (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Library & Information Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Computing Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
交叉引用cross reference
本申请要求来自如下美国临时专利申请的优先权,通过引用将其合并于此:序列号61/316,828,2010年3月23日提交并且名称为“SOCIALFEED FOR VIDEO SITE”。This application claims priority from the following US Provisional Patent Application, which is hereby incorporated by reference: Serial No. 61/316,828, filed March 23, 2010 and entitled "SOCIALFEED FOR VIDEO SITE."
技术领域 technical field
本发明涉及一种在网络上提供视频的系统和方法。特别地,本发明涉及在站点上组织社交活动信息。The present invention relates to a system and method for providing video over a network. In particular, the invention relates to organizing social activity information on a site.
背景技术 Background technique
在网站上共享视频内容已经发展成世界范围的现象,受到数十万网站的支持。诸如YOUTUBETM的视频托管站点,目前具有上百万用户和上千万的视频。视频托管站点的用户可对他/她的朋友的活动(例如,观看视频、上传视频等)感兴趣,以便他/她能够确定视频以至少部分基于他/她朋友的活动进行观看。基于朋友的活动向用于推荐视频的现有系统具有大量问题。Sharing video content on websites has grown into a worldwide phenomenon, supported by hundreds of thousands of websites. Video hosting sites such as YOUTUBE (TM) currently have millions of users and tens of millions of videos. A user of a video hosting site may be interested in his/her friends' activities (eg, watching videos, uploading videos, etc.) so that he/she can determine videos to watch based at least in part on his/her friends' activities. Existing systems for recommending videos based on friend activity have a number of problems.
现有方案中存在的第一个问题在于它们没有以有组织的并且有用的方式呈现朋友的活动。例如,如果用户具有200个朋友并且每个朋友在一天中观看5个视频(对于总共1000个供用户的朋友观看的视频),则难以以有意义的方式向用户呈现1000个活动。该问题由于视频托管站点的有限显示空间而进一步受到阻碍。A first problem with existing solutions is that they do not present friends' activities in an organized and useful manner. For example, if a user has 200 friends and each friend watches 5 videos in a day (for a total of 1000 videos watched by the user's friends), it is difficult to present the 1000 activities to the user in a meaningful way. This problem is further hampered by the limited display space of video hosting sites.
现有方案中存在的第二个问题在于当向用户推荐视频时它们仅依靠单个视频托管站点上的朋友活动。如果用户的朋友正在多个网站上观看视频,则该用户在观看与所述用户的朋友相同的许多视频方面会有所遗漏。A second problem with existing solutions is that they rely only on friend activity on a single video hosting site when recommending videos to users. If a user's friends are watching videos on multiple websites, the user may miss out on watching as many of the same videos as said user's friends.
发明内容 Contents of the invention
本发明的实施例通过在站点上组织社交活动信息至少部分地克服了现有技术的缺陷和限制。在一个实施例中,在一个实施例中,系统包括馈送(feed)服务模块和呈现模块。所述馈送服务模块被配置为从至少一个第三方源接收至少一个第一用户的社交活动。所述馈送服务模块聚合所述社交活动信息以形成经聚合社交活动信息。所述呈现模块通信地耦合到所述馈送服务模块,并被配置为从所述馈送服务模块接收所述经聚合社交活动信息。所述呈现模块生成与所述经聚合社会活动信息相关联的馈送显示并且将馈送显示发送给客户端,以显示给第二用户。Embodiments of the present invention overcome, at least in part, the deficiencies and limitations of the prior art by organizing social activity information on a site. In one embodiment, in one embodiment, a system includes a feed service module and a presentation module. The feed service module is configured to receive at least one first user's social activity from at least one third party source. The feed service module aggregates the social activity information to form aggregated social activity information. The presentation module is communicatively coupled to the feed service module and configured to receive the aggregated social activity information from the feed service module. The presentation module generates a display feed associated with the aggregated social activity information and sends the display feed to a client for display to a second user.
附图说明 Description of drawings
通过示例的方式而不是通过限制所附附图中的图的方式示出本发明,在所附附图中,相似的附图标记用于指代相似的元件。The invention is shown by way of example and not by way of limitation of the figures in the accompanying drawings, in which like reference numerals are used to refer to like elements.
图1是示出根据一个实施例在网站上组织社交活动信息的系统的高级框图。Figure 1 is a high-level block diagram illustrating a system for organizing social activity information on a website, according to one embodiment.
图2是示出根据一个实施例的反馈服务模块(feed serving module)的框图。Figure 2 is a block diagram illustrating a feed serving module according to one embodiment.
图3是根据一个实施例的至少部分基于公共用户聚合社交活动信息的方法的流程图。3 is a flowchart of a method of aggregating social activity information based at least in part on public users, according to one embodiment.
图4是根据一个实施例的至少部分基于公共视频聚集社交活动信息的方法的流程图。4 is a flowchart of a method of aggregating social activity information based at least in part on public video, according to one embodiment.
图5是根据一个实施例的至少部分基于公共用户和公共视频聚集社交活动信息的方法的流程图。5 is a flowchart of a method of aggregating social activity information based at least in part on public users and public videos, according to one embodiment.
图6是根据一个实施例的过滤社交活动信息的方法的流程图。FIG. 6 is a flowchart of a method of filtering social activity information, according to one embodiment.
图7是根据一个实施例的向用户提供视频推荐的方法的流程图。FIG. 7 is a flowchart of a method of providing video recommendations to users, according to one embodiment.
图8是根据一个实施例的排序社交反馈的方法的流程图。Figure 8 is a flowchart of a method of ranking social feedback, according to one embodiment.
图9描述根据一个实施例的在网站上组织社交信息的系统。Figure 9 depicts a system for organizing social information on a website, according to one embodiment.
图10到图26描述根据一个或更多个实施例的由视频托管站点生成的图形用户界面的屏幕截图。10-26 depict screen shots of a graphical user interface generated by a video hosting site, according to one or more embodiments.
图27描述根据一个实施例的在网站上组织社交信息的系统。Figure 27 depicts a system for organizing social information on a website, according to one embodiment.
图28描述根据一个实施例的在网站上组织社交信息的系统。Figure 28 depicts a system for organizing social information on a website, according to one embodiment.
图29到图30描述根据一个或更多个实施例的由视频托管站点生成的图形用户界面的屏幕截图。29-30 depict screenshots of graphical user interfaces generated by video hosting sites, according to one or more embodiments.
具体实施方式 detailed description
下面描述在网站上组织社交活动信息的系统和方法。在下述描述中,出于说明的目的,为了提供对本发明的实施例的彻底理解,阐述了许多特定细节。然而,将明显的是,对于本领域技术人员而言,本发明可在不考虑这些特定细节的情况下实践。在其他情况下,为了避免模糊本发明而以框图形式示出结构和设备。例如,参考用户接口和特定硬件,在下面一个实施例中描述本发明。然而,本发明应用于能够接收数据和命令的任何类型的计算设备,以及提供服务的外围设备。Systems and methods for organizing social event information on a website are described below. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of embodiments of the invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, structures and devices are shown in block diagram form in order to avoid obscuring the invention. For example, the present invention is described in one embodiment below with reference to a user interface and specific hardware. However, the invention applies to any type of computing device capable of receiving data and commands, as well as peripheral devices that provide services.
说明书中涉及的“一个实施例”或“一种实施例”表示与包括在本发明的至少一个实施例中的实施例关联描述的特定特征、结构或特性。在说明书各个地方出现的短语“在一个实施例中”不必全部涉及同一实施例。"One embodiment" or "an embodiment" referred to in the specification means a specific feature, structure or characteristic described in association with an embodiment included in at least one embodiment of the present invention. The appearances of the phrase "in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment.
随后详细描述的一些部分以算法和计算机存储器内的数据比特上的运算的符号表示的形式呈现。这些算法描述和表示是在数据处理领域供本领域技术人员使用的含义,以更加有效地将他们工作的实质传达给本领域其他技术人员。在这里,算法通常设想为是导致所希望的结果的步骤的自洽序列。步骤是那些需要物理量的物理操作。尽管不是必须的但是通常这些量采取能够存储、传输、组合、比较或者操作的电或磁信号的形式。已经被多次证明这是方便的,主要是出于共同使用的目的,将这些信号称为比特、值、元素、符号、字符、术语、数字等。Some portions of the detailed description that follows are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the meanings used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm, here, is generally conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, or manipulated. It has proven convenient at times, principally for purposes of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
然而,应该牢记所有这些和类似的术语是要与合适的物理量相结合,并且仅仅是应用于这些量的方便的标签。除非特别声明,否则从下面的讨论可知,可以理解在整个说明书中,利用诸如“处理”或“计算”或“计算”或“确定”或“显示”等的术语的讨论,指代计算机系统或类似的电子计算设备的动作或过程,所述计算机系统或类似的电子计算设备操作,并且将表示计算机系统寄存器和存储器内的物理(电子)量的数据转换成其他数据,类似地表示为计算机系统存储器或寄存器内的物理的数据。It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise, from the discussion below, it will be understood that throughout this specification, discussions using terms such as "process" or "calculate" or "calculate" or "determine" or "display" refer to computer systems or The act or process of a computer system or similar electronic computing device that operates and converts data representing physical (electronic) quantities within the registers and memories of the computer system into other data, similarly denoted computer system Physical data in memory or registers.
本发明还涉及一种用于执行本发明的操作的装置。该装置可以被特别地构造以用于所需目的,或者它可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用目的的计算机。这样的计算机程序可存储在诸如(但不限于)包括软盘、光盘、CD-ROM以及磁盘的任何类型的光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁或光卡、包括具有非易失性存储器的USB密钥的闪存、或适合于存储电子指令的任何类型的介质的计算机可读存储介质中,各个计算机可读存储介质均耦合到计算机系统总线。The invention also relates to an apparatus for performing the operations of the invention. This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such computer programs may be stored on any type of optical disk, read only memory (ROM), random access memory (RAM), EPROM, EEPROM, magnetic or Each computer-readable storage medium is coupled to the computer system bus, an optical card, a flash memory including a USB key with non-volatile memory, or any type of medium suitable for storing electronic instructions.
本发明可以采取完全硬件实施例,完全软件实施例的形式,或者包含硬件元件和软件元件二者的实施例。在优选的实施例中,本发明以软件实现,其包括但不限于固件、常驻软件、微代码等。The invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the present invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, and the like.
此外,本发明可以采取能够从提供程序码的计算机可用或计算机可读介质访问访问的计算机程序产品,以供计算机或任何指令执行系统使用或与计算机或任何指令执行系统相结合。对于本说明书的目的,计算机可用或计算机可读介质可以是可以包含、存储、通信、传播、或传送供指令执行系统、装置、或设备使用或与指令执行系统、装置、或设备相结合的程序的任何装置。Furthermore, the invention may take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this specification, a computer-usable or computer-readable medium may be a program that can contain, store, communicate, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device any device.
适合用于存储和/或执行程序代码的数据处理系统将包括通过系统总线直接或间接耦合到存储器元件的至少一个处理器。存储器元件可包括在程序代码的实际执行期间所采用的本地存储器、大容量存储装置以及高速缓冲存储器,该高速缓冲存储器提供至少一些程序代码的临时存储,以减少在执行期间必须从大容量存储装置获取代码的次数。A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the need to retrieve data from bulk storage during execution. The number of times the code was fetched.
输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备等)可以直接地或通过中间I/O控制器耦合到系统。Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers.
网络适配器也可以耦合到系统,以使数据处理系统通过中间私有或公共网络,来耦合到其他数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡只是网络适配器的一些目前可用的类型。Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
最后,本文呈现的算法和显示并不内在地与任何特定的计算机或其他装置有关。各种通用目的的系统可以根据本文的教导与程序一起使用,或者可证明便于构造更专门的装置以执行所需的方法步骤。将从下面的描述中描述针对各种这些系统所需的结构。此外,未参考任何特定的编程语言描述本发明。将会理解,各种编程语言可以用来实现如本文所描述的本发明的教导。Finally, the algorithms and displays presented herein are not inherently related to any particular computer or other device. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The structure required for each of these systems will be described from the description below. Furthermore, the invention has not been described with reference to any particular programming language. It will be appreciated that various programming languages may be used to implement the teachings of the present invention as described herein.
系统概述System Overview
图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。FIG. 1 is a high-level block diagram illustrating a system 105 for organizing social activity information on a website, according to one embodiment. Examples of websites include, but are not limited to: video hosting sites, online bulletin boards, social networking sites, and video hosting sites integrated with social networking features. The illustrated embodiment of system 105 includes: video hosting site 100 , content provider 118 , client 120 , and third party site 128 . Video hosting site 100 , content provider 118 , client 120 , and third-party site 128 are communicatively coupled via network 122 . For example, video hosting site 100, content provider 118, third-party site 128, and client 120 are communicatively coupled via network 122 to facilitate exchange of information (e.g., video content) between users of client devices similar to client 120. shared. Although only one content provider 118, one client 120, and one third-party site 128 are shown, those skilled in the art will recognize that any number of content providers 118, clients 120, and third-party sites 128 can Communicatively coupled to network 122 . Furthermore, although only one network 122 is coupled to third party site 128, client 120, content provider 118, and video hosting site 100, those skilled in the art will understand that any number of networks 122 can be connected to third party site 128, Client 120 and Video Hosting Site 100.
网络122是一个常规类型的网络(有线或无线的),并且可以具有任意数目的配置,诸如星型配置、令牌环配置或本领域技术人员已知的其他配置。在一个实施例中,网络122包括一个或更多个局域网(LAN)、广域网(WAN)(例如,因特网)、和/或多个设备跨过其通信的任何其他互连数据通路。在另一个实施例中,网络122是对等网络。在一个实施例中,网络122耦合到通信网络的一部分或包括通信网络的一部分,以按照各种不同的通信协议发送数据。例如,网络是3G网络或4G网络。在又一个实施例中,网络122包括蓝牙通信网络或蜂窝式通信网络,以经由如下方式发送和接收数据:短消息服务(SMS)、多媒体消息服务(MMS)、超文本传输协议(HTTP)、直接数据连接、无线应用协议(WAP)、电子邮件等。在又一个实施例中,使用诸如安全套接字层(SSL)、安全HTTP和/或虚拟私人网络(VPN)的常规加密技术对网络122内的全部或一些链接进行加密。Network 122 is a conventional type of network (wired or wireless) and may have any number of configurations, such as a star configuration, a token ring configuration, or other configurations known to those skilled in the art. In one embodiment, network 122 includes one or more local area networks (LANs), wide area networks (WANs) (eg, the Internet), and/or any other interconnected data pathways across which multiple devices communicate. In another embodiment, network 122 is a peer-to-peer network. In one embodiment, network 122 is coupled to or includes a portion of a communications network for transmitting data in accordance with various communications protocols. For example, the network is a 3G network or a 4G network. In yet another embodiment, the network 122 includes a Bluetooth communication network or a cellular communication network to send and receive data via: Short Message Service (SMS), Multimedia Message Service (MMS), Hypertext Transfer Protocol (HTTP), Direct data connections, Wireless Application Protocol (WAP), email, and more. In yet another embodiment, all or some links within network 122 are encrypted using conventional encryption techniques such as Secure Sockets Layer (SSL), Secure HTTP, and/or Virtual Private Network (VPN).
在所示的实施例中,网络122经由信号线107通信地耦合到视频托管站点100。网络122经由信号线101通信地耦合到内容提供者118。网络122经由信号线103通信地耦合到客户端120。网络122经由信号线105通信地耦合到第三方站点128。In the illustrated embodiment, network 122 is communicatively coupled to video hosting site 100 via signal line 107 . Network 122 is communicatively coupled to content provider 118 via signal line 101 . Network 122 is communicatively coupled to client 120 via signal line 103 . Network 122 is communicatively coupled to third party site 128 via signal line 105 .
第三方站点128是能够供诸如客户端120的客户端设备的用户访问的任何网站。例如,第三方站点128是社交网络站点、第三方视频托管站点、与社交网络特征集成的视频托管站点、在线公告板等。在一个实施例中,第三方站点128是系统105的可选特征。Third-party site 128 is any website that can be accessed by a user of a client device, such as client 120 . For example, third-party site 128 is a social networking site, a third-party video hosting site, a video hosting site integrated with social networking features, an online bulletin board, and the like. In one embodiment, third party site 128 is an optional feature of system 105 .
视频托管站点100是允许用户经由搜索和/或浏览界面来访问视频内容的任何系统。视频托管站点100的示例是在www.youtube.com找到的YOUTUBETM网站。其他视频托管站点也是已知的,并且适于根据本文公开的教导进行操作。将理解,术语“网站”表示适于使用任何因特网工作协议来供应内容的任何计算机系统,而不旨在限于经由因特网或HTTP协议上传或下载的内容。Video hosting site 100 is any system that allows users to access video content via a search and/or browsing interface. An example of a video hosting site 100 is the YOUTUBE ™ website found at www.youtube.com. Other video hosting sites are also known and adapted to operate in accordance with the teachings disclosed herein. It will be understood that the term "website" means any computer system adapted to serve content using any Internet working protocol, and is not intended to be limited to content uploaded or downloaded via the Internet or the HTTP protocol.
在一个实施例中,视频托管站点100上的视频内容的源来自用户上传视频、视频的其他网站或数据库的搜索或缓慢行进等,或其任何组合。例如,在一个实施例中,视频托管站点100配置为允许用户上传视频内容。在另一个实施例中,视频托管站点100配置为通过实时地爬取此类源或者搜索此类源,来从其他源获得视频。In one embodiment, the source of the video content on the video hosting site 100 is from user uploaded videos, searches or jogs of other websites or databases of videos, etc., or any combination thereof. For example, in one embodiment, video hosting site 100 is configured to allow users to upload video content. In another embodiment, the video hosting site 100 is configured to obtain videos from other sources by crawling such sources or searching such sources in real-time.
为了简化并且澄清本发明,由视频托管站点100接收并且共享的视频内容将被称为视频、视频文件或视频项。本领域技术人员将认识到的是,视频托管站点100能够接收并且共享任何介质类型和文件类型的内容。例如,视频托管站点100共享诸如视频、音频、视频与音频的组合、诸如JPEG或GIF文件和/或文本文件的图像等的内容。To simplify and clarify the present invention, the video content received and shared by the video hosting site 100 will be referred to as video, video file or video item. Those skilled in the art will appreciate that video hosting site 100 is capable of receiving and sharing content of any media type and file type. For example, video hosting site 100 shares content such as video, audio, a combination of video and audio, images such as JPEG or GIF files and/or text files, and the like.
视频托管站点100通信地耦合至网络122。在所示的实施例中,视频托管站点100包括:前端接口102、视频服务模块104、视频搜索模块106、上传服务器108、展示模块110、指纹生成器112、用户数据库114、视频数据库116、反馈服务模块124以及反馈数据库126。视频托管站点100的组件彼此通信地耦合。诸如防火墙、负载平衡、认证服务器、应用服务器、故障恢复(failover)服务器、站点管理工具等的其他常规特征未示出,从而不模糊系统的特征。在一个实施例中,视频托管站点100的所示组件实现为单个软件或硬件或多个软件或硬件。通常,在一个实施例中描述的作为由一个组件执行的功能,在其他实施例中也能够由其他组件执行,或者通过组件的组合执行。此外,在一个实施例中描述的作为由视频托管站点100的组件执行的功能,在适当的情况下在其他实施例中由一个或更多个客户端120或内容提供者118执行。在一个实施例中,归因于特定组件的功能由一起操作的不同或多个组件执行。Video hosting site 100 is communicatively coupled to network 122 . In the illustrated embodiment, video hosting site 100 includes: front end interface 102, video service module 104, video search module 106, upload server 108, presentation module 110, fingerprint generator 112, user database 114, video database 116, feedback Service module 124 and feedback database 126 . The components of video hosting site 100 are communicatively coupled to each other. Other conventional features such as firewalls, load balancing, authentication servers, application servers, failover servers, site management tools, etc. are not shown so as not to obscure the characteristics of the system. In one embodiment, the illustrated components of video hosting site 100 are implemented as a single piece of software or hardware or as multiple pieces of software or hardware. Generally, a function described as being performed by one component in one embodiment can also be performed by other components in other embodiments, or performed by a combination of components. Furthermore, functionality described in one embodiment as being performed by components of video hosting site 100 is performed in other embodiments by one or more clients 120 or content providers 118, as appropriate. In one embodiment, the functionality attributed to a particular component is performed by different or multiple components operating together.
视频托管站点100上的各种服务器和模块中的每一个均实现为在服务器级计算机上执行的服务器程序,所述服务器级计算机包括一个或更多个中央处理单元(“CPU”或多个情况下的“多个CPU”)、存储器、网络接口、外围接口以及其他已知组件。在一个实施例中,计算机本身允许运行诸如LINUX的开源操作系统,具有一个或更多个CPU,十亿字节或更多个的存储器、以及一千亿万或更多光盘存储装置。在一个实施例中,使用其他类型的计算机,并预期在将来开发的更强大的计算机,它们根据本文所公开的教导配置。在另一个实施例中,由任何元件实现的功能根据计算机程序产品提供,所述计算机程序产品被存储在一个或更多个有形的、非临时性的计算机可读存储介质(例如,随机存取存储器(“RAM”),闪存,固态驱动(“SSD”),硬盘驱动,光学/磁介质等)。Each of the various servers and modules on video hosting site 100 is implemented as a server program executing on a server-grade computer that includes one or more central processing units ("CPUs" or "Multiple CPUs" below), memory, network interfaces, peripheral interfaces, and other known components. In one embodiment, the computer itself allows running an open source operating system such as LINUX, has one or more CPUs, a gigabyte or more of memory, and a hundred billion or more optical disc storage. In one embodiment, other types of computers are used, and it is anticipated that more powerful computers will be developed in the future, configured according to the teachings disclosed herein. In another embodiment, the functionality implemented by any element is provided according to a computer program product stored on one or more tangible, non-transitory computer-readable storage media (e.g., random access memory (“RAM”), flash memory, solid-state drive (“SSD”), hard disk drive, optical/magnetic media, etc.).
前端接口102是经由网络122处理提供与内容提供者118和/或客户端120的通信的接口。例如,前端接口102接收从内容提供者118上传的视频文件,并且将所述视频文件传递给上传服务器108。在一个实施例中,前端接口102接收来自客户端120的用户的请求,并且将所述请求传递给视频托管站点100的其他组件(例如,视频搜索模块106、视频服务模块104等)。例如,前端接口102接收来自用户的视频搜索查询,并且将所述视频搜索查询发送到视频搜索模块106。Front-end interface 102 is an interface that handles providing communications with content providers 118 and/or clients 120 via network 122 . For example, front-end interface 102 receives uploaded video files from content provider 118 and transfers the video files to upload server 108 . In one embodiment, front-end interface 102 receives requests from users of client 120 and passes the requests to other components of video hosting site 100 (eg, video search module 106, video service module 104, etc.). For example, the front end interface 102 receives a video search query from a user and sends the video search query to the video search module 106 .
上传服务器108经由前端接口102接收来自内容提供者118的视频文件。在一个实施例中,上传服务器108处理视频文件并且将视频文件存储在视频数据库116中。例如,上传服务器108向视频分配视频识别(视频ID),并将视频和视频ID存储在视频数据库116中。由上传服务器108处理的视频文件的另一个示例包括执行以下一个或多个:格式化、压缩、元数据标记和内容分析等。The upload server 108 receives video files from the content provider 118 via the front-end interface 102 . In one embodiment, upload server 108 processes the video files and stores the video files in video database 116 . For example, the upload server 108 assigns a video identification (video ID) to the video, and stores the video and the video ID in the video database 116 . Another example of video files processed by upload server 108 includes performing one or more of: formatting, compression, metadata tagging, and content analysis, among others.
视频数据库116是一种存储系统,其用于存储视频由视频托管站点100与用户共享的文件。在一个实施例中,视频数据库116存储由上传服务器108处理的视频文件。在另一个实施例中,视频数据库116存储视频文件的元数据。例如,视频数据库116存储以下一个或多个:标题、描述、标签信息和视频文件的管理权利。视频文件的管理权利包括以下一个或多个:删除视频文件的权利、编辑关于视频文件的信息的权利、和将视频文件与广告相关联的权利等。在一个实施例中,由内容提供者118提供视频文件的元数据的一些或全部。例如,内容提供者118在将视频上传至视频托管站点100时提供视频的标题和简短说明。Video database 116 is a storage system used to store video files shared by video hosting site 100 with users. In one embodiment, video database 116 stores video files processed by upload server 108 . In another embodiment, video database 116 stores metadata for video files. For example, video database 116 stores one or more of the following: title, description, tag information, and administrative rights for video files. Management rights for video files include one or more of the following: rights to delete video files, rights to edit information about video files, and rights to associate video files with advertisements, among others. In one embodiment, some or all of the video file's metadata is provided by the content provider 118 . For example, the content provider 118 provides a title and a short description of the video when uploading the video to the video hosting site 100 .
视频搜索模块106是当由处理器(未示出)执行时,处理由前端接口102从用户接收到任何的搜索查询的代码和例程。来自用户的搜索查询包括诸如关键字的搜索条件,例如,识别用户有兴趣观看的视频。在一个实施例中,视频搜索模块106使用搜索条件查询存储在视频数据库116中视频文件的元数据,并且经由前端接口102向用户返回搜索结果。例如,如果用户经由前端接口102向视频搜索模块106提供关键字搜索查询,则视频搜索模块106识别存储在视频数据库116中的与关键字相匹配的视频,并且经由前端接口102向用户返回搜索结果(例如,视频ID、标题、描述、所识别的视频的缩略图)。Video search module 106 is the code and routines that, when executed by a processor (not shown), process any search query received by front end interface 102 from a user. Search queries from users include search criteria such as keywords, for example, to identify videos that the user is interested in watching. In one embodiment, the video search module 106 uses search criteria to query metadata of video files stored in the video database 116 , and returns search results to the user via the front-end interface 102 . For example, if a user provides a keyword search query to the video search module 106 via the front-end interface 102, the video search module 106 identifies videos stored in the video database 116 that match the keyword, and returns search results to the user via the front-end interface 102 (e.g. video ID, title, description, thumbnail of the identified video).
视频服务模块104是当由处理器(未示出)执行时,处理视频请求并且将视频供应给用户的代码和例程。例如,视频服务模块104从用户接收观看视频的请求,基于请求的至少部分从视频数据库116中检索视频,并且经由前端接口102向用户呈现视频。Video service module 104 is the code and routines that, when executed by a processor (not shown), process video requests and serve video to users. For example, video service module 104 receives a request from a user to view a video, retrieves the video from video database 116 based at least in part on the request, and presents the video to the user via front-end interface 102 .
在一个实施例中,视频服务模块104接收来自用户的请求以在用户点击去往视频的链接时访问该视频。从用户接收到的请求包括视频的视频ID。在一个实施例中,一旦用户点击针对视频的链接,视频ID就自动包括在请求中。视频服务模块104使用视频ID以搜索和定位视频数据库116中的视频。一旦所请求的视频被定位,视频服务模块104就经由前端接口102向用户发送该视频。在一个实施例中,视频在Web浏览器上呈现给用户。诸如视频的标题和描述的与视频相关联的元数据也呈现给用户。在一个实施例中,在向用户发送视频之后,视频服务模块104将视频的视频ID存储在用户数据库114中,以便将用户的视频观看历史存储在用户数据库114中。In one embodiment, the video service module 104 receives a request from a user to access a video when the user clicks on a link to the video. The request received from the user includes the video ID of the video. In one embodiment, once the user clicks on the link for the video, the video ID is automatically included in the request. The video service module 104 uses the video ID to search and locate videos in the video database 116 . Once the requested video is located, the video service module 104 sends the video to the user via the front end interface 102 . In one embodiment, the video is presented to the user on a web browser. Metadata associated with the video, such as the video's title and description, is also presented to the user. In one embodiment, after sending the video to the user, the video service module 104 stores the video ID of the video in the user database 114 so as to store the user's video viewing history in the user database 114 .
用户数据库114是一种存储系统,其用于存储与任何用户相关联的数据和/或信息。例如,用户数据库114存储由用户上传的视频文件的视频ID,以便在用户数据库114中保持用户的视频上传历史。用户数据库114还存储用户已经从视频数据库116访问以进行观看的视频文件的视频ID,以便将用户的视频观看历史存储在用户数据库114中。在一个实施例中,通过使用一个唯一的用户名和密码和/或通过使用用户的因特网协议地址来识别用户。User database 114 is a storage system for storing data and/or information associated with any user. For example, the user database 114 stores video IDs of video files uploaded by users so as to maintain the user's video upload history in the user database 114 . The user database 114 also stores video IDs of video files that the user has accessed from the video database 116 for viewing, so that the user's video viewing history is stored in the user database 114 . In one embodiment, the user is identified by using a unique username and password and/or by using the user's Internet Protocol address.
缩略图生成器112是生成针对视频的缩略图的代码和例程。缩略图是代表视频托管站点100上的视频的图像。例如,缩略图生成器112对视频进行分析,并从视频中选择一帧作为缩略图。在一个实施例中,缩略图生成器112提供针对视频的一个或多个图像,并允许发布者(例如,上传视频的用户)选择一个图像作为缩略图。Thumbnail generator 112 is code and routines that generate thumbnails for videos. Thumbnails are images that represent videos on the video hosting site 100 . For example, the thumbnail generator 112 analyzes the video and selects a frame from the video as a thumbnail. In one embodiment, thumbnail generator 112 provides one or more images for a video and allows a publisher (eg, a user who uploaded a video) to select an image as a thumbnail.
反馈数据库126是存储生成用户反馈所需数据的存储系统。参照反馈服务模块124在下面更详细描述用户反馈。在反馈数据库126中存储的数据包括社交反馈。社交反馈是描述由一个或多个用户在视频托管站点100和/或第三方站点128上执行的一个或更多个活动的数据。在一个实施例中,社交反馈由反馈服务模块124和/或存储在前端接口102上的一个或更多个模块处理,以产生用户反馈。在一个实施例中,社交反馈是数据反馈,其包括对由一个或多个用户在视频托管站点100上执行的活动的描述、和对由一个或多个用户在第三方站点128上执行的活动的描述(例如,社交网站、第三方视频托管站点、与社交网络特征集成的视频托管站点、在线公告板等)。在一个实施例中,反馈数据库126存储社交反馈的全部或子集。Feedback database 126 is a storage system that stores data needed to generate user feedback. User feedback is described in more detail below with reference to the feedback service module 124 . The data stored in the feedback database 126 includes social feedback. Social feeds are data describing one or more activities performed by one or more users on video hosting site 100 and/or third-party sites 128 . In one embodiment, social feedback is processed by the feedback service module 124 and/or one or more modules stored on the front end interface 102 to generate user feedback. In one embodiment, social feedback is data feedback that includes descriptions of activities performed by one or more users on video hosting site 100, and activities performed by one or more users on third-party sites 128 (eg, social networking sites, third-party video hosting sites, video hosting sites integrated with social networking features, online bulletin boards, etc.). In one embodiment, the feedback database 126 stores all or a subset of social feedback.
活动是在视频托管站点100和/或第三方网站128上采取的行动。活动的示例包括:观看视频、评论视频、在第三方网站128共享视频、评级视频等级、将视频标记作为喜爱的视频、将视频标记作为喜欢的视频、上传视频、订阅视频频道、向播放列表添加视频、管理播放列表、编辑简档信息和/或管理私人设置等。在一个实施例中,由用户执行的活动与用户输入相关联。例如,如果用户通过点击“播放”按钮观看视频,则通过视频托管站点100接收针对活动“观看视频”的用户输入。Activities are actions taken on the video hosting site 100 and/or third party website 128 . Examples of activities include: watching a video, commenting on a video, sharing a video on a third-party site 128, rating a video, marking a video as a favorite, marking a video as a favorite, uploading a video, subscribing to a video channel, adding to a playlist videos, manage playlists, edit profile information and/or manage private settings, etc. In one embodiment, an activity performed by a user is associated with user input. For example, if a user watches a video by clicking a "play" button, user input for the activity "watch video" is received by the video hosting site 100 .
在一个实施例中,社交馈送包括对一个或更多个已经在视频托管站点100上执行的所有现场(onsite)活动的描述。在一个实施例中,视频托管站点100仅在用户许可的情况下收集此信息,并根据用户给出的许可使用任何收集的信息。例如,在用户已经给出视频托管站点100许可以允许这样做的情况下,视频托管站点100仅基于用户的信息向用户的朋友给出建议。现场活动是由用户在视频托管站点100执行的任何活动。例如,社交馈送包括以下一个或更多个:在视频托管站点100上上传视频;在视频托管站点100上观看视频;以及在视频托管站点100上将视频标记作为最喜爱的视频等等。在一个实施例中,社交馈送包括对一个或更多个用户已经在视频托管站点100上执行的现场活动的子集的描述。In one embodiment, the social feed includes a description of one or more all onsite activities that have been performed on the video hosting site 100 . In one embodiment, video hosting site 100 only collects this information with the user's permission and uses any collected information in accordance with the permission given by the user. For example, where the user has given video hosting site 100 permission to do so, video hosting site 100 will only make recommendations to the user's friends based on the user's information. A live event is any activity performed by a user at the video hosting site 100 . For example, a social feed includes one or more of: uploading a video on the video hosting site 100; viewing a video on the video hosting site 100; marking a video as a favorite video on the video hosting site 100, and so on. In one embodiment, the social feed includes descriptions of a subset of live activities that one or more users have performed on the video hosting site 100 .
在另一个实施例中,社交馈送包括对一个或更多个用户已经在诸如第三方站点128的第三方站点上执行的所有非现场(offsite)活动的描述。在一个实施例中,视频托管站点100仅在用户许可的情况下收集此信息。非现场活动是在第三方站点128上执行的活动。例如,如果用户将他/她在视频托管站点100的账户连接到他/她在第三方站点128的账户,并且允许所述视频托管站点100监视他/她在活动第三方站点128上的活动,则第三方站点128上的所有他/她的活动都通过所述视频托管站点100收集并且包括在社交馈送中。在一个实施例中,社交馈送包括对一个或更多个用户在第三方站点128上已经执行的非现场活动的子集的描述。In another embodiment, the social feed includes a description of all offsite activities that one or more users have performed on a third party site, such as third party site 128 . In one embodiment, video hosting site 100 only collects this information with the user's permission. Off-site activities are activities performed on third-party sites 128 . For example, if a user links his/her account at the video hosting site 100 to his/her account at the third party site 128 and allows the video hosting site 100 to monitor his/her activity on the active third party site 128, All his/her activity on the third party site 128 is then collected by the video hosting site 100 and included in the social feed. In one embodiment, the social feed includes descriptions of a subset of off-site activities that one or more users have performed on the third-party site 128 .
在又一实施例中,社交馈送包括对一个或更多个用户的所有现场活动和非现场活动的描述。在一个实施例中,视频托管站点100仅在用户许可的情况下收集此信息。在一个实施例中,社交馈送包括一个或更多个用户在视频托管站点100上已经执行的现场活动的子集的描述,和/或对一个或更多个用户在第三方站点128上已经执行的非现场活动的子集的描述。In yet another embodiment, the social feed includes descriptions of all live and off-site activities of one or more users. In one embodiment, video hosting site 100 only collects this information with the user's permission. In one embodiment, the social feed includes descriptions of a subset of live activities that one or more users have performed on video hosting site 100, and/or a description of what one or more users have performed on third-party site 128. A description of a subset of off-site activities.
馈送服务模块124是处理在视频托管站点100和/或第三方站点128上所执行的活动的代码和例程。例如,馈送服务模块124实时监视在视频托管站点100和/或第三方站点128上执行的活动,并且实时处理所述活动。在一个实施例中,馈送服务模块124从存储在馈送数据库126中的社交馈送中检索活动。在另一实施例中,馈送服务模块124实时地检索活动。例如,馈送服务模块124实时监视视频托管站点100和/或第三方站点128上的活动。馈送服务模块124存储对实时活动的描述,以便于稍后用作馈送数据库126中的社交馈送的一部分。Feed service module 124 is code and routines that handle activities performed on video hosting site 100 and/or third party sites 128 . For example, the feed service module 124 monitors the activity performed on the video hosting site 100 and/or the third party site 128 in real time and processes the activity in real time. In one embodiment, the feed service module 124 retrieves activity from social feeds stored in the feed database 126 . In another embodiment, the feed service module 124 retrieves the campaigns in real time. For example, feed service module 124 monitors activity on video hosting site 100 and/or third party sites 128 in real time. Feed service module 124 stores descriptions of real-time activity for later use as part of a social feed in feed database 126 .
在一个实施例中,馈送服务模块124接收一个或更多个用户输入,该一个或者多个用户输入是针对在视频托管站点100和/或第三方站点128上执行的一个或更多个活动。所述一个或更多个用户输入与描述一个或更多个活动的社交活动信息相关联。馈送服务模块124至少部分地基于一个或更多个用户输入聚合社交活动信息,以生成经聚合社交活动信息作为输出,并且将所述经聚合社交活动信息提供给用户。在另一个实施例中,馈送服务模块124至少部分地基于一个或更多个用户输入来过滤社交活动信息,并且生成经过滤社交活动信息作为输出。馈送服务模块124将经过滤社交活动信息提供给用户。在又一实施例中,馈送服务模块124至少部分地基于一个或更多个用户输入确定视频推荐。馈送服务模块124将视频推荐提供给用户。视频推荐是向用户推荐的视频。例如,馈送服务模块124至少部分地基于用户的观看历史向用户推荐视频。在又一实施例中,馈送服务模块124对包括一个或更多个活动的社交馈送进行排序,并且形成经排序馈送作为输出。馈送服务模块124将经排序馈送提供给用户。In one embodiment, feed service module 124 receives one or more user inputs for one or more activities performed on video hosting site 100 and/or third party site 128 . The one or more user inputs are associated with social activity information describing one or more activities. The feed service module 124 aggregates social activity information based at least in part on the one or more user inputs to generate aggregated social activity information as an output and provides the aggregated social activity information to the user. In another embodiment, the feed service module 124 filters the social activity information based at least in part on the one or more user inputs, and generates as output the filtered social activity information. The feed service module 124 provides filtered social activity information to users. In yet another embodiment, the feed service module 124 determines video recommendations based at least in part on one or more user inputs. The feed service module 124 provides video recommendations to users. Video recommendations are videos that are recommended to users. For example, the feed service module 124 recommends videos to the user based at least in part on the user's viewing history. In yet another embodiment, the feed service module 124 ranks the social feed including one or more activities and forms a ranked feed as output. The feed service module 124 provides the ordered feed to the user.
在一个实施例中,馈送服务模块124被配置为从馈送数据库126中检索的社交馈送,处理所述社交馈送并作为处理所述社交馈送的输出形成用户馈送。例如,馈送服务模块124接收包括在社交馈送内的一个或更多个活动,并且处理所述的一个或更多个活动以形成用户馈送。用户馈送是由于对社交馈送进行处理而导致的数据和/或信息的馈送。在一个实施例中,用户馈送包括如下一个或更多个:经聚合社交活动信息、经过滤社交活动信息、视频推荐和经排序馈送。在一个实施例中,用户馈送存储在馈送数据库126中。下面参考图2进一步详细描述馈送服务模块124。In one embodiment, the feed service module 124 is configured to retrieve social feeds from the feed database 126, process the social feeds and form user feeds as an output of processing the social feeds. For example, feed service module 124 receives one or more activities included in a social feed and processes the one or more activities to form a user feed. A user feed is a feed of data and/or information resulting from processing a social feed. In one embodiment, the user feed includes one or more of: aggregated social activity information, filtered social activity information, video recommendations, and ranked feeds. In one embodiment, user feeds are stored in a feed database 126 . The feed service module 124 is described in further detail below with reference to FIG. 2 .
呈现模块110是当由处理器(未图示)执行时,向诸如客户端120的对应客户端设备来呈现旨在针对用户的任何信息的代码和例程。例如,呈现模块110生成与信息相关联的图形,并经由前端接口102和网络122将所述图形发送到安装在客户端120中的web浏览器(未图示)。在一个实施例中,旨在针对用户的信息包括用户馈送。在另一个实施例中,旨在针对用户的信息包括用户馈送的子集。例如,旨在针对用户的信息包括以下一个或更多个:经聚合社交活动信息、经过滤社交活动信息、视频推荐和经排序馈送。Presentation module 110 is the code and routines that, when executed by a processor (not shown), present any information intended for a user to a corresponding client device, such as client 120 . For example, presentation module 110 generates graphics associated with the information and sends the graphics to a web browser (not shown) installed in client 120 via front-end interface 102 and network 122 . In one embodiment, information intended for users includes user feeds. In another embodiment, the information intended for the user includes a subset of user feeds. For example, information intended for the user includes one or more of: aggregated social activity information, filtered social activity information, video recommendations, and ranked feeds.
内容提供者118是向视频托管站点100提供视频文件的任何设备。例如,内容提供者118是用于将视频文件上传到视频托管站点100的计算设备。内容提供者118通信地耦合到网络122。在一个实施例中,内容提供者118也是客户端120。在另一实施例中,内容提供者118是对视频托管站点100进行操作的同一实体。A content provider 118 is any device that provides video files to video hosting site 100 . For example, content provider 118 is a computing device used to upload video files to video hosting site 100 . Content provider 118 is communicatively coupled to network 122 . In one embodiment, the content provider 118 is also the client 120 . In another embodiment, content provider 118 is the same entity that operates video hosting site 100 .
在一个实施例中,内容提供者118被配置成由用户操作以执行各种的内容提供者功能。内容提供者功能的示例包括但不限于:上传视频到视频托管站点100;编辑由视频托管站点100所存储的视频;从视频托管站点100去除视频以及编辑与视频相关联的内容提供者偏好。In one embodiment, content provider 118 is configured to be operated by a user to perform various content provider functions. Examples of content provider functions include, but are not limited to: uploading videos to video hosting site 100; editing videos stored by video hosting site 100; removing videos from video hosting site 100 and editing content provider preferences associated with videos.
客户端120是任何基于处理器的计算设备。客户端120存储并执行诸如web浏览器的客户端软件,并且使用所述客户端软件经由网络122连接到视频托管站点100。在一个实施例中,客户端120包括各种不同的计算设备。客户端120的示例包括但不限于:个人计算机、个人数字助理、电视设置盒、平板计算机、智能手机和膝上型电脑。客户端120包括一个或更多个处理器(未图示),存储器(未图示)和计算设备惯用的其他部件。在一个实施例中,客户端120通信地耦合到网络122。Client 120 is any processor-based computing device. The client 120 stores and executes client software such as a web browser, and uses the client software to connect to the video hosting site 100 via the network 122 . In one embodiment, clients 120 include a variety of different computing devices. Examples of clients 120 include, but are not limited to, personal computers, personal digital assistants, television setup boxes, tablet computers, smartphones, and laptops. Client 120 includes one or more processors (not shown), memory (not shown), and other components customary to computing devices. In one embodiment, client 120 is communicatively coupled to network 122 .
在一个实施例中,配置客户端120作为内容提供者118以向视频托管站点100提供视频文件。在另一实施例中,客户端120配置为观看由视频托管站点100提供的视频。例如,客户端120包括适于在视频托管站点100中使用的视频文件格式的嵌入式视频播放器(例如,来自Adobe系统公司的FlashTM播放器),以便用户能够使用客户端120中的嵌入式视频播放器观看来自视频托管站点100的视频。In one embodiment, client 120 is configured as content provider 118 to provide video files to video hosting site 100 . In another embodiment, client 120 is configured to watch videos provided by video hosting site 100 . For example, client 120 includes an embedded video player (e.g., Flash ™ player from Adobe Systems, Inc.) suitable for the video file format used in video hosting site 100, so that users can use the embedded video player in client 120. The video player watches videos from the video hosting site 100 .
前端接口102、视频服务模块104、视频搜索模块106、上传服务器108、呈现模块110、缩略图生成器112、、用户数据库114、视频数据库116、馈送服务模块124和馈送数据库126经由一个或更多个信号线彼此通信地耦合。在一个实施例中,前端接口102、视频服务模块104、视频搜索模块106、上传服务器108、呈现模块110、缩略图生成器112、、用户数据库114、视频数据库116、馈送服务模块124和馈送数据库126经由总线彼此通信地耦合(未图示)。Front-end interface 102, video service module 104, video search module 106, upload server 108, presentation module 110, thumbnail generator 112, user database 114, video database 116, feed service module 124 and feed database 126 via one or more The signal lines are communicatively coupled to each other. In one embodiment, front-end interface 102, video service module 104, video search module 106, upload server 108, rendering module 110, thumbnail generator 112, user database 114, video database 116, feed service module 124, and feed database 126 are communicatively coupled to each other via a bus (not shown).
馈送服务模块Feed service module
图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内。Figure 2 is a block diagram illustrating a feed service module according to one embodiment. In the illustrated embodiment, the feed service module 124 includes an aggregation module 202 , a filter module 204 , a recommendation module 206 , a feed ranking module 208 , and an activity monitor module 210 . Here, aggregation module 202, filter module 204, recommendation module 206, and feed ranking module 208 are depicted by rectangles formed by dashed lines to indicate that, in one embodiment, one or more of aggregation module 202, filter module 204, The recommendation module 206 and the feed ranking module 208 are included within the feed service module 124; while in another embodiment, one or more of the aggregation module 202, the filter module 204, the recommendation module 206 and the feed ranking module 208 are included Inside the front-end interface 102 . For example, in one embodiment, aggregation module 202 and filter module 204 are included within feed service module 124 , while recommendation module 206 and feed ranking module 208 are included within front-end interface 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和元数据用以向用户呈现。Feed service module 124 is communicatively coupled to front end interface 102 via signal line 201 . For example, in one embodiment of the feed, the feed service module 124 sends the user feed to the front-end interface 102 via the signal line 201, and the front-end interface 102 passes the user feed to the client 120 via the network 122 described above with reference to FIG. 1 . Feed service module 124 is also coupled to video database 116 via signal line 203 , to user database 114 via signal line 205 , and to feed database 126 via signal line 207 . For example, feed service module 124 retrieves information describing the social feed from feed database 126 via signal line 207, generates information describing the user feed based at least in part on the information describing the social feed, and stores the information describing the user feed via signal line 207 in Feeds on database 126. In one embodiment, the feed service module 124 retrieves the user's video viewing history from the user database 114 via the signal line 205 . For example, the feed service module 124 retrieves the video ID of the video file watched by the user from the user database 114 via the signal line 205 . In another embodiment, the feed service module 124 retrieves the video ID and metadata (eg, title, description, etc. of the video) of the video associated with the video ID from the video database 116 via the signal line 203 . For example, the feed service module 124 retrieves the video ID and metadata associated with the video recommended to the user from the video database 116 via the signal line 203 and sends the video ID and metadata to the presentation module 110 for presentation to the user.
聚合模块202是聚合社交活动信息的代码和例程。例如,聚合模块202检索针对一个或更多个活动的一个或更多个用户输入,处理所述一个或更多个用户输入以聚合与该一个或更多个用户输入相关联的社交活动信息,并且生成经聚合社交活动信息作为输出。在一个实施例中,聚合模块202通信地耦合到馈送数据库126,以经由信号线207从馈送数据库126中检索社交馈送。社交馈送包括一个或更多个活动。所述一个或更多个活动是在视频托管站点100和/或第三方站点128上执行的活动。在一个实施例中,代替对社交馈送进行检索,所述聚合模块经由信号线207从馈送数据库126中检索一个或更多个活动。The aggregation module 202 is code and routines that aggregate social activity information. For example, the aggregation module 202 retrieves one or more user inputs for one or more activities, processes the one or more user inputs to aggregate social activity information associated with the one or more user inputs, And aggregated social activity information is generated as output. In one embodiment, aggregation module 202 is communicatively coupled to feed database 126 to retrieve social feeds from feed database 126 via signal line 207 . A social feed includes one or more activities. The one or more activities are activities performed on video hosting site 100 and/or third party site 128 . In one embodiment, instead of retrieving social feeds, the aggregation module retrieves one or more activities from feed database 126 via signal line 207 .
在一个实施例中,所述一个或更多个活动提供与用户或该用户的朋友相关联的社交活动信息。例如,所述一个或更多个活动是由一个或更多个第一用户的朋友执行的活动。在一个实施例中,所述第一用户的朋友可以是与第一用户相关联的视频托管站点100的任何第二用户,作为所述第一用户的朋友。在另一实施例中,所述第一用户的朋友包括经由社交图形连接到所述第一用户的视频托管站点100的任何第二用户。例如,如果第一用户和第二用户作为朋友相关联,并且第三用户关联为第二用户的朋友,则所述第三用户也关联为所述第一用户的朋友。在一个实施例中,这些各种友谊用于生成用户馈送并存储在馈送数据库126中。In one embodiment, the one or more activities provide social activity information associated with the user or friends of the user. For example, the one or more activities are activities performed by one or more friends of the first user. In one embodiment, the first user's friend may be any second user of the video hosting site 100 associated with the first user as a friend of the first user. In another embodiment, the first user's friends include any second user connected to the first user's video hosting site 100 via a social graph. For example, if a first user and a second user are associated as friends, and a third user is associated as a friend of the second user, then the third user is also associated as a friend of the first user. In one embodiment, these various friendships are used to generate user feeds and stored in the feed database 126 .
在另一实施例中,所述一个或更多个活动提供与视频托管站点100上的一个或更多个著名视频相关联的社交活动信息。例如,一个或更多个活动描述针对著名视频而公布的一个或更多个新评论。著名视频的示例包括但不限于:最流行的视频、频繁收藏的视频和有特色的视频等。In another embodiment, the one or more activities provide social activity information associated with one or more notable videos on the video hosting site 100 . For example, one or more campaigns describe one or more new comments posted for famous videos. Examples of notable videos include, but are not limited to: most popular videos, frequently favorited videos, featured videos, etc.
流行的视频是已被观看预定的次数的视频,是在视频托管网站100和/或第三方站点128上受欢迎程度趋向上升的视频、和/或满足本领域中已知的用于确定流行的视频的任何其他条件的视频。例如,流行的视频是已经被观看过百万次或更多次的视频。在另一个示例中,流行的视频是趋向于受到用户的朋友或用户的社交图形的成员的欢迎的视频。视频的流行度至少部分地基于以下一个或更多个确定:视频观看计数(例如,观看视频的数目)、视频共享计数(例如,视频在一个或更多个第三方站点128上被共享的次数)、视频的用户评级、喜欢的计数(例如,喜欢的视频的数目)、不喜欢的计数(例如,不喜欢的视频的计数)和/或评论计数(例如,附加到视频的评论的数目)等等。A popular video is a video that has been viewed a predetermined number of times, is a video that is trending in popularity on the video hosting website 100 and/or third-party site 128, and/or meets criteria known in the art for determining popularity. Video of any other condition of the video. For example, a popular video is one that has been viewed a million or more times. In another example, popular videos are videos that tend to be popular with the user's friends or members of the user's social profile. The popularity of a video is determined based at least in part on one or more of: a video view count (e.g., the number of times a video is viewed), a video share count (e.g., the number of times a video is shared on one or more third-party sites 128 ), the video's user rating, like count (e.g., the number of liked videos), dislike counts (e.g., the count of disliked videos), and/or comment counts (e.g., the number of comments attached to the video) etc.
频繁收藏的视频是:已经被预定数目的用户选择为“最喜爱”视频的视频;在被用户的朋友或用户的社交图形的成员选择为“最喜爱”方面趋向于上升的视频;和/或满足本领域中已知的用于确定流行的视频的任何其他条件的视频。例如,频繁收藏的视频是视频已经被一百万用户选择为“最喜爱”的视频。在另一个示例中,频繁收藏的视频是趋向于被用户的朋友或用户的社交图形的成员选择为“最喜爱”的视频。A frequently favorited video is a video that has been selected as a "favorite" video by a predetermined number of users; a video that tends to rise in terms of being selected as a "favorite" by the user's friends or members of the user's social profile; and/or Videos that meet any other criteria known in the art for determining popular videos. For example, a frequently favorited video is a video that has been selected as a "favorite" by one million users. In another example, frequently favorited videos are videos that tend to be selected as "favorites" by the user's friends or members of the user's social profile.
有特色的视频是托管站点100的管理员已指定为有特色视频的视频,和/或满足本领域中已知的用于确定有特色的视频的任何其他条件的视频。例如,视频的所有者付费并且将所述视频指定为有特色的视频。在其他实施例中,有特色的视频可能通过一个过程确定而不需要付费。在一个实施例中,有特色的视频是与目前正在被客户端设备120的用户(或用户的朋友)观看的视频的内容有关的视频,或与近来被客户端设备120的用户观看的一个或更多个视频有关的视频。在一个实施例中,有特色的视频是从存储在视频数据库116中的内容伙伴视频的池中拉出来的视频。内容伙伴视频是由内容伙伴上传的视频。内容伙伴是与视频托管站点100的所有者具有收益共享关系的内容提供者118的用户。在一个实施例中,有特色视频至少部分地基于客户端设备120的地理位置在馈送中选择用于显示。A featured video is a video that the administrator of the hosting site 100 has designated as a featured video, and/or meets any other criteria known in the art for determining a featured video. For example, the owner of a video pays and designates the video as a featured video. In other embodiments, featured videos may be determined through a process without payment. In one embodiment, the featured video is a video related to the content of a video currently being viewed by the user of client device 120 (or a friend of the user), or related to one or more recent videos viewed by the user of client device 120. More videos about the video. In one embodiment, the featured videos are videos pulled from a pool of content partner videos stored in the video database 116 . Content partner videos are videos uploaded by content partners. A content partner is a user of a content provider 118 that has a revenue sharing relationship with the owner of the video hosting site 100 . In one embodiment, the featured video is selected for display in the feed based at least in part on the geographic location of the client device 120 .
在一个实施例中,聚合模块202被配置为聚合社交活动信息,所述社交活动信息至少部分地基于与所述一个或更多个用户输入相关联的一个或更多个公共用户来描述所述一个或更多个活动。聚合模块202确定针对一个或更多个用户输入的一个或更多个用户。例如,聚合模块202至少部分地基于存储在用户数据库114中的所有信息(或信息的子集)和/或存储在馈送数据库126中的所有信息(或信息的子集),确定针对一个或更多个用户输入的一个或更多个用户。聚合模块202将一个或更多个用户输入分离成一个或更多个组,以便每个组都具有公共用户。聚合模块202至少部分地基于公共用户聚合针对用户输入的每个组的社交活动信息。请注意,在多个实施例中,用户已选择将他们的活动用作聚合的一部分。In one embodiment, the aggregation module 202 is configured to aggregate social activity information describing the social activity information based at least in part on one or more public users associated with the one or more user inputs. one or more activities. The aggregation module 202 determines one or more users for the one or more user inputs. For example, aggregation module 202 determines, based at least in part on all information (or a subset of information) stored in user database 114 and/or all information (or a subset of information) stored in feed database 126, for one or more One or more users entered by multiple users. The aggregation module 202 separates the one or more user inputs into one or more groups such that each group has a common user. The aggregation module 202 aggregates the social activity information for each group entered by the users based at least in part on the common users. Note that in various embodiments, users have opted in to have their activity used as part of the aggregation.
例如,聚合模块202接收针对四个活动的四个用户输入。每个用户输入针对不同的用户活动,以便总共有四个用户输入以及四个活动,所述四个活动中的每一个由四个用户输入中的不同一个代表。第一和第二用户输入由所述第一用户的第一个朋友(例如,第一个朋友是名为“Alice”的用户)提供。第三和第四用户输入由所述第一用户的第二个朋友(例如,第一个朋友是名为“Bob”的用户)提供。聚合模块202至少部分地基于公共用户将四个用户输入划分为两组,以便第一组包括由Alice提供的第一和第二用户输入,并且第二组包括由Bob提供的第三和第四用户输入。第一组的公共用户是Alice。第二组的公共用户是Bob。聚合模块202单独聚合用户输入的每个组。例如,如果用户输入的第一组描述Alice将两个不同的视频上传到视频托管站点100,则聚合模块202聚合用户输入的第一组作为“Alice已经上传了两个新视频”。针对Bob发生类似的聚合,例如,“Bob已经评论了两个视频”。这种聚合的结果是:所有Alice的活动都被聚合到第一聚合描述(例如,“Alice已经上传了两个视频”)和所有Bob的活动都被聚合到第二聚合描述(例如,“Bob已经评论了两个视频”)。在其他系统中,每个活动都收到其自身的描述,因此,代替通过两种聚合描述来描述的四个活动,通过四种聚合描述来描述的四个活动。上述的聚合提供了许多好处。例如,由于每个公共用户的动作被聚合到聚合描述中,因此用户界面不太混乱并有更多的空间来描述更多的用户的活动。For example, aggregation module 202 receives four user inputs for four campaigns. Each user input is for a different user activity, so that in total there are four user inputs and four activities, each of the four activities being represented by a different one of the four user inputs. The first and second user inputs are provided by a first friend of the first user (eg, the first friend is a user named "Alice"). The third and fourth user inputs are provided by a second friend of the first user (eg, the first friend is a user named "Bob"). The aggregation module 202 divides the four user inputs into two groups based at least in part on the common user, such that the first group includes the first and second user inputs provided by Alice, and the second group includes the third and fourth user inputs provided by Bob. User input. The public user of the first group is Alice. The public user of the second group is Bob. The aggregation module 202 aggregates each group of user inputs individually. For example, if the first group entered by the user describes that Alice uploaded two different videos to the video hosting site 100, the aggregation module 202 aggregates the first group entered by the user as "Alice has uploaded two new videos." A similar aggregation occurs for Bob, eg, "Bob has commented on two videos". The result of this aggregation is: all Alice's activities are aggregated into the first aggregated description (e.g., "Alice has uploaded two videos") and all Bob's activities are aggregated into the second aggregated description (e.g., "Bob already commented on two videos"). In other systems, each activity receives its own description, so instead of four activities described by two aggregate descriptions, four activities are described by four aggregate descriptions. The aggregation described above provides many benefits. For example, since the actions of each public user are aggregated into an aggregated description, the user interface is less cluttered and has more space to describe more users' activities.
在另一个实施例中,聚合模块202被配置为至少部分地基于与所述一个或更多个用户输入相关联的一个或更多个公共视频来聚合所述社交活动信息。聚合模块202确定与所述一个或更多个用户输入相关联的一个或更多个视频。例如,聚合模块202至少部分地基于存储在用户数据库114中的所有信息(或信息的子集)和/或存储在馈送数据库126中的所有信息(或信息的子集),确定与所述一个或更多个用户输入相关联的一个或更多个视频。聚合模块202将一个或更多个用户输入分离成一个或更多个组,以便每个组都与公共视频相关联。聚合模块202至少部分地基于与每个组相关联的公共视频来聚合用于每个组的社交活动信息。例如,聚合模块202接收针对四个活动的四个用户输入。第一和第二用户输入与第一视频相关联(例如,第一和第二用户输入是对第一视频的评论)。第三和第四用户输入与第二视频相关联(例如,第三用户输入是对第二视频的评论并且第四用户输入是针对第二视频的“最喜爱”输入)。聚合模块202将四个用户输入划分为两组,以便第一组包括与第一视频相关联的第一和第二用户输入,并且第二组包括与第二视频相关联的第三和第四用户输入。聚合模块202至少部分地基于公共视频来单独聚合用户输入的每个组。例如,如果用户输入的第一组描述描述针对第一视频公布了两个新评论(例如,名为“Charlie Bit MyFinger”),则所述聚合模块202聚合用户输入的第一组为“视频‘CharlieBit My Finger’具有两个新评论”。In another embodiment, the aggregation module 202 is configured to aggregate the social activity information based at least in part on one or more public videos associated with the one or more user inputs. The aggregation module 202 determines one or more videos associated with the one or more user inputs. For example, based at least in part on all information (or a subset of information) stored in user database 114 and/or all information (or a subset of information) stored in feed database 126, aggregation module 202 determines a or more user input associated with one or more videos. The aggregation module 202 separates the one or more user inputs into one or more groups such that each group is associated with a common video. The aggregation module 202 aggregates the social activity information for each group based at least in part on the public videos associated with each group. For example, aggregation module 202 receives four user inputs for four campaigns. The first and second user inputs are associated with the first video (eg, the first and second user inputs are comments on the first video). The third and fourth user inputs are associated with the second video (eg, the third user input is a comment on the second video and the fourth user input is a "favorite" input for the second video). The aggregation module 202 divides the four user inputs into two groups such that the first group includes the first and second user inputs associated with the first video, and the second group includes the third and fourth user inputs associated with the second video. User input. The aggregation module 202 individually aggregates each group of user inputs based at least in part on the common video. For example, if the first set of descriptions entered by the user describes two new comments (e.g., titled "Charlie Bit MyFinger") for the first video, the aggregation module 202 aggregates the first set of user inputs as "Video" CharlieBit My Finger' has two new comments".
在又一实施例中,聚合模块202被配置为至少部分地基于与所述一个或更多个用户输入相关联的一个或更多个分类来聚合社交活动信息。分类包括下述内容的一个或更多个:对社交网站采取的动作、对在线公告板采取的动作、评论视频、将视频上传到视频站点、将视频标记作为最喜爱的视频、将视频标记作为喜欢的视频。In yet another embodiment, the aggregation module 202 is configured to aggregate social activity information based at least in part on one or more categories associated with the one or more user inputs. Categories include one or more of the following: actions taken on social networking sites, actions taken on online bulletin boards, commenting on videos, uploading videos to video sites, marking videos as favorites, marking videos as Liked video.
在一个实施例中,不同的分类具有存储在馈送数据库126中的预定重要性级别,并且聚合模块202被配置为至少部分地基于活动所属于分类的相对重要性来聚合所述活动。具体来说,下面的列表至少部分地基于重要性排序了分类,以便将最重要的分类列在第一位而将最不重要的分类列在最后:(1)对社交网站采取的动作;(2)对在线公告板采取的动作;(3)评论视频;(3)将视频上传到视频站点;(4)将视频标记作为最喜爱的视频;(5)将视频标记作为喜欢的视频。在一个实施例中,馈送数据库126存储指示上述层级的数据。在一个实施例中,由用户设置每个分类的重要性级别,以便用户可以定义针对不同分类的重要性的层级。In one embodiment, the different categories have predetermined levels of importance stored in the feed database 126, and the aggregation module 202 is configured to aggregate activities based at least in part on the relative importance of the categories to which the activities belong. Specifically, the following list orders categories based at least in part on importance so that the most important categories are listed first and the least important categories are listed last: (1) Actions taken on social networking sites; ( 2) actions taken on online bulletin boards; (3) comment on videos; (3) upload videos to video sites; (4) mark videos as favorites; (5) mark videos as favorites. In one embodiment, feed database 126 stores data indicative of the aforementioned hierarchy. In one embodiment, the importance level of each category is set by the user, so that the user can define a hierarchy of importance for different categories.
在一个实施例中,聚合模块202接收针对具有公共用户和公共视频的一个或更多个活动的一个或更多个用户输入。所述聚合模块202确定用于一个或更多个用户输入的公共用户和/或公共视频。例如,聚合模块202确定用于公共用户的用户名和用于公共视频的视频ID。聚合模块202将一个或更多个用户输入分类成一个或更多个组,以便用户输入的每个组与分类相关联。聚合模块202至少部分地基于与用户输入的一个或更多个组相关联的一个或更多个分类来聚合社交活动信息。In one embodiment, the aggregation module 202 receives one or more user inputs for one or more campaigns with public users and public videos. The aggregation module 202 determines common users and/or common videos for one or more user inputs. For example, the aggregation module 202 determines usernames for public users and video IDs for public videos. The aggregation module 202 classifies the one or more user inputs into one or more groups such that each group of user inputs is associated with a classification. The aggregation module 202 aggregates social activity information based at least in part on one or more categories associated with the one or more groups entered by the user.
在另一个实施例中,聚合模块202接收针对三个活动的三个用户输入。所述三个用户输入由公共用户(例如,“Alice”)提供并且与公共视频(例如,名为“Charlie Bit My Finger”)有关。第一用户输入是指Alice标记视频“Charlie Bit My Finger”作为最喜爱的视频。第二用户输入是指Alice在第一社交网站上分享所述视频。第三用户输入是指Alice在第二社交网站分享所述视频。第一用户输入与“将视频标记作为最喜爱的视频”的第一分类相关联,并且第二和第三用户输入与“对社交网站采取的动作”(例如,在社交网站共享视频)的第二分类相关联。聚合模块202至少部分地基于第一和第二分类聚合与所述三个用户输入相关联的社交活动信息。例如,如果第二分类具有比第一分类更高的重要性级别,则聚合模块202聚合针对三个用户输入的社交活动信息作为“Alice”已经在两个社交网站上分享了视频“Charlie Bit My Finger”。In another embodiment, the aggregation module 202 receives three user inputs for three campaigns. The three user inputs are provided by a public user (eg, "Alice") and relate to a public video (eg, titled "Charlie Bit My Finger"). The first user input refers to Alice marking the video "Charlie Bit My Finger" as a favorite video. The second user input refers to Alice sharing the video on the first social networking site. The third user input means that Alice shares the video on the second social networking site. The first user input is associated with the first category of "Mark video as favorite", and the second and third user inputs are associated with the first category of "Action taken on social networking site" (e.g., share video on social networking site). Binary categories are associated. The aggregation module 202 aggregates social activity information associated with the three user inputs based at least in part on the first and second classifications. For example, if the second category has a higher importance level than the first category, the aggregation module 202 aggregates the social activity information for three user inputs as "Alice" has shared the video "Charlie Bit My" on two social networking sites. Finger".
在一个实施例中,聚合模块202通信地耦合到馈送数据库126,呈现模块110和活动监视器模块210。在一个实施例中,聚合模块202:(1)从馈送数据库126中检索社交馈送;(2)将经聚合社交活动信息发送给呈现模块110,以呈现给客户;和(3)从活动监视器模块210接收针对一个或更多个活动的一个或更多个用户输入。在另一实施例中,针对一个或更多个活动的一个或更多个用户输入通过聚合模块202实时接收。In one embodiment, aggregation module 202 is communicatively coupled to feed database 126 , presentation module 110 and activity monitor module 210 . In one embodiment, aggregation module 202: (1) retrieves social feeds from feed database 126; (2) sends aggregated social activity information to presentation module 110 for presentation to customers; and (3) retrieves social feeds from activity monitor Module 210 receives one or more user inputs for one or more activities. In another embodiment, one or more user inputs for one or more activities are received by the aggregation module 202 in real-time.
过滤器模块204是用于过滤社交活动信息的代码和例程。例如,过滤器模块204是识别信息的唯一来源并且至少部分地基于所述唯一来源组织社交活动信息的过滤器。在一个实施例中,唯一来源是具有唯一用户名的用户或具有唯一视频ID的视频。然后,所述过滤器模块204至少部分地基于对社交活动信息的组织生成经过滤社交活动信息作为输出。Filter module 204 is code and routines for filtering social activity information. For example, filter module 204 is a filter that identifies unique sources of information and organizes social activity information based at least in part on the unique sources. In one embodiment, a unique source is a user with a unique username or a video with a unique video ID. The filter module 204 then generates as output filtered social activity information based at least in part on the organization of the social activity information.
过滤器模块204通信地耦合到馈送数据库126,以从馈送数据库126接收针对一个或更多个活动的一个或更多个用户输入。在一个实施例中,一个或更多个用户输入是针对来自从所述馈送数据库126中检索到的社交馈送的活动。在另一实施例中,一个或更多个用户输入是针对受活动监视器模块210监视的活动。所述一个或更多个活动可以是实时的或可以被延迟任何时间量。下面更详细描述地活动监视器模块210。在又一实施例中,活动的监察模块210通信地耦合到前端接口102以从所述前端接口102接收针对一个或更多个活动的一个或更多个用户输入。Filter module 204 is communicatively coupled to feed database 126 to receive one or more user inputs for one or more campaigns from feed database 126 . In one embodiment, the one or more user inputs are for activity from social feeds retrieved from the feed database 126 . In another embodiment, the one or more user inputs are for activities monitored by the activity monitor module 210 . The one or more activities may be in real time or may be delayed by any amount of time. The activity monitor module 210 is described in more detail below. In yet another embodiment, the campaign monitoring module 210 is communicatively coupled to the front-end interface 102 to receive from the front-end interface 102 one or more user inputs for one or more campaigns.
过滤器模块204确定针对一个或更多个用户输入的一个或更多个第一来源。例如,过滤器模块204确定用于每个用户输入的用户。第一来源的进一步示例包括但不限于:视频、视频频道和订阅。在一个实施例中,过滤器模块204被配置为根据针对一个或更多个用户输入的所有第一来源,确定一个或更多个唯一来源。例如,过滤器模块204根据针对所有用户输入的所有用户确定一个或更多个唯一用户作为唯一来源。如果两个或更多个用户输入具有公共用户,则过滤器模块204针对所述两个或更多用户输入确定公共用户作为唯一来源。备选地,如果两个或者更多用户输入由不同的用户提供,则过滤器模块204针对所述用户输入确定不同到的唯一来源。例如,如果过滤器模块204接收三个用户输入,其中第一用户输入由第一用户提供,第二和第三用户输入由第二用户提供,则所述过滤器模块204针对三个用户输入确定两个唯一来源。第一唯一来源是第一用户并且第二唯一来源是第二用户。The filter module 204 determines one or more first sources for the one or more user inputs. For example, filter module 204 determines a user for each user input. Further examples of first sources include, but are not limited to: videos, video channels, and subscriptions. In one embodiment, the filter module 204 is configured to determine one or more unique sources based on all first sources for the one or more user inputs. For example, the filter module 204 determines one or more unique users as unique sources based on all users entered for all users. If two or more user inputs have a common user, the filter module 204 determines the common user as the sole source for the two or more user inputs. Alternatively, if two or more user inputs are provided by different users, the filter module 204 determines a distinct unique source for the user inputs. For example, if the filter module 204 receives three user inputs, where the first user input is provided by a first user and the second and third user inputs are provided by a second user, then the filter module 204 determines for the three user inputs Two unique sources. The first unique source is the first user and the second unique source is the second user.
在一个实施例中,过滤器模块204被配置为至少部分地基于一个或更多个唯一来源过滤社交活动信息。过滤器模块204至少部分地基于唯一来源,确定向客户端120呈现社交活动信息的哪个部分。例如,过滤器模块204确定向客户端120呈现与由用户提供的第一用户输入相关联的社交活动信息,而不向客户端120呈现与由同一用户提供的第二用户输入相关联的社交活动信息。In one embodiment, the filter module 204 is configured to filter social activity information based at least in part on one or more unique sources. The filter module 204 determines which portion of the social activity information to present to the client 120 based at least in part on the unique source. For example, the filter module 204 determines to present to the client 120 social activity information associated with a first user input provided by the user without presenting to the client 120 social activity information associated with a second user input provided by the same user information.
在一个实施例中,过滤器模块204至少部分地基于显示限制确定将要向客户端120呈现的社交活动信息。显示限制是对在客户端120上显示社交活动信息的限制。例如,显示限制是对可用于呈现社交活动信息的显示空间的限制。在一个实施例中,过滤器模块204从限定显示限制的客户端120接收输入。在另一实施例中,过滤器模块204从限定显示限制的视频托管站点100的管理员接收输入。In one embodiment, the filter module 204 determines the social activity information to be presented to the client 120 based at least in part on the display constraints. Display restrictions are restrictions on displaying social activity information on the client 120 . For example, display constraints are limitations on the display space available to present social activity information. In one embodiment, the filter module 204 receives input from the client 120 defining display restrictions. In another embodiment, the filter module 204 receives input from an administrator of the video hosting site 100 defining display restrictions.
在一个实施例中,过滤器模块204确定与将要显示在客户端120上的唯一来源相关联的社交活动信息的一部分,并且分配显示空间的一部分以显示所述社交活动信息的一部分。然后,过滤器模块204确定是否满足显示限制。例如,过滤器模块204确定是否显示空间的任何部分仍然是可用于显示。如果显示限制没有满足,则过滤器模块204继续分配可用显示空间的一部分,以显示与其他唯一来源相关联的社交活动信息的其他部分。被确定为在具有分配的显示空间的客户端120上显示的所述社交活动信息的所有部分都被称作经过滤社交活动信息。如果显示限制得到满足,则过滤器模块204将所述经过滤社交活动信息发送给呈现模块110,以呈现给用户。In one embodiment, the filter module 204 determines a portion of the social activity information associated with a unique source to be displayed on the client 120 and allocates a portion of the display space to display the portion of the social activity information. The filter module 204 then determines whether the display constraints are met. For example, filter module 204 determines whether any portion of the display space is still available for display. If the display constraints are not satisfied, the filter module 204 proceeds to allocate a portion of the available display space to display other portions of social activity information associated with other unique sources. All portions of the social activity information that are determined to be displayed on a client 120 having an allocated display space are referred to as filtered social activity information. If the display constraints are met, filter module 204 sends the filtered social activity information to presentation module 110 for presentation to the user.
在一个实施例中,过滤器模块204通信地耦合到馈送数据库126、呈现模块110和活动监视器模块210。在一个实施例中,过滤器模块204:(1)从馈送数据库126中检索社交馈送;(2)将所述经过滤社交活动信息发送给呈现模块110,以呈现给用户;以及(3)从一个或更多个活动监视器模块210接收一个或更多个活动。在一个实施例中,实时接收来自活动监视器模块210的一个或更多个活动。In one embodiment, filter module 204 is communicatively coupled to feed database 126 , presentation module 110 and activity monitor module 210 . In one embodiment, filter module 204: (1) retrieves social feeds from feed database 126; (2) sends the filtered social activity information to presentation module 110 for presentation to the user; and (3) retrieves social feeds from feed database 126; One or more activity monitor modules 210 receive one or more activities. In one embodiment, the one or more activities from the activity monitor module 210 are received in real time.
推荐模块206是向视频托管站点100上的用户推荐视频的代码和例程。例如,推荐模块206至少部分地基于用户的简档信息(诸如年龄、地理信息、兴趣、人口信息、教育/工作经验等)向用户推荐视频的集合,在一个实施例中,推荐模块206从视频数据库116中检索向用户推荐的视频的集合的视频ID和元数据(例如,标题、描述等),并且将所述视频ID和元数据发送给呈现模块110,用于向用户呈现。The recommendation module 206 is the code and routines that recommend videos to users on the video hosting site 100 . For example, the recommendation module 206 recommends a collection of videos to the user based at least in part on the user's profile information (such as age, geographic information, interests, demographic information, education/work experience, etc.). The video ID and metadata (eg, title, description, etc.) of the set of videos recommended to the user are retrieved from the database 116 and sent to the presentation module 110 for presentation to the user.
在一个实施例中,推荐模块206被配置为基于视频托管站点100上的第一用户的活动确定针对第一用户的视频推荐。例如,推荐模块206至少部分地基于第一用户的视频观看历史向所述第一用户推荐视频。推荐模块206从用户数据库114中检索第一用户的视频观看历史。例如,推荐模块206从用户数据库114中检索由第一用户观看的视频的视频ID,和/或从视频数据库116中检索视频的元数据。在一个实施例中,推荐模块206至少部分地基于以下一个或更多个确定针对第一用户的视频推荐:由第一用户观看的视频、由第一用户标记为最喜爱的视频的视频、由第一用户标记为喜欢的视频的视频、由第一用户在第三方站点128上观看的视频、以及由第一用户在第三方站点128上共享的视频。In one embodiment, the recommendation module 206 is configured to determine video recommendations for the first user based on the first user's activity on the video hosting site 100 . For example, the recommendation module 206 recommends videos to the first user based at least in part on the first user's video viewing history. The recommendation module 206 retrieves the video viewing history of the first user from the user database 114 . For example, the recommendation module 206 retrieves the video ID of the video viewed by the first user from the user database 114 and/or retrieves the metadata of the video from the video database 116 . In one embodiment, the recommendation module 206 determines video recommendations for the first user based at least in part on one or more of: videos watched by the first user, videos marked as favorite videos by the first user, videos viewed by Videos marked as liked by the first user, videos viewed by the first user on the third party site 128 , and videos shared by the first user on the third party site 128 .
在另一个实施例中,推荐模块206被配置为至少部分地基于由第一用户的一个或更多个朋友所执行的活动确实针对第一用户的视频推荐。如上所述,朋友是作为朋友与所述第一用户相关联的第二用户。友谊关联被存储在视频上托管站点100(例如,馈送数据库126,用户数据库114等)。活动包括用于第一用户的一个或更多个朋友的现场活动和/或非现场活动。在一个实施例中,在具有一个或更多个朋友的许可的情况下,由视频托管站点100跟踪并记录一个或更多个朋友的现场活动和/或非现场活动。在一个实施例中,推荐模块206至少部分地基于朋友的视频观看历史确定向用于推荐的视频。例如,推荐模块206向用户推荐所述用户的朋友目前正在视频托管站点100或第三方站点128上观看的视频。在其他实施例中,推荐模块206至少部分地基于以下一个或更多个确定针对第一用户的视频推荐:朋友过去在视频托管站点100或第三方站点128上观看的视频、朋友在视频托管站点100或第三方站点128上观看的视频、朋友在视频托管站点100或第三方站点128上实时观看的视频、朋友在视频托管站点100或第三方站点128上标记为最喜爱的视频的视频、朋友在视频托管站点100或第三方站点128上标记为最喜爱的视频的视频、朋友在视频托管站点100或第三方站点128上共享的视频。In another embodiment, the recommendation module 206 is configured to identify video recommendations for the first user based at least in part on activities performed by one or more friends of the first user. As noted above, a friend is a second user associated with the first user as a friend. Friendship associations are stored on video hosting site 100 (eg, feed database 126, user database 114, etc.). The activities include on-site activities and/or off-site activities for one or more friends of the first user. In one embodiment, the on-site and/or off-site activities of one or more friends are tracked and recorded by the video hosting site 100 with the one or more friends' permission. In one embodiment, the recommendation module 206 determines videos to recommend based at least in part on the friend's video viewing history. For example, the recommendation module 206 recommends to the user videos that the user's friends are currently watching on the video hosting site 100 or the third party site 128 . In other embodiments, the recommendation module 206 determines a video recommendation for the first user based at least in part on one or more of: videos that friends have watched in the past on the video hosting site 100 or third-party sites 128; 100 or third-party sites 128, videos watched live by friends on video-hosting sites 100 or third-party sites 128, videos marked as favorites by friends on video-hosting sites 100 or third-party sites 128, friends Videos marked as favorite videos, videos shared by friends on video hosting site 100 or third party site 128 on video hosting site 100 or third party site 128 .
在又一实施例中,推荐模块206被配置为至少部分地基于任何用户在视频托管站点100上执行的活动,确定针对第一用户的视频推荐。例如,所有用户在视频托管站点100上的整体活动确定在所述视频托管站点100上哪个视频是流行的。在一个实施例中,推荐模块206至少部分地基于视频在视频托管站点100上的流行度向用户推荐视频。视频的流行度至少部分地基于以下一个或更多个确定:视频观看计数、视频共享计数、最喜爱的计数(例如,被标记为最喜爱的视频的视频的次数)、视频的用户评级、喜欢的计数、不喜欢的计数和/或评论计数等。在一个实施例中,推荐模块206在一段时间内向用户推荐具有最高视频观看计数和/或最高最喜爱计数的视频。In yet another embodiment, the recommendation module 206 is configured to determine a video recommendation for the first user based at least in part on activities performed by any user on the video hosting site 100 . For example, the overall activity of all users on a video hosting site 100 determines which videos are popular on the video hosting site 100 . In one embodiment, the recommendation module 206 recommends videos to users based at least in part on their popularity on the video hosting site 100 . The popularity of a video is determined based at least in part on one or more of: video view count, video share count, favorite count (e.g., the number of times the video was marked as a favorite video), user ratings of the video, likes counts, dislike counts, and/or comment counts, etc. In one embodiment, the recommendation module 206 recommends videos with the highest video view count and/or highest favorite count to the user over a period of time.
在一个实施例中,推荐模块206通信地耦合到用户数据库114、视频数据库116中、活动监视器模块210、馈送数据库126和呈现模块110。在一个实施例中,推荐模块206执行以下步骤中的一个或更多个:(1)从用户数据库114中检索第一用户和第一用户的朋友的视频观看历史;(2)从活动监视器模块210接收一个或更多个活动;(3)从社交馈送中接收一个或更多个活动,所述社交馈送从馈送数据库126中检索到;(4)将视频推荐发送给呈现模块110,以呈现给所述第一用户;以及(5)从视频数据库116中检索针对第一用户推荐的视频的视频ID和元数据。在一个实施例中,推荐模块206从活动监视器模块210实时接收一个或更多个活动。在另一实施例中,推荐模块206将针对第一用户推荐的视频的视频ID和元数据发送给呈现模块110,以呈现给第一用户。In one embodiment, recommendation module 206 is communicatively coupled to user database 114 , video database 116 , activity monitor module 210 , feeds database 126 and presentation module 110 . In one embodiment, the recommendation module 206 performs one or more of the following steps: (1) retrieve the video viewing history of the first user and the first user's friends from the user database 114; Module 210 receives one or more campaigns; (3) receives one or more campaigns from a social feed retrieved from feed database 126; (4) sends video recommendations to presentation module 110 for presented to the first user; and (5) retrieve the video ID and metadata from the video database 116 for the video recommended for the first user. In one embodiment, recommendation module 206 receives one or more activities from activity monitor module 210 in real time. In another embodiment, the recommendation module 206 sends the video ID and metadata of the video recommended for the first user to the presentation module 110 for presentation to the first user.
馈送排序模块208是对社交馈送进行排序以生成经排序馈送的代码和例程。例如,馈送排序模块208从馈送数据库126接收包括有一个或更多个活动的社交馈送,至少部分地基于一个或更多个活动对社交馈送进行排序并且形成经排序馈送作为输出。The feed ranking module 208 is code and routines that rank social feeds to generate ranked feeds. For example, feed ranking module 208 receives a social feed including one or more campaigns from feed database 126, ranks the social feed based at least in part on the one or more campaigns, and forms a ranked feed as output.
在一个实施例中,馈送排序模块208被配置为至少部分地基于与一个或更多个活动相关联的一个或更多个得分,对所述社交反馈进行排序。一个或更多个活动与由一个或更多个发布者(即,在视频托管站点100和/或第三方站点128上上传视频,并且在该站点上发布该视频的用户)发布的一个或更多个视频相关联。馈送排序模块208接收针对在社交反馈内包括的一个或更多个活动的一个或更多个用户输入。馈送排序模块208计算每个活动的得分。馈送排序模块208形成经排序馈送,以便在经排序馈送中将具有较高得分的第一活动排列在具有较低得分的第二活动之前。In one embodiment, feed ranking module 208 is configured to rank the social feedback based at least in part on one or more scores associated with one or more campaigns. One or more activities are associated with one or more content posted by one or more publishers (i.e., users who uploaded a video on video hosting site 100 and/or third-party site 128 and posted the video on the site). Link multiple videos. The feed ranking module 208 receives one or more user inputs for one or more activities to include within the social feed. The feed ranking module 208 calculates a score for each activity. The feed ranking module 208 forms the sorted feed so that the first activity with the higher score is ranked before the second activity with the lower score in the sorted feed.
用于对与由发布者发布的视频相关联活动进行排序的得分,至少部分地基于以下一个或更多个确定:视频观看计数、视频共享计数、最喜爱的计数、视频的用户评级、喜欢的计数、不喜欢的计数、评论计数、视频的年龄,视频标签、视频是否是流行的视频、视频是否是有特色的视频、在视频托管站点100观看的发布者的总视频、发布者的视频计数(例如,由发布者发布的视频的数目)、发布者的订户/朋友计数(例如,发布者的订户/朋友的数目)、发布者的账户年龄以及以上项目中任何两项之比(例如,视频观看计数与视频年龄之比,喜欢的计数与不喜欢的计数之比等)。例如,如果两个视频具有相同的视频年龄,则第一活动具有第二活动更高的得分,所述第一活动与具有较高的视频观看计数的第一视频相关联,所述第二活动与具有较低的视频观看计数的第二视频相关联。A score used to rank activity associated with videos posted by the publisher based at least in part on one or more of the following determinations: video view count, video share count, favorite count, user rating of the video, likes Count, Dislike Count, Comment Count, Age of Video, Video Tags, Is Video Popular, Is Video Featured, Total Publisher's Videos Viewed on Video Hosting Site 100, Publisher's Video Count (e.g., the number of videos posted by the publisher), the publisher's subscriber/friend count (e.g., the number of the publisher's subscribers/friends), the age of the publisher's account, and the ratio of any two of the above (e.g., Video view count vs video age, like count vs dislike count, etc). For example, if two videos have the same video age, a first activity has a higher score for a second activity associated with the first video with a higher video view count, and the second activity Associated with a second video having a lower video view count.
在一个实施例中,馈送排序模块208通信地耦合到馈送数据库126、活动监视器模块210和呈现模块110。在一个实施例中,馈送排序模块208:(1)从馈送数据库126接收社交馈送;(2)从活动监视器模块210接收一个或更多个活动;(3)将经排序馈送发送给呈现模块110,以呈现给客户端120;以及(4)在馈送数据库126中存储经排序馈送。In one embodiment, feed ranking module 208 is communicatively coupled to feed database 126 , activity monitor module 210 , and presentation module 110 . In one embodiment, the feed ranking module 208: (1) receives social feeds from the feed database 126; (2) receives one or more activities from the activity monitor module 210; (3) sends the sorted feed to the presentation module 110 to present to the client 120; and (4) store the sorted feed in the feed database 126.
活动监视器模块210是用于监视视频托管站点100和其他第三方站点128上的活动的代码和例程。例如,活动监视器模块210接收针对在视频托管站点100或第三方站点128上执行的活动的用户输入。在一个实施例中,活动监视器模块210实时接收针对在视频托管站点100或第三方站点128上执行的活动的用户输入。活动监视器模块210包括现场模块212和非现场模块214。Activity monitor module 210 is code and routines for monitoring activity on video hosting site 100 and other third party sites 128 . For example, the activity monitor module 210 receives user input regarding activities performed on the video hosting site 100 or the third party site 128 . In one embodiment, the activity monitor module 210 receives user input regarding activities performed on the video hosting site 100 or the third party site 128 in real time. The activity monitor module 210 includes an on-site module 212 and an off-site module 214 .
现场模块212是用于监视视频托管站点100上的现场活动的代码和例程。例如,现场模块212是一个守护程序,其监视视频托管站点100并且在对视频托管站点100上执行活动的情况下接收用户输入。在一个实施例中,现场模块212实时监视视频托管站点100。在一个实施例中,现场模块212通信地耦合到聚合模块202、过滤器模块204、推荐模块206、馈送数据库126和用户数据库114。例如,现场模块212在馈送数据库126中存储作为社交馈送的一部分的现场活动,在用户数据库114中存储用户观看的视频的视频ID,并向聚合模块202、过滤器模块204和推荐模块206发送针对现场活动的用户输入。Live module 212 is code and routines for monitoring live activity on video hosting site 100 . For example, the live module 212 is a daemon that monitors the video hosting site 100 and receives user input as to the activity being performed on the video hosting site 100 . In one embodiment, the live module 212 monitors the video hosting site 100 in real time. In one embodiment, the presence module 212 is communicatively coupled to the aggregation module 202 , the filter module 204 , the recommendation module 206 , the feed database 126 and the user database 114 . For example, live module 212 stores live events that are part of a social feed in feed database 126, stores video IDs of videos watched by users in user database 114, and sends messages to aggregation module 202, filter module 204, and recommendation module 206 for User input for live events.
非现场模块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。Offsite module 214 is code and routines for monitoring offsite activity on third party site 128 . For example, the off-site module 214 is a daemon that monitors the third-party site 128 and receives user input if an activity is performed on the third-party site 128 . In one embodiment, the off-site module 214 monitors off-site activities of the user with the permission of the user. For example, a user establishes a connection between video hosting site 100 and third party site 128 and allows sharing of social activity information between video hosting site 100 and third party site 128 . The off-site module 214 monitors the third-party site 128 (optionally, in real time) and receives user input in the event of an activity being performed on the third-party site 128 . For example, the off-site module 214 receives user input if the user is viewing a video on the third-party site 128 . In one embodiment, off-site module 214 is communicatively coupled to aggregation module 202 , filter module 204 , recommendation module 206 , feed database 126 and user database 114 . For example, off-site module 214 sends user input for off-site activities to aggregation module 202, filter module 204, and recommendation module 206, stores off-site activities in feed database 126 as part of social feedback, and in user database 114 Video IDs of videos watched by users on third-party sites 128 are stored.
在一个实施例中,用户馈送包括以下一个或更多个:来自聚合模块202的经聚合社交活动信息、来自过滤器模块204的经过滤社交活动信息、来自推荐模块206的视频推荐和来自馈送排序模块208的经排序馈送。向呈现模块110发送用户馈送,使得呈现模块110生成与用户馈送相关联的图形,并将该图形提供给用户。In one embodiment, the user feed includes one or more of the following: aggregated social activity information from the aggregation module 202, filtered social activity information from the filter module 204, video recommendations from the recommendation module 206, and from feed ranking Sequenced feed of module 208 . Sending the user feed to presentation module 110 causes presentation module 110 to generate a graphic associated with the user feed and provide the graphic to the user.
方法method
图3是根据一个实施例的至少部分地基于公共用户聚合社交活动信息的方法的流程图300。聚合模块202接收针对第一活动的第一用户输入(302)。第一用户输入与描述第一活动的社交活动信息相关联。聚合模块202接收针对第二活动的第二用户输入(304)。第二用户输入与描述第二活动的社交活动信息相关联。在一个实施例中,聚合模块202从活动监视器模块210(可选地,这些输入被接收实时)接收针对步骤402和404的活动的一个或更多个输入。在另一实施例中,从馈送数据库126中检索的社交反馈中,聚合模块202接收针对步骤402和404的活动的输入。FIG. 3 is a flowchart 300 of a method of aggregating social activity information based at least in part on public users, according to one embodiment. The aggregation module 202 receives a first user input for a first activity (302). The first user input is associated with social activity information describing the first activity. The aggregation module 202 receives a second user input for a second activity (304). The second user input is associated with social activity information describing the second activity. In one embodiment, aggregation module 202 receives one or more inputs for the activities of steps 402 and 404 from activity monitor module 210 (optionally, these inputs are received in real time). In another embodiment, the aggregation module 202 receives input for the activities of steps 402 and 404 from social feedback retrieved from the feed database 126 .
第一和第二用户输入具有提供用户输入的公共用户。聚合模块202确定针对第一和第二用户输入的公共用户(306)。例如,聚合模块202确定公共用户的唯一用户名。聚合模块202至少部分地基于公共用户聚合针对第一和第二用户输入的社交活动信息(308)以形成经聚合社交活动作为输出。例如,如果第一和第二用户输入与在视频托管站点100上上传两个视频的用户(例如,该用户是名为“Alice”的用户)相关联,则聚合模块202聚合针对所述用户输入的社交活动信息作为“Alice已经上传了两个新视频”。聚合模块202向呈现模块110发送经聚合社交活动信息。The first and second user inputs have a common user providing the user input. The aggregation module 202 determines common users for the first and second user inputs (306). For example, the aggregation module 202 determines the unique username of the public user. The aggregation module 202 aggregates the social activity information input for the first and second users based at least in part on the common users ( 308 ) to form an aggregated social activity as an output. For example, if the first and second user inputs are associated with a user who uploaded two videos on the video hosting site 100 (e.g., the user is a user named "Alice"), the aggregation module 202 aggregates the user input for the user input The social activity information of is as "Alice has uploaded two new videos". The aggregation module 202 sends the aggregated social activity information to the presentation module 110 .
呈现模块110至少部分地基于从聚合模块202接收到的经聚合社交活动信息生成图形(310)。该图形与针对第一和第二用户输入的经聚合社交活动信息相关联。在一个实施例中,该图形被配置为将经聚合社交活动信息显示到客户端120。呈现模块110将所述图形发送到客户端120(312),以呈现给用户。例如,呈现模块110将所述图形发送到客户端120的web浏览器(未图示),使得Web浏览器使用所述图形将经聚合社交活动信息显示给客户。在一个实施例中,如果用户点击图形中示出的经聚合社交活动信息,则聚合前的所有社交活动信息被显示给用户。Presentation module 110 generates a graph based at least in part on the aggregated social activity information received from aggregation module 202 (310). The graph is associated with aggregated social activity information for the first and second user inputs. In one embodiment, the graph is configured to display aggregated social activity information to client 120 . Rendering module 110 sends the graphics to client 120 (312) for presentation to the user. For example, presentation module 110 sends the graphic to a web browser (not shown) of client 120, causing the web browser to display the aggregated social activity information to the client using the graphic. In one embodiment, if the user clicks on the aggregated social activity information shown in the graphic, all social activity information prior to aggregation is displayed to the user.
图4是根据一个实施例的至少部分地基于公共视频聚合社交活动信息的方法的流程图400。聚合模块202接收针对第一活动的第一用户输入(402)。第一用户输入与描述第一活动的社交活动信息相关联。聚合模块202接收针对第二活动的第二用户输入(404)。第二用户输入与描述第二活动的社交活动信息相关联。FIG. 4 is a flowchart 400 of a method of aggregating social activity information based at least in part on public video, according to one embodiment. The aggregation module 202 receives a first user input for a first activity (402). The first user input is associated with social activity information describing the first activity. The aggregation module 202 receives a second user input for a second activity (404). The second user input is associated with social activity information describing the second activity.
第一和第二用户输入具有与用户输入相关联的公共视频。聚合模块202确定针对第一和第二用户输入的公共视频(406)。例如,聚合模块202确定针对公共视频的视频ID。聚合模块202至少部分地基于公共视频聚合针对第一和第二用户输入的社交活动信息(408)以形成经聚合社交活动信息。例如,如果第一和第二用户输入与具有第一用户输入和第二用户输入的视频(例如,名为“Charlie Bit My Finger”)相关联,则聚合模块202聚合针对所述用户输入的社交活动信息作为“视频CharlieBit My Finger具有两个新评论”,所述第一用户输入是指第一用户公布对视频的第一评论,所述第二用户输入是指第二用户公布对视频的第二评论。聚合模块202将经聚合社交活动信息发送到呈现模块110。The first and second user inputs have a common video associated with the user inputs. The aggregation module 202 determines common videos for the first and second user inputs (406). For example, aggregation module 202 determines a video ID for a public video. The aggregation module 202 aggregates the social activity information for the first and second user inputs based at least in part on the public video (408) to form aggregated social activity information. For example, if the first and second user inputs are associated with a video (e.g., titled "Charlie Bit My Finger") having the first user input and the second user input, the aggregation module 202 aggregates social media for the user inputs. Activity information as "Video CharlieBit My Finger has two new comments", the first user input means that the first user posted the first comment on the video, and the second user input means that the second user posted the first comment on the video 2 comments. The aggregation module 202 sends the aggregated social activity information to the presentation module 110 .
呈现模块110至少部分地基于从聚合模块202接收到的经聚合社交活动信息生成图形(410)。该图形与针对第一和第二用户输入的经聚合社交活动信息相关联。在一个实施例中,该图形被配置为将经聚合社交活动信息显示到客户端120。呈现模块110将所述图形发送到客户端120(412),以呈现给用户。例如,呈现模块110将所述图形发送到客户端120的web浏览器,并且Web浏览器使用所述图形将社交活动信息呈现给用户。Presentation module 110 generates a graph based at least in part on the aggregated social activity information received from aggregation module 202 (410). The graph is associated with aggregated social activity information for the first and second user inputs. In one embodiment, the graph is configured to display aggregated social activity information to client 120 . Rendering module 110 sends the graphics to client 120 (412) for presentation to the user. For example, presentation module 110 sends the graphics to the web browser of client 120, and the web browser uses the graphics to present social activity information to the user.
图5是根据一个实施例的至少部分地基于公共用户和公共视频聚合社交活动信息的方法的流程图500。聚合模块202接收到两个活动。聚合模块202接收针对第一活动的第一用户输入(502)。第一用户输入与描述第一活动的社交活动信息相关联。聚合模块202接收针对第二活动的第二用户输入(504)。第二用户输入与描述第二活动的社交活动信息相关联。5 is a flowchart 500 of a method of aggregating social activity information based at least in part on public users and public videos, according to one embodiment. The aggregation module 202 receives two campaigns. The aggregation module 202 receives a first user input for a first activity (502). The first user input is associated with social activity information describing the first activity. The aggregation module 202 receives a second user input for a second activity (504). The second user input is associated with social activity information describing the second activity.
第一和第二用户输入具有公共视频和公共用户。聚合模块202确定针对第一和第二用户输入的公共视频和公共用户。例如,聚合模块202确定用于公共视频的视频ID和用于公共用户的用户名。聚合模块202将两个用户输入分类为一个或两个组,以便每个组都与分类相关联。聚合模块202至少部分地基于与所述一个或两个组相关联的一个或两个分类聚合针对第一和第二用户输入的社交活动信息。在一个实施例中,聚合模块202至少部分地基于一个或两个分类确定将要显示到客户端120的来自第一和第二活动的一个或两个活动(506)。呈现模块110至少部分地基于从聚合模块202接收到的经聚合社交活动信息生成图形(508)。在一个实施例中,该图形被配置为将经聚合社交活动信息显示到客户端120。呈现模块110将所述图形发送到客户端120(510),以呈现给用户。例如,呈现模块110将所述图形发送到客户端120的web浏览器,并且Web浏览器使用所述图形将经聚合社交活动信息呈现给用户。The first and second user inputs have a common video and a common user. The aggregation module 202 determines public videos and public users for the first and second user inputs. For example, the aggregation module 202 determines the video ID for the public video and the username for the public user. The aggregation module 202 classifies the two user inputs into one or two groups such that each group is associated with a classification. The aggregation module 202 aggregates the social activity information for the first and second user inputs based at least in part on the one or two categories associated with the one or two groups. In one embodiment, the aggregation module 202 determines one or two activities from the first and second activities to display to the client 120 based at least in part on the one or two classifications (506). Presentation module 110 generates a graph based at least in part on the aggregated social activity information received from aggregation module 202 (508). In one embodiment, the graph is configured to display aggregated social activity information to client 120 . The presentation module 110 sends the graphics to the client 120 (510) for presentation to the user. For example, presentation module 110 sends the graphic to the web browser of client 120, and the web browser uses the graphic to present the aggregated social activity information to the user.
图6是根据一个实施例的过滤社交活动信息的方法的流程图600。在一个实施例中,唯一来源是具有唯一用户名的用户。在另一实施例中,唯一来源是具有唯一视频ID的视频。过滤器模块204接收限定显示限制的输入(602)。例如,过滤器模块204描述可用于将社交活动信息呈现为客户端120的有限显示空间的输入。在一个实施例中,过滤器模块204从描述显示限制的客户端120接收输入。在另一个实施例中,过滤器模块204从描述显示限制的视频托管站点100的管理员接收输入。这里,步骤602通过由虚线形成的矩形描绘,以指示步骤602是所述方法的可选特征。例如,在其他实施例中,显示限制由过滤器模块204自动设置而不需要输入以限定显示限制。FIG. 6 is a flowchart 600 of a method of filtering social activity information, according to one embodiment. In one embodiment, the unique sources are users with unique usernames. In another embodiment, the unique source is a video with a unique video ID. The filter module 204 receives input defining display restrictions (602). For example, filter module 204 describes inputs that may be used to present social activity information into the limited display space of client 120 . In one embodiment, filter module 204 receives input from client 120 describing display restrictions. In another embodiment, filter module 204 receives input from an administrator of video hosting site 100 describing display restrictions. Here, step 602 is depicted by a rectangle formed by dashed lines to indicate that step 602 is an optional feature of the method. For example, in other embodiments, the display restrictions are set automatically by the filter module 204 without requiring input to define the display restrictions.
过滤器模块204接收针对一个或更多个活动的一个或更多个用户输入(604)。所述一个或更多个用户输入与描述一个或更多个活动的社交活动信息相关联。在一个实施例中,所述一个或更多个活动是来自从馈送数据库126中检索到的社交馈送的活动。在另一实施例中,所述一个或更多个活动是由活动监视器模块210监视的一个或更多个活动。The filter module 204 receives one or more user inputs for the one or more campaigns (604). The one or more user inputs are associated with social activity information describing one or more activities. In one embodiment, the one or more activities are activities from social feeds retrieved from the feed database 126 . In another embodiment, the one or more activities are one or more activities monitored by the activity monitor module 210 .
过滤器模块204确定针对一个或更多个用户输入的一个或更多个第一来源(606)。例如,在一个实施例中,第一来源是提供用户输入的用户并,且过滤器模块204确定一个或更多个用户作为针对所述一个或更多个用户输入的一个或更多个来源。过滤器模块204从一个或更多个第一来源确定一个或更多个唯一来源(608)。在一个实施例中,如果两个或更多个用户输入具有一个公共用户,则过滤器模块204确定公共用户作为两个或更多个用户输入的唯一来源。另选地,如果针对所述两个或更多用户输入由不同的用户提供,则过滤器模块204针对所述用户输入确定不同的唯一来源。例如,如果过滤器模块204接收三个用户输入,其中第一用户输入由第一用户提供,第二和第三用户输入由第二用户提供,则所述过滤器模块204针对三个用户输入确定两个唯一来源。第一唯一来源是第一用户而第二唯一来源是第二用户。The filter module 204 determines one or more first sources for the one or more user inputs (606). For example, in one embodiment, the first source is the user providing the user input and the filter module 204 determines one or more users as the one or more sources for the one or more user inputs. The filter module 204 determines one or more unique sources from the one or more first sources (608). In one embodiment, if the two or more user inputs have a common user, the filter module 204 determines the common user as the sole source of the two or more user inputs. Alternatively, the filter module 204 determines a different unique source for the two or more user inputs if the two or more user inputs are provided by different users. For example, if the filter module 204 receives three user inputs, where the first user input is provided by a first user and the second and third user inputs are provided by a second user, then the filter module 204 determines for the three user inputs Two unique sources. The first unique source is the first user and the second unique source is the second user.
过滤器模块204确定与将要显示在客户端120上的唯一来源相关联的社交活动信息的一部分,并分配显示空间的一部分(610),以显示与所述唯一来源相关联的所述社交活动信息的一部分。例如,过滤器模块204确定与呈现给客户端120的由用户提供的第一用户输入相关联的社交活动信息的第一部分并分配显示空间以显示所述社交活动信息的第一部分,同时不向客户端120呈现与由同一用户提供的第二用户输入相关联的社交活动信息的第二部分。The filter module 204 determines a portion of the social activity information associated with the unique source to be displayed on the client 120 and allocates (610) a portion of the display space to display the social activity information associated with the unique source a part of. For example, the filter module 204 determines a first portion of social activity information associated with a first user input provided by the user presented to the client 120 and allocates display space to display the first portion of the social activity information without presenting the first portion of the social activity information to the client Terminal 120 presents a second portion of social activity information associated with a second user input provided by the same user.
过滤器模块204确定是否满足显示限制(612)。例如,过滤器模块204确定是否显示空间的任何部分仍然是可用于显示。如果显示限制没有满足,则过滤器模块204继续分配可用显示空间的一部分(610),以显示与另一个唯一来源相关联的社交活动信息的部分。被选择为在具有分配的显示空间的客户端120上显示的所述社交活动信息的部分都被称作经过滤社交活动信息。如果显示限制得到满足,则过滤器模块204将所述经过滤社交活动信息发送给呈现模块110,以呈现给用户。The filter module 204 determines whether the display constraints are satisfied (612). For example, filter module 204 determines whether any portion of the display space is still available for display. If the display constraints are not met, the filter module 204 proceeds to allocate a portion of the available display space (610) to display the portion of social activity information associated with another unique source. The portion of the social activity information that is selected to be displayed on a client 120 having an allocated display space is referred to as filtered social activity information. If the display constraints are met, filter module 204 sends the filtered social activity information to presentation module 110 for presentation to the user.
在一个实施例中,分配显示空间以便每个唯一用户具有针对由所述用户进行的一个社交活动的空间。例如,参考步骤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。In one embodiment, display space is allocated so that each unique user has space for one social activity by that user. For example, referring to steps 610 and 612, assume there are four users (Alice, Brian, Claude, and Dan). Alice, Claude, and Dan each have 5 activities (a total of 15 activities across the three users). However, Brian himself has 10 activities. So, the total activity between the four users is 25 activities (15 plus 10 is 25). However, the display only has room for 10 activities. At step 610, the filter module 204 selects four activities, one from each of the unique users, so that Alice, Brian, Claude, and Dan are each represented in the displayed activities by one activity per person middle. At this point, there are a total of 21 activities to the left (25 minus 4 is 21) among users who have not yet been allocated display space, Alice, Claude, and Dan each have 4 activities which have not yet been allocated display space, and Brian has 9 activities which have not yet been allocated display space activities in space. Method 600 now moves to step 612 of determining whether display constraints are satisfied. In this example, the display limit is 10. Since 4 videos have been allocated space, space for 6 videos remains in the display limit and the method moves back to step 610 . At step 610, the filter module 204 again selects 4 activities, one for each of the four activities from each of the unique users, so that each of Alice, Brian, Claude, and Dan are represented in the display activities by one activity per person middle. At this point, there are a total of 17 activities to the left (21 minus 4 is 17) among users who have not yet been allocated display space, Alice, Claude, and Dan each have 3 activities that have not yet been allocated display space, and Brian has 8 activities that have not yet been allocated display space activities in space. Method 600 now moves again to step 612 where it is determined whether display constraints are met. Since 8 videos have now been allocated space, space for 2 videos remains in the display limit and the method moves back to step 610 . In step 610, the filter module 204 selects two campaigns, one from each of the unique users (without allocating any space for the remaining campaigns of the two remaining users). The process of selecting which two of the four unique users to allocate space is any method known in the art. In one embodiment, the two users are selected using a random number generator. In another embodiment, the two users are selected based, at least in part, on the alphabetical order of the names of the two users with preference given to usernames closer to the letter "A" or the letter "Z" (e.g., if "A" ” priority, select Alice and Brian to receive the display space). In yet another embodiment, the two users are selected based at least in part on the dates the two users created their accounts with the video hosting site 100 , with more senior users taking precedence. At this point, there are a total of 15 activities to the left (17 minus 2 is 15) among users who have not yet been allocated display space. The method moves to step 612 where it is determined whether display constraints are met. The method then moves to step 614 .
呈现模块110至少部分地基于从过滤器模块204接收到的经过滤社交活动信息生成图形(614)。在一个实施例中,该图形被配置为将经过滤社交活动信息显示到客户端120。呈现模块110将所述图形发送到客户端120(616),以呈现给用户。例如,呈现模块110将所述图形发送到客户端120的web浏览器并且web浏览器使用所述图形将经过滤社交活动信息呈现给用户。Presentation module 110 generates a graph based at least in part on the filtered social activity information received from filter module 204 (614). In one embodiment, the graph is configured to display filtered social activity information to client 120 . The presentation module 110 sends the graphics to the client 120 (616) for presentation to the user. For example, presentation module 110 sends the graphic to the web browser of client 120 and the web browser uses the graphic to present the filtered social activity information to the user.
图7是根据一个实施例的向用户提供视频推荐的方法的流程图700。推荐模块206接收针对一个或更多个活动的一个或更多个用户输入(702)。所述一个或更多个用户输入与涉及所述一个或更多个活动的一个或更多个视频相关联。在一个实施例中,所述一个或更多个活动是来自从馈送数据库126中检索到的社交馈送的一个或更多个活动。在另一实施例中,所述一个或更多个活动是受活动监视器模块210监视的一个或更多个活动。推荐模块206至少部分地基于一个或更多个活动确定视频推荐(704)。FIG. 7 is a flowchart 700 of a method of providing video recommendations to users, according to one embodiment. The recommendation module 206 receives one or more user inputs for the one or more campaigns (702). The one or more user inputs are associated with one or more videos related to the one or more activities. In one embodiment, the one or more activities are one or more activities from social feeds retrieved from the feed database 126 . In another embodiment, the one or more activities are one or more activities monitored by the activity monitor module 210 . The recommendation module 206 determines a video recommendation based at least in part on the one or more activities (704).
呈现模块110至少部分地基于从推荐模块204接收到视频推荐生成图形(706)。在一个实施例中,该图形被配置为将视频推荐显示到客户端120。呈现模块110将所述图形发送到客户端120(708),以呈现给第一用户。在一个实施例中,呈现模块110将所述图形发送到客户端120的web浏览器,并且web浏览器使用所述图形将视频推荐呈现给第一用户。例如,web浏览器向第一用户呈现一个推荐视频的列表,所述列表包括视频标题、视频缩略图、描述、视频发布者和评级等。Presentation module 110 generates a graph based at least in part on receiving the video recommendation from recommendation module 204 (706). In one embodiment, the graphic is configured to display video recommendations to client 120 . Presentation module 110 sends the graphic to client 120 (708) for presentation to the first user. In one embodiment, presentation module 110 sends the graphic to a web browser of client 120, and the web browser uses the graphic to present video recommendations to the first user. For example, the web browser presents a list of recommended videos to the first user, the list including video titles, video thumbnails, descriptions, video publishers, ratings, and the like.
图8是根据一个实施例的对社交馈送进行排序的方法的流程图800。馈送排序模块208接收针对包括在社交馈送内的一个或更多个活动的一个或更多个用户输入(802)。在一个实施例中,从馈送数据库126中检索社交馈送。馈送排序模块208至少部分地基于针对所述一个或更多个活动的一个或更多个用户输入来对社交馈送进行排序(804),并形成经排序馈送作为输出。馈送排序模块208将经排序馈送发送给呈现模块110。FIG. 8 is a flowchart 800 of a method of ranking social feeds, according to one embodiment. The feed ranking module 208 receives one or more user inputs for one or more activities included within the social feed (802). In one embodiment, the social feeds are retrieved from the feed database 126 . The feed ranking module 208 ranks the social feeds based at least in part on the one or more user inputs for the one or more activities (804), and forms a ranked feed as an output. The feed ordering module 208 sends the ordered feeds to the presentation module 110 .
例如,馈送排序模块208至少部分地基于一个或更多个活动的一个或更多个得分对社交馈送进行排序。一个或更多个活动与由一个或更多个发布者发布的一个或更多个视频相关联。馈送排序模块208计算每个活动的得分。针对与由发布者发布的视频相关联的活动的得分至少部分地基于以下一个或更多个确定:视频观看计数、视频共享计数、最喜爱的计数、视频的用户评级、喜欢的计数、不喜欢的计数、评论计数、视频的年龄,视频标签、视频是否是流行的视频、视频是否是有特色的视频、在视频托管站点100观看的发布者的总视频、发布者的视频计数、发布者的订户/朋友计数、发布者的账户年龄以及以上项目中任何两项之比。馈送排序模块208形成一个经排序馈送,以便在经排序馈送中将具有较高得分的第一活动排列在具有较低得分的第二活动之前。For example, the feed ranking module 208 ranks the social feeds based at least in part on the one or more scores of the one or more campaigns. One or more campaigns are associated with one or more videos posted by one or more publishers. The feed ranking module 208 calculates a score for each activity. A score for activity associated with a video posted by a publisher is determined based at least in part on one or more of: video view count, video share count, favorite count, user rating of the video, like count, dislike count, comment count, age of the video, video tags, whether the video is a popular video, whether the video is a featured video, the publisher's total videos viewed on video hosting sites 100, the publisher's video count, the publisher's Subscriber/friend count, publisher's account age, and ratio of any two of the above. The feed ranking module 208 forms a sorted feed such that a first activity with a higher score is ranked before a second activity with a lower score in the sorted feed.
呈现模块110至少部分地基于从馈送排序模块208中接收到经排序馈送生成图形(806)。在一个实施例中,该图形被配置为将经排序馈送显示到客户端120。呈现模块110将所述图形发送到客户端120(808),以呈现给用户。例如,呈现模块110将所述图形发送到客户端120的web浏览器,并且Web浏览器使用所述图形将经排序馈送呈现给用户。Presentation module 110 generates a graph based at least in part on receiving the sorted feeds from feed ranking module 208 (806). In one embodiment, the graph is configured to display the sorted feed to the client 120 . The presentation module 110 sends the graphics to the client 120 (808) for presentation to the user. For example, presentation module 110 sends the graphics to a web browser of client 120, and the web browser uses the graphics to present the sorted feed to the user.
在一个实施例中,系统105制作由视频托管网站100生成的网站的主页,首先,人们开始回答以下问题:“今天,我应该看什么”?换句话说,创建一个网页,所述网页具有大量的个性化视频推荐和迫使用户每天多次访问的消费体验。与许多社交网站相比,一个实施例基于其他站点上的活动允许馈送中的信息。例如,客户端120的用户访问主页,并且在他们观看在其他站点上的嵌入视频时看见与他/她的朋友的活动有关的信息(当然,假设朋友已经同意这样做)。此外,即使用户的朋友没有被激活,用户也可以询问以在他的馈送上看见“更多”,他的馈送可以增加有,例如,推荐视频和/或频道或,例如,很久之前他的朋友的额外活动(当然,在他们许可的情况下),或例如来自朋友的朋友(在他们许可的情况下)。备选实施例不需要许可,或可以将许可需求留给用户。In one embodiment, the system 105 makes the homepage of the website generated by the video hosting website 100. First, people start answering the following question: "Today, what should I watch?" In other words, create a web page with a plethora of personalized video recommendations and a consumer experience that forces users to visit multiple times a day. In contrast to many social networking sites, one embodiment allows information in feeds based on activity on other sites. For example, a user of client 120 visits the home page and sees information related to his/her friend's activities while they watch an embedded video on another site (assuming, of course, that the friend has agreed to do so). Also, even if the user's friends are not activated, the user can ask to see "more" on his feed, which can be augmented with, for example, recommended videos and/or channels or, for example, his friends long ago (with their permission, of course), or for example from friends of friends (with their permission). Alternative embodiments do not require permission, or may leave the need for permission to the user.
在各种实施例中,当决定将什么放到用户馈送中时要考虑到隐私问题。例如,第一用户可以请求他们的朋友不接收基于第一用户的活动的推荐。In various embodiments, privacy concerns are taken into account when deciding what to put in a user feed. For example, a first user may request their friends not to receive recommendations based on the first user's activity.
在一个实施例中,该系统105考虑到以下类型的数据中的一些、所有或不考虑(假设那种类型的数据针对那个实施例保持,并且假设用户隐私问题已经得到解决并且被考虑):订阅;为你推荐;来自朋友&视频托管站点100上的订阅的最近的活动;先前喜爱或观看的视频托管站点100上的视频;来自朋友的第三方站点128视频活动;Google BuzzTM或类似的社交评论站点;用户喜欢的嵌入在第三方站点128上的视频、经由电子邮件发送给用户的视频;视频托管站点100和/或第三方站点128上有特色的视频;视频托管站点100上的焦点视频;视频托管站点100和/或第三方站点128上最流行的视频;视频托管站点100和/或第三方站点128上现在正在被观看的视频;与客户端设备120的个人用户具有地理相关性的视频和/或新闻;组活动以及多个活动。In one embodiment, the system 105 takes into account some, all, or none of the following types of data (assuming that type of data remains for that embodiment, and assuming user privacy concerns have been addressed and considered): Subscriptions Recommend for you; recent activity from friends & subscriptions on video hosting sites 100; previously liked or watched videos on video hosting sites 100; third party site 128 video activity from friends; Google Buzz ™ or similar social Review sites; videos that the user likes embedded on the third party site 128, videos emailed to the user; videos featured on the video hosting site 100 and/or on the third party site 128; spotlight videos on the video hosting site 100 the most popular video on the video hosting site 100 and/or third party site 128; the video that is currently being viewed on the video hosting site 100 and/or third party site 128; geographically related to the individual user of the client device 120 Video and/or news; group events and multiple events.
在一个实施例中,系统105所提供的特征包括以下:视频馈送中的持续性视频;新馈送项目的“告诉我更多”生成;鼓励来自馈送的相同或相似的视频的新频道订阅和/或捆绑;让我从我的馈送中删除/去除任何东西;永久过滤(例如,没有评级,没有fred的收藏夹等);来自其他社交网站的低延迟;建议注销注册的用户以获得更好的视频;一旦你见过一视频就对其进行标记;为喜爱的视频添加永久的星星;在馈送项目中内联评论或会话;客户端120的用户可以针对哪个项目进入馈送设置优先级;从社交网站中拉出视频;存在视频的计数;采取所有控制以允许客户端120的用户播放他/她的当前馈送中的所有视频;说“少这样”以便更少的与目前正在播放的视频类似的视频被建议给客户端120的用户;携带馈送以在客户端120的用户点击馈送中的任何视频时观看;告诉我订阅的视频何时已崩溃(例如,“点击这里以观看来自第二用户的八个其他视频”);临时观看过滤器(只有特定类型的,只来自特定源等);让我将视频锁定(pin)在我的主页上,直到我明确移除它为止;单击发布到第三方社交网站128(包括从视频托管站点100托管的网页向第三方站点单击喜欢或最喜爱的视频);同一人在同一视频上使同一动作崩溃(多个用户间的重复排除,例如,视频托管站点100上最喜爱的视频变成了第三方站点128上的自动共享);非现场地提取我的馈送。In one embodiment, the features provided by the system 105 include the following: persistent videos in the video feed; "tell me more" generation of new feed items; encouraging new channel subscriptions from the same or similar videos from the feed and/or or bundle; let me delete/remove anything from my feed; permanent filtering (e.g. no ratings, no favorites by fred, etc); low latency from other social networking sites; recommends unregistering registered users for better Videos; tag a video once you've seen it; add permanent stars to favorite videos; inline comments or conversations in feed items; users of client 120 can set priorities as to which items enter the feed; from social Pull videos from website; count of videos present; take all controls to allow user of client 120 to play all videos in his/her current feed; say "less like this" so that fewer videos similar to currently playing Videos are suggested to the user of client 120; carry a feed to watch when the user of client 120 clicks on any video in the feed; tell me when a subscribed video has crashed (e.g., "click here to watch from second user eight other videos"); temporary viewing filters (only of certain types, only from certain sources, etc); let me pin a video on my homepage until I explicitly remove it; click post to 3rd party social networking sites 128 (including clicks to like or favorite videos from webpages hosted by video hosting site 100 to 3rd party sites); same person crashing same action on same video (duplication exclusion between multiple users, e.g. Favorite video on video hosting site 100 becomes auto-shared on third party site 128); fetches my feed off-site.
图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。FIG. 9 depicts a system 905 for organizing social information on a video site (eg, video hosting site 100 ), according to one embodiment. 10-26 depict GUIs 1005, 1105, 1205, 1305, 1405, 1505, 1605, 1705, 1805, 1905, 2005, 2105, generated by video hosting sites according to one or more embodiments of the invention. Screenshots of 2205, 2305, 2405, 2505, 2605. FIG. 27 depicts a system 2705 for organizing social information on a video site (eg, video hosting site 100 ), according to one embodiment. FIG. 28 depicts a system 2805 for organizing social information on a video site (eg, video hosting site 100 ), according to one embodiment.
图29到图30描述根据一个或更多个实施例由视频托管站点100生成的图形用户界面2905、3005的屏幕截图。具体而言,图29示出了第一图形用户界面2905。第一图形用户界面2905描述了非聚合馈送的示例。非聚合馈送显示由两个不同的用户“timmy”和“mrizzo1154987341”进行的三个社交活动。元素2910描绘由“mrizzo1154987341”进行的活动。元素2920和2930描绘由“timmy”进行的活动。29-30 depict screenshots of graphical user interfaces 2905, 3005 generated by video hosting site 100 in accordance with one or more embodiments. Specifically, FIG. 29 shows a first graphical user interface 2905. The first graphical user interface 2905 depicts an example of a non-aggregated feed. The non-aggregated feed shows three social activities by two different users "timmy" and "mrizzo1154987341". Element 2910 depicts activity by "mrizzo1154987341". Elements 2920 and 2930 depict activities performed by "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中的非聚合馈送的聚合版本。FIG. 30 depicts a second graphical user interface 3005. A second graphical user interface 3005 depicts an example of an aggregated feed. In particular, the second graphical user interface 3005 depicts an example of what the non-aggregated feed depicted in the first graphical user interface 2905 would look like if the non-aggregated feed was aggregated. Like the non-aggregated feed in Figure 29, the non-aggregated feed shows three social activities by two different users "timmy" and "mrizzo1154987341". Element 3010 depicts activity by "mrizzo1154987341". Element 3010 corresponds to element 2910 in FIG. 29 . Element 3020 Two activities by "timmy". Specifically, element 3020 depicts an aggregated version of the activity represented by elements 2920 and 2930 in FIG. 29 . For example, graphic 3030 in FIG. 30 corresponds to element 2920 in FIG. 29 , and graphic 3040 in FIG. 30 corresponds to element 2930 in FIG. 29 . Thus, FIG. 30 depicts an aggregated version of the non-aggregated feed in FIG. 29 . Those skilled in the art will recognize that there are other ways to depict the aggregated version of the non-aggregated feed in FIG. 29 .
已经出于示出和描述的目的给出了本发明的实施例的前面的描述。所述实施例不是旨在穷举以将将本发明限制到所公开的精确形式。许多修改和变化根据上述教导都是可以的。目的是本发明的范围不是由详细的描述限制的,而是由本申请的权利要求的限制。如本领域技术人员将理解的那样,在不脱离本发明的精神或基本特征的情况下,可以以其他特定形式具体实施本发明。同样,对模块、例程、特征、属性、方法和其他方面的特定命名和划分的都不是强制性的或重要的,并且实现本发明的机制或其特征可具有不同的名称、划分和/或格式。此外,如对于本领域技术人员而言是显而易见的那样,本发明的模块,例程,特征、属性、方法和其他方面可以被实现为软件、硬件、固件或所述三者的任何组合。此外,在将本发明的部件实现为软件(其示例是模块)的情况下,该部件可实现为单独的程序、实现为较大程序的一部分、实现为多个单独的程序,实现为一个静态或动态链接库,实现为内核可加载模块,实现为设备驱动器、和/或实现为计算机编程的本领域技术人员现在或将来知道的每种和任何其他方式。此外,本发明不限于以任何特定编程语言实现,或用于任何特定的操作系统或环境。因此,本发明的公开旨在是示出而不是限制本发明的范围,本发明的范围将在在下述权利要求中阐述。The foregoing description of the embodiments of the present invention have been presented for purposes of illustration and description. The examples are not intended to be exhaustive and to limit the invention to the precise forms disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by the detailed description but by the claims of the application. The present invention may be embodied in other specific forms without departing from the spirit or essential characteristics of the invention, as will be understood by those skilled in the art. Likewise, the specific naming and division of modules, routines, features, attributes, methods, and other aspects are not mandatory or important, and the mechanisms or features thereof that implement the invention may have different names, divisions and/or Format. Furthermore, as would be apparent to those skilled in the art, the modules, routines, features, properties, methods and other aspects of the invention may be implemented as software, hardware, firmware or any combination of the three. Furthermore, when a component of the invention is implemented as software (an example of which is a module), the component can be implemented as a separate program, as part of a larger program, as multiple separate programs, as a static or dynamic link library, implemented as a kernel loadable module, implemented as a device driver, and/or implemented in every and any other way now or in the future known to those skilled in the art of computer programming. Furthermore, the invention is not limited to implementation in any particular programming language, or for use with any particular operating system or environment. Accordingly, the disclosure of the present invention is intended to be illustrative, not limiting, of the scope of the present invention which is set forth in the following claims.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610645584.7A CN106383827B (en) | 2010-03-23 | 2011-03-23 | Organizing social activity information on a site |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US31682810P | 2010-03-23 | 2010-03-23 | |
US61/316,828 | 2010-03-23 | ||
PCT/US2011/029686 WO2011119775A1 (en) | 2010-03-23 | 2011-03-23 | Organizing social activity information on a site |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610645584.7A Division CN106383827B (en) | 2010-03-23 | 2011-03-23 | Organizing social activity information on a site |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102906689A CN102906689A (en) | 2013-01-30 |
CN102906689B true CN102906689B (en) | 2016-08-31 |
Family
ID=44657582
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180022896.8A Active CN102906689B (en) | 2010-03-23 | 2011-03-23 | Organize social event information on the site |
CN201610645584.7A Active CN106383827B (en) | 2010-03-23 | 2011-03-23 | Organizing social activity information on a site |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610645584.7A Active CN106383827B (en) | 2010-03-23 | 2011-03-23 | Organizing social activity information on a site |
Country Status (4)
Country | Link |
---|---|
US (3) | US8468201B2 (en) |
EP (1) | EP2550591A4 (en) |
CN (2) | CN102906689B (en) |
WO (1) | WO2011119775A1 (en) |
Families Citing this family (131)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8086168B2 (en) * | 2005-07-06 | 2011-12-27 | Sandisk Il Ltd. | Device and method for monitoring, rating and/or tuning to an audio content channel |
JP4806557B2 (en) * | 2005-10-18 | 2011-11-02 | 株式会社日立製作所 | Storage device and computer system for managing logs |
US8620077B1 (en) | 2009-01-26 | 2013-12-31 | Google Inc. | Spatio-temporal segmentation for video |
US9626405B2 (en) * | 2011-10-27 | 2017-04-18 | Edmond K. Chow | Trust network effect |
US8979538B2 (en) | 2009-06-26 | 2015-03-17 | Microsoft Technology Licensing, Llc | Using game play elements to motivate learning |
US8533202B2 (en) * | 2009-07-07 | 2013-09-10 | Yahoo! Inc. | Entropy-based mixing and personalization |
US8468201B2 (en) * | 2010-03-23 | 2013-06-18 | Google Inc. | Organizing social activity information on a site |
US9697500B2 (en) | 2010-05-04 | 2017-07-04 | Microsoft Technology Licensing, Llc | Presentation of information describing user activities with regard to resources |
US20110320954A1 (en) * | 2010-06-28 | 2011-12-29 | International Business Machines Corporation | Related web feed correlation with dynamic content access |
US8713592B2 (en) | 2010-06-29 | 2014-04-29 | Google Inc. | Self-service channel marketplace |
US9240020B2 (en) * | 2010-08-24 | 2016-01-19 | Yahoo! Inc. | Method of recommending content via social signals |
WO2012061748A1 (en) | 2010-11-05 | 2012-05-10 | Bazaarvoice | Method and system for distribution of content |
US8667519B2 (en) | 2010-11-12 | 2014-03-04 | Microsoft Corporation | Automatic passive and anonymous feedback system |
US20120150650A1 (en) * | 2010-12-08 | 2012-06-14 | Microsoft Corporation | Automatic advertisement generation based on user expressed marketing terms |
US9098606B1 (en) | 2010-12-21 | 2015-08-04 | Google Inc. | Activity assistant |
US11758212B2 (en) | 2011-04-29 | 2023-09-12 | Frequency Ip Holdings, Llc | Aggregation and presentation of video content items with feed item customization |
AU2011202182B1 (en) | 2011-05-11 | 2011-10-13 | Frequency Ip Holdings, Llc | Creation and presentation of selective digital content feeds |
US9477574B2 (en) | 2011-05-12 | 2016-10-25 | Microsoft Technology Licensing, Llc | Collection of intranet activity data |
US20120290637A1 (en) * | 2011-05-12 | 2012-11-15 | Microsoft Corporation | Personalized news feed based on peer and personal activity |
US8819009B2 (en) | 2011-05-12 | 2014-08-26 | Microsoft Corporation | Automatic social graph calculation |
CN102317941A (en) * | 2011-07-30 | 2012-01-11 | 华为技术有限公司 | Information recommending method, recommending engine and network system |
US9373101B2 (en) * | 2011-08-26 | 2016-06-21 | Smugmug, Inc. | Filtering social networking content |
US20130091214A1 (en) * | 2011-10-08 | 2013-04-11 | Broadcom Corporation | Media social network |
US9176933B2 (en) | 2011-10-13 | 2015-11-03 | Microsoft Technology Licensing, Llc | Application of multiple content items and functionality to an electronic content item |
US9069743B2 (en) * | 2011-10-13 | 2015-06-30 | Microsoft Technology Licensing, Llc | Application of comments in multiple application functionality content |
CN103139619A (en) * | 2011-11-30 | 2013-06-05 | 人民网股份有限公司 | Network video management system and method |
US8898133B2 (en) * | 2011-12-20 | 2014-11-25 | Yahoo! Inc. | User behavior-driven background cache refreshing |
US8671190B2 (en) * | 2011-12-23 | 2014-03-11 | Facebook, Inc. | Measuring page viewership in a social network |
JP2015510166A (en) * | 2012-01-06 | 2015-04-02 | トムソン ライセンシングThomson Licensing | Communication of media assets using social publication services |
US9143834B2 (en) * | 2012-02-24 | 2015-09-22 | Wew Entertainment Corporation | System and method for organizing a media program guide according to popularity |
KR101952260B1 (en) * | 2012-04-03 | 2019-02-26 | 삼성전자주식회사 | Video display terminal and method for displaying a plurality of video thumbnail simultaneously |
US9301016B2 (en) | 2012-04-05 | 2016-03-29 | Facebook, Inc. | Sharing television and video programming through social networking |
US9372589B2 (en) | 2012-04-18 | 2016-06-21 | Facebook, Inc. | Structured information about nodes on a social networking system |
US8904446B2 (en) * | 2012-05-30 | 2014-12-02 | Verizon Patent And Licensing Inc. | Method and apparatus for indexing content within a media stream |
USD726196S1 (en) | 2012-06-05 | 2015-04-07 | Apple Inc. | Display screen or portion thereof with graphical user interface |
USD710371S1 (en) * | 2012-06-05 | 2014-08-05 | Apple Inc. | Display screen or portion thereof with graphical user interface |
CN102710655B (en) * | 2012-06-15 | 2015-12-16 | 深圳市方果网络科技有限公司 | A kind of network interaction system and method based on sports |
US9699485B2 (en) | 2012-08-31 | 2017-07-04 | Facebook, Inc. | Sharing television and video programming through social networking |
WO2014089345A1 (en) | 2012-12-05 | 2014-06-12 | Frequency Ip Holdings, Llc | Automatic selection of digital service feed |
US10204170B2 (en) | 2012-12-21 | 2019-02-12 | Highspot, Inc. | News feed |
US9727618B2 (en) * | 2012-12-21 | 2017-08-08 | Highspot, Inc. | Interest graph-powered feed |
US9817556B2 (en) * | 2012-12-26 | 2017-11-14 | Roovy, Inc. | Federated commenting for digital content |
US10649607B2 (en) * | 2012-12-28 | 2020-05-12 | Facebook, Inc. | Re-ranking story content |
US20140222775A1 (en) * | 2013-01-09 | 2014-08-07 | The Video Point | System for curation and personalization of third party video playback |
US9661086B2 (en) * | 2013-01-31 | 2017-05-23 | Facebook, Inc. | Incorporation of content from an external followed user within a social networking system |
US9165069B2 (en) * | 2013-03-04 | 2015-10-20 | Facebook, Inc. | Ranking videos for a user |
US9092489B1 (en) * | 2013-03-08 | 2015-07-28 | Google Inc. | Popular media items data set with exponential decay |
US9336360B1 (en) | 2013-03-14 | 2016-05-10 | Kobalt Music Group Limited | Analysis and display of a precis of global licensing activities |
US10319040B1 (en) | 2013-03-14 | 2019-06-11 | Ktech Services Limited | Control of the generation and display of royalty administration and rights management data based on the user's rights of access |
EP2779636A3 (en) * | 2013-03-15 | 2015-04-01 | Samsung Electronics Co., Ltd | Display apparatus, server and control method thereof |
USD773492S1 (en) | 2013-03-15 | 2016-12-06 | Kobalt Music Group Limited | Display screen with a graphical user interface |
US10055418B2 (en) | 2014-03-14 | 2018-08-21 | Highspot, Inc. | Narrowing information search results for presentation to a user |
USD773491S1 (en) | 2013-03-15 | 2016-12-06 | Kobalt Music Group Limited | Display screen with a graphical user interface |
US9886160B2 (en) * | 2013-03-15 | 2018-02-06 | Google Llc | Managing audio at the tab level for user notification and control |
US9467486B2 (en) | 2013-03-15 | 2016-10-11 | Samsung Electronics Co., Ltd. | Capturing and analyzing user activity during a multi-user video chat session |
USD773490S1 (en) | 2013-03-15 | 2016-12-06 | Kobalt Music Group Limited | Display screen with a graphical user interface |
CN104144357B (en) * | 2013-05-10 | 2017-08-04 | 中国电信股份有限公司 | Video broadcasting method and system |
US9560159B1 (en) | 2013-06-07 | 2017-01-31 | Google Inc. | Recommending media content to a user based on information associated with a referral source |
US9485329B1 (en) | 2013-07-17 | 2016-11-01 | Google Inc. | Action-defined conditions for selecting curated content |
US9154845B1 (en) | 2013-07-29 | 2015-10-06 | Wew Entertainment Corporation | Enabling communication and content viewing |
US9244522B2 (en) | 2013-08-30 | 2016-01-26 | Linkedin Corporation | Guided browsing experience |
US11238056B2 (en) | 2013-10-28 | 2022-02-01 | Microsoft Technology Licensing, Llc | Enhancing search results with social labels |
US20150143103A1 (en) * | 2013-11-18 | 2015-05-21 | Life of Two | Messaging and networking keepsakes |
US9710434B2 (en) | 2013-12-10 | 2017-07-18 | Highspot, Inc. | Skim preview |
US8930819B1 (en) * | 2013-12-13 | 2015-01-06 | Linkedin Corporation | Visualization of the reach of a post by a member of an on-line social networking system |
US10477281B2 (en) | 2013-12-30 | 2019-11-12 | Telecom Italia S.P.A. | Method and system for automatically selecting parts of a video and/or audio media content based on information obtained from social networks |
US11645289B2 (en) | 2014-02-04 | 2023-05-09 | Microsoft Technology Licensing, Llc | Ranking enterprise graph queries |
US9870432B2 (en) | 2014-02-24 | 2018-01-16 | Microsoft Technology Licensing, Llc | Persisted enterprise graph queries |
US11657060B2 (en) | 2014-02-27 | 2023-05-23 | Microsoft Technology Licensing, Llc | Utilizing interactivity signals to generate relationships and promote content |
US10757201B2 (en) | 2014-03-01 | 2020-08-25 | Microsoft Technology Licensing, Llc | Document and content feed |
US10255563B2 (en) | 2014-03-03 | 2019-04-09 | Microsoft Technology Licensing, Llc | Aggregating enterprise graph content around user-generated topics |
US9674579B1 (en) * | 2014-03-31 | 2017-06-06 | Google Inc. | Rating videos based on parental feedback |
US9805125B2 (en) | 2014-06-20 | 2017-10-31 | Google Inc. | Displaying a summary of media content items |
US10206014B2 (en) | 2014-06-20 | 2019-02-12 | Google Llc | Clarifying audible verbal information in video content |
US9838759B2 (en) | 2014-06-20 | 2017-12-05 | Google Inc. | Displaying information related to content playing on a device |
US10061826B2 (en) * | 2014-09-05 | 2018-08-28 | Microsoft Technology Licensing, Llc. | Distant content discovery |
US10353995B2 (en) * | 2014-10-21 | 2019-07-16 | International Business Machines Corporation | Improving understanding of the relationship between the comments being made to the containers and the comments being made to the elements of the containers |
US9854317B1 (en) | 2014-11-24 | 2017-12-26 | Wew Entertainment Corporation | Enabling video viewer interaction |
US9984310B2 (en) * | 2015-01-23 | 2018-05-29 | Highspot, Inc. | Systems and methods for identifying semantically and visually related content |
CN106162242B (en) * | 2015-04-09 | 2018-12-04 | 晨星半导体股份有限公司 | Management method, management device and non-transitory computer-readable storage medium applied to TV program information sharing network |
US10685471B2 (en) * | 2015-05-11 | 2020-06-16 | Facebook, Inc. | Methods and systems for playing video while transitioning from a content-item preview to the content item |
CN104994127A (en) * | 2015-05-14 | 2015-10-21 | 温州大学 | Network social system and method for sports activities |
US10349141B2 (en) | 2015-11-19 | 2019-07-09 | Google Llc | Reminders of media content referenced in other media content |
US9467408B1 (en) * | 2015-12-22 | 2016-10-11 | Linkedin Corporation | Interactive commentary based on video-content characteristics |
WO2017156288A1 (en) * | 2016-03-09 | 2017-09-14 | Linkedin Corporation | Viewpoint tracking data for improved feed relevance |
US9992539B2 (en) | 2016-04-05 | 2018-06-05 | Google Llc | Identifying viewing characteristics of an audience of a content channel |
US10554664B2 (en) * | 2016-05-02 | 2020-02-04 | Microsoft Technology Licensing, Llc | Activity feed for hosted files |
US11109086B2 (en) | 2016-12-31 | 2021-08-31 | Turner Broadcasting System, Inc. | Publishing disparate live media output streams in mixed mode |
US12022142B2 (en) | 2016-12-31 | 2024-06-25 | Turner Broadcasting System, Inc. | Publishing a plurality of disparate live media output stream manifests using live input streams and pre-encoded media assets |
US11051061B2 (en) | 2016-12-31 | 2021-06-29 | Turner Broadcasting System, Inc. | Publishing a disparate live media output stream using pre-encoded media assets |
US10965967B2 (en) | 2016-12-31 | 2021-03-30 | Turner Broadcasting System, Inc. | Publishing a disparate per-client live media output stream based on dynamic insertion of targeted non-programming content and customized programming content |
US11134309B2 (en) * | 2016-12-31 | 2021-09-28 | Turner Broadcasting System, Inc. | Creation of channels using pre-encoded media assets |
US11470373B2 (en) | 2016-12-31 | 2022-10-11 | Turner Broadcasting System, Inc. | Server-side dynamic insertion of programming content in an indexed disparate live media output stream |
US11438658B2 (en) | 2016-12-31 | 2022-09-06 | Turner Broadcasting System, Inc. | Client-side dynamic presentation of programming content in an indexed disparate live media output stream |
US10992973B2 (en) | 2016-12-31 | 2021-04-27 | Turner Broadcasting System, Inc. | Publishing a plurality of disparate live media output stream manifests using live input streams and pre-encoded media assets |
US11503352B2 (en) | 2016-12-31 | 2022-11-15 | Turner Broadcasting System, Inc. | Dynamic scheduling and channel creation based on external data |
US11962821B2 (en) | 2016-12-31 | 2024-04-16 | Turner Broadcasting System, Inc. | Publishing a disparate live media output stream using pre-encoded media assets |
US10645462B2 (en) | 2016-12-31 | 2020-05-05 | Turner Broadcasting System, Inc. | Dynamic channel versioning in a broadcast air chain |
US12389051B2 (en) | 2016-12-31 | 2025-08-12 | Turner Broadcasting System, Inc. | Method and system for managing a pre-encoded media asset for immediate playback |
US10856016B2 (en) * | 2016-12-31 | 2020-12-01 | Turner Broadcasting System, Inc. | Publishing disparate live media output streams in mixed mode based on user selection |
US10425700B2 (en) | 2016-12-31 | 2019-09-24 | Turner Broadcasting System, Inc. | Dynamic scheduling and channel creation based on real-time or near-real-time content context analysis |
US10075753B2 (en) | 2016-12-31 | 2018-09-11 | Turner Broadcasting System, Inc. | Dynamic scheduling and channel creation based on user selection |
US11038932B2 (en) | 2016-12-31 | 2021-06-15 | Turner Broadcasting System, Inc. | System for establishing a shared media session for one or more client devices |
US12301893B2 (en) | 2016-12-31 | 2025-05-13 | Turner Broadcasting System, Inc. | Dynamic playout buffer for media output stream |
US11051074B2 (en) | 2016-12-31 | 2021-06-29 | Turner Broadcasting System, Inc. | Publishing disparate live media output streams using live input streams |
US10694231B2 (en) | 2016-12-31 | 2020-06-23 | Turner Broadcasting System, Inc. | Dynamic channel versioning in a broadcast air chain based on user preferences |
US11546400B2 (en) | 2016-12-31 | 2023-01-03 | Turner Broadcasting System, Inc. | Generating a live media segment asset |
US10827220B2 (en) | 2017-05-25 | 2020-11-03 | Turner Broadcasting System, Inc. | Client-side playback of personalized media content generated dynamically for event opportunities in programming media content |
US10341735B2 (en) | 2017-11-06 | 2019-07-02 | Rovi Guides, Inc. | Systems and methods for sharing content service provider subscriptions |
US20190141398A1 (en) * | 2017-11-06 | 2019-05-09 | Rovi Guides, Inc. | Systems and methods for sharing content service provider subscriptions for media asset recommendations |
CN107908451A (en) * | 2017-11-14 | 2018-04-13 | 珠海市魅族科技有限公司 | A kind of method for information display and equipment |
US11146845B2 (en) | 2017-12-05 | 2021-10-12 | Relola Inc. | Systems and methods for unified presentation of synchronized on-demand, live, social or market content |
US10924809B2 (en) | 2017-12-05 | 2021-02-16 | Silicon Beach Media II, Inc. | Systems and methods for unified presentation of on-demand, live, social or market content |
US10631035B2 (en) | 2017-12-05 | 2020-04-21 | Silicon Beach Media II, LLC | Systems and methods for unified compensation, presentation, and sharing of on-demand, live, social or market content |
US10817855B2 (en) | 2017-12-05 | 2020-10-27 | Silicon Beach Media II, LLC | Systems and methods for unified presentation and sharing of on-demand, live, social or market content |
US10783573B2 (en) | 2017-12-05 | 2020-09-22 | Silicon Beach Media II, LLC | Systems and methods for unified presentation and sharing of on-demand, live, or social activity monitoring content |
US10567828B2 (en) * | 2017-12-05 | 2020-02-18 | Silicon Beach Media II, LLC | Systems and methods for unified presentation of a smart bar on interfaces including on-demand, live, social or market content |
US11010179B2 (en) | 2018-04-20 | 2021-05-18 | Facebook, Inc. | Aggregating semantic information for improved understanding of users |
US11715042B1 (en) | 2018-04-20 | 2023-08-01 | Meta Platforms Technologies, Llc | Interpretability of deep reinforcement learning models in assistant systems |
US11676220B2 (en) | 2018-04-20 | 2023-06-13 | Meta Platforms, Inc. | Processing multimodal user input for assistant systems |
US11307880B2 (en) | 2018-04-20 | 2022-04-19 | Meta Platforms, Inc. | Assisting users with personalized and contextual communication content |
US11886473B2 (en) | 2018-04-20 | 2024-01-30 | Meta Platforms, Inc. | Intent identification for agent matching by assistant systems |
US11082734B2 (en) | 2018-12-21 | 2021-08-03 | Turner Broadcasting System, Inc. | Publishing a disparate live media output stream that complies with distribution format regulations |
US10880606B2 (en) | 2018-12-21 | 2020-12-29 | Turner Broadcasting System, Inc. | Disparate live media output stream playout and broadcast distribution |
US10873774B2 (en) | 2018-12-22 | 2020-12-22 | Turner Broadcasting System, Inc. | Publishing a disparate live media output stream manifest that includes one or more media segments corresponding to key events |
KR102817811B1 (en) | 2020-03-13 | 2025-06-09 | 구글 엘엘씨 | Network-connected television devices with knowledge-based media content recommendations and integrated user interfaces |
USD945481S1 (en) | 2020-06-18 | 2022-03-08 | Apple Inc. | Display screen or portion thereof with graphical user interface |
US12141363B2 (en) | 2021-09-01 | 2024-11-12 | Snap Inc. | Physical action-based augmented reality communication exchanges |
US12299825B2 (en) | 2021-09-01 | 2025-05-13 | Snap Inc. | Handcrafted augmented reality effort evidence |
EP4409536A1 (en) * | 2021-09-01 | 2024-08-07 | Snap Inc. | Handcrafted augmented reality experiences |
US12284324B2 (en) | 2021-09-02 | 2025-04-22 | Snap Inc. | Augmented reality prop interactions |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060230061A1 (en) * | 2004-01-29 | 2006-10-12 | Yahoo! Inc. | Displaying aggregated new content by selected other user based on their authorization level |
US20070214141A1 (en) * | 2005-12-23 | 2007-09-13 | Aaron Sittig | Systems and methods for generating a social timeline |
US20080222199A1 (en) * | 2007-03-06 | 2008-09-11 | Tiu William K | Multimedia Aggregation in an Online Social Network |
CN101557567A (en) * | 2008-04-11 | 2009-10-14 | 李锐 | Information aggregation and interaction method and service system |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8117281B2 (en) * | 2006-11-02 | 2012-02-14 | Addnclick, Inc. | Using internet content as a means to establish live social networks by linking internet users to each other who are simultaneously engaged in the same and/or similar content |
US9172915B2 (en) * | 2004-08-04 | 2015-10-27 | Dizpersion Corporation | Method of operating a channel recommendation system |
US7308418B2 (en) * | 2004-05-24 | 2007-12-11 | Affinova, Inc. | Determining design preferences of a group |
US20080126476A1 (en) * | 2004-08-04 | 2008-05-29 | Nicholas Frank C | Method and System for the Creating, Managing, and Delivery of Enhanced Feed Formatted Content |
US7669123B2 (en) * | 2006-08-11 | 2010-02-23 | Facebook, Inc. | Dynamically providing a news feed about a user of a social network |
US7886000B1 (en) * | 2006-06-27 | 2011-02-08 | Confluence Commons, Inc. | Aggregation system for social network sites |
US8032510B2 (en) * | 2008-03-03 | 2011-10-04 | Yahoo! Inc. | Social aspects of content aggregation, syndication, sharing, and updating |
US7730216B1 (en) * | 2006-12-14 | 2010-06-01 | Qurio Holdings, Inc. | System and method of sharing content among multiple social network nodes using an aggregation node |
JP4833147B2 (en) * | 2007-04-27 | 2011-12-07 | 株式会社ドワンゴ | Terminal device, comment output method, and program |
US8028905B2 (en) * | 2007-05-18 | 2011-10-04 | Holberg Jordan R | System and method for tracking individuals via remote transmitters attached to personal items |
US9602605B2 (en) * | 2007-10-26 | 2017-03-21 | Facebook, Inc. | Sharing digital content on a social network |
US8250096B2 (en) * | 2008-03-31 | 2012-08-21 | Yahoo! Inc. | Access to trusted user-generated content using social networks |
US20090313244A1 (en) * | 2008-06-16 | 2009-12-17 | Serhii Sokolenko | System and method for displaying context-related social content on web pages |
US8839327B2 (en) * | 2008-06-25 | 2014-09-16 | At&T Intellectual Property Ii, Lp | Method and apparatus for presenting media programs |
US9015778B2 (en) * | 2008-06-25 | 2015-04-21 | AT&T Intellectual Property I. LP | Apparatus and method for media on demand commentaries |
US20100179915A1 (en) * | 2009-01-13 | 2010-07-15 | International Business Machines Corporation | Apparatus, system, and method for aggregating a plurality of feeds |
US9110953B2 (en) * | 2009-03-04 | 2015-08-18 | Facebook, Inc. | Filtering content in a social networking service |
US8635658B2 (en) * | 2009-05-11 | 2014-01-21 | Microsoft Corporation | Broadcast social and media navigation system |
US20100293105A1 (en) * | 2009-05-15 | 2010-11-18 | Microsoft Corporation | Social networking updates for image display devices |
US8019896B2 (en) * | 2009-07-30 | 2011-09-13 | Ineoquest Technologies, Inc. | System and method of collecting video content information |
US8224756B2 (en) * | 2009-11-05 | 2012-07-17 | At&T Intellectual Property I, L.P. | Apparatus and method for managing a social network |
US20110202544A1 (en) * | 2010-02-12 | 2011-08-18 | Praized Media Inc. | Real time aggregation and filtering of local data feeds |
US8584021B2 (en) * | 2010-02-26 | 2013-11-12 | Microsoft Corporation | Displaying feed data |
US8468201B2 (en) * | 2010-03-23 | 2013-06-18 | Google Inc. | Organizing social activity information on a site |
US20110264737A1 (en) * | 2010-04-23 | 2011-10-27 | James Skinner | Systems and Methods for Defining User Relationships in a Social Networking Environment |
US8955007B2 (en) * | 2010-12-10 | 2015-02-10 | Verizon Patent And Licensing Inc. | System for and method of providing subscriber voting interaction |
US9153000B2 (en) * | 2010-12-13 | 2015-10-06 | Microsoft Technology Licensing, Llc | Presenting content items shared within social networks |
US20120185892A1 (en) * | 2011-01-19 | 2012-07-19 | Fliptop, Inc., a corporation of CA | System and method for managing multiple content channels and engagement scoring |
US20130019181A1 (en) * | 2011-07-15 | 2013-01-17 | Microsoft Corporation | Ensuring variety in a feed |
WO2013177571A2 (en) * | 2012-05-24 | 2013-11-28 | Subtext Media Inc. | Interactive organization of comments on an online social platform |
-
2011
- 2011-03-23 US US13/070,437 patent/US8468201B2/en active Active
- 2011-03-23 WO PCT/US2011/029686 patent/WO2011119775A1/en active Application Filing
- 2011-03-23 CN CN201180022896.8A patent/CN102906689B/en active Active
- 2011-03-23 CN CN201610645584.7A patent/CN106383827B/en active Active
- 2011-03-23 EP EP20110760177 patent/EP2550591A4/en not_active Withdrawn
- 2011-09-26 US US13/245,832 patent/US8661124B2/en active Active
-
2014
- 2014-02-21 US US14/186,822 patent/US20140237098A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060230061A1 (en) * | 2004-01-29 | 2006-10-12 | Yahoo! Inc. | Displaying aggregated new content by selected other user based on their authorization level |
US20070214141A1 (en) * | 2005-12-23 | 2007-09-13 | Aaron Sittig | Systems and methods for generating a social timeline |
US20080222199A1 (en) * | 2007-03-06 | 2008-09-11 | Tiu William K | Multimedia Aggregation in an Online Social Network |
CN101557567A (en) * | 2008-04-11 | 2009-10-14 | 李锐 | Information aggregation and interaction method and service system |
Also Published As
Publication number | Publication date |
---|---|
CN106383827B (en) | 2020-01-07 |
CN102906689A (en) | 2013-01-30 |
EP2550591A4 (en) | 2015-01-14 |
US20140237098A1 (en) | 2014-08-21 |
EP2550591A1 (en) | 2013-01-30 |
US8468201B2 (en) | 2013-06-18 |
WO2011119775A1 (en) | 2011-09-29 |
US8661124B2 (en) | 2014-02-25 |
US20120023534A1 (en) | 2012-01-26 |
US20110238754A1 (en) | 2011-09-29 |
CN106383827A (en) | 2017-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102906689B (en) | Organize social event information on the site | |
US11463767B2 (en) | Temporary modifying of media content metadata | |
US10552892B2 (en) | Method, medium, and system for customizing content based on social network information | |
US11012753B2 (en) | Computerized system and method for determining media based on selected motion video inputs | |
TWI636416B (en) | Method and system for multi-phase ranking for content personalization | |
US10356462B1 (en) | Recommending a composite channel | |
US9767202B2 (en) | Linking content files | |
EP2909733B1 (en) | Trackable sharing of on-line video content | |
US9501574B2 (en) | Determining an influential audience member | |
US12039575B1 (en) | Applying social interaction-based policies to digital media content | |
US20140164401A1 (en) | Systems and Methods for Providing Personalized Recommendations for Electronic Content | |
US10674215B2 (en) | Method and system for determining a relevancy parameter for content item | |
JP2019514084A (en) | Viewing time clustering for video search | |
KR101922182B1 (en) | Providing universal social context for concepts in a social networking system | |
US20150074599A1 (en) | Mobile video channel-based gestural user interface | |
WO2015161088A1 (en) | Third-party analytics and management | |
CN107341172A (en) | Video income calculation model building device and method and video recommendations apparatus and method | |
CN104471569B (en) | System and method for providing annotated items |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: American California Patentee after: Google limited liability company Address before: American California Patentee before: Google Inc. |