专利名称:基于对等互连的多点视频会议系统的应用层组播方法
技术领域:
本发明涉及一种应用层组播方法,特别是一种基于对等互连的多点视频会议系统的应用层组播方法。属于通信中的视频会议系统领域。
背景技术:
近年来越来越多的视频会议系统被部署到互联网上。然而传统的大规模的视频会议系统都是集中式的,需要很多专用的多点控制单元来负责视音频数据流的处理和控制。比如说,Megaconference是目前世界上规模最大的视频会议系统之一,它的一个会议超过了200个客户,使用了25个多点控制单元。这种集中式的特性需要投入大量的专用多点控制单元,并且容易导致单点故障,以及不能有效地使用网络资源。目前美国有40%的家庭用户上网的时候使用了即时消息软件。其中AOL即时消息软件有超过2200万使用者,MSN即时消息软件有1570万使用者,Yahoo即时消息软件有1240万使用者,ICQ有440万使用者。但这些即时消息软件都没有多点视频会议的功能。假设MSN即时消息软件对于1570万使用者提供集中式的多点视频会议服务,需要提供15,700,000×0.01×0.125=19625个多点控制单元(假设1%的用户同时使用多点视频会议服务,并且每个多点控制单元可以同时支持8个用户),购买多点控制单元和租用带宽是一笔非常巨大的开支。
经文献检索发现,Stoca在“ChordA scalable peer-to-peer lookup servicefor Internet applications(Chord一个适用于互联网应用的可伸缩对等查找服务)”(ACM SIGCOMM,San Diego,CA,USA,2001,pp.149-160《美国计算机协会数据通信专业组2001年年会会议集》,第149-160页)这篇文章中,提出了一个基于分布式哈希表的对等查找算法,对于N个对等节点构成的Chord网络,每个节点只需要跟踪logN个其它节点的信息,当一个对等体加入或者退出,只需要通知logN个其它对等节点改变其应用层路由表。这种分布式哈希表路由算法的好处是可伸缩性好,缺点是其构造的应用层覆盖网络和IP层覆盖网络不一致,延时大,带宽低,不能在上面做实时视音频应用层组播。
发明内容
本发明的目的在于针对现有技术存在的缺陷或不足,提供一种基于对等互连的多点视频会议系统的应用层组播方法,使其使用分布式选举算法来选举整个视频会议的“对等体协调者”,来协调视频会议的组织和视音频数据的处理/控制,不需要专用的多点控制单元;使用基于分布式哈希表和区域聚类的算法来得到转发候选者的列表,以即时消息软件的插件形式存在,使用基于即时消息软件的好友列表的算法来构造转发候选者的列表,这两个算法使得应用层组播网络和IP层覆盖网络一致,延时小,带宽大;使用多棵应用层组播树和多描述编码来改善视音频传输的质量。
本发明是通过以下技术方案实现,本发明基于对等互连的多点视频会议系统的应用层组播方法,方法步骤如下A、从即时消息软件中激活“对等互连多点视频会议”插件,选择参加会议的人;B、在会议的参与者中使用分布式选举算法选举会议的“对等体协调者”,来协调视频会议的组织和视音频数据的处理/控制;C、使用基于分布式哈希表和区域聚类的算法来得到转发候选者的列表;D、使用基于好友列表的算法来构造转发候选者列表;E、由步骤A选举产生的“对等体协调者”把步骤C和D得到的候选者插入到多棵应用层组播树里面,一棵应用层组播树负责分发一路描述编码的视音频编码流。
以下对本发明方法作进一步的说明,具体内容如下●所述的步骤A,具体如下A1、用户在即时消息软件中激活“对等互连多点视频会议”插件,在插件的在线好友名单里面,选择期望的人,邀请其加入;A2、被邀请人如果也装了“对等互连多点视频会议”插件,则插件会弹出提示,被邀请人选择接受邀请或者拒绝邀请;A3、被邀请人如果没有装“对等互连多点视频会议”插件,则自动为拒绝邀请;A4、可以反复执行步骤A1到A3,来邀请多个人加入会议。
●所述的步骤B,当用户安装了“对等互连多点视频会议”插件,并且加入到会议中时,具体如下B1、当会议的参与者P发现会议中没有“对等体协调者”或者“对等体协调者”不响应的时候,就发起一个选举,发送SELECTION消息给所有的参与者,里面包含自己的即时消息软件的登录名;B2、如果没有参与者响应,P就在这次选举中获胜,成为“对等体协调者”;B3、如果存在参与者的即时消息软件的登录名比P大,就会响应,P自动退出这次选举。这样导致的结果是即时消息软件的登录名大的参与者总是获得“对等体协调者”选举的胜利,来协调视频会议的组织和视音频数据的处理/控制。
●所述的步骤C,当“对等体协调者”产生后,具体如下C1、把所有的对等体利用分布式哈希表算法连成一个分布式哈希表覆盖网络;C2、每个对等体查本地的IP地址和网络区域信息的数据库,得到区域代码;C3、每个对等体把区域代码通过分布式哈希算法转换成哈希值;C4、通过分布式哈希表覆盖网络把IP发送到哈希值所对应的对等体保存,从而把属于相同网络区域的对等体聚类在一起;C5、通过分布式哈希表算法查询得到同一网络区域的对等体的IP列表。
●所述的步骤D,当“对等体协调者”产生后,具体如下D1、把会议中有外部IP的参与者放入整个会议的好友列表中;D2、对于整个会议的好友列表,把其中的每一个元素的好友列表加入到整个会议的好友列表中;D3、如果这样得到的整个会议的好友列表少于某个数值(例如为5*N,N是整个会议参与者的人数),反复执行步骤D2三次,直到获得足够的好友数目或者退出。
●所述的步骤E,在得到候选者列表后,具体如下E1、当有新的节点加入,在每个应用层组播树里找到其父节点,建立其和父节点的双向链接;E2、当有节点主动离开时,在每个应用层组播树里把这个节点和其原有的父节点以及子节点脱离关系。然后把这个节点的所有子节点置为新加入的节点,按照步骤E1处理;E3、当有节点发生故障时,“对等体协调者”每隔一定时间(例如说30秒)检查一次所有节点的状况,如果连续三次不响应,则视为主动离开,按照步骤E2处理。
本发明具有实质性特点和显著进步,本发明提出了一种基于对等互连的多点视频会议系统的应用层组播方法,不需要大量的专用多点控制单元,它使用分布式的对等实体构造应用层组播树来转发实时视音频数据,并使用多个应用层组播树和多描述编码来保证视音频传输的质量。
图1为本发明基于多描述编码的多棵应用层组播树结构示意2为本发明基于分布式哈希表和网络区域的聚类算法流程3为本发明基于好友列表算法流程4为本发明基于多描述编码的多棵应用层组播树集中式管理算法流程5为本发明多描述编码结构图具体实施方式
以下结合附图对本发明的实施方式进一步的详细描述。具体如下A、从即时消息软件中激活“对等互连多点视频会议”插件,选择参加会议的人;B、在会议的参与者中使用分布式选举算法选举会议的“对等体协调者”,来协调视频会议的组织和视音频数据的处理/控制;C、使用基于分布式哈希表和区域聚类的算法来得到转发候选者的列表;D、使用基于好友列表的算法来构造转发候选者列表;E、由步骤A选举产生的“对等体协调者”把步骤C和D得到的候选者插入到多棵应用层组播树里面,一棵应用层组播树负责分发一路描述编码的视音频编码流。
●所述步骤A,包括下列步骤A1、用户在即时消息软件中激活“对等互连多点视频会议”插件,在插件的在线好友名单里面,选择期望的人,邀请其加入;A2、被邀请人如果也装了“对等互连多点视频会议”插件,则插件会弹出提示,被邀请人选择接受邀请或者拒绝邀请;A3、被邀请人如果没有装“对等互连多点视频会议”插件,则自动为拒绝邀请;A4、可以反复执行步骤A1到A3,来邀请多个人加入会议。
所述步骤C算法流程如图2所示,当“对等体协调者”产生后,它包括下列步骤C1、把所有的对等体利用分布式哈希表算法连成一个分布式哈希表覆盖网络;C2、每个对等体查本地的IP地址和网络区域信息的数据库,得到区域代码;C3、每个对等体把区域代码通过分布式哈希算法转换成哈希值;
C4、通过分布式哈希表覆盖网络把IP发送到哈希值所对应的对等体保存,从而把属于相同网络区域的对等体聚类在一起;C5、通过分布式哈希表算法查询得到同一网络区域的对等体的IP列表。
举例说明如下(1)假设通过分布式哈希表构造了一个具有10000个节点的覆盖网络。给定一个对等体Peer_1,假设它的IP是202.120.8.34,通过查询“IP与网络区域匹配数据库”,(它包括“IP范围起始”,“IP范围中止”,“国家”,“网络提供商”和“网络区域代码”),知道它的网络区域代码是“上海交大校园网”,然后把这个代码通过分布式哈希算法处理得到哈希值K1。在分布式哈希表覆盖网络中由节点P1来对应这个哈希值K1,因此Peer_1发送给覆盖网络的消息“JOIN 202.120.8.34 TO K1”被路由给了P1。
(2)对于第二个对等体Peer_2,假设它的IP是202.120.34.8,可以得到“IP与网络区域匹配数据库”,从而知道它的网络区域代码是“上海交大校园网”,然后把这个代码通过分布式哈希算法处理得到哈希值K1。Peer_2使用lookup(K1)函数,得到同一个网络区域的对等体列表,这个例子中lookup(K1)返回的是Peer_1的IP地址202.120.8.34。执行lookup(K1)函数最多花费log10000=5个对等体应用层路由跳转。
(3)对于第三个对等体Peer_3,假设它的IP是202.120.69.8,可以得到“IP与网络区域匹配数据库”,从而知道它的网络区域代码是“上海医科大学校园网”,然后把这个代码通过分布式哈希算法处理得到哈希值K2。Peer_3使用lookup(K1)函数,得到同一个网络区域的对等体列表,这个例子中lookup(K1)返回的是空。因此它查询同一个网络服务提供商的其他网络区域,例如“上海交大校园网”,然后把这个代码通过分布式哈希算法处理得到哈希值K1。Peer_3使用lookup(K1)函数,得到同一个网络区域的对等体列表,这个例子中lookup(K1)返回的是Peer_1的IP地址202.120.8.34和Peer_2的IP地址202.120.34.8。执行lookup(K2)和lookup(K1)函数最多花费2*log10000=10个对等体应用层路由跳转。
●所述步骤D的算法流程如图3所示,当“对等体协调者”产生后,它包括下列步骤D1、把会议中有外部IP的参与者放入整个会议的好友列表中;
D2、对于整个会议的好友列表,把其中的每一个元素的好友列表加入到整个会议的好友列表中;D3、如果这样得到的整个会议的好友列表少于某个数值(例如为5*N,N是整个会议参与者的人数),反复执行步骤D2三次,直到获得足够的好友数目或者退出。
●所述步骤E的算法流程如图4所示,在得到候选者列表后,它包括下列步骤E1、当有新的节点加入,在每个应用层组播树里找到其父节点,建立其和父节点的双向链接;E2、当有节点主动离开时,在每个应用层组播树里把这个节点和其原有的父节点以及子节点脱离关系,然后把这个节点的所有子节点置为新加入的节点,按照步骤E1处理;E3、当有节点发生故障时,“对等体协调者”每隔30秒检查一次所有节点的状况,如果连续三次不响应,则视为主动离开,按照步骤E2处理。
如图5所示,多描述编码对同一视频内容采用多种方式进行描述,把原始的视频序列压缩成多位流,每个流对应一种描述,每一种描述都可以获得可接受的视频质量,多种描述方式结合起来可以使视频质量得到增强;该方法的优点是实现了对数据丢失的健壮性和增强的质量,提供了实时视音频数据的冗余。它的结构如图5所示,包含了一个编码器、两路描述流和三个解码器,多描述编码器把视音频源编码为两路描述流,三个解码器分别可以收到部分或者全部的描述流。其中解码器1(D1)只收到第一路描述编码流,解码器O(DO)收到全部两路描述编码流,解码器2(D2)只接收到第二路描述编码流。虽然D1和D2解码器各自丢失了一路描述编码流,但都可以独立解码出视音频,DO解码器收到了全部描述编码流,所以能解码出比D1和D2更高质量的视音频。
多棵应用层组播树实时分发视音频数据流如图1所示,传统的单棵应用层组播树的中间节点负载了所有的组播数据转发流量。在一棵平衡f叉树中的第k层,中间节点的数目是 叶结点的数目是fk,因此叶节点的数目是中间节点的f倍。对于平衡16叉树,超过90%的节点是叶节点,所有的组播数据转发流量由不到1O%的中间节点来承受。如果所有的节点拥有相同的输入带宽,中间节点需要的输出带宽是输入带宽的16倍。为了解决这种网络带宽负载不平衡的问题和提高网络传输的质量,结合多描述编码提出了基于多描述编码的多棵应用层组播树来实时分发视音频数据流。它使用不同的组播树分发不同描述的视音频流,克服了单棵应用层组播树分发的单点故障的问题,提供了网络分发的冗余,通过把所有的组播数据转发流量平均分摊到所有的节点减轻了网络负载的不平衡。一个视音频源被编码为k路不同的描述编码流,由k棵不同的应用层组播树分发,每个对等体根据自己的带宽选择在m棵组播树中接收m路编码流(m<=k)。图1是k=2的情况下的示意图,节点1把视音频源分为第一路视音频描述编码流和第二路视音频描述编码流。第一棵组播树在图1中用实线表示,节点1是节点8的父节点,节点8又是节点7和节点4的父节点等等。第二棵组播树在图1中用虚线表示,节点1是节点2的父节点,节点2又是节点6和节点3的父节点等等。假设每路描述编码流的带宽是B/2,由图1可以看出,每个节点的最多流入带宽是B,最多流出带宽也是B。而单棵平衡二叉组播树的最大流出带宽是2B。
权利要求
1.一种基于对等互连的多点视频会议系统的应用层组播方法,其特征在于,方法步骤如下A、从即时消息软件中激活对等互连多点视频会议插件,选择参加会议的人;B、在会议的参与者中使用分布式选举算法选举会议的对等体协调者,来协调视频会议的组织和视音频数据的处理/控制;C、使用基于分布式哈希表和区域聚类的算法来得到转发候选者的列表;D、使用基于好友列表的算法来构造转发候选者列表;E、由步骤A选举产生的对等体协调者把步骤C和D得到的候选者插入到多棵应用层组播树里面,一棵应用层组播树负责分发一路描述编码的视音频编码流。
2.根据权利要求1所述的基于对等互连的多点视频会议系统的应用层组播方法,其特征是,所述的步骤A,具体如下A1、用户在即时消息软件中激活对等互连多点视频会议插件,在插件的在线好友名单里面,选择期望的人,邀请其加入;A2、被邀请人如果也装了对等互连多点视频会议插件,则插件会弹出提示,被邀请人选择接受邀请或者拒绝邀请;A3、否则,则自动为拒绝邀请;A4、或者反复执行步骤A1到A3,来邀请多个人加入会议。
3.根据权利要求1所述的基于对等互连的多点视频会议系统的应用层组播方法,其特征是,所述的步骤B,当用户安装了对等互连多点视频会议插件,并且加入到会议中时,具体如下B1、当会议的参与者P发现会议中对等体协调者的个数为零,或者对等体协调者停止响应的时候,就发起一个选举,发送SELECTION消息给所有的参与者,里面包含自己的即时消息软件的登录名;B2、如果响应的参与者个数为零,P就在这次选举中获胜,成为对等体协调者;B3、如果存在参与者的即时消息软件的登录名比P大,就会响应,P自动退出这次选举。
4.根据权利要求1所述的基于对等互连的多点视频会议系统的应用层组播方法,其特征是,所述的步骤C,当对等体协调者产生后,具体如下C1、把所有的对等体利用分布式哈希表算法连成一个分布式哈希表覆盖网络;C2、每个对等体查本地的IP地址和网络区域信息的数据库,得到区域代码;C3、每个对等体把区域代码通过分布式哈希算法转换成哈希值;C4、通过分布式哈希表覆盖网络把IP发送到哈希值所对应的对等体保存,从而把属于相同网络区域的对等体聚类在一起;C5、通过分布式哈希表算法查询得到同一网络区域的对等体的IP列表。
5.根据权利要求1所述的基于对等互连的多点视频会议系统的应用层组播方法,其特征是,所述的步骤D,当对等体协调者产生后,具体如下D1、把会议中有外部IP的参与者放入整个会议的好友列表中;D2、对于整个会议的好友列表,把其中的每一个元素的好友列表加入到整个会议的好友列表中;D3、如果这样得到的整个会议的好友列表少于某个数值,反复执行步骤D2三次,直到获得足够的好友数目或者退出。
6.根据权利要求1所述的基于对等互连的多点视频会议系统的应用层组播方法,其特征是,所述的步骤E,在得到候选者列表后,具体如下E1、当有新的节点加入,在每个应用层组播树里找到其父节点,建立其和父节点的双向链接;E2、当有节点主动离开时,在每个应用层组播树里把这个节点和其原有的父节点以及子节点脱离关系,然后把这个节点的所有子节点置为新加入的节点,按照步骤E1处理;E3、当有节点发生故障时,对等体协调者每隔一段时间检查一次所有节点的状况,如果连续三次停止响应,则视为主动离开,按照步骤E2处理。
全文摘要
一种基于对等互连的多点视频会议系统的应用层组播方法,属于通信领域。方法步骤如下A.从即时消息软件中激活对等互连多点视频会议插件,选择参加会议的人;B.在会议的参与者中使用分布式选举算法选举会议的对等体协调者,来协调视频会议的组织和视音频数据的处理/控制;C.使用基于分布式哈希表和区域聚类的算法来得到转发候选者的列表;D.使用基于好友列表的算法来构造转发候选者列表;E.由步骤A选举产生的对等体协调者把步骤C和D得到的候选者插入到多棵应用层组播树里面,一棵应用层组播树负责分发一路描述编码的视音频编码流。本发明使应用层组播网络和IP层覆盖网络一致,延时小,带宽大,改善了视音频传输的质量。
文档编号H04N7/15GK1529502SQ20031010796
公开日2004年9月15日 申请日期2003年10月16日 优先权日2003年10月16日
发明者谢波, 刘吟, 申瑞民, 刘文印, 蒋昌俊, 谢 波 申请人:上海交通大学