用于管理对等网络中的数据传递的系统和方法

文档序号:7550294阅读:185来源:国知局
专利名称:用于管理对等网络中的数据传递的系统和方法
技术领域
本发明涉及用于管理对等(P2P)通信网络中的数据传递的方法。具体而言本发明涉及P2P网络中的跟踪器的管理。
背景技术
在P2P网络中,对等节点(或对等端)协作以向彼此传递数据内容。使用对等端的不同连接和累积带宽来共享数据内容,如包含音频、视频、数据或数字格式的任意东西的文件、电话业务、视频流或视频下载。P2P网络在许多情况中可以比具有相对少量的用于向末端节点提供数据内容的集中化服务器的分层网络拓扑提供更有效的数据内容分配。在纯粹的P2P网络中,没有客户端或服务器的概念,而只有平等的对等端。但是,存在许多类型的将客户端服务器结构与P2P结构组合的混合P2P网络。在下文中,术语“P2P网络”意图涵盖纯P2P网络和混合P2P网络。存在大量可用于P2P通信的不同的协议。实例包括BitTorrent、Gnutella、CAN、FastTrack和JXTA。BitTorrent (比特洪流)协议是其中一个最广泛使用的P2P协议,并且在从http://www. bittorrent. org/beps/bep_0003. html 可得的、由 CoheruBram在 2008 年2 月 28 日最终修订的 “The BitTorrent ProtocolSpecification” 的版本 11031 中描述了该协议。在P2P系统中,跟踪器是用于集中地协调用户之间的P2P通信的软件服务器应用。跟踪器软件管理将要被对等端使用的洪流群一洪流群实质上包括关于对某内容感兴趣的客户端的信息。具体而言,跟踪器识别每个上传或下载与洪流相关联的内容的客户端的IP地址。BitTorrent客户端连接到洪流文件中指定的跟踪器,以便加入一个群。跟踪器向客户端(对等端)发送作为该群的一部分的对等端的列表,并且从该点开始之后,大部分的交互发生在客户端之间。客户端将发送感兴趣的消息、交换位图并且最终请求给定的内容块。但是,必须注意到,最初从跟踪器获得的对等端的列表是最重要的——它们是将被用于下载内容的对等端。因此,跟踪器执行BitTorrent模型中的中枢角色。最初的BitTorrent架构使用这样一个或一组跟踪器,其中在该跟踪器中BitTorrent客户端(对等端)进行连接以便请求群中的潜在资源的列表。当BitTorrent客户端加入一个群时,跟踪器用随机选择的对等端的列表来响应。默认该列表中的对等端的数量是50个对等端。BitTorrent客户端可以通过加入由具有相同的内容的多个跟踪器所管理的每个群来利用这些跟踪器。如果对于相同内容存在多个跟踪器,则每个跟踪器管理该内容的一个群。随后,BitTorrent客户端应用标准BitTorrent策略(乐观不阻塞、最少优先、空缓冲器优化)来选择对等端,获得内容并且共享获得的内容部分。即使从跟踪器接收到50个对等端的列表,用于获取该内容的默认同时对等端的数量也只是四个。与BitTorrent架构相关的已知的问题在于缺少位置知识。即,加入群的客户端将接收由跟踪器随机选择的对等端的列表。即使许多附近的(网络意义上)对等端具有相同的内容,客户端也可能从网络意义上非常远的对等端下载内容。对于该问题的一些解决方案是利用IP地理位置数据库来创建位置知识。这些解决方案不是非常准确,因为这些数据库包括错误,并且最重要的是,地理距离不意味着网络距离。此外,当跟踪器代表客户端来选择对等端时,该跟踪器不考虑网络资源的使用情况。因为客户端从这样一种列表选择其他对等端,其中该列表是从基于标准BitTorrent策略(其意在刺激内容共享并且保持内容在群上可用)的跟踪器所获得的,所以网络资源通常被非最佳利用。用于P2P内容传递的跟踪器模型远没有达到管理运营商网络中的理想利用,因为运营商具有大量关于网络拓扑和链路上的当前网络负载的信息。当运营商利用P2P技术来传递VoD或时变内容(例如,如WO 2009/152865所述的)时,其必须确保给定的下载速率并且从而确保播放连续性。使用当前跟踪器技术不能实现这一点。在(ALTOWG(应用层流量优化工作组)http://tools. ietf. org/wg/alto/和 Haiyong Xie、Arvind Krishnamurthy> Avi Silberschatz、Y. Richard Yang 的 “P4P:Explicit Communicationsfor Cooperative Control Between P2P and NetworkProviders"中所述的)IETF中正在被标准化的工作尝试通过利用具有更多关于网络和对等端的知识的跟踪器来解决位置问题。一个可能的方法是创建增强型跟踪器,其接收3个不同的输入以编译对等端的列表当前网络负载、网络拓扑和对等端内容可用性。可以基于运营商策略与这三个输入一起计算对等端的列表。但是,这种跟踪器将非常迅速地遭遇可扩展性问题。要管理的内容资产的数量、参与群的客户端的数量以及网络的大小将对该跟踪器施加非常高的压力。另外,为了保持协议简单,BitTorrent跟踪器不知道哪个对等端包括该群中的内容(块)的具体部分。因此向客户端返回的对等端列表有可能包括不具有该内容的希望部分的对等端。与不可用的对等端通信所浪费的努力可能影响服务质量。

发明内容
本发明的目的在于消除以上缺点中的至少一些缺点。将希望提供一种用于P2P网络以改善网络资源的利用和/或控制的系统。根据本发明的一个方面,提供了一种在对等通信网络中使用的跟踪器模块。该跟踪器模块被配置为管理在该网络之中形成跟踪器域的网络元件的离散集合之间的内容数据传递,并且该跟踪器模块包括存储介质,该存储介质具有存储在其中的内容表格,该内容表格包括对于该跟踪器域之中的每个网络元件可用的内容数据的记录。该跟踪器模块还包括用于从该跟踪器域中的请求网络元件接收内容数据请求的通信接口,以及用于询问存储在该存储介质中的该内容表格并且确定所请求的内容数据对于该跟踪器域之中的任意网络元件是否可用的处理单元。该跟踪器模块被配置为如果所请求的内容数据对于该跟踪器域之中的任意网络元件是可用的,则该处理单元确定可以通过其来获得该内容数据的网络元件的列表,并且该通信接口向该请求网络元件发送所述列表。该跟踪器模块还被配置为如果所请求的内容数据对于该跟踪器域之中的任意网络元件不可用,则该通信接口向该网络中的另一个跟踪器模块发送对于该内容数据的补充请求,该另一个跟踪器模块在该网络中处于更高跟踪器层次。
这提供了跟踪器的分布式分层次集合,其中每个跟踪器负载该网络的一部分。可以将该内容数据再分割成块,并且该内容表格可以包括哪个块对于该跟踪器域之中的每个网络元件可用的记录。
该请求网络元件可以是该跟踪器域中的最终用户对等端,并且该内容表格可以包括由该跟踪器域中的其他对等端存储的内容块的记录。该请求网络元件可以是在该跟踪器域中在跟踪器层次上更低的另一个跟踪器模块,并且该内容表格可以包括对于该跟踪器域中的其他跟踪器模块可用的内容数据的记录。如果情况是这样,则对于该跟踪器域之中的每个其他跟踪器模块可用的内容数据的记录无需包括存储该内容数据的单独的对等端的记录。这使得能够在该层次之上聚合或浓缩信息。该通信接口可以被配置为从该跟踪器域中的网络元件接收内容数据更新,该内容数据更新向该跟踪器模块通知对于相应的网络元件可用的内容数据的改变。该处理单元然后可以被配置为更新该内容表格以反映该内容数据更新。这确保由对等端保持的或者在层次上更低的跟踪器模块的域中可用的数据的记录是最新的。跟踪器模块还可以被配置为如果向跟踪器层次更高的其他跟踪器模块发送了对于该内容数据的补充请求,则该通信接口被配置为从该其他跟踪器模块接收内容数据定位响应。该内容数据定位响应可以提供在该网络中可以通过其来获得所请求的内容数据的跟踪器模块的列表。该通信接口可以被配置为联系该网络中的该其他跟踪器模块,以获得在该网络中可以从其获得所请求的内容数据的对等端的列表。对等端的该列表可以标识可以获得该内容数据的特定块的对等端。因此如果所请求的内容数据在原跟踪器模块的域中不可用,则可以使用跟踪器模块的该分层次系统来找出存在所请求的内容数据的域(并且最终找到对等端本身)。跟踪器模块可以被配置为将该对等端的列表在该存储介质中保持有限的时间段,使得该对等端的列表在该有限时间段内对于该跟踪器域之中的其他网络元件可用。如果没有对等端在该时间段内请求该内容,则该列表可以到期使得不再将其维持在该跟踪器模块中。该存储介质可能已将该跟踪器域的网络拓扑的记录存储在其中,并且该通信接口可以被配置为接收该跟踪器域之中的当前网络条件的通知。该处理单元然后可以被配置为当确定可以通过其来获得该内容数据的网络元件的列表时考虑该网络拓扑和/或网络条件,以优化网络资源的使用。根据本发明的另一个方面,提供了一种用于管理对等通信网络中的内容数据传递的系统。该系统包括跟踪器模块的分层次配置,每个跟踪器模块负责管理网络元件的一个跟踪器域。每个跟踪器模块已将内容表格存储在其中,该内容表格包括对于相应的跟踪器域之中的网络元件可用的内容数据的记录。负责包括最终用户对等端的跟踪器域的每个跟踪器模块被配置为如果从相应的跟踪器域之中的请求对等端接收到内容数据请求,并且如果所请求的内容被该跟踪器域之中足够多的其他对等端保持以提供该内容数据,则向该请求对等端发送已存储该内容数据的对等端的列表。如果所请求的内容没有被该跟踪器域之中足够多的其他对等端保持,则将该内容数据请求传递到该层次中更高的下一个跟踪器模块。在跟踪器模块层次中向上传递该内容数据请求,直到到达内容表格包括所请求的内容数据的记录的跟踪器模块为止。
可以将内容数据分割为块。在相应的跟踪器域中具有最终用户对等端的每个跟踪器模块的该内容表格可以标识由该跟踪器域中的每个最终用户对等端存储的块,并且在相应的跟踪器域中具有层次更低的跟踪器模块的每个跟踪器模块的该内容表格可以标识存储在每个层次更低的跟踪器模块的跟踪器域之中的块。这提供了用于信息聚合的机制,使得层次高的跟踪器模块不需要具有关于每个块被存储在哪个对等端上的信息,仅需要关于能够找到它们的层次更低的域的信息。每个跟踪器模块可以包括相应的跟踪器域中的网络拓扑和当前网络条件的记录,并且可以基于该网络拓扑和当前网络条件来计算该对等端的列表以便优化网络资源。网络拓扑的记录可以包括具有每个链路的传输成本的加权图形。该对等端的列表可以包括能够提供该内容数据的最小数量的对等端。根据本发明的另一个方面,提供了一种被配置为作为由对等通信网络中的跟踪器 模块管理的跟踪器域中的对等端来操作的网络元件。该网络元件包括用于存储内容块形式的内容数据的存储介质。该网络元件还包括通信接口,其用于从该网络中的其他对等端接收内容块,向该网络中的其他对等端转发内容块并且向该跟踪器模块通知存储在该存储介质中并且可用于转发到其他对等端的内容块。提供用于控制该存储介质和该通信接口的控制单元。该通信接口可以被配置为向该跟踪器域中的该跟踪器模块发送对于内容数据的请求。根据本发明的另一个方案,提供了一种用于管理被分割成跟踪器域的对等通信网络中的内容数据传递的方法,其中每个跟踪器域由相应的跟踪器模块进行管理,其中将该跟踪器模块组织成分层次结构。该方法包括在每个跟踪器模块处维持内容表格,该内容表格包括对于相应的跟踪器域之中的网络元件可用的内容数据的记录。从其中一个跟踪器域中的对等端向负责该域的该跟踪器模块发送内容数据请求。如果由该跟踪器模块维持的该数据表格指示该内容数据由该域之中足够多的其他对等端保持以提供该数据,则从该跟踪器模块向请求对等端端发送保持该内容数据的对等端的列表,并且从该列表上的对等端向该请求对等端下载该内容。如果该内容表格指示该内容数据没有被该域之中足够多的其他对等端保持,则将该内容数据请求转发到层次更高的跟踪器模块,直到到达跟踪器模块的内容表格指示该内容数据可用于它的跟踪器域之中的一个或多个网络元件的跟踪器模块为止。然后在接收原请求的跟踪器模块与具有到该内容数据的通路的跟踪器模块之间建立联系。向该请求对等端转发具有该内容的对等端的列表,并且将该内容下载到该请求对等端。可以理解,该对等端的列表可以包括请求网络元件的跟踪器域中的对等端与该原跟踪器域外部的对等端的组合。在该层次中向上聚合跟踪器模块的内容表格中所包括的信息,使得由对等端直接联系的跟踪器模块具有由那些对等端存储的内容数据块的记录,并且由层次更低的跟踪器模块联系的跟踪器模块具有存储在那些层次更低的跟踪器模块之下的内容数据块的记录,而无需具有用于存储那些内容数据块的对等端的记录。每个跟踪器模块可以具有它的跟踪器域之中的网络拓扑和网络条件的记录,并且可以考虑到这些来配置向请求对等端发送的对等端的列表。根据本发明的另一个方面,提供了一种用于管理对等通信网络中的数据的方法。在负责管理形成该网络之中的跟踪器域的网络元件的离散集合之间的内容数据传递的跟踪器模块处接收来自该跟踪器域之中的请求网络元件的内容数据请求。询问存储在该跟踪器模块处并且包括对于该跟踪器域之中的每个网络元件可用的内容数据的记录的内容表格。该跟踪器模块确定所请求的内容数据是否对于该跟踪器域之中足够多的网络元件可用以提供该内容数据。如果所请求的内容数据对于该跟踪器域之中足够多的网络元件可用,则确定可以通过其来获得该内容数据的网络元件的列表并且将其发送给该请求网络元件。如果所请求的内容数据并非对于该跟踪器域之中足够多的网络元件可用,则向该网络中的另一个跟踪器模块发送对于 该内容数据的补充请求,该另一个跟踪器模块在该网络中处于更高的跟踪器层次。本发明还提供了包括计算机可读代码的计算机程序,当其被跟踪器模块执行时使得该跟踪器模块操作上述任意方法或者作为上述跟踪器模块来进行操作。本发明还提供了包括计算机可读介质和上述计算机程序的计算机程序产品,其中该计算机程序被存储在该计算机可读介质中。


现在将仅通过实例的方式并且参考附图来描述本发明的优选实施方式,其中图I是示例性P2P网络的一部分的示意图;图2是图I用于显不跟踪器域的网络的不意图;图3是用于说明一个跟踪器域中的节点之间的通信的网络成本的加权图;图4是用于说明图3的域中的节点之间的上行链路成本和下行链路成本的加权图;图5是用于说明由本地跟踪器以及层次更高的跟踪器响应于来自对等端的内容数据请求所采取的动作的流程图;图6是跟踪器模块的示意图;以及图7是被配置为作为P2P网络中的对等端来进行操作的网络元件的示意图。
具体实施例方式所述总体方法是网络到“跟踪器域”的静态分割,其中每个跟踪器域具有负责该跟踪器域的跟踪器。跟踪器域的大小可以取决于网络节点的数量、被管理的内容资产的数量以及其他。可以将跟踪器分层次配置。当对等端加入群时,该对等端将联系负责相应的域的跟踪器。如果在该“本地”跟踪器中内容不可用,则将该请求转发到该层次中的下一个跟踪器,直到找到该内容或认为该内容在整个网络中不存在为止。此外,该对等端将向它们自己的本地跟踪器通知它们有哪些视频/内容块可用。该分层方案提供了强大并且自然的定位机制——将总是优选附近的对等端。每个跟踪器被设计为根据定位标准返回包括为了获得该内容所需的最小数量的对等端的对等端列表。该特征避免从网络距离遥远的对等端获得内容。可以独立地配置每个跟踪器域以便使用最适合该域的需要的定位标准。因此,所提出的技术方案还是灵活的,允许大部分不同的网络情况和拓扑的良好的可配置度。图I是示例性网络100的一部分的示意图,其中在网络100中对等端能够使用P2P协议如Bittorrent来共享数据。如图I中所示,该网络包括广域网(WAN) 101、城域网(MAN) 102和边缘网络103中的节点。为了简化该图,仅描述少量对等端。真实的布局将包括多得多的对等端。经由边缘网络路由器121 -123和MAN路由器124、125将边缘网络中的6个对等节点(对等端I到对等端6) 111-116连接到WAN路由器127、128。还将MAN中的两个对等节点(对等端7、对等端8) 117、118连接到WAN路由器127、128。对等端7117和对等端8118可以是运营商管理的高速缓冲存储器服务器,其策略性地位于网络中以向最终用户提供内容块。对等端7和对等端8的行为与本文所定义的对等端相同。根跟踪器131负责管理对等节点(对等端I到对等端8) 111-116之间的数据传输。根跟踪器不孤立的管理任务网络被分割成3个域(或“范围”)141、142、143。本地跟踪器151、152、153负责这些域141、142、143中的每个域。如下文将更详细地描述的,分层次组织跟踪器131、151、152、153,并且随着横穿跟踪器树,聚合信息。每个跟踪器151、152、153中负责整个网络100的一部分。由网络运营商主要根据在该网络的该域中要服务的客户端(对等端)的数量来确定部分的分配。可以理解在本文中“域”不一定是地理区域其表示在网络意义上彼此相对靠近的节点的集合。例如如图I中所示的,其中一个域142从MAN 102延伸到边缘网络103。当对等端(例如对等端515)希望获得数据时,其联系负责它的域142的跟踪器152,以获得一个群的对等端的列表。类似地,每个对等端(例如对等端515)向它的本地跟踪器152通知其已经可用的数据内容(例如视频块)。当跟踪器152没有信息来响应给定客户端请求(例如如果域152中的其他对等端113、114、116、117不具有所需的数据),则其将联系层次更高的下一个跟踪器。如果该跟踪器具有该信息,则其将立即利用在其范围(在其域中)具有可用的所请求内容的其他跟踪器151、153的跟踪器列表来进行回复。否则,其将在该层次中向高层发送另一个请求并且将重复该过程,直到该请求被回答或者到达根跟踪器131为止。还利用网络拓扑和网络负载信息来增强每个跟踪器151、152、153。这允许跟踪器执行先进网络流量策略的实施。跟踪器向进行请求的对等端发送的对等端的列表不是随机 的而是由于有根据的计算的结果。可以理解,图I中所示的配置是一个简单的实例,在该实例中将分层次跟踪器架构分割成两个层次等级,但是也可以使用多个等级的层次。为了清楚起见,使用“两级”模型作为下文的讨论的实例,但是应该理解,同样的原理将适用于多级并且可以建立跟踪器的分层次的树。当存在两个等级时-由跟踪器151-153、网络元件(路由器)121-125以及对等端111-118形成较低等级。考虑到诸如它们的网络或地理区域,将一个跟踪器151以及一个或多个对等端111、112分成一个分组。节点的该分组定义了跟踪器域或范围141,并且运营商可以具有许多跟踪器域。每个跟踪器151控制由它的域中的对等端111、112构成的群并且还知道由它的域覆盖的网络拓扑。对等端111、112向它们的本地跟踪器151报告它们有什么内容(以及哪些部分)可用,使得跟踪器可以知道在它的域中的所有可用内容。-由根跟踪器131形成较高等级,根跟踪器131集中关于所有运营商的跟踪器上的所有可用内容的信息并且知道运营商域中的所有跟踪器。图2示出了高等级根跟踪器131与低等级“本地”跟踪器151-153之间的关系。由所有运营商的跟踪器131、151、152、153和网络元件121-124、126-128形成根跟踪器域144。每个跟踪器151、152、153向根跟踪器131报告在它们的域中哪个内容(并且该内容的哪些部分)可用,以便使其能够识别运营商域内的(由P2P传递的)全部可用内容。根跟踪器仅处理其他跟踪器151-153而不直接接收来自对等端111-118的请求。类似地,当存在多个等级时,任意特定跟踪器的域将包括在分层次树中低于该跟踪器的跟踪器。如上所述,每个跟踪器151、152、153比仅具有所请求的内容的对等端包括更多信息。每个跟踪器还包括它相应的域的网络拓扑和条件的细节。运营商知道该网络拓扑,并且因此可以由网络运营商向每个跟踪器传递每个网络的相关部分的拓扑。可以由每个跟踪器151、152、153对它们的域例如使用简单网络管理协议(SNMP)探测来确定当前条件。为了使用运营商网络拓扑和链路负载信息,每个跟踪器131、151、152、153(包括根跟踪器131)操作一个具有它的域的网络拓扑的加权图形,其中
-边缘是网络链路;-节点是对等端和网络元件;并且-由以前定义的标准计算边缘的权重。可以根据链路中的当前负载条件加上运营商策略来计算边缘的权重。在该加权图形中,两个对等端之间的距离指示该连接的成本。因此,如果请求对等端能够从多个其他对等端下载希望的内容,则具有最低成本的一个对等端表示获取该内容的最佳选项。因此,用于计算边缘权重的标准和用于确定最短路径的算法将定义对等端选择的质量,其影响网络资源的使用。这可以通过参考图3来理解,图3示出了图I中所示的跟踪器2152的简单加权图形。按照与图I中相同的方式标记节点(对等端113-117和路由器122、123)。向网络节点之间的每个链路分配如图3中的数字所示的权重(或成本)。例如,对等端5115与它的相关路由器123之间的链路具有成本5。对等端5115与对等端3113之间的最小链路成本是5+2+3+3 = 13,而对等端5115与对等端6116之间的最小链路成本是5+9 = 14。应该使用跟踪器可用的最新信息来计算链路成本。可以被跟踪器使用的信息包括但不限于总链路带宽和已用链路带宽、延迟、链路类型(铜、光纤)、商业规则以及其他。由于上行和下行数据传递的不同的带宽速率,网络链路可以是非对称的。为了建模该类型的网络,可以使用有向图形来允许非对称链路的配置。该特征导致每个图形边缘上有两个权重。在图4中显示了该图形的一个实例。将认识到,一些对等端可以在单独的域中或者在整个网络中执行不同的功能。例如对等端7117可以用来作为“高速缓冲存储器”对等端而不是“客户端”对等端。换句话说,对等端7可以不被用户用于查看内容,而是可以被运营商维持为仅存储内容。如果在与对等端7117相同的域142中的任意其他对等端113-116请求内容,则该内容的块可以被自动复制到对等端7117。图5说明跟踪器(例如跟踪器1151)如何处理客户端请求以及在网络中如何实现定位。由于每个跟踪器负责非常良好地定义的域中的对等端(或层次更低的跟踪器),所以该层次将提供内在定位。如果在本地跟踪器中存在可用的对等端,则将总是优选那些对等端。
如图5中所示,当对等端(例如对等端1111)向它的本地跟踪器(跟踪器1151)做出对于内容501的请求时,跟踪器151首先确定(502)该内容在它的域141中是否可用。如果该内容在该域141 (例如在对等端2112处)可用,则该跟踪器检查(503)在该域141中可获得所需要数量的具有必要块的对等端。如果是这样,则向对等端111返回具有所需要的块的对等端列表。如果该内容在本地域内不可用或者丢失了一些块,则跟踪器151联系(505)根跟踪器131 (或者如果有多于两个等级则联系层次更高的下一个跟踪器),以便获得在它们的域中具有所请求的内容的其他跟踪器的列表。根跟踪器131验证(506)它的表格,以识别在它们的域中具有所请求的内容的跟踪器。如果没有存在所请求的内容的其他域,则向原跟踪器151返回(507)指示这个情况的消息。如果多个跟踪器在它的域中具有该内容,则根跟踪器131使用它的图形来选择最合适的跟踪器。如果这些跟踪器具有带有必要的块508的对等端,则向在它的域中具有请求对等端111的原跟踪器151返回(509)这些跟踪器的列表。原跟踪器151与这些其他跟踪器(它们在它们的域中具有该内容)通信(510),以便获得对等端的列表以临时添加到 它的群/范围中。然后向请求对等端111发送(511)该对等端列表。当请求对等端111的域141中的对等端获得该内容时,原跟踪器151从该群/范围中去除外部对等端。可选择地,可以由原跟踪器151将该对等端的临时列表维持一个预定时间段(例如数分钟)做为针对被请求的内容的资源的列表。必须以一些方式在内容表格中标记这些条目,从而显示它们是外部的。如果原跟踪器域141中的另一个对等节点(例如对等端2112)请求相同的内容,那么原跟踪器151将已经知道可以在哪里找到该内容。如果在该预定时间段内没有对等端请求该内容则该条目到期。如果在它们的域中具有该内容的跟踪器总体都不具有所需要数量的具有希望的块的对等端,则向原跟踪器151并且因此向请求对等端111返回具有该内容的其中一些内容的那些对等端512的列表。上述过程需要每个跟踪器知道在它的域中存在什么内容,并且还需要层次更高的跟踪器能够标识在所有层次更低的域中存在什么内容。使用(图3和4中所示的类型的)跟踪器图形来计算原始(请求该内容的)对等端与目的地(具有该内容的)对等端之间的最佳路径。但是,可以将内容分割成块,并且可以理解在全部可用对等端之中仅对等端的子集具有每个所请求的内容块。因此,有必要识别那些对等端,以便提供足够的信息来对所请求的对等端应用最短路径算法。原跟踪器151通过执行(图5中所示的)以下步骤来验证该内容是否可用跟踪器151使用本地内容表格来识别是否存在具有所请求的内容的对等端。如果在跟踪器I的域141中存在足够多的对等端当被分成一组时可以满足客户端请求,则跟踪器151将仅返回(503)对等端的列表。如果在跟踪器域141内可用的资源不足以满足该对等端的请求,则跟踪器模块尝试(506)提供与根跟踪器通信来定位其他跟踪器域中的内容。这两个步骤需要跟踪器151或根跟踪器131验证它们的域中的内容可用性。跟踪器151通过咨询由它维持的内容表格上的内容ID+内容块来完成该验证。由跟踪器维持并且根据在它的域中由对等端提供的信息来更新跟踪器内容表格。可以理解,这需要BitTorrent协议的修改。在跟踪器内容表格中定义的字段是
内容ID:由客户端(对等端)从EPG (电子节目指南)或其他配置装置获得;客户端ID :客户端(对等端)的通用标识;以及内容块包括该对等端中的全部可用块的比特字段。当对等端加入跟踪器上的一个群时在该表格上包括一个条目。此后,使用保活或更新块列表的消息,基于由客户端提供的信息来更新记录信息。由于客户端从该群的活动连接断开或者连接时间超时而删除记录线。这可以通过考虑图2中所示的三个本地跟踪器151、152、153的示例性内容表格来理解。假设例如对等端111具有来自内容ID为100001的内容的一些内容块以及内容ID为100002的内容的一些内容块。对等端2112具有内容ID为100001的内容的不同的块集合。由(跟踪器1151的域141中的内容的)跟踪器1151维持的内容表格如下
权利要求
1.一种在对等通信网络中使用的跟踪器模块,所述跟踪器模块被配置为管理在所述网络之中形成跟踪器域的网络元件的离散集合之间的内容数据传递,所述跟踪器模块包括 存储介质,所述存储介质具有存储在其中的内容表格,所述内容表格包括对于所述跟踪器域之中的每个网络元件可用的内容数据的记录; 通信接口,用于从所述跟踪器域中的请求网络元件接收内容数据请求; 处理单元,用于询问存储在所述存储介质中的所述内容表格并且确定所请求的内容数据对于所述跟踪器域之中的任意所述网络元件是否可用; 其中,所述跟踪器模块被配置为使得 如果所请求的内容数据对于所述跟踪器域之中的任意所述网络元件是可用的,则所述处理单元确定可以通过其来获得所述内容数据的网络元件的列表,并且所述通信接口向所述请求网络元件发送所述列表;以及 如果所请求的内容数据对于所述跟踪器域之中的任意所述网络元件不可用,则所述通信接口向所述网络中的另一个跟踪器模块发送对于所述内容数据的补充请求,所述另一个跟踪器模块在所述网络中处于更高跟踪器层次。
2.如权利要求I所述的跟踪器模块,其中将所述内容数据再分割成块,并且其中所述内容表格包括哪个块对于所述跟踪器域之中的每个网络元件可用的记录。
3.如权利要求2所述的跟踪器模块,其中所述请求网络元件是所述跟踪器域中的最终用户对等端,并且其中所述内容表格包括由所述跟踪器域中的其他对等端存储的内容块的记录。
4.如权利要求I或2所述的跟踪器模块,其中所述请求网络元件是在跟踪器层次上更低的跟踪器域中的另一个跟踪器模块,并且其中所述内容表格包括对于所述跟踪器域中的其他跟踪器模块可用的内容数据的记录。
5.如权利要求4所述的跟踪器模块,其中对于所述跟踪器域之中的每个其他跟踪器模块可用的内容数据的记录不包括存储所述内容数据的对等端的记录。
6.如任意一个前述权利要求所述的跟踪器模块,其中所述通信接口被配置为从所述跟踪器域中的网络元件接收内容数据更新,所述内容数据更新向所述跟踪器模块通知对于相应的网络元件可用的内容数据的改变,并且所述处理单元被配置为更新所述内容表格以反映所述内容数据更新。
7.如任意一个前述权利要求所述的跟踪器模块,所述跟踪器模块还被配置为使得如果向跟踪器层次更高的其他跟踪器模块发送了对于所述内容数据的补充请求,则所述通信接口被配置为从所述其他跟踪器模块接收内容数据定位响应,所述内容数据定位响应提供在所述网络中可以通过其来获得所请求的内容数据的跟踪器模块的列表。
8.如权利要求7所述的跟踪器模块,其中所述通信接口被配置为联系所述网络中的所述其他跟踪器模块,以获得在所述网络中可以从其获得所请求的内容数据的对等端的列表。
9.如权利要求8所述的跟踪器模块,其中所述对等端的列表标识可以获得的所述内容数据的特定块处于的对等端。
10.如权利要求8或9所述的跟踪器模块,所述跟踪器模块被配置为将所述对等端的列表在所述存储介质中保持有限的时间段以使得其对于所述跟踪器域之中的其他网络元件可用。
11.如任意一个前述权利要求所述的跟踪器模块,其中所述存储介质已将所述跟踪器域的网络拓扑的记录存储在其中,并且其中所述处理单元被配置为当确定可以通过其来获得所述内容数据的网络元件的列表时考虑所述网络拓扑,以优化网络资源的使用。
12.如权利要求11所述的跟踪器模块,其中从网络运营商接收所述网络拓扑。
13.如任意一个前述权利要求所述的跟踪器模块,其中所述通信接口被配置为接收所述跟踪器域之中的当前网络条件的通知,并且其中所述处理单元被配置为当确定可以通过其来获得所述内容数据的网络元件的列表时考虑所述当前网络条件,以优化网络资源的使用。
14.一种用于管理对等通信网络中的内容数据传递的系统,所述系统包括 跟踪器模块的分层次配置,每个跟踪器模块负责管理网络元件的一个跟踪器域; 其中每个跟踪器模块已将内容表格存储在其中,所述内容表格包括对于相应的跟踪器域之中的网络元件可用的内容数据的记录; 并且其中负责包括最终用户对等端的跟踪器域的每个跟踪器模块被配置为使得如果从相应的跟踪器域之中的请求对等端接收到内容数据请求,则 如果所请求的内容被所述跟踪器域之中足够多的其他对等端保持以提供所述内容数据,则向所述请求对等端发送具有存储于其上的所述内容数据的对等端的列表;以及 如果所请求的内容没有被所述跟踪器域之中足够多的其他对等端保持,则将所述内容数据请求传递到所述层次中更高的下一个跟踪器模块。
15.如权利要求14所述的系统,所述系统被配置为使得在跟踪器模块层次中向上传递所述内容数据请求,直到到达内容表格包括所请求的内容数据的记录的跟踪器模块为止。
16.如权利要求14或15所述的系统,其中 所述内容数据被分割为块; 在相应的跟踪器域中具有最终用户对等端的每个跟踪器模块的所述内容表格标识由该跟踪器域中的每个最终用户对等端存储的块;以及 在相应的跟踪器域中具有层次更低的跟踪器模块的每个跟踪器模块的所述内容表格标识存储在每个层次更低的跟踪器模块的跟踪器域之中的块。
17.如权利要求14到16中的任意一个所述的系统,其中每个跟踪器模块包括相应的跟踪器域中的网络拓扑和当前网络条件的记录,并且基于所述网络拓扑和当前网络条件来计算所述对等端的列表以便优化网络资源。
18.如权利要求17所述的系统,其中网络拓扑的所述记录包括具有每个链路的传输成本的加权图形。
19.如权利要求14到18中的任意一个所述的系统,其中所述对等端的列表包括能够提供所述内容数据的最小数量的对等端。
20.如权利要求14到19中的任意一个所述的系统,其中每个跟踪器模块是根据权利要求I到13中的任意一个所述的跟踪器模块。
21.一种被配置为作为由对等通信网络中的跟踪器模块管理的跟踪器域中的对等端来操作的网络元件,所述网络元件包括 用于存储内容块形式的内容数据的存储介质;通信接口,其用于 从所述网络中的其他对等端接收内容块, 向所述网络中的其他对等端转发内容块,以及 向所述跟踪器模块通知存储在所述存储介质中并且可用于转发到其他对等端的内容块;以及 用于控制所述存储介质和所述通信接口的控制单元。
22.如权利要求21所述的网络元件,其中所述通信接口被配置为向所述跟踪器域中的所述跟踪器模块发送对于内容数据的请求。
23.一种用于管理被分割成跟踪器域的对等通信网络中的内容数据传递的方法,其中每个跟踪器域由相应的跟踪器模块进行管理,所述跟踪器模块组织成分层次结构,所述方法包括 在每个跟踪器模块处维持内容表格,所述内容表格包括对于相应的跟踪器域之中的网络元件可用的内容数据的记录; 从其中一个跟踪器域中的对等端向负责该域的跟踪器模块发送内容数据请求;如果由所述跟踪器模块维持的所述数据表格指示所述内容数据被该域之中足够多的其他对等端保持以提供所述数据,则从所述跟踪器模块向请求对等端发送保持有所述内容数据的对等端的列表,并且从该列表中的对等端将所述内容下载到所述请求对等端;以及如果所述内容表格指示所述内容数据没有被所述域之中足够多的其他对等端保持,则 将所述内容数据请求转发到层次更高的跟踪器模块,直到到达其内容表格指示所述内容数据对于其跟踪器域之中的一个或多个网络元件可用的跟踪器模块为止; 在接收到原请求的跟踪器模块与具有到所述内容数据的通路的跟踪器模块之间建立联系; 向所述请求对等端转发具有所述内容的对等端的列表;以及 将所述内容下载到所述请求对等端。
24.如权利要求23所述的方法,其中在所述层次中向上聚合跟踪器模块的所述内容表格中所包括的信息,使得 由对等端直接联系的跟踪器模块具有由那些对等端存储的内容数据块的记录,以及由层次更低的跟踪器模块联系的跟踪器模块具有存储在那些层次更低的跟踪器模块之下的内容数据块的记录,而无需具有存储那些内容数据块的对等端的记录。
25.如权利要求23或24所述的方法,其中每个跟踪器模块具有其跟踪器域之中的网络拓扑和网络条件的记录,并且考虑这些情况来配置向所述请求对等端发送的对等端的列表。
26.如权利要求23到25中的任意一个所述的方法,其中每个跟踪器模块是根据权利要求I到13中的任意一个所述的跟踪器模块。
27.一种用于管理对等通信网络中的数据的方法,包括 在负责管理形成所述网络之中的跟踪器域的网络元件的离散集合之间的内容数据传递的跟踪器模块处接收来自所述跟踪器域之中的请求网络元件的内容数据请求; 询问存储在所述跟踪器模块处的内容表格,所述内容表格包括对于所述跟踪器域之中的每个网络元件可用的内容数据的记录; 确定所请求的内容数据是否对于所述跟踪器域之中足够多的网络元件可用以提供所述内容数据; 如果所请求的内容数据对于所述跟踪器域之中足够多的网络元件可用,则确定可以通过其来获得所述内容数据的网络元件的列表并且将所述列表发送给所述请求网络元件;以及 如果所请求的内容数据并非对于所述跟踪器域之中足够多的网络元件可用,则向所述网络中的另一个跟踪器模块发送对于所述内容数据的补充请求,所述其他跟踪器模块在所述网络中处于更高的跟踪器层次。
28.如权利要求27所述的方法,其中所述跟踪器模块是根据权利要求2到13中的任意一个所述的跟踪器模块。
29.—种包括计算机可读代码的计算机程序,当其由跟踪器模块运行时使得所述跟踪器模块操作权利要求26或27所述的方法。
30.一种包括计算机可读代码的计算机程序,当其由跟踪器模块运行时使得所述跟踪器模块作为根据权利要求I到13中的任意一个所述的跟踪器模块来操作。
31.一种包括计算机可读介质和如权利要求29或30所述的计算机程序的计算机程序产品,其中所述计算机程序被存储在所述计算机可读介质中。
全文摘要
描述了一种用于管理对等通信网络中的内容数据传递的系统和方法。该系统包括跟踪器模块的分层次配置,每个跟踪器模块负责管理网络元件的一个跟踪器域。每个跟踪器模块已将内容表格存储在其中,该内容表格包括对于相应的跟踪器域之中的网络元件可用的内容数据的记录。用于负责包括最终用户对等端的跟踪器域的每个跟踪器模块被配置为使得如果从相应的跟踪器域之中的请求对等端接收到内容数据请求并且所请求的内容被该跟踪器域之中的其他对等端保持,则向该请求对等端发送已存储该内容数据的对等端的列表。如果所请求的内容没有被该跟踪器域之中足够多的其他对等端保持,则将该内容数据请求传递到该层次中更高的下一个跟踪器模块。
文档编号H04L29/08GK102907065SQ201080066873
公开日2013年1月30日 申请日期2010年5月20日 优先权日2010年5月20日
发明者V·苏扎, T·C·M·D·B·卡瓦尔霍, C·C·米尔斯 申请人:瑞典爱立信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1