APP下载

基于分簇P2P的多跳无线mesh网络资源检索与分发算法

2012-08-06文吉刚谢鲲谢高岗张广兴李仁发

通信学报 2012年11期

文吉刚,谢鲲,谢高岗,张广兴,李仁发

(1. 中国科学院 计算技术研究所,北京 100190;2. 湖南大学 信息科学与工程学院,湖南 长沙 410082)

1 引言

多跳无线mesh网络(wireless mesh networks)作为一种动态自组织、自配置的网络,具有高度灵活性、健壮性、高带宽、易维护等特点,可为用户提供各种各样的应用,如宽带家庭网络、社区网络、企业网络,建筑自动化等,并有望成为下一代无线接入网的标准技术[1~3]。

为提高无线网络中的资源共享效率,加速资源下载速度,P2P技术以其网络带宽利用率高、下载速度快等特点,已经越来越被研究人员重视并应用到无线网络中。现有的无线网络P2P技术研究主要集中在如何发现节点及如何选择提供下载服务节点以降低资源的下载时间。相对于有线网络而言,多跳无线mesh网络具有有限的带宽和多跳转发的复杂无线环境,在进行P2P资源管理中存在如下挑战。

1) 传统P2P资源共享方式中,每个网络节点都是同等地对待,以形成资源共享P2P覆盖网结构。然而,多跳无线mesh网络由2种节点组成,mesh路由器节点(mesh router)和移动客户端节点 (mobile client),如图1所示。mesh路由器通常具有2种基本功能,作为mesh网络的骨干链路,完成数据分组的转发功能;作为移动客户端的接入节点(access point),负责移动客户端的网络接入。若在多跳无线mesh网络中仍然采用传统的方式,不对mesh路由器节点和移动客户端节点进行区分,而是均等地对待每个网络节点来组建P2P覆盖网络,将会产生极大的带宽浪费。

图1 多跳无线mesh网络结构

2) 在多跳无线mesh网络中,mesh路由器节点通过无线链路自动建立和维护相互之间的连接。移动客户端节点通过mesh路由器节点的接入服务实现互连互通。连接在同一个mesh路由器节点上的多个移动客户端节点进行资源的上传和下载时,所有的数据分组都是通过mesh路由器进行转发,且通过竞争的方式获得mesh路由器的上传和下载带宽。如果不考虑这种物理上的连接关系,仍然采用传统的方式组建P2P覆盖网络,将使得无线mesh网络的物理拓扑和P2P覆盖网的逻辑拓扑严重不一致,从而降低P2P资源共享的效率。

3) 多跳无线mesh网络中,mesh路由器一经部署,一般处于准静止的状态。与mesh路由器节点不同的是,移动客户端节点通常具有有限的能量和高度的移动性。使用移动客户端作为资源传输源节点时,移动客户端在无线mesh网络中移动会产生网络切换,切换的延时可能会导致资源下载的中断,引起资源传输路由的不稳定,最终会严重影响P2P应用的性能(如P2P流媒体传输)。

因此,设计多跳无线mesh网络中的P2P结构、资源检索和分发协议时,需要将无线mesh网的拓扑结构特点和移动客户端的移动性作为重要因素进行考虑,以提高资源下载的稳定性,降低资源下载的延时和中断。为了解决上述挑战,本文提出了一种基于分簇P2P的多跳无线mesh网络资源密度敏感的资源检索和分发算法。为有效利用多跳无线mesh网络的无线资源,根据无线mesh网络中拓扑结构和不同类型节点的特征,将多跳无线mesh网络建模成分簇P2P结构;为了降低资源发布的开销,使用结构精简的布鲁姆过滤器作为资源表示的数据结构,并作为消息在无线网络中传输;为了提高资源下载服务的稳定性,提出了资源密度敏感的资源检索和分发算法。在进行资源检索时,将无线网络中移动客户端的资源下载请求转发到拥有资源副本最多的P2P分簇中;在进行资源分发时,利用簇头的协调能力,当节点移动时选择本簇内的副本节点继续提供下载服务,最大程度地降低由于节点的移动性而产生的资源下载中断和下载的不稳定性。

2 相关工作

在无线网络中研究P2P分发技术,成为P2P技术研究的新的挑战和热点。如文献[4]中提出了一种面向拥塞失真优化分布式的速率分配框架,该框架是一种基于联合媒体敏感和网络敏感的跨层资源分配框架。文献[5]中提出了一种在无线多跳网络中的基于价格的公平速率分配算法,该算法基于MAC层的时间限制在动态无线网络中进行公平的速率分配。文献[6]中联合网络编码研究多播树的资源分配问题。文献[7]提出一种接受者驱动的分发框架,在这个框架中进行数据分发时分为2轮,首先新的内容在全网范围内迅速地扩散,然后节点之间再交换所需的信息。

为了降低P2P中消息传输开销,学者们提出了一种超级节点的P2P网络结构,对节点分簇来改善P2P的组织结构[8~10]。在该网络中的一组节点构成一个节点簇,超级节点簇头负责管理它内部的多个节点的通信。通过这种分簇的方式,整个P2P网络的管理就分散到各个超级节点,网络整体性能得到了明显的提升[8,11~13]。文献[14]表明基于物理网络临近节点构造分簇P2P覆盖网可以大大提高消息的传输性能。在资源共享的应用中,将共享相似资源的节点划分为一个分簇。这样在处理资源查询请求时,通过将资源下载请求消息路由到相对应的分簇,在簇内完成深度的内容检索,提高资源检索的性能[14~16]。文献[17]利用分簇网络中的低簇间网络延时的特性,将并行程序的各个并行部分分散到簇内的多个站点执行[18]。

与现有分簇P2P类似的是,在进行多跳无线mesh网络建模时,直接利用多跳无线mesh网络的特点,将物理网络临近的节点构造成P2P分簇。不同的是,为了有效利用无线网络资源和无线mesh网络中的上下行带宽,通过区分对待无线mesh网络的节点,直接将无线mesh 路由器和与之关联的移动客户端节点分为一个资源共享簇。

3 网络模型和问题描述

3.1 网络模型

首先,将多跳无线 mesh网络建模为分簇P2P结构。相对于移动客户端节点而言,mesh路由器节点通常处于有源的静止状态,且具有更高的处理能力、带宽和能量。因此,在选择簇头时,使用mesh路由器节点作为簇头。本文所设计的分簇P2P在资源检索和控制层面上采用2层设计,如图2所示。一层是由 mesh路由器节点组成的有结构网络,另一层是由移动客户节点组成的无结构P2P 网络。整个 mesh网络被分成多个区域。每簇包含一个无线mesh路由器节点和若干个与之相关联的移动客户端节点。移动客户端节点只与簇头 mesh路由器节点通信,簇头与簇头构成高一级的虚拟骨干网,负责簇内的数据融合和簇间数据转发。

更进一步,用G = (V,E)表示无线mesh网络。其中,V表示节点集合,E表示边的集合。任意的节点 v∈V表示无线 mesh网络中的实际网络节点(包括mesh路由器节点集合Vr和移动客户端节点结合Vc)。对于任何节点u和v∈Vr,若2节点可以通过无线链路直接进行通信,则存在边edge (u, v)∈E。整个无线网络由多个分簇组成{V1, V2, V3,…,Vk}。每个簇由一个无线mesh路由器和与之关联的移动客户端节点构成,即Vi={vi,所有与Vi关联移动客户端,且 u∈Vc,Vi∈Vr}。

图2 基于分簇的多跳无线mesh网络建模

与现有的802.11无线网络协议相一致,假设移动客户端节点与 mesh路由器为单连接关系,即每个移动客户端在同一时刻能且仅能和一个 mesh路由器关联。即使移动客户端在多个 mesh路由器的覆盖范围内,每个移动客户端也只能与一个无线mesh路由器关联。那么多跳无线mesh网络的分簇P2P 结构{V1, V2, V3,…, Vk}(Vi⊆V, 1≤i≤k) 其实是G的一个覆盖,满足条件 V1∪V2∪V3∪…∪Vk= V且 Vi∩ Vj=φ(1≤i<j≤k)。每个 mesh 路由器节点负责该簇资源的管理,每个移动客户端节点组成分簇P2P结构中的节点。本文将基于分簇P2P结构实现无线mesh网络中的资源共享和传输优化。

移动客户端节点可以是使用iOS、Android系统等智能终端、笔记本等多种上网设备,它们通过与之关联的 mesh路由器从无线 mesh网络下载资源。将无线 mesh网络设计为分簇P2P结构是为了利用多跳无线 mesh网络中内部拥有的资源实现资源共享。

3.2 问题描述

在多跳无线mesh网络进行P2P资源管理有2个方面的特点。

一方面,副本的存在是提高P2P 系统的可扩展性、容错性、可用性和减少查询响应时间的有效手段。因为多个移动客户端节点存储了资源的多个副本,所以使用分簇P2P来建模无线mesh网络时,每个簇下可能有多个副本。另一方面,在无线mesh网络中部署P2P,移动客户端节点具有有限的能量和高度移动性。要提高无线 mesh网络中资源查找效率,就必须考虑到移动终端节点的移动性,降低由于节点移动而带来的资源下载中断和不稳定性。

为解决多跳无线 mesh网络中高效资源检索的问题,利用多副本带来的高容错性和可用性,将资源下载请求消息直接发送到资源密度最大的分簇,利用簇内拥有多个资源副本备份为请求节点提供持续的资源下载服务,可以最大化降低由于节点移动性时网络切换而带来的资源下载中断,并减少由于重新路由而带来的资源下载不稳定性。设定G =(V,E)和资源下载请求的移动客户端节点iv′∈Vc,找一条连接资源最密集分簇簇头的资源下载路径P(P连接Vi和Vj,其中,Vi是iv′的super-node节点,Vj是拥有最多所请求资源副本的簇头),然后利用 Vj中的多个资源备份为iv′提供下载服务。本文称该问题为资源密度敏感的资源检索和分发问题。

4 基于Bloom filter的P2P资源管理

在进行资源管理时,为了资源检索方便,每个移动客户端节点定期将自己存储的资源索引传输给本簇的簇头,簇头存储其所对应簇的全部资源索引信息。因此,在分簇P2P实现资源的查找和管理时,首先需要设计对应的资源检索数据结构,用以表示资源信息并作为消息在多跳无线mesh网络中传递。

由于所设计的资源索引数据结构需要在无线mesh网络传输,所以数据结构的设计应该考虑如下几个因素:1)相比于有线网络,无线网络的带宽资源有限,因此用于表示和传输资源存储信息的数据结构必须是简洁的。2)因为无线网络的数据传输是广播形式,数据在无线网络极易被侦听,因此,为了安全考虑,表示资源存储信息的数据结构必须是保护隐私的。

由于布鲁姆过滤器是一种精简的信息表示方案,它在数据库、覆盖网和P2P网节点协作交互、资源路由、数据帧路由标签、网络测量管理、网络入侵检测、无线网络交互协议设计、流数据管理等方面具有广泛的应用[19],因此,本文使用布鲁姆过滤器作为资源索引的数据结构。

布鲁姆过滤器对集合采用一个位串表示并能有效支持元素的散列查找,它对每个元素的表示只需要几个比特,是一种能够表示集合、支持集合查询的简洁数据结构。布鲁姆过滤器查询算法核心是一个V向量和一组散列函数。设集合S={s1,s2,…,sn}共有n个元素,通过k个散列函数h1,h2,…,hk映射到长度为m的向量V中。通常说布鲁姆过滤器表示汇总信息(summary)就是指这个向量 V,这里的 V向量用BF表示。每一个散列函数相互独立且函数的取值范围为{0,1,2,…,m-1}。集合映射到过滤器时,首先将向量V初始化,将向量V所有bit位置0。当元素插入集合中时,对于每一个元素si,计算hj(si)(1≤j≤k),若 hj(si)=q,则令 BF[q]=1,将向量对应位置置位,完成元素的插入。向量中任何一个位置可能会多次置位,但仅第一次置位有效;当查询元素是否在集合时,对于给定的元素 x,检查向量V的k个位置(h1(x),h2(x),…,hk(x))是否都为1。如果有一个为0,x一定不在集合中;如果全是1,x可能在集合中,也可能不在集合中。此时就可能出现所谓假阳性误判(false positive),即将不属于集合的元素误判断成属于集合中,而不存在假阴性误判(false negative),即永远不会将属于集合中的元素误判为不属于集合中。

传统的树型查询算法和散列查询算法存储空间与元素自身大小及集合规模直接相关,而布鲁姆过滤器查询算法所需空间与元素自身的大小无关,仅仅与元素映射到向量的位数相关,使用m比特的空间表示 n个元素的集合,每个元素平均只需要 m/n比特位,大大节约存储空间。可以看出,布鲁姆过滤器是一种允许存在一定误判的情况下,减少存储空间的散列结构,是查询准确率和存储代价的折衷。

移动客户端节点定期向簇头(mesh路由器节点)发布其存储的资源。在具体的实现中,可以假设每个资源都有对应的资源名称,以这一名称为依据制定散列函数,并以资源名称作为布鲁姆过滤器生成散列映射地址的依据,将每个资源在布鲁姆过滤器中对应的k个bit位置位,具体操作如图3所示。

图3 移动客户端节点的资源索引建立

移动客户端向簇头发布其存储的资源时,将m比特长的布鲁姆过滤器向量传输给簇头。当移动客户端节点向对应的簇头登记存储的资源信息后,每个簇头都缓存着该簇范围内的移动客户端节点的资源目录摘要信息,这些信息都是用布鲁姆过滤器表示的。多个移动客户端节点的资源目录摘要信息在簇头中形成布鲁姆过滤器01矩阵,如图4所示。

图4 簇头存储的多个移动客户端资源索引矩阵

当移动客户端节点移出 mesh路由器的覆盖范围时,移动客户端就会发生网络切换(即将网络关联关系从一个 mesh路由器转到另一个 mesh路由器)。此时移动客户端需要向新关联的簇头发布资源,即传输布鲁姆过滤器位给该簇头mesh路由器,同时向之前关联的簇头撤销资源,即向之前关联的mesh路由器通知之前的布鲁姆过滤器不可用(具体操作可见删除索引矩阵的对应行向量)。

5 基于资源密度的资源检索和分发算法

本文的目的是给定资源请求的移动客户端节点vi′ ∈Vc,找到一条连接资源最密集簇头的路径,保证其资源下载的稳定性和连续性,减少资源消耗并提高下载吞吐量。要找到一条从移动客户端节点到资源最密集簇的簇头,首先必须在簇头对所请求资源进行资源密度评估,统计每个簇的资源分布情况。

因为簇头资源矩阵中每一行都表示一个移动客户端节点存储的资源索引,针对关键字为key1的资源检索过程就可以采用类似于栅格扫描的形式,如图5的阴影表示,如果每一行中栅格位的bit位之和等于k,

图5 基于布鲁姆过滤器的资源密度估计

则表明对应的移动客户端节点有需要请求的资源,否则没有对应的资源。

统计所有等于k的栅格行数,可得该簇中拥有请求资源的移动客户端数目。定义一个簇中拥有请求资源的移动客户端数目为资源密度d。

提出的基于资源密度的资源检索算法分为3个步骤,如下所示。

算法1 基于资源密度的可靠资源检索算法

Step1 移动客户端节点 c将需要请求的资源通过其关联的路由器节点r向TTL范围内的mesh路由器广播。

Step2 收到广播请求的路由器节点评估所管理的簇资源密度,其过程如下:

初始化资源密度为d=0;

利用 k个散列函数将所请求的资源关键字key计算,在对应的布鲁姆过滤器矩阵的k个栅格位置进行扫描;评估完资源密度后,每个 mesh路由器将自己簇中所拥有的资源密度告诉mesh路由器r。

Step3 mesh路由器r比较TTL范围内相邻的多个路由器的资源密度,选择资源密度最大的簇,当多个分簇具有相同的资源密度时,选择最近的分簇为资源请求发送分簇。

Step4 运行最短路径算法,将资源下载请求消息路由到资源密度最大的那个分簇。

当移动客户端在进行资源检索时,首先将需要请求的资源名通过其对应的 mesh路由器在多跳无线mesh网络中广播。然后每个TTL范围内的mesh路由器首先评估所对应分簇的资源密度,即获得本簇内移动客户端节点拥有所请求的资源数量。最后将资源检索请求发送到资源密度最大的分簇。这样,即使拥有资源的某个移动客户端节点移动或断电等其他因素导致暂时无法提供资源下载服务,由于资源下载请求发送到了资源密度最大的那个分簇,所请求资源还是可以从该簇其他拥有资源的节点稳定地传送给该移动客户端。

基于所提出的资源密度检索算法,提出备份节点分发算法。具体思想是基于 mesh路由器作为簇头的协调能力,利用该分簇的多个资源副本备份提供资源下载服务,以最大化降低由于节点移动性而产生的资源下载中断。当提供资源下载的节点 c1由于移动而移出所对应的mesh路由器r的覆盖范围时,由mesh路由器r指定该簇中另外一个拥有资源的移动客户端节点c备给c提供资源下载服务。该过程一直持续下去,直至该簇再也没有可以提供资源的移动客户端节点,否则一直由该簇为c提供资源下载服务。在簇头进行备份节点选择时,可以综合考虑节点能量E、带宽B和节点自身能力C等多种因素。在设计中定义 Fun(i)=αE+βB+λC 为 i节点作为备份节点的能力,选择Fun(i)最大的i节点作为备份节点提供资源下载服务,以最大化P2P下载性能。

为了提供移动环境中持续的资源下载服务,本文提出的资源检索和分发算法可采用 Mobile IP来提供持续的服务。Mesh路由器作为Mobile IP中的家乡代理和外部代理,节点的移动性都需要向mesh路由器发布位置更新和移动更新。管理移动性的具体流程如下:当资源请求节点移动时,需要向之前的家乡代理 mesh路由器发布mobile IP的更新和绑定消息,从而确保数据源节点和该节点的持续通信。当数据源节点移动时,则由该源节点对应的mesh路由器节点指定备份节点提供资源服务,所有与目的移动节点的通信数据都需要由该mesh路由器节点正确地转发到备份节点。

6 仿真实验

仿真实验实现了3种资源检索和2种资源分发机制。其中,所实现的资源检索机制包括:

1) 本文所提出的资源密度敏感的资源检索机制(density)。在进行请求消息发送和确定服务mesh路由器节点的过程中,需要进行资源下载的移动客户端 C1将资源下载请求消息发送到资源最密集簇的mesh路由器节点R1,由R1协调并指定本簇中的移动客户端节点为 C1提供资源传输服务;2) 随机资源检索(random)。C1的资源请求消息会随机地发送给任意一个拥有请求资源的mesh路由器R2,由R2协调并指定本簇中的移动客户端为C1提供资源传输服务;3) 最近资源检索(near)。C1的资源请求消息会发送给最近的拥有请求资源的 mesh路由器 R3,由 R3协调并指定本簇中的移动客户端为C1提供资源传输服务。

所实现的资源分发机制包括:1) 副本备份节点分发机制(replica)。当提供资源下载的节点C由于移动而移出所对应的mesh路由器R的信号覆盖范围时,由R指定该簇中另外一个拥有资源的移动客户端节点C备给C1提供资源下载服务。该过程一直持续下去,直至R下没有可以提供资源的移动客户端节点,否则一直由R所在分簇为C1提供资源下载服务。2) 移动节点分发机制(mobile)。当提供资源下载的节点C由于移动而移出所对应的mesh路由器R的信号覆盖范围时,C会自动选择mesh网络中信号最强的 mesh路由器连接,完成网络切换获得重新连接后继续给C1提供服务。

将上述3种资源检索机制和2种资源分发机制进行组合,在仿真实验中共实现了6种资源检索和分发算法。分别标识为:Density_Replica, Random_Replica, Near_Replica, Density_Mobile, Random_Mobile, Near_Mobile。

仿真平台为NCTUns[20]。如图6所示,由一个6×6的mesh 路由器组成的多跳无线mesh网络,其中,mesh路由器用M进行标记,移动客户端用b进行标记。在NCTUns中将这些mesh路由器都设置在一个子网里。每个mesh router有2个radio,另一个radio用于和其他mesh router进行通信,一个radio用于提供移动客户端的AP访问点的服务。在实验原型图6中,移动客户端节点53作为资源的下载节点。

图6 无线mesh网络仿真环境

本文分别实现了6种检索机制和分发机制的组合实验。其中,在仿真试验的Density_Replica机制中,节点53向资源密度最大的21号mesh路由器索取资源。由于采用备份节点分发的机制,移动客户端节点 41,40,39,38 分别在[0~20],[20~40],[40~60],[60~80]s提供资源的下载服务。Random_Replica机制中,节点53向11号mesh 路由器索取资源。11号mesh路由器的移动客户端节点44,49,47在[0~25],[25~53],[53~80]s 提供资源的下载服务。Near_Replica机制中,节点53首先选取21号mesh路由器索取资源,然后向较近的8,23号mesh 路由器索取资源,移动客户端节点 41,42,47在[0~25],[25~53], [53~80]s提供资源的下载服务。Density_Mobile机制中,节点53向21号mesh 路由器索取资源。移动节点41在[0~80]s提供资源的下载服务,同时节点 41在向 mesh路由器 6号节点移动。Random_Mobile机制中,节点53向11号mesh 路由器索取资源,移动客户端节点44在[0~80]s提供资源的下载服务,与此同时,该移动客户端节点44向mesh 路由器36号节点移动。Near_ Mobile机制中,节点53向8号mesh 路由器索取资源,移动客户端节点41在[0~80]s提供资源的下载服务,且移动客户端节点41向mesh路由器6号节点移动。

图7 下载速率随仿真时间的变化

图 7为资源下载速率随仿真时间的变化趋势图。在图7中,每个实验的头10s进行的是仿真初始化。为了更好地衡量资源下载的性能,表1列出从11~80s各种机制下的资源下载速率均值。为了反映实验结果相对于平均值(mean)的离散程度,以评估资源传输下载的稳定性,表1还列出从11~80s各种机制下的资源下载速率的标准差。

对比相同资源检索机制下的不同资源分发机制。对比Density_replica和Density_Mobile 2种资源分发机制。发现在Density_replica机制中,下载速率维持在一个稳定水平,标准差最小,而Density_Mobile出现了下载速率为0的点,且下载速率标准差较大。这是因为传统的移动节点的分发机制中,当节点移动跳出当前 mesh路由器的覆盖范围时,移动节点首先会扫描周围的 mesh路由器节点,然后断开 mesh路由器节点,并选择信号最强的 mesh路由器节点进行重新关联,完成网络的切换。由于重新关联的切换延时会使得传统的移动节点分发机制出现下载速率为0的现象。除此之外,Density_Mobile下载速率波动较大的另一个原因是移动客户端重新关联了 mesh路由器,导致下载路由路径也发生变化。

表1 平均下载速率和标准差

对比不同资源检索机制下的相同资源分发机制。如 Density_Replica、Random_Replica、Near_Replica。不难发现Random_Replica和Near_Replica中有多个下载速率陡降的点。相对于 Random_Replica和 Near_Replica,本文提出的 Density_Replica能提供更稳定的资源下载服务,拥有最大的平均下载速率和最小的下载速率标准差。这是因为在Density_Replica下,由于所选择的mesh路由器关联了较多拥有资源的移动客户端节点,因此即使一个移动客户端节点移动出 mesh路由器的范围,还有多个移动客户端节点可以提供服务。而其他的2种机制中,当移动客户端移动出mesh路由器的范围时,由于缺少更多地备份移动节点,就需要重新进行网络资源检索,以确定新的 mesh路由器来提供资源分发服务,这个过程亦会造成短暂的资源下载服务中断。

因此,本文提出的基于密度敏感的资源检索和分发算法Density_replica能够取得较高的资源下载速率,并获得最为稳定的资源下载性能。

7 结束语

多跳无线 mesh网络中移动客户端节点拥有大量的资源且具有高度动态性,针对移动客户端节点移动性会带来资源下载的波动,本文将 mesh网络建模为分簇P2P结构,提出基于分簇P2P的资源密度敏感资源检索和分发算法。该算法将无线网络中移动客户端的资源请求转发到拥有资源最多的P2P分簇中,利用多个资源的备份,最大化降低由于节点移动性而产生的资源下载中断导致的性能下降,提高资源下载的稳定性和下载速率。大量的仿真实验结果表明本文所提出的资源检索算法具有较好的资源下载性能。

[1] AKYILDIZ I F, WANG X, WANG W. Wireless mesh networks: a survey[J]. Computer Networks, 2005, 47(4):445-487.

[2] BRUNO R, CONTI M, GREGORI E. Mesh networks:commodity multihop ad hoc networks[J]. Communications Magazine, 2005, 43(3):123-131.

[3] RIGGIO R, RASHEED T, TESTI S, et al. Interference and traffic aware channel assignment in WiFi-based wireless mesh networks[J].Ad Hoc Networks, 2011,9(5):864-875.

[4] ZHU X Q, BERND G. Distributed rate allocation for video streaming over wireless networks with heterogeneous link speeds[A]. Proceedings of the 2007 International Conference on Wireless Communications and Mobile Computing[C]. Honolulu, Hawaii, USA, 2007.296-301.

[5] TAN L S, ZHANG X M, LLH A, et al. Price-based max-min fair rate allocation in wireless multi-hop networks[J]. Communications Letters,2006,10(1):31-33.

[6] WU Y N, MUNG C, et al. Distributed utility maximization for network coding based multicasting: a critical cut approach[A].Modeling and Optimization in Mobile, Ad Hoc and Wireless Networks,2006 4th International Symposium[C]. 2006.1-6

[7] MAGHAREI N, REJAIE R. PRIME: peer-to-peer receiver-driven mesh-based streaming[A]. 26th IEEE International Conference on Computer Communications[C]. Alaska, USA,2007.1052-1065.

[8] BEVERLY YANG B, GARCIA-MOLINA H. Designing a super-peer network[A]. Proceedings of Data Engineering[C]. Bangalore, India,2003. 49-60.

[9] ZHENG W, ZHANG S, OUYANG Y, et al. Node clustering based on link delay in P2P networks[A]. ACM Symposium on Applied Computing[C]. New Mexico, USA, 2005.744-749.

[10] SINGH A, HAAHR M. Decentralized clustering in pure P2P overlay networks using schelling's model[A]. ICC '07 IEEE International Conference[C]. Scotland, UK, 2007.1860-1866.

[11] MCDONALD A B, ZNATI T F. A mobility-based framework for adaptive clustering in wireless ad hoc networks[J]. Selected Areas in Communications, 1999,17(8):1466-1487.

[12] DAS B, BHARGHAVAN V. Routing in ad-hoc networks using minimum connected dominating sets[A]. IEEE International Conference on Communication[C]. Montreal, Canada, 1997.376-380.

[13] LAKSHMISH R, GEDIK B, LIU L. Connectivity based node clustering in decentralized peer-to-peer networks[A]. Peer-to-Peer Computing[C]. Sweden, 2003.66-73.

[14] FESSANT F L, KERMARREC A M, MASSOULIé L. Clustering in peer-to-peer file sharing workloads[A]. 3rd International Workshop on Peer-to-Peer Systems[C]. CA, USA, 2004.217-226.

[15] LÖSER A, LÖSER E, NAUMANN F, et al. Semantic overlay clusters within super-peer networks[A]. International Workshop on Databases,Information Systems and Peer-to-Peer Computing[C]. Berlin, Germany,2003.33-47.

[16] NG C H, SIA K C. Peer clustering and firework query model[A]. The 12th International World Wide Web Conference[C]. Montreal, Canada,2002.1-6.

[17] SINGH A, HAAHR D M. Topology adaptation in P2P networks using Schelling’s model[A]. Workshop on Emergent Behaviour and Distributed Computing[C]. Birmingham, UK, 2004. 33-38.

[18] AGRAWAL A, CASANOVA H. Clustering hosts in P2P and global computing platforms[A]. Cluster Computing and the Grid[C]. Tokyo,Japan, 2003. 367-373.

[19] BRODER A, MITZENMACHER M. Network applications of bloom filters: a survey[J]. Internet Mathematics, 2002, 1(4):485-509.

[20] NCTUns 6.0 network imulator and emulator[EB/OL]. http://nsl.csie.nctu. edu.tw/nctuns.html,2011.