CN107948247B - 一种软件定义网络的虚拟缓存通道缓存管理方法 - Google Patents
一种软件定义网络的虚拟缓存通道缓存管理方法 Download PDFInfo
- Publication number
- CN107948247B CN107948247B CN201711058410.1A CN201711058410A CN107948247B CN 107948247 B CN107948247 B CN 107948247B CN 201711058410 A CN201711058410 A CN 201711058410A CN 107948247 B CN107948247 B CN 107948247B
- Authority
- CN
- China
- Prior art keywords
- content
- cache
- popularity
- node
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种软件定义网络的虚拟缓存通道缓存管理方法,在软件定义网络和内容中心网络融合架构下,通过控制器对全网拓扑和缓存等信息的感知,对缓存节点的选择和缓存内容的替换进行集中控制和优化。在本发明中,一条转发路径上的所有节点缓存空间被作为一个整体综合考虑,从而为缓存判决策略和缓存替换策略的协同统一提供了基础。该方法中,控制器周期性收集网内各节点的内容请求,并分别统计各节点所缓存内容的流行度,再根据依据代价的辅助缓存方法,选择虚拟缓存通道中的最不重要的内容即流行度最低的内容替换出去,从而作出对于该通道而言最优的缓存策略。
Description
技术领域
本发明涉及计算机网络领域,在软件定义网络和内容中心网络融合架构下的软件定义网络控制器的集中控制和感知全网信息,特别涉及联合优化缓
存决策和缓存替换的一种软件定义网络的虚拟缓存通道缓存管理方法。
背景技术
随着互联网的发展,人们对网络的主要应用需求变为进行信息获取和数据传输,而原有的基于IP的点对点的网络通信模式已经不能很好地满足人们的需求。尤其是随着视频类业务的不断增长,人们对于网络进行海量数据传输的能力要求越来越高。网络规模的急速增长和新应用的不断引入,引发了学者们对于未来网络的研究。内容中心网络正是研究者们提出的未来互联网架构之一。
高效的内容缓存机制是内容中心网络架构的重要组成部分。当收到兴趣包时,CCN节点首先查找内容存储器。如果有数据的名字和兴趣包的名字形成了匹配,CCN节点直接返回兴趣包请求的内容。CCN节点的内容存储器本质上就是现在路由器中的缓存空间。IP路由器和CCN路由器都可以缓存数据包,但区别是IP路由器的缓存数据不能被重复利用,而CCN路由器的缓存数据是由特定的名字标识的,可以实现重复利用。对于静态数据,CCN几乎能够达到最优化的内容分发,甚至对于动态内容,用户也可以受益于内容的多播机制或者在数据包丢失后简单地采用重新发送兴趣包的方式处理。鉴于缓存的重要性,缓存管理因而成为CCN架构研究的重点之一。
软件定义网络(SDN)是一种基于软件的网络技术,它倡导控制与数据的分离。软件定义网络架构将网络分为应用层、控制层、数据层。应用层通过北向接口向控制层提供开放的编程接口和网络视图,控制层包括控制器和网络操作系统,并通过南向接口控制数据层进行数据处理、转发和收集。控制平面与数据平面的解耦、开放的可编程接口、集中化的控制使软件定义网络技术在简化网络基础设施,提升网络管理效率方面具有独特优势。
一方面,传统的内容中心网络缺乏对全网感知的能力,捕捉不到网络的动态变化,这样会使得做出的缓存决策结果失去了意义;另一方面,在内容中心网络和软件定义网络融合架构下只关注于缓存决策策略而不考虑缓存替换策略的话,可能会使得上次缓存决策的结果被替换出去,造成缓存命中率降低以及网络资源的浪费。
发明内容
为了克服现有技术的缺陷,本发明的目的在于提供一种软件定义网络的虚拟缓存通道缓存管理方法,综合考虑缓存决策和缓存替换,并提出依据代价的辅助缓存方法等数学模型进行缓存管理。在研究内容中心网络缓存管理方法的过程中,引入软件定义网络集中控制和全网感知等概念,将两种未来网络的优势结合起来,提出软件定义网络的虚拟缓存通道管理方法,为研究内容中心网络缓存问题提出一种有效的方法。
为达到上述目的,本发明采用了以下技术方案:
一种软件定义网络的虚拟缓存通道缓存管理方法,利用软件定义网络和内容中心网络融合架构下控制器集中控制和全网感知优势,根据全局网络拓扑和网络内容的信息,考虑不同流行度的内容被消费者持续访问可能性的不同、节点内部已缓存内容的详细信息的局限性、缓存替换策略单独执行因素,采用缓存决策策略和缓存替换策略协同工作的缓存管理方法,其特征在于,为数据层交换机增加相关表项,控制器周期性地收集内容请求信息,并通过内容流行度统计模型和内容流行度修正模型对收集到的信息进行预处理,预处理后的信息在包处理流程中,控制器利用依据代价的辅助缓存方法进行缓存决策,做出对于内容最优的缓存位置选择和对于节点最优的替换选择。
所述的数据层交换机增加相关表项,具体为:
在数据层交换机的内容存储器数据结构中添加三个表项:内容流行度CP(ContentPopularity)、当前周期访问频次Fr(Frequence)和是否为本节点最不重要内容Flag,其中CP指标为对应内容的历史流行度,Fr指标为一个时间周期T内节点收到对于该内容的请求频次,Flag指标用来标记当前时间周期流行度最低的缓存内容,Flag标识的存在可以避免节点查找最低流行度内容进行重复的比较工作。
所述的通过内容流行度统计模型和内容流行度修正模型对收集到的信息进行预处理,具体为:
控制器周期性地收集各交换机节点的内容请求信息,各节点收到控制器下发的统计信息的消息后,将自身统计的缓存信息发送给控制器,在时间周期T内,节点收到兴趣包,若节点缓存有兴趣包所请求内容,则该缓存本周期访问频次Fr加1;若缓存中没有该内容,则直接转发兴趣包,不进行流行度更新;在时间周期T结束时,各个交换机节点将自身的缓存信息发给控制器,控制器根据内容流行度统计模型及本交换机节点流行度修正值对所有缓存的流行度CP进行更新,随后通过流表下发的形式将更新后的内容流行度值写入各个节点的CP字段,并且找出本节点流行度最低的内容并置其Flag字段值为1;根据内容流行度修正模型,控制器保存有网络中的各节点根据本节点的位置信息计算出的流行度修正值,当每个流行度统计周期结束进行流行度更新时,控制器都会根据对应节点流行度修正值对更新后的流行度进行修正,使得估计出流行度尽量接近内容的真实流行度。
所述的内容流行度统计模型,具体为:
控制器在每个时间周期结束时对各节点的所缓存内容的流行度值进行一次更新,更新方法如下:
cpnew=cpold×δ+Fr×(1-δ)
式中:cpnew——更新后的CP值;cpold——更新前的CP值;δ——衰减系数,取值范围是0到1。
考虑到内容流行度可能随时间变化的因素,并且不同类型的内容流行度随时间变化的速率也会有所不同。流行度更新方法中衰减系数的存在可以很好地解决这个问题。通过设置不同的衰减系数,可以调整历史流行度以及当前周期内容访问频次对内容流行度估计的影响比例。越大代表历史流行度对于内容当前流行度的影响越大,则内容流行度对于内容短时间内的请求频次变化越不敏感,该流行度的计算越不容易受短暂热门内容的影响。越小则代表该流行度的计算更快地适应内容实际流行度的变化。
为了避免重复的流行度大小比较工作,节点根据更新后的内容流行度值,找出节点最不重要内容并进行标记,置Flag字段为1进行标记。
应用这个模型,网络中的节点分布式地统计节点所缓存内容的的请求频次,控制器再集中计算出各节点内容的流行度值,并对流行度值最低内容的标识位进行更新。更新时只需要找出所有缓存内容的流行度值的最小值,时间复杂度为Ο(n),兴趣包获取最低流行度值的复杂度为Ο(1),满足CCN对网络节点缓存线性执行速度的要求。
所述的内容流行度修正模型具体为:
控制器通过内容流行度统计模型计算出的内容流行度属于内容的局部流行度,处于网络中不同位置的节点针对同一个内容统计出的流行度会存在差别。为了尽量消除节点所统计的内容局部流行度之间的差异,方法中考虑到节点在网络拓扑中所处位置的不同,给予节点统计的频次以不同的权重系数,方法如下:考虑用户集合U,一个用户u∈U,f(u,c)用来表示用户u对某内容c的请求频率,那么f(u,c,r)表示节点r统计到用户u对于内容c的请求频率:
式中:σu,c,s——用户u向内容服务器s请求内容c的请求路径的数量;σu,c,s(r)——用户u向内容服务器s请求内容c时,经过节点r的请求路径的数量。
在下面公式可以看出,位于不同位置的节点r的统计中u对于内容c的请求频率不同。
在此基础上,认为所有节点对内容的请求频率是相同的,结合下面公式得到节点r所统计的所有用户对于内容c的请求频率f(U,c,r)为:
从而,为了消除不同节点所统计出的用户对于内容c的请求频率的不同,该不同取决于参数即处于更多用户请求路径中的节点r所统计的内容流行度值会更高。为了尽量消除这个差异,对节点r的统计结果作出修正,用于对节点缓存内容流行度的修正,本发明将节点的这个值称为节点流行度修正值。经过修正的统计结果在一定程度上消除了由于节点的位置差异所造成统计的内容请求频率的不同。对于每一个节点,参数σu,c,s和σu,c,s(r)都可以根据网络拓扑信息提前得到,计算后可得因此对于节点统计结果的修正满足节点对于方法线性执行速度的要求。
所述的包处理流程具体为:
(1)兴趣包处理流程
节点在收到兴趣包后查找节点缓存,若找到兴趣包请求的内容则返回内容,否则将本节点缓存中最不重要内容的流行度值与兴趣包中的所携带流行度值进行比较,若后者大于前者,则将该内容的信息(内容名、内容流行度、跳数)存入兴趣包内,反之则将原兴趣包中的跳数字段加1后向下一跳节点进行转发,最终跳数字段的值就是缓存命中节点和虚拟缓存通道中流行度最小内容所在节点的跳数;
若在内容服务器或节点缓存中找到所请求内容时,将该内容流行度值与兴趣包中携带的内容流行度值进行比较,若后者小于前者,该节点向控制器发出决策请求,控制器根据方法中的依据代价的辅助缓存方法计算缓存收益,若计算出的缓存收益为正值,说明本次替换可以实现缓存性能的提升,则将兴趣包中的内容信息复制到返回的数据包内;反之不对缓存内容进行替换,不需进行信息复制。
(2)数据包处理流程
在数据包按原路径回溯过程中,其跳数字段的值进行递减,当跳数字段为0时,节点使用数据包中的内容名与节点缓存中的内容名进行匹配,若匹配成功,则用数据包携带的内容替换掉该内容;若匹配不成功代表节点缓存中的内容信息已经被更新过,则放弃本次缓存。
所述的依据代价的辅助缓存方法具体为:
缓存的替换是以内存读写为代价的,部分缓存管理方法会存在频繁的缓存替换,从而给方法带来巨大的额外代价,同时考虑到当兴趣包请求路径中流行度值最低的内容所处的节点距离命中内容节点较近时,若缓存内容的流行度差异较小,那么进行缓存替换可能并不能带来缓存性能的提升;
针对一条请求路径中发生缓存替换时,替换对于路径中缓存性能带来的变化进行了分析如下:R0代表内容源服务器,R1,R2,R3都是请求路径上的节点,用户针对内容c1所发送兴趣包,R1缓存有该内容,R1和R3之间的节点都没有缓存该内容;当兴趣包到达R1节点时,根据包中的记录,依据本方法,需要在数据包回溯过程中用该内容c1替换节点R2中的缓存内容c2,用户对内容c1、c2的请求频率为f1、f2,R0与R1距离n跳,R1与R2距离x跳;假设内容的大小均相同,那么兴趣包每一跳转发意味着数据包回溯过程中也需要多一跳距离的转发,此代价也是相同的,用l表示;
在节点R2处的缓存中用c1内容替换c2内容的缓存收益表现为用户请求内容c1可以在节点R2处命中,而替换之前需要在节点R1处命中,那么缓存收益Earning为:
Earning=f1×l×n
在节点R2处将内容c2替换出去后的缓存损失表现为用户请求内容c2必须到内容服务器R0或其它缓存有内容c2的中间节点处命中内容,由于在节点R2处缓存有内容c2的情况下,用户请求内容c2的Interest包会在节点R2处获取内容,而处于R2上游的节点即使缓存有内容c2也不能收到对于内容c2的请求,在这种情况下上游节点使用内容流行度统计模型估测出的缓存内容c2的流行度会持续下降,导致该缓存内容很快失去活性而被替换,所以一般情况下,认为上游节点没有缓存内容c2,那么缓存损失Damage可表示为:
Damage=f2×l×(n+x)
那么总体缓存收益可表示为:
Earning-Damage=[(f1-f2)×n-f2×x]×l
当且仅当缓存收益Earning大于缓存损失Damage时,在节点R2处用内容c2替换内容c1的缓存策略才能实现缓存性能的提升,在内容c1、c2确定的情况下决定两者大小的因素是节点之间的跳数距离。n值越大,相应缓存决策带来的缓存收益越大,且x值越小,缓存收益越大。本方法中使用了依据代价的辅助缓存决策方法,只有在缓存内容命中节点和选中的替换内容所在节点之间距离足够大,且缓存内容命中节点和内容服务器节点之间距离足够小,保证总体缓存收益为正值时,才会选择实施缓存决策。
本发明的有益效果:
本发明提出的一种软件定义网络的虚拟缓存通道缓存管理方法,由控制层的控制器和数据层的交换机共同协作完成,充分利用控制器的集中控制和全局感知功能,结合缓存决策和缓存替换两方面的优势,方法中首先通过节点统计缓存的访问频次对内容流行度进行估计,建模分析了节点统计流行度的误差并对其进行了修正,考虑了缓存替换的代价的问题设计了辅助的缓存决策方法。本方法能显著提高网络的缓存命中率,并降低用户的平均访问时延。
附图说明
图1为缓存管理方法过程示意图;其中,C1为控制器,S1为内容器,R1~R5为交换机,U1~U2为终端用户;
图2为兴趣包处理过程示意图;
图3为数据包处理过程示意图;
图4为流行度随时间变化对缓存性能的影响仿真图。
具体实施方式
下面结合附图和实施例对本发明进行详细的描述。
一种软件定义网络的虚拟缓存通道缓存管理方法,利用软件定义网络和内容中心网络融合架构下控制器集中控制和全网感知优势,根据全局网络拓扑和网络内容的信息,考虑不同流行度的内容被消费者持续访问可能性的不同、节点内部已缓存内容的详细信息的局限性、缓存替换策略单独执行因素,采用缓存决策策略和缓存替换策略协同工作的缓存管理方法,其特征在于,为数据层交换机增加相关表项,控制器周期性地收集内容请求信息,并通过内容流行度统计模型和内容流行度修正模型对收集到的信息进行预处理,预处理后的信息在包处理流程中,控制器利用依据代价的辅助缓存方法进行缓存决策,做出对于内容最优的缓存位置选择和对于节点最优的替换选择。参照图1,用户U1发出对于内容C1的请求Interest1101,经过缓存节点R1、R3、R5朝着内容服务器S进行转发。该请求经过节点R1,并且R1没有缓存内容C1,R1中所缓存内容C2的流行度值最低为CP2,则将内容名C2及其流行度CP2记录到请求包中,并初始化跳数Hop字段的值为0。经过节点R3、R5转发,没有找到内容C1并且节点所缓存内容的流行度都大于CP2,则每次转发,路由器把Hop字段的值增加1。最终该请求在服务器S1找到内容C1,并且发现CP1>CP2,此时S1向控制器C1发出缓存决策请求102,控制器C1根据依据代价的辅助缓存方法中计算缓存收益得正值,则根据判决策略,在节点R1、R3、R5组成的虚拟缓存通道中内容C2具有最低的流行度,需要用内容C1替换该缓存通道中的C2。控制器C1将缓存决策结果返回给S1103。服务器S1返回的内容Data1每次经过路由器转发跳数字段的值减少1,当内容到达R1时Hop为0,此时检查R1的缓存,并将内容C2替换为C1,并同时记录C1的历史流行度和当前周期请求频次信息。
而用户U2发出的对于内容C3的请求Interest3104,经过节点R2之后将节点R2中流行度最低的内容C2的信息记录在请求包中,请求包到达R4之后发现,节点R5的缓存中内容C4的流行度CP4<CP2,则将内容C4有关的信息存储到请求包中,并初始化Hop字段的值为0。
通过以上的简单拓扑分析,方法执行过程中兴趣包请求路径中缓存内容流行度最小的节点信息被兴趣包所携带,控制器根据该信息作出缓存决策,将缓存决策结果下发给请求节点,并由返回的数据包将决策带到相应节点处执行。本发明在这个过程中缓存决策和缓存替换并没有分开进行,缓存决策不再是解决是否对内容进行缓存和缓存到哪个节点的问题,而是决定是否对本次请求路径中的某个内容进行替换。缓存决策中考虑替换的内容正是由考虑内容流行度的缓存替换策略所挑选出的兴趣包请求路径中最不重要的内容,如此缓存替换策略仍然负责进行最不重要内容的筛选,但是却并不需要针对缓存决策所挑选出的内容去被动执行,而是将最不重要的内容作为辅助信息提供给缓存决策进行判断。
综上所述虚拟缓存通道方法实现了缓存决策和缓存替换在一条请求路径上的协调统一,相比于传统的单纯研究缓存决策策略或者缓存替换策略,两者的协同工作使得系统能够充分发挥该请求路径中有限节点缓存的作用,提升该请求路径的缓存性能。
所述的数据层交换机增加相关表项,具体为:
在数据层交换机的内容存储器数据结构中添加三个表项:内容流行度CP(ContentPopularity)、当前周期访问频次Fr(Frequence)和是否为本节点最不重要内容Flag,其中CP指标为对应内容的历史流行度,Fr指标为一个时间周期T内节点收到对于该内容的请求频次,Flag指标用来标记当前时间周期流行度最低的缓存内容,Flag标识的存在可以避免节点查找最低流行度内容进行重复的比较工作。
所述的通过内容流行度统计模型和内容流行度修正模型对收集到的信息进行预处理,具体为:
控制器周期性地收集各交换机节点的内容请求信息,各节点收到控制器下发的统计信息的消息后,将自身统计的缓存信息发送给控制器,在时间周期T内,节点收到兴趣包,若节点缓存有兴趣包所请求内容,则该缓存本周期访问频次Fr加1;若缓存中没有该内容,则直接转发兴趣包,不进行流行度更新;在时间周期T结束时,各个交换机节点将自身的缓存信息发给控制器,控制器根据内容流行度统计模型及本交换机节点流行度修正值对所有缓存的流行度CP进行更新,随后通过流表下发的形式将更新后的内容流行度值写入各个节点的CP字段,并且找出本节点流行度最低的内容并置其Flag字段值为1;根据内容流行度修正模型,控制器保存有网络中的各节点根据本节点的位置信息计算出的流行度修正值,当每个流行度统计周期结束进行流行度更新时,控制器都会根据对应节点流行度修正值对更新后的流行度进行修正,使得估计出流行度尽量接近内容的真实流行度。
所述的内容流行度统计模型,具体为:
控制器在每个时间周期结束时对各节点的所缓存内容的流行度值进行一次更新,更新方法如下:
cpnew=cpold×δ+Fr×(1-δ)
式中:cpnew——更新后的CP值;cpold——更新前的CP值;δ——衰减系数,取值范围是0到1。
考虑到内容流行度可能随时间变化的因素,并且不同类型的内容流行度随时间变化的速率也会有所不同。流行度更新方法中衰减系数的存在可以很好地解决这个问题。通过设置不同的衰减系数,可以调整历史流行度以及当前周期内容访问频次对内容流行度估计的影响比例。越大代表历史流行度对于内容当前流行度的影响越大,则内容流行度对于内容短时间内的请求频次变化越不敏感,该流行度的计算越不容易受短暂热门内容的影响。越小则代表该流行度的计算更快地适应内容实际流行度的变化。
为了避免重复的流行度大小比较工作,节点根据更新后的内容流行度值,找出节点最不重要内容并进行标记,置Flag字段为1进行标记。
应用这个模型,网络中的节点分布式地统计节点所缓存内容的的请求频次,控制器再集中计算出各节点内容的流行度值,并对流行度值最低内容的标识位进行更新。更新时只需要找出所有缓存内容的流行度值的最小值,时间复杂度为Ο(n),兴趣包获取最低流行度值的复杂度为Ο(1),满足CCN对网络节点缓存线性执行速度的要求。
所述的内容流行度修正模型具体为:
控制器通过内容流行度统计模型计算出的内容流行度属于内容的局部流行度,处于网络中不同位置的节点针对同一个内容统计出的流行度会存在差别。为了尽量消除节点所统计的内容局部流行度之间的差异,方法中考虑到节点在网络拓扑中所处位置的不同,给予节点统计的频次以不同的权重系数,方法如下:考虑用户集合U,一个用户u∈U,f(u,c)用来表示用户u对某内容c的请求频率,那么f(u,c,r)表示节点r统计到用户u对于内容c的请求频率:
式中:σu,c,s——用户u向内容服务器s请求内容c的请求路径的数量;σu,c,s(r)——用户u向内容服务器s请求内容c时,经过节点r的请求路径的数量。
在下面公式可以看出,位于不同位置的节点r的统计中u对于内容c的请求频率不同。
在此基础上,认为所有节点对内容的请求频率是相同的,结合下面公式得到节点r所统计的所有用户对于内容c的请求频率f(U,c,r)为:
从而,为了消除不同节点所统计出的用户对于内容c的请求频率的不同,该不同取决于参数即处于更多用户请求路径中的节点r所统计的内容流行度值会更高。为了尽量消除这个差异,对节点r的统计结果作出修正,用于对节点缓存内容流行度的修正,本发明将节点的这个值称为节点流行度修正值。经过修正的统计结果在一定程度上消除了由于节点的位置差异所造成统计的内容请求频率的不同。对于每一个节点,参数σu,c,s和σu,c,s(r)都可以根据网络拓扑信息提前得到,计算后可得因此对于节点统计结果的修正满足节点对于方法线性执行速度的要求。
所述的包处理流程具体为:
(1)兴趣包处理流程
参照图2,节点在收到兴趣包后查找节点缓存,若找到兴趣包请求的内容则返回内容,否则将本节点缓存中最不重要内容的流行度值与兴趣包中的所携带流行度值进行比较,若后者大于前者,则将该内容的信息(内容名、内容流行度、跳数)存入兴趣包内,反之则将原兴趣包中的跳数字段加1后向下一跳节点进行转发,最终跳数字段的值就是缓存命中节点和虚拟缓存通道中流行度最小内容所在节点的跳数;
若在内容服务器或节点缓存中找到所请求内容时,将该内容流行度值Pd与兴趣包中携带的内容流行度值Pi进行比较,若Pi<Pd,该节点向控制器发出决策请求,控制器根据方法中的依据代价的辅助缓存方法计算缓存收益(Pd-Pi)×n-Pi×x,其中x为当前节点距离内容服务器的跳数,n为兴趣包中Hop字段的值。若计算出的缓存收益为正值,说明本次替换可以实现缓存性能的提升,则将兴趣包中的内容信息复制到返回的数据包内;反之不对缓存内容进行替换,不需进行信息复制。
(2)数据包处理流程
参照图3,在数据包按原路径回溯过程中,其跳数Hop字段的值进行递减,当Hop字段为0时,节点使用数据包中的内容名与节点缓存中的内容名进行匹配,若匹配成功,则用数据包携带的内容替换掉该内容;若匹配不成功代表节点缓存中的内容信息已经被更新过,则放弃本次缓存。
所述的依据代价的辅助缓存方法具体为:
缓存的替换是以内存读写为代价的,部分缓存管理方法会存在频繁的缓存替换,从而给方法带来巨大的额外代价,同时考虑到当兴趣包请求路径中流行度值最低的内容所处的节点距离命中内容节点较近时,若缓存内容的流行度差异较小,那么进行缓存替换可能并不能带来缓存性能的提升;
针对一条请求路径中发生缓存替换时,替换对于路径中缓存性能带来的变化进行了分析如下:R0代表内容源服务器,R1,R2,R3都是请求路径上的节点,用户针对内容c1所发送兴趣包,R1缓存有该内容,R1和R3之间的节点都没有缓存该内容;当兴趣包到达R1节点时,根据包中的记录,依据本方法,需要在数据包回溯过程中用该内容c1替换节点R2中的缓存内容c2,用户对内容c1、c2的请求频率为f1、f2,R0与R1距离n跳,R1与R2距离x跳;假设内容的大小均相同,那么兴趣包每一跳转发意味着数据包回溯过程中也需要多一跳距离的转发,此代价也是相同的,用l表示;
在节点R2处的缓存中用c1内容替换c2内容的缓存收益表现为用户请求内容c1可以在节点R2处命中,而替换之前需要在节点R1处命中,那么缓存收益Earning为:
Earning=f1×l×n
在节点R2处将内容c2替换出去后的缓存损失表现为用户请求内容c2必须到内容服务器R0或其它缓存有内容c2的中间节点处命中内容,由于在节点R2处缓存有内容c2的情况下,用户请求内容c2的Interest包会在节点R2处获取内容,而处于R2上游的节点即使缓存有内容c2也不能收到对于内容c2的请求,在这种情况下上游节点使用内容流行度统计模型估测出的缓存内容c2的流行度会持续下降,导致该缓存内容很快失去活性而被替换,所以一般情况下,认为上游节点没有缓存内容c2,那么缓存损失Damage可表示为:
Damage=f2×l×(n+x)
那么总体缓存收益可表示为:
Earning-Damage=[(f1-f2)×n-f2×x]×l
当且仅当缓存收益Earning大于缓存损失Damage时,在节点R2处用内容c2替换内容c1的缓存策略才能实现缓存性能的提升,在内容c1、c2确定的情况下决定两者大小的因素是节点之间的跳数距离。n值越大,相应缓存决策带来的缓存收益越大,且x值越小,缓存收益越大。本方法中使用了依据代价的辅助缓存决策方法,只有在缓存内容命中节点和选中的替换内容所在节点之间距离足够大,且缓存内容命中节点和内容服务器节点之间距离足够小,保证总体缓存收益为正值时,才会选择实施缓存决策。
仿真实验
将本发明所提出的一种软件定义网络的虚拟缓存通道(Virtual CachingPassage,VCP)缓存管理方法和LCE、ProbCache、Betweenness 3个缓存决策策略进行对比,并采用LRU作为缓存替换策略。
1.流行度随时间变化对缓存性能的影响
在仿真实验中,将本发明所提出的一种软件定义网络的虚拟缓存通道(VirtualCaching Passage,VCP)缓存管理方法和LCE、ProbCache、Betweenness 3个缓存决策策略进行对比,并采用LRU作为缓存替换策略。
考虑到消费者对于内容的兴趣会随着时间变化这一事实,本发明针对内容流行度随时间变化对缓存性能的影响进行了仿真实验。仿真中设定节点缓存容量占内容总量的比例为3%,并且当仿真时间10秒的时刻,选择其中15%的内容的流行度进行改变,在流行度统计周期为200ms的情况下,结果如图4所示,从图中我们可以看出,LCE、ProbCache和Betweenness策略几乎不受内容流行度变化的影响,原因是这三种策略对内容流行度的变化不敏感。但本发明提出的方法中使用内容的历史流行度作为缓存管理的依据,对内容流行度的变化敏感,为了体现本发明所提方法的特点,在仿真实验中内容流行度是瞬时变化的,导致下一时间方法下的缓存命中率瞬时下降,但当VCP方法对统计的流行度进行更新之后,命中率则不断上升。由于方法设计中对内容流行度的估计使用了内容的历史流行度,所以缓存性能是随着时间推进缓慢提升的。当方法完全收敛之后恢复了缓存管理的原有效果。
Claims (4)
1.一种软件定义网络的虚拟缓存通道缓存管理方法,利用软件定义网络和内容中心网络融合架构下控制器集中控制和全网感知优势,根据全局网络拓扑和网络内容的信息,考虑不同流行度的内容被消费者持续访问可能性的不同、节点内部已缓存内容的详细信息的局限性、缓存替换策略单独执行因素,采用缓存决策策略和缓存替换策略协同工作的缓存管理方法,其特征在于,为数据层交换机增加相关表项,控制器周期性地收集内容请求信息,并通过内容流行度统计模型和内容流行度修正模型对收集到的信息进行预处理,预处理后的信息在包处理流程中,控制器利用依据代价的辅助缓存方法进行缓存决策,做出对于内容最优的缓存位置选择和对于节点最优的替换选择;
所述的通过内容流行度统计模型和内容流行度修正模型对收集到的信息进行预处理,具体为:
控制器周期性地收集各交换机节点的内容请求信息,各节点收到控制器下发的统计信息的消息后,将自身统计的缓存信息发送给控制器,在时间周期T内,节点收到兴趣包,若节点缓存有兴趣包所请求内容,则该缓存本周期访问频次Fr加1;若缓存中没有该内容,则直接转发兴趣包,不进行流行度更新;在时间周期T结束时,各个交换机节点将自身的缓存信息发给控制器,控制器根据内容流行度统计模型及本交换机节点流行度修正值对所有缓存的流行度CP进行更新,随后通过流表下发的形式将更新后的内容流行度值写入各个节点的CP字段,并且找出本节点流行度最低的内容并置其Flag字段值为1;根据内容流行度修正模型,控制器保存有网络中的各节点根据本节点的位置信息计算出的流行度修正值,当每个流行度统计周期结束进行流行度更新时,控制器都会根据对应节点流行度修正值对更新后的流行度进行修正,使得估计出流行度尽量接近内容的真实流行度;
所述的内容流行度统计模型,具体为:
控制器在每个时间周期结束时对各节点的所缓存内容的流行度值进行一次更新,更新方法如下:
cpnew=cpold×δ+Fr×(1-δ)
式中:cpnew——更新后的CP值;cpold——更新前的CP值;δ——衰减系数,取值范围是0到1;
考虑到内容流行度可能随时间变化的因素,并且不同类型的内容流行度随时间变化的速率也会有所不同;流行度更新方法中衰减系数的存在可以很好地解决这个问题;通过设置不同的衰减系数,可以调整历史流行度以及当前周期内容访问频次对内容流行度估计的影响比例;越大代表历史流行度对于内容当前流行度的影响越大,则内容流行度对于内容短时间内的请求频次变化越不敏感,该流行度的计算越不容易受短暂热门内容的影响;越小则代表该流行度的计算更快地适应内容实际流行度的变化;
为了避免重复的流行度大小比较工作,节点根据更新后的内容流行度值,找出节点最不重要内容并进行标记,置Flag字段为1进行标记;
应用这个模型,网络中的节点分布式地统计节点所缓存内容的的请求频次,控制器再集中计算出各节点内容的流行度值,并对流行度值最低内容的标识位进行更新;更新时只需要找出所有缓存内容的流行度值的最小值,时间复杂度为Ο(n),兴趣包获取最低流行度值的复杂度为Ο(1),满足CCN对网络节点缓存线性执行速度的要求;
所述的内容流行度修正模型具体为:
控制器通过内容流行度统计模型计算出的内容流行度属于内容的局部流行度,处于网络中不同位置的节点针对同一个内容统计出的流行度会存在差别;为了尽量消除节点所统计的内容局部流行度之间的差异,方法中考虑到节点在网络拓扑中所处位置的不同,给予节点统计的频次以不同的权重系数,方法如下:考虑用户集合U,一个用户u∈U,f(u,c)用来表示用户u对某内容c的请求频率,那么f(u,c,r)表示节点r统计到用户u对于内容c的请求频率:
式中:σu,c,s——用户u向内容服务器s请求内容c的请求路径的数量;σu,c,s(r)——用户u向内容服务器s请求内容c时,经过节点r的请求路径的数量;
在下面公式可以看出,位于不同位置的节点r的统计中u对于内容c的请求频率不同;
在此基础上,认为所有节点对内容的请求频率是相同的,结合下面公式得到节点r所统计的所有用户对于内容c的请求频率f(U,c,r)为:
2.根据权利要求1所述的一种软件定义网络的虚拟缓存通道缓存管理方法,其特征在于:
所述的数据层交换机增加相关表项,具体为:
在数据层交换机的内容存储器数据结构中添加三个表项:内容流行度CP(ContentPopularity)、当前周期访问频次Fr(Frequence)和是否为本节点最不重要内容Flag,其中CP指标为对应内容的历史流行度,Fr指标为一个时间周期T内节点收到对于该内容的请求频次,Flag指标用来标记当前时间周期流行度最低的缓存内容,Flag标识的存在可以避免节点查找最低流行度内容进行重复的比较工作。
3.根据权利要求1所述的一种软件定义网络的虚拟缓存通道缓存管理方法,其特征在于:
所述的包处理流程具体为:
(1)兴趣包处理流程
节点在收到兴趣包后查找节点缓存,若找到兴趣包请求的内容则返回内容,否则将本节点缓存中最不重要内容的流行度值与兴趣包中的所携带流行度值进行比较,若后者大于前者,则将该内容的信息(内容名、内容流行度、跳数)存入兴趣包内,反之则将原兴趣包中的跳数字段加1后向下一跳节点进行转发,最终跳数字段的值就是缓存命中节点和虚拟缓存通道中流行度最小内容所在节点的跳数;
若在内容服务器或节点缓存中找到所请求内容时,将该内容流行度值与兴趣包中携带的内容流行度值进行比较,若后者小于前者,该节点向控制器发出决策请求,控制器根据方法中的依据代价的辅助缓存方法计算缓存收益,若计算出的缓存收益为正值,说明本次替换可以实现缓存性能的提升,则将兴趣包中的内容信息复制到返回的数据包内;反之不对缓存内容进行替换,不需进行信息复制;
(2)数据包处理流程
在数据包按原路径回溯过程中,其跳数字段的值进行递减,当跳数字段为0时,节点使用数据包中的内容名与节点缓存中的内容名进行匹配,若匹配成功,则用数据包携带的内容替换掉该内容;若匹配不成功代表节点缓存中的内容信息已经被更新过,则放弃本次缓存。
4.根据权利要求1所述的一种软件定义网络的虚拟缓存通道缓存管理方法,其特征在于:
所述的依据代价的辅助缓存方法具体为:
缓存的替换是以内存读写为代价的,部分缓存管理方法会存在频繁的缓存替换,从而给方法带来巨大的额外代价,同时考虑到当兴趣包请求路径中流行度值最低的内容所处的节点距离命中内容节点较近时,若缓存内容的流行度差异较小,那么进行缓存替换可能并不能带来缓存性能的提升;
针对一条请求路径中发生缓存替换时,替换对于路径中缓存性能带来的变化进行了分析如下:R0代表内容源服务器,R1,R2,R3都是请求路径上的节点,用户针对内容c1所发送兴趣包,R1缓存有该内容,R1和R3之间的节点都没有缓存该内容;当兴趣包到达R1节点时,根据包中的记录,依据本方法,需要在数据包回溯过程中用该内容c1替换节点R2中的缓存内容c2,用户对内容c1、c2的请求频率为f1、f2,R0与R1距离n跳,R1与R2距离x跳;假设内容的大小均相同,那么兴趣包每一跳转发意味着数据包回溯过程中也需要多一跳距离的转发,此代价也是相同的,用l表示;
在节点R2处的缓存中用c1内容替换c2内容的缓存收益表现为用户请求内容c1可以在节点R2处命中,而替换之前需要在节点R1处命中,那么缓存收益Earning为:
Earning=f1×l×n
在节点R2处将内容c2替换出去后的缓存损失表现为用户请求内容c2必须到内容服务器R0或其它缓存有内容c2的中间节点处命中内容,由于在节点R2处缓存有内容c2的情况下,用户请求内容c2的Interest包会在节点R2处获取内容,而处于R2上游的节点即使缓存有内容c2也不能收到对于内容c2的请求,在这种情况下上游节点使用内容流行度统计模型估测出的缓存内容c2的流行度会持续下降,导致该缓存内容很快失去活性而被替换,所以一般情况下,认为上游节点没有缓存内容c2,那么缓存损失Damage可表示为:
Damage=f2×l×(n+x)
那么总体缓存收益可表示为:
Earning-Damage=[(f1-f2)×n-f2×x]×l
当且仅当缓存收益Earning大于缓存损失Damage时,在节点R2处用内容c2替换内容c1的缓存策略才能实现缓存性能的提升,在内容c1、c2确定的情况下决定两者大小的因素是节点之间的跳数距离;n值越大,相应缓存决策带来的缓存收益越大,且x值越小,缓存收益越大;本方法中使用了依据代价的辅助缓存决策方法,只有在缓存内容命中节点和选中的替换内容所在节点之间距离足够大,且缓存内容命中节点和内容服务器节点之间距离足够小,保证总体缓存收益为正值时,才会选择实施缓存决策。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711058410.1A CN107948247B (zh) | 2017-11-01 | 2017-11-01 | 一种软件定义网络的虚拟缓存通道缓存管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711058410.1A CN107948247B (zh) | 2017-11-01 | 2017-11-01 | 一种软件定义网络的虚拟缓存通道缓存管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107948247A CN107948247A (zh) | 2018-04-20 |
CN107948247B true CN107948247B (zh) | 2020-04-10 |
Family
ID=61933195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711058410.1A Active CN107948247B (zh) | 2017-11-01 | 2017-11-01 | 一种软件定义网络的虚拟缓存通道缓存管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107948247B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108668288B (zh) * | 2018-04-23 | 2021-04-02 | 电子科技大学 | 用于优化无线缓存网络中小基站位置的方法 |
CN108833279B (zh) * | 2018-05-08 | 2020-06-12 | 西安交通大学 | 软件定义网络中基于业务分类的多约束QoS路由的方法 |
CN108990111B (zh) * | 2018-06-13 | 2021-06-11 | 东南大学 | 一种内容流行度随时间变化下的基站缓存方法 |
CN109361928B (zh) * | 2018-09-11 | 2020-05-19 | 华中科技大学 | 一种信息中心网络系统及视频传输方法 |
CN111225267B (zh) * | 2018-11-26 | 2022-05-06 | 中国电信股份有限公司 | 内容缓存调度方法、装置和系统、内容分发网络节点 |
CN109788047B (zh) * | 2018-12-29 | 2021-07-06 | 山东省计算中心(国家超级计算济南中心) | 一种缓存优化方法及一种存储介质 |
CN109951875A (zh) * | 2019-02-22 | 2019-06-28 | 广州大学 | 基于内容流行度预测的缓存方法、装置、设备和介质 |
CN110677190B (zh) * | 2019-10-09 | 2021-06-22 | 大连大学 | 一种天地一体化智能网络节点静态处理与缓存方法 |
CN112052198B (zh) * | 2020-08-11 | 2022-09-20 | 大连理工大学 | 能耗监测平台下基于节点介数流行度的哈希路由协同缓存方法 |
CN112565437B (zh) * | 2020-12-07 | 2021-11-19 | 浙江大学 | 一种面向跨界服务网络的服务缓存方法 |
CN112822275B (zh) * | 2021-01-08 | 2022-09-02 | 扬州大学 | 基于topsis熵权法的轻量级缓存策略 |
CN115250277B (zh) * | 2022-08-09 | 2023-09-05 | 西安邮电大学 | 将共识机制适用于基于联盟链的边缘缓存系统的方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103501315A (zh) * | 2013-09-06 | 2014-01-08 | 西安交通大学 | 一种面向内容网络中基于相关内容聚集的缓存方法 |
CN103618675A (zh) * | 2013-11-11 | 2014-03-05 | 西安交通大学 | 一种面向内容网络中基于内容影响力的缓存方法 |
CN104092604A (zh) * | 2014-07-02 | 2014-10-08 | 杭州华三通信技术有限公司 | 报文传输控制方法及装置 |
CN106131182A (zh) * | 2016-07-12 | 2016-11-16 | 重庆邮电大学 | 命名数据网络中一种基于流行度预测的协作缓存方法 |
CN106254117A (zh) * | 2016-08-09 | 2016-12-21 | 西安交通大学 | 一种集中控制可编程的信息中心网络设计方法 |
CN106453495A (zh) * | 2016-08-31 | 2017-02-22 | 北京邮电大学 | 一种基于内容流行度预测的信息中心网络缓存方法 |
CN107105043A (zh) * | 2017-04-28 | 2017-08-29 | 西安交通大学 | 一种基于软件定义网络的内容中心网络缓存方法 |
-
2017
- 2017-11-01 CN CN201711058410.1A patent/CN107948247B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103501315A (zh) * | 2013-09-06 | 2014-01-08 | 西安交通大学 | 一种面向内容网络中基于相关内容聚集的缓存方法 |
CN103618675A (zh) * | 2013-11-11 | 2014-03-05 | 西安交通大学 | 一种面向内容网络中基于内容影响力的缓存方法 |
CN104092604A (zh) * | 2014-07-02 | 2014-10-08 | 杭州华三通信技术有限公司 | 报文传输控制方法及装置 |
CN106131182A (zh) * | 2016-07-12 | 2016-11-16 | 重庆邮电大学 | 命名数据网络中一种基于流行度预测的协作缓存方法 |
CN106254117A (zh) * | 2016-08-09 | 2016-12-21 | 西安交通大学 | 一种集中控制可编程的信息中心网络设计方法 |
CN106453495A (zh) * | 2016-08-31 | 2017-02-22 | 北京邮电大学 | 一种基于内容流行度预测的信息中心网络缓存方法 |
CN107105043A (zh) * | 2017-04-28 | 2017-08-29 | 西安交通大学 | 一种基于软件定义网络的内容中心网络缓存方法 |
Non-Patent Citations (2)
Title |
---|
Towards controller placement problem fo software-defined network using affinity propagation;Jianlong Zhao,Hua Qu, Jihong Zhao;《Electronics Letters》;20170713;全文 * |
一种基于 SDN 的 CCN 集中控制缓存决策方法;曲桦,李岩松;《研究与开发》;20170627;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107948247A (zh) | 2018-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107948247B (zh) | 一种软件定义网络的虚拟缓存通道缓存管理方法 | |
Zhang et al. | Toward concurrent video multicast orchestration for caching-assisted mobile networks | |
CN107105043B (zh) | 一种基于软件定义网络的内容中心网络缓存方法 | |
CN107911711A (zh) | 一种考虑分区的边缘缓存替换改进方法 | |
CN111107000B (zh) | 一种基于网络编码的命名数据网络中内容缓存方法 | |
CN102868542B (zh) | 一种服务分发网络中服务质量的控制方法及系统 | |
Wu et al. | MBP: A max-benefit probability-based caching strategy in information-centric networking | |
JP5427176B2 (ja) | Iptvネットワークにおける最適なキャッシュ割当の方法およびシステム | |
CN108366089A (zh) | 一种基于内容流行度和节点重要度的ccn缓存方法 | |
Gui et al. | A cache placement strategy based on compound popularity in named data networking | |
CN108173903B (zh) | 自治系统协作缓存策略在ccn中的应用方法 | |
CN111294394A (zh) | 基于复杂网络交汇点的自适应缓存策略 | |
Alt et al. | CBA: Contextual quality adaptation for adaptive bitrate video streaming | |
CN108390936B (zh) | 一种基于缓存分布感知的概率缓存算法 | |
Huang et al. | Personalized QoE enhancement for adaptive video streaming: A digital twin-assisted scheme | |
CN101840417B (zh) | 一种基于相关关系的物联网uid查询方法 | |
CN110113418B (zh) | 一种车联信息中心网络的协同缓存更新方法 | |
CN108809829B (zh) | 一种sdn规则部署方法 | |
CN116938810A (zh) | 一种基于图神经网络的深度强化学习sdn智能路由优化方法 | |
CN108769251B (zh) | 一种启发式ccn网络合作缓存方法 | |
Li et al. | Energy optimization for mobile video streaming via an aggregate model | |
CN109862121B (zh) | 一种基于Dijkstra算法的信息中心网络中的缓存放置方法 | |
CN112822275B (zh) | 基于topsis熵权法的轻量级缓存策略 | |
Cui et al. | Design of in-network caching scheme in CCN based on grey relational analysis | |
CN110012071B (zh) | 用于物联网的缓存方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |