首页> 中国专利> 自组织网络中可靠的服务发现和服务选择方法

自组织网络中可靠的服务发现和服务选择方法

摘要

本发明涉及一种无线自组织网络环境中可靠的服务发现和服务选择方法,分为可靠的服务发现和可靠的服务选择两个部分。可靠的服务发现包括发送服务请求、响应服务请求、处理服务回复包三个阶段,可靠的服务选择包括选择能量符合要求的节点、选择路径到期时间PET符合要求的节点、选择跳数最小的节点三个阶段。本发明能够从自组织网络中选择相对稳定可靠的服务,并且能够很好地适应自组织网络的网络拓扑多变和节点能量有限的特点。

著录项

  • 公开/公告号CN101741916A

    专利类型发明专利

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

    原文格式PDF

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

    申请/专利号CN200810202722.X

  • 申请日2008-11-14

  • 分类号H04L29/08(20090101);H04L12/56(20060101);H04W84/18(20090101);

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

  • 代理人包兆宜

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

  • 入库时间 2023-12-18 00:27:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-01-04

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

    专利权的终止

  • 2012-10-24

    授权

    授权

  • 2010-10-27

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

    实质审查的生效

  • 2010-06-16

    公开

    公开

说明书

技术领域

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

背景技术

随着网络技术的飞速发展,用户的需求已从最初的信息共享逐渐发展为如何利用其它Web站点提供的功能。相应地,服务科学作为有效进行功能调用的学科被提出。服务是一种部署在网络上的、自包含的、模块化的应用程序,它可以在网络中描述、发布、查找以及调用。服务的提出实现了对各种设备或平台上的任何硬件或软件实体可以提供给其他设备访问的资源或功能的一种抽象。

自组织网络是一种不需要固定基础结构、在移动或固定环境下可以快速部署的无线网络。网络中的节点利用自身的无线收发设备交换信息,当相互之间不在彼此的通信范围内时,可以借助其他中间节点中继来实现多跳通信。

无线自组织网络中由于网络拓扑结构的不断变化和网络连接的不稳定性,服务执行失败经常发生。于是服务请求节点常常需要重新发起服务请求,从而浪费了节点能量,增加了服务的响应时间,并且节点的能量通常是有限的,而对于网络中节点请求的服务,可能存在多个服务提供节点。综合上面的因素,如何发现和选择一个可靠的服务,最大限度的降低服务执行失效的可能性,是非常重要的。针对以上问题,本发明提出了一种在自组织网络中可靠的服务发现和选择方法。

发明内容

本发明的目的在于针对自组织网络的网络拓扑动态变化、节点能量有限等特点,提出了一种可靠的服务发现和服务选择方法,以保证找到网络中相对可靠的服务提供节点。

本发明的目的通过下述方法和步骤实现:

首先对一些基本概念和符号进行定义:

服务请求节点(request source):服务的需求方和请求方,发起服务发现过程以获取所需服务的位置等信息。

TSREQ、TSREP:TSREQ表示服务请求节点发送SREQ包的时间,TSREP表示表示服务应答节点发送SREP的时间。如图1所示,对于节点A和B之间的链接而言,TA-SREQ表示节点A发送SREQ的时间;TB-SREP表示节点B发送SREP的时间。由于传送SREQ的时间很短,我们可以近似地认为节点A发送SREQ包的时间和节点B接收SREQ包的时间为同一时间。同样地,我们也近似地认为节点B发送SREP的时间和节点A接收SREP的时间为同一时间。

LN-SREQ、LN-SREP:LN-SREQ表示节点N在收到SREQ时刻在网络中的位置,LN-SREP表示节点N在收到SREP时刻在网络中的位置。如图1所示,LA-SREQ和LA-SREP表示节点A在TA-SREQ和TA-SREP时刻在网络中的位置,LB-SREQ和LB-SREP表示节点B在TB-SREQ和TB-SREP时刻在网络中的位置,它们可以通过地理定位系统(如GPS系统)得到。

链接到期时间(Link expiration time,LET):由于无线自组织网络节点是在不断移动的,两个连接的节点在经过一段时间后会变得无法连接,LET指当前连接的链路断裂的时间点,即当前通信的节点变得无法通信的时间节点。

路径到期时间(Path expiration time,PET):它是整个路径到期的时间,其值为SREQ在转发过程中整个路径上LET的最小值。因为在SREQ转发的过程中,一个链路的断裂就意味着整条链路的断裂,故PEL取整个路径上LET的最小值。

服务请求包(Service request packet,SREQ):服务请求节点在请求一个服务时构造的包的类型。它包含request source,broadcast ID,pre node,request service,hop count。

broadcast ID:广播编号,它和request source一起唯一确定一个SREQ包。

pre node:用于记录发送该SREQ包的前置节点,以便在找到服务后按原路返回。

request service:请求服务的服务信息。

hop count:跳数信息,它记录该SREQ包到服务请求节点的跳数。

服务回复包(Service reply packet,SREP):当网络中节点收到服务请求包后,如果能够提供所需的服务,向服务请求节点发送的包的类型,告诉服务请求节点该节点能够提供它所需要的服务。SREP包含request source,broadcast ID,provider information,service information,hop count,LN-SREQ,LN-SREP,PET。

provider information:服务提供节点的节点信息,包括该节点的能量信息。

service information:服务提供节点上的服务信息,包括服务执行时间,服务调用入口。

前向路由缓存(forward route cache):节点在收到SREQ后在前向路由缓存中缓存相关路由信息,供节点收到SREP后计算LET时使用。缓存信息包含如下broadcast ID,request source,pre-node,TSREQ,LN-SREQ

返向路由缓存(reversed route cache):节点在收到SREP后在返向路由缓存中缓存相关路由信息,节点在进行服务执行时根据返向路由缓存中的节点信息获得路由信息。该缓存信息包含request service,provider information,PET,next node。

next node:相应SREP包的发送节点。

本发明提出的可靠服务发现和选择方法包括服务发现和服务选择两个部分,下面分别介绍这两个部分。

可靠的服务发现包括发送服务请求、响应服务请求、处理服务回复包三个阶段。

各步骤具体如下:

(1)发送服务请求。

当节点需要一个服务时,发起一个服务发现请求,然后在前向路由缓存该节点发送SREQ的时间和在网络中的位置,接着向它周围的节点发送该SREQ包。

(2)响应服务请求。

网络中节点在收到SREQ包后首先在本节点的前向路由缓存中缓存相关路由信息,缓存下来的路由信息在计算SREP包中的LET时会使用到。

然后在自己提供的服务列表中查找匹配的服务,如果没有找到说明自己没有能力提供该服务,那么将SREQ包中hop信息加1后向周围节点转发该SREQ包。

如果找到,则说明本节点有能力提供该服务。为了在后面计算LET时获得不同的时间和位置信息,该节点稍微等待一小段时间,然后构造服务回复包SREP,SREP根据前向路由缓存中的pre-node返回。

(3)处理服务回复包

网络中节点在收到SREP后,检查本节点是不是服务请求节点,如果不是服务请求节点,则对SREP进行如下处理:

a.根据SREP包中节点的位置信息和相应的时间信息以及前向路由缓存中缓存的相关路由信息计算LET。

LET的计算方法为:

如图1所示,对于节点A和B之间的链接而言,通过矢量计算得到节点A和B在TA-SREQ时刻的距离D1=|LB-SREQ-LA-SREQ|,用相同的方法,通过矢量计算得到节点A和B在TB-SREP时刻的距离D2=|LB-SREP-LA-SREP|,于是可以得到从TA-SREQ时刻到TB-SREQ时刻两个节点间距离的变化。通过计算可以得到A节点和B节点间变化的速率,即v=(D2-D1)/(TB-SREP-TA-SREQ).于是LET=(R-D2)/v+TB-SREP。R表示网络中节点能够传输的半径,它表示网络中节点能够传输的范围。

b.如果LET比SREP中PET小,则更新PET,将PET的值更新为LET的值。

c.在返向路由缓存中缓存相关路由信息。节点在执行服务时根据返向路由缓存中的节点信息获得路由信息。

d.根据前向路由缓存中缓存的相关路由信息转发SREP给前置节点。如果是服务请求节点,对SREP进行如下处理:

a.根据SREP包中的节点的位置信息和相应的时间信息以及之前缓存的相关路由信息计算LET。

b.如果LET比PET小,则更新PET,将PET的值更新为LET的值。

c.在返向路由缓存中缓存相关路由信息,该缓存信息如前所述。

可靠的服务选择是指从找到的服务提供节点中选择出可靠的节点作为服务提供节点的过程,它包括选择能量符合要求的节点、选择PET符合要求的节点、选择跳数最小的节点三个阶段。

各步骤具体如下:

1.选择能量符合要求的节点

服务请求节点从返回的SREP中可以得到服务提供节点的剩余能量信息,并将其与执行该服务所需要的能量进行比较,筛选出能够提供服务执行所需要能量的节点作为服务候选节点。如果经过筛选后的节点数量等于0,则表示本次服务发现失败;如果等于1,则将该节点作为服务提供节点;如果大于1,则转而进行步骤二的选择。

2.选择PET符合要求的节点

服务请求节点将计算得到的PET与该服务的执行时间及服务发现时间之和进行比较,筛选出PET大于服务执行时间及服务发现时间之和的节点作为服务候选节点。经过筛选后如果节点数量等于0,则选择步骤一中PET最大的节点作为服务提供节点;如果等于1,则将该节点作为服务提供节点;如果大于1,则转而进行步骤三的选择。

3.选择跳数最小的节点

服务请求节点从返回的SREP中可以得到服务提供节点的跳数信息,选择跳数最小的节点作为服务提供节点。如果跳数最小的节点有多个,则比较它们的PET,选择PET最大的节点作为服务提供节点。

附图说明

图1是两个不同时刻节点A、B的位置图。

图2是会议应用场景,描述了网络节点构成,以及节点的角色等信息。

具体实施方案

以下结合具体的实施例,对本发明做进一步的阐述。实施例仅用于对本发明做说明而不是对本发明的限制。

实施例:

本实施例以会议应用场景中的复印服务为例来详细介绍本发明的具体实施方式,应用场景如图2所示,其中SP1、SP2是服务提供者,它们提供打印服务,而网络中节点N1提供打印服务,节点SR是服务请求者,它需要复印服务。

本发明提出的可靠服务发现和选择方法包括服务发现和服务选择两个部分,服务发现的步骤如下:

(1)发送服务请求。

节点SR需要一个复印服务,产生一个服务发现请求SREQ包,请求周围节点的复印服务,然后在前向路由缓存中缓存TSREQ(SR)和LSREQ(SR)b并向它周围的节点N1发送了SREQ包。

(2)响应服务请求。

节点N1收到节点SR发来的SREQ包后首先在本节点的前向路由缓存中缓存相关路由信息,记录下节点N1收到SREQ时刻的时间信息TN1-SREQ及节点N1在网络中的位置信息LN1-SREQ。然后在自己提供的服务列表中查找匹配的服务,发现本节点无法提供复印服务,则将SREQ包中hop信息加1后向周围节点SP1和SP2转发该SREQ包。

节点SP1收到节点N1发来的SREQ包后首先在本节点的前向路由缓存中缓存相关路由信息,记录下节点SP1收到SREQ时刻的时间信息及节点SP1在网络中的位置信息。然后在自己提供的服务列表中查找匹配的服务,发现本节点可以提供复印服务,那么稍微等待一小段时间,然后构造服务回复包SREP,SREP中包含节点SP1收到SREQ时在网络中的位置信息LSP1-SREQ和节点SP1发送SREP时刻在网络中的位置信息LSP1-SREP,最后向N1节点发送服务回复包SREPSP1

节点SP2收到节点N2发来的SREQ包后首先在本节点的前向路由缓存中缓存相关路由信息,记录下节点SP2收到SREQ时刻的时间信息及节点SP2在网络中的位置信息。然后在自己提供的服务列表中查找匹配的服务,发现本节点可以提供复印服务,那么稍微等待一小段时间,然后构造服务回复包SREP,SREP中包含节点SP2收到SREQ时在网络中的位置信息LSP2-SREQ和节点SP2发送SREP时刻在网络中的位置信息LSP2-SREP。后向N1节点发送服务回复包SREPSP2

(3)处理服务回复包

节点N1收到节点SP1发来的服务回复包SREPSP1后,检查本节点得到节点N1不是服务请求节点,于是对SREPSP1进行如下处理:

a.根据SREPSP1包中节点SP1的位置信息和相应的时间信息以及前向路由缓存中节点N1缓存的位置信息和相应的时间信息计算LETN1-SP1,计算的方法如前所述,假设此时得到的LETN1-SP1值为8时20分。

b.由于SREPSP1中PET初值为无穷大,于是更新PET,将PET的值更新为LETN1-SP1的值8时20分。

c.在节点N1的返向路由缓存中缓存相关路由信息,记录下提供如提供服务节点SP1的节点信息、发送该SREP包的后置节点为SP1节点等相关信息。

d.根据前向路由缓存中缓存的路由信息向节点SR转发该SREPSP1包。

节点N1收到节点SP2发来的服务回复包SREPSP2后,检查本节点得到节点N1不是服务请求节点,于是对SREPSP2进行如下处理:

a.根据SREPSP2包中节点SP2的位置信息和相应的时间信息以及前向路由缓存中节点N1缓存的位置信息和相应的时间信息计算LETN1-SP2,计算的方法如前所述,假设此时得到的LETN1-SP2值为8时40分。

b.由于SREPSP2中PET初值为无穷大,于是更新PET,将PET的值更新为LETN1-SP2的值8时40分。

c.在节点N1的返向路由缓存中缓存相关路由信息,记录下提供如提供服务节点SP2的节点信息、发送该SREP包的后置节点为SP2节点等相关信息。

d.根据前向路由缓存中缓存的路由信息向节点SR转发该SREPSP2包。

节点SR收到节点N1发来的服务回复包SREPSP1后,检查本节点得到节点SR是服务请求节点,于是对SREPSP1进行如下处理:

a.根据SREPSP1包中节点N1的位置信息和相应的时间信息以及前向路由缓存中节点SR缓存的位置信息和相应的时间信息计算LETSR-N1,计算的方法如前所述,假设此时得到的LETSR-N1值为8时45分。

b.由于LETSR-N1比PET大,则不更新PET。

c.在返向路由缓存中缓存相关路由信息,该缓存信息如前所述。

节点SR收到节点N1发来的服务回复包SREPSP2后,检查本节点得到节点SR是服务请求节点,于是对SREPSP2进行如下处理:

a.根据SREPSP2包中节点N1的位置信息和相应的时间信息以及前向路由缓存中节点SR缓存的位置信息和相应的时间信息计算LETSR-N1,计算的方法如前所述,假设此时得到的LETSR-N1值为8时45分。

b.由于LETSR-N1比PET大,则不更新PET。

c.在返向路由缓存中缓存相关路由信息,该缓存信息如前所述。

服务选择的步骤如下:

(1)选择能量符合要求的节点

服务请求节点SR从返回的SREP中可以得到服务提供节点的剩余能量信息,这里假设节点SP1和节点SP2的剩余能量能够满足执行该服务所需要的能量,那么转而进行步骤二的选择。

(2)选择PET符合要求的节点

服务请求节点SR将计算得到的PET与该服务的执行时间与服务发现时间之和进行比较,这里假设该服务的执行时间与服务发现时间之和为20分钟,而当前时间为8时15分。即PET的值必须大于8时35分,由于收到的SREPSP1包中的PET值为8时20分,收到的SREPSP2包中的PET值为8时40分,只有节点SP2符合要求,于是将节点SP2作为该服务的服务提供节点。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号