用于模拟社交网络中离线用户的推荐的方法和系统的制作方法

文档序号:7922781阅读:409来源:国知局
专利名称:用于模拟社交网络中离线用户的推荐的方法和系统的制作方法
技术领域
本发明涉及社交媒体推荐网络。
背景技术
在当今的数字化社会,社交网络大量增加。例如,即时通讯和聊天 应用使用户能够创建朋友或密友社交网络。朋友可以被分成各种类型或
分组,如朋友,家人,同事以及其它。作为另一个例子,诸如MySpace 的社交交际网站(social networking website)允许用户创建朋友社 交网络,利用该社交网络用户能够进行交流。
社交网络的出现是用来在用户中间推荐媒体内容的一种手段。共同 拥有并受让的序号为1 1/484, 1 30、标题为"P2P NETWORK FOR PROVIDING REAL TIME MEDIA RECOMMENDATIONS"的美国专利申请公开了示例性的 基于社交网络的媒体推荐系统,该系统在本文中称作社交媒体推荐网 络。这类系统存在的 一个问题是当社交媒体推荐网络中的另 一个用户不 可用(unavailable)时,由任何一个用户接收的推荐的数量会明显降 低。因此,需要一种系统和方法以消除或减轻用户不可用时社交媒体推 荐网络中推荐流的明显降低,同时保持通过该系统的自然推荐流。

发明内容
本发明涉及在社交媒体推荐网络中模拟不可用用户的推荐。通常, 形成社交媒体推荐网络使得社交媒体推荐网络中的每个用户发送和接 收来自他们的朋友的推荐。当社交媒体推荐网络中的其中 一个用户不可 用时,推荐模拟器用于模拟来自该不可用用户的推荐。当该用户再次变 得可用时,推荐模拟器停止模拟来自该用户的推荐。
更具体地,在一个实施例中,每个用户与推荐客户端关联,该推荐 客户端从该用户的朋友的推荐客户端接收媒体项目的推荐。推荐客户端 可以对推荐的媒体项目打分并任选地对来自用户的i某体集(media collection)中的媒体项目打分。该分数可以由推荐客户端使用,以通 过编程方式从推荐的媒体项目,及任选地从用户的媒体集中的媒体项目中选择回放的媒体项目。响应于对所选择的媒体项目的回放,推荐客户 端给用户的朋友的推荐客户端发送相应推荐。
在用户变成不可用之前,推荐模拟器从用户的推荐客户端获得客户
端上下文信息(context information )。客户端上下文信息可以包4舌例 如用来对媒体项目打分的用户偏好,用户的媒体集中媒体项目的列表及 它们的分数,先前推荐给用户的媒体项目列表及它们的分数等等。当用 户变成不可用时,推荐模拟器使用客户端上下文信息模拟用户的推荐客 户端。照此,在一个实施例中,推荐模拟器代表用户接收推荐,对推荐 的媒体项目打分,通过编程方式选择回放的媒体项目,模拟所选择的媒 体项目的回放,响应于对所选择的媒体项目的模拟回放,向用户的朋友 的推荐客户端发送推荐。
结合附图阅读下文对优选实施例的详细描述之后,本领域技术人员 会认识到本发明的范围,并认识到本发明的附加方面。


并入本说明书并形成本说明书的 一部分的附解说明了本发明 的几个方面,并与下文的描述一起用来解释本发明的原理。
图1图解说明根据本发明一个实施例的包括推荐模拟器的系统,所 述推荐模拟器用于在社交媒体推荐网络中模拟来自不可用用户的推荐;
图2A和图2B图解说明示例性社交网络以及当不根据本发明模拟来 自不可用用户的推荐时,不可用用户的典型影响;
图3是图解说明根据本发明的一个实施例的图1的推荐模拟器的主 代理的操作的流程图4是图解说明根据本发明的一个实施例的由用户代理(图3的主 代理)启动的用来模拟不可用用户的推荐的流程图5是图解说明根据本发明的 一个实施例的由推荐模拟器的主代理
启动的用户代理的操作的流程图6A图解说明根据本发明的一个实施例的当推荐的推荐者和接受 者都可用时,图1的系统的操作流程图6B图解说明根据本发明的一个实施例的图1的系统的操作,其 中用户代理模拟在发送推荐时不可用用户的推荐客户端的操作;
图6C图解说明根据本发明的一个实施例的图1的系统的操作,其中用户代理模拟在接收推荐时不可用用户的推荐客户端的操作;
图7是根据本发明的一个实施例的图1的中央服务器的框图;和 图8是根据本发明的一个实施例的图1的其中一个用户设备的框图。
具体实施例方式
下文描述的实施例代表使本领域技术人员能够实践本发明的必要 信息,并图解说明了实践本发明的最佳模式。根据附图阅读下面描述之 后,本领域技术人员会理解本发明的概念,并会认识到本文没有具体指 出的这些概念的应用。应该理解的是,这些概念和应用都落入公开内容 和随附的权利要求书的范围之内。
图1图解说明根据本发明的一个实施例的系统10,系统IO模拟社 交媒体推荐网络中来自不可用用户的推荐。通常,系统10包括通过网 络16连接的中央服务器12和许多用户设备M-1至M-N。网络16在本 文也称作通信网络。网络16可以是任何类型的广域网(WAN)或局域网 (LAN),或它们的任何组合。此外,网络16可以包括有线组件,无线 组件,或既包括有线组件又包括无线组件。用户18-1至18-N与用户设 备14-1至14-N关联。应注意尽管在图1中图示了单个中央服务器12, 但本发明并不局限于此。中央服务器12的功能性可以可替代地被分布
在多个服务器上。
中央服务器12包括推荐服务器20,推荐模拟器22,用户简档24 和客户端上下文信息26。推荐服务器20优选是用软件实现的。不过推 荐服务器20也可以用软件、硬件或软件和硬件的组合来实现。通常, 推荐服务器20提供社交推荐网络的集中功能性,例如用户简档管理和 推荐转发。关于推荐转发,在一个实施例中,推荐服务器20用于把来 自例如用户18-1的用户设备14-1的推荐转发到具有是用户18-1的朋 友的相关联用户的从用户设备14-2至14-N中的其它用户设备。如本文 使用的,用户18-1的朋友是由用户18-1识别为用户18-1希望从其接 收推荐和/或用户18-1希望向其发送推荐的用户的另一个用户。用户 18-1的朋友可以由用户18-1手动选择或以其它方式识别,例如由中央 服务器12使用用户简档匹配技术或类似技术以编程方式选择。而且, 用户18-1可以^巴朋友分成许多类型或分组,如朋友,家人和同事。如果使用这种类型或分组,则用户18-1可以选择或以其它方式识别是否 要手动地或通过用户偏好给所有朋友或一个或多个所选类型的朋友提 供推荐。可以基于时间、要推荐的媒体项目的类型或其它分类或者类似 信息控制在各种类型或分组的朋友之间分发推荐的方式。例如,在白天
中,用户18-1可以指定将推荐提供给类别为同事的朋友,并且指定在
晚上将推荐提供给分类为朋友和家人的朋友。
推荐模拟器22优选是用软件实现的。不过,推荐模拟器22也可以 以软件、硬件或软件和硬件的组合来实现。通常,推荐模拟器22包括 主代理28,主代理28检测或以其它方式确定用户18-1至18-N何时是 不可用的,并且作为响应,启动用户代理30-1至30-M,所述用户代理 操作以;漠拟来自不可用用户的推荐。更具体地,在例如用户18-1不可 用时,主代理28启动用户代理30-1至30-M中的一个以一莫拟来自用户 18-1的推荐。在以下情况下,用户18-1是不可用的,例如当用户设备 14-1不能连接到网络16,用户18-1必须选择从推荐服务器20断开或 另外选择相对于社交推荐网络进入离线状态,用户设备M-l和中央服 务器12之间的连接的带宽降到阈值之下,用户18-l在诸如工作地点之 类的预定地点,用户18-1变成不活动的,用户18-1显式地(explicitly) 启动模拟,模拟已经被安排等。注意到,在任一时刻用户代理30-1至 30-M的数量取决于当时不可用的用户18-1至18-N的数量。可替代地, 在用户18-1至18-N变成不可用时,可能有静态数量的用户代理30-1 至30-M纟皮分配。
用户简档24包括用户18-1至18-N中每一用户的用户简档。以用 户18-l作为例子,在一个实施例中,用户简档包括用户18-l的朋友列 表。这些朋友是用户18-1向其发送推荐并且从其接收推荐的用户18-2 至18-N中的其它用户。用户18-1的用户简档还可以包括用户18-1的 才莫4以{扁好(simulation preference),这一夸在下文^S仑。jt匕夕卜,用户 18-1的用户简档可以包括用来例如对媒体项目打分或另外选择媒体项 目以在用户设备14-1回放的用户18-1的用户偏好。在一个实施例中, 用户偏好包括多个用户偏好组,其中每个用户偏好组对应于本文所称的 媒体通道。例如,用户偏好可以包括"摇滚"媒体通道和"80年代的摇 滚"媒体通道的用户偏好组。如下面讨论的,当摇滚媒体通道被选择时, 相应的用户偏好组用来从摇滚音乐流派中选择媒体项目,以便在用户设备14-1上回放。当80年代的摇滚媒体通道被选择时,相应的用户偏好
组用来从八十年代发行的摇滚音乐流派中选择媒体项目,以便在用户设
备14-1上回放。应注意用户偏好可以可替代地净皮存储在客户端上下文 信息26中。
客户端上下文信息26包括用户18-1至18-N中每个用户的推荐客 户端32-1至32-N的客户端上下文。客户端上下文信息26取决于推荐 客户端32-1至32-N的具体实施方式
。通常,客户端上下文提供推荐模 拟器22所需的信息以便在用户18-1至18-N离线时模拟推荐客户端 32-1至32-N。下面参考本发明的示例性实施例来对客户端上下文信息 26进行更多详细描述。
用户设备14-1至14-N每个都可以是个人计算机,诸如具备媒体回 放和网络能力的移动电话之类的移动设备,具备媒体回放和网络能力的 机顶盒,具备媒体回放和网络能力的游戏机,具备媒体回放和网络能力 的一些其它消费设备或者类似设备。用户设备14-1至14-N通常分别包 括推荐客户端32-1至32-N和用户媒体集34-1至34-N (在本文后面称 为媒体集34-1至34-N)。推荐客户端32-1至32-N优选是用软件实现 的。不过,本发明并不限于此。推荐客户端32-1至32-N可以用软件、 硬件或软件与硬件的组合来实现。
在这个实施例中,推荐客户端32-1至32-N分别包括媒体播放器 36-1至36-N和推荐引擎38-1至38-N。应注意媒体播放器36-1至36-N 可以可替代地与推荐客户端32-1至32-N分开实施。例如,推荐客户端 32-1至32-N可以实现为媒体播放器36-1至36-N的插件。媒体集34-1 至34-N分别包括用户18-1至18-N可以访问的媒体项目。例如,媒体 集34-1至34-N可以包括由相应的用户18-1至18-N拥有或以其他方式 获得的媒体项目。媒体项目可以存储在用户设备14-1至14-N本地,或 者由相关的设备或服务器远程存储。媒体项目可以是例如歌曲、视频、 有声读物等。
以用户设备14-1作为例子,推荐引擎38-1用于将推荐发送到被识 别为用户18-1的朋友的一个或多个其它推荐客户端32-2至32-N相关 联的用户,并从该一个或多个其它推荐客户端32-2至32-N相关联的用 户接收推荐。更具体地,在一个实施例中,推荐引擎38-1用于通过编 程方式利用用户18-1的用户偏好从由推荐客户端32-1从用户18-1的
10朋友的推荐客户端接收的推荐所识别的媒体项目以及可选地用户18-1
的媒体集34-1中的媒体项目中选择媒体项目来播放。推荐引擎38-1触 发媒体播放器36-1对所选择的媒体项目的回放。响应于所选媒体项目 的回放,推荐引擎38-1将对所播放的媒体项目的推荐发送给推荐服务 器20,然后,推荐服务器20将该推荐转发给用户18-l的朋友。要得到 推荐引擎38-1的这个示例性实施例的更多信息,感兴趣的读者可以参 考于2006年7月11日申请的、标题为"P2P NETWORK FOR PROVIDING REAL TIME MEDIA RECOMMENDATIONS" 序列号为11/484, 130的美国专利申请, 该专利申请全部内容在此引入以供参考。
在继续讨论本发明的细节之前,讨论社交推荐网中不可用用户的影 响可能是有益的。图2A图解说明了示例性社交推荐网络。在这个例子 中,用户B,用户C和用户D是用户A的朋友。用户E,用户F,用户G 和用户H是用户C的朋友。用户I是用户G的朋友,用户J是用户H的 朋友。这样,用户A从用户B,用户C和用户D接收推荐,并向他们发 送推荐。用户C从用户A,用户E,用户F,用户G和用户H接收推荐, 并向他们发送推荐。用户G从用户C和用户I接收推荐,并向其发送推 荐。用户H从用户C和用户J接收推荐,并向他们发送推荐。因此,朋 友和朋友的朋友关系的结果是,用户A可以直接或间接地从所有其它用 户B至用户J接收推荐。而且,源自用户A的推荐可以传播到所有其它 用户B至用户J。
不过,如图2B图解说明的,如果用户C变成不可用,则社交网络 中许多对用户A都变为不可用。用户A不再能接收源自用户E,用户F, 用户G,用户H,用户I和用户J的推荐。结果,用户A所接收的推荐 的数量可能急剧减小。不过,如果根据本发明模拟来自用户C的推荐, 则可以以与如果用户C可用的基本相同的方式发送和接收推荐。
图3是图解说明根据本发明的一个实施例的图1的推荐模拟器22 的主代理28的操作的流程图。应注意主代理28对推荐客户端32-1至 32-N中的每个客户端执行下面的过程。首先,主代理28从推荐客户端 获得客户端上下文,在这个例子中该推荐客户端是推荐客户端32-1 (步 骤100)。主代理28可以以任何所需方式从推荐客户端32-1获得客户 端上下文。例如,主代理28可以周期性地从推荐客户端32-1请求客户 端上下文或其更新。作为另一个例子,推荐客户端32-1可以周期性地向推荐模拟器22发送客户端上下文或其更新。作为最后一个例子,如
果用户18-1选择离线,则在允许用户18-1离线之前,或者作为用户18-1 离线过程的一部分,推荐客户端32-1可以向推荐模拟器22发送客户端 上下文。
包含在客户端上下文中的准确信息根据推荐客户端32-1的实施方 式而变化。通常,客户端上下文是推荐模拟器22在用户18-1离线时模 拟推荐客户端32-1所需的信息。例如,客户端上下文可以包括引用或 识别驱动用户18-1的推荐的媒体项目,用户18-1的用户偏好,描述用 户18-l的人口统计信息,用户18-1的历史使用信息,播放列表交互等 等的集合的信息。
在一个实施例中,推荐客户端32-1从其它推荐客户端32-2至32-N 中与用户18-1的朋友关联的一个或多个推荐客户端接收推荐;对若干 媒体项目打分,所述若干媒体项目包括推荐的媒体项目,可选地先前推 荐的媒体项目,以及可选地来自用户18-1的媒体集3"1中的一个或多 个媒体项目;作为它们的分数的函数来通过编程方式选择媒体项目进行 回放;并响应于它们的回放发送对所选的媒体项目的推荐。在这个实施 例中,客户端上下文可以包括例如包含先前推荐给用户18-1的士某体项 目和可选的在用户18-l的媒体集34-1中的媒体项目的媒体项目列表以 及该列表中媒体项目的分数。此外,客户端上下文可以包括用来对媒体 项目打分的用户偏好。如上文讨论的,用户偏好可以可替代地存储在用 户18-1的用户简档中。应注意如果多个用户偏好组由用户18-1限定, 则用户18-1的用户简档可以包括所有用户偏好组。客户端上下文则可 以包括识别当前用来对媒体项目打分的那些组中的一个组,或者要在模 拟过程中用来对媒体项目打分的那些组中的 一 个组的信息。
推荐模拟器22的主代理28还确定用户18-1是否已变为不可用(步 骤102)。可以采用各种技术来确定用户18-1是否已变为不可用。例如, 主代理28可以周期性地查验(ping)推荐客户端32-1的连接性。如果 没有响应,则主代理"可以确定用户l8-l是不可用的。可替代地,推 荐客户端32-1可以周期性地向推荐模拟器22发送"保持激活(keep alive)"消息以通知推荐模拟器22用户18-l是可用的。而且,由用 户18-1采取的显式动作可以使用户18-1的状态变成不可用或离线。例 如,用户18-1可以选择退出(log out )推荐网络。举另一个例子,如果用户18-1在预定时间段内是不活动的,则主代理28可以确定用户 18-1是不可用的。应注意在例如用户18-1显式地启动模拟,模拟已经 被安排,从推荐客户端32-1到中央服务器12的带宽降到阈值以下时及 其它情况下,也可以认为用户18-1是不可用的。
如果用户18-1是可用的,则过程返回步骤IOO。如果用户18-1是 不可用的,则主代理28提供用户代理以用来模拟用户18-1的推荐客户 端32-1 (步骤104 ),用户代理在这个例子中是用户代理30-1。可以通 过启动新的用户代理,通过分配用户代理30-1至30-M中的一个用户代 理,或者类似手段来提供用户代理30-1。如下文讨论的,用户代理30-1 然后模拟推荐客户端32-1,直到用户18-l再次是可用的,或模拟以其 它方式终止。
主代理28然后监控用户18-1的状态,以确定用户18-1何时重新 变成是可用的(步骤106)。当用户18-1可用时,主代理28在该例子 中通过终止用户代理30-1来终止推荐客户端32-1的模拟(步骤108 )。 应注意用户18-1再次变成可用的方式可以根据用户18-1变成不可用的 方式而变化。例如,如果用户18-1通过从社交媒体推荐网络注销(log off)变成不可用,则在用户18-1重新登陆到社交媒体推荐网络时,用 户18-1变成是可用的。如果用户18-1由于用户设备14-1与网络16断 开而变成不可用,则在用户设备14-1能够重新连接到网络16时,用户 18-1变成可用的。如果用户18-1显式地启动模拟,则模拟可以继续到 被用户18-1终止或由于某个预定时间的到期而终止。如果模拟是由用 户18-1安排的或者由推荐模拟器22安排的,则模拟可以在安排的时间 段结束时被终止。如果模拟是由用户18-1的位置触发的,则模拟可以 在用户18-1不再在导致模拟的该位置时被终止。举最后一个例子,如 果模拟是由带宽触发的,则模拟可以在推荐客户端32-1和中央服务器 12之间的带宽增加到阀值之上时被终止。 一旦才莫拟被终止,过程返回步 骤100。
一旦模拟被终止,推荐客户端32-1可以从用户18-1变成不可用时 操作结束的点开始操作。可替代地,推荐模拟器22可以在模拟结束时 给推荐客户端32-1提供推荐模拟器22的上下文。推荐客户端32-1然 后可以在推荐模拟器22停止工作时所在的点开始操作。可以对用户 18-1给出在用户18-1变成不可用时的所在点开始操作,或者在用户18-1再次变成可用时推荐模拟器22的所在点开始操作的选项。
图4是根据本发明的一个实施例的图3的步骤104的更加详细的流 程图。为了提供用来模拟用户18-1的推荐客户端32-1的用户代理30-1, 主代理28首先确定推荐客户端32-1的最近的客户端上下文(步骤200 )。 应注意如果推荐模拟器22没有推荐客户端32-1的客户端上下文,则可 以使用缺省客户端上下文或推荐客户端32-2至32-N中与用户18-1的 朋友相关联的一个推荐客户端的客户端上下文。
主代理28还获得用户18-1的模拟偏好(步骤202 )。模拟偏好可 以是例如模拟是否被允许、对模拟的限制,如允许模拟或不允许模拟的 时间段等。此外,如果多个用户偏好组由用户18-1限定,则模拟偏好 可以包括识别用于冲莫拟的优选用户偏好组的信息。而且,冲莫拟偏好可以 包括识别是否能够自动生成用户偏好的信息。自动生成用户偏好可以用 来作为历史信息的函数而限定或修改用于模拟的用户偏好。例如,如果 用户18-1已经限定了用来对媒体项目打分的多组用户偏好,并且一般 在下午7时从第一组用户偏好切换到第二组用户偏好,则如果当前时间 是下午7点以前,推荐模拟器22可以选择第一组用户偏好,然后在下 午7时切换到第二组用户偏好。
自动生成用户偏好还可以允许推荐模拟器22在模拟过程中基于直 接或间接地从用户18-1接收推荐的朋友或朋友的朋友的用户偏好或其 当前正播放的内容类型更改用户18-1的用户偏好。可替代地,从用户 18-1接收推荐的朋友或朋友的朋友可以在^t拟过程中代表用户18-1明 确请求要播放的内容类型或对所述要播放的内容类型进行投票,其中推 荐模拟器22在模拟过程中基于这些明确请求更改用户18-1的用户偏 好。
在此实施例中,主代理28然后确定是否允许基于用户18-1的模拟 偏好进行模拟(步骤204 )。如果否,则过程结束。如果是,则主代理 28可以优化用于模拟的推荐客户端32-1的客户端上下文(步骤206 )。 例如,如果能够自动生成用户偏好,则主代理28可以作为用户18-1的 历史使用、时间、位置等等的函数来更改客户端上下文中的用户偏好。 例如,基于历史使用,主代理28可以确定用户偏好是如何被用户18-1 更改的,或者另外在一天的过程中是如何改变的。主代理28然后可以 根据一天中的当前时间和历史上在该一天中的当前时间用户偏好一皮调
14整的方式来优化用于模拟的客户端上下文中的用户偏好。更具体地,如 果用户18-1历史上在早上播放摇滚音乐,在下午播放另类
(alternative )音乐,则主^(戈理28可以确定一天中的当前时间。如果 当前时间是早上,则如果有必要主代理28可以更改用户偏好,以便将 摇滚音乐流派识别为要用来^t拟的客户端上下文的优选音乐流派。
附加地或者可替代地,主代理28可以调整或更改用于模拟的客户 端上下文,以及更具体地用来模拟的用户偏好,以适应直接或间接地从 用户18-l接收推荐的用户18-1的朋友或朋友的朋友的需求或偏好。更 具体地,主代理28可以作为下游朋友或朋友的朋友的用户偏好、正由 下游朋友或朋友的朋友播放的内容类型、由下游朋友或朋友的朋友提出 的明确请求等等的函数来更改用来模拟的用户偏好。例如,如果用户 18-1的用户偏好表明用户18-1偏爱乡村音乐,而用户18-1的朋友偏爱 或目前对爵士音乐感兴趣,则用户18-1的用户偏好可以在模拟过程中 被更改。结果,在模拟过程中,给爵士歌曲的打分更高,并且对爵士歌 曲的推荐更可能被发送到用户18-1的朋友。
此时,主代理28启动用户代理30-1以^^莫拟推荐客户端32-1 (步骤 208 )。用户代理30-1然后使用优化的客户端上下文模拟推荐客户端 32-1。应注意到客户端上下文的优化是可选的。这样,用户代理30-1 可以可替代地使用推荐客户端32-1的最近的客户端上下文来模拟推荐 客户端32-1。 一旦用户代理30-1被启动,主代理28向推荐服务器20 注册用户代理30-1 (步骤210)。用户代理30-1被注册到推荐服务器 20,使得要转发给推荐客户端32-1的推荐实际上被转发到用户代理 30-1。
图5是图解说明根据本发明的一个实施例的用户代理30-1模拟推 荐客户端32-1的操作的流程图。首先,用户代理30-1选择最佳用户偏 好设置(步骤300 )。应注意,这也可以在图4的步骤206中由主代理 28来完成。用户代理30-1也执行此操作以便更新最佳用户偏好。例如, 随着一天中时间的变化,用户18-1的朋友或朋友的朋友的需求或优选 的变化等,可能需要更新用于模拟的最佳用户偏好。
在这个例子中,用户代理30-1然后接收来自推荐客户端32-2至 32-N中与用户18-1的朋友关联的一个或多个推荐客户端的推荐(步骤 302 ),并作为用于模拟的最佳用户偏好的函数来对推荐的媒体项目打分(步骤304 )。应注意先前推荐的媒体项目和/或来自用户18-1的媒 体集34-1的媒体项目的分数可以作为推荐客户端32-1的一部分客户端 上下文提供给用户代理30-1。
然后用户代理30-1作为它们的分数的函数对媒体项目的列表进行 排序,或者提供经排序的媒体项目的列表,所述媒体项目包括推荐的媒 体项目,可选的一个或多个先前推荐的々某体项目以及可选的用户18-1 的媒体集34-1的一个或多个媒体项目(步骤306 )。然后由用户代理 30-1模拟优选是分数最高的媒体项目的最上面的媒体项目的回放(步骤 308 )。响应于模拟的媒体项目的回放,用户代理30-1向推荐服务器20 发送对该媒体项目的推荐(步骤310 )。推荐服务器2G然后将该推荐转 发给推荐客户端32-2至32-N中与用户18-1的朋友关联的一个或多个 推荐客户端。应注意如果推荐客户端32-3至32-N中的任何推荐客户端
至30-M。用户代理30-1然后确定排序列表中是否有更多的媒体项目(步 骤312)。如果没有,则过程结束。如果有,则过程返回步骤300,重 复该过程。
图6A-图6C图解说明根据本发明的一个实施例的图1的系统10的 操作。图6A图解说明当推荐者和接受者都可用时系统10的操作。如图 示的,推荐客户端32-1播放媒体项目(步骤400 )。响应于媒体项目的 回放,对该媒体项目的推荐被发送到推荐服务器20 (步骤402 )。该推 荐优选包括媒体标识符(ID)或识别所推荐的媒体项目的其它信息。不 过,推荐可以附加地或可替代地包括媒体项目本身,媒体项目的预览, 媒体项目的引用等。在媒体项目的回放被启动、在媒体项目的回放过程 中、或在媒体项目的回放完成时,可以发送该推荐。
推荐服务器20识别该推荐的接受者(步骤404 )。在一个实施例中, 与推荐客户端32-1关联的用户18-1的用户简档包括用户18-1的朋友 列表,其中所述朋友是其它用户18-2至18-N中的一个或多个。这样, 推荐服务器20可以获得用户18-1的朋友列表,并且将用户18-1的朋 友识别为该推荐的接受者。在这个例子中,与推荐客户端32-N关联的 用户18-N是用户18-1的朋友。推荐服务器20然后将该推荐转发给与 用户18-1的朋友关联的推荐客户端32-N (步骤406 )。应注意在这个 例子中,用户18-1只有一个朋友。不过用户18-1可以有任意数量的一个或多个朋友。
响应于该推荐,推荐客户端32-N作为用户18-N的用户偏好的函数对所推荐的媒体项目打分(步骤408 )。应注意推荐客户端32-N先前接收的推荐和/或来自用户18-N的媒体集34-N的媒体项目已经被打分。推荐客户端32-N然后作为它们的分数的函数对媒体项目的列表排序,或提供经排序的媒体项目列表(步骤410 ),所述媒体项目包括所推荐的媒体项目,可选的一个或多个先前推荐的媒体项目,以及可选的来自用户18-N的媒体集34-N的一个或多个媒体项目。然后播放排序列表中最上面的媒体项目(步骤412),其优选是分数最高的媒体项目。响应于媒体项目的回放,对该媒体项目的推荐被发送给推荐服务器20 (步骤414)。尽管没有显示,但推荐服务器20然后会将推荐转发给用户18-N的朋友的推荐客户端,或可替代地,转发给模拟用户18-N的朋友的推荐客户端的用户代理。
在这个例子中,在播放媒体项目之后,作为不重复因子(no-repeat-factor )的函数更新该々某体项目的分数,并且更新排序列表(步骤416)。所述不重复因子可以是例如用来降低最近播放的媒体项目的分数的乘数,以便降低或消除单个媒体项目由于该其总是具有最高的分数而被连续重复的可能性。从这点来看,过程会无限继续。
图6B图解说明图1的系统10的操作,其中推荐用户是不可用的,在这个例子中所述推荐用户是用户18-1。如所示的,推荐客户端32-1首先变成不可用的(步骤500 )。作为响应,推荐模拟器22检测到用户18-1已经变为不可用(步骤502 )。作为响应,推荐服务器22启动用户代理来模拟推荐客户端32-1 (步骤504 ),在这个例子中用户代理是用户代理30-l。如上面讨论的,用户代理30-1使用推荐客户端32-1的客户上下文模拟推荐客户端32-1,推荐客户端32-1的上下文是在用户18-1变成不可用之前从推荐客户端32-1获得的。推荐模拟器22的用户代理30-1然后模拟推荐客户端32-l对媒体项目的回放(步骤506 )。更具体地,在一个实施例中,维持媒体项目的排序列表,其中作为分配给媒体项目的分数的函数来对媒体项目排序。然后选择排序列表中最上面的媒体项目用于回放,所述最上面的媒体项目优选是分数最高的媒体项目。用户代理30-1然后冲莫拟所选的媒体项目的回放。用户代理30-1可以通过在选择播放下一个媒体项目之前等待一段时间来才莫拟回放,所述一段时间对应于当前媒体项目的播放长度。可替代地,用户代理30-1实际上可以使用相关的媒体播放器播放媒体项目。媒体播放器可以在用
户代理30-l的外部,或嵌入在用户代理30-1内。
响应于对媒体项目的模拟回放,推荐模拟器22的用户代理30-1向推荐服务器20发送对该媒体项目的推荐(步骤508 )。推荐服务器20然后识别该推荐的接受者,接受者优选是用户18-1的朋友(步骤510)。在这个例子中,与推荐客户端32-N关联的用户18-N被识别为用户18-1的接受者或朋友。照此,推荐服务器20将推荐转发给推荐客户端32-N(步骤512)。应注意该推荐可以被识别为^^莫拟的推荐。而且,用户18-N的用户偏好可以被定义成给模拟推荐分配与非模拟推荐不同的权重及分数。例如,与非模拟推荐相比,模拟推荐分配到的权重可能更小。
响应于接收该推荐,推荐客户端32-N作为用户18-N的用户偏好的函数对所推荐的媒体项目打分(步骤514)。应注意如果需要的话,推荐客户端32-N先前接收的推荐和/或来自用户18-N的媒体集34-N中的媒体项目已经被打分。推荐客户端32-N然后作为它们的分数的函数对媒体项目的列表排序,或提供排序的媒体项目列表,所述媒体项目包括所推荐的媒体项目,可选的一个或多个先前推荐的媒体项目,以及可选的来自用户18-N的J 某体集34-N中的一个或多个J 某体项目(步骤516)。如果该排序列表被呈现给用户18-N,则可以用一些类型的可视指示符来区分模拟推荐与非模拟推荐。
然后播放在排序列表中最上面的媒体项目,其优选是分数最高的媒体项目(步骤518)。响应于对媒体项目的回放,推荐客户端32-N将对该媒体项目的推荐发送给推荐服务器20 (步骤520 )。虽然未示出,推荐服务器20然后将该推荐转发给用户18-N的朋友的推荐客户端,或可替代地转发给模拟用户18-N的朋友的推荐客户端的用户代理。在这个例子中,在播放该媒体项目之后,作为不重复因子的函数更新该媒体项目的分数,并且更新排序列表(步骤522 )。不重复因子可以是例如用来降低最近播放的媒体项目的分数的乘数,以便降低或消除单个媒体项目由于其总是具有最高的分数而被连续重复的可能性。从这点来看,该过程会无限继续。
图6C图解说明图1的系统10的操作,其中接受者是不可用的,在这个例子中接受者是用户18-N。如所示的,推荐客户端32-N首先变成
18不可用的(步骤600 )。作为响应,推荐模拟器22检测到用户18-N已经变成不可用(步骤602 )。作为响应,推荐模拟器22启动用户代理来模拟推荐客户端32-N,在这个例子中用户代理是用户代理30-N(步骤604 )。如上面讨论的,用户代理30-N使用推荐客户端32-N的客户端上下文来模拟推荐客户端32-N,推荐客户端32-N的客户端上下文是在用户18-N变成不可用之前从推荐客户端32-N获得的。
一段时间之后,推荐客户端32-1播放媒体项目(步骤606 )。响应于对该媒体项目的回放,推荐客户端32-1将对该媒体项目的推荐发送给推荐服务器20 (步骤608 )。推荐服务器20识别该推荐的接受者(步骤610)。在这个例子中,与推荐客户端32-1关联的用户18-l是用户18-N的朋友,用户18-N因此被识别为该推荐的接受者。由于推荐客户端32-N正在被推荐模拟器22模拟,所以推荐服务器20将该推荐转发给推荐模拟器22的相应的用户代理30-M,而不是转发给推荐客户端32-N(步骤612)。应注意在这个例子中,用户18-1只有一个朋友。不过,用户18-1可以有任意数量的一个或多个朋友。
响应于该推荐,用户代理30-M通过作为用户18-N的用户偏好的函数首先对所推荐的媒体项目打分,来模拟推荐客户端32-N(步骤614)。应注意如果需要的话,推荐客户端32-N先前接收的推荐和/或来自用户18-N的媒体集34-N中的媒体项目可能已经被打分,其中它们的分数包含在提供给推荐模拟器22的客户端上下文中。用户代理30-M通过作为它们的分数的函数排序媒体项目列表,或另外提供排序的媒体项目列表来继续模拟推荐客户端32-N,所述媒体项目包括所推荐的媒体项目,可选的一个或多个先前推荐的媒体项目,以及可选的用户18-N的媒体集34-N中的一个或多个士某体项目(步骤616)。用户代理30-M然后才莫拟排序列表中最上面的媒体项目的回放,所述最上面的媒体项目优选是分数最高的媒体项目(步骤618)。
响应于媒体项目的模拟回放,推荐模拟器22的用户代理30-M向推荐服务器2 0发送对所播放的媒体项目的推荐(步骤620 )。虽然未示出,推荐服务器20然后将该推荐转发给用户18-N的朋友的推荐客户端,或可替代地转发给模拟用户18-N的朋友的推荐客户端的用户代理。在这个例子中,在模拟该媒体项目的回放之后,作为不重复因子的函数更新该媒体项目的分数,并且更新该排序列表(步骤622 )。不重复因子可以是例如用来降低最近播放的媒体项目的分数的乘数,以便降低或消除单个媒体项目由于其总是具有最高的分数而被连续重复的可能性。从这点来看,该过程会无限继续。
图7是图1的中央服务器12的示例性实施例的框图。通常,中央
服务器12包括具有相关存储器42的控制系统40。在这个实施例中,推荐服务器20和推荐模拟器22是以软件实现的并存储在存储器42中。不过本发明并不局限于此。中央服务器12还包括一个或多个数字存储设备44,例如一个或多个硬盘驱动器等。用户简档24和客户端上下文信息26可以由该一个或多个数字存储设备44存储。中央服务器12还包括通信接口 46,通信接口 46将中央服务器12通信地耦合到网络16(图1 )。最后,中央服务器12包括用户接口 48,用户接口 48可以包括例如显示器、 一个或多个用户输入设备等的组件。
图8是图1的用户设备14-1的示例性实施例的框图。该讨论同样适用于其它用户设备14-2至14-N。通常,用户设备14-1包括具有相关存储器52的控制系统50。在这个实施例中,推荐客户端32-1是以软件实现的并存储在存储器52中。不过,本发明并不局限于此。用户设备14-1还包括一个或多个数字存储设备54,例如一个或多个硬盘驱动器等。媒体集34-1 (图1 )可以由该一个或多个数字存储设备54存储。用户设备14-1还包括通信接口 56,通信接口 56将用户设备14-1通信地耦合到网络16 (图1 )。最后,用户设备14-1包括用户接口 58,用户接口 58可以包括例如显示器、 一个或多个用户输入设备、扬声器等的组件。
在不偏离本发明的精神或范围的情况下,本发明提供了大量变形。例如,在上面的讨论中,推荐客户端32-1至32-N是在用户设备H-l至14-N中实现的。不过,在可替代实施例中,推荐客户端32-1至32_N可以完全或部分地在中央服务器12上实现,或者在某个其它的中央服务器上实现。更具体地,在一个实施例中,推荐客户端32-1至3LN是在中央服务器12上实现的,并基本上象上面讨论的一样操作。不过,推荐客户端32-1至32-N可以将媒体项目流传送到用户设备14-1至14-N,而不是在用户设备14-1至14-N上播放媒体项目。用户18-1至18-N也能通过用户设备14-1至14-N上的网络浏览器、定制应用等等来与推荐客户端32-1至32-N交互。而且,由于推荐客户端32-1至32-N可以在中央服务器12上实现,所以如果需要的话,推荐客户端32-l至32-N可以执行他们自身的模拟。例如,当用户(如用户18-1 )不可用时,推荐客户端32-1可以切换到模拟模式。在用户18-l再次可用时,推荐客户端32-1会切换回正常操作,并返回用户18-1离线时所在的那个操作点,或者继续从用户18-1再次变成可用时其在模拟模式下的那个操作点操作。
作为另一个例子,尽管上述讨论集中在推荐模拟器22在中央服务器12上实现的实施例,但本发明并不局限于其。在可替代实施例中,推荐模拟器22的功能性可以分布在用户设备14-1至14-N上。例如,当用户(如用户18-1 )变成不可用时,其它推荐客户端32-2至32-N中的一个推荐客户端可以模拟用户18-1不可用时的推荐引擎32-1。不过应注意,如果用户18-1不可用,但用户设备14-1仍连接到或能够连接到网络16,则用户18-1的推荐客户端32-1可以切换到模拟模式,直到用户18-1再次可用。当用户18-1再次可用时,推荐客户端32-l可以返回用户18-1变为不可用时其所在的那个操作点,或者继续从用户18-1再次变成可用时其在模拟模式下的那个操作点操作。
本领域技术人员将认识到对本发明的优选实施例的改进和更改。所有这种改进和更改都认为在本文公开的概念和所附权利要求书的范围内。
权利要求
1. 一种方法,包括确定组成媒体推荐网络的多个用户中的第一用户何时不可用;和在所述第一用户不可用时,模拟来自所述第一用户的推荐。
2. 根据权利要求1所述的方法,其中所述多个用户与多个推荐客户端相关联,并且模拟来自所述第一用户的推荐包括模拟来自所述多个推荐客户端的与所述第 一用户关联的推荐客户端。
3. 根据权利要求2所述的方法,其中模拟所述推荐客户端包括获得所述推荐客户端的客户端上下文,所述客户端上下文是模拟所述推荐客户端所需的信息;和使用所述客户端上下文模拟所述推荐客户端。
4. 根据权利要求2所述的方法,其中模拟所述推荐客户端包括获得所述推荐客户端的客户端上下文,所述客户端上下文是模拟所述推荐客户端所需的信息;使用所述优化的客户端上下文模拟所述推荐客户端。
5. 根据权利要求4所述的方法,其中优化所述客户端上下文包括作为关于所述推荐客户端的操作的历史信息的函数,优化所述客户端上下文。
6. 根据权利要求4所述的方法,其中优化所述客户端上下文包括作为所述多个用户中的至少 一个用户的用户偏好的函数优化所述客户端上下文,所述至少一个用户直接或间接地接收来自与所述第一用户关联的所述推荐客户端的推荐。
7. 根据权利要求4所述的方法,其中优化所述客户端上下文包括作为当前正由所述多个用户中的至少一个用户播放的媒体内容的函数优化所述客户端上下文,所述至少 一 个用户直接或间接地接收来自与所述第一用户关联的所述推荐客户端的推荐。
8. 根据权利要求4所述的方法,其中优化所述客户端上下文包括作为从所述多个用户中的至少一个用户接收的请求的函数优化所述客户端上下文,所述至少一个用户直接或间接地接收来自与所述第一用户关联的所述推荐客户端的推荐。
9. 根据权利要求2所述的方法,其中模拟与所述第一用户关联的所述推荐客户端包括从多个媒体项目中选择媒体项目以提供所选择的媒体项目;模拟所选择的媒体项目的回放;和发送对所选择的媒体项目的推荐,所述推荐被提供给与所述多个用户中的被识别为所述第一用户的朋友的至少一个用户关联的所述多个推荐客户端中的至少 一个推荐客户端。
10. 根据权利要求9所述的方法,其中从所述多个媒体项目中选择媒体项目包括作为所述第一用户的用户偏好的函数,对所述多个媒体项目中的每一个打分,以提供所述多个媒体项目的每一个的分数;和作为所述多个媒体项目的分数的函数从所述多个媒体项目中选择所述媒体项目。
11. 根据权利要求10所述的方法,其中模拟所述推荐客户端进一步包括在模拟过程中优化所述用户偏好。
12. 根据权利要求11所述的方法,其中优化所述用户偏好包括作为关于所述第 一用户的推荐客户端的操作的历史信息的函数,优化所述用户偏好。
13. 根据权利要求11所述的方法,其中所述用户偏好是来自多个用户偏好组中的与所述第 一用户关联的用户偏好组,并且优化所述用户偏好包括作为关于所述第 一用户的推荐客户端的操作的历史信息的函数,选择所述多个用户偏好组中的一个,以用作用于模拟的用户偏好。
14. 根据权利要求11所述的方法,其中优化所述用户偏好包括作为所述多个用户中的至少一个用户的用户偏好的函数,更改所述用户偏好,所述至少一个用户直接或间接地接收来自与所述第一用户关联的所述推荐客户端的推荐。
15. 根据权利要求11所述的方法,其中优化所述用户偏好包括作为当前正由所述多个用户中的至少一个用户播放的媒体内容的函数,优化所述用户偏好,所述至少一个用户直接或间接地接收来自与所述第一用户关联的所述推荐客户端的推荐。
16. 根据权利要求11所述的方法,其中优化所述用户偏好包括作为从所述多个用户中的至少一个用户接收的请求的函数,更改所述用户偏好,所述至少一个用户直接或间接地接收来自与所述第 一用户关联的所述推荐客户端的推荐。
17. 根据权利要求9所述的方法,其中实现对所述推荐的发送包括在选自以下项的时间实现对所述推荐的发送开始模拟回放所选择的媒体项目的时间,所选择的媒体项目的才莫拟回放期间中的时间,以及所选择的媒体项目的模拟回放完成的时间。
18. 根据权利要求2所述的方法,其中模拟与所述第一用户关联的推荐客户端包括从与被识别为所述第一用户的朋友的所述多个用户中的至少一个用户关联的所述多个推荐客户端中的至少一个推荐客户端接收至少一个推荐。
19. 根据权利要求18所述的方法,其中模拟与所述第一用户关联的所述推荐客户端进一步包括从多个媒体项目中选择媒体项目,以提供所选择的媒体项目,所述多个媒体项目包括由所述至少一个推荐识别的至少一个媒体项目和所述第一用户的媒体集中的多个媒体项目;模拟所选择的媒体项目的回放;和发送对所选择的媒体项目的推荐,该推荐被提供给与被识别为所述第一用户的朋友的所述多个用户中的至少一个用户关联的所述多个推荐客户端中的至少 一个推荐客户端。
20. —种系统,包括通信接口 ,其经由通信网络将所述系统通信地耦合到多个用户设备,所述多个用户设备与组成媒体推荐网络的多个用户相关联;和控制系统,其与所述通信接口相关联并适于确定组成所述媒体推荐网络的所述多个用户中的第 一用户何时不可用;和在所述第一用户不可用时,模拟来自所述第一用户的推荐。
21. 根据权利要求20所述的系统,其中所述多个用户与多个推荐客户端相关联,并且为了模拟来自所述第一用户的推荐,所述控制系统进一步适于模拟来自所述多个推荐客户端中的与所述第 一用户关联的推荐客户端。
22. 根据权利要求21所述的系统,其中为了模拟所述推荐客户端,所述控制系统进一步适于获得所述推荐客户端的客户端上下文,所述客户端上下文是模拟所述推荐客户端所需的信息;和使用所述客户端上下文模拟所述推荐客户端。
23. 根据权利要求21所述的系统,其中为了模拟所述推荐客户端,所述控制系统进一步适于获得所述推荐客户端的客户端上下文,所述客户端上下文是模拟所述推荐客户端所需的信息;优化所述客户端上下文以提供优化的客户端上下文;和使用所述优化的客户端上下文模拟所述推荐客户端。
24. 根据权利要求21所述的系统,其中为了模拟与所述第一用户关联的所述推荐客户端,所述控制系统进一步适于从多个媒体项目中选择媒体项目,以提供所选择的媒体项目;模拟所选择的媒体项目的回放;和向与被识别为所述第 一用户的朋友的所述多个用户中的至少 一个用户相关联的所述多个推荐客户端中的至少 一个推荐客户端发送对所选择的媒体项目的推荐。
25. 根据权利要求21所述的系统,其中为了模拟与所述第一用户关联的所述推荐客户端,所述控制系统进一步适于从与被识别为所迷第一用户的朋友的所述多个用户中的至少一个用户相关联的所述多个推荐客户端中的至少一个推荐客户端接收至少一个推荐。
全文摘要
本发明涉及用于模拟社交网络中离线用户的推荐的方法和系统。提供了一种在社交媒体推荐网络中模拟不可用用户的推荐的方法和系统。通常,形成社交媒体推荐网络使得社交媒体推荐网络中的每个用户发送和接收来自朋友的推荐。在社交媒体推荐网络的用户中的一个用户不可用时,推荐模拟器用于模拟来自该不可用用户的推荐。在该用户再次可用时,推荐模拟器停止对该用户的推荐的模拟。
文档编号H04L29/08GK101465878SQ20081018442
公开日2009年6月24日 申请日期2008年12月19日 优先权日2007年12月20日
发明者C·M·阿米顿, R·J·瓦尔什 申请人:音乐会技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1