CN101741917B - 一种在无线自组织网络中自适应的服务发现方法 - Google Patents
一种在无线自组织网络中自适应的服务发现方法 Download PDFInfo
- Publication number
- CN101741917B CN101741917B CN200810202806A CN200810202806A CN101741917B CN 101741917 B CN101741917 B CN 101741917B CN 200810202806 A CN200810202806 A CN 200810202806A CN 200810202806 A CN200810202806 A CN 200810202806A CN 101741917 B CN101741917 B CN 101741917B
- Authority
- CN
- China
- Prior art keywords
- service
- discovery
- jumping
- node
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
本发明属于自组织网络技术领域,涉及一种无线自组织网络环境中自适应的服务发现方法。整个服务发现的过程包括发送服务请求、响应服务请求、设定服务请求的门限跳数三个阶段。本方法在保证服务发现成功率的基础上,对服务请求的跳数进行限定,减少了原先广播式服务发现方法的负载,从而缩短了服务应答得时间,更好地适应无线自组织网络环境。而且,此方法使用户能更快地找到比较稳定可靠的服务,提高了服务发现的效率和利用率。
Description
技术领域
本发明属于自组织网络和服务计算的交叉技术领域,具体涉及到一种在自组织网络中自适应的服务发现方法。
背景技术
随着网络技术的飞速发展,用户的需求已从最初的信息共享逐渐发展为如何利用其它Web站点提供的功能。相应地,服务科学作为有效进行功能调用的学科被提出。服务是一种部署在网络上的、自包含的、模块化的应用程序,它可以在网络中描述、发布、查找以及调用。服务的提出实现了对各种设备或平台上的任何硬件或软件实体可以提供给其他设备访问的资源或功能的一种抽象。
自组织网络是一种不需要固定基础结构、在移动或固定环境下可以快速部署的无线网络。网络中的节点利用自身的无线收发设备交换信息,当相互之间不在彼此的通信范围内时,可以借助其他中间节点中继来实现多跳通信。这种网络拓扑与有基础结构的网络拓扑相比具有可伸缩性大、灵活性好、易于控制、可靠性高等特点,主要用在军事领域,如用于战场上信息的传递,也可以用在民用领域进行语音和数据的传输,如用于智能交通监控、环境监控以及办公协作等。
服务发现是查询网络中服务的位置、并收集相关信息的过程。该技术是服务组合、服务执行的必须前提基础技术,因此,它在服务计算的各环节占有非常重要的地位。
现在自组织网络上的服务发现大多数追求服务发现的数目,而没有考虑所发现服务需要的开销以及服务的执行情况。在服务发现数目较多时,部分服务其实是无用的,但是同时也需要很大的开销来支持这些服务发现,特别是离服务请求节点比较远的服务,一方面发现这样的服务请求包的广播范围较大,造成开销比较大;另一方面,这样的节点不一定是一个很好的服务执行候选节点,因为相对离请求节点近的服务提供节点来说,它的通信代价较大,并且有非常高的失效性。针对以上问题,本发明提出了自适应的服务发现方法,一方面保证服务发现的数目达到基本要求,同时也能够降低服务发现的开销。
发明内容
本发明的目的是提出一种无线自组织网络环节中自适应的服务发现方法,在保证服务发现的数目满足执行要求的前提下,降低服务发现带来的开销。
本发明针对自组织网络的网络拓扑动态变化、网络带宽小、节点资源受限等特点,设计出自适应的服务发现方法,能快速找到适合当前网络和节点状态的服务提供节点。
本发明的目的通过下述方法和步骤实现:
本发明所述的服务发现方法,其整个服务发现的过程包括发送服务请求、响应服务请求、设定服务请求的门限跳数三个阶段。
各步骤具体如下:
1、发送服务发现请求
当节点需要一个服务时,发起一个服务发现请求SREQ(service requestmessage)包,一个SREQ包包含服务发现的信息有请求服务的名称(seviecename)、请求服务的服务描述(service description)和服务发现的门限跳数(threshold of hop count)。
门限跳数(threshold of hop count:TH):服务请求节点发送的服务请求包在转发过程中所能到达的最大跳数。服务发现的门限跳数,决定了SREQ包最终转发的跳数。当SREQ包发送到TH跳时将不再向外转发。TH根据上一次请求同一服务时收到的服务应答包中的跳数信息来设定,它从上一次进行该服务的服务发现过程中获得。
2、响应服务请求
节点在接收到服务发现请求包后首先在自己提供的服务列表中查找匹配的服务。如果找到,则说明自己有能力提供该服务,则按原路向服务请求节点发送服务应答包,响应服务请求节点的服务请求,服务发现过程结束。如果没有找到说明自己没有能力提供该服务,那么将SREQ包中的TH减1,然后检查TH是否为0,如果为0则丢弃该SREQ包,如果不为0,则向周围节点转发该SREQ包。
3、设定服务请求的门限跳数
节点收到服务应答包后,根据服务应答包中的跳数信息来设定下一次请求同一服务时的门限跳数TH,其设定方法如下:
if(n==1)//first time request this service
if(no servicediscovered)
TH2=∞
else
TH2=max(h(si)),si∈S
else
if(no service discovered on the hop of THn)
THn+1=THn-1
if(no service discovered)
THn+1=THn+1
else
THn+1=THn
具体描述为:
(1)门限跳数TH的初始设定为无穷大,即节点第一次发送服务请求不限定服务发现的跳数。
(2)第二次在请求同一服务时,服务发现的门限跳数设定为第一次收到所有服务应答节点跳数的最大值。如果第一次服务发现没有发现任何服务,则第二次服务发现的门限跳数TH依然设定为无穷大。
(3)第n+1(n>=2)次请求同一服务时,服务发现时门限跳数的设定方法如下,假定前一次服务发现的门限跳数为THn:
a.如果在进行第n次服务发现时在1跳到TH跳之间发现服务,而在TH跳未发现服务,则THn+1设定为THn-1;
b.如果在进行第n次服务发现时未发现任何可提供的服务,则THn+1设定为THn+1;
c.如果在进行第n次服务发现时在1跳到TH跳之间发现服务,而在TH跳也发现服务,则THn+1设定为THn。
节点在确定门限跳数后将该门限跳数保存下来,以便下一次服务请求同一服务时使用。
在无线自组织网络中,由于受节点移动、能量有限等因素的影响,网络的拓扑会经常发生变化。在这样一个不断变化的网络环境中,一般认为离服务请求节点越近的服务越可靠,反之离服务请求节点远的服务由于越容易受环境因素的影响,因此越不可靠,越不值得信任。
本发明提出的服务发现采用自适应的服务发现策略,在保证服务发现数目满足执行需要的基础上,对服务发现请求的跳数进行了限定,同时能根据网络的情况自动调整服务发现请求的跳数,确保服务发现的范围能较好的反映当前网络中服务的分布状况。自适应的服务发现减少了原先广播式服务发现方法的负载,从而缩短了服务应答得时间,更好地适应无线自组织网络环境。而且,此方法使用户能更快地找到比较稳定可靠的服务,提高了服务发现的效率和利用率。
附图说明
图1所示为会议场景中8个客户组成的自组织网络,其中Ni是移动设备号。
图2所示为会议场景中8个客户经过移动后形成的自组织网络,其中Ni是设备号。
具体实施方案
以下结合具体的实施例,对本发明做进一步的阐述。实施例仅用于对本发明做说明而不是对本发明的限制。
实施例:
在一个会议场景中,有8个客户在一个会议室里开讨论会,每个客户都有自己的移动设备,或是PDA或是手提电脑,整个网络的场景如图1所示,移动设备之间是多跳连接的,形成一个自组织网络。
每个节点上都存在有一定的服务,具体的服务和位置。
表1是会议场景上移动设备的服务列表。
表1
移动设备号 | 移动设备上的服务 |
N1 | 从外网上下载文件; |
N2 | 解压服务;PDF放映; |
N3 | 激光打印服务;压缩服务; |
N4 | 压缩服务; |
N5 | 从外网上下载东西;PS转化为PDF; |
N6 | PS转化为PDF; |
N7 | 激光打印服务; |
N8 | 解压服务; |
现在N1节点要把该节点从网上下载的文件打印,于是N1节点发出服务请求,请求打印服务。
第一次打印服务服务发现的步骤如下:
步骤1:发送服务发现请求
节点N1发起一个服务发现请求SREQ(service request message)包,请求周围节点的打印服务。由于是第一次进行打印服务请求,故门限跳数设定为无穷大,即不限定服务发现的跳数。
步骤2:响应服务发现请求
节点N2收到节点N1发来的服务发现请求SREQ包后,在自己提供的服务列表中查找匹配的服务,发现无法提供打印服务,于是将SREQ包中的TH减1,检查TH不为0后转发该SREQ包给节点N3.节点N4收到节点N1发来的服务发现请求SREQ包后,在自己提供的服务列表中查找匹配的服务,发现无法提供打印服务,于是将SREQ包中的TH减1,检查TH不为0后转发该SREQ包给节点N5.
节点N3收到节点N2发来的服务发现请求SREQ包后,在自己提供的服务列表中查找匹配的服务,发现自己可以提供打印服务,于是按原路向节点N1发送服务应答包。节点N5收到节点N4发来的服务发现请求SREQ包后,在自己提供的服务列表中查找匹配的服务,发现无法提供打印服务,于是将SREQ包中的TH减1,检查TH不为0后转发该SREQ包给节点N6.
节点N6收到节点N5发来的服务发现请求SREQ包后,在自己提供的服务列表中查找匹配的服务,发现无法提供打印服务,于是将SREQ包中的TH减1,检查TH不为0后转发该SREQ包给节点N7.节点N7收到节点N6发来的服务发现请求SREQ包后,在自己提供的服务列表中查找匹配的服务,发现自己可以提供打印服务,于是按原路向节点N1发送服务应答包。
步骤3:设定服务发现的门限跳数
节点N1收到节点N3和节点N7发来的服务应答包,节点N3距离节点N12跳,节点N7距离节点N14跳,于是将下一次服务发现的门限跳数(TH)设定为4跳。
节点N1在第二次请求打印服务时,网络中节点位置发生了变化,整个网络的场景如图2所示,打印服务服务发现的步骤如下:
步骤1:发送服务发现请求
节点N1发起一个服务发现请求SREQ(service request message)包,请求周围节点的打印服务。从上一次进行打印服务的服务发现过程中得知本次服务发现的TH值为4跳。
步骤2:响应服务发现请求
节点N2收到节点N1发来的服务发现请求SREQ包后,在自己提供的服务列表中查找匹配的服务,发现无法提供打印服务,于是将TH减1后转发该SREQ包给节点N3.节点N4收到节点N1发来的服务发现请求SREQ包后,在自己提供的服务列表中查找匹配的服务,发现无法提供打印服务,于是将TH减1后转发该SREQ包给节点N6.
节点N3收到节点N2发来的服务发现请求SREQ包后,在自己提供的服务列表中查找匹配的服务,发现自己可以提供打印服务,于是按原路向节点N1发送服务应答包。节点N6收到节点N4发来的服务发现请求SREQ包后,在自己提供的服务列表中查找匹配的服务,发现无法提供打印服务,于是将SREQ包中的TH减1,检查TH不为0后转发该SREQ包给节点N5.
节点N5收到节点N6发来的服务发现请求SREQ包后,在自己提供的服务列表中查找匹配的服务,发现无法提供打印服务,于是将SREQ包中的TH减1,检查TH不为0后转发该SREQ包给节点N8.节点N8收到节点N5发来的服务发现请求SREQ包后,在自己提供的服务列表中查找匹配的服务,发现无法提供打印服务,于是将SREQ包中的TH减1,检查TH值为0,于是丢弃该服务发现请求SREQ包,不再向周围节点转发。
步骤3:设定服务发现的门限跳数
节点N1仅收到节点N3发来的服务应答包,节点N3距离节点N12跳,而在距离节点N14跳的节点上未发现打印服务,于是将下一次服务发现的门限跳数(TH)设定为3(4-1=3)跳。
节点N1在第三次请求打印服务时,网络中节点未发送变化,整个网络的场景依然如图2所示,打印服务服务发现的步骤如下:
步骤1:发送服务发现请求
节点N1发起一个服务发现请求SREQ(service request message)包,请求周围节点的打印服务。从上一次进行打印服务的服务发现过程中得知本次服务发现的TH值为3跳。
步骤2:响应服务发现请求
节点N2收到节点N1发来的服务请求SREQ包后,在自己提供的服务列表中查找匹配的服务,发现无法提供打印服务,于是将TH减1后转发该SREQ包给节点N3.节点N4收到节点N1发来的服务请求SREQ包后,在自己提供的服务列表中查找匹配的服务,发现无法提供打印服务,于是将TH减1后转发该SREQ包给节点N6.
节点N3收到节点N2发来的服务发现请求SREQ包后,在自己提供的服务列表中查找匹配的服务,发现自己可以提供打印服务,于是按原路向节点N1发送服务应答包。节点N6收到节点N4发来的服务发现请求SREQ包后,在自己提供的服务列表中查找匹配的服务,发现无法提供打印服务,于是将SREQ包中的TH减1,检查TH不为0后转发该SREQ包给节点N5.
节点N5收到节点N6发来的服务发现请求SREQ包后,在自己提供的服务列表中查找匹配的服务,发现无法提供打印服务,于是将SREQ包中的TH减1,检查TH值为0,于是丢弃该服务发现请求SREQ包,不再向周围节点转发。
步骤3:设定服务发现的门限跳数
节点N1仅收到节点N3发来的服务应答包,节点N3距离节点N12跳,而在距离节点N13跳的节点上未发现打印服务,于是将下一次服务发现的门限跳数(TH)设定为2(3-1=2)跳。
Claims (3)
1.一种无线自组织网络中自适应的服务发现方法,其特征在于该服务发现方法包括发送服务请求、响应服务请求、设定服务请求的门限跳数三个部分;
所述响应服务请求是节点在接收到服务发现请求包后首先在自己提供的服务列表中查找匹配的服务,如果找到,则说明自己有能力提供该服务,则按原路向服务请求节点发送服务应答包,响应服务请求节点的服务请求,服务发现过程结束;如果没有找到说明自己没有能力提供该服务,那么将SREQ包中的门限跳数TH减1,然后检查TH是否为0,如果为0则丢弃该SREQ包,如果不为0,则向周围节点转发该SREQ包;
所述设定服务请求的门限跳数为节点收到服务应答包后,根据服务应答包中的跳数信息来设定下一次请求同一服务时的门限跳数,其设定方法如下:
(1)门限跳数TH的初始设定为无穷大,即节点第一次发送服务请求不限定服务发现的跳数;
(2)第二次在请求同一服务时,服务发现的门限跳数设定为第一次收到所有服务应答节点跳数的最大值,如果第一次服务发现没有发现任何服务,则第二次服务发现的门限跳数TH依然设定为无穷大;
(3)第n+1(n>=2)次请求同一服务时,服务发现时门限跳数的设定方法如下,假定前一次服务发现的门限跳数为THn:
a.如果在进行第n次服务发现时在1跳到TH跳之间发现服务,而在TH跳未发现服务,则THn+1设定为THn-1;
b.如果在进行第n次服务发现时未发现任何可提供的服务,则THn+1设定为THn+1;
c.如果在进行第n次服务发现时在1跳到TH跳之间发现服务,而在TH跳也发现服务,则THn+1设定为THn。
2.根据权利要求1所述的服务发现方法,其特征在于当节点需要一个服务时,发起一个服务发现请求包SREQ,一个服务发现请求包包含服务发现的信息有请求服务的名称、请求服务的服务描述和服务发现的门限跳数。
3.根据权利要求1所述的服务发现方法,其特征在于节点在确定门限跳数后将该门限跳数保存下来,以便下一次服务请求同一服务时使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810202806A CN101741917B (zh) | 2008-11-14 | 2008-11-14 | 一种在无线自组织网络中自适应的服务发现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810202806A CN101741917B (zh) | 2008-11-14 | 2008-11-14 | 一种在无线自组织网络中自适应的服务发现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101741917A CN101741917A (zh) | 2010-06-16 |
CN101741917B true CN101741917B (zh) | 2012-10-24 |
Family
ID=42464800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810202806A Expired - Fee Related CN101741917B (zh) | 2008-11-14 | 2008-11-14 | 一种在无线自组织网络中自适应的服务发现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101741917B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9686648B2 (en) * | 2012-05-28 | 2017-06-20 | Nokia Technologies Oy | Method, a server and a computer program for local discovery |
CN102769829B (zh) | 2012-06-20 | 2017-04-05 | 中兴通讯股份有限公司 | 信息发布和获取的方法及系统 |
CN102905339B (zh) * | 2012-10-19 | 2014-11-19 | 南京邮电大学 | 一种基于移动自组织网络的jxta覆盖网节点的查询方法 |
CN105636166A (zh) * | 2014-10-31 | 2016-06-01 | 华为技术有限公司 | 设备之间发现的方法及装置 |
CN104967967B (zh) * | 2015-05-28 | 2020-06-02 | 海尔优家智能科技(北京)有限公司 | 一种多跳发现资源的方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242431A (zh) * | 2008-01-21 | 2008-08-13 | 北京航空航天大学 | 基于跨层的移动Ad Hoc网络服务发现方法 |
-
2008
- 2008-11-14 CN CN200810202806A patent/CN101741917B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242431A (zh) * | 2008-01-21 | 2008-08-13 | 北京航空航天大学 | 基于跨层的移动Ad Hoc网络服务发现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101741917A (zh) | 2010-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | Information-centric mobile ad hoc networks and content routing: a survey | |
CN103108371B (zh) | 单天线多信道认知无线传感器网络路由控制方法 | |
CN103222311B (zh) | 用于无线直接链路操作的方法 | |
CN101989913B (zh) | 用于使局域网中的网络设备获取业务内容的方法及装置 | |
CN101163158B (zh) | 面向服务的自组织网络中基于分簇的服务发布和发现方法 | |
CN103404109A (zh) | 蜂窝网络中管理的对等共享 | |
CN101741917B (zh) | 一种在无线自组织网络中自适应的服务发现方法 | |
CN101512973A (zh) | 在多个无线局域网中同时操作 | |
CN103718576A (zh) | 用于内容分发的方法和设备 | |
US8780730B2 (en) | Load-balancing gateways | |
CN105578513A (zh) | 一种通信方法、设备及系统 | |
JP2017028681A (ja) | D2dリンクでのコンテンツ配達 | |
CN104380835A (zh) | 用于操作无线通信网络的网络元件的方法及网络元件 | |
KR20120066979A (ko) | 근거리 무선 통신 시스템 | |
CN101645924B (zh) | 一种对等网络p2p系统中的合作节点选择方法 | |
Jassal et al. | Unity: Collaborative downloading content using co-located socially connected peers | |
CN101741916B (zh) | 自组织网络中可靠的服务发现和服务选择方法 | |
Rehman et al. | OEFS: On-demand energy-based forwarding strategy for named data wireless ad hoc networks | |
CN106658647B (zh) | 一种基于干扰感知的中继选择算法 | |
CN103249106A (zh) | 一种提高无线网络通信质量的方法 | |
Elgazzar et al. | RobP2P: a robust architecture for resource sharing in mobile peer-to-peer networks | |
Vu et al. | ishare: Exploiting opportunistic ad hoc connections for improving data download of cellular users | |
CN106535231B (zh) | 一种面向5G用户为中心网络Cache部署的内容传送方法 | |
CN101163106B (zh) | 一种在无线自组织网络中组合服务的执行方法 | |
Li et al. | A cross-layer congestion control strategy in wireless sensor network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121024 Termination date: 20151114 |
|
EXPY | Termination of patent right or utility model |