P2p流媒体网络的拓扑构建方法

文档序号:7701452阅读:184来源:国知局
专利名称:P2p流媒体网络的拓扑构建方法
技术领域
本发明主要涉及P2P流媒体技术,尤其涉及P2P流媒体网络的 拓扑构建方法,还涉及相应的索引服务器和节点中的流媒体管理器。
背景技术
P2P流媒体是指采用了对等网络(Peer-to-Peer,简称为P2P)技
术、数据在网络是按时间先后次序传输并在各主机连续播放的视音频 数据流。P2P技术是一种在终端设备之间、不经过中间设备直接交换 信息的技术。这些终端设备作为节点,它们之间的关系是平等、直接 联系的,每个节点都具有信息处理和提供的功能。
P2P流媒体技术解决了传统客户/服务器(C/S)模式流媒体技术 难以突破的服务器和带宽瓶颈。传统的流媒体服务大多采用了客户/ 服务器(C/S)模式,这种模式下,用户从流媒体服务器点击观看节 目,然后流媒体服务器以单播方式把媒体流推送给用户。当流媒体业 务发展到一定阶段后,用户总数大幅增加,这种C/S模式加单播方式 来推送媒体流的缺陷便明显地显现出来(如流媒体服务器带宽占用 大、流媒体服务器处理能力要求高等),带宽、服务器等常常成为系 统瓶颈,系统地可扩展性差。而P2P流媒体技术充分利用所有参与 节点的带宽、CPU和存储资源,将数据分散存储和处理,从而使流 媒体服务的质量和速度得到空前提高,使互联网上大规模的流媒体服 务成为可能。
在P2P流媒体的网络中,由于每个节点都是独立、平等的,它 们之间的相互连接、互传数据,构成了一个网络的拓扑结构。目前, P2P流媒体的网络拓扑结构主要分成两类,分别是树状结构和网状 结构。
树状结构是指仿照网络层IP组播的拓扑结构,在IP层之上搭建
7树状拓扑重叠网,实现一点对多点的数据发送。树状结构适用于规则 网络,资源、带宽、服务能力比较充分,并且无动态变化的环境。采 用存储一转发方式的数据推送,可以提供低时延、可控制QoS (Quality of Service)服务。其缺陷是不适合异构的互联网环境,拓 扑维护代价高,不适合无专用设备和动态变化的网络。这也是目前互 联网流媒体采用树状结构的系统较少的原因之一 。
网状结构是指构成重叠网的网络逻辑拓扑为随机拓扑,每个节 点均和多个节点相连并建成邻居关系,对等邻居节点之间也不存在严 格的父子关系。网状结构不需专用设备,也无固定拓扑维护,每个节 点根据邻居节点网络状况、数据信息决定数据转发方向。因此,此机 制适合于异构模式的互连网环境,每个节点可与多个节点交换数据, 无预先指定的父子关系,因此维护负载低。其代价就是服务质量无法 预期,传输时延大,可管理性差。
Dongni Ren, Y,T. Hillman Li, S,-H. Gary Chan在 IEEE INFOCOM 2008 proceeding中发表的文章On Reducing Mesh Delay for Peer-to-Peer Live Streaming介绍了 一种基于Power的分布式算法, 其算法重点是新加入的节点根据网络的延迟信息选择发起连接,同时 在后续过程中,会根据节点的延迟以及上载带宽进行调整。
正如上所述,传统的P2P流媒体的网络拓扑结构都存在着一些 不足。

发明内容
因此,本发明的创作目的是针对树状结构以及网络结构的不足, 充分利用P2P流媒体中节点都存在顺序下载要求的特性,提出一种 优化的P2P流媒体网络的拓扑构建方法。通过这种方法,P2P流媒体 网络中的节点可以渐进地学习网络的状况,并在动态环境中使节点间 的结构逐步调整并优化。
本发明提供一种充分利用索引服务器收集各节点下载速度和流 媒体播放位置信息、从而协助节点搭建优化的拓扑结构的方法,还提 供了相应的索引服务器和节点中的流媒体管理器。根据本发明的一个方面,提供了一种P2P流媒体网络的拓扑构 建方法,所述P2P流媒体网络包括索引服务器,所述方法的特征在 于包括以下步骤多个节点向索引服务器进行注册以加入P2P流媒 体网络;加入到P2P流媒体网络中的节点收集本节点的节点信息并 在与索引服务器交互时向索引服务器发送所收集到的节点信息;索引 服务器在接收到来自加入到P2P流媒体网络中的节点的节点信息后, 根据接收到的节点信息选择加入到P2P流媒体网络中的节点中的一 部分节点,之后将所选择的节点的节点信息发送给与索引服务器进行 交互的节点;以及与索引服务器进行交互的节点根据从索引服务器接 收到的节点信息与P2P流媒体网络中的其它节点进行连接。
在本发明的P2P流媒体网络的拓扑构建方法中,由于能够通过 索引服务器和节点二者来对网络中的节点进行选择,并且网络中的节 点能够根据选择的结果来进行连接,因此,本发明的P2P流媒体网 络的拓扑构建方法能够根据实际情况动态构建P2P流媒体网络。因 此,该方法能够适合异构的互联网环境,动态构建网络使得拓扑维护 代价低,适合动态变化的网络。另外,通过索引服务器对P2P流媒 体网络中的节点进行一定的管理和选择使得网络中的节点能够以最 佳方式连接到其它节点,保证了服务质量,抑制了传输时延,从而提 高了网络的可管理性。
根据本发明的另一方面,提供了一种索引服务器,其用在P2P 流媒体网络中,其特征在于包括交互单元,当多个节点向索引服务 器进行注册以加入P2P流媒体网络或者P2P流媒体网络中的节点向 索引服务器发送节点信息或从索引服务器接收节点信息时,交互单元 用于和节点进行交互;节点信息管理单元,用于对交互单元接收到的 来自多个节点的节点信息进行管理;以及选择单元,根据节点信息管 理单元所管理的节点信息选择加入到P2P流媒体网络中的节点中的
一部分节点,之后将所选择的节点的节点信息通过交互单元发送给与 索引服务器进行交互的节点。
根据本发明的又一方面,提供了一种流媒体管理器,其被设置 在将要加入到或已经加入到P2P流媒体网络的节点中,所述P2P流
9媒体网络包括索引服务器,该流媒体管理器特征在于包括交互单元, 当包括所述流媒体管理器的本节点向索引服务器进行注册以加入 P2P流媒体网络或者本节点向索引服务器发送所收集到的本节点的 节点信息或从索引服务器接收节点信息时,交互单元用于和索引服务 器进行交互;下载单元,在本节点已经加入P2P流媒体网络之后,
根据由交互单元从索引服务器接收到的节点信息与其它节点进行连
接;以及播放单元,用于获取本节点的流媒体数据并播放。
根据本发明的又一方面,提供了一种P2P流媒体网络,其特征 在于包括如上所述的索引服务器和多个节点,其中所述节点包括如上 所述的流媒体管理器。
在节点加入P2P流媒体网络后, 一方面,每个用户都会使用客 户端(节点)的流媒体管理器中的播放单元收看流媒体内容,因此流 媒体管理器可以收集播放单元的播放位置;另一方面,客户端的流媒 体管理器中的下载单元会根据播放位置下载当前播放位置往后的流 媒体数据,以使得播放得以流畅进行。因此,节点可以收集到播放单 元的当前播放位置,以及下载单元的下载速度。当节点与索引服务器 进行交互的时候,可以实时地把这些信息发送给索引服务器。然后得 到索引服务器返回的节点信息后,可以从这些节点中选择传输延迟小 的节点建立连接,作为邻居。
而索引服务器在收集到各个节点的当前播放位置以及下载速度 后,可以根据播放位置的不同以及下载速度的大小,将那些播放位置 靠前并且下载情况好的节点的节点信息通知相应的节点,这个选择过 程可以通过候选节点选择方法实现。而这就克服了传统索引服务器随 机地向节点返回节点信息而造成的P2P流媒体网络拓扑难以管理、 传输延迟大等影响。
在P2P流媒体网络中每个节点定期与索引服务器进行交互,这 个交互一方面可以让索引服务器收集到各个节点的当前播放位置以 及节点的下载速度,同时索引服务器可以将一些播放位置靠前、下载 速度快节点的节点信息给发送给交互节点,使得交互节点可以实时地 调整自己的连接情况。


图1是示出了本发明的P2P流媒体网络中各装置的关系的示图。
图2是索引服务器的节点列表示意图。
图3是节点构建P2P流媒体网络拓扑结构的工作流程图。
图4是索引服务器的工作流程图。
图5是本发明的P2P流媒体网络的拓扑构建方法的流程图。
具体实施例方式
以下将参照附图来详细描述本发明的实施例。 为达到构建优化的P2P流媒体网络拓扑结构的目的,本发明中
需要包括两种装置,分别是流媒体管理器,部署在加入P2P流媒 体网络的每台主机中,这些主机也称为节点;以及索引服务器,离散 地部署在P2P流媒体网络中,它的IP地址是固定的,P2P网络中的
每个节点都可以根据所需要的流媒体文件访问这些索引服务器。
图1是示出了本发明的P 2 P流媒体网络中各装置的关系的示图。
下面分别介绍这两种装置。
如图1所示,每台主机(即,每个节点)上的流媒体管理器包 括了三个单元,分别是播放单元、交互单元以及下载单元。在图1 中,为简单起见将交互单元和下载单元用一个图标示出。以下将详细 描述这三个单元。
播放单元用于获取本节点的流媒体数据并播放。另外,根据需
要,播放单元可以实时地记录每一时刻需要的特定流媒体文件的流媒 体数据的位置作为当前播放位置,然后发送给交互单元。在本发明中, 节点当前播放位置或播放位置都指的是针对某一特定流媒体文件的 播放位置,并且发送和接收包括这样的"播放位置"的节点信息的节 点和索引服务器都是针对该特定流媒体文件的节点和索引服务器。
当节点向索引服务器进行注册以加入P2P流媒体网络或者节点 向索引服务器发送所收集到的本节点的节点信息或从索引服务器接 收节点信息时,交互单元用于和索引服务器进行交互。当节点向索引
11服务器进行注册以加入P2P流媒体网络时,该节点通过交互单元向
索引服务器发送注册消息,该注册消息的格式将在下文中描述。本节
点的节点信息优选地包括节点IP地址、来自播放单元的节点当前播
放位置和来自下载单元的节点下载速度。当节点为P2P流媒体网络
中的其它节点提供上载服务时,节点信息还包括来自下载单元的节点
上载速度。交互单元负责收集本节点的信息并与索引服务器进行交
互,当交互单元从播放单元获得了节点当前播放位置时,需要实时地 通知下载单元节点当前播放位置。
在本节点己经加入P2P流媒体网络之后,下载单元根据由交互 单元从索引服务器接收到的节点信息与其它节点进行连接。在一个实 施例中,下载单元可包括选择模块(图中未示出),选择模块根据由 交互单元从索引服务器接收到的节点信息动态地选择不同的节点,以
便所述下载单元与所选择的节点进行连接。在一个实施例中,所述下 载单元还可包括探测模块(图中未示出),在交互单元从索引服务器 接收到P2P流媒体网络中的其它节点的节点信息后,下载单元并不
与由交互单元接收到的节点信息所代表的全部节点进行连接,而是由 探测模块发出探测消息来探测下载单元与由交互单元接收到的节点 信息所代表的全部节点间的传输延迟,从而由选择模块选择一些传输 延迟较小的节点以便下载单元与所选择的节点进行连接。流媒体管理
器把与其连接的节点分成两类"主动连接邻居",也就是本节点根 据由交互单元从索引服务器接收到的节点信息而要主动连接的节点; 和"被动连接邻居",也就是主动向本节点发起连接的节点。流媒体 管理器为本节点保持固定数目的"主动连接邻居",当交互单元从索 引服务器接收到新的节点信息时,本节点的流媒体管理器的下载单元 可根据通过所述探测消息得到的传输延迟来选择传输延迟小的节点 作为"主动连接邻居",从而替代原先与本节点连接的传输延迟较大 的节点。在交互单元从索引服务器接收到节点信息后,下载单元也可 以与由交互单元接收到的节点信息所代表的全部节点进行连接。
加入到P2P流媒体网络中的节点的节点信息可以包括本节点的 节点IP地址、和由下载单元记录的本节点的节点下载速度、以及由播放单元记录的本节点的节点当前播放位置。当本节点还通过下载单 元为其它节点,例如,"被动连接邻居",提供上载时,节点信息还 包括由下载单元记录的本节点的节点上载速度。流媒体管理器还可通 过交互单元将心跳消息作为本节点的节点信息周期性地发送给索引
服务器,以完成与索引服务器的交互,心跳消息的内容包括 <节点 IP地址,节点当前播放位置,节点上载速度,节点下载速度>。
根据流媒体管理器的播放单元所记录的节点当前播放位置,所 述流媒体管理器的下载单元可从P2P流媒体网络中的其它节点下载 流媒体数据。因此,下载单元可根据节点当前播放位置从其它节点下 载流媒体数据,而且,下载单元还可为其它节点上载流媒体数据,并 且记录本节点的节点下载速度以及节点上载速度,并把这些信息发送 给交互单元。因此,下载单元收到播放位置信息后,顺序地从"主动 连接邻居"处下载所需要的流媒体数据,以保证播放单元能流畅地播 放。
图1还示出了根据本发明的P2P流媒体网络中的索引服务器, 该索引服务器也包括了三个单元(图中未示出),分别是交互单元, 节点信息管理单元以及节点选择单元。以下将详细描述这三个单元。
当多个节点向索引服务器进行注册以加入P2P流媒体网络或者 P2P流媒体网络中的节点向索引服务器发送节点信息或从索引服务 器接收节点信息时,交互单元用于和节点进行交互。
节点信息管理单元对交互单元接收到的来自多个节点的节点信
息进行管理。即,节点信息管理单元负责管理P2P流媒体网络中的
节点的节点信息。
选择单元根据节点信息管理单元所管理的节点信息选择所述多
个节点中的一部分节点,之后将所选择的节点的节点信息通过交互单 元发送给与索引服务器进行交互的节点。
在本发明中,与索引服务器进行交互的节点指的是将本节点的 节点信息发送给索引服务器并且从索引服务器接收节点信息的节点。
在本发明中,节点信息管理单元可为P2P流媒体网络中的每个
流媒体文件保存 一 个节点列表。节点列表的表项可包括从接收到的节点信息中获得的多个节点 的节点当前播放位置,并且节点信息管理单元可根据节点当前播放位
置对节点列表中的由节点信息代表的多个节点进行排序。在此情况 下,选择单元可根据节点信息管理单元对节点列表中的多个节点进行
排序的结果选择出节点列表中的节点当前播放位置靠前的节点,之后 将选择出的节点的节点信息通过交互单元发送给与索引服务器进行 交互的节点。
而且,节点列表的表项还可包括从接收到的节点信息中获得的 多个节点的节点下载速度。在选择单元从所述节点列表中选择出节点 当前播放位置靠前的节点后,节点信息管理单元可进一步根据节点下 载速度对选择出的节点进行排序,从而可选择出下载速度较大的节 点,并将这些下载速度较大的节点的节点信息通过交互单元发送给与 索引服务器进行交互的节点。
在本发明的实施例中,节点列表的表项优选地包括 <节点IP 地址,节点当前播放位置,节点上载速度,节点下载速度>,如图2 所示。节点列表记录全部正在收看该流媒体文件的节点信息,而这些 节点在节点列表中按节点当前播放位置从大到小地进行排序,即拥有 并使用该流媒体文件数据越多的节点其播放位置越靠前,该节点在节 点列表中也就越靠前。节点信息管理单元在收到交互单元发送过来的 新的节点信息后,需要根据节点的播放位置,调整节点在节点列表中 的位置,如果是新加入网络中的节点,则把节点插入到节点列表的相 应位置。
选择单元可从节点列表中选择出m (m为不小于0的整数)个, 例如40个,节点的节点信息并通过交互单元将其发送给交互节点。
交互单元负责与交互节点交互信息,并通知其它两个单元。为 此,它维护一个节点队列,当网络中有节点发送信息给索引服务器, 就会进入到节点队列。交互单元用先进先出的方式从节点队列中取出 节点信息,交给节点信息管理单元。同时交互单元通知节点选择单元 为交互节点选择一些节点信息以返回给交互节点。
在图1中, 一个流媒体管理器通过交互单元将本节点的节点信
14息发送到索引服务器,并且从索引服务器获取节点列表中所包含的节 点的节点信息。另外,流媒体管理器根据从索引服务器接收到的节点 信息通过下载单元与其它节点进行连接,并且从其它节点通过本节点 和其它节点的下载单元下载流媒体数据,或向其它节点上载流媒体数 据。图1示例性地示出了其它节点中的下载单元1、下载单元2、和 下载单元3。
下面将结合图3至图5来详细描述本发明的P2P流媒体网络的 拓扑构建方法
图3是节点构建P2P流媒体网络的拓扑结构的工作流程图。 如图3所示,在节点刚开始使用流媒体管理器的时候,需要加 入到,即,注册到P2P流媒体播放网络中。本领域技术人员知道多 种注册方式,例如,流媒体管理器发送一个注册消息给索引服务器,
这个注册消息包括〈节点IP地址,节点当前播放位置,节点上载速
度,节点下载速度>,即,与心跳消息格式一致。但由于这时候节点 没有下载也没有上载,所以这时候节点上载速度和节点下载速度都为
0。索引服务器选择m (m为不小于0的整数)个节点并将这m个节 点的节点信息发送给交互节点。通过下述动态邻居调整方法,节点可 以从m各节点中选择出传输延迟最低的k(k为不小于0且小于或等 于m的整数)个节点作为自己的"主动连接邻居"。然后在播放的 过程中,网络中的每个节点也会通过动态邻居调整方法改变自己的 "主动连接邻居"的连接情况,以构建优化的低传输延迟P2P流媒 体网络拓扑结构。而且,本节点可保持固定数目的"主动连接邻居", 当流媒体管理器的交互单元从索引服务器接收到新的节点信息时,流 媒体管理器的下载单元根据通过所述探测消息得到的传输延迟来选 择传输延迟小的节点作为主动连接邻居,从而替代原先与本节点连接 的传输延迟较大的节点。
本发明为达到构建优化的低传输延迟P2P流媒体网络拓扑结构 的目的,提出了两种方法,分别是动态邻居调整方法以及候选节点 选择方法。
以下描述动态邻居调整方法,图3示出了该方法的歩骤。
15互联网是一个动态的网络,网络状况会时刻发生变化,所以每 个节点的情况都是变化的,这需要节点进行动态调整。已经在网络中 的节点也会定期,例如每1分钟,和索引服务器进行交互。在交互中, 节点会发送一条心跳消息给索引服务器。本领域技术人员可以理解, 上述心跳消息是节点信息的一个示例,并且节点信息可以有多种格 式。当节点不提供上载服务时, 一条节点信息可以仅包括与当前播放 位置以及节点下载速度相关的内容。
然后索引服务器的选择单元会同样的返回m (m为不小于0的 整数)个节点的节点信息给该节点。当节点得到了一个索引服务器返 回的m个节点信息后,它向这m个节点以及"主动连接邻居"发送 一个探测消息,例如ICMP回声请求消息,然后记录对方响应探测消 息的时间,作为两个节点的传输延迟时间。如果在一定的时间内,如 30秒,对方没有返回响应探测消息,则默认和这个节点间的传输延 迟为无穷大。在节点计算出全部的传输延迟时间后,从全部这些节点 中选择其中传输延迟最小的k(k为不小于0且小于或等于m的整数) 个节点,称之为"新主动连接邻居",如果"新主动连接邻居"原来 就是"主动连接邻居",则保留其连接,其它的"新主动连接邻居" 需要发起连接,如果连接成功,就断开与那些不是"新主动连接邻居" 的原来的"主动连接邻居"的连接。这个调整"主动连接邻居"的方 法最后保持了 "主动连接邻居"的个数。
由此可见,在该动态邻居调整方法中,交互节点根据从索引服 务器接收到的节点信息动态地选择不同的节点进行连接。在从索引服 务器受到m各节点的节点信息后,交互节点还要对这m个节点进行 选择和调整。
以下描述候选节点选择方法,图4示出了该方法的步骤。 索引服务器需要为节点返回候选节点。索引服务器的节点信息 管理单元在接收到交互节点的信息后,首先更新节点列表中的节点信 息,然后根据交互节点的当前播放位置调整交互节点在节点列表中的 位置,如果节点是新加入(新注册)节点,就把节点插入到节点列表 的相应位置。在此基础上,索引服务器的节点选择单元需要为交互节点选择一些节点的节点信息并将这些节点信息发送到交互节点。
这个选择的过程分两步,首先是基于播放位置的选择。当节点 信息管理单元调整完交互节点的位置后,选择单元会把交互节点之前
的n (n为不小于0的整数)个,例如100个,节点选择出来。然后 是基于节点下载速度的选择,对于之前选择出来的n个节点,节点选 择单元会把这n个节点根据节点下载速度进行排序,把其中下载速度 快的m (m为不小于O且小于或等于n的整数)个,例如40个,节 点的节点信息返回给交互节点。即,当节点发来注册消息或心跳消息 时,索引服务器通过候选节点选择方法,动态的调整自己维护的节点 列表的信息,并选择出一些节点信息返回给交互节点。在从索引服务 器接收到节点信息后,交互节点与接收到的节点信息所代表的m个 节点进行连接。
由此可见,动态邻居调整方法是交互节点主动对其要连接的节 点进行选择的方法,而候选节点选择方法是索引服务器选择节点并将 其节点信息发送给交互节点的方法。显然,索引服务器可不执行候选 节点选择方法而向交互节点返回节点信息,而仅由交互节点自身通过 动态邻居调整方法来选择要连接的节点。另外,交互节点可不执行动 态邻居调整方法而仅与由索引服务器根据候选节点选择方法选择的 节点迸行连接。当然,优选地是将这两种方法结合使用。
图5是本发明的P2P流媒体网络的拓扑构建方法的流程图。 P2P流媒体网络中的节点收集自身的节点信息,例如,下载信 息和播放位置信息,并将其发送给索引服务器。索引服务器根据节点 的节点信息(例如,播放位置信息)把节点插入节点列表,并将相应 的节点信息返回给交互节点。交互节点根据从索引服务器接收到的节 点信息来与P2P流媒体网络中的其它节点进行连接,以下载或上载 流媒体数据。
本发明还提供了一种P2P流媒体网络,其包括如上所述的索引 服务器和多个节点,其中所述节点包括如上所述的流媒体管理器。在 一个实施例中,本发明的P2P流媒体网络能够与现有技术的P2P流 媒体网络兼容,因此,可能存在现有技术的P2P流媒体网络中的节点不与本发明的P2P流媒体网络中的索引服务器交互而直接与本发 明的P2P流媒体网络中的节点交换数据的情况。
显然,由于索引服务器和节点二者能够通过动态邻居调整方法 以及候选节点选择方法来对网络中的节点进行选择,因此,本发明的
P2P流媒体网络的拓扑构建方法能够根据实际情况动态构建P2P流
媒体网络。因此,本发明适合异构的互联网环境,动态构建网络使得 拓扑维护代价低,适合动态变化的网络。另外,通过索引服务器对
P2P流媒体网络中的节点进行管理和选择使得网络中的节点能够以 最佳方式(按照节点当前播放位置和节点下载速度)连接到其它节点, 保证了服务质量,抑制了传输时延,从而提高了网络的可管理性。
为达到构建优化的低延迟P2P流媒体网络拓扑结构的目的,本 发明中提出了两种方法,分别是动态邻居调整方法以及候选节点选择 方法。同时,本发明包括两个装置,分别是索引服务器以及客户端的 流媒体管理器。其中安装并使用了流媒体管理器的主机组成了 P2P 流媒体网络中的节点。通过P2P流媒体网络中的节点定期与索引服 务器进行交互,索引服务器可以收集各个节点的当前播放位置和下载 情况,从而协助各节点搭建一个基于播放位置和下载速度的拓扑结 构。
应该理解,以上描述仅仅是示例性的,本领域技术人员在不脱 离本发明的精神的情况下可以对本发明进行各种修改和变形。
18
权利要求
1.一种P2P流媒体网络的拓扑构建方法,所述P2P流媒体网络包括索引服务器,所述方法的特征在于包括以下步骤多个节点向索引服务器进行注册以加入P2P流媒体网络;加入到P2P流媒体网络中的节点收集本节点的节点信息并在与索引服务器交互时向索引服务器发送所收集到的节点信息;索引服务器在接收到来自加入到P2P流媒体网络中的节点的节点信息后,根据接收到的节点信息选择加入到P2P流媒体网络中的节点中的一部分节点,之后将所选择的节点的节点信息发送给与索引服务器进行交互的节点;以及与索引服务器进行交互的节点根据从索引服务器接收到的节点信息与P2P流媒体网络中的其它节点进行连接。
2. 如权利要求l所述的方法,其特征在于,与索引服务器进行 交互的节点根据从索引服务器接收到的节点信息动态地选择不同的 节点进行连接。
3. 如权利要求2所述的方法,其特征在于,在从索引服务器接 收到节点信息后,与索引服务器进行交互的节点并不与接收到的节点 信息所代表的全部节点进行连接,而是通过探测消息探测其与接收到 的节点信息所代表的全部节点间的传输延迟,从而选择一些传输延迟 较小的节点进行连接。
4. 如权利要求3所述的方法,其特征在于, 一个与索引服务器进行交互的节点把与其连接的节点分成两类主动连接邻居,也就是 该节点根据从索引服务器接收到的节点信息而要主动连接的节点;和 被动连接邻居,也就是主动向该节点发起连接的节点,其中,该节点保持固定数目的主动连接邻居,当从索引服务器 接收到新的节点信息时,该节点根据通过所述探测消息得到的传输延迟来选择传输延迟小的节点作为主动连接邻居,从而替代原先与该节 点连接的传输延迟较大的节点。
5. 如权利要求l所述的方法,其特征在于,在从索引服务器接 收到节点信息后,与索引服务器进行交互的节点与接收到的节点信息 所代表的全部节点进行连接。
6. 如权利要求l所述的方法,其特征在于,当一个节点向索引 服务器进行注册以加入P2P流媒体网络时,该节点向索引服务器发送注册消息并将其作为该节点的节点信息,所述注册消息包括该节点 的节点IP地址、节点当前播放位置、节点下载速度、和节点上载速度,其中所述节点下载速度和所述节点上载速度都是0。
7. 如权利要求l所述的方法,其特征在于,加入到P2P流媒体 网络中的节点的节点信息包括该节点的节点IP地址、节点当前播放 位置以及节点下载速度。
8. 如权利要求7所述的方法,其特征在于,加入到P2P流媒体 网络中的节点的节点信息还包括该节点的节点上载速度。
9. 如权利要求8所述的方法,其特征在于,加入到P2P流媒体 网络中的节点将心跳消息作为节点信息周期性地发送给索引服务器, 以完成与索引服务器的交互,这个心跳消息包括该节点的节点IP地 址、节点当前播放位置、节点下载速度、和节点上载速度。
10. 如权利要求6至9之一所述的方法,其特征在于,加入到 P2P流媒体网络中的节点根据该节点的节点当前播放位置从P2P流 媒体网络中的其它节点下载流媒体数据。
11. 如权利要求IO所述的方法,其特征在于,加入到P2P流媒体网络中的节点为其它节点上载流媒体数据。
12. 如权利要求6至9之一所述的方法,其特征在于,索引服务器为每个流媒体文件保存一个节点列表,该节点列表包括从接收到的 节点信息中获得的多个节点的节点当前播放位置,索引服务器根据节 点当前播放位置对节点列表中的由节点信息代表的多个节点进行排 序,并且根据排序的结果选择出节点当前播放位置靠前的节点,之后 将选择出的节点的节点信息发送给与索引服务器进行交互的节点。
13. 如权利要求12所述的方法,其特征在于,节点列表还包括 从接收到的节点信息中获得的多个节点的节点下载速度,在从所述节 点列表中选择出节点当前播放位置靠前的节点后,索引服务器根据节 点下载速度对选择出的节点进行排序,从而选择出下载速度较大的节 点,并将这些下载速度较大的节点的节点信息发送给与索引服务器交 互的播放所述流媒体文件的节点。
14. 一种索引服务器,其用在P2P流媒体网络中,其特征在于包括交互单元,当多个节点向索引服务器进行注册以加入P2P流媒 体网络或者P2P流媒体网络中的节点向索引服务器发送节点信息或 从索引服务器接收节点信息时,交互单元用于和节点进行交互;节点信息管理单元,用于对交互单元接收到的来自多个节点的节点信息进行管理;以及选择单元,根据节点信息管理单元所管理的节点信息选择加入 到P2P流媒体网络中的节点中的一部分节点,之后将所选择的节点 的节点信息通过交互单元发送给与索引服务器进行交互的节点。
15. 如权利要求14所述的索引服务器,其特征在于,节点信息 管理单元为P2P流媒体网络中的每个流媒体文件保存一个节点列表, 该节点列表包括从接收到的节点信息中获得的多个节点的节点当前播放位置和节点下载速度,节点信息管理单元根据节点当前播放位置 对节点列表中的由节点信息代表的多个节点进行排序,并且选择单元根据节点信息管理单元对节点列表中的多个节点进行排序的结果选择出节点列表中的节点当前播放位置靠前的节点,节点 信息管理单元进一步根据节点下载速度对选择出的节点当前播放位 置靠前的节点进行排序,从而选择出下载速度较大的节点,之后选择 单元将选择出的下载速度较大的节点的节点信息通过交互单元发送 给与索引服务器进行交互的节点。
16. —种流媒体管理器,其被设置在将要加入到或已经加入到 P2P流媒体网络的节点中,所述P2P流媒体网络包括索引服务器,该 流媒体管理器特征在于包括-交互单元,当包括所述流媒体管理器的本节点向索引服务器进 行注册以加入P2P流媒体网络或者本节点向索引服务器发送所收集 到的本节点的节点信息或从索引服务器接收节点信息时,交互单元用 于和索引服务器进行交互;下载单元,在本节点已经加入P2P流媒体网络之后,根据由交 互单元从索引服务器接收到的节点信息与其它节点进行连接;以及播放单元,用于获取本节点的流媒体数据并播放。
17. 如权利要求16所述的流媒体管理器,其特征在于,所述下 载单元包括选择模块,选择模块根据由交互单元从索引服务器接收到 的节点信息动态地选择不同的节点,以便所述下载单元与所选择的节 点进行连接。
18. 如权利要求17所述的流媒体管理器,其特征在于所述下载 单元还包括探测模块,在交互单元从索引服务器接收到节点信息后, 下载单元并不与由交互单元接收到的节点信息所代表的全部节点进行连接,而是由探测模块发出探测消息来探测下载单元与由交互单元 接收到的节点信息所代表的全部节点间的传输延迟,从而由选择模块选择一些传输延迟较小的节点以便下载单元与所选择的节点进行连 接。
19. 如权利要求18所述的流媒体管理器,其特征在于,流媒体管理器把与本节点连接的节点分成两类主动连接邻居,也就是本节 点根据由交互单元从索引服务器接收到的节点信息而要主动连接的 节点;和被动连接邻居,也就是主动向本节点发起连接的节点,其中,流媒体管理器为本节点保持固定数目的主动连接邻居, 当交互单元从索引服务器接收到新的节点信息时,本节点的流媒体管 理器的下载单元根据通过所述探测消息得到的传输延迟来选择传输 延迟小的节点作为主动连接邻居,从而替代原先与本节点连接的传输 延迟较大的节点。
20. 如权利要求16所述的流媒体管理器,其特征在于,在交互 单元从索引服务器接收到节点信息后,下载单元与由交互单元接收到 的节点信息所代表的全部节点进行连接。
21. —种P2P流媒体网络,其特征在于包括如权利要求14所述 的索引服务器和多个节点,其中所述节点包括如权利要求16所述的 流媒体管理器。
全文摘要
本发明公开了一种P2P流媒体网络的拓扑构建方法、一种索引服务器、一种流媒体管理器、和一种P2P流媒体网络。为达到构建优化的低延迟P2P流媒体网络拓扑结构的目的,本发明中提出了两种方法,分别是动态邻居调整方法以及候选节点选择方法。同时,本发明包括两个装置,分别是索引服务器以及客户端的流媒体管理器。其中安装并使用了流媒体管理器的主机组成了P2P流媒体网络中的节点。通过P2P流媒体网络中的节点定期与索引服务器进行交互,索引服务器可以收集各个节点的当前播放位置和下载情况,从而协助各节点搭建一个基于播放位置和下载速度的拓扑结构。
文档编号H04L29/08GK101651708SQ200910088670
公开日2010年2月17日 申请日期2009年7月7日 优先权日2009年7月7日
发明者丰 劳, 燕 庞, 张行功, 郭宗明 申请人:北京大学;北大方正集团有限公司;北京北大方正电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1