[发明专利]一种基于簇的移动网络实现方法有效
申请号: | 201811074162.4 | 申请日: | 2018-09-14 |
公开(公告)号: | CN109005567B | 公开(公告)日: | 2020-04-17 |
发明(设计)人: | 王晓喃;乐德广;程宏斌 | 申请(专利权)人: | 常熟理工学院 |
主分类号: | H04W40/02 | 分类号: | H04W40/02;H04W40/04;H04L12/741;H04L12/715 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 杨晓玲 |
地址: | 215500 江苏省苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 移动 网络 实现 方法 | ||
1.一种基于簇的移动网络实现方法,其特征在于,所述移动网络包括移动节点;所述移动网络划分为两个以上的域,一个域由一个控制器和两个以上的簇构成;一个簇由一个簇首节点和两个以上的簇成员构成;移动节点包括四种类型:控制器、簇首节点、簇成员以及自由节点;自由节点为既不是控制器也不是簇首节点或者簇成员的移动节点;簇成员能够属于两个以上的簇;
控制器的类型值为1,簇首节点的类型值为2,簇成员的类型值为3,自由节点的类型值为4;
移动节点的地址由地理坐标和硬件ID构成;每个移动节点能够提供一种以上的资源,这些资源构建成资源集合;每个移动节点保存一个邻居表,每个邻居表项包括地址域、类型域、资源集合域以及生命周期;移动节点MN1启动后,它定期执行下述操作建立或者更新邻居表:
步骤101:开始;
步骤102:移动节点MN1定期发送信标消息,该信标消息的源地址为移动节点MN1自己的地址,目的地址为广播地址,即广播地址的每个比特值都为1,负载为移动节点MN1的类型值以及自己能够提供的资源的资源集合;
步骤103:邻居移动节点接收到该信标消息后,查看自己的邻居表,如果存在一个邻居表项,该邻居表项的地址域值的硬件ID等于该信标消息源地址的硬件ID,则执行步骤104,否则执行步骤105;
步骤104:接收到信标消息的邻居移动节点选择一个邻居表项,该邻居表项的地址域值的硬件ID等于该信标消息源地址的硬件ID,将该邻居表项的地址域值更新为该信标消息的源地址,类型域值更新为信标消息负载中的类型域值,资源集合域值更新为信标消息负载中的资源集合,生命周期设置为最大值,执行步骤106;
步骤105:接收到信标消息的邻居移动节点创建一个邻居表项,该邻居表项的地址域值设置为该信标消息的源地址,类型域值设置为信标消息负载中的类型域值,资源集合域值设置为信标消息负载中的资源集合,生命周期设置为最大值;
步骤106:结束;
如果一个邻居表项的生命周期衰减为0,则删除该邻居表项;
如果自由节点FN1准备建立一个域,它执行下述操作:
步骤201:开始;
步骤202:自由节点FN1设置一个参数P1,参数P1的初始值为大于1的正整数;
步骤203:自由节点FN1将参数P1递减1,如果参数P1等于1,则执行步骤214,否则执行步骤204;
步骤204:自由节点FN1发送一个侦听消息,该侦听消息的源地址为自己的地址,目的地址为广播地址,负载为类型值4以及参数n1,参数n1的值等于参数P1;自由节点FN1启动一个定时器,定时器的值为2n1×t1,t1为消息一跳的延迟;
步骤205:如果接收到侦听消息的节点为自由节点,则执行步骤206,否则执行步骤208;
步骤206:接收到侦听消息的自由节点将侦听消息负载中的参数n1递减1,如果参数n1大于0,则执行步骤207,否则执行步骤209;
步骤207:接收到侦听消息的自由节点将该侦听消息转发给邻居节点,执行步骤205;
步骤208:接收到侦听消息的移动节点发送一个侦听确认消息,该侦听确认消息的源地址为自己的地址,目的地址为该侦听消息的源地址,负载为自己的类型值以及该侦听消息负载中的参数n1;
步骤209:如果自由节点FN1在定时器指定时间内接收到侦听确认消息,则执行步骤203,否则执行步骤210;
步骤210:自由节点FN1将自己标记为控制器,选择一个邻居表项,在所有邻居表项中,该邻居表项的地址域值的坐标与自己的坐标的距离值最大,自由节点FN1发送一个簇首消息,该簇首消息的源地址为自由节点FN1的地址,目的地址为该邻居表项的地址域值,负载为自由节点FN1的地址以及参数n1,参数n1的值等于参数P1;
步骤211:其他移动节点接收到该簇首消息后,将自己标记为簇首节点,保存簇首消息的源地址,发送一个簇成员消息,该簇成员消息的源地址为自己的地址,目的地址为广播地址;如果邻居簇首节点或者控制器接收到该簇成员消息,则丢弃该簇成员消息;如果邻居自由节点或者簇成员节点接收到该簇成员消息,则将自己标记为簇成员并保存该簇成员消息的源地址;
步骤212:接收到该簇首消息的移动节点将该簇首消息负载中的参数n1递减1;如果参数n1等于0,则执行步骤214,否则执行步骤213;
步骤213:接收到该簇首消息的移动节点选择一个邻居表项,在所有邻居表项中,该邻居表项的地址域值的坐标与自己的坐标距离以及该邻居表项的地址域值的坐标与簇首消息负载中地址的坐标距离之和最大,发送一个簇首消息,该簇首消息的源地址为自己的地址,目的地址为该邻居表项的地址域值,负载为接收到的簇首消息负载中的地址以及参数n1,执行步骤211;
步骤214:结束;
如果簇成员检测到自己的邻居表中所有邻居表项的类型值都不等于2,则将自己标记为自由节点;如果一个自由节点检测到自己的邻居表中至少存在一个邻居表项,该邻居表项的类型值等于2,则将自己标记为簇成员;如果控制器的坐标发生变化,则执行下述更新操作:
步骤301:开始;
步骤302:控制器选择所有类型值等于1的邻居表项,对于每个邻居表项,控制器发送一个新地址消息,该新地址消息的源地址为该控制器当前的地址,目的地址为该邻居表项的地址域值;
步骤303:簇首节点接收到新地址消息后,保存新地址消息的源地址;该簇首节点选择所有符合条件1的邻居表项;如果选中的邻居表项的数量为0,则执行步骤305,否则执行步骤304;
条件1:该邻居表项的类型域值等于1,且该邻居表项的地址域值的坐标与该新地址消息的源地址的坐标的距离大于接收到新地址消息的簇首节点的坐标与该新地址消息的源地址的坐标的距离;
步骤304:接收到新地址消息的簇首节点针对每个选中的邻居表项发送一个新地址消息,该新地址消息的源地址为接收到的新地址消息的源地址,目的地址为该邻居表项的地址域值,执行步骤303;
步骤305:结束;
控制器保存一个资源表,每个资源表项包含地址域、资源集合域以及生命周期域值;簇首节点CH1定期向控制器执行注册操作:
步骤401:开始;
步骤402:簇首节点CH1发送注册消息,该注册消息的源地址为自己的地址,目的地址为所在域控制器的地址,负载为簇首节点CH1的地址以及资源集合,该资源集合等于簇首节点CH1的所有类型域值等于3的邻居表项的资源集合域值的并集;
步骤403:如果簇成员或者自由节点接收到该注册消息,则执行步骤404,否则执行步骤405;
步骤404:接收到注册消息的簇成员或者自由节点丢弃接收到的注册消息,执行步骤409;
步骤405:如果控制器接收到注册消息,执行步骤409,否则执行步骤406;
步骤406:簇首节点接收到注册消息后,如果自己坐标与该注册消息目的地址的坐标的距离小于该注册消息源地址的坐标与该注册消息目的地址的坐标的距离,则执行步骤408,否则执行步骤407;
步骤407:接收到注册消息的簇首节点丢弃接收到的注册消息,执行步骤409;
步骤408:接收到注册消息的簇首节点将该注册消息的源地址更新为自己的地址,转发该注册消息,执行步骤403;
步骤409:控制器接收到该注册消息后,查看自己的资源表;如果存在一个资源表项,该资源表项的地址域值的硬件ID等于该注册消息负载中的地址的硬件ID,则执行步骤410,否则执行步骤411;
步骤410:接收到注册消息的控制器选择一个资源表项,该资源表项的地址域值的硬件ID等于该注册消息负载中的地址的硬件ID,将该资源表项的地址域值更新为该注册消息负载中的地址,资源集合域值更新为注册消息负载中的资源集合,生命周期设置为最大值,执行步骤412;
步骤411:接收到注册消息的控制器创建一个资源表项,该资源表项的地址域值等于该注册消息负载中的地址,资源集合域值等于该注册消息负载中的资源集合,生命周期设置为最大值
步骤412:结束;
簇成员CM1的簇首节点为CH1,数据D1由资源集合RS1中的资源来产生,簇成员CM1执行下述过程获取数据D1:
步骤501:开始;
步骤502:簇成员CM1发送资源请求消息,该资源请求消息的源地址为自己的地址,目的地址为簇首节点CH1的地址,负载为资源集合RS1以及自己的地址;簇首节点CH1接收到起源请求消息后,查看所有类型值为3的邻居表项,如果资源集合RS1为这些邻居表项的资源集合域值的并集的子集,则执行步骤503,否则执行步骤504;
步骤503:接收到资源请求消息的簇首节点CH1发送一个资源响应消息,该资源响应消息的源地址为该资源请求消息的目的地址,目的地址为该资源请求消息的源地址,负载为该资源请求消息的负载以及自己的地址,执行步骤514;
步骤504:接收到资源请求消息的簇首节点CH1将该资源请求消息的源地址更新为自己的地址,目的地址更新为自己所在域的控制器的地址,将该资源请求消息的负载更新为资源集合RS1、簇成员CM1的地址以及簇首节点CH1的地址;
步骤505:如果簇成员或者自由节点接收到该资源请求消息,则执行步骤506,否则执行步骤507;
步骤506:接收到资源请求消息的簇成员或者自由节点丢弃接收到的资源请求消息,执行步骤513;
步骤507:如果是控制器接收到资源请求消息,则执行步骤513,否则执行步骤508;
步骤508:簇首节点接收到资源请求消息后,查看所有类型值为3的邻居表项,如果资源集合RS1为这些邻居表项的资源集合域值的并集的子集,则执行步骤509,否则执行步骤510;
步骤509:接收到资源请求消息的簇首节点发送一个资源响应消息,该资源响应消息的源地址为自己的地址,目的地址为该资源请求消息负载中的簇首节点CH1的地址,负载为该资源请求消息的负载以及自己的地址,执行步骤514;
步骤510:簇首节点接收到资源请求消息后,如果自己坐标与该资源请求消息目的地址的坐标的距离小于该资源请求消息源地址的坐标与该资源请求消息目的地址的坐标的距离,则执行步骤512,否则执行步骤511;
步骤511:接收到资源请求消息的簇首节点丢弃接收到的资源请求消息,执行步骤513;
步骤512:接收到资源请求消息的簇首节点将该资源请求消息的源地址更新为自己的地址,转发该资源请求消息,执行步骤505;
步骤513:接收到资源请求消息的控制器发送一个资源响应消息,该资源响应消息的源地址为自己的地址,目的地址为该资源请求消息负载中的簇首节点CH1的地址,负载为该资源请求消息的负载以及自己的地址;
步骤514:如果簇首节点CH1接收到资源响应消息,则执行步骤520,否则执行步骤515;
步骤515:如果簇成员或者自由节点接收到该资源响应消息,则执行步骤516,否则执行步骤517;
步骤516:接收到资源响应消息的簇成员或者自由节点丢弃接收到的资源响应消息,执行步骤520;
步骤517:簇首节点接收到资源响应消息后,如果自己坐标与该资源响应消息目的地址的坐标的距离小于该资源响应消息源地址的坐标与该资源响应消息目的地址的坐标的距离,则执行步骤519,否则执行步骤518;
步骤518:接收到资源响应消息的簇首节点丢弃接收到的资源响应消息,执行步骤520;
步骤519:接收到资源响应消息的簇首节点将该资源响应消息的源地址更新为自己的地址,转发该资源响应消息,执行步骤514;
步骤520:簇首节点CH1接收到资源响应消息后,将该资源响应消息的目的地址更新为该资源响应消息负载中的簇成员CM1的地址,转发该资源响应消息;簇成员CM1接收到资源响应消息后,保存该资源响应消息负载中返回该资源响应消息的簇首节点或者控制器的地址A1,发送一个请求消息,该请求消息的源地址为自己的地址,目的地址为地址A1,负载为资源RS1,自己的地址以及簇首节点CH1的地址;
步骤521:如果接收到簇成员或者自由节点接收到该请求消息,则执行步骤522,否则执行步骤523;
步骤522:接收到请求消息的簇成员或者自由节点丢弃接收到的请求消息,执行步骤527;
步骤523:如果接收到请求消息的控制器或者簇首节点的地址的硬件ID等于该请求消息的目的地址的硬件ID,执行步骤527,否则执行步骤524;
步骤524:簇首节点接收到请求消息后,如果自己坐标与该请求消息目的地址的坐标的距离小于该请求消息源地址的坐标与该请求消息目的地址的坐标的距离,则执行步骤526,否则执行步骤525;
步骤525:接收到请求消息的簇首节点丢弃接收到的请求消息,执行步骤527;
步骤526:接收到请求消息的簇首节点将该请求消息的源地址更新为自己的地址,转发该请求消息,执行步骤521;
步骤527:接收到请求消息的控制器或者簇首节点利用资源集合RS1中资源产生数据D1,返回一个响应消息,该响应消息的源地址为自己的地址,目的地址为该请求消息负载中的簇首节点CH1的地址,负载为请求消息的负载以及数据D1;
步骤528:如果簇首节点CH1接收到响应消息,则执行步骤534,否则执行步骤529;
步骤529:如果接收到簇成员或者自由节点接收到该响应消息,则执行步骤530,否则执行步骤531;
步骤530:接收到响应消息的簇成员或者自由节点丢弃接收到的响应消息,执行步骤534;
步骤531:簇首节点接收到响应消息后,如果自己坐标与该响应消息目的地址的坐标的距离小于该响应消息源地址的坐标与该响应消息目的地址的坐标的距离,则执行步骤533,否则执行步骤532;
步骤532:接收到响应消息的簇首节点丢弃接收到的响应消息,执行步骤534;
步骤533:接收到响应消息的簇首节点将该响应消息的源地址更新为自己的地址,转发该响应消息,执行步骤528;
步骤534:簇首节点CH1接收到响应消息后,将该响应消息的目的地址更新为该响应消息负载中的簇成员CM1的地址,转发该响应消息;簇成员CM1接收到响应消息后,保存该响应消息负载中的数据D1;
步骤535:结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于常熟理工学院,未经常熟理工学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811074162.4/1.html,转载请声明来源钻瓜专利网。