根据分布式客户端反馈来周期性地传送优化批广播计划的方法和装置

申请号 CN02811988.6 申请日 2002-05-31 公开(公告)号 CN1516971A 公开(公告)日 2004-07-28
申请人 英特尔公司; 发明人 杰伊·康奈利;
摘要 本 发明 公开了一种用于根据来自一组分布式广播客户端的客户端需求反馈数据而周期性地导出优化的批广播计划的方法和系统。所述广播系统包括把元数据广播到多个客户端系统去的运营中心。元数据描述了被 服务器 考虑用于即将进行的广播的多 块 内容。每一个客户端从运营中心接收到被广播的元数据,并把一组客户端需求反馈数据发送回运营中心,其中,用户反馈数据反映出客户端对内容块的至少一部分的兴趣等级。一般可以包括评价和/或相对排名的反馈数据可以是用户产生的、自动产生的或者二者的组合。然后,系统根据反馈数据的汇总,并结合可用广播带宽和广播计划窗口,发送一批内容。
权利要求

1.一种用于产生广播计划的方法,包括:把元数据广播到多个客户端系统,所述元数据包括对多内容的描述,所述多块内容被广播运营中心考虑用于即将进行的广播;从所述多个客户端系统的至少一部分接收独立的客户端需求反馈数据组,每组独立的客户端需求反馈数据包括指示客户端对所述多块内容的至少一部分的兴趣等级的数据;维护包括内容块的有序列表的广播计划队列,该有序列表指示客户端对每块内容的相对兴趣等级,所述兴趣等级被从所述客户端需求反馈数据的汇总导出;以及从所述广播计划队列的顶部部分中选择要在下一个广播计划窗口期间被广播的包括一块或更多块内容的一批内容,所述的选择基于所述一块或更多块内容的大小,以及下一个广播计划窗口的可用带宽。
2.如权利要求1所述的方法,其中,连续执行所述方法,以使新的一批内容在连续的广播计划窗口中被广播。
3.如权利要求1所述的方法,还包括响应于被选择在下一个广播计划窗口期间广播的该批内容的广播,将该批内容中的每块内容的客户端需求反馈数据重置,以使该块内容不能被再次选择用于随后的广播,直到接收到和该块内容对应的新的客户端需求反馈数据为止。
4.如权利要求1所述的方法,其中,所述独立的客户端需求反馈数据组在异步基础上被从各个客户端系统接收,并且在接收到每组独立的客户端需求反馈数据以后重新计算所述广播计划队列。
5.如权利要求1所述的方法,还包括考虑到商业目标而对所述广播计划队列进行调整。
6.如权利要求1所述的方法,其中,所述客户端需求反馈数据包括和各块内容对应的评价数据,并且其中,所述广播计划队列中的内容块被根据从所述评价数据的汇总所导出的对应的相对评价值来进行排序。
7.如权利要求6所述的方法,其中,所述评价数据的汇总包括计算每块内容的平均评价值,并且评价最高的内容块是具有最高的平均评价值的内容块。
8.如权利要求6所述的方法,其中,所述评价数据的至少一部分包括由所述客户端系统的用户提供的评价输入,每个评价输入指示了给定用户对接收相应内容块的期望度的等级。
9.如权利要求6所述的方法,其中,所述评价数据的至少一部分由所述客户端系统根据存储在所述客户端系统上、作为所述客户端系统的用户的内容偏好的指示的数据来自动产生。
10.如权利要求6所述的方法,还包括考虑到所述内容块的收益产生潜,对和给定的客户端系统所评价的任何内容块对应的评价数据进行调整。
11.如权利要求6所述的方法,其中,对从一个客户端系统接收到的每组独立的客户端需求反馈数据,所述评价数据的第一部分包括由该客户端系统的一个或更多用户提供的评价输入,而所述评价数据的第二部分被该客户端系统根据存储在该客户端系统上、指示该客户端系统的所述一个或更多用户的内容偏好的数据来自动产生。
12.如权利要求6所述的方法,其中,所述元数据被作为连续的流广播,并且所述元数据包括每块内容的内容描述符,所述内容描述符包括用于描述该块内容的一组属性和属性值,并且其中,所述客户端系统中的至少一部分还响应于接收到独立的一块内容的内容描述符,提供和该块内容对应的评价数据。
13.如权利要求1所述的方法,其中,所述独立的客户端需求反馈数据组中的至少一部分包括和对至少两块内容的相对兴趣等级有关的相对排名数据,并且至少部分地通过汇总所述相对排名数据来确定所述广播计划队列。
14.如权利要求13所述的方法,其中,所述的汇总相对排名数据包括计算所述多块内容中的每块内容的平均排名值,并且其中,所述有序列表反映出对应内容块的相对平均排名值。
15.如权利要求13所述的方法,其中,所述相对排名数据中的至少一部分包括独立的由所述客户端系统的用户提供的相对排名输入组,所述独立的相对排名输入组中的每一个都包括至少两块内容的相对排名,其中,所述相对排名指示各个客户端系统的给定用户对接收由该用户进行排名的内容块的广播的期望度的相对等级。
16.如权利要求13所述的方法,其中,所述相对排名数据中的至少一部分由所述客户端系统根据存储在所述客户端系统上、指示所述客户端系统的用户的内容偏好的数据来自动产生。
17.如权利要求13所述的方法,还包括考虑到所述内容块的收益产生潜力,对和给定的客户端系统所评价的内容块对应的相对排名数据进行调整。
18.如权利要求13所述的方法,其中,对于包括相对排名数据的所述独立客户端需求反馈数据组的至少一部分中的每一组独立客户端需求反馈数据,所述相对排名数据的第一部分包括由从中接收到该组独立客户端需求反馈的客户端系统的一个或更多用户提供的相对排名输入,而所述相对排名数据的第二部分被该客户端系统根据存储在该客户端系统上、指示该客户端系统的所述一个或更多用户的内容偏好的数据来自动产生。
19.如权利要求13所述的方法,其中,和被考虑用于即将进行的广播的一组内容块对应的当前元数据组作为重复的连续流广播,并且所述当前元数据组包括该组内容块中所包括的每块内容各自的内容描述符,并且其中,所述独立的客户端需求反馈数据组中的至少一部分包括表明对该组内容块中的所有内容块的相对兴趣的排名列表。
20.如权利要求1所述的方法,还包括在广播被选择在下一个广播计划窗口期间广播的该批内容之前广播广播计划。
21.如权利要求1所述的方法,其中,所述多个客户端系统被分段,以使每个客户端系统都是多个段中的特定段的成员,并且每个独立的客户端需求反馈数据组包括标识了该客户端系统作为成员的段的数据,并且其中,还为每个段选择在下一个广播计划窗口期间广播的一块或更多块内容。
22.如权利要求21所述的方法,其中,所述多个客户端系统被根据地理分段,以使每个客户端被分配到一个地理区域。
23.如权利要求21所述的方法,其中,所述多个客户端系统被根据每个客户端用以接收广播内容的网络来分段。
24.如权利要求1所述的方法,还包括使用多级广播网络广播该批内容。
25.如权利要求24所述的方法,其中,所述多级广播网络使用存储和转发机制,在该机制中广播数据在不同级之间被存储和转发。
26.一种装置,包括:处理器,具有用于执行指令的电路;通信接口,被耦合到处理器,用于从一个或更多客户端系统接收数据;储存设备,被耦合到处理器,具有存储在其中的指令序列,当这些指令序列被处理器执行时,导致所述装置从多个客户端系统接收独立的客户端需求反馈数据组,每个独立的客户端需求反馈数据组是响应于被广播到所述多个客户端系统的元数据而产生的,所述元数据包括对被考虑用于即将进行的广播的多块内容的描述,每个独立的客户端需求反馈数据组指示客户端对所述多块内容的至少一部分的兴趣等级;维护包括内容块的有序列表的广播计划队列,该有序列表指示客户端对每块内容的相对兴趣等级,所述兴趣等级是从所述客户端需求反馈数据的汇总导出的;以及从所述广播计划队列的顶部部分中选择要在下一个广播计划窗口期间被广播的包括一块或更多块内容的一批内容,所述的选择基于所述一块或更多块内容的大小,以及下一个广播计划窗口的可用带宽。
27.如权利要求26所述的装置,其中,响应于被选择在下一个广播计划窗口期间广播的该批内容的广播,将该批内容中的每块内容的客户端需求反馈数据重置,以使该块内容不能被再次选择用于随后的广播,直到接收到和该块内容对应的新的客户端需求反馈数据为止,并且所述广播计划队列被连续地更新,以使新的一批内容在连续的广播计划窗口中被广播。
28.如权利要求27所述的装置,其中,独立的客户端需求反馈数据组在异步基础上被从各个客户端系统接收,并且在接收到每组独立的客户端需求反馈数据以后重新计算所述广播计划队列。
29.如权利要求26所述的装置,其中,所述客户端需求反馈数据包括和各块内容对应的评价数据,并且其中,所述广播计划队列中的内容块被根据从所述评价数据的汇总所导出的对应的相对评价值来进行排序。
30.如权利要求29所述的装置,其中,对从所述客户端系统接收到的至少一部分独立的客户端需求反馈数据组,所述评价数据的第一部分包括由从中接收到该组独立的客户端需求反馈数据的客户端系统的一个或更多用户提供的评价输入,而所述评价数据的第二部分被该客户端系统根据存储在该客户端系统上、指示该客户端系统的所述一个或更多用户的内容偏好的数据来自动产生。
31.如权利要求29所述的装置,其中,所述元数据被作为连续的流广播,并且所述元数据包括每块内容的内容描述符,所述内容描述符包括用于描述该块内容的一组属性和属性值,并且其中,所述客户端系统中的至少一部分还响应于接收到独立的一块内容的内容描述符,提供和该块内容对应的评价数据。
32.如权利要求26所述的装置,其中,所述独立的客户端需求反馈数据组中的至少一部分包括和对至少两块内容的相对兴趣等级有关的相对排名数据,并且其中,至少部分地通过汇总所述相对排名数据来确定广播计划队列。
33.如权利要求32所述的装置,其中,对于包括相对排名数据的所述独立客户端需求反馈数据组的至少一部分中的每一组独立客户端需求反馈数据,所述相对排名数据的第一部分包括由从中接收到该组独立客户端需求反馈的客户端系统的一个或更多用户提供的相对排名输入,而所述相对排名数据的第二部分被该客户端系统根据存储在该客户端系统上、指示该客户端系统的所述一个或更多用户的内容偏好的数据来自动产生。
34.如权利要求32所述的装置,其中,和被考虑用于即将进行的广播的一组内容块对应的当前元数据组作为重复的连续流广播,并且所述当前元数据组包括该组内容块中所包括的每块内容各自的内容描述符,并且其中,所述独立的客户端需求反馈数据组中的至少一部分包括表明对该组内容块中的所有内容块的相对兴趣的排名列表。
35.一种机器可读介质,具有多个存储于其上的机器可执行指令,当这些指令被机器执行时,导致该机器:从多个客户端系统接收独立的客户端需求反馈数据组,所述独立的客户端需求反馈数据组是响应于被广播到所述多个客户端系统的元数据而产生的,所述元数据包括对被考虑用于即将进行的广播的多块内容的描述,每个独立的客户端需求反馈数据组指示客户端对所述多块内容的至少一部分的兴趣等级;维护包括内容块的有序列表的广播计划队列,该有序列表指示客户端对每块内容的相对兴趣等级,所述兴趣等级是从所述客户端需求反馈数据的汇总导出的;以及从所述广播计划队列的顶部部分中选择要在下一个广播计划窗口期间被广播的包括一块或更多块内容的一批内容,所述的选择基于所述一块或更多块内容的大小,以及下一个广播计划窗口的可用带宽。
36.如权利要求35所述的机器可读介质,其中,执行所述多个机器指令导致该机器响应于被选择在下一个广播计划窗口期间广播的该批内容的广播,将该批内容中的每块内容的客户端需求反馈数据重置,以使该块内容不能被再次选择用于随后的广播,直到接收到和该块内容对应的新的客户端需求反馈数据为止,并且所述广播计划队列被连续地更新,以使新的一批内容在连续的广播计划窗口中被广播。
37.如权利要求36所述的机器可读介质,其中,独立的客户端需求反馈数据组在异步基础上被从各个客户端系统接收,并且在接收到每组独立的客户端需求反馈数据以后重新计算所述广播计划队列。
38.如权利要求35所述的机器可读介质,其中,所述客户端需求反馈数据包括和各块内容对应的评价数据,并且其中,所述广播计划队列中的内容块被根据从所述评价数据的汇总所导出的对应的相对评价值来进行排序。
39.如权利要求38所述的机器可读介质,其中,对从所述客户端系统接收到的至少一部分独立的客户端需求反馈数据组,所述评价数据的第一部分包括由从中接收到该组独立的客户端需求反馈数据的客户端系统的一个或更多用户提供的评价输入,而所述评价数据的第二部分被该客户端系统根据存储在该客户端系统上、指示该客户端系统的所述一个或更多用户的内容偏好的数据来自动产生。
40.如权利要求38所述的机器可读介质,其中,所述元数据被作为连续的流广播,并且所述元数据包括每块内容的内容描述符,所述内容描述符包括用于描述该块内容的一组属性和属性值,并且其中,所述客户端系统中的至少一部分还响应于接收到独立的一块内容的内容描述符,提供和该块内容对应的评价数据。
41.如权利要求35所述的机器可读介质,其中,所述独立的客户端需求反馈数据组中的至少一部分包括和对至少两块内容的相对兴趣等级有关的相对排名数据,并且其中,至少部分地通过汇总所述相对排名数据来确定广播计划队列。
42.如权利要求41所述的机器可读介质,其中,对于包括相对排名数据的所述独立客户端需求反馈数据组的至少一部分中的每一组独立客户端需求反馈数据,所述相对排名数据的第一部分包括由从中接收到该组独立客户端需求反馈的客户端系统的一个或更多用户提供的相对排名输入,而所述相对排名数据的第二部分被该客户端系统根据存储在该客户端系统上、指示该客户端系统的所述一个或更多用户的内容偏好的数据来自动产生。
43.如权利要求41所述的机器可读介质,其中,和被考虑用于即将进行的广播的一组内容块对应的当前元数据组作为重复的连续流广播,并且所述当前元数据组包括该组内容块中所包括的每块内容各自的内容描述符,并且其中,所述独立的客户端需求反馈数据组中的至少一部分包括表明对该组内容块中的所有内容块的相对兴趣的排名列表。
44.一种系统,包括:广播服务器数据库服务器,与所述广播服务器通信链接;和多个客户端系统,通过第一通信链路和所述广播服务器通信链接,并通过第二通信链路和所述数据库服务器通信链接;其中,所述广播服务器被编程为把元数据通过所述第一通信链路广播到所述多个客户端系统,所述元数据包括对被考虑用于即将进行的广播的多块内容的描述;其中,所述多个客户端系统中的每一个被编程为部分地根据由所述元数据提供的描述来产生一组独立的客户端需求反馈数据,该组客户端需求反馈数据指示客户端对所述多块内容的至少一部分的兴趣等级;其中,所述多个客户端系统中的至少一部分通过所述第二通信链路,把独立的客户端需求反馈数据组发送到所述数据库服务器;其中,所述数据库服务器被编程为维护包括内容块的有序列表的广播计划队列,该列表指示客户端对每块内容的相对兴趣等级,该兴趣等级被从客户端需求反馈数据的汇总导出;并且其中,所述广播服务器和数据库服务器中的至少一个被编程为从所述广播计划队列的顶部部分中选择要在下一个广播计划窗口期间被广播的包括一块或更多块内容的一批内容,所述的选择基于所述一块或更多块内容的大小,以及下一个广播计划窗口的可用带宽。
45.如权利要求44所述的系统,其中,所述数据库服务器被编程为响应于被选择在下一个广播计划窗口期间广播的该批内容的广播,将该批内容中的每块内容的客户端需求反馈数据重置,以使该块内容不能被再次选择用于随后的广播,直到接收到和该块内容对应的新的客户端需求反馈数据为止,并且所述广播计划队列被连续地更新,以使新的一批内容在连续的广播计划窗口中被广播。
46.如权利要求45所述的系统,其中,独立的客户端需求反馈数据组在异步基础上被从各个客户端系统接收,并且所述数据库服务器在接收到每组独立的客户端需求反馈数据以后重新计算所述广播计划队列。
47.如权利要求44所述的系统,其中,所述客户端需求反馈数据包括和各块内容对应的评价数据,并且其中,所述广播计划队列中的内容块被根据从所述评价数据的汇总所导出的对应的相对评价值来进行排序。
48.如权利要求47所述的系统,其中,对从所述客户端系统接收到的至少一部分独立的客户端需求反馈数据组,所述评价数据的第一部分包括由从中接收到该组独立的客户端需求反馈数据的客户端系统的一个或更多用户提供的评价输入,而所述评价数据的第二部分被该客户端系统根据存储在该客户端系统上、指示该客户端系统的所述一个或更多用户的内容偏好的数据来自动产生。
49.如权利要求47所述的系统,其中,所述元数据被作为连续的流广播,并且所述元数据包括每块内容的内容描述符,所述内容描述符包括用于描述该块内容的一组属性和属性值,并且其中,所述客户端系统中的至少一部分还响应于接收到独立的一块内容的内容描述符,提供和该块内容对应的评价数据。
50.如权利要求44所述的系统,其中,所述独立的客户端需求反馈数据组中的至少一部分包括和对至少两块内容的相对兴趣等级有关的相对排名数据,并且其中,至少部分地通过汇总所述相对排名数据来确定广播计划队列。
51.如权利要求50所述的系统,其中,对于包括相对排名数据的所述独立客户端需求反馈数据组的至少一部分中的每一组独立客户端需求反馈数据,所述相对排名数据的第一部分包括由从中接收到该组独立客户端需求反馈的客户端系统的一个或更多用户提供的相对排名输入,而所述相对排名数据的第二部分被该客户端系统根据存储在该客户端系统上、指示该客户端系统的所述一个或更多用户的内容偏好的数据来自动产生。
52.如权利要求50所述的系统,其中,和被考虑用于即将进行的广播的一组内容块对应的当前元数据组作为重复的连续流广播,并且所述当前元数据组包括该组内容块中所包括的每块内容各自的内容描述符,并且其中,所述独立的客户端需求反馈数据组中的至少一部分包括表明对该组内容块中的所有内容块的相对兴趣的排名列表。
53.如权利要求44所述的系统,其中,所述第一通信链路包括卫星广播链路,而所述第二通信链路包括远程通信链路。
54.如权利要求44所述的系统,其中,所述第一通信链路和所述第二通信链路包括双向有线系统链路。
55.如权利要求44所述的系统,其中,所述第一通信链路包括卫星广播链路,而所述第二通信链路包括计算机网络通信链路。
56.如权利要求44所述的系统,其中,所述第一通信链路和所述第二通信链路包括计算机网络通信链路。

说明书全文

根据分布式客户端反馈来周期性地传送优化批广播计划的方法和装置

技术领域

发明一般地涉及广播系统,本发明具体涉及根据在广播区域中分布的各种客户端所提供的需求反馈数据,使用批处理传送机制来传送内容。

背景技术

传统上,广播系统从诸如天线、卫星或计算机服务器系统的广播源在单方向上向多个广播消费者发射数据,广播消费者一般使用电视接收机、线缆盒(cable box)、机顶盒或客户端计算机来接收广播数据。出于这里所使用的目的,广播源将被称为“服务器系统”或“广播服务器”,而广播消费者(即用户)被称为“客户端”,其通过“客户端系统”接收内容。客户端系统的用户一般按信号被广播时的形式消费从服务器系统所接收到的信号。例如,和现场实况对应的广播信号被基本实时地接收。对于其它类型的广播内容,例如预先录制的电视表演和电影,情况也是如此。和现场实况不同,和预先录制的节目和电影对应的数据被预先存储在广播系统中的某处。
当前,常见的内容传送广播方法涉及连续地和/或交错间隔地广播相同数据的服务器系统,在该方法中,给客户端最终用户提供内容。这样,如果用户希望消费特定的一内容,例如电影或电视表演,则用户在进行广播的时间“调入”(tune in)该内容的重复广播之一。可以以目前可从有线或卫星电视提供商处获得的“每看付费”电影为例来说明这个范例。例如,有线电视提供商一般以交错间隔在多个频道上重复地广播同样的电影。希望观看一部特定电影的用户只需要在电影被广播的时间之一开始时调入上面在广播所需电影的频道之一。相同数据或节目的连续和重复的广播导致对广播带宽的非常低效率的使用,否则,用于在多个频道上重复广播相同数据的带宽本可以用于广播不同的数据。
在广播系统中提供内容的另一范例涉及用户录制特定的数据文件并且以后“点播”访问该数据文件。继续上面讨论的电视广播的说明,本范例的一个例子是用户设置其磁带录像机(VCR)来录制所需的电视节目。然后,当该用户希望“点播”观看该电视节目时,用户只需要从其VCR中播放早先录制的节目即可。最近,已经能得到更为先进的、在内部硬盘驱动器而不是传统的VCR所使用的录像磁带上录制电视广播的数字录像机。但是,数字录像机的使用和传统的VCR是类似的,因为用户需要明确地设定用于确定在内部硬盘驱动器上录制哪些广播的标准(例如:日期、时间)。
目前的广播系统的另一局限性是客户端系统的大多数用户难以向广播者提供关于节目编制的反馈。例如,继续上面讨论的电视广播的说明,今天的电视广播者中的很多依靠Neilson收视率来确定广播的节目编制和/或计划。Neilson收视率通常仅基于大众的一个小的断面抽样,并且它们一般仅测量份额(观看给定的电视表演的用户对在广播表演时的所有电视表演的用户的估计百分比)和观众(估计出的观看给定节目的至少一部分的总人数)。结果,大多数电视观众对广播计划(broadcast schedule)和/或内容只有较小的影响或没有影响。
附图说明
通过以附图为例而不是限制对本发明进行了说明,其中:图1A是示出根据本发明的教导的广播系统的一个实施例的方框示意图,其中,广播服务器向多个客户端系统广播各种数据;图1B是示出根据本发明的教导的广播系统的另外一个实施例的方框示意图,其中,反向信道通信链路使得客户端系统能把数据发送回广播服务器;图1C是是示出根据本发明的教导的广播系统的另外一个实施例的方框示意图,其中,使广播服务器和各个客户端系统能够通过计算机网络进行通信;图2是代表根据本发明的教导的客户端系统或服务器的计算机系统的一个实施例的方框示意图;图3是流程图,它示出当根据本发明的教导来广播和处理元数据及数据文件时,在广播服务器和客户端系统中的事件流程的一个实施例;图4A是示出本发明的第一广播系统的实现的示意图,其中,元数据和内容被通过卫星网络广播到多个客户端系统,并且客户端需求反馈数据被通过远程通信链路从客户端系统往回发送;图4B是示出本发明的第二广播系统的实现的示意图,其中,元数据和内容被广播到多个客户端系统,并且客户端需求反馈数据被通过双向有线网络从客户端系统往回发送;图4C是示出本发明的第三广播系统的实现的示意图,其中,元数据和内容被广播到多个客户端系统,并且客户端需求反馈数据被通过计算机网络从客户端系统往回发送;图5是流程图,它示出了当处理来自服务器的元数据广播以维护元数据表和内容评价表时客户端系统中的事件流程的一个实施例;图6是根据本发明的教导所描述的服务器的元数据广播的一个例子的示意图;图7是根据本发明的教导,由客户端更新和维护的元数据表的一个例子的示意图;图8是根据本发明的教导,由客户端更新和维护的内容评价表的一个例子的示意图;图9示出了根据本发明的教导,由用户分选的数据文件的一个实施例;图10示出了根据本发明的教导,响应用户的分选而被更新的元数据表的一个实施例;图11示出了根据本发明的教导,在用户访问之后被更新的元数据表的一个实施例;图12示出了根据本发明的教导,在用户访问之后被更新的内容评价表的一个实施例;图13示出了根据本发明的教导,在另一用户访问之后被更新的元数据表的另一个实施例;图14表示使客户端系统的用户能输入评价和排名数据的用户界面,其中示出了用户和评价属性页的互动;图15A表示图14的用户界面,其中,使用户能通过支持排名数据的数值输入以及拖放内容标识符来将相对排名重新排序的排名属性页,输入相对排名信息;图15B表示图14的用户界面,示出了拖放和图15A中的一块内容对应的内容标识符的效果;图15C表示图14的用户界面,示出了可以怎样通过激活更新排名按钮来更新相对排名;图16是示出可以怎样基于地理和广播网络而将各种客户端系统分段的示意图;图17是示意图,示出了一组客户端需求反馈数据在其被从客户端系统接收到时及相同数据被输入数据库后的示例性配置;图18是示出用于建立和广播计划提示(cue)对应的有序列表的查询过程的示意图;图19是示出用于广播可变比特率数据流的传统方法的示意图;图20是示出根据本发明的教导,使用数据的空分组插入以充分地利用在传统的可变速率数据流广播中未使用的带宽的示意图;图21是方框示意图,示出了在根据本发明的教导的批处理实施例过程中如何选择内容块;图22是示出当执行一个批内容选择过程时本发明所用的逻辑的流程图;和图23是示出一块内容因其大小大于给定的一批内容的剩余空间而被跳过的例子的示意图。

具体实施方式

在本发明的一个方面,公开了用于根据客户端反馈信息,通过广播系统提供内容的信令方法和装置。在本发明的另一个方面,公开了对来自于被考虑要在即将进行的广播窗口期间广播的各块内容当中的内容进行评价和排名的方法和装置。而在本发明的另一个方面,公开了动态地确定广播运营中心的广播内容和/或计划的的方法和装置。在下面的描述中,为了提供对本发明的详尽理解,给出了大量的具体细节。但是,本领域普通技术人员很清楚,实践本发明无需使用具体的细节。在其它的例子中,为了避免喧宾夺主,并没有详细地描述公知的材料或方法。
图1A是根据本发明的教导的广播系统的一个实施例的示意图。如所画出的实施例所示,广播服务器103被配置成把信息广播到多个客户端系统105、107和109。在图1A所示的实施例中,客户端系统105通过广播链路115从广播天线111接收来自广播服务器103的广播。类似地,客户端系统107通过广播链路117接收来自广播服务器103的广播,客户端系统109通过广播链路119从广播天线111接收来自广播服务器103的广播。在一个实施例中,广播链路115、117和119是来自广播天线的单向无线射频(RF)链路,其格式为诸如已知的通过大气广播的调幅(AM)或调频(FM)无线电信号、电视(TV)信号、数字视频广播(DVB)信号等,但不限于此。
在一个实施例中,广播服务器103被配置成广播多个可被客户端系统105、107和109所接收的数据文件。在一个实施例中,数据文件可以是很多不同类型的文件的任意组合,这些不同类型的文件包括例如视频、音频、图形、文本、多媒体等。为了说明的目的,本申请中为帮助描述本发明而提供的很多例子假设服务器要广播的数据文件是此处被称为“内容块”(pieces of content)的音频/视频文件,例如带有运动的图像和声音的电影。但是,可以理解,根据本发明的教导广播的数据文件不仅仅限于音频/视频文件。
如图1A所示的实施例中所示,广播链路115、117和119包含广播服务器103和客户端系统105、107和109之间的单程或单向通信链路。但是在另一实施例中,可以理解,在每个客户端系统105、107和109和广播服务器103之间分别还可以有第二通信链路。具体地说,图1B是在客户端系统105、107和109中的每一个和广播服务器103之间增加了“反向信道”或通信链路的图1A的广播系统的说明。具体地说,图1B所示的实施例示出了可分别被客户端系统105、107和109用来将信息发送回广播服务器103的通信链路121、123和125。尽管在图1B中把通信链路121、123和125示为客户端系统105、107和109和广播服务器103之间的直接链路,但是可以理解,客户端系统105、107和109也可以通过间接链路和广播服务器103沟通信息,间接链路例如广播无线信号、网络通信等,但不限于此。
图1C是根据本发明的教导的广播系统的另一实施例的图示。如图所示,广播服务器103被耦合,以便通过网络113把信息广播到多个客户端系统105、107和109。在一个实施例中,网络113可以是诸如国际互联网、广域网(WAN)、局域网(LAN)、内部网等任意类型的通信网络,多个不同设备可以通过所述通信网络通信。
在图1C所示的实施例中,客户端系统105被耦合,以便接收广播服务器103通过广播链路115广播的信息。类似地,客户端系统107被耦合,以便接收广播服务器103通过广播链路117广播的信息,客户端系统109被耦合,以便接收广播服务器103通过广播链路119广播的信息。注意,在图1C所示的实施例中,广播链路115、117和119被示作从网络113到客户端系统105、107和109的双向链路,这使得客户端系统105、107和109能够把信息发送到广播服务器103。
图2是示出根据本发明的教导,可被用作广播服务器103或客户端系统105、107和109的机器301的一个实施例的方框图。通常,客户端系统105、107和109可以使用各种类型的机器,包括机顶盒102、台式计算机或工作站104和笔记本计算机106。用作服务器103的机器通常将包含计算机服务器108或类似类型的被设计用于向多个客户端广播数据的服务器硬件。在一个实施例中,机器301是包括耦合到总线307的处理器303的计算机或机顶盒。在一个实施例中,存储器(memory)305、储存设备(storage)311、显示控制器309、通信接口313、输入/输出控制器315和音频控制器327也被耦合到总线307。
在一个实施例中,机器301通过通信接口313和外部系统连接。通信接口313可包括与AM、FM、TV、数字TV、DVB、无线电话信号等兼容的无线电收发机。通信接口313也可以包括模拟式调制解调器、综合业务数字网(ISDN)调制解调器、线缆调制解调器(cable modem)、数字消费者线路(DSL)调制解调器、T-1线接口、T-3线接口、光载波接口(例如OC-3)、令牌环接口、卫星传输接口、无线接口或其它用于把一个设备耦合到其它设备上的接口。
在一个实施例中,载波信号323被和天线111通信的通信接口313所接收。在一个实施例中,载波信号325在通信接口313和网络113之间被接收/发射。在一个实施例中,通信信号325可被用于将机器301和另一计算机系统、网络集线器、路由器等进行接口。在一个实施例中,载波信号323和325被视作可通过导线、线缆、光纤或通过大气等发射的机器可读介质。
在一个实施例中,处理器303可以是传统微处理器,例如英特尔x86或奔腾(Pentium)系列微处理器、摩托罗拉系列微处理器等,但不限于此。存储器305可以是例如动态随机访问存储器(DRAM)的机器可读介质,还可以包括静态随机访问存储器(SRAM)。显示控制器309以传统方式控制显示器319,在一个实施例中,显示器319可以是阴极射线管(CRT)、液晶显示器(LCD)、有源矩阵显示器、电视监视器等。耦合到输入/输出控制器315的输入/输出设备317可以是键盘、磁盘驱动器、打印机扫描仪和其它的输入和输出设备,包括电视遥控器、鼠标轨迹球触摸板、游戏杆等。在一个实施例中,音频控制器327以传统方式控制可以包括例如音频扬声器、机、音频接收器、放大器等的音频输出331。在一个实施例中,控制器还以传统方式控制可以包括例如麦克或来自音频或音乐设备的输入等的音频输入329。
在一个实施例中,储存设备311可以包括机器可读介质,例如磁性硬盘、软盘、光盘、只读存储器(ROM)元件、智能卡或其它形式的数据储存设备,但不限于此。在一个实施例中,储存设备311可以包括可移动介质、只读介质、可读/可写介质等。数据中的一些可以在计算机系统301中的软件的执行期间由直接存储器访问过程写入存储器305。可以理解,软件可以驻留在储存设备311、存储器305中,或者可以通过调制解调器或通信接口313被发射或者接收。为了本说明书的目的,术语“机器可读介质”应该被认为包括任何能够存储数据、信息或对由处理器303执行的一系列指令进行编码,以使得处理器303执行本发明的方法的介质。术语“机器可读介质”应该被认为包括固态存储器、光盘和磁盘、载波信号等,但不限于此。
在一个实施例中,例如和图1A到图1C所示中的任何一个类似的广播系统被配置为使广播服务器103向多个客户端系统105、107和109广播多个数据文件。如下面将更详细地讨论的那样,所述多个数据文件中的每一个均和根据本发明的一个实施例的教导、以元数据(meta-data,M-D)描述的各块内容对应。一般来说,元数据可以被视作对要被或可能被服务器103广播的内容或数据文件进行描述的一组描述符或属性值。本发明的元数据提供了使得客户端系统105、107和109能够针对服务器103以后将要广播的数据文件的内容进行推理并作出基于信息的决定的信息。如同将被讨论的那样,本发明的各种实施例采用元数据用于客户端一侧的过滤、存储管理和其它个性化技术,还用于确定即将开始的服务器广播的内容和广播计划。
通过提供一种根据客户端需求反馈信息来广播内容的方法和系统,本发明解决了现有技术中涉及不需要的内容的广播的很多不足。本发明定义了用于产生优化的广播计划的机制,藉此,和广播运营中心考虑广播的各块内容(例如电影、预先录制的以及直播的电视表演等)对应的内容描述信息被周期性地向客户端系统进行广播,从而客户端系统或者使用用户反馈、基于用户的以往收看习惯和其它考虑的自动反馈,或者使用二者的结合来对内容块进行评价和/或排名。然后,来自客户端系统的需求反馈被发回广播运营中心,然后,运营中心至少部分地根据从客户端系统接收到的需求反馈信息来产生或更新包含要被广播的内容的有序列表的广播计划队列。然后,根据它们在广播计划队列中的位置,内容块被向客户端系统广播,于是,如果被广播的内容块中的任何一个应该被客户端系统高速缓存以便随后“点播”观看,则客户端系统能选择性地确定是哪一个。在一个实施例中,该过程被连续地重复,使得广播运营中心能够根据客户端需求反馈来优化其广播计划,而不是必须使用传统的预定广播计划。
图3是和本发明的示例性实现对应的流程图。如上面所讨论的那样,第一个任务是给可以由可能期望观看广播运营中心提供的内容的用户操作的各种客户端系统提供内容描述信息。在一个实施例中,内容描述信息被作为元数据发送,针对被考虑用于广播计划的每块内容,所述元数据包括一组内容描述符。一般来说,内容描述符可以被作为客户端系统可以在任意时间点接入以捕获内容描述信息的连续流来发送。如果需要,内容描述符流可以以一个流在何处(例如它在哪个(哪些)频道上广播)和如何定位它的声明作为前导。内容描述符元数据也可以在周期性基础上作为文件发送。在一个实施例中,可以发送触发,以发信号通知客户端系统内容描述文件将要被发送,所以客户端系统可以接收并存储内容描述符元数据。
如框301所示,在一个实施例中,元数据广播计划通过适当的广播链路被广播到客户端系统。例如,客户端系统可以包含机顶盒,并且广播链路可以包含卫星电视链路,如图4A所示。在这个例子中,由广播运营中心126A操作的广播服务器103A通过地面站132把上行链路信号128发送到卫星130。然后,卫星130通过由从卫星到各个天线134、136和138的数据射频(RF)传输形成的RF链路115A、117A和119A,把元数据广播计划广播到客户端系统103A、105A和107A。卫星130一般起到以预定的射频频带发送出数据流的多信道应答机的作用,其中,每个频带和各自的信道对应。在一个实施例中,所选择的信道可以被用来发送该元数据广播计划数据。在另一个实施例中,所选择的信道的未使用部分或被多路复用的信道可以被用来发送计划数据,这将在下面更详细地描述。
如上面所讨论的那样,除了通过卫星RF链路广播内容之外,内容也可以通过例如有线系统和计算机网络的各种网络被广播。图4B示出了一个使用双向有线系统实现本发明的示范系统。在该系统中,由广播运营中心126B操作的广播服务器103B把例如元数据广播计划的广播数据提交给有线系统头端(head-end)142。有线系统头端为有线系统提供了广播功能,使得数据能通过有线网络113B和各个双向有线链路115B、117B和119B被广播到机顶盒客户端系统105B、107B和109B。
图4C中示出了用于实现本发明的一个示范系统,其中,广播和客户端反馈数据被通过计算机网络传输。在这个实施例中,由广播运营中心126C操作的广播服务器103C使用例如UDP或TCP/IP的常见的网络协议或者各种新涌现的计算机网络广播协议之一,在计算机网络113C上通过网络链路115C、117C和119C把数据广播到计算机客户端系统105C、107C和109C。
在一个实施例中,元数据广播计划指示本发明的实际元数据将要被广播服务器广播的将来某个点。在一个实施例中,客户端系统使用例如在节目与系统信息协议(PSIP)、DVB、服务公告协议(SAP)等中使用的已知的端口,监听来自广播服务器的即将进行的服务通告。
在一个实施例中,客户端105x、107x和109x(其中,105“x”包括105A、105B和105C等)中的每一个都包含已知的计划服务,计划服务在规定时间接受请求以唤醒(wake up)或被激活,接收由广播服务器103x广播的信息。该计划服务使得客户端系统能够在规定时间唤醒并选择规定的服务。例如,在一个实施例中,这个选择过程可以通过调谐到例如高级电视系统委员会(ATSC)或DVB应答机中的频率等的特定频率来完成。在一个实施例中,这个选择过程可以基于一组数据,例如定义了服务的组播(multi-cast)互联网网际协议(IP)地址。
在一个实施例中,客户端应用程序向客户端信令系统登记,以从特定内容的提供者处接收信号。客户端信令系统维护一个和特定内容的提供者关联的应用程序的表。在一个实施例中,来自广播服务器的信息被在已知的地址上广播,以便每个客户端能够使用已知地址。
回到图3的流程图,在框304中,客户端从广播服务器接收元数据广播计划。在一个实施例中,客户端系统105x、107x和109x捕获并处理这个预先广播的信息以便确定何时唤醒并接收内容,在何处接收该内容以及接收哪个内容。在一个实施例中,当客户端系统接收到元数据广播计划时,客户端系统中的已登记的应用程序被通知接收元数据广播计划。
在其它实施例中,元数据自身被作为客户端系统可以在任意时间点接入的流连续地广播。因此,在这些实施例中,无需框300和302执行的操作,如这些框的虚线轮廓所示(表示它们是可选的)。优选地,当使用流的实施例时,元数据流将包括标记信号用于指示当前元数据组的起点,从而客户端系统仅需监听元数据一段时间,在此段时间内,接收到两个标记信号(保证已经接收到完整的一组当前元数据)。作为选择,客户端系统可以在各个内容描述符出现在流中时将其记录,藉此,当客户端系统遇到它们先前已经接收过的内容描述符时,它们将知道它们已经接收到完整的一组元数据。
在框304中,元数据127(见图4A到4C)在元数据广播计划中规定的时间或使用连续流被从广播服务器广播到客户端系统。在一个实施例中,客户端在元数据广播计划中所指示的预先规定时间唤醒,以从服务器接收元数据127。在框306中,客户端系统从广播服务器接收元数据广播。如将要被讨论的那样,元数据包括对服务器系统将要广播或者以后可能要广播的多个数据文件的描述。在这一点,如图3和图4A到4C中画圈的“1”所示的向客户端系统提供元数据的第一个任务被完成了。
如框308所示,接收到元数据127后,客户端系统对元数据对应的内容块进行评价和/或排名,以便把客户端需求反馈数据往回提供给广播运营中心,表明给定的客户端系统的用户想让哪些内容块被广播,以便那些内容块可以被捕获并高速缓存在客户端系统上供那些客户端系统的用户“点播”观看。客户端系统可以通过三种方法产生客户端需求反馈数据。在一个实施例中,客户端系统的用户可以对由当前元数据组描述的内容块手动进行评价或者提供相对排名,提供他们希望广播的内容的明确指示。这个过程由流程图中的框310提供,并在下面更详细地描述。在另一个实施例中,评价和/或相对排名数据在框312中由客户端系统至少部分地根据用户以前的收看偏好来自动产生。这个过程也在下面更详细地描述。在第三个实施例中,客户端需求反馈数据包含用户产生和客户端系统产生的评价和/或排名数据的组合。
在框314中,客户端系统把其需求反馈数据发送回服务器,服务器在框316中接收这些数据。在图4A到4C中,需求反馈数据用“客户端反馈数据”(Client Feedback Data)129或“CFD”129表示,在图3和图4A到4C中,把需求反馈数据发送回广播运营中心的过程用画圈的“2”表示。在一个实施例中,广播网络中的每个客户端发送和广播服务器103x早先广播的当前元数据组127所描述的所有内容块对应的需求反馈数据。或者,每个客户端系统发送该客户端系统中维护的内容评价/排名表的全部或者一部分,这将在下面更详细地描述。
取决于所使用的广播系统,有几种不同类型的可用来把客户端需求反馈数据往回提供给广播运营中心的通信链路。如上面参考图1B所讨论的那样,给客户端105、107和109中的每一个都提供了“反向信道”通信链路,分别用通信链路121、123和125表示。在传统的卫星电视广播系统的情况下,例如如图4A所示,在卫星和接收天线之间只有一个单向链路。结果,在这些系统中,回到广播运营中心的通信链路通常涉及来自客户端的某种形式的远程通信(Telco)链路,如链路121A、123A和125A所示,客户端通过Telco网络113A和网络链路144连接到广播运营中心126A。可以理解,未来的卫星广播系统可以提供双向通信链路,这样,可以使用收发机天线把客户端需求反馈数据发送回广播运营中心。这种类型的通信技术可能和今天的VSAT(甚小口径地球站)技术类似,VSAT技术为VSAT系统的用户提供双向卫星通信能
在使用双向有线广播系统的例子中,如图4B所示,给定客户端系统的同一通信链路既可以用于接收广播数据,也可以用于把客户端需求反馈数据往回发送到广播运营中心126B。类似地,当使用计算机网络广播基础设施时,如图4C所示,同一链路可以被用于接收广播数据和把客户端需求反馈数据发送回广播运营中心126C。注意,在计算机网络中,实际“链路”可以是动态的,其中,数据分组被使用动态路由在端点之间发送,例如在客户端系统和服务器之间发送。但是,为了说明的目的,这些链路在图4C中被画成了实线。
接收到客户端需求反馈数据129后,广播运营中心通过汇总客户端需求反馈数据来创建或者更新包含被至少部分地排序的内容块列表的广播计划队列133,其中,具有最高需求的内容块被往列表的顶部放置。这个过程由图3和图4A到4C中的画圈的“3”表示。一般来说,通过汇总客户端需求反馈数据来创建列表,并且可以选择应用服务器侧的考虑,例如一块内容最近是否被广播过;以及各种商业上的考虑,例如和广播服务提供商的合约。下面描述有关广播计划队列如何被创建的更进一步的细节。
在一个实施例中,广播运营中心然后根据客户端需求反馈数据选择要广播的内容块。在一个实施例中,根据由客户端系统提供的评价信息来确定要被广播的内容块。结果,只有对顾客基础(即客户端系统的用户)最为适当的内容块被广播运营中心广播。例如,在一个实施例中,只有具有最高汇总评价的内容块被广播,而具有最低汇总评价的那些内容块则不被广播。在一个实施例中,广播计划也响应排名被确定。例如,在一个实施例中,排名最高的数据文件被在较低排名的数据文件之前广播。在另一个实施例中,排名最高的内容块在被假定为最适合发送高排名内容的时间广播。例如,设想一个例子,其中周四晚上的黄金时间是广播者具有广播的最高收视率的最重要的时间。在这个例子中,根据本发明的教导的广播运营中心将在周四晚上的黄金时间广播和最高排名的内容块对应的数据文件。当然,可以理解,给出这个例子只是为了说明的目的,广播运营中心可以响应从客户端系统接收到的客户端需求反馈数据以其它方法确定广播计划。
在一个实施例中,根据本发明的教导,要广播的数据文件和/或广播计划由广播运营中心响应从客户端系统接收到的客户端需求反馈数据而动态地确定。因此,在一个实施例中,依据可从广播运营中心获得哪些内容块以及哪些内容或数据文件被客户端访问和/或分选,广播计划可以随时间改变。
一旦广播服务器确定了要被广播的内容块和广播计划,则在框320中,广播服务器103把内容广播计划广播到客户端。然后客户端在框322中接收内容广播计划。在其它的实施例中,不广播内容计划,如框320和322的虚线轮廓所示。
下一步要执行的操作是把具有最高级别的客户端需求(一般来说)的内容传送给客户端。这由图3中的框326和框328示出,并由图3和图4A到4C中画圈的“4”表示。在一个实施例中,使用机会安排(opportunisticscheduling),其中,下一个“最有价值”的内容块被连续地广播。在另一个实施例中,数批内容被周期性地广播。图4A到4C中示出了和示例内容块A、B和C对应的一个或更多数据文件的广播,其中,内容被一组内容数据文件135共同地标识。下面讨论这些内容广播实施例中的每一个的进一步的细节。
对于内容广播计划先前已经被发送的实施例,和计划中的每块内容对应的数据文件在计划的时间被从广播运营中心广播。在一个实施例中,客户端在数据文件广播计划中所指示的预先规定的时间唤醒,以从广播服务器接收某块内容的数据文件。在其它实施例中,内容在“准实时”(nearreal-time)的基础上被广播,其中,先前的计划信息没有广播该内容。为了本发明的目的,“准实时”意味着内容在其被标识为最被期望内容之后很快(例如1小时或更短)便被发送。在这些例子中,对这些内容的广播计划是可选择的。
广播了一块内容之后,和该内容对应的属性值被重新计算,以便对用于广播计划队列的有序列表中的内容块重新进行排名。一般来说,这将使该块内容返回列表的底部,如框328所示,因为客户端系统对该块内容的需求应该由其先前的广播有效地满足了。如下所述,该块内容的客户端需求反馈数据被“重置”,故在重新计算有序列表时,只考虑有关该块内容的新的(即随后接收到的)客户端需求反馈数据。
在接收到广播内容之后,在一个实施例中,如框330所示,当数据文件被广播时,客户端根据存储在客户端系统上的内容评价表来选择性地存储数据文件。有各种机制可被用于确定何时捕获特定的一块内容并将其高速缓存(即存储)在给定的客户端系统上以及何时忽略其它的广播内容。在一个实施例中,存储在客户端系统上的诸如内容评价和/或排名数据的客户端需求反馈信息被用于确定何时捕获并高速缓存和特定的一块内容对应的数据文件。还可以考虑客户端系统上的可用存储空间。例如,如果客户端系统具有指示特定电影具有最高评价的内容评价表,则当和该电影对应的数据文件被广播时,该数据文件通常将被捕获并高速缓存。
在一些例子中,确定是否捕获并高速缓存一块新内容将取决于用户如何评价当前存储在客户端系统上的内容。例如,如果客户端系统基本上是满的(即它不能存储和一块新内容对应的整个数据文件),并且存储在客户端系统上的所有要被观看的内容块具有比接下来要广播的内容块更高的评价,则该块内容将被忽略。图4A到4C示出了被高速缓存和被忽略的内容的例子,其中,客户端系统105x选择性地高速缓存内容A和B而忽略内容C,客户端系统107x选择性地高速缓存内容A而忽略内容B和C,而客户端系统109x选择性地高速缓存内容C而忽略内容A和B。
在给定的客户端系统上特定的一块内容已经被访问过的情况下,在一个实施例中,通常将假定用户不再像先前该块内容的评价最初被产生时他或她那么渴望访问该块内容。为了本申请的目的,用户访问可以包括用户和数据文件互动、收看、观看、听、读、消费数据文件等。例如,用户访问数据文件的一个例子可以是用户观看由客户端中存储的数据文件之一所提供的特定电影或收听同样提供的特定的歌曲。因此,当用户为观看而访问一块内容时,和该块内容对应的元数据表和内容评价表条目在框332中被客户端系统更新。
图5是更详细的流程图,示出了当根据本发明的教导处理元数据127和更新及维护元数据表和内容评价表时在客户端中的事件流程的一个实施例。具体来说,该过程在框403中开始,其中,元数据表被用从服务器广播的元数据中所包括的属性和属性值更新。然后在框405中,内容评价表被用元数据所描述的数据文件中的每一个的条目更新。
在一个实施例中,假设元数据表、内容评价表和多个数据文件已经在客户端系统中存在。在一个实施例中,元数据表内容评价表和多个数据文件可以在存储器305、储存设备311中,或通过使用机器301访问本地网络等而在客户端系统中存储和维护,如图2中的实施例所示。
图6中示出了和四块内容对应的一组示例性元数据501。为了说明的目的,假设和这四块内容对应的数据文件是音频/视频文件,例如电影或电视节目。如上所述,被广播的数据文件可以包含其它类型的文件,例如音频、图形、文本、多媒体等。
在所示实施例中,元数据501表示广播运营中心考虑广播这四个电影,或更具体些,和这四个电影对应的四个数据文件。这些电影包括“Action Dude”、“The Funny Show”、“Blast‘Em”和“Hardy HarHar”。一般来说,元数据将包括“描述”了该元数据所对应的每块内容的属性和属性值。在一个实施例中,元数据被以表格格式传送,其中,属性和格式中的列对应,而属性值包含元数据的行数据。例如,元数据501包括三个属性列,标记为“名称”、“演员”和“类型”。可以理解,本发明的其它实施例可以包括不同的属性和属性值。例如,可被用来描述电影的其它属性的非穷尽列表可以包括“导演”、“更多演员”、“年代”、“影响”、“结局”等。例如,在一个实施例中,根据本发明的教导,提供了40到50个不同的属性来描述电影。
在示例元数据组501中,“Action Dude”是一部“动作”电影,由演员“Joe Smith”主演。“The Funny Show”是“喜剧”电影,由女演员“Jane Doe”主演。此外,“Blast‘Em”是“动作”电影,由女演员“Jane Doe”主演,而“Hardy Har Har”是“喜剧”电影,由演员“JoeSmith”主演。
为了帮助说明本发明的元数据表方面,图7是由每个客户端105、107和109在本地更新和维护的元数据表601的一个实施例的例子。在所示出的实施例中,图6中的元数据表601已经填充了在更早些时候被从服务器103广播的元数据501中所包括的数据。在一个实施例中,元数据表601包括属性、属性值和对应的相关度值以及可信度因子的列表。具体来说,元数据表601包括属性值“Joe Smith”、“Jane Doe”、“动作”和“喜剧”。此时,属性值“Joe Smith”、“Jane Doe”、“动作”和“喜剧”的相关度值和可信度因子全都是零。在一个实施例中将示出,当用户和客户端系统互动时,本发明的相关度值和可信度因子将被更新和维护。
在一个实施例中,元数据表601中的相关度值是用于预测特定用户的行为的关联属性和属性值的相关程度的指示。例如,相关度值表明用户因为该特定属性值而观看特定电影的可能性。在一个实施例中,元数据表601中的相关度值在例如从-10到10的值域内。如将要讨论的那样,例如如果用户观看了特定的电影或至少表示出对具有该特定属性值的特定电影感兴趣,则相关度值可以被增大。反之,例如如果用户不观看特定的电影或者如果用户明确地表示其不想观看具有该特定属性值的特定电影,则相关度值可以被减小。
在一个实施例中,元数据表601中的可信度因子是评价或预测用户是否将实际访问具有该特定属性值的特定内容块时要被应用到具体属性和属性值对上的加权因子。在一个实施例中,元数据表601中的可信度因子在从例如-10到10的值域内。在一个实施例中,当属性值准确地预测了用户感兴趣的内容块时可信度因子可以被增大。反之,当尽管特定属性值另有所指,但是用户却对该块内容感兴趣时,可信度因子可以被减小。
在一个实施例中,从和服务器103要广播的潜在内容或数据文件关联的所有元数据50 1的汇总来构建元数据表601的条目。在一个实施例中,根据明确的用户请求来更新元数据表601中的条目。此外,对元数据表601的更新也可以隐式地基于用户是否访问具有特定属性值的具体数据文件,而和用户是否明确地分选特定电影不相关。
为了帮助说明本发明的内容评价表方面,图8示出了在一个实施例中由客户端105x、107x和109x中的每一个在本地更新和维护的内容评价表701的一个实施例的例子。在所示出的实施例中,内容评价表701包括元数据501中所描述的数据文件以及当前本地存储或高速缓存在客户端系统上的任何额外的数据文件的列表。
在一个实施例中,和先前高速缓存的内容块对应的数据文件可以由客户端本地存储在存储器305、储存设备311中,或者存储在图2中的机器301可从本地访问的网络中。为了本申请的目的,由客户端在本地存储的数据文件也可以被解释为包括由客户端“本地”存储在与服务器分离的已知网络存储设备结构中的数据文件。为了本申请的目的,由客户端在本地存储或高速缓存的数据文件要被解释为为了以后访问、检索或消费而存储的数据文件。在一个实施例中,本发明的本地高速缓存被视作第一级高速缓存。因此,本发明的本地高速缓存相应地为提高单次命中(single hit)概率而确定大小。
继续参考回代表音频/视频文件的数据文件的例子,电影由客户端在本地存储。用户观看该电影后,该电影占用的存储空间通常被视作可用于存储以后某个时间要广播的另一块内容。因此,根据本发明的教导可以理解,客户端系统的本地高速缓存的模型为单次使用系统,例如发射后遗忘(fire and forget)。在一个实施例中,假设如果用户访问数据文件,则该用户将不可能想再次访问同一数据文件。如果用户还没有观看特定的一块内容,则该块内容占用的存储空间通常被视作不可用于存储其它内容块。但是,如果没有额外的可用存储空间,并且评价更高的内容块要被广播,则根据本发明的教导,较低评价的未观看内容块可以被较高评价的内容块代替。例如,在一个实施例中,客户端系统的用户可以选择使得被存储的数据文件在和较高评价的内容块对应的一个或更多数据文件被广播时自动被其代替的开关。反之,用户可能愿意手动管理哪些数据文件被存储在他或她的客户端系统上。
再次参考图8所示的内容评价表701的实施例,每部电影还具有关联的“评价”值、“评价类型”指示符、“在高速缓存中”指示符和“下一步处理”指示符。在一个实施例中,评价值指示对接收关联的内容块的期望度等级。在一个实施例中,评价值或者可以由用户明确地输入,或者可以由客户端系统通过处理和该特定的数据文件关联的元数据而隐式地产生。在一个实施例中,相对较高的评价值预测用户可能对该特定数据文件感兴趣。反之,相对较低的评价值预测用户不太可能对该特定数据文件感兴趣。
在一个实施例中,“评价类型”指示符指示这块特定内容的评价值是由用户明确地输入的结果,还是说该评价值是由客户端系统隐式地产生的。这样,在一个实施例中,如果数据文件或电影还未被评价,则内容评价表701的“评价类型”指示符可以是“明确”、“隐式”或者“N/A”(不可用)。在一个实施例中,如果数据文件已经被用户明确地分选,则该数据文件的属性值的评价值不再被客户端系统隐式地更新。
但是,如果数据文件还没有被分选或者仅仅由客户端系统隐式地评价过,则数据文件的属性值的评价可以被客户端系统进一步地更新或者调整。
在一个实施例中,“在高速缓存中”指示符指示该特定的数据文件当前是否由客户端在本地存储或高速缓存。在图8所示的实施例中,电影“Action Dude”、“The Funny Show”和“Blast‘Em”已经存在于客户端系统的本地存储设备中。反之,电影“Hardy Har Har”还没有被存储在客户端系统的本地存储设备中。
在一个实施例中,“下一步处理”指示符用来跟踪将来对特定数据文件要采取的动作。例如,如果电影已经被用户观看过,则下一步处理指示符将会指示“代替”以指示由该特定电影占用的存储空间可用于存储另外一部电影。在一个实施例中,如果电影还没有被用户观看过,则下一步处理指示符将指示“保留”。在一个实施例中,如果电影还没有被客户端本地存储,并且如果评价值预测用户可能对该特定电影感兴趣,则下一步处理指示符将指示“捕获”。在一个实施例中,如果电影还没有被服务器所广播并且评价预测用户不太可能对这部电影感兴趣,则下一步处理指示符将指示“忽略”。
如上所述,用户可以提供用于确定什么内容应该被高速缓存,什么内容应该被忽略的明确输入;这些输入被称为“分选”。在一个实施例中,如图9所示,通过分别输入或选择“接收”或“拒绝”,用户可以明确地“分选”所选择的内容块以指示该用户是否愿意高速缓存或不高速缓存一块内容。在图9所示的例子中,通过用“接收”分选来分选电影“ActionDude”,用户已经指示他或她愿意高速缓存该电影,而通过用“拒绝”来分选电影“The Funny Show”,用户已经表明他或她对该电影没有任何兴趣。在这个例子中,用户还没有提供有关剩余电影中的任何一个的任何信息或者分选。
返回图5的流程图,如果用户还没有分选任何一个数据文件,则对判别框407的回答为“是”,并且在框409中,被分选的内容块的特定属性的相关度值在元数据表601内被更新。在框411中,具有带有响应用户分选而被调整的相关度值的属性值的数据文件的评价也被调整。如果用户还没有分选任何数据文件,则框409和框411被跳过。
为了说明用户何时分选数据文件的例子,图10示出已经被响应用户分选而更新或调整之后的元数据表601。如上面所讨论的那样,用户表示他或她对电影“Action Dude”感兴趣。如元数据表501所描述的那样,“Action Dude”由演员“″Joe Smith”主演,并且是部“动作”电影。因此,参考图10中的元数据表601A,属性值“″Joe Smith”和“动作”的相关度值被调整,以反映出用户明确地表示对“Action Dude”感兴趣。在一个实施例中,相关度值被增大以反映出用户感兴趣。如将被讨论的那样,在一个实施例中,和每个属性值关联的可信度因子直到有用户访问与具有该特定属性值的内容块对应的数据文件时才被更新。
继续图9的例子,用户指示他或她对电影“The Funny Show”不感兴趣。元数据501示出“The Funny Show”由女演员“Jane Doe”主演,并且是部“喜剧”电影。因此,往回参考元数据表601A,属性值“JaneDoe”和“喜剧”的相关度值被调整以反映出用户明确地表示他或她对“The Funny Show”不感兴趣。在一个实施例中,相关度值被减小以反映出用户不感兴趣。
继续图9的例子,用户没有提供任何有关电影“Blast‘Em”和“Hardy Har Har”的信息。因此,在元数据表601A中不更新和“Blast‘Em”和“″Hardy Har Har”关联的属性值的相关度值。
如将要被讨论的那样,在一个实施例中,如框411中所描述的,对内容评价表701中的评价的更新与在元数据表601中所列的属性值的相关度值和可信度因子有关。在框411中发生的处理的详细描述基本上和在下面的框417中所发生的处理相同。
再次参考图5,如果用户访问任一数据文件,例如,用户观看电影,如判别框413中确定的那样,则在框415中,用户所访问的数据文件的特定属性的相关度值和可信度因子在元数据表601中被更新。然后,逻辑流到框417,在这里,数据文件的评价也被调整,这些数据文件具有带有响应用户的访问而被调整的相关度值的属性值。如果用户没有访问过任何数据文件,则框415和框417被跳过。
为说明用户访问数据文件的例子,假设用户观看电影“ActionDude”。元数据501示出“Action Dude”由演员“Joe Smith”主演,并且是部“动作”电影。在一个实施例中,每次当用户访问特定的数据文件或和特定的数据文件发生互动,则该电影的属性值的可信度因子被调整或被更新。在一个实施例中,对具有大于零的相关度值的属性值,该属性值的可信度因子被增加,因为该属性值准确地起到了预测用户将访问的数据文件的作用。在一个实施例中,对具有小于零的相关度值的属性值,该属性值的可信度因子被减小,因为该属性值没有准确地起到预测用户将访问的数据文件的作用。因此,图11示出了元数据表601B,其中,“可信度”列已经响应用户访问“Action Dude”而被更新或调整过。在此例中,“Joe Smith”和“动作”的可信度因子被增大,因为这些属性值的相关度值大于零。
在一个实施例中,响应用户的访问,和被隐式地评价的内容块关联的相关度值在元数据表601B中也被增大。但是,在图11所示的元数据表601B的例子中,“Action Dude”被用户明确地分选。在一个实施例中,在元数据表601中,相关度值没有被响应用户对被用户明确地分选的数据文件的访问而更新。
图12示出了和在框417中响应用户访问“Action Dude”而被更新之后的内容评价表701A,表701A和内容评价表701对应。如上面所讨论的那样,根据本发明的教导,在框411中内容评价表701也被更新。如内容评价表701A中所示,“Action Dude”具有评价值1。“Action Dude”的评价类型是“明确”,因为如上面根据图9所述,用户明确地分选了“Action Dude”。“在高速缓存中”指示符表示“Action Dude”目前被客户端系统存储在本地。“下一步处理”指示符指示“代替”,因为用户已经观看了“Action Dude”。
在一个实施例中,内容评价表701中的评价值如下确定。元数据501示出“Action Dude”具有属性值“Joe Smith”和“动作”。元数据表601B示出“Joe Smith”具有相关度值1和可信度因子1。元数据表601B还示出“动作”具有相关度值1和可信度因子1。在一个实施例中,特定数据文件的评价值是通过针对数据文件的所有属性值,将相关度值与其各自的可信度因子结合起来考虑而确定的。例如,在一个实施例中,一个数据文件的评价值等于该数据文件的多个属性值的每一个相关度值和对应的可信度因子的全部乘积的平均值。
为了说明,参考内容评价表701A中的“Action Dude”,“JoeSmith”的相关度值和可信度因子的乘积是1×1,它等于1。“动作”的相关度值和可信度因子的乘积是1×1,它等于1。乘积1和1的平均值是1。因此,内容评价表701A中的“Action Dude”的评价是1。
类似地,关于内容评价表701中的“Blast‘Em”,“Blast‘Em”具有属性值“Jane Doe”和“动作”。在元数据表601B中“Jane Doe”的相关度值和可信度因子分别是-1和0。因此,内容评价表701A中的“Blast‘Em”的评价是1×0和1×1的平均值,它等于0.5。在图12所示的例子中,内容评价表701A中的“The Funny Show”和“″Hardy Har Har”的评价用和本发明的一个实施例中类似的方式确定。
注意,因为上面在图9中用户分选了电影“Action Dude”和“TheFunny Show”,所以这些电影具有“明确”的评价类型,如内容评价表701A所示。因为用户没有分选电影“Blast‘Em”和“Hardy Har Har”,所以在内容评价表701A中这些电影具有“隐式”的评价类型。
可以理解,上面的讨论提供了根据本发明的教导如何确定内容评价表701中的评价值的例子。注意,根据本发明的教导,可以用考虑一块内容的每个属性值的相关度值和可信度因子的其它方法来确定评价值。
在一个实施例中,利用特定内容块的“评价”值和“在高速缓存中”值,部分地确定内容评价表701A中的“下一步处理”列的条目。例如,假设在一个实施例中,大于零的评价表示用户被预计对该特定电影至少有一些兴趣。因此,用户可能对电影“Blast‘Em”和“Hardy Har Har”有一些兴趣。因此,“下一步处理”指示电影“Blast‘Em”将被保留在存储设备中,而电影“Hardy Har Har”在以后被服务器广播时将被捕获。如上所述,在“下一步处理”字段中,电影“Action Dude”被标记为“代替”,因为它已经被用户观看过。
在一个实施例中,用户和客户端系统将来的互动导致和上面的描述类似的处理。例如,假设用户现在观看电影“Blast‘Em”,在这个特定例子中,用户在观看电影“Blast‘Em”前没有分选该电影。在一个实施例中,被访问的未分选数据文件的属性值的相关度值和可信度因子均被更新,如图13的元数据表601C所示。回忆元数据501,电影“Blast‘Em”由女演员“Jane Doe”主演,并且是部“动作”电影。如图11所示,在用户观看电影“Blast‘Em”之前,“Jane Doe”的相关度值是-1,小于零,然而在本例中,尽管电影“Blast‘Em”事实上由女演员“Jane Doe”主演,用户还是观看电影“Blast‘Em”。因此,“Jane Doe”属性值的可信度因子被向下调整,因为当预测用户的收看习惯时,该特定属性值现在看起来不那么可能或者不那么相关。在一个实施例中,由于相关度值已经小于零,所以可信度因子不被进一步向下调整。但是,属性值“动作”的相关度值和可信度因子被向上调整,因为“动作”在用户观看“Blast‘Em”之前具有大于零的相关度值。因此,在这个例子中,相关度值被从1向上调整到2,可信度因子也被从1向上调整到2。因此,内容评价表601C现在预测“动作”电影是用户更可能观看的电影。
在一个实施例中,每次用户和客户端系统互动时,元数据表601和内容评价表701就被更新。当用户访问和每块内容对应的数据文件时以及当用户明确地分选这些内容块时,执行对元数据表601和内容评价表701的更新。可以理解,为了让元数据表601和内容评价表701被更新,不要求用户明确地分选内容块。结果,随着时间推移,内容评价表将更准确地预测用户感兴趣的内容块。
在一个实施例中,被隐式地预测为用户最感兴趣的内容块和用户明确地分选为感兴趣的内容块将作为被本地高速缓存在客户端系统上的内容块。实际上,根据本发明的教导,用户最可能想观看的内容块被自动地在本地存储,因此可被点播,而不需要用户事先明确地请求这些电影或明确地规定用来识别这些电影的标准。
可以理解,根据本发明的教导,通过在每个客户端上本地存储和内容块对应的数据文件,广播带宽被更有效地利用。事实上,当用户从客户端的本地存储设备观看电影时,没有使用额外的广播带宽。此外,还可以理解,在根据本发明的教导的系统内,所执行的大量处理是在更新各个客户端系统的元数据表和内容评价表时在每一个客户端系统上执行的。本发明的分布式处理使得目前公开的广播系统能够扩大到非常多的用户,因为每个增加的客户端对服务器增加的成本是很小的。
如上面所讨论的那样,客户端系统可以发送反馈信息,该反馈信息是根据以往的收看习惯、内容评价和分选自动产生的、由客户端系统的用户手动产生的,或者自动和手动产生的组合。例如,如上面参考图11所讨论的那样,每块内容的评价值被自动地产生。
图14示出了示例性用户界面801,界面801使得用户能够对被考虑用于即将开始的广播的内容块进行评价和/或提供相对排名。用户界面801包括评价属性页(tab)803和排名属性页805、“更新排名”按钮807和“OK”按钮809及“取消”按钮811。用户界面还可以包括垂直滚动条810和平滚动条812。评价属性页803包括使用评价表813,表813通常将包括一组和最近被发送的当前元数据组有关的列以及评价列815,在列815中,用户可以输入每块内容的评价值817。在所示出的实施例中,评价表813包括整个元数据501。该评价表可以包括和诸如导演、更多演员、情节叙述等其它元数据属性对应的额外的列(未示出)。这些额外的列可以通过激活水平滚动条812来访问,其中,在一个实施例中,用户界面被设计成不管当前正显示的是哪个属性列,评价列815对用户来说都总是可见的。
在一个实施例中,用户可以为所选择的内容块输入从0到100的评价值817,其中,较低的评价值表示用户对接收和一块内容对应的数据文件不感兴趣,而较高的评价值表示用户对该块内容感兴趣。在一个实施例中,用户可以通过使用键盘、小键盘等输入评价值817。例如,如上面所讨论的那样,客户端系统可以包含一般通过使用遥控器或遥控键盘来访问的机顶盒,例如图4A和4B中的遥控键盘137所示。当客户端系统包含台式计算机时,计算机键盘可以被用来输入数据,如图4C中所示的键盘139。作为选择,可以给每一行提供下拉控件,其中,用户能够通过使用诸如机顶盒客户端系统的机顶盒指针设备(未示出)或计算机客户端系统的如图4C中所示的鼠标141的鼠标或类似输入设备,从下拉列表821中选择评价值。
图15A到图15C示出了排名属性页805的各种用户界面视图。排名属性页805包括排名表823,排名表823包括和评价表813中的列类似的列,只不过评价列815被排名列825取代。用户可以在排名列825中输入相对排名值827,以反映出用户对和客户端系统接收到的当前元数据组对应的全部或部分内容块的相对排名。例如,如图15A所示,用户可以输入排名值1、2、3等。作为选择,用户可以把所选择的内容块拖放到排名表823中的新位置,如图15A中的指针拖放运动829所示,其中,这个动作的结果被在图15B中反映。在一个实施例中,如图15C所示,用户能够激活更新排名按钮807来使得排名表805中的内容块考虑其排名而重新排序,其中,排名最高的内容块出现在该表的顶部。
在内容评价和/或相对排名已经被手动输入和/或自动产生之后,和当前元数据组对应的一组客户端需求反馈被发送回广播运营中心。一般来说,客户端需求反馈数据可以被在周期性基础上发送或者被异步地发送。例如,在元数据被通过计划广播的实施例中,偏移于元数据广播计划的类似计划可以被用来使得客户端需求反馈数据基本上以“批处理”模式被发送回广播运营中心。或者,在预定的时间周期届满之后,或者检测到用户已经对和当前元数据组对应的内容块进行评价或排名后,客户端需求反馈数据可以被发送回广播运营中心。这被称为“异步”,因为客户端需求反馈数据被以不依附于计划的方式发送,并且基本上是随机的。在另一个实施例中,针对单个内容块的评价数据在客户端系统处理该块内容的内容描述符时被发送到广播运营中心。
一般来说,客户端需求反馈数据反映出给定客户端系统的用户接收和当前元数据组对应的内容块的期望度等级。这个反馈需求数据可以包含手动评价、手动排名、自动产生的评价或这些反馈需求属性值的组合。例如,在一个实施例中,客户端需求反馈数据只包括用户产生的评价和/或排名,其中不存在针对未被客户端系统的用户评价和/或排名过的内容块的反馈数据。在一个实施例中,使用在前面参考图5的流程图所描述的过程,自动产生对内容块的任何不是由用户产生的评价。而在另一个实施例中,使用自动和手动产生的反馈的组合,但是这只用于和当前元数据组中的内容块的仅仅一部分对应的反馈数据。
在使用手动和自动产生的需求反馈数据的组合的例子中,可以应用缩放/偏移算法来提供一组公共加权(commonly-weighted)的、更准确地反映出期望度等级的需求反馈数据,期望度等级指示了用户期望接收的内容块。例如,在前面的例子中,自动产生的评价具有从-10到10的尺度,而用户产生的评价具有从0到100的尺度。两个尺度中的任何一个可以被调整以便使用公共尺度来产生一组评价值。例如,在-10到10的尺度中的每个值可以被乘以5,然后再加上50以产生符合0到100的尺度的等效值。在其它例子中,可能希望对用户的明确评价给予比自动产生的评价更高的权重。这样,在前面的例子中,-10到10的自动尺度值可以由缩放因子来缩放并偏移,这将导致对于最大的自动产生的值10产生小于100的评价值。
除了手动排名内容块之外,其它的内容块可以通过首先给这些内容块自动产生评价值,然后根据这些评价值产生相对排名而被自动排名。在一个实施例中,当手动和自动排名值被组合时,排名最高的自动排名的内容块被排名在排名最低的手动排名内容块之下。在一个实施例中,自动排名的内容块可以占用客户端需求反馈数据中所包括的相对排名组合组中的任何位置。而在另一个实施例中,在排名最低的手动排名内容块和排名最高的自动排名内容块之间有间隙。例如,假设一组特定元数据和广播运营中心考虑要广播的40块内容对应,并且用户从1到9对所选择的内容块进行排名。剩余的31块内容则可以被排名为10到40,或15到45、20到50等。这将提供迎合用户排名超过自动产生的排名的加权因子。
在加权客户端需求反馈数据时可以使用的另一个考虑是通过使客户端系统高速缓存一块特定内容可以产生的收益潜力(revenue potential)。例如,每看付费内容可以具有增大客户端需求反馈数据中的这些内容的需求“值”的加权因子。在一个实施例中,当使用排名时,收益潜力可以在决胜判别中使用。在其它实施例中,收益潜力可以增大评价值或相对排名值。
本发明的另一方面有关于客户端系统的分段,其中,不同(或相同)元数据组及对应的客户端需求反馈数据可以被广播到不同组分段客户端,以及从那里接收。例如,可以基于地理区域来分段客户端系统组,如图16所示,图16包括分段于5个区域中的5组客户端系统151、153、155、157和159,这5个区域包括西北区NW、西南区SW、中东区ME、东北区NE和东南区SE。在一个实施例中,将各组客户端相应于它们用来接收广播的网络进行分段,例如由本地有线提供商提供的有线系统,如图16的AT&T宽带用户152、南加州Media One用户154、芝加哥地区MediaOne用户156、纽约地区时代华纳有线(Time Warner Cable)用户158和东南TWE-AN用户160所示。在另一个实施例中,客户端组被基于运营其广播网络的MSO(多系统运营商)分段。例如,前七名有线MSO包括AT&T宽带、时代华纳有线、康姆卡斯特有线通信(Comcast CableCommunications)、查特通讯(Charter Communications)、考克斯通讯(Cox Communications)、爱迪非尔传播(Adelphia Communications)和缆视系统(Cablevision Systems),其中,每个MSO运营多个可被分散到广阔地理区域上去的本地有线系统。
如图16所示,在一个实施例中,相同或不同组元数据和/或随后的内容广播可以被从中央广播运营中心161广播,中央广播运营中心161从发射天线162经过上行链路把数据发送到一颗或多颗卫星164,然后卫星164把数据广播到由各自的本地有线系统运营商操作的接收天线163、165、167、169和171。然后本地有线系统运营商把元数据和/或广播内容发射到其用户客户端。在一些例子中,有线系统运营商将“存储”其接收到的广播数据,并在随后的时间点把数据“转发”到其用户客户端。这种类型的广播方案被公知为多级“存储和转发”广播,其中,数据被在不同“级”之间广播,被这一级存储,并被转发到下一级,以满足当前级的广播计划偏好。在图16中所示的实施例中,三个级是中央广播运营中心、本地有线系统运营商和与本地有线系统的用户客户端对应的客户端系统。在这个例子中,有线系统运营商代表中间级。还可以有额外的中间级,如在中央位置接收和存储广播数据,然后把它转发到一个或更多在MSO之下运营的本地有线系统运营商的MSO,因此本地有线系统运营商能够独立地存储和转发广播数据到其用户。在一个实施例中,MSO在不同时间点把广播数据转发到本地有线系统运营商。
注意,如果客户端系统被配置成从卫星广播系统或者其它类型的将客户端系统耦合到广播运营中心的广播链路接收通信,则客户端系统可以直接从中央广播运营中心161接收数据。在一个实施例中,如图16所示,每个分段的客户端组给本地服务器175提供客户端反馈数据,然后本地服务器175把客户端需求反馈数据转发到中央广播运营中心161。作为选择,每个分段客户端组可以接收广播并把客户端需求反馈数据发送回本地广播运营中心。
如上面所讨论的那样,因为各组客户端需求反馈数据由各个客户端系统产生,它们被通过“反向信道”通信链路发送回广播运营中心,在那里它们被汇总以建立用于广播计划队列133的有序列表。所用的特定“反向信道”通信链路将依赖于广播和反馈系统基础设施。一旦客户端需求反馈数据被从客户端发射,则它就被广播运营中心处的“前端”接收,在那里它被传给运行数据库(DB)149的数据库服务器147,在数据库149中,客户端需求反馈数据被存储并处理。典型的前端可以包括一个或更多的网络或万维网服务器148(见图4C),服务器148具有用于接收客户端需求反馈数据并将其路由到数据库服务器147的应用程序代码。此外,各种开关和防火墙可以位于前端和数据库服务器之间(清楚起见,在这里的图中没有示出这些系统的前端中所用的各种组件)。在另一些实现中,数据库服务器147可以被直接用于这些前端处理。而在另一些实现中,客户端需求反馈数据可以被发送到本地服务器,本地服务器则把客户端需求反馈数据转发到由广播运营中心运行的数据库服务器。
如上面所讨论的那样,从用户先前的收看习惯(即响应当前已经被高速缓存或先前已经被高速缓存的内容块)的组合以及由用户提供的先前评价和分选,并通过使用相关度值和可信度因子,可以导出自动产生的评价。在一些例子中,出于对隐私的担心,可以不使用和用户先前的收看习惯有关的数据。但是,为了克服大多数对隐私的担心,在一个实施例中,客户端需求反馈数据被通过保证不识别该组客户端需求反馈数据是从哪个客户端和/或用户发送的机制发送回广播中心。例如,这个“匿名”客户端体系能够通过使用第三方作为代理的加密过程来实现,其中,客户端需求反馈数据被加密,并且必须通过使用广播运营中心或任何其它方面不可访问的私人密钥的第三方所运营的解密服务。然后,该第三方把客户端需求反馈数据转发到广播运营中心。用这种方式,广播运营中心无法判断给定的一组客户端需求反馈数据是从哪个客户端系统接收到的。
图17示出了一组典型的客户端需求反馈数据175,客户端需求反馈数据175包括内容反馈需求表177,在该表中存储了用户产生和/或自动产生的评价和/或相对排名需求数据。除了这个需求数据以外,每一组客户端需求反馈数据还将优选地包括元数据组标识符,数据库149用元数据组标识符来组织其数据,以使只有相关的客户端需求反馈数据(即和最近(当前)的元数据组对应的客户端需求反馈数据)被用来确定广播计划队列133。例如,被广播的每组元数据可以具有包含唯一标识了该组元数据的记时或者序列号的元数据标识符179,其中,元数据标识符被在内容反馈需求表177中和数据一起发送回去。在客户端系统被分段的实现的情况时,客户端反馈数据175优选地将包括一个或更多对应的分段标识符,如区域标识符181、本地广播系统标识符183和MSO标识符185为说明目的所示出的那样。
一般来说,取决于各种客户端系统所提供的反馈数据的类型,内容反馈需求表中的列可以变化。但是,内容反馈需求表将总是包括用于标识该组客户端需求反馈数据所关于的内容块的列。在图17所示的实施例中,这个列被示为包含内容标识符的“内容ID”列187,内容标识符包含该组客户端需求反馈数据适用的每块内容的名称。优选地,每个内容标识符将包含文字数字式字符的唯一组合。在一些例子中,该列表将包括和一组完整的客户端需求反馈数据对应的所有和当前元数据组对应的内容块标识符,而在其它例子中,将只从客户端系统接收一组部分客户端需求反馈数据。
和各块内容对应的用户产生的评价被包含在“用户评价”列189中,而自动产生的评价被包含在“自动评价”列191中。在可选的实施例中,用户评价和自动评价可以被组合到单个列中。在这样的实施例中,可以使用另外一列来指示哪些评价是被明确地或被隐式地产生的。通过提供这个信息,加权值可以被数据库服务器147应用于各种评价数据。作为选择,评价数据可以已被客户端系统所采用的一种或更多加权算法加权过。
除了前述列以外,“用户排名”列193包含用户产生的相对排名,而“组合排名(COMBRANK)”列195包含用户相对排名和自动产生的相对排名的组合。通过使用单个列(例如,“组合排名”列195),用和上面所讨论的类似的方式可以提供相对排名数据,具有或不具有标志每块内容的排名是如何被导出的独立的列,或独立的针对用户产生的排名和自动产生的排名的列。
注意,客户端需求反馈数据可以只包括评价数据、只包括相对排名数据,或包括评价和相对排名数据的组合。此外,单独的每组独立客户端需求反馈数据通常可以包含和当前元数据组中提供的单个内容描述符、内容描述符的一部分对应的数据,或包含和当前元数据组中的每一个内容描述符对应的数据。对于评价反馈,客户端系统可以为各个内容描述符提供评价反馈,其中,给定的客户端系统可以响应通过元数据的广播而接收到对应的内容描述符来提供评价反馈。例如,在一个实施例中,全部或部分客户端系统可以响应接收到每块内容的内容描述符,自动地为该块内容产生评价反馈,因此评价反馈将被发送到广播运营中心并在异步的基础上被汇总。在相对排名数据的情况下,至少两块内容将需要被排名。在其它实施例中,每组客户端需求反馈数据将包括一组“完整”的反馈数据,该反馈数据是和当前元数据组对应的每块内容的反馈数据。
当各种客户端反馈需求数据被广播运营中心接收时,它被数据库服务器147存储在数据库149中。一般来说,数据库服务器147将包含运行关系数据库管理系统(RDBMS)服务器软件包的计算机服务器,所述服务器软件包例如是由Oracle、Microsoft、Informix和Sybase生产的基于SQL的RDBMS服务器产品(例如Oracle 8i企业版、Microsoft SQL Server7)。前述数据库服务器产品被设计用于使用多连接来处理的大的事务吞吐量。在其它实现中,可以使用复杂性较低的数据库服务器产品,诸如微软的Access和Paradox。在一些系统配置中,数据库服务器和广播服务器可以包含单个机器。在其它配置中,数据库服务器和广播服务器将包含分开的机器。
通常,客户端反馈需求数据将被用一个或更多的数据库表存储在数据库149中,所述数据库表共同包含数据库“模式”。例如,和客户端需求反馈数据175对应的数据可以被存储在“需求数据”表197中,表197包括存储元数据标识符的“元ID”列199,存储区域标识符的“区域ID”列201,存储广播标识符的“广播ID”列203和存储内容标识符的“内容ID”列205。需求数据表197还包括存储用户评价数据的“用户评价”列207,存储自动产生的评价的“自动评价”列209、存储用户相对排名的“用户排名”列211和存储用户产生和自动产生的相对排名的组合的“组合排名”列213。
通常将通过查询数据库149导出的广播计划队列133可以由数据库服务器147或广播服务器103维护。一般地说,广播计划队列133将包含和当前元数据组的内容块对应的内容标识符的有序列表,其中,内容标识符被根据对其相应的内容块的相对需求自表顶向下排序,所述内容块通过汇总由客户端系统提供的客户端需求反馈数据来确定。作为选择,有序列表可以根据诸如可用的广播带宽、与各个广播者的合同要求等其它考虑进行调整。
在一个实施例中,当每组客户端反馈数据被数据库服务器147接收后,数据被分析,和具有需求反馈数据的每块内容对应的各条记录被输入数据库149,并且有序列表被根据该组新数据自动重新排序。例如,客户端需求反馈数据可以包含数据库服务器147接收到的逗号定界列表或一组XML数据,被转换为独立“行”并插入“需求数据”表197。然后响应被插入,需求数据表197的“插入后”触发可以被用来自动运行查询215,查询215根据需求数据表197内的现有数据对有序列表重新排序,需求数据表197参考元数据标识符以得到当前元数据组。结果,广播计划队列133将响应广播运营中心所接收到的每组客户端需求反馈数据被更新。
图18示出了查询215的进一步的细节。一般来说,查询215通过汇总从客户端系统105、107和109接收到的各种客户端反馈数据129,产生用于广播队计划队列133的有序列表。如上面所讨论的那样,这些客户端需求反馈数据被存储在数据库149中的一个或更多个表中。除了这些表以外,数据库149也可以包括其它包含查询215所使用的信息的表,诸如收益因子、元数据、加权因子、内容属性表、分段表等。一般来说,查询215将从由数据库服务器147上运行的应用程序所提供的各种输入或从广播服务器103来制订。这一般可以包括下列内容中的一个或更多:和当前元数据组对应的元数据标识符217;在使用分段的情况下的各种分段标识符219;评价加权因子221;排名加权因子223;汇总公式225(例如求和、平均、取最大值等);商业考虑227和统计考虑229。
用于产生广播计划队列133的特定查询将取决于由广播运营中心提供的具体输入。例如,在一个实施例中,评价被用来确定有序列表,其中,内容块被根据诸如平均评价或统计平均评价的评价汇总来排序。在另一个实施例中,使用相对排名,并且根据预定的排名公式确定有序列表。例如下列被用于很多排名的排名公式,如前25名学院运动队排名。对于当前元数据组,确定排名范围。例如,如果当前元数据组包含涉及50块内容的内容描述符,并且未使用手动产生或自动产生的排名偏移,则和这些内容块有关的客户端需求反馈数据将具有从1到50的排名值(注意,虽然一些内容块将不会被一部分客户端系统排名,但是所有内容块将被至少一些客户端系统排名)。然后每个排名值将被根据从最大排名值加1的偏差重新计算。例如,在本例中,偏差将从51开始取起,从而原始排名1现在将具有值50,而原始排名值50现在将具有值1。重新计算出的值被简单求和,把具有最高的和的内容块置于有序列表的顶部。
前述方案使得相对于还没有被排名的内容,更多的权重能够被加到被排名的内容。例如,在一些例子中,用户对排名该用户感兴趣的内容的兴趣将胜过排名该用户不感兴趣的内容。因此,有任何评价的内容块都将被认为比还没有被加权的内容块更被需要。相反,在其它例子中将确定,尽管用户可能倾向于排名特定内容,但是当该内容被广播时用户一般不高速缓存这个内容,而是选择高速缓存该用户没有明确地进行排名的内容。在这种情况下,可给予那些被自动排名的内容块更多的权重。在其它实施例中,评价和排名数据的组合可以被用来确定用于广播计划队列133的有序列表。
如上面所讨论的那样,在客户端系统上执行诸如评价数据的重缩放和偏移、对数据加权等的各种数据处理功能。在可选实施例中,这些功能可以由数据库服务器147执行。例如,客户端反馈数据可以被发送以便和表格格式对应,其中,可以用额外的列来标识数据值是如何被产生的,然后,数据库服务器147可以执行一个插入查询或多组查询,以便重新缩放和偏移评价数据、对用户产生和自动产生的客户端需求反馈数据应用不同的加权因子等。
如向图18的底部部分所示以及上面所讨论的那样,广播每块内容后,该块内容的客户端需求数据在框231内被重置。在一个实施例中,和当前元数据组以及内容块对应的所有记录被删除。在另一个实施例中,当前元数据组和内容块的所有数据值被清零。而在另一实施例中,和当前元数据组和内容块对应的所有行的元数据标识符被改变。这些重置过程中的每一个的结果都是该块内容将掉到广播计划队列133的底部,并且只可能响应新的客户端反馈需求数据而上升回到队列的顶部。
在对和当前元数据组对应的内容块的全部或部分存在有限数量的客户端需求反馈数据的例子中可以使用统计考虑229。例如,如上面所讨论的那样,给定内容块的客户端需求反馈数据在该块内容被广播以后被重置。这是为了保证该块内容不会上升到有序列表的顶部,直到接收到对该块内容的新的客户端需求反馈数据。如果查询215包含平均评价数据,则人们通常期望防止该块内容上升回有序列表的顶部,直到足够多的客户端系统提供了对该块内容的需求反馈数据时为止。例如,假设最近已经被广播过的一块特定内容是有很高需求的新发行的大片。如果有关该块内容的前10组客户端反馈需求数据将其评价为100(或其它最大值),则该块内容通常将移动到有序列表的顶部。但是,通过使用统计考虑229,例如要求最少数量的客户端反馈需求数据,则直到满足该最少标准,该块内容才会被考虑。
其它查询考虑包括和超过一组元数据对应的客户端需求反馈数据被用来建立有序列表的例子。在这种情况下,内容块的列表将包含在多组元数据中所描述的所有不同的内容块。一般地说,当各块内容不再受欢迎时,它们将被新的内容块代替,所以后续的元数据组可以改变。一般来说,和被考虑广播的内容块对应的列表中的变化将改变得略为缓慢,而不是对列表进行大量改变。例如,如果元数据组和100块内容对应,则新的元数据组一般将至少包括来自先前组的80或90块内容,而不是20块或更少。当有序列表只包含来自单个(例如当前的)元数据组的内容块时,有可能存在落入有序列表的顶部附近但是从来不被广播的内容块,因为它们从来到不了最高一级。通过在多组元数据中汇总客户端需求反馈数据,这样的内容块可以上升到有序列表的顶部,从而它们将被广播。还要注意,在一个实施例中,广播计划队列133可以包含被查询215确定是最有机会的单个内容块,其中,每当需要产生新的广播计划时就重复该查询。
可以使用几种不同的机制来广播内容块以及元数据。在一个实施例中,可以使用一个专用广播信道或一组多路复用的信道来广播一块内容。在另一个实施例中,可以使用空数据分组的多路复用后插入(post-multiplex insertion)来广播一块内容。如图19所示,在传统广播技术下,带宽的一部分未被使用。在所示出的例子中,节目1包含被分配了10兆比特每秒(Mbps)带宽的可变比特率MPEG2数据流233,而节目2包含被分配了9.2Mbps带宽的可变比特率MPEG2数据流235。数据流233和235被送入多路复用器(MUX)237,多路复用器237把这两个流多路复用到具有19.2Mbps带宽的单个组合数据流239中。然后,组合数据流239被用调制器(MOD)241调制,并发送到广播上行链路(例如发送到卫星)。
如图19所示,对于数据流233和235中的每一个都存在带宽的未使用部分(频谱),对组合流239来说存在更大的未使用部分。这是由于当使用可变比特率MPEG2编码(或者其它类型的可变比特率编码)将内容流化时和内容的不同部分对应的数据量随时间变化所致。例如,电影中的动作场景比人物和/或背景更为静态的场景需要更多的数据。一般在这种考虑下,该数据流的带宽被选择为应付所预测的最大带宽,该最大带宽将足以应付更高数据速率的场景,这导致部分数据流不包含任何数据。当使用分组化传输时,带宽的这些未使用的部分一般包含“空”分组。
本发明提供了使得先前未使用的带宽部分能够承载广播数据的广播机制。如图20中的一个实施例所示,空分组插入器243被用来插入和当前被广播的内容块对应的数据分组,取代组合数据流239中的空分组,从而创建带宽被完全使用的数据流245。然后带宽完全使用的数据流245被转发到调制器241,调制器241调制该数据流并以和以上参考图19所讨论的类似的方式把它发送到广播上行链路。
注意,在大多数情况下,和一块内容的广播对应的数据速率不需要和该内容被播放(play back)的数据速率匹配。例如,假设该块内容是一部电影。在传统广播下,和该电影对应的数据将被以适于传统电视接收机对该广播的接收和播放的恒定速率广播。这是因为接收到的内容在其被接收时播放,或者说实时地播放。相反,在本发明的教导下被广播的很多块内容要在该广播被客户端系统接收和高速缓存以后的时间点被“点播”收看。结果,用来广播各块内容的数据速率可以随着时间变化,其中,内容可以被以比实时广播数据快得多或缓慢的速率传送。
根据前面的考虑,用于发送该块内容的另一种方法是通过“批”广播,其中,一批内容被发送。这对所有的数字广播系统都是有利的,并且,当使用如上面参考图16所讨论的在不同级之间可以使用存储和转发机制的多级广播网络时尤其有用。
图21中示出了根据本发明的教导,用于广播多批内容的一个实施例。过程以和广播计划队列133对应的有序列表开始。在该有序列表上执行第二查询247,以确定计划在下一个广播窗口期间被广播的一块或更多块内容。为给定的一批内容选择的内容块将基于每块内容的内容大小249、广播窗口长度251和广播带宽253。根据其各自的大小和在批限制内剩余的可用空间,按顺序选择了落在有序列表133A的顶部的内容块,所述的批限制是通过用广播窗口长度乘以广播带宽来确定的。有序列表133A中的每一个下一块内容将被添加,只要其大小小于或等于批内的剩余空间。如果下一块内容的大小超过了剩余空间,则接下来的内容块将被考虑用于将要被广播的这批内容。这个过程被重复,直到所选择的内容块的累计大小(大致)填满批限制。一旦选择了该批的内容块,则那些内容块被计划在下一个所计划的广播窗口期间的一批内一起广播。和前面一样,广播了该批内容以后,在框231内,该批内的每块内容的客户端需求反馈数据被重置。
参考图22,用于确定哪些内容块组成了给定的一批内容的过程的一个实施例在框501开始,其中,包括每块内容的大小的内容有序列表被建立;如图21的有序列表133A所示。如上面讨论的那样,有序列表133A可以使用查询247从有序广播计划队列133导出。但是,数据库技术领域的技术人员将发现,查询215和247可以被组合到单个查询中以产生有序列表133A。
接着,在框503中,确定批大小限制。这通过用广播窗口251乘以窗口的广播带宽253来计算。然后在框505中,把剩余空间设为和批大小限制相等。如起始和结束循环框507和509分别所示,按顺序对有序列表133A中的一个或更多块内容进行下列操作。首先,在判别框511中,作出内容块是否具有小于或等于剩余空间的大小的判别。如果答案为“是”,则逻辑前进到框513和框515,在框513中该块内容被加入批中,在框515中,把剩余空间减去最近加入的内容块的大小。然后逻辑前进到判别框517,其中,作出是否还剩余任何存储空间的判别。如果答案为“否”,则在返回框519中,已经被加入批的内容块的列表被返回。如果在判别框511中所做的决定是假,则跳过框513、515和517。
接着,在判别框521中,确定在列表中是否有任何剩余内容块要考虑。如果答案为“否”,则逻辑前进到返回框519。如果有剩余内容块要考虑,则逻辑循环回到起始框507,以开始评估下一块内容。这个处理循环被连续执行,直到逻辑通过返回框519退出为止。
图21和图23示出了批选择过程结果的例子。例如,如图21所示,假设广播窗口长度是1000秒,并且广播带宽是3Mbps。批限制将等于3吉比特(gigabit),并且系统将从有序列表133A的顶部选出前相当于3吉比特的内容到内容中。在这个例子中,发送内容块F、B和D,它们以下列方式被确定。内容块F首先被考虑,因为它位于有序列表133A的顶部。它具有1.0吉比特的大小,小于在3吉比特的批限制处开始的剩余空间。然后把剩余空间减去1.0吉比特,以使它现在等于2吉比特,并考虑有序列表133A中的下一块内容——内容B。内容B具有0.8吉比特的大小,小于2吉比特的剩余空间,所以它被加入该批,并且剩余空间被减去0.8吉比特,以使它现在等于1.2吉比特。接着考虑内容C,它具有1.1吉比特的大小,还是小于剩余空间,所以它被加入该批,并且剩余空间被减去1.1吉比特,以使它等于0.1吉比特。然后按顺序考虑剩余的内容块,看它们中是否有任何一个具有<=0.1吉比特的大小。因为它们中没有一个具有这个大小,所以包含内容F、B和D的这批内容被计划在下一个广播窗口期间广播。
在图23中,批限制已经被降低到2.5吉比特。如上所述,内容F和B被加入到该批,剩下0.7吉比特剩余空间。接着,内容D被考虑。但是,在框511中,确定了内容D的大小大于剩余空间,所以逻辑循环回去以评估内容A。在这种情况下,对框511的答案是真,并且内容A被加入该批内容。然后判别框517确定所有的剩余空间已经被使用,并且逻辑在返回框519中返回该批的内容F、B和A。
在一个实施例中,用查询来建立有序列表133A,其中,该查询被合并在指针循环(cursor loop)内,该指针循环通过查询的结果循环,以便为该批选择一组适当的内容块。在另一个实施例中,可以使用更复杂一些的查询来为该批选择适当的内容块组。
在前面的详细描述中,已经参考本发明的具体示范性实施例描述了本发明的方法和装置。但是,很清楚,无需偏离本发明更宽的精神和范围就可以对其作出各种修改和变化。因此,本说明书和附图应该被认为是说明性的而不是限制性的。
QQ群二维码
意见反馈