基于簇的无线传感器网络服务发现机制研究
2015-03-04王新颖
王新颖,熊 伟
(1.湖北文理学院数学与计算机科学学院,湖北 襄阳 441053;2.武汉大学软件工程国家重点实验室,武汉 430072)
基于簇的无线传感器网络服务发现机制研究
王新颖1,熊 伟2
(1.湖北文理学院数学与计算机科学学院,湖北 襄阳 441053;2.武汉大学软件工程国家重点实验室,武汉 430072)
如何及时有效地发现并使用服务,是实现无线传感器网络实际应用的关键。在分析现有的无线传感器网络服务发现机制基础上,提出一种基于簇的无线传感器网络服务发现机制。该机制根据节点的综合性能指标值动态选择簇头,并对簇头列表中的服务请求和服务响应按照优先级级别进行传输,提高了服务发现的性能和系统的稳定性。仿真结果表明,与同类的服务发现机制相比,该机制在命中率、时延方面具有较大的优越性。
无线传感器网络,簇,服务发现,命中率,时延
0 引言
如何在无线传感器网络中及时有效的发现并使用服务,是研究者近几年来一直寻求解决的一个难题。目前已形成标准的 SLP[1],Jini[2],SSDP[3],Salutation[4]等服务发现机制并没有考虑无线传感器网络自身的特性,不适合在无线传感器网络中应用。为了解决在无线传感器网络中的服务发现问题,近年来,学者们纷纷在该领域进行了深入的研究。文献[5]提出了一种基于多播方式的无目录结构服务发现机制(HESED)。该机制的优点是实现简单,健壮性高。然而,在传感器节点数量巨大,服务请求频繁的情况下,容易出现网络拥堵、能量消耗过快等问题,这在无线传感器网络中是不可行的。文献[6]提出了一种目录结构的服务发现机制(GSD),能够有效提高服务发现的效率和系统的可扩展性。但由于该服务发现机制采用固定的节点作为簇头,导致簇头能量迅速消耗殆尽而失效,影响服务发现的性能和系统的稳定性。
针对以上存在的不足,本文提出一种基于簇的无线传感器网络服务发现机制(CSDM),该机制根据节点的综合性能指标值动态选择簇头,并对簇头列表中的服务请求和服务响应按照优先级级别进行传输,提高了无线传感器网络服务发现的性能和系统的稳定性。
1 CSDM服务发现机制
1.1 网络模型
本网络模型的应用场景为:节点随机的分布在无线传感器网络区域内,节点可以在整个网络区域自由移动。
假设:
①网络中的所有传感器节点都处于同一环境;
②每个节点具有唯一的ID标示;
③无线传感器网络中的节点性能是不同的,存在一些性能优良并且稳定性好的节点;
④节点之间的传输时延与节点间的距离成正比;
⑤每个传感器节点具有一个性能指标值p,表示节点的电量、计算能力、存储能力以及通信能力等情况。节点i在时间t的性能指标值p通过式(1)进行计算。
其中,pi(t)表示节点i在时间t的性能指标值,节点的剩余电量由ei(t)表示,节点的计算能力由ci(t)表示,节点的剩余存储能力由si(t)表示,节点的通信能力由 coi(t)表示。α、β、γ、η 则分别表示 ei(t)、ci(t)、si(t)和coi(t)的权重,且α+β+γ+η=1。
1.2 簇的生成与维护
1.2.1 簇的生成
在无线传感器网络的生命周期中,所有的节点存在3种工作状态:即FN(Free Node,自由节点)、CH(Cluster Head,簇头)和 CM(Cluster Member,簇成员)。初始时,网络内全部的传感器节点都是自由节点,不属于任何一个簇,处于FN状态。初始化时,无线传感器网络中的每个节点均广播HELLO信息给它的邻居节点,当某节点收到邻居节点的HELLO信息后,对比邻居节点和自身的性能指标值。如果一个节点在其所有邻居节点中,具有最高的性能指标值,将自身声明为簇头节点,将状态设为CH状态,并将该节点为簇头的信息广播通知给全部邻居节点。邻居节点收到消息后就近加入该簇,成为簇的成员节点,并将其状态设为CM状态。
1.2.2 簇的维护
由于节点可以在网络内自由的移动,当某节点离开它所在的簇时,它告知簇头节点,原簇头节点更新自己的簇成员列表。如果一个节点进入另一个新簇范围内,它会向新的簇头节点发出加入簇的信息,从而成为新簇的一员,新簇头节点也相应更新自己的簇成员列表。对于簇头节点而言,虽然它具有较高的电量,稳定性也比较强,一般情况下可以为簇内节点提供稳定的服务。但如果簇头的电量降低到门限值以下,它将不再担任簇头,簇内的成员节点会根据节点的性能指标值情况重新选择新的簇头,原簇头会把它保存的信息列表传递给新簇头。如果由于意外原因,簇头的电量耗尽或簇头的离开,导致原簇头不能为簇成员提供服务,则原簇内的成员节点也会根据性能指标值情况重新选择簇头。
1.3 服务注册
簇内的成员节点将所能提供的服务信息(包括节点ID、节点名称和功能描述信息)提供给自身所在簇的簇头节点来实现服务的注册过程。如果成员节点和簇头互在双方的通信范围内,成员节点可以直接将服务信息提供给簇头节点,如果成员节点和簇头不在双方通信范围内,成员节点需要通过中间节点通过多跳的方式来实现服务信息的发送。这样,簇头节点保存本簇成员注册的服务,并对注册的服务列表进行维护。如果一个成员节点离开一个簇加入另外一个簇,该节点通知原来的簇头撤销该节点注册的服务,同时向新簇的簇头注册服务,这样保持了服务注册信息的一致性。
1.4 服务发现
服务发现就是根据节点的服务请求快速、准确地找到所需的服务。当某个节点需要某项服务时,首先在节点本身的服务描述中进行查找,如果没有找到所需的服务,就将服务请求发送至节点所在簇的簇头节点,如果找到所需的服务,就返回服务响应。如果没有找到所需的服务,就将服务请求转发给相邻的簇头进行查找,直到找到所需的服务并返回服务响应。找到所需的服务后,服务响应经由各个邻居簇头节点逐步返回,最后由请求服务的节点所在簇的簇头返回给服务请求节点。在整个服务发现过程中,服务请求和服务响应信息均通过簇头进行传递,因此,簇头服务请求和服务响应的传输机制显得尤为重要,这在1.5节详细论述。
1.5 簇头服务请求和服务响应的传输机制
1.5.1 动态划分簇头的服务请求优先级
簇头节点在向邻居簇头节点转发服务请求时,由于无线传感器网络带宽的限制,需要选择优先级高的服务请求进行传播。所以,有必要动态地对服务请求信息划分级别。通过式(2)来划分服务请求的优先级。
其中,f(t)表示服务请求的优先级,t表示时间长短,n表示跳数,λ表示时间最大值,κ表示时间门限值。从式(2)可以看出,f(t)值随着服务请求时间t以及跳数n的增大而增大。
1.5.2 动态划分簇头的服务响应优先级
节点请求的服务都要经过簇头转发才能执行,但由于无线传感器网络传输带宽的限制,簇头节点同时传输所有服务响应是不可能的,因此,动态地将进入簇头列表的服务响应划分等级也是必要的。对服务响应划分优先级,要综合考虑该服务响应在网络中被请求的时间和提供该服务的节点个数两个因素。通过式(3)来划分服务响应优先级。
其中,f(sj)表示服务响应sj的优先级,请求服务响应sj的节点个数用#n(sj)表示,拥有服务响应sj的节点个数用#(sj)表示。#n(sj)可以通过式(2)来计算得到。从式(3)可以看出,服务响应的优先级f(sj)值与#n(sj)2成正比,与#(sj)成反比。
1.5.3 传播服务请求和服务响应
通过式(2)和式(3),可以计算得到簇头节点服务请求和服务响应的优先级。在t时刻,某簇头节点存在10个服务请求和10个服务响应需要转发,它们的优先级各不相同。假设每个服务请求和服务响应的数据量是10 kb,每个簇头节点拥有120 kb的带宽可以传输数据信息,按照服务请求和服务响应1:1的带宽比例计算,每个簇头节点最多只能同时传输6个服务请求和6个服务响应。也就是说,由于无线传感器网络传输带宽的限制,簇头节点没有能力同时传输表1中所有的服务请求和服务响应。因此,本文依据优先级排序策略[7],把优先级高的服务请求和服务响应传送给它的邻居簇头节点。
2 仿真分析
为了验证CSDM的性能,本文采用OMNet++[8]进行仿真分析,分别与文献[5]提出的无目录结构的服务发现机制(HESED)和文献[6]提出的目录结构的服务发现机制(GSD)进行性能比较。
在仿真实验中,将网络规模设置为200个节点,网络拓扑范围设置为800m×800m。随机选择节点作为服务请求者或服务提供者,每个节点可以请求多个服务,多个节点也可以请求同一个服务。假设每个节点仅提供一种服务,令α=0.4,β=0.1,γ=0.3,η=0.2。仿真了 2种情形。
①将节点的传输半径设置为80m,节点的运动速度在2m/s~12m/s范围内变化,分别仿真了命中率、时延与节点速度的关系。
图1是命中率与节点速度关系的仿真结果。由图1可知,HESED的命中率最低,在70%以下,因为HESED的服务请求采用多播方式。GSD采用了目录结构的服务发现机制,命中率在70%以上。CSDM在GSD的基础上,动态选择簇头,受节点速度的影响较小,在一定程度上提高了服务发现的命中率,命中率在77%以上。
图2是时延与节点速度关系的仿真结果。由图2可知,HESED的时延最大,这是因为HESED的多播机制容易导致网络信道冲突。在CSDM服务发现机制中,由于簇头将列表中的服务请求和服务响应按照优先级级别进行传输,提高了服务发现效率,因而时延最小。在节点速度为8m/s时,CSDM的时延比GSD降低了42.1%,比HESED降低了66.7%。
图1 命中率与节点速度的关系
图2 时延与节点速度的关系
②将节点的运动速度设置为8m/s,节点传输半径在20m~120m范围内变化,分别仿真了命中率、时延与节点传输半径的关系。
图3是命中率与节点传输半径关系的仿真结果。由图3可知,随着节点传输半径的增加,GSD和CSDM的命中率均呈现上升趋势,这是由于节点传输半径增加之后,服务请求的传播速度加快。当节点传输半径小于100m时,HESED的命中率随节点传输半径的增加呈现下降趋势,但当节点传输半径大于100m后,随着节点传输半径的增加,HESED的命中率却呈现下降趋势,这是由于多播方式导致信道冲突的原因。
图3 命中率与节点传输半径的关系
图4 时延与节点传输半径的关系
图4是时延与节点传输半径关系的仿真结果。由图4可知,在节点传输半径相同的情况下,CSDM时延最小,比如,在节点的传输半径值为80m时,CSDM的时延比GSD降低了57.6%,比HESED降低了88.3%。
3 结束语
本文提出一种基于簇的无线传感器网络服务发现机制。与文献[5]提出的HESED服务发现机制及文献[6]提出的GSD服务发现机制相比,该机制能有效提高命中率,缩短时延,适用于大规模的无线传感器网络。
[1]PatelBI.ASurvey of Service Discovery Architecture of MANET with AODV-SD[J]. International Journal of Computer Applications Technology and Research,2013,2(1): 59-62
[2] Yu C,Yao D,Li X,et al.Location-aware Private Service Discovery in Pervasive Computing Environment[J].Information Sciences,2013,230(1):78-93.
[3]Dittrich A,Lichtblau B,Rezende R,etal.Modeling ResponsivenessofDecentralized Service Discovery inWirelessMesh Networks[M].Measurement,Modelling,and Evaluation of Computing Systems and Dependability and Fault Tolerance.Springer InternationalPublishing,2014:88-102.
[4] Thompson M S,Midkiff SF.Service Description and Dissemination for Service Discovery in Pervasive Computing Environments[J].International Journal of Ad Hoc and U-biquitousComputing,2013,12(4):193-204.
[5]Hassanein H,Yang Y,MawjiA.A New Approach to Service Discovery inWirelessMobile Ad Hoc Networks[J].International JournalofSensorNetworks,2010,2(1):135-145.
[6]李巧勤,吴磊.一种基于团体的无线传感器网络服务发现 协 议 [J].小 型 微 型 计 算 机 系 统 ,2012,33(6):1262-1267.
[7] Wolfson O,Xu B,Yin H B,et al.Search-and-Discover in Mobile P2PNetwork Databases[C]//Proceedings of the 26th IEEE International Conference on Distributed Computing Systems,2009.
[8]赵永利,张杰.OMNet++与网络仿真[M].北京:人民邮电出版社,2012.
Research of Service Discovery M echanism Based on Cluster forW irelessSensor Networks
WANGXin-ying1,XIONGWei2
(1.School of Mathematics and Computer Science,HubeiUniversity of Arts and Science,Xiangyang 441053,China;2.State Key Laboratory of Software Engineering,Wuhan University,Wuhan 430072,China)
The key of applying wireless sensor networks in reality lies on how to find and use the service in time and with efficiency.Following the analysis of existing service discovery mechanism for wireless sensor networks,this paper proposes a service discovery mechanism based on cluster for wireless sensor networks.The mechanism dynamically selects cluster head nodes according to the comprehensive performance index.Service requests and service response in the list of cluster head are transmitted according to the priority levels.It can improve the performance of service discovery and the stability of system.The performance of simulations shows that it is better than those similar service discoverymechanisms proposed in hit ratio and delay.
wirelesssensornetworks,cluster,service discovery,hit ratio,delay
TP393
A
1002-0640(2015)11-0036-03
2014-09-28
2014-11-17
王新颖(1976- ),男,河南平顶山人,硕士,讲师。研究方向:无线网络、W eb服务发现。