著录项信息
专利名称 | 面向服务的自组织网络中基于分簇的服务发布和发现方法 |
申请号 | CN200710170787.6 | 申请日期 | 2007-11-22 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2008-04-16 | 公开/公告号 | CN101163158 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/08 | IPC分类号 | H;0;4;L;2;9;/;0;8;;;H;0;4;L;1;2;/;2;8查看分类表>
|
申请人 | 复旦大学 | 申请人地址 | 上海市邯郸路220号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 复旦大学 | 当前权利人 | 复旦大学 |
发明人 | 孙未未;陈炜于;何震瀛;覃泳睿;张卓瑶 |
代理机构 | 上海正旦专利代理有限公司 | 代理人 | 陆飞;盛志范 |
摘要
本发明属于自组织网络技术领域,具体是一种面向服务的自组织网络上基于分簇的服务发布和发现方法,本方法分为簇维护、服务发布和服务发现三个部分。簇维护分为分簇、簇更新两部分;服务发布包括服务信息建立和服务信息更新两个部分;服务发现指在完成分簇和服务发布以后,节点通过簇头来发现自组织网络上存在的基本服务。本发明能够有效地避免已有服务发布和服务发现方法存在的广播风暴现象;在本方法中还可以使用可替代服务,增强服务发现的效率。
1.一种面向服务的自组织网络中基于分簇的服务发布和发现方法,其特征在于具体步骤分为:簇维护、服务发布和服务发现三个部分,其中:
所述的簇维护包括簇头选举和分簇,簇更新两个部分:
(1)簇头的选举和分簇:簇头选举按“最多邻近基本服务个数优先”的原则进行,即选举那些周围跳邻居中基本服务个数最多的节点作为簇头:首先每个节点对外广播自身的基本服务个数,直到每个节点知道周围n跳邻居中的基本服务个数;具有最多邻近基本服务个数的节点成为簇头,并向周围广播自身是簇头的信息,所有n跳范围内的节点都是这个簇头的簇成员,同时这些节点不参与簇头的选举过程,重复这一过程,直到自组织网络中的所有节点加入簇为止,1<=n<=10;
(2)簇的更新:分两种情况:一个簇头发现另外一个簇头存在于本簇内,即可开始更新本簇的结构,重新选举簇头,重新建立新簇;一个节点发现本节点不处于任何一个簇内,说明这个簇的簇头有可能失效,也重新发起簇头的建立过程;
所述的服务发布包括服务信息建立和服务信息的更新两个步骤:
(1)服务信息建立:簇头通过交互获得本簇内的所有节点上的基本服务信息;如果多个节点都能提供某一个基本服务,则簇头只存储最优的k个基本服务的信息,1<=k<=
10,再把剩余的基本服务信息在簇头保存一份;其中,所述最优由基本服务的质量、节点的剩余能量和簇头与节点间距离综合决定;
(2)服务信息更新:服务信息更新由周期性的更新完成,簇内节点周期性向簇头发送自身的服务信息,簇头在接受到信息后更新自己内部维护的基本服务的缓存;如果缓存中的一个基本服务在已经超过周期性的更新的时间后还没有收到某个节点发过来的更新包,则把此基本服务从缓存中删除;
所述的服务发现的过程如下:节点把组合服务的基本服务发现请求广播到所有的簇头节点,簇头节点收到此服务发现请求包后,搜寻本地缓存中的基本服务的信息;如果在本地能找到所请求的基本服务,直接返回所请求的基本服务的信息给服务发现的请求节点;如果不能找到所请求的基本服务,则尝试选择可替代的基本服务,如果尝试失败,本簇头不做其他处理。
面向服务的自组织网络中基于分簇的服务发布和发现方法\n技术领域\n[0001] 本发明属于自组织网络技术领域,具体涉及一种面向服务的自组织网络中基于分簇的服务发布和发现方法。\n背景技术\n[0002] 随着网络技术的飞速发展,用户的需求已从最初的信息共享逐渐发展为如何利用其它Web站点提供的功能。相应地,服务科学作为有效进行功能调用的学科被提出。服务是一种部署在网络上的、自包含的、模块化的应用程序,它可以在网络中描述、发布、查找以及调用。服务的提出实现了对各种设备或平台上的任何硬件或软件实体可以提供给其他设备访问的资源或功能的一种抽象。通过服务组合可以将几个相对简单的服务合成一个能够完成更复杂任务的服务。目前服务组合是软件领域实现资源共享、提高资源利用率以及提高软件质量的一个重要方式。\n[0003] 自组织网络是一种不需要固定基础结构、在移动或固定环境下可以快速部署的无线网络。网络中的节点利用自身的无线收发设备交换信息,当相互之间不在彼此的通信范围内时,可以借助其他中间节点中继来实现多跳通信。这种网络拓扑与有基础结构的网络拓扑相比具有可伸缩性大、灵活性好、易于控制、可靠性高等特点,主要用在军事领域,如用于战场上信息的传递,也可以用在民用领域进行语音和数据的传输,如用于智能交通监控、环境监控以及办公协作等。\n[0004] 由于自组织网络单个节点的计算能力、存储能力和能量资源有限,单个节点的服务功能也有限,但网络中却同时存在大量节点可以提供相同或不同的服务。如果能将这些节点提供的服务进行组合,就可为用户提供更加复杂的服务,提高网络和服务资源的利用率,更好地满足用户需求。在自组织网络中,服务组合主要通过服务发现、服务组合和服务执行三个过程来实现。服务发现是查询网络中服务的位置、并收集相关信息的过程。\n[0005] 现在的普适环境下的服务发现机制主要有Jini,Upnp,Salutation/Salutation-lite,SLP。Jini是由SUN公司开发的一种分布式的服务发现体系结构,其目标是将传统网络转换为一种灵活、易管理的工具,使用户可以很方便地发现服务,其核心是JLS(Jini Lookup Service),维护可用服务的动态信息。Upnp扩展了Microsoft关于外部设备即插即用的模型,支持不同厂商网络设备提供的服务发现。Upnp采用SSDP(Simple Service Discovery Protocol)在IP网络上发现服务。Salutation是一种开放标准的、与平台无关的服务发现和会话管理协议,它的目标是解决在广域或移动环境中大量设备的服务发现和利用的问题,其中SalutationLookup Manager作为网络中服务的代理。\nSalutation-lite是为适应小设备而设计的Salutation的简化原型。SLP是一种与语言无关的协议,在IP网络上进行自动服务发现,有三种类型的代理(用户代理,服务代理以及发现代理)。从上述协议上我们可以发现,这些协议都只适用在有基础结构的网络上,因为他们都需要有一个中心服务发现代理来协助完成服务发布和发现的功能,这种机制并不适合自组织网络这类无基础结构的网络。Ninja是Berkeley大学研究的服务发现系统,由用户、服务以及SDS服务器组成,系统具有可伸缩、容错、安全可用等特点,支持局域或广域服务;\n用户、服务采用全局SDS多播信道与SDS服务器进行通信。Bluetooth Service Discovery Protocol是P2P网络中的简单服务发现机制,实现无中心目录服务,服务信息存储在每个移动/静态设备上的本地服务发现服务器上,但该服务器并不指明对服务的访问方法,只是回答是在该设备上是否服务可用。(这两个协议为啥不适用?)\n[0006] 现在自组织网络上的服务发现主要是通过泛洪方式向周围节点广播服务请求,但这种全局广播的效率较低,并且容易导致广播风暴(broadcast storm)。针对以上问题,本发明提出了基于分簇的服务发布和服务发现的方法。\n发明内容\n[0007] 本发明的目的在于可提高广播效率,避免广播风暴的自组织网络中服务发布和发现方法。\n[0008] 本发明提出的方法是基于分簇的服务发布和发现的方法。在形成分簇的过程中就可以进行服务发布,并在簇头中存放周围n(1<=n<=10)跳内簇中的基本服务信息。n根据网络中相关节点的当前状态和服务质量要求确定。在分簇形成后,结合先应式和反应式两种策略:在簇内,通过簇头在簇内广播或由节点向簇头请求;在簇间,簇头之间采用广播的方法,在网络中进行动态服务发现。\n[0009] 下面介绍一些基本概念。\n[0010] 自组织网络是指一些带有无线收发装置的终端组成的一个多跳临时性的自治系统。它具有独立组网、无中心、自组织、多跳路由、动态拓扑和移动终端的局限性的特点。\n[0011] 分簇算法是根据系统要求按照某种规则将网络划分成可以相互连通并覆盖所有节点的多簇,并在网络结构发生变化时更新簇结构以维护网络的正常功能。\n[0012] 簇头是按照某种分簇算法或者规则选取出负责协调和管理其所在簇内所有的节点,簇内除了簇头外其余节点称为成员。一个簇内只有一个簇头。\n[0013] 面向服务的自组织网络特指主要功能是用来共享服务的自组织网络。\n[0014] 在自组织网络中,存在大量的可提供不同信息和服务的智能设备。用户接入网络的基本目的之一是,获取网络中其它设备所提供的服务或者通过网络向其它设备提供服务。设计一种能适合自组织网络环境的服务发现协议,以便快速和高效发现基于位置和情景的服务至关重要。本发明提出了面向服务的自组织网络中基于分簇的服务发布和发现方法。该分簇策略直接应用于网络层。本方法的优点在于降低了自组织网络中服务发布和发现时的网络传输代价。具体步骤分为:簇维护、服务发布和服务发现三个大部分。下面对这三个步骤进行详细叙述。\n[0015] 1.簇维护\n[0016] 簇维护包括两个步骤:簇头选举和分簇,簇更新。\n[0017] (1)簇头选举和分簇\n[0018] 簇头选举按“最多邻近基本服务个数优先”的原则进行,即选举那些周围n(1<=n<=10)跳邻居中(包括当前节点本身)基本服务个数最多的节点作为簇头。首先每个节点对外广播自身的基本服务个数,直到每个节点知道周围n跳邻居中的基本服务个数。具有最多邻近基本服务个数的节点成为簇头,并向周围广播自身是簇头的信息,所有n跳范围内的节点都是这个簇头的簇成员,同时这些节点不参与簇头的选举过程,重复这一过程,直到自组织网络中的所有节点加入簇为止。\n[0019] (2)簇更新\n[0020] 簇头更新是一个周期性的过程,分两种情况:一个簇头发现另外一个簇头存在于本簇内(由于节点移动性),即可开始更新本簇的结构,重新选举簇头,重新建立新簇;一个节点发现本节点不处于任何一个簇内,说明这个簇的簇头有可能失效,也重新发起簇头的建立过程。这两类簇头重选举过程一般是在局部范围内,不是全局的更新,网络传输代价会较小,速度也会较快。\n[0021] 2.服务发布\n[0022] 服务发布包括两个步骤:服务信息的建立和服务信息的更新。具体描述如下:\n[0023] (1)服务信息建立:簇头通过交互获得本簇内的所有节点(包括自身)上的基本服务信息(包括服务的服务质量信息,节点的标号,节点和簇头间的距离,节点的稳定性信息)。如果多个节点都能提供某一个基本服务,则簇头只存储最优(由基本服务的服务质量、节点的剩余能量和簇头与节点间距离综合决定)的k(1<=k<=10)个基本服务的信息,再把剩余的基本服务信息在簇头保存一份。\n[0024] (2)服务信息更新:服务信息更新主要是由周期性的更新完成的,簇内节点周期性向簇头发送自身的服务信息,簇头在接受到信息后更新自己内部维护的基本服务的缓存。如果缓存中的一个基本服务在已经超过周期性的更新的时间后还没有收到某个节点发过来的更新包,则把此基本服务从缓存中删除。\n[0025] 3.服务发现\n[0026] 本方法可以有效地提高服务发现的效率。服务发现主要的过程如下:节点把组合服务的基本服务发现请求广播到所有的簇头节点。簇头节点收到此服务发现请求包后,搜寻本地缓存中的基本服务的信息,如果在本地能找到基本服务,直接返回基本服务的信息给服务发现的请求节点;如果不能找到基本服务,则尝试选择可替代的基本服务(例如激光打印服务是喷墨打印服务的可替代服务),如果尝试失败,本簇头不做其他处理。在以上服务发现过程中,簇内不再进行广播,因此总体上,簇的服务发现能够有效减少广播的信息量,降低网络的负载。\n[0027] 本方法基于服务的位置分布对自组织网络进行分簇,大大提高了自组织网络中服务发布和发现的效率。同时利用服务可替代性,能够使基本服务找到一些可替代的基本服务,进一步提高了服务发布信息的可用性。\n附图说明\n[0028] 图1所示为会议场景中10个客户组成的自组织网络,其中Ni是移动设备号。\n[0029] 图2所示为图1分簇后的自组织网络,其中Ni是移动设备号。\n具体实施方式 \n[0030] 不失一般性,本发明以会议场景下的服务组合为例来详细介绍整个服务发布和发现方法,进一步阐述本发明的目的、特征和优点。但本发明的保护范围不限于下述实例。\n[0031] 在一个会议场景中,有十个客户到一个会议室里开讨论会,每个客户都有自己的移动设备,或者是PDA,或者是手提电脑,整个网络的场景如图2所示,移动设备之间是多跳连接的,形成一个自组织网络。\n[0032] 每一个节点上都存在有一定的服务,具体的服务和位置,见表1。\n[0033] 表1会议场景上移动设备的服务列表\n[0034] \n移动设备号 移动设备上的服务\n N1 从外网上下载东西;激光打印服务;\n N2 解压服务;\n N3 激光打印服务;PDF放映;\n N4 PS转化为PDF;\n N5 从外网上下载东西;PS转化为PDF;\n N6 解压服务;PDF的放映;\n N7 PS转化为PDF;喷墨打印服务;\n N8 从外网下载东西;\n N9 压缩服务;\n N10 解压服务;\n[0035] 步骤1:簇信息维护\n[0036] 首先在本场景中的节点上的所有的节点进行分簇,不失一般性,这里n取为1建立簇。在本场景中,节点N3旁边1跳范围内的的服务数目最多,所以节点N3是簇头,同时它周围的1跳邻居都是簇内成员。依次类推,节点N10和节点N6也是簇头。同时我们可以把所有簇内的服务信息发布在簇头上。节点N6缓存有解压服务、PDF的放映和压缩服务;节点N3有激光打印服务、PDF放映、从外网上下载东西、PS转化为PDF、喷墨打印服务和压缩服务。\n节点N10上缓存解压服务、从外网上下载东西和激光打印服务。\n[0037] 现在因为节点N3上的用户要把他放在办公室网上的一个文件进行喷墨打印,即需要执行一个组合服务:从外网上下载一个文件,并且把这个文件进行喷墨打印。这里我们用S1代表从外网下载服务,S2代表喷墨打印。要执行这个组合服务,必须先把这两个基本服务找到,节点N3会把这个请求提交给所有簇头节点,即节点N3、N10和N6,节点N3发现自身上有S1和S2服务,节点N6发现自身上没有这两个服务,节点N10发现自身上有S1服务,但是S2服务有可替代的激光打印服务。这三个簇头找到服务后,直接把基本服务信息反馈给服务请求节点,不会把信息在簇中进行广播。\n[0038] 从上面的例子可以看出本方法有效地利用了分簇的特点,使服务发布和发现过程避免了泛洪广播,有效地降低了网络的负载。
法律信息
- 2016-01-06
未缴年费专利权终止
IPC(主分类): H04L 29/08
专利号: ZL 200710170787.6
申请日: 2007.11.22
授权公告日: 2012.02.29
- 2012-02-29
- 2009-12-16
- 2008-04-16
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2007-09-12
|
2007-02-02
| | |
2
| |
2007-08-08
|
2007-02-05
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |