一种应用ELM预测的命名数据网络移动性切换方法与流程

文档序号:18850612发布日期:2019-10-13 00:49阅读:240来源:国知局
一种应用ELM预测的命名数据网络移动性切换方法与流程
本发明涉及命名数据网络(Named_DataNetworking,NDN)环境中生产者终端移动性切换问题,特别涉及一种引入了ELM位置预测算法的切换发生前的预切换方法。
背景技术
:1、NDN背景随着网络时代的发展,人们对于网络的应用从最初的定点通信逐渐地转变为信息获取和内容分发,由于现有基于ip的网络架构越来越显现出它的不足,于是从上个世纪50年代起兴起了对于新型网络架构的探索,ICN(InformationCentricNetworking,信息中心网络)的思想被提出。以ICN思想为基础,不同地区的研究者们提出了多种不同的网络架构,CCN(Content_CentricNetworking,内容中心网络)是其中重要的一个分支,之后又经过发展形成NDN(Named_DataNetworking)架构。2、NDN场景下移动性切换背景及常见切换方法终端移动性支持是NDN架构下研究的主要问题之一。终端移动性(Mobility)又分为消费者端(Consumer)移动性和生产者端(Producer)移动性两种。对于前者,消费者请求内容后发生移动,数据包回溯到消费者先前的位置而不能被消费者接收,解决这个问题只需要消费者重新发送内容兴趣包即可,该请求会在网络缓存或者生产者端找到内容。对于后者,由于消费者和网络节点不能感知到生产者端的移动,消费者发送的请求被路由到生产者原来的位置而不能找到相应的内容,这种情况持续到生产者端的移动被网络节点感知并对路由器节点的路由表作出修改。到目前为止,存在至少两种生产者端移动性问题的解决方案,分别是基于集会点(rendeznouspoint)的移动性支持方案和基于间接点(indirtecionpoint)的移动性支持方案。前一方案中,集会点服务器负责持续跟踪生产者的位置信息,并在消费者请求失败时将信息告知消费者,该方案因切换带来的时延较大;后一方案中,间接点服务器负责匹配内容前缀和生产者接入点的位置,消费者可以在无视生产者接入点的情况下和生产者进行通信,该方案中数据包的封装和解封的过程增加了转发过程的复杂度,导致正常通信时间变长。并且上述两种方案都是在生产者端移动之后来配置网络,恢复生产者和消费者的通信,属于被动应对策略。3、极限学习机(ELM)算法简介极限学习机是一种前向神经网络,可用于特征学习、分类、聚类、回归等问题。由于其简洁的结构和较高的运算速度,同时可以避免结果陷入局部最优,近年来得到了较广的应用,并扩展到了复数域。ELM算法模型如下:可记为Hβ=T。其中H为隐藏层输出矩阵,β为输出层权重,且有β=H'T,其中H'为H的Moore-Penrose广义逆矩阵。ELM算法一般包括三个步骤:给定训练集N={(xi,ti)|xi,∈Rn,ti∈Rm.i=1,…,N},激活函数g(z)和隐藏层节点量fi,第一步:赋予输入权重ω和偏倚bi(i=1,…,N))任意初值;第二步:计算隐藏层输出矩阵H;第三步:计算输出层权重β。训练结束后,即可使用生成的ELM网络进行预测。技术实现要素:本发明的目的在于针对NDN网络环境中的移动性切换问题,提出一种应用ELM预测的命名数据网络移动性切换方法,该方法通过引入ELM预测算法对生产者位置进行预测,在发生切换之前对网络进行预配置来应对即将发生的切换,属于主动应对策略,最大限度地降低生产者移动带给消费者的时延。为了达到上述目的,本发明采用了以下技术方案:应用ELM算法根据生产者终端的历史位置信息预测该生产者终端在下一时刻的位置;若根据预测结果确定该生产者终端将发生切换,则利用控制包对网络中路由器的FIB进行预配置,通过预配置在保留现有内容转发路径LN的基础上建立与预测得到的生产者终端的位置对应的内容转发路径LN+1,并在下一时刻到达前保持内容转发路径LN和LN+1同时进行兴趣包转发;若预测结果正确,则对网络的预配置进行保存,通过保存将内容转发路径由LN切换至LN+1,若预测结果错误,则对网络预配置进行恢复,通过恢复将内容转发路径由LN+1切换至LN。所述切换方法具体包括以下步骤:1)原接入点路由器使用ELM算法,预测生产者终端下一时刻的位置;原接入点路由器预测到生产者终端将切换至新接入点,产生预修改包并经由核心路由器向新接入点路由器转发,通过预修改包对预修改包转发路径上的各个路由器的FIB进行预修改,使得兴趣包可以同时向原接入点路由器和新接入点路由器转发;其中,原接入点路由器是生产者终端在当前时刻接入的边缘路由器,新接入点路由器是生产者终端在新接入点接入的边缘路由器;2)若生产者终端在所述下一时刻发生移动并与所述新接入点路由器取得连接,则由所述新接入点路由器产生修改确认包,并按照与预修改包转发路径相反的路径经由核心路由器发往原接入点路由器,通过修改确认包将由所述核心路由器至原接入点路由器的转发路径从对应路由器的FIB中删除,并将由所述核心路由器至新接入点路由器的转发路径存入对应路由器的FIB,使得兴趣包被转发到新接入点路由器处;3)若生产者终端在所述下一时刻未发生移动,仍连接在所述原接入点路由器上,则由原接入点路由器产生修改取消包,并按照预修改包转发路径转发,通过修改取消包使得该路径上的各个路由器取消预修改的操作,网络配置恢复到预配置之前,兴趣包仍被转发到所述原接入点路由器处。所述步骤1)具体包括以下步骤:1.1)边缘路由器根据生产者终端历史位置信息,使用ELM算法,预测该生产者终端下一时刻的位置;1.2)边缘路由器预测到该生产者终端将发生切换时,产生预修改包Pre_modify,并向核心路由器转发,预修改包Pre_modify中包含该生产者终端所提供内容的前缀,并且标志位置0;1.3)原接入点路由器和核心路由器间的中间路由器在FIB中查找预修改包Pre_modify中的内容前缀对应的表项,将预修改包的到来端口号由Face_list表项移至Pre_face表项中;1.4)核心路由器在FIB中查找预修改包Pre_modify中的内容前缀对应的表项,将预修改包的到来端口号由Face_list表项移至Pre_face表项,并在Pre_face表项中添加朝新接入点路由器转发的端口号;核心路由器将预修改包Pre_modify的标志位置1后继续向新接入点路由器转发;1.5)核心路由器和新接入点路由器之间的中间路由器在FIB表中查找预修改包Pre_modify中的内容前缀对应的表项,在Pre_face表项中添加朝新接入点路由器转发的端口号;1.6)新接入点路由器收到预修改包Pre_modify后,按原路径返回转发成功的信号,预修改过程完成,兴趣包按照Face_list表项和Pre_face表项中的端口号同时进行转发。所述步骤2)具体包括以下步骤:若所述生产者终端与新接入点路由器取得连接,则预测成功,进行步骤2.1)至2.5):2.1)新接入点路由器产生修改确认包Modify_confirm,将包中标志位置1,并向原接入点路由器转发;2.2)核心路由器和新接入点路由器之间的中间路由器收到修改确认包Modify_confirm后,将Pre_face表项中的端口号移至Face_list表项;2.3)核心路由器收到修改确认包Modify_confirm后,将该包的到来端口号由Pre_face表项中移至Face_list表项,删除Pre_face表项中的其余端口号,并将修改确认包Modify_confirm的标志位置0;2.4)原接入点路由器和核心路由器间的中间路由器收到修改确认包Modify_confirm后,删除Pre_face表项中的端口号;2.5)原接入点路由器收到修改确认包后,返回转发成功的信号,修改确认过程完成;兴趣包根据修改后的相应路由器FIB表中的Face_list表项被路由到生产者终端现在的位置。所述步骤3)具体包括以下步骤:若所述生产者终端未发生移动,仍连接在原接入点路由器上,则预测失败,进行步骤3.1)至3.5):3.1)原接入点路由器产生修改取消包Modify_cancel,将包中标志位置1,并向新接入点路由器转发;3.2)原接入点路由器和核心路由器间的中间路由器收到修改取消包Modify_cancel后,将Pre_face表项中的端口号移至Face_list表项中;3.3)核心路由器收到修改取消包Modify_cancel后,将该包的到来端口号由Pre_face表项中移至Face_list表项中,删除Pre_face表项中其余端口号,并将修改取消包Modify_cancel的标志位置0;3.4)核心路由器和新接入点路由器之间的中间路由器收到修改取消包Modify_cancel后,删除Pre_face表项中的端口号;3.5)新接入点路由器收到修改取消包Modify_cancel,返回转发成功的信号,完成修改取消过程;兴趣包按照相应路由器FIB中Face_list表项被路由到生产者终端原位置。边缘路由器使用ELM算法预测下一时刻生产者终端的位置、预测到切换时提前修改网络配置以及确认或者取消修改,均是和生产者终端的正常通信同步进行的。边缘路由器以时间间隔t采集生产者终端位置坐标,使用该终端前N时刻的位置坐标作为ELM网络的输入,预测该终端第N+1时刻的位置坐标;预测结束后,该终端在第N+1时刻的实际位置坐标被实时加入到ELM网络的输入值中,使得下一时刻的预测结果能随着该终端的当前状态而更新。在所述命名数据网络的FIB中增加预修改端口表项Pre_face,预修改端口表项用于响应终端的切换预测结果对相应路由器的FIB表进行临时修改,并区别于原有转发端口表项;预修改端口作为临时转发端口,在未来会根据预测结果的正确与否被保存下来或者被取消。所述控制包基于实现面向移动性切换的网络配置进行设计,包括预修改包Pre_modify、修改确认包Modify_confirm和修改取消包Modify_cancel;预修改包中至少包含内容前缀、标志位和定位器三个字段,修改确认包和修改取消包至少包含内容前缀和标志位两个字段。所述预修改包用于预配置路由器,修改确认包用于预测成功时保存预配置,修改取消包用于预测失败时撤销预配置操作;预修改包中的定位器字段用于定位核心路由器,该核心路由器与原接入点路由器和预测的切换后接入点路由器相连;路由器根据标志位字段取值确定对预修改端口的移动或增删。本发明具有以下有益效果:本发明中通过引入ELM预测算法对切换的发生进行预测,为在切换发生之前提前配置网络提供了可能,属于主动的事前调整策略,为解决NDN架构下的移动性支持问题提供了新的思路;本发明应用ELM预测算法使得网络配置调整可以和消费者与生产者之间的正常通信同步进行,可以实现切换操作面向消费者透明。本发明方法区别于已有移动性切换方法的事后调整策略,网络设备配置在切换前与内容传输同步进行,以低带宽代价提升内容向用户的响应速度,降低因移动性切换带来内容响应的额外时延。附图说明图1为应用ELM预测的命名数据网络移动性切换方法流程图;图2为使用ELM算法预测生产者移动位置的流程图;图3为修改后的FIB表格式以及发明的三种包格式;图4为应用ELM预测的命名数据网络移动性切换方法分析模型;图5为应用ELM预测的命名数据网络移动性切换过程的时序图;图6为应用ELM预测生产者移动及切换的仿真结果。具体实施方式为了使本发明的内容、效果以及优点更加清楚明白,下面结合附图和实施例对本发明进行详细描述。现有的方法都立足于生产者终端切换发生之后的网络配置修改来适应移动性切换带来的变化,属于一种被动的事后调整策略,例如,无论是集会点解决方案还是间接点解决方案,都是在切换发生之后对网络进行配置调整,均存在时间延迟,无法实现真正的无缝切换。而本发明是应用极限学习机算法预测机制的切换方法,变被动应对为主动应对。本发明提供了完整的利用极限学习机算法预测结果进行网络配置的具体方法,其中包括修改原FIB表和设计了三种控制包,并设定了路由器对于三种控制包的响应。参见图1,本发明通过在命名数据网络的移动性支持问题中引入ELM预测算法,打破了已有方法只能在切换后调整的局限,为实现真正的无缝切换提供了可能。图1中展示了本发明的策略流程,通过预测生产者终端的移动来预测将要发生的切换,并根据预测结果对网络进行预修改,考虑到预测算法的准确性问题,根据预测成败决定对预修改内容保存或撤销。该方法优势在于无论预测成功与否,都不影响消费者正常获取内容,使得切换面向消费者透明。(一)边缘路由器根据生产者终端当前位置预测其下一时刻位置预测过程包括以下步骤,参见图2:1)采用等时间间隔方式获取生产者终端的位置坐标。设定时间间隔t,对于某一生产者终端,每隔时间t收集一次其位置坐标并存储,共存储N条(即前N个时刻)终端位置坐标(根据生产者终端移动速度和边缘路由器的计算能力等因素设置间隔时间t和终端位置坐标数量N)。记第i时刻终端位置坐标为(xi,yi),i=1,2,…N,其中,xi为横轴相对坐标或纬度坐标,yi为纵轴相对坐标或经度坐标,则N条位置坐标可记为矩阵:2)将位置坐标矩阵X作为ELM网络的输入,预测第N+1时刻所述终端的位置坐标X'N+1,即(x'N+1,y'N+1)。3)计算与该坐标(X'N+1)距离最近的路由器R(若预测成功,以该路由器作为生产者终端的接入点路由器)。4)间隔时间t后,根据终端发生切换的实际情况(依据网络自身的切换判断和执行策略),收集终端新的位置坐标(xN+1,yN+1),即N+1时刻的实际位置坐标(XN+1),并将此坐标加入位置坐标矩阵,同时由于仅使用N个时刻的位置坐标进行预测,因此,去除位置坐标矩阵中获取时间最早的位置坐标,从而完成矩阵的更新。5)重复步骤2)至步骤4),使用更新后的矩阵预测下一时刻终端的位置坐标。(二)修改原FIB(前向转发表)结构生产者终端的切换会引起路由器转发端口的变化,朝向原终端位置转发的端口会被移出FIB,同时朝向新终端位置转发的端口会被添加至FIB。为了满足根据预测成败决定对预修改内容保存或撤销,参见图3中修改后的FIB表结构,本发明在原FIB中增加预修改端口(Pre_face)表项,该表项用于临时存储路由器预配置(即预修改)过程需要改动的端口。预配置过程中,路由器将连接原接入点路由器方向的端口由特定内容前缀的Face_list表项移至Pre_face表项中,并在预测成功时从FIB中删除;路由器将连接新接入点路由器方向的端口添加至特定内容前缀的Pre_face表项中,并在预测成功时移至Face_list表项中。特定内容指预测切换的生产者所提供的内容。在原FIB中,Face_list表项用于存储对应内容的转发端口号。(三)三种修改网络配置的控制包的结构、生成条件、生成位置、转发方式及作用参见图3,预修改包(Pre_modify)的结构包含:1.内容名(Content_prefix),即将发生切换的生产者终端所提供内容的名称。2.标志位(Flag),路由器根据包类型和该字段取值确定对预修改端口的移动或增删。3.定位器(Locator),用于定位特定核心路由器,其与原接入点路由器和预测的切换后接入点路由器相连。4.可选部分(Nonce),用于功能拓展。修改取消包(Modify_cancel)沿着预修改包的转发路径转发,修改确认包(Modify_confirm)沿着预修改包转发的反向路径转发,故这两种包中没有定位器(Locator)字段。1、预修改包(Pre_modify):当预测到生产者终端的切换时,由原接入点路由器生成,经由核心路由器发往预测到的新接入点路由器,对转发经过的所有路由器的FIB进行预修改来处理预测的切换过程。2、修改确认包(Modify_confirm):预测成功时,生产者终端与新接入点路由器取得连接,由新接入点路由器生成,经由核心路由器发往原接入点路由器,对路径中的路由器的预修改内容进行保存。3、修改取消包(Modify_cancel):预测失败时,生产者终端未发生切换,由原接入点路由器生成,经由核心路由器发往预测的接入点新路由器,取消对路径中的路由器作出的预修改。(四)中间路由器对于三种控制包的响应1、若包中的标志位为0:(1)收到Pre_modify包,将接收端口编号由FIB中Content_prefix对应表项Face_list移动到Pre_face中;(2)收到Modify_confirm包,将接收端口编号由FIB中Content_prefix对应表项Pre_face中删除;(3)收到Modify_cancel包,将接收端口编号由FIB中Content_prefix对应表项Pre_face中删除;2、若包中的标志位为1:(1)收到Pre_modify包,将接收端口编号添加到FIB中Content_prefix对应表项Pre_face中;(2)收到Modify_confirm包,将接收端口编号由FIB中Content_prefix对应表项Pre_face移动到Face_list中;(3)收到Modify_cancel包,将接收端口编号由FIB中Content_prefix对应表项Pre_face中移回到Face_list;处理移动性切换过程中将兴趣包向Pre_face中的端口和Face_list中端口同时转发。Pre_face表项中为即将被删除的端口或者即将加入Face_list的新端口,而同时向所有端口转发兴趣包的转发方式使得无论何时生产者终端发生移动,兴趣包都能在原接入点或者新接入点处找到相应内容而没有额外时延。(五)使用ELM算法的无缝切换过程参见图4,消费者Consumer正在请求生产者Producer的内容/para/1.avi,原接入点路由器R_old经过ELM算法计算Producer下一时刻的位置,若依据该位置预测得出生产者将由原接入点路由器R_old切换到新接入点路由器R_new,此时R_old生成Pre_modify包,包中内容名为/para/1.avi,标志位置0,locator的内容为可连接R_old和R_new的核心路由器R_core,将该Pre_modify包经R_core向R_new转发:301、中间路由器R_middle1收到该Pre_modify包后在自己的FIB中查找/para/1.avi对应的表项,然后对自己的FIB作出修改,即将包到来端口(编号为2)从/para/1.avi对应的Face_list移动到/para/1.avi对应的Pre_face中;302、当核心路由器R_core收到该Pre_modify包后将包中标志位置1,并在自己的FIB中查找/para/1.avi对应的表项,然后对自己的FIB作出修改,即将包到来端口(编号为2)从/para/1.avi对应的Face_list中移动到/para/1.avi对应的Pre_face中,并在该Pre_face中添加转发出去(朝R_new转发)的端口(编号为1);303、当中间路由器R_middle2收到该Pre_modify包后在自己的FIB中查找/para/1.avi对应的表项,然后对自己的FIB作出修改,即在/para/1.avi对应的Pre_face中添加需要转发(朝R_new转发)该包的端口号(编号为2);R_new收到该Pre_modify包后按转发该Pre_modify包的原路径返回success信号给R_old,至此预修改过程完成。若预测成功,即Producer与R_new取得连接,则由R_new生成Modify_confirm包(包中标志位置1),并向网内转发。中间路由器R_middle2收到该Modify_confirm包后,对自己的FIB作出修改,即将步骤303中添加的编号为2的端口移动到/para/1.avi对应的Face_list中;核心路由器R_core收到该Modify_confirm包后将包中标志位置0,并将自己的FIB中收到该包的端口号1(即步骤302中添加的编号为1的端口)由/para/1.avi对应的Pre_face移动到/para/1.avi对应的Face_list中,删除该Pre_face中余下的原内容转发端口(即步骤302中移动的编号为2的端口);中间路由器R_middle1收到该Modify_confirm包后对自己的FIB作出修改,即将/para/1.avi对应的Pre_face中编号为2的端口(即步骤301中移动的编号为2的端口)删除,R_old收到该Modify_confirm包后按转发该Modify_confirm包的原路径返回success信号给R_new,完成修改确认过程。Producer切换到新边缘路由器(此处指R_new),兴趣包根据修改后的FIB表被路由到Producer现在的位置(移动后的)。若预测失败,Producer未发生移动,仍连接在R_old,则由R_old生成Modify_cancel包(包中标志位置1),并向网内转发。中间路由器R_middle1收到该Modify_cancel包后对自己的FIB作出修改,即将/para/1.avi对应的Pre_face中的编号为2的端口(即步骤301中移动的编号为2的端口)移回到/para/1.avi对应的Face_list中;核心路由器R_core收到该Modify_cancel包后将包中标志位置0,并将自己的FIB中接收该包的编号为2的端口由/para/1.avi对应的Pre_face移回到/para/1.avi对应的Face_list中,移除该Pre_face中余下的转发端口(编号为1,即步骤302中添加的编号为1的端口);中间路由器R_middle2收到该Modify_cancel包后,对自己的FIB作出修改,即将/para/1.avi对应的Pre_face中编号为2的端口(即步骤303中添加的编号为2的端口)删除;R_new收到该Modify_cancel包后按转发该Modify_cancel包的原路径返回success信号R_old完成修改取消过程。Producer仍连接在原边缘路由器(此处指R_old)上,兴趣包按照原FIB表被路由到Producer预测前的位置。若预测到移动,但移动位置预测错误,这种情况发生可能性是比较小的,如果发生了可按照现有事后策略处理。至此,一次完整的使用ELM算法的无缝切换过程完成。(六)应用ELM预测的NDN移动性切换处理过程的时序参见图5,其中401、402、403展示了当处于处理过程的不同阶段时,对于Consumer的兴趣包Interest的不同处理方式:401、当完成预修改过程后,Interest包到达R_core后根据FIB表被同时转发到R_old和R_new,使得无论Producer是否已经进行了切换,总有一处地方的Interest得到响应,返回Data包给Consumer,而Consumer并不关心Producer是否已经发生切换;402、如果预测成功,在完成修改确认过程之后,Producer此时与R_new连接,且网络中的FIB也将Producer提供的内容指向了R_new,所以此时Consumer发出的Interest包会被R_core转发到R_new并从Producer处获得内容;403、如果预测失败,在完成修改取消过程之后,网络配置被还原,Consumer仍然按照预测前的路径与Producer进行通信,即Consumer发出的Interest包会被R_core转发到R_old处并从Producer处获得内容。(七)仿真实验参见图6,在仿真生产者Producer移动预测时,移动模型采用随机游走模型(RandomWalkMobilityModel),生产者以随机变量速度speed和方向direction从当前位置向下一位置移动,其中,速度speed服从区间[speedmin,speedmax]上的均匀分布,方向direction服从区间[0,2π]上的均匀分布。当前速度和方向与上一次计算的速度和方向独立。若生产者移动到仿真区域边缘,则按照下一移动方向弹回。生产者位置每隔时间间隔t计算一次。移动模型使用BonnMotion仿真平台生成,使用MATLABr2014b进行基于ELM算法的预测计算。为绘图简明起见,每次仅仿真一个生产者的移动。图6中,实线为生产者实际移动轨迹,虚线为使用ELM算法预测的生产者移动轨迹,圆点为路由器,正六边形为路由器覆盖小区边界。仿真参数设计如下表所示:仿真参数参数值配置横向移动范围1000m纵向移动范围1000m生产者最大移动速度15m/s生产者最小移动速度5m/s位置计算间隔t10s小区半径144m生产者移动次数N600次ELM网络隐层节点数2000记计算生产者移动的总次数为N,则切换预测的准确率其中Ne为预测错误的次数,预测错误包括错误地预测是否切换以及切换到错误的小区。仿真训练预测准确率为99.41%,达到较高的准确率。总之,通过在切换过程中引入预测机制,本发明提出了应用ELM预测的命名数据网络移动性切换方法,有效地提高了切换效率,首先,边缘路由器使用极限学习机算法,根据终端当前的位置信息,预测其下一时刻的位置,边缘路由器根据预测结果,在预测到与其连接的某终端将离开其范围时发生切换,并使终端与新路由器建立连接。通过引入预测过程,使得路由器可以对终端的移动提前做出切换操作,有效减小了切换过程中的流量损耗,节约了带宽,缩短了时间延迟。本发明在命名数据网络移动性切换问题研究中引入了ELM极限学习机预测算法,对生产者的移动位置进行预测,并通过预配置网络,在生产者发生切换时,消费者仍可以享受无缝的内容传输服务。方法中重构了网络架构中原有的转发表,设计了用于网络配置修改的控制包,从而实现对网络的预配置,设定了路由器针对不同类型控制包的响应方式,并根据预测结果的成功与否对网络的预配置进行保存或恢复,本方法使得生产者的移动切换面向消费者透明。通过引入预测过程,本方法区别于已有移动性切换方法的事后调整策略,网络设备预配置在切换前与内容传输同步进行,以低带宽代价提升内容向用户的响应速度,降低因移动性切换带来内容响应的额外时延。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1