主动预取的制作方法

文档序号:10476206阅读:317来源:国知局
主动预取的制作方法
【专利摘要】本发明涉及在实时流媒体对等(P2P)网络中分发数据内容的方法和装置。在本发明的第一方面中,提供一种在P2P实时流媒体网络中分发数据内容的方法,所述P2P实时流媒体网络包括多个对等端以及流媒体源,所述流媒体源周期性地产生表示将要分发的所述数据内容的片段,其中所述对等端的群组被指配成从所述流媒体源下载所述数据内容,并且将所述所下载的数据内容分发至所述P2P网络中的剩余对等端。所述方法包括:从包括在所述群组中的第一对等端作出对由所述流媒体源产生的当前片段的请求,所述请求以比由所述流媒体源产生所述片段的速率更高的速率作出。此外,所述方法包括:如果所述第一对等端为所述群组中最先下载所述当前片段的所述对等端,则通告已下载了所述当前片段,其中所述网络对等端可从所述第一对等端下载所述当前片段;或者从所述群组中最先下载所述当前片段的第二对等端下载所述当前片段,所述第二对等端在所述P2P网络上通告对所述当前片段的所述下载。
【专利说明】
主动预取
技术领域
[0001] 本发明设及在实时流媒体对等(P2P)网络中分发数据内容的方法和装置。
【背景技术】
[0002] 近年来,用于流媒体的超文本传输协议化TTP)已成为用于通过互联网分发实时内 容和视频点播内容的实质标准。
[0003] 对等实时流媒体(PLS)能够通过使内容的收看者将其资源(即,带宽)贡献给其他 收看者来改善给定在线实时广播的分发效率。运个领域中早前的工作已提出了诸如 PPlive、CoolStreaming、T-bone和最近的Bittorrent live之类的系统。用于运种应用的对 等(P2P)覆盖构建主要分成两种类别:基于树型系统和基于网格型系统。虽然并未在最佳途 径方面达成共识,但基于网格型途径近来变得更加流行,因为该途径对于对等端扰动(peer churn)更加稳固,而在同一条件下维持基于树型覆盖更加繁琐。
[0004] 近期趋势是将HTTP实时流媒体取代传统的即时流媒体协议/实时传输协议(RTSP/ RTP)用于通过互联网广播实时视频内容。HTTP实时流媒体由一组协议组成,该组协议都利 用HTTP来传输。HTTP实时流媒体改变内容生产者(如,流媒体服务器)和内容使用者(如,媒 体播放器)交互的方式。
[0005] 诸如RTSP/RTP的传统流媒体协议是基于推送(push-based model),其中播放器请 求确定的串流,并且然后服务器通过用户数据报协议(UDP)将内容推送至播放器,从而控制 传递速度。HTTP实时流媒体协议代替地基于拉取模式(pull-model),其中播放器W认为合 适的步宽通过HTTP请求内容片段。除此之外,肌TP实时协议已被设计来支持自适应比特率 操作模式,该操作模式有利于多种品质的串流。将揃取/复制哪种品质的选择留给播放器。
[0006] 在线广播商业中的所有主要行为体已开发了运样的技术,该技术将HTTP流媒体W 及自适应比特率转换的概念涵盖作为用于广播的主要途径。HTTP实时已得到内容服务方和 创建者接受,并且具有跨包括计算机、平板电脑和智能电话的所有平台和操作系统的支持。 从推送式RTSP/RTP协议到拉取式HTTP实时协议的转移已使得许多基于当前化S技术的设想 过时。实际上,任何新化S算法,不管其理论是否健全,如果不考虑围绕它的主流广播生态系 统的实际情况,将不是可部署的。目前,内容分发网络(CD化)和实时流媒体解决方案供应商 都专注于基于HTTP的解决方案。

【发明内容】

[0007] 本发明的目标是解决或至少减轻本领域中的运些问题,并且提供在P2P实时流媒 体网络中分发数据内容的有所改进的方法和装置。
[000引在本发明的第一方面中通过在P2P实时流媒体网络中分发数据内容的方法来实现 运个目标,该2P实时流媒体网络包括多个对等端和流媒体源,其中流媒体源周期性地生产 片段来表示要分发的数据内容,其中对等端的群组被指配从流媒体源下载数据内容,并且 将所下载的数据内容分发至P2P网络中的剩余对等端。该方法包括:从包括在群组中的第一 对等端作出对由流媒体源产生的当前片段的请求,该请求W比由流媒体源产生片段的速率 更高的速率作出。进一步,该方法包括:如果第一对等端为群组中最先下载当前片段的对等 端,则通告已下载了当前片段,其中网络对等端可从上述第一对等端下载当前片段;或者从 群组中最先下载当前片段的第二对等端下载当前片段,上述第二对等端在P2P网络上通告 对当前片段的下载。
[0009] 在本发明的第二方面中通过在P2P实时流媒体网络中布置对等端的方法来实现运 个目标,该P2P实时流媒体网络包括多个对等端和被布置来分发数据内容的流媒体源,该流 媒体源周期性地产生表示将要分发的数据内容的片段。该方法包括:将对等端的群组指配 成从流媒体源下载数据内容,并且将所下载的数据内容分发至P2P网络中的剩余对等端。此 夕h该方法包括:命令对等端的群组中的每个对等端作出对由流媒体源产生的当前片段的 请求,该请求W比由流媒体源产生片段的速率更高的速率作出。此外,该方法包括:命令群 组中最先下载当前片段的对等端在P2P网络上通告已下载了当前片段,其中网络对等端可 从群组中最先下载当前片段的对等端下载当前片段,进一步命令包括在群组中的该对等端 从群组中最先下载当前片段的对等端下载当前片段。
[0010] 进一步提供本发明的第一方面的对等装置,该对等装置用于在P2P实时流媒体网 络中分发数据内容,该P2P实时流媒体网络包括多个对等端W及流媒体源,该流媒体源周期 性地产生表示将要分发的数据内容的片段,其中对等端的群组被指配成从流媒体源下载数 据内容,并且将所下载的数据内容分发至P2P网络中的剩余对等端。该对等装置包括处理单 元,该处理单元被布置来作出对由流媒体源产生的当前片段的请求,该请求W比由流媒体 源产生片段的速率更高的速率作出,W及被布置用于如果该对等装置为群组中最先下载当 前片段的对等端,则通告已下载了当前片段,其中网络对等端可从对等装置下载当前片段, 或者从群组中最先下载当前片段的另一对等端下载当前片段,该另一对等端在P2P网络上 通告对当前片段的下载。
[0011] 进一步提供本发明的第二方面的网络监控装置,该网络监控装置用于在P2P实时 流媒体网络中布置对等端,该P2P实时流媒体网络包括多个对等端和被布置来分发数据内 容的流媒体源,该流媒体源周期性地产生表示将要分发的数据内容的片段。该网络监控装 置包括处理单元,该处理单元被布置用于将对等端的群组指配成从流媒体源下载数据内 容,并且将所下载的数据内容分发至P2P网络中的剩余对等端。此外,该处理单元被布置来 命令对等端的群组中的每个对等端作出对由流媒体源产生的当前片段的请求,该请求W比 由流媒体源产生片段的速率更高的速率作出,W及被布置来命令群组中最先下载当前片段 的对等端在P2P网络上通告已下载了当前片段,其中网络对等端可从群组中最先下载当前 片段的对等端下载当前片段。此外,处理单元被布置用于命令包括在群组中的对等端从群 组中最先下载当前片段的对等端下载当前片段。
[0012] 有利地,本发明提出了预取途径,该预取途径允许在播放器与流媒体源之间建立 额外的缓冲器,而不相对于基于CDN的解决方案引入另外的回放延迟。因此,对等端的群组 被指配成从流媒体源下载数据内容,并且将所下载的数据内容分发至P2P网络中的剩余对 等端,并且被进一步布置来在彼此间共享所下载的数据片段。由本发明所提出的请求途径 比本领域中所采用的预取更主动。运种更主动的途径暗示着被指配成从源(第一层对等端) 下载的对等端的群组的请求是W比通过流媒体源产生片段更高的速率来作出。有利地,运 将减小对等端能够相对于源的实时回放点来呈现所下载的数据片段的延迟。
[0013] 由此,第一层对等端在通过流媒体源产生当前数据片段之前,反复作出对请求当 前数据片段的请求。一旦第一层对等端中的任何一个下载了当前数据片段,则它将在P2P网 络上通告它已访问当前数据片段,并且包括其他第一层对等端的其他网络对等端可从该下 载第一层对等端取得当前数据片段,因此有利地避免对已由第一层对等端下载的数据片段 的源进行进一步加载。运将极大地改善P2P网络中的源节约。该通告将还具有W下优点:未 包括在被指配成直接从源下载的群组中的对等端(也被称为第二层对等端)不必向第一层 对等端反复作出请求,但可在上述对等端作出对当前数据片段的请求之前,等候对当前数 据片段的通告。
[0014] 本发明的各种实施方案由从属权利要求限定,并且将在下文中详细地论述。
[0015] 应注意,本发明设及权利要求书中所叙述的特征的所有可能的组合。本发明的另 外特征和优点将在研究随附权利要求书和W下描述时变得显而易见。本领域技术人员明白 可组合本发明的不同特征来产生除下文中所描述的那些实施方案W外的实施方案。
【附图说明】
[0016] 现在参考附图W举例方式描述本发明,附图中:
[0017] 图1例示在利用分发数据内容的传统客户端-服务器途径的网络中的下载;
[0018] 图2a例示在现有技术P2P网络中的下载;
[0019] 图化例示从在源处产生片段时起,图2a中的每个对等端请求W不同延迟作出;
[0020] 图3示出作为图化的请求程序的结果的片段的实际下载的时序;
[0021] 图4a例示根据本发明的实施方案的在P2P网络中对数据内容的分发;
[0022] 图4b例示根据本发明的实施方案的轮流向流媒体源作出请求的两个对等端;
[0023] 图5例示由对等装置进行的根据本发明的第一方面的方法的实施方案的流程图;
[0024] 图6a例示根据本发明的第二方面的实施方案的跟踪器装置,该跟踪器装置被配置 来在包括流媒体源的P2P实时流媒体网络中布置对等端。
[0025] 图6b例示由跟踪器装置进行的根据本发明的第二方面的在P2P网络中布置对等端 的方法的实施方案的流程图;
[0026] 图7例示根据本发明的第二方面的方法的实施方案的在P2P网络中进行的对等端 的布置;并且
[0027] 图8例示根据本发明的第二方面的方法的另一实施方案的在P2P网络中进行的对 等端的布置。
【具体实施方式】
[0028] 现在将在下文中参考附图更充分地描述本发明,本发明的某些实施方案在W下附 图中示出。然而,本发明可W W许多不同形式体现,并且不应解释为局限于本文中所阐述的 实施方案;进一步,W实例方式提供运些实施方案,W使得本公开内容将是透彻且完整的, 并且将向本领域技术人员充分地传达本发明的范围。贯穿本说明书,相似的数字指代相似 的元件。
[0029] 在下文中,参考图1至图3来论述在P2P网络中分发数据内容的各种现有技术方法。
[0030] 图I例示在利用分布数据内容的传统客户端-服务器途径的网络中的下载,如未在 网络中的客户端当中实施数据内容的P2P共享的网络。图中的尖峰表示W预定间隔At沿时 间线由服务器(即,源)所产生的数据内容片段1、2、3和4。因此,如果已在网络中确定上述源 将W间隔A t产生片段,则最简单的解决方案将是使客户端请求数据片段具有相同间隔A t;客户端的请求由沿时间线的点表示。取决于该请求如何在上述源处与片段的产生相同 步,客户端W较长或较短的延迟d下载所产生片段。传统客户端-服务器途径的主要不足之 处在于,由于网络中的所有客户端将从源请求数据,所W源加载是大量的。
[0031] 应注意,片段不一定W固定的预定间隔At产生,而可W不规则的间隔产生。然而, 为了例示,运些现有技术实例使用固定的预定间隔A t。
[0032] 图2a例示在现有技术P2P网络中的下载,其中两个对等端Pl和P2被布置来从流媒 体源S下载数据内容,并且将所下载的数据内容分发至剩余P2P网络对等端,该剩余P2P网络 对等端被布置得比对等端Pl和P2距离源更远。图化示出例示数据内容的下载的时间图。另 夕h图中的尖峰表示W预定间隔At沿时间线由流媒体源所产生的数据内容片段1、2、3和4。 两个对等端Pl和P2W相同的间隔A t请求数据片段。如图化中所例示,从在源处产生片段时 起,每个对等端请求W不同的延迟作出。例如,在时间图中,显然Ts(l)<^2(l)<^l(l)。 也就是说,第二对等端P2刚好在时间"Ts(ir时由源产生片段1之后,在"Tp2(l)"时请求片 段1,而第一对等端Pl则在"Tpiar随后时间请求同一片段,即刚好在产生片段2之前请求 同一片段。
[0033] 图3示出作为图化的请求程序的结果的片段的实际下载的时序。如图3中可见,第 二对等端P2在下载数据片段中不断地领先于第一对等端Pl;第二对等端P2刚好在第一对等 端Pl已下载片段1之后下载片段2,等等。对等端Pl和P2随后将与P2P网络中的其他对等端共 享所下载的数据片段。如可见,下载对等端将能够呈现数据内容的延迟取决于对等端Pl和 P2何时转向至用于产生数据片段的源。如图3中所例示,由于运个延迟,第二对等端P2将始 终能够在第一对等端Pl之前呈现当前数据片段。如果将At假设为如Is,则第一对等端Pl将 (参见图2b)滞后第二对等端P2约0.6s,并且滞后上述源大致0.8s。
[0034] 参考图2a和图化,如果未包括在被指配成直接从源下载的群组(即,由Pl和P2组成 的群组)中的第=对等端P3将试图从第一对等端Pl下载当前数据片段,则第=对等端P3将 被甚至进一步从源的实时回放点移除。假设第=对等端P3W A t请求数据内容,并且在时间 上滞后第一对等端Pl 0.5s,则来自实时回放点的延迟将为0.8+0.5 = 1.3s。如可推断的,运 种两步"拉取"途径(即,源^P1^P3)可导致来自实时回放点的较大延迟。运在源的更下游 处甚至更明显,其中第四对等端P4可从第S对等端P3下载,从而在分发链中给进一步请求 步骤注入所得进一步延迟。
[0035] 图4a和图4b例示本发明的实施方案,其中被指配成从流媒体源下载数据内容,并 且将所下载的数据内容分发至P2P网络中的剩余对等端的对等端的群组(在运个示例性实 施方案中为Pl和P2)进一步被布置来在彼此间共享所下载的数据片段。此外,请求途径比先 前所描述的现有技术的请求途径更主动。
[0036] 运种更主动的途径暗示着W比通过流媒体源产生片段的速率更高的速率来作出 被指配成从源(第一层对等端)下载的对等端的群组的请求。由此,作出请求的间隔小于A t。有利地,运将减小对等端能够相对于源的实时回放点来呈现所下载的数据片段的延迟。
[0037] 如图4b中可见,第一对等端Pl在由流媒体源产生当前数据片段之前作出对该当前 数据片段(即,片段1)的第一请求。此后,第二对等端P2在第一对等端Pl作出对片段1的第二 请求之前,作出对片段1的第一请求。刚好在源产生第一片段1之后,第二对等端P2作出其第 二请求并且成功地下载片段1。第二对等端P2(第一层对等端中的第一个)将在P2P网络上通 告其具有片段1,并且第一对等端Pl将因此不再从源请求片段1,而从第二对等端P2取得片 段1,从而有利地避免对已由另一第一层对等端下载的数据片段的源进行进一步加载。运将 极大地改善P2P网络中的源节约。通告将进一步具有W下优点:未包括在被指配成直接从源 下载的群组中的对等端(也称为第二层对等端,例如,第S对等端P3归属于该对等端)不必 向第一层对等端反复作出请求,但可在该对等端作出对当前数据片段的请求之前,等候对 当前数据片段的通告。
[0038] 可例如在所有网络对等端和流媒体源通常已访问的清单文件中作出通告,该清单 文件从而将指示在哪个(哪些)对等装置上可发现(多个)片段,或对等端可替代地向剩余或 立即连接的网络对等端广播通告。
[0039] 由此,如图4b中所例示,第一对等端Pl的第S请求将不针对已由第二对等端P2下 载并且在网络上通告的数据片段1,而针对新的当前数据片段2。在第一对等端Pl刚好在流 媒体源已产生数据片段2之后,在该第一对等端在其第六请求时成功地下载数据片段2之 前,对等端Pl和P2主动作出对数据片段2的另外九个请求,并且相应地在P2P网络上作出通 告。
[0040] 第二对等端P2的下一个请求将作为不针对该第二对等端P2从第一对等端Pl所取 得的数据片段2,而是针对新的当前数据片段3(未示出)的通告的结果。未包括在被指配成 直接从源下载的群组(即,由Pl和P2组成的群组)中的第=对等端P3可在通告当前所下载的 片段之前转向第一层对等端,上述第一层对等端将把片段上载至第=对等端P3;例如,第一 数据片段1从第二对等端P2下载,而第二数据片段2从第一对等端Pl下载。因此,与图3所论 述的现有技术途径形成对比,相比于现有技术中的延迟将达到约1.3s的实例,在本发明中, 第=对等端将在几分之一秒(即,0.3至0.4s)内从实时回放点有利地访问第一数据片段1。 此外,即使第四对等端P4将选择从第S对等端P3而不是第一层对等端中的任何一个下载, 延迟将仍然仅为第=对等端P3的延迟的另外十分之几秒,使得在特定示例性实施方案中, 来自源的实时回放点的延迟针对第四对等端P4为约0.5至0.6s。
[0041] 通常,在网络中的每个对等装置处,例如电视机、移动电话、计算机、平板电脑等, 其中安装有在下文中被称为化S代理的客户端,该客户端通常为在对等装置上实施的运行 若干辅助服务的软件块。在化S代理的情况下,本发明被设计成对已存在的流媒体基础结构 透明,W便确保供应商中立性W及简化的部署。因此,如W上的描述,依据来自在对等装置 上运行的播放器(例如像在平板电脑上运行的媒体播放器)的内容片段请求,PLS代理试图 及时地揃取从覆盖中的其他对等端请求的数据。然而,如果不能准时从任何其他对等端揃 取片段,贝化LS代理将试图从串流的源下载片段,该串流的源即流媒体服务器或硬件CDN。通 过求助于该源,可保证准时传递所有片段,即使覆盖网络的对等端不能揃取运种片段,从而 保证所需水平的体验品质(QoE)。关于术语,"对等端"和"对等装置"将交替地用于表示网络 节点,W期望呈现由源流出的数据内容。
[0042] 再次参考图4a,网络中的每个对等装置例如为电视机、移动电话、计算机、平板电 脑等。实际上,通过W-个或多个微处理器的形式体现的处理单元15来实现诸如Pl的对等 装置的功能,包括之前提及的化S代理,该处理单元15被布置来执行下载至与该微处理器相 关联的合适存储介质16的计算机程序17,该存储介质诸如为随机存取存储器(RAM)、闪速存 储器或硬盘驱动器。当包括计算机可执行命令的适当计算机程序17被下载至存储介质16, 并且由处理单元15执行时,处理单元15被布置来进行根据本发明的第一方面的实施方案的 方法。存储介质16还可为包括计算机程序17的计算机程序产品。可选择地,计算机程序17可 借助于诸如软盘或记忆棒的合适计算机程序产品传输至存储介质16。作为另外的替代方 案,计算机程序17可通过网络下载至存储介质16。处理单元15可替代地W数字信号处理器 (DSP)、特定应用集成电路(ASIC)、现场可编程口阵列(FPGA)、复杂可编程逻辑装置(CPLD) 等形式体现。
[0043] 图5例示根据本发明的第一方面的方法的实施方案的流程图,该方法在第一层对 等装置处进行,该第一层对等装置例如图4a的对等装置P1。在第一步骤SlOl中,对等装置Pl 的处理单元15向流媒体源S作出对所需数据内容的当前片段的请求。如先前已论述,提出由 第一层对等端进行的主动预取途径,其中W比由流媒体源S产生片段的速率更高的速率作 出请求。在第二步骤S102中,如果对等装置Pl的处理单元15为第一层对等端群组中下载所 请求当前片段的第一对等端(在运个实例中,另一个对等端为对等装置P2),则对等装置Pl 的处理单元15将在网络上通告已下载了当前片段,其中如果需要,网络对等端可从第一对 等装置Pl下载当前片段,而不是转向至流媒体源S。因此,第一层对等端群组中的另一个对 等装置可中断它们向流媒体源S请求当前片段。因此,对等装置P2将转向至用于当前片段的 对等装置P1,从而避免对流媒体源S进行进一步加载。然而,在步骤S103中,另一个对等装置 P2应为第一层对等端群组中从流媒体源S下载当前片段的第一对等端,对等装置P2将在P2P 网络上通告对当前片段的下载,借此,对等装置Pl的处理单元15中断其从流媒体源请求当 前片段,并且替代地从第二对等装置P2取得。
[0044] 现在,如先前已论述,流媒体源W规则间隔(At)或不规则间隔产生数据内容的片 段。由于网络协调原因,片段可公布在至少第一层对等端访问的清单文件中。在任何时间 点,如果清单中最新公布的片段(即,当前片段)为i-1,则片段i可能已产生并且可能可用于 下载,但在另外的y时间单位内将不公布在清单文件中。包括在第一层对等端中的对等端的 群组将试图揃取片段i,但如果该源关于下一个当前数据片段i的可用性W否定回答响应, 则预取在本发明的实施方案中被重新调度来在时间段〇<化63(3<5之后发生,其中S表示片 段的长度。在本发明的另外实施方案中,重新调度时段化esc被配置成随机的。有利地采用 随机性来允许该源有时间产生片段并且在所有预取第一层对等端之间产生异步性,W等候 该片段成为可得到的。当运个重新调度处于应有位置时,另一第一层对等端可能首先揃取 片段并且通告该片段,并且在那种情况下,剩余第一层对等端将从揃取片段的第一层对等 端下载,如上文中已例示。
[0045] 清单文件因此包括所公布片段,并且可能包括用于识别相应片段的时间戳和比特 率。此外,清单文件可包括片段索引,该片段索引指示可在哪个(哪些)对等装置上发现(多 个)片段。
[0046] 在所有对等装置上,被布置来预取数据片段的化S代理与对等装置播放器并行运 行,并且在即将到来的片段实际上由播放器请求之前,试图利用该即将到来的片段任选地 W播放器正请求的相同比特率填充对等装置片段缓存(如将论述的)。化S代理排他地从覆 盖揃取片段,并且在从网络对等装置收到所下载片段的通告之后运样做。该想法将有利地 增加 P2P网络的利用,并且降低未能在由播放器请求时取得片段的风险。
[0047]在下文中,将根据本发明的实施方案描述P2P网络的覆盖构建。第一层构建过程负 责决定可向第二层对等端贡献其带宽的对等端的群组,并且通常由被称为跟踪器的网络装 置进行,该跟踪器为用来在P2P网络中协调对等端的网络监控装置。该对等端的群组应足够 大W提供第二层对等端,从而避免第二层对等端求助于用于下载数据内容的源的需要,但 另一方面,该对等端的群组不应太大W免在串流源上产生不必要的加载。应注意,在具有例 如像防火墙的限制的网络中,成为合格的第一层候选者的要求可为:对等端为开放互联网 节点或处于可容易通行的(traversable)的网络地址转换(NAT)之后。将要针对将要指配成 第一层对等端的对等端而规定的要求为:该对等端具有足够高的上载能力。在实施方案中, 将要指配成第一层的对等端的上载能力为:该对等端的上载能力超过预定阔值。
[004引应注意,一旦对等端布置在P2P网络中(或在布置在网络中之前),则该对等端将需 要配置数据W便了解如何根据网络策略运转,例如,哪些对等端为第一层对等端,哪些对等 端为第二层对等端,W及该对等端如何作出其请求。运个配置数据通常由跟踪器提供至网 络对等端,W便在相应的网络对等端上下载和执行。因此,一旦将配置数据上载至相应的网 络对等端,并且对等端根据当前P2P网络策略运转,跟踪器通常不必命令对等端如何运转, 除非对网络进行改变,例如像第二层对等端被指配成第一层。
[0049] 图6a例示根据本发明的第二方面的实施方案的跟踪器装置T,该跟踪器装置被配 置来在包括流媒体源S的P2P实时流媒体网络中布置对等端Pl至P14。运种布置可采取树状 结构形式(如所示)或在对等端当中具有某些连接偏移的任意网格结构。与结合图5所论述 的对等装置类似,通过W-个或多个微处理器形式体现的处理单元20来实现由跟踪器T进 行的根据本发明的第二方面的方法,该处理单元20被布置来执行下载至与该微处理器相关 联的合适存储介质21的计算机程序22。
[0050] 图6b例示根据本发明的第二方面的在P2P网络中布置对等端的方法的实施方案的 流程图,该方法由网络监控装置进行,例如图6a的跟踪器装置T(在下文中当论述图化的流 程图时参考该跟踪器装置T)。在第一步骤S201中,跟踪器装置T的处理单元20将对等端的群 组P1、P2指配成从流媒体源S下载数据内容,并且将所下载的数据内容分发至P2P网络中的 剩余对等端。在第二步骤S202中,通过跟踪器T的处理单元20来命令运些第一层对等端使用 主动预取途径,其中W比由流媒体源S产生片段的速率更高的速率来做出对表示数据内容 的当前数据片段的请求。
[0051] 在第=步骤S203中,跟踪器装置T的处理单元20命令第一层对等端群组中最先下 载当前片段的对等端在P2P网络上通告已下载了当前片段,其中网络对等端可从群组中最 先下载当前片段的对等端下载当前片段。此外,在步骤S204中,命令包括在第一层对等端群 组中的对等端从群组中最先下载当前片段的对等端下载当前片段。
[0052] 在将数据内容从流媒体源分发成多比特率数据串流的情况下,W不同比特率呈现 数据内容的对等装置将被分类成归属于P2P网络中的不同覆盖。由此,具有第一比特率的呈 现串流的对等端被认为包括在与呈现第二比特率的串流的对等端分离的覆盖中,并且针对 每个流媒体比特率产生第一层对等端群组。第一层对等端选自系统中的"最佳"对等端,即 无论对等端呈现的比特率如何,都具有最高上载能力的对等端。运是因为驻留在每个对等 端上的预取出器组件(即,化S代理)能够揃取比特率不同于由对等端当前呈现的数据内容 的比特率的数据内容。运个实施方案是特别方便的,因为更大功率的对等端可始终用来供 应W较低比特率呈现数据内容的对等端,并且因此增加节约水平。
[0053] 在另外的实施方案中,针对第一层对等端中的每一个,预取比特率的数目限于一 个,W便有利地避免在大功率对等端上利用太多带宽和计算资源。
[0054] 如从W上可断定,可通过W用于不同比特率的不同覆盖布置P2P网络来实现多比 特率支持。也就是说,就上载能力而言给定"最佳"网络对等端,运些对等端的子集可独立于 所提升对等端呈现的数据内容的比特率,在网络中针对每个比特率提升为第一层对等端用 于某一比特率(即,用于某一覆盖)的所提升对等端可任选地排除在被选为针对另一比特率 的第一层对等端之外。
[0055] 在本发明的实施方案中,确定P2P网络的第一层对等端的跟踪器辅助过程将如W 下所述来进行。跟踪器保持网络中所有对等端的列表L。除那之外,跟踪器根据相应对等端 呈现的数据内容的比特率bn来将不同列表L(bn)中的对等端分类。然后,根据对等端的有效 上载能力将L和所有L(bn)排序,该有效上载能力可针对每个对等端P估算为u(p)=min(umax (P),0*b(p)),其中Umax(P)为对等端P的最大估算带宽,0为其外出连接的最大数目,并且b (P)为对等端P呈现的数据内容的比特率。
[0056] 将参考W下给出的图7和表1进一步例示运个实施方案。应注意,图7的实例还可用 于P2P网络中不采用多速率流媒体的情况。
[0化7]
[OC
[0化7」 巧1。
[0060]周期性地,跟踪器运行W下层指配算法。它从列表L中选出最佳对等端C(在运个特 定实例中为Pl或P2),并且将其添加在P2P网络中的第一层对等端的组FT(bl)中,其中bl为 最高比特率数据内容。在图7中,对等端Pl是在网络中的所有对等端当中进行选择,W便被 包括在FT巧Okb/s)中。然后,跟踪器开始通过添加来自组L(bl)至FT(bl)的最高级别对等端 来指配第二层对等端,该最高级别对等端即具有特定比特率但省略所指配第一层对等端的 对等端。在运种情况下,针对50化/s的所选比特率的就上载能力而旨最局级别对等端为对 等端P3至P6。一旦耗尽第一层对等端的累积上载能力Url,则在Url = U(C)运种情况下,因为 仅一个单一第一层对等端Pl位于覆盖中,该第一层对等端开始将对等端添加至第二层,该 第二支座为通过添加与可提供(受山2限制,Ur2即添加至第二层的运些对等端的累积上载能 力)的对等端一样多的对等端而未包括在第一层对等端当中的所有剩余对等端。因此,可由 第一层对等端Pl提供对等端P3至P6中的仅两个,并且对等端P3和P4因此位于流媒体源S的 下游。此后,考虑就上载能力而言的下一批对等端P7至P10;然而,由于累积上载能力山2,该 对等端中的仅两个可连接至对等端P3、P4,上述两个对等端在运个特定实例中为对等端P7 和P8。应注意,无论它们位于源S的下游多远,除第一层对等端之外的所有网络对等端被认 为是第二层对等端,。对等端所需下载能力等于其呈现的数据内容的比特率b。重复该过程 直到已指配列表L(bl)中的所有对等端;如果并非所有对等端被在P2P网络中指配列表L (bl)中,则该程序可能必须通过将对等端添加至第一层对等端的组FT(bl)来重新开始。算 法重复直到已在覆盖中指配了 L(bl)中的所有对等端。因此,跟踪器从网络对等端的列表选 出下一个最佳对等端,在运种情况下为具有与对等端Pl相同的上载能力的对等端P2,并且 将上述最佳对等端添加至第一层对等端的组FT(bl)。与先前描述类似,添加对等端P5和P6, 而对等端P9和PlO连接至P5和P6。因此,已在P2P网络中布置列表L(50化/s)中的所有对等 端,并且已将两个对等端Pl和P2包括在FT(50kb/s)中。如图7中可见,第一层对等端被布置 来彼此共享数据片段,如先前已描述。出于例示性目的,在图7的P2P网络中,未示出包括在 第二层对等端(即,对等端P3至PlO)中的对等端在彼此间共享内容(除P3共享至P7、P4至P8、 P5至P9和P6至PlOW外)。然而,在实际情况下,对等端P3至P6可能在彼此间共享内容,W及 共享至对等端P7至PlO(除图7中标出的连接W外),并且在网格状结构中,对等端P7至PlO可 从第一层对等端Pl和P2下载内容。相同情况在下文中同样适用于图8。
[0061] 算法针对L(bl)终止并且提供输出组FT(bl)之后,跟踪器从列表L移除包括在第一 层对等端组FT(bl)中的所有对等端,W便防止与比特率bl有关的大功率对等端作为预取出 器再次用于其他比特率。然后跟踪器针对L(b2)、L(b3)等重复该程序。归属于任何第一层组 FT(bn)的对等端接收命令,该指令允许该对等端的预取出器在比特率bn上由相应的PLS代 理实施。
[0062] 将参考W下给出的图8和表2来例示另一实施方案。运个实施方案例示出在P2P网 络中采用多速率流媒体的情况下,W不同覆盖来进行对等端的布置。 「nnATl
LUU04」 巧Z。
[0065] 另外,跟踪器运行W下覆盖构建算法。它从列表L中选出最佳对等端C(在运个特定 实例中为Pl或P2),并且将其添加在P2P网络的第一层对等端的组FT(bl)中,其中bl为最高 比特率数据内容,在运种情况下为50化/s。在图8中,对等端Pl是在网络中的所有对等端当 中选择,W便被包括在FT(50kb/s)中。然后,跟踪器通过添加来自L(bl)的最高级别对等端 来开始建立第二层群组,诸如此类如结合图7所论述。在已布置对等端P5和P6之后,因为已 指配列表L(bl)中的所有对等端,所W已针对bl = 50化/s产生第一覆盖。此后,跟踪器从网 络对等端的列表选出下一个最佳对等端,在运种情况下,该下一个最佳为具有与对等端Pl 相同的上载能力的对等端P2,并且将该下一个最佳对等端添加至P2P网络的第二覆盖的第 一层对等端的组FT(b2)。与先前描述类似,对等端P7至PlO被添加成更靠近源S,而考虑到对 等端的累积上载能力,将对等端PlO至P14布置在源S的较远下游。因此,已在P2P网络中布置 列表U25化/s)中的所有对等端。如图7中可见,两个不同覆盖的第一层对等端可如先前已 描述那样被布置来彼此共享数据片段,即使得可设想到两个所产生的覆盖彼此保持完全分 离。
[0066] 如从上文清楚得知,为使跟踪器能够在P2P网络中布置对等装置,该跟踪器将需要 关于相应对等端的上载能力(W及可能地,每个相应对等端的下载要求)的知识。因此,当对 等装置加入P2P网络时,对等装置可能必须可能通过执行带宽测量来向跟踪器报告其上载 能力(W及任选地,其下载要求)。
[0067] 在本发明的实施方案中,因为当估算FT(bn)时,可能忽视影响P2P网络的许多因素 中的一个多个,例如揽动和连接性问题,引入安全因数O来将用于所选对等端的群组的可用 带宽限定成化n = Urmax/〇,W便将前述误差因素考虑在内。
[0068] 通过周期性地接触该跟踪器,每个对等装置保持其最新覆盖的随机样本S。样本还 在对等端之间交换。对等端样本可能基于先前已知的技术,如NAT弹性散播算法(歴1'-re S i 1 i ent goS S iP a 1 gor i thms)。跟踪器返回网络中的节点的均匀随机样本,该均匀随机 样本被添加到S。该均匀随机样本中的每个对等端可包含:对等端标识符、对等端的NAT类型 和最大上载能力。将此信息周期性地刷新并且在覆盖构建过程中用作输入。
[0069] 虽然已参考本发明的特定示例性实施方案描述了本发明,但许多不同变化、修改 等将对本领域技术人员变得显而易见。因此,所描述实施方案并不意图限制本发明的范围, 范围是由所附权利要求书所限定。
【主权项】
1. 一种在对等P2P实时流媒体网络中分发数据内容的方法,所述对等实时流媒体网络 包括多个对等端以及流媒体源,所述流媒体源周期性地产生表示将要分发的所述数据内容 的多个片段,其中所述对等端的群组被指配成从所述流媒体源下载所述数据内容,并且将 所述所下载的数据内容分发至所述P2P网络中的剩余对等端,所述方法包括以下步骤: 从包括在所述群组中的第一对等端作出对由所述流媒体源产生的当前片段的多个请 求(S101),所述请求以比由所述流媒体源产生所述片段的速率更高的速率作出;以及 如果所述第一对等端为所述群组中最先下载所述当前片段的所述对等端,则通告 (S102)已下载了所述当前片段,其中所述网络对等端可从所述第一对等端下载所述当前片 段;否则; 从所述群组中最先下载所述当前片段的第二对等端下载(S103)所述当前片段,所述第 二对等端在所述P2P网络上通告对所述当前片段的所述下载。2. 如权利要求1所述的方法,其进一步包括: 一旦已下载了所述当前片段,则作出对下一个当前片段的进一步请求。3. 如权利要求1或2所述的方法,其进一步包括: 将所下载的当前片段上载至请求网络对等端。4. 如前述权利要求中任一项所述的方法,所述第一对等端的所述请求是以随机设置速 率作出。5. 如前述权利要求中任一项所述的方法,其中被指配成从所述流媒体源下载所述数据 内容,并且将所述所下载的数据内容分发到所述P2P网络中的剩余对等端的所述对等端的 群组具有超过预定阈值的上载能力。6. 如前述权利要求中任一项所述的方法,其中在由所述流媒体源采用多比特率流媒体 的情况下,所述方法进一步包括: 接收下载具有特定比特率的数据内容的命令。7. 如前述权利要求中任一项所述的方法,其进一步包括: 向网络监控装置报告上载能力,所述网络监控装置被配置来基于所报告的上载能力在 所述P2P网络中布置所述多个对等端,其中具有较高上载能力的对等端被布置得比具有较 低上载能力的对等端更靠近所述流媒体源。8. -种在对等P2P实时流媒体网络中布置多个对等端的方法,所述对等实时流媒体网 络包括多个对等端以及被布置来分发数据内容的流媒体源,所述流媒体源周期性地产生表 示将要分发的所述数据内容的多个片段,所述方法包括: 将所述对等端的群组指配(S201)成从所述流媒体源下载所述数据内容,并且将所述所 下载的数据内容分发至所述P2P网络中的剩余对等端; 命令(S202)所述对等端的群组中的每个对等端作出对由所述流媒体源产生的当前片 段的多个请求,所述请求以比由所述流媒体源产生所述片段的速率更高的速率作出; 命令(S203)所述群组中最先下载所述当前片段的对等端在所述P2P网络上通告已下载 了所述当前片段,其中所述网络对等端可从所述群组中最先下载所述当前片段的所述对等 端下载所述当前片段,以及 命令(S204)包括在所述群组中的所述对等端从所述群组中最先下载所述当前片段的 所述对等端下载所述当前片段。9. 如权利要求10所述的方法,其中被指配成从所述流媒体源下载所述数据内容,并且 将所述所下载的数据内容分发至所述P2P网络中的剩余对等端的所述对等端的群组具有超 过预定阈值的上载能力,而所述剩余对等端具有不超过所述预定阈值的上载能力。10. 如权利要求8或9中任一项所述的方法,其中在由所述流媒体源采用多比特率流媒 体的情况下,所述方法包括: 将以不同的多个比特率呈现数据内容的网络对等端分离成所述P2P网络中的不同的多 个覆盖。11. 如权利要求10所述的方法,其中无论对等端呈现数据内容的所述比特率如何,在被 指配成从所述流媒体源下载所述数据内容的所述群组中的所述对等端被布置在每个覆盖 中的所述群组中。12. 如权利要求10或11所述的方法,其中在被指配成从所述流媒体源下载所述数据内 容的所述群组中的所述对等端被配置来下载具有所述特定覆盖的所述比特率的所述数据 内容,所述群组中的所述对等端被布置在所述特定覆盖中。13. 如权利要求10至12中任一项所述的方法,其进一步包括:针对每个不同覆盖,从以 最高比特率呈现数据内容的所述对等端开始,随后继续移动至所述次最高比特率对等端的 覆盖: 从具有最高上载能力的所述网络对等端中选择对等端,并且将所述所选对等端指配至 被配置来从所述流媒体源下载所述数据内容的所述群组; 按上载能力的顺序,从以所述当前覆盖所配置的所述比特率来呈现数据内容的所述对 等端中选择一个或多个较远的对等端; 将所述一个多个较远的对等端按上载能力的顺序布置在被配置来从述流媒体源下载 所述数据内容的所述群组的下游,所述一个或多个较远的对等端当中的对等端的数目受紧 接先前上游对等端的累积上载能力限制,所述一个或多个对等端被配置来从所述上游对等 端下载所述数据内容,直到已布置所述当前配置的覆盖中的所有所述对等端。14. 如权利要求13所述的方法,其进一步包括: 从所述当前覆盖所配置的所述剩余网络对等端中选择对等端,并且将所述所选对等端 指配至被配置来从所述流媒体源下载所述数据内容的所述群组; 按上载能力的顺序,从以所述当前覆盖所配置的所述比特率来呈现数据内容的所述对 等端中选择一个或多个较远的对等端; 将所述一个或多个其他对等端按上载能力的顺序来布置在被配置来从所述流媒体源 下载所述数据内容的所述群组的下游,所述一个或多个其他对等端当中的对等端的数目受 紧接先前上游对等端的累积上载能力限制,所述一个或多个对等端被配置来从所述上游对 等端下载所述数据内容,直到已布置所述当前配置的覆盖中的所有所述对等端。15. 如权利要求8至14中任一项所述的方法,其进一步包括: 在所述网络中获取将要布置的每个对等端的上载能力,其中具有较高上载能力的对等 端被布置得比具有较低上载能力的对等端更靠近所述流媒体源。16. -种用于在对等P2P实时流媒体网络中分发数据内容的对等装置(P1 ),所述对等实 时流媒体网络包括多个对等端以及流媒体源(S),所述流媒体源周期性地产生表示将要分 发的所述数据内容的多个片段,其中所述对等端的群组被指配成从所述流媒体源下载所述 数据内容,并且将所述所下载的数据内容分发至所述P2P网络中的剩余对等端,所述对等装 置包括处理单元(15 ),所述处理单元被布置来: 作出对由所述流媒体源产生的当前片段的多个请求,所述请求以比由所述流媒体源产 生所述片段的速率更高的速率作出;以及 如果所述对等装置为所述群组中最先下载所述当前片段的所述对等端,则通告已下载 了所述当前片段,其中所述网络对等端可从所述对等装置下载所述当前片段;否则; 从所述群组中最先下载所述当前片段的另一对等端下载所述当前片段,所述另一对等 端在所述P2P网络上通告对所述当前片段的所述下载。17. 如权利要求16所述的对等装置(P1),所述处理单元(15)进一步被布置来: 一旦已下载了所述当前片段,则作出对下一个当前片段的进一步请求18. 如权利要求16或17所述的对等装置(P1),所述处理单元(15)进一步被布置来: 将所述当前下载的片段上载至请求网络对等端。19. 如权利要求16至18中任一项所述的对等装置(P1),所述处理单元(15)进一步被布 置来: 以随机设置速率作出所述请求。20. 如权利要求17至19中任一项所述的对等装置(P1),其中在由所述流媒体源采用多 比特率流媒体的情况下,所述处理单元(15)进一步被布置来: 下载具有特定比特率的数据内容。21. 如权利要求17至20中任一项所述的对等装置(P1),所述处理单元(15)进一步被布 置来: 向网络监控装置报告上载能力,所述网络监控装置被配置来基于所述所报告上载能力 在所述P2P网络中布置所述多个对等端。22. -种用于在对等P2P实时流媒体网络中布置多个对等端的装置(T),所述对等实时 流媒体网络包括多个对等端(P1至PN)以及被布置来分发数据内容的流媒体源(S),所述流 媒体源周期性地产生表示将要分发的所述数据内容的多个片段,所述装置包括处理单元 (20),所述处理单元被布置来: 将所述对等端的群组(P1、P2)指配成从所述流媒体源下载所述数据内容,并且将所述 所下载的数据内容分发至所述P2P网络中的剩余对等端(P3至PN); 命令所述对等端的群组中的每个对等端作出对由所述流媒体源产生的当前片段的多 个请求,所述请求以比由所述流媒体源产生所述片段的速率更高的速率作出; 命令所述群组中最先下载所述当前片段的对等端在所述P2P网络上通告已下载了所述 当前片段,其中所述网络对等端可从所述群组中最先下载所述当前片段的所述对等端下载 所述当前片段,以及 命令包括在所述群组中的所述对等端从所述群组中最先下载所述当前片段的所述对 等端下载所述当前片段。23. 如权利要求22所述的装置(T),其中被指配成从所述流媒体源(S)下载所述数据内 容,并且将所述所下载的数据内容分发至所述P2P网络中的剩余对等端(P3至PN)的所述对 等端的群组(P1、P2)具有超过预定阈值的上载能力,而所述剩余对等端具有不超过所述预 定阈值的上载能力。24. 如权利要求22或23中任一项所述的装置(T),其中在由所述流媒体源(S)采用多比 特率流媒体的情况下,所述处理单元(20)进一步被布置来: 将以不同的多个比特率呈现数据内容的网络对等端分离成所述P2P网络中的不同的多 个覆盖。25. 如权利要求24所述的装置(T),其中所述处理单元(20)进一步被布置来: 无论对等端呈现数据内容的所述比特率如何,将在被指配成从所述流媒体源(S)下载 所述数据内容的所述群组(P1、P2)中的所述对等端布置在每个覆盖中的所述群组中。26. 如权利要求24或25所述的装置(T),其中被指配成从所述流媒体源(S)下载所述数 据内容的所述群组(P1、P2)中的所述对等端被配置来下载具有所述特定覆盖的所述比特率 的所述数据内容,所述群组中的所述对等端被布置在所述特定覆盖中。27. 如权利要求24至26中任一项所述的装置(T),所述处理单元(20)进一步被布置来针 对每个不同覆盖,从以最高比特率呈现数据内容的所述对等端开始,随后移动至所述次最 高比特率对等端的覆盖: 从所述网络对等端中选择具有最高上载能力的对等端,并且将所述所选对等端指配至 被配置来从所述流媒体源(S)下载所述数据内容的所述群组(P1、P2); 按上载能力的顺序,从以所述当前覆盖所配置的所述比特率来呈现数据内容的所述对 等端中选择一个或多个较远的对等端;以及 将所述一个或多个较远的对等端按上载能力的顺序来布置在被配置来从所述流媒体 源下载所述数据内容的所述群组的下游,所述一个或多个较远的对等端当中的对等端的数 目受紧接先前上游对等端的累积上载能力限制,所述一个或多个对等端被配置来从所述上 游对等端下载所述数据内容,直到已布置所述当前配置的覆盖的所有所述对等端。28. 如权利要求27所述的装置(T),其中每次达到所述覆盖的所允许多个行的最大数目 时,所述处理单元(20)进一步被布置来: 从所述当前覆盖所配置的所述剩余网络对等端中选择对等端,并且将所述所选对等端 指配至被配置来从所述流媒体源(S)下载所述数据内容的所述群组(P1、P2); 按上载能力的顺序,从以所述当前覆盖所配置的所述比特率来呈现数据内容的所述对 等端中选择一个或多个较远的对等端; 将所述一个多个其他对等端按上载能力的顺序来布置在被配置来从所述流媒体源下 载所述数据内容的所述群组的下游,所述一个或多个较远的对等端当中的对等端的数目受 紧接先前上游对等端的累积上载能力限制,所述一个或多个对等端被配置来从所述上游对 等端下载所述数据内容,直到已布置所述当前配置的覆盖的所有所述对等端。29. 如权利要求22至28中任一项所述的装置(T),所述处理单元(20)进一步被布置来: 在所述网络中获取将要布置的每个对等端的上载能力,其中具有较高上载能力的对等 端被布置得比具有较低上载能力的对等端更靠近所述流媒体源。30. -种计算机程序(17、22),其包括多个计算机可执行命令,所述计算机可执行命令 用于当在被包括在所述装置中的处理单元(15、22)上执行所述计算机可执行命令时,使装 置(P1、T)进行权利要求1至15中任一项所叙述的步骤中的至少部分步骤。31. -种计算机程序产品(16、21),其包括计算机可读介质,所述计算机可读介质具有 体现于其中的如权利要求30所述的计算机程序(17、22)。
【文档编号】H04L29/06GK105830413SQ201480058411
【公开日】2016年8月3日
【申请日】2014年10月17日
【发明人】罗伯托·罗弗索, 里卡尔多·雷亚莱, 赛门·艾尔-安塞利, 赛义夫·海利迪
【申请人】蜂巢流有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1