一种基于节点重要程度的内容中心网络缓存判决方法
技术领域
本发明属于内容中心网络领域,具体涉及内容中心网络缓存判决方法。
背景技术
自20世纪60年代互联网出现以来,互联网得以迅猛发展,其应用主体已然从最初的硬件共享转移到文字、图片和视频等信息的共享上。用户更加关注内容的获取速度、质量与安全性而非从何处获取到内容。现有的以主机为中心的网络体系已难以满足互联网的发展需求,虽然出现了CDN、P2P等改进技术,但仍无法克服其暴露出的诸多不适应性问题。因此构建新的网络体系成为必然,在此背景下以信息为中心的网络(ICN:Information Centric Networking)应运而生。
所谓以信息为中心的网络,就是将网络中的一切看作是内容,是一个内容互联而非主机互联的网络,其核心对象是内容,通过内容的名字标识每一个信息。自2006年起,国外学术界开展了多项关于下一代Internet体系结构的研究项目,包括UC Berkeley RAD实验室提出的“面向数据的网络架构”(Data-OrientedNetwork Architecture,DONA)、欧盟FP7的4WARD以及“发布/订阅式互联网路由范例”(The Publish-Subscribe Internet Routing Paradigm,PSIRP)、Palo AltoResearch Center提出的“内容中心网络”(Content-Centric Networking,内容中心网络)等,这些研究项目中毫无例外的都采用了以信息为中心的网络架构思想,其中内容中心网络以其在内容分发效率、网络安全和部署方面等具有的显著地优势受到研究人员越来越多的关注,从而成为下一代Internet架构的研究热点。
缓存判决方法是内容中心网络的研究热点之一,它定义了内容中心网络节点是否需要缓存当前新获取内容的规则。内容中心网络节点不是缓存整个对象,而是以数据块(chunk)为单位进行数据缓存,每一个chunk都可以明确地被用户识别。因为网络中的每一个内容中心网络节点都可以作为内容中心网络缓存,当某个用户产生的一个请求在缓存中命中时,相应的数据包就会沿着路径送回到用户中。合理的缓存判决方法,有利于提高内容中心网络的性能,让用户可以就近获取数据,减少数据获取时延。
由于内容中心网络的研究现阶段尚处于起步阶段,现有文献中,缓存置换方法常默认使用LRU(Least Recently Used),缓存判决方法则使用到达即存的LCE(Leave Copy Everywhere)。就缓存判决方法而言,LCE不是一个很好的选择,研究者们一直在致力于研究新的缓存判决方法,如文献[1]中提到的LCD(LeaveCopy Down),MCD(Move Copy Down)和LCP(Leave Copy Probability)方法。其中,LCD和MCD都是随着内容请求次数的增加,使得内容逐步缓存在离用户近的节点上,MCD较之于LCD的不同之处是将回传数据从原缓存节点中移除了,而LCP则是使得回传数据在回传路径上各节点以概率的方式进行缓存。文献[2]中提出的取名为BETW的方法中,将回传数据只缓存在回传路径上重要程度最大的节点上,通过仿真表明了在回传路径上对回传数据的缓存不是越多越好。但是BETW方法也不是很合理,回传路径上重要程度大的节点可能会离用户比较远,这会导致用户获取内容的平均命中距离增加,增大网络延迟。
现阶段,研究者们默认LCE方法为缓存判决方法,当有新内容经过内容中心网络节点时,必然将其存入缓存。处处缓存显然不是一个很好的方法,随后一些研究者提出了新的判决方法,如LCD、MCD、LCP等。其中,LCD和MCD都是随着内容请求次数的增加,使得内容逐步缓存在离用户近的节点上,MCD较之于LCD的不同之处是将回传数据从原缓存节点中移除了,而LCP则是使得回传数据在回传路径上各节点以概率的方式进行缓存。而文献[2]的BETW方法中,将回传数据只缓存在回传路径上重要程度最大的节点上,这方法也不是很合理,回传路径上重要程度大的节点可能会离用户比较远,这会导致用户获取内容的平均命中距离增加,增大网络延迟。
现有缓存判决技术因为没有考虑到回传路径上各节点的重要程度,根据各节点重要程度的不同分情况进行缓存,从而导致网络缓存资源分配不合理,缓存命中率比较低,内容中心网络整体上性能欠佳,不能很好的保证①用户可以就近访问内容;②降低内容获取时延,更好地实现网络资源的合理分配。
对比文件
[1]Laoutaris,N.,H.Che and I.Stavrakakis,2006.The LCD interconnection of LRUcaches and its analysis.Performance Evaluation,63(7):609-634.
[2]Chai,W.K.,D.He,I.Psaras,and G.Pavlou,2012.Cache“Less for More”inInformation-Centric Networks.IFIP International Federation for InformationProcessing,Prague,Czech Republic,7289:27-40.
[3]Jacobson,V.,D.K.Smetters,J.D.Thornton,M.Plass,N.Briggs,and R.L.Braynard,2009.Networking Named Content.Proc.ACM CoNEXT:1–12.
发明内容
本发明的目的在于提供一种基于节点重要程度的内容中心网络缓存判决方法,以提高网络中缓存的命中概率和降低用户获取内容的平均命中距离,从而提高内容中心网络的整体性能。
为了解决以上技术问题,本发明的具体技术方案如下:
一种基于节点重要程度的内容中心网络缓存判决方法,其特征在于包括以下步骤:
步骤一,获取从用户到源服务器的传输路径上的各个节点Ri的流量值flow(Ri),其中i∈[1,n],n为节点个数;
步骤二,根据所述各个节点Ri的流量值flow(Ri)得到各个节点在传输路径上的重要程度Im(Ri),计算公式为:
步骤三,产生一个请求包,将各个节点在传输路径上的重要程度Im(Ri)存放在请求包的头部;
步骤四,当请求包到达源服务器或存储该内容的中间节点时,将请求包头部的各个节点在传输路径上的重要程度Im(Ri)存入所请求内容回传数据包的头部;
步骤五,回传路径上各中间节点收到回传数据包后,结合各个节点在传输路径上的重要程度Im(Ri),判决是否要对所述数据包进行缓存,使得该回传数据包缓存在比原缓存节点重要程度大一级的节点上。
所述各个节点Ri的流量值flow(Ri)的确定方法如下:
Step1.获取各个节点Ri的用户访问数目m和用户ID号;
Step2.获得访问节点Ri的各个用户产生的数据流量值flow(Rij),其中i∈[1,n],j∈[1,m],n为节点个数,m为该节点的用户访问数目;
Step3.获得节点Ri的流量值,计算公式为:
对所述数据包进行缓存判决的依据如下:
当请求包在源服务器命中时,则将回传数据包只缓存在路径上重要程度Im(Ri)最小的节点中,其他节点不进行缓存;
当请求包在中间节点命中时,同时这个节点的重要程度Im(Ri)是最大的,则将命中的内容回传数据包在该节点上标记为最近使用,在其他节点不进行缓存;
当请求包在中间节点命中时,同时这个节点的重要程度Im(Ri)不是最大的,则将命中的内容回传数据包从该节点移除,并且推动到只比该节点重要程度大一级的节点中进行缓存。
本发明具有有益效果。本发明提高了流行度高的内容在重要程度高的节点上的存储比例,从而提高了流行度高的内容的网络存活时间。本发明考虑了网络中回传路径各个节点的重要程度,将流行度高的内容尽量缓存在重要的节点中,而流行度低的内容则缓存在那些相对重要性更低的节点中,这样有利于提高网络中缓存的命中概率和降低用户获取内容的平均命中距离,提高内容中心网络的整体性能。
附图说明
图1是m层k叉树内容中心网络拓扑结构图;
图2是从图1虚线所示选出来的一条内容传输路径图,m=3,k=2;
图3是本发明的流程图;
图4是3层2叉树网络拓扑结构中,现有技术中LCE方法,BETW方法和本发明方法CGTIN的源服务器命中概率实验结果图。
具体实施方式
下面结合附图,对本发明的技术方案作进一步详细说明。
以3层2叉树内容中心网络拓扑结构为实例,选择出一条内容传输路径,如图2所示,对本发明进行说明。本发明缓存置换方法使用LRU,即将当有新的内容进入节点缓存时,将最近最少使用的内容从缓存中移除。
具体步骤:
步骤1.产生一个请求数据包;
步骤2.请求将沿着内容传输路径寻求所需内容。
步骤2中具体过程为:
Step1.确定内容传输路径,此时传输路径上包括节点R1,R2,R3;
Step2.获取从用户到源服务器的传输路径上的节点R1,R2,R3的流量值flow(Ri),分别为500packet/s,900packet/s和1600packet/s;
Step3.根据各个节点Ri的流量值flow(Ri)得到各个节点在传输路径上的重要程度Im(Ri),计算公式为:
计算后得到 从而可以得出Im(R3)>Im(R2)>Im(R1);
Step4.将各个节点在传输路径上的重要程度Im(R1),Im(R2),Im(R3)存入请求包的头部;
Step5.请求沿着内容传输路径寻求所需内容;
Step6.接收到请求的节点提取请求中包含的内容名;
Step7.接收到请求的节点查询自身缓存表。
步骤3.回传路径上各中间节点收到回传数据包后,结合各个节点在传输路径上的重要程度Im(Ri),判决是否要对所述数据包进行缓存,有以下三种情况:
(1)当请求在源服务器上命中所需内容时,则将回传数据包只缓存在路径上重要程度最小的节点R1中,其他节点不进行缓存。
具体过程:
Step1.请求在源服务器获取所需内容;
Step2.将请求包头部的各个节点在传输路径上的重要程度Im(R1),Im(R2),Im(R3)存入所请求内容回传数据包的头部;
Step3.将回传数据包沿着传输路径回传给用户;
Step4.将回传数据包只缓存在路径上重要程度最小的节点R1中,其他节点不进行缓存。
(2)当请求包在中间节点命中时,同时这个节点的重要程度Im(Ri)是最大的,也就是在R3中命中,则将这个回传数据包在R3上标记为最近使用,在其他节点不进行缓存;
具体过程:
Step1.请求在中间节点R3上获取所需内容;
Step2.将请求包头部的各个节点在传输路径上的重要程度Im(R1),Im(R2),Im(R3)存入所请求内容回传数据包的头部;
Step3.将回传数据包沿着传输路径回传给用户;
Step4.将这个回传数据包在R3上标记为最近使用,在其他节点不进行缓存。
(3)当请求包在中间节点R2命中时,这个节点的重要程度Im(Ri)不是最大的,则将命中的内容回传数据包从该节点移除,并且推动到只比该节点重要程度大一级的节点R3中进行缓存。
Step1.请求在中间节点R2上获取所需内容;
Step2.将请求包头部的各个节点在传输路径上的重要程度Im(R1),Im(R2),Im(R3)存入所请求内容回传数据包的头部;
Step3.将回传数据包沿着传输路径回传给用户;
Step4.将命中的内容回传数据包从该节点移除,并且推动到只比该节点重要程度大一级的节点R3中进行缓存。
如图4所示,它表示的是3层2叉树网络拓扑结构中,LCE,BETW和基于节点重要程度的内容中心网络缓存判决方法CGTIN的源服务器命中概率。图中x轴表示内容按流行度分类后前十类id号,y轴表示前十类内容在源服务器的命中概率。从图中可以看出,基于节点重要程度的内容中心网络缓存判决方法源服务器命中概率要明显低于LCE和BETW,也就是提高了网络中缓存的命中概率,进而提高了内容中心网络的整体性能。