首页> 中国专利> 一种在无线自组织网络中自适应的服务发现方法

一种在无线自组织网络中自适应的服务发现方法

摘要

本发明属于自组织网络技术领域,涉及一种无线自组织网络环境中自适应的服务发现方法。整个服务发现的过程包括发送服务请求、响应服务请求、设定服务请求的门限跳数三个阶段。本方法在保证服务发现成功率的基础上,对服务请求的跳数进行限定,减少了原先广播式服务发现方法的负载,从而缩短了服务应答得时间,更好地适应无线自组织网络环境。而且,此方法使用户能更快地找到比较稳定可靠的服务,提高了服务发现的效率和利用率。

著录项

  • 公开/公告号CN101741917A

    专利类型发明专利

  • 公开/公告日2010-06-16

    原文格式PDF

  • 申请/专利权人 复旦大学;

    申请/专利号CN200810202806.3

  • 申请日2008-11-14

  • 分类号H04L29/08;H04W84/18;

  • 代理机构上海正旦专利代理有限公司;

  • 代理人包兆宜

  • 地址 200433 上海市邯郸路220号

  • 入库时间 2023-12-18 00:31:18

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-01-04

    未缴年费专利权终止 IPC(主分类):H04L29/08 授权公告日:20121024 终止日期:20151114 申请日:20081114

    专利权的终止

  • 2012-10-24

    授权

    授权

  • 2010-10-27

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20081114

    实质审查的生效

  • 2010-06-16

    公开

    公开

说明书

技术领域

本发明属于自组织网络和服务计算的交叉技术领域,具体涉及到一种在自组织网络中自适应的服务发现方法。

背景技术

随着网络技术的飞速发展,用户的需求已从最初的信息共享逐渐发展为如何利用其它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 service di scovered)

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)跳。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号