CN109905480A - 基于内容中心性的概率缓存内容放置方法 - Google Patents
基于内容中心性的概率缓存内容放置方法 Download PDFInfo
- Publication number
- CN109905480A CN109905480A CN201910161907.9A CN201910161907A CN109905480A CN 109905480 A CN109905480 A CN 109905480A CN 201910161907 A CN201910161907 A CN 201910161907A CN 109905480 A CN109905480 A CN 109905480A
- Authority
- CN
- China
- Prior art keywords
- content
- caching
- router
- cache
- user
- 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.)
- Granted
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
一种基于内容中心性的概率缓存内容放置方法:S100、用户向网络发送请求内容块的兴趣包;S200、依据最短路径在网络中路由器上转发该兴趣包;S300、网络中路由器接收到该兴趣包后,查找是否有相应缓存内容,如果命中,则转去执行S400,如果没有命中,则记录并转发至下一跳路由器,直到转发至内容源服务器;S400、返回包含所请求内容块的数据包,沿着与兴趣包转发相反路径回传;S500、当数据包回传至具有缓存功能的路由器时,根据内容中心性和内容获取时延两方面指标计算缓存概率,并根据所述缓存概率决策是否在该路由器中缓存该数据包的内容。该方法能减少缓存冗余,提高缓存利用率,降低内容获取时延,缓解网络带宽压力。
Description
技术领域
本公开属于网络缓存技术领域,特别涉及一种基于内容中心性的概率缓存内容放置方法。
背景技术
随着互联网的快速发展,网络中的流量呈爆炸式增长,用户对海量信息的获取逐渐成为核心需求。而传统网络的端到端通信模式已经无法很好地应对流量剧增所带来的巨大压力,因此,未来网络体系架构成为研究热点。其中,作为一种逐渐被认可的新型网络架构体系,以CCN/NDN、DONA、NetInf等为典型代表的信息中心网络(ICN,information-centric networking)提倡以信息为中心的通信模式代替传统的以主机为中心的通信模式,能更好地适应互联网应用由发送者驱动的端对端通信模式向接受者驱动的海量内容获取模式的转变。
在ICN中,用户并不关心信息/内容所存放的位置(即where),而只关心信息/内容本身(即what)。因而,网络对内容进行统一标识,基于内容进行定位、路由和传输。同时,为了缓解当前网络流量的快速增长对网络带宽造成的严峻压力,ICN提倡网络中所有节点增加内置缓存功能以提高内容获取的效率和网络资源的利用率。
作为ICN中的关键技术之一,网内缓存(In-network caching)被广泛研究,其核心思想是:利用网络中节点的内置缓存功能,在具有缓存空间的路由器节点上缓存内容资源,以便用户发送的内容请求在路由时能直接访问到内容,而不需要次次从内容源(服务器)中获取内容,通过就近服务的方法,从而减轻服务器负载,降低网络流量,减少用户获取内容的时延。因此,合理高效的缓存内容放置方法对提高ICN的内容分发效率有着至关重要的影响。
在ICN中,最简单具有代表性的缓存放置方法是处处缓存(cache everythingeverywhere,CEE)方法,其主要思想是在内容对象返回路径中所经过的所有中间节点上缓存所有被请求的内容资源。不难看出,这种不加区分地缓存大量重复内容的方法会导致严重的缓存冗余,存在缓存资源利用率低,内容获取效率低等问题。为了减少缓存冗余,近年来,一些学者围绕节点在网络结构中的重要性,研究在核心节点上放置内容的缓存方法。这类缓存放置方法的依据是重要性大的节点具有更高的缓存访问概率,可以有效地减少缓存冗余,提高缓存资源的利用率。然而,这类方法仅考虑了节点的位置重要性,却未对内容进行区分,导致所有内容具有一样的缓存概率,从而影响缓存效率。另一些学者在考虑内容热度的同时更加关注用户获取内容的收益,研究在边缘节点上放置内容的缓存方法。这类缓存放置方法的依据是边缘节点更加接近用户,可以有效地降低用户获取内容所需的时延,缓解网络带宽压力。然而,这类方法趋向在边缘节点放置缓存内容,会增加不同内容在边缘缓存节点的竞争,从而降低缓存利用率。
发明内容
针对上述问题,为了减少缓存冗余,提高缓存利用率,降低内容获取时延,缓解网络带宽压力,本公开提出了一种基于内容中心性的概率缓存内容放置方法(content-centrality-based probabilistic content placement method,CCPCP),包括:
S100、用户向网络中发送请求内容块的兴趣包;
S200、依据最短路径在网络中的路由器上转发该兴趣包,并初始化CCmax变量,该变量用于记录用户请求内容块的最短路径上所经过的中间路由器的最大内容中心性值;其中,内容中心性是指经过节点的所有用户到内容的最短路径数目与所有用户到内容的最短路径数目之比与内容流行度的乘积;
S300、网络中路由器接收到该兴趣包后,查找是否有相应的缓存内容,如果命中,则转去执行S400;如果没有命中,则记录并转发该兴趣包至下一跳路由器,并更新所记录的CCmax变量,直到转发至内容源服务器;
S400、返回包含所请求内容块的数据包,沿着与兴趣包转发相反路径回传;
S500、当数据包回传转发至具有缓存功能的路由器时,计算缓存概率,并根据所述缓存概率决策是否在该路由器中缓存该数据包中的内容,所述缓存概率通过如下公式计算:
其中,p(v,c)表示内容块c在缓存节点v上的缓存概率,所述缓存节点是具有缓存功能的路由器;pc表示内容块c的流行度,指用户对内容的请求概率;dsv,c表示用户从缓存节点v上获取请求内容块c的时延节省;d(u,s(c))表示用户u访问内容块c的源服务器s{c)所需要的跳数,CC(v,c)表示缓存节点v关于内容块c的内容中心性,CC(u,s(c))max表示用户u请求内容块c的最短路径上所经过的所有缓存节点的最大内容中心性值,CC(u,s(c))max=CCmax。
与现有技术相比,本公开具有下述有益技术效果:
(1)本公开提出了内容中心性指标,该指标不仅能刻画内容缓存时的位置中心属性,而且也能刻画内容本身的属性。
(2)本公开提出的基于内容中心性的概率缓存内容放置方法CCPCP,该方法在相同缓存内容数目,甚至缓存内容数目更少的情况下,也能获得更优的缓存命中率、缓存内容利用率,有效地降低内容获取时延和内容缓存冗余。
附图说明
图1是本发明的基于内容中心性的概率缓存内容放置方法的流程图;
图2(a)是各缓存方法在Zachary网络中内容数量对缓存命中率的影响对比图;
图2(b)是各缓存方法在BA网络中内容数量对缓存命中率的影响对比图;
图3(a)是各缓存方法在Zachary网络中内容数量对跳数减少率的影响对比图;
图3(b)是各缓存方法在BA网络中内容数量对跳数减少率的影响对比图;
图4(a)是各缓存方法在Zachary网络中内容数量对缓存内容利用率的影响对比图;
图4(b)是各缓存方法在BA网络中内容数量对缓存内容利用率的影响对比图;
图5(a)是各缓存方法在Zachary网络中Zipf分布参数对缓存命中率的影响对比图;
图5(b)是各缓存方法在BA网络中Zipf分布参数对缓存命中率的影响对比图;
图6(a)是各缓存方法在Zachary网络中Zipf分布参数对跳数减少率的影响对比图;
图6(b)是各缓存方法在BA网络中Zipf分布参数对跳数减少率的影响对比图;
图7(a)是各缓存方法在Zachary网络中Zipf分布参数对缓存内容利用率的影响对比图;
图7(b)是各缓存方法在BA网络中Zipf分布参数对缓存内容利用率的影响对比图;
图8(a)是各缓存方法在Zachary网络中节点缓存容量对缓存命中率的影响对比图;
图8(b)是各缓存方法在BA网络中节点缓存容量对缓存命中率的影响对比图;
图9(a)是各缓存方法在Zachary网络中节点缓存容量对跳数减少率的影响对比图;
图9(b)是各缓存方法在BA网络中节点缓存容量对跳数减少率的影响对比图;
图10(a)是各缓存方法在Zachary网络中节点缓存容量对缓存内容利用率的影响对比图;
图10(b)是各缓存方法在BA网络中节点缓存容量对缓存内容利用率的影响对比图。
具体实施方式
下面结合附图1至附图10(b)与具体实施例对本发明进行进一步的详细说明。
在一个实施例中,提供了一种基于内容中心性的概率缓存内容放置方法(CCPCP),如图1所示,包括:
S100、用户向网络中发送请求内容块的兴趣包;
S200、依据最短路径在网络中的路由器上转发该兴趣包,并初始化CCmax变量,该变量用于记录用户请求内容块的最短路径上所经过的中间路由器的最大内容中心性值;其中,内容中心性是指经过节点的所有用户到内容的最短路径数目与所有用户到内容的最短路径数目之比与内容流行度的乘积;
S300、网络中路由器接收到该兴趣包后,查找是否有相应的缓存内容,如果命中,则转去执行S400;如果没有命中,则记录并转发该兴趣包至下一跳路由器,并更新所记录的CCmax变量,直到转发至内容源服务器;
S400、返回包含所请求内容块的数据包,沿着与兴趣包转发相反路径回传;
S500、当数据包回传转发至具有缓存功能的路由器时,计算缓存概率,并根据所述缓存概率决策是否在该路由器中缓存该数据包中的内容,所述缓存概率通过如下公式计算:
其中,p(v,c)表示内容块c在缓存节点v上的缓存概率,所述缓存节点是具有缓存功能的路由器;pc表示内容块c的流行度,指用户对内容的请求概率;dsv,c表示用户从缓存节点v上获取请求内容块c的时延节省;d(u,s(c))表示用户u访问内容块c的源服务器s(c)所需要的跳数,CC(v,c)表示缓存节点v关于内容块c的内容中心性,CC(u,s(c))max表示用户u请求内容块c的最短路径上所经过的所有缓存节点的最大内容中心性值,CC(u,s(c))max=CCmax。
对干上述实施例,可以理解,目前,ICN中的网内的缓存内容放置研究大致分为两类:路径上缓存(on-path caching)和路径外缓存(off-path caching)。本公开的CCPCP方法属于路径上缓存,即:在发送内容请求的用户和内容源服务器的传递路径上的缓存节点放置缓存内容。本公开的CCPCP方法涉及发送请求兴趣包和返回内容数据包的两部分,而根据计算的缓存概率来决策是否在路由器上缓存相应内容是在返回数据包的过程中进行的。
假定ICN是由具有缓存功能的路由器(缓存节点)、始终存储内容的源服务器和发送内容请求的用户组成。在ICN中包括两种数据类型:兴趣包和数据包。兴趣包中包含用户所请求的内容对象的名字,数据包中包含用户所请求的内容对象。用户以发送兴趣包的方式从网络中获取所需的内容对象,收到该兴趣包且存储相应内容的服务节点(源服务器或者具有缓存功能的路由器)按照相反的路径将数据包回传给用户。具有缓存功能的路由器可以通过缓存策略对所经过的内容对象进行缓存,同时通过查询和维护内容存储表CS(Content Store)、待定兴趣表PIT(Pending Interest Table)和转发信息表FIB(Forwarding Information Base)这三种表从而实现路由和转发功能(转发是基于现有的路由器方法)。内容对象以分块的形式进行缓存和传输,且所有内容块具有相同的大小。
该方法中引入内容中心性度量,在此基础上结合用户获取内容的时延节省,计算缓存概率,以达到减少冗余,提高缓存资源利用率,减少用户访问时延,提升整体缓存性能的目的,这是本公开的方法相比现有技术提高的最重要的贡献所在。
该方法中使用了CCmax变量来用于记录用户请求内容块的最短路径上所经过的中间路由器的最大内容中心性值,并在兴趣包转发的过程中不断更新CCmax变量,以获得兴趣包转发过程中的最大内容中心性值,为后续数据包转发过程中计算缓存概率做基础。
该方法的步骤S500中,基于内容中心性计算缓存概率的方法是:
在数据包返回过程中,沿途中具有缓存功能的路由器依据一定的缓存概率对经过的内容对象进行缓存决策。缓存概率综合考虑了内容中心性和内容获取时延节省指标,分别与内容中心性和内容获取时延节省成正比。内容中心性值越大,内容获取时延节省越大,则内容对象在该节点的缓存概率就越大。
为了便于计算,需将内容中心性指标和内容获取时延节省指标标准化到0-1之间,归一化公式如下:
其中,norCC(v,c)表示相对内容中心性;CC(u,s(c))max表示用户u请求内容块c的最短路径上所经过的所有缓存节点的最大内容中心性值。
其中,norb(v,c)表示相对内容获取时延节省;d(u,s(c))表示用户u访问内容块c的源服务器s(c)所需要的跳数。
因此,根据内容中心性和内容获取时延节省的定义,缓存概率的计算公式如下:
其中,p(v,c)表示内容块c在缓存节点v上的缓存概率。
现有的ICN网络模型为:
将ICN系统建模成一个无向网络图G=(V,E)。其中,V={v1,v2,...,vn}表示缓存节点集合,E={e1,e2,...,em}表示所有链路集合。记S={s1,s2,...,sp}表示内容源服务器集合,U={u1,u2,...,uq}表示用户集合。假设内容由若干个内容块组成,每个内容块大小相同,且仅保存于一个内容源服务器中,有C={c1,c2,...,cR},其中ci∈C表示第i个内容块,C表示所有内容块的集合。
相关符号定义如表1所示。
表1符号说明
在一个实施例中,将内容中心性表示为:
其中,CC(v,c)表示缓存节点v关于内容块c的内容中心性,pc表示内容块c的流行度,且满足C表示内容块集合,σv(u,c)表示经过缓存节点v的所有用户u请求内容块c的最短路径数目,σ(u,c)表示所有用户u请求内容块c的最短路径数目,u∈U,U表示用户集合。
对于该实施例而言,在复杂网络理论中,中心性是一个核心的度量指标,它通常用来反映网络拓扑中节点的重要性,中心性度量值越大的节点,在网络拓扑中的重要度越大。
其中,介数中心性度量可以反映节点对信息在网络内传输的重要性。一般地,具有更大介数中心性度量值的节点在网络中占有更重要的地位。
传统网络中主要采用主机间端到端的通信模式,网络中介数中心性表示网络中所有节点对之间通过该节点的最短路径的数目,可用来刻画一个节点处理的信息访问量。然而,ICN提倡以信息为中心的通信模式代替传统以主机为中心的通信模式。在ICN中,相对于信息内容物理或逻辑位置而言,用户更加关心的是信息内容本身的获取。因此,仅依靠刻画网络结构的中心性指标是不够的,本公开的方法通过扩展介数中心性指标,提出了内容中心性指标(content centrality,CC),该指标不仅能刻画缓存节点的位置中心性,而且也能刻画信息内容本身的属性。
内容中心性指标综合考虑了经过缓存节点的所有用户到内容的最短路径数目和内容本身的属性。本公开中,用内容流行度来刻画内容属性,对内容进行区分。内容流行度是指用户对内容的请求概率,即内容被请求的概率越大,其流行度越高。CC指标定义为:
其中,pc表示内容块c的流行度,且满足C表示内容块集合;σv(u,c)表示经过缓存节点v的所有用户u请求内容块c的最短路径数目;σ(u,c)表示所有用户u请求内容块c的最短路径数目;u∈U,U表示用户集合。CC(v,c)表示缓存节点v关于内容块c的内容中心性。CC(v,c)刻画了经过缓存节点v的所有用户到内容块c的最短路径数目与所有用户到内容块c的最短路径数目之比与内容流行度的乘积。
此外,对于缓存节点v来说,其关于所有内容块c的内容中心性计算如下:
其中,CC(v)表示缓存节点v关于所有内容的内容中心性;C表示内容块集合。
在一个实施例中,所述步骤S200中,初始化CCmax变量具体为:CCmax=0,其中CCmax表示用户请求内容块的最短路径上所经过的中间路由器的最大内容中心性值。
在该实施例中,通过变量CCmax来记录用户请求内容块过程中的最大内容中心性值,首先将其初始化为零。
在一个实施例中,所述步骤S300中,查找是否有相应的缓存内容,如果有则执行S400,该步骤具体包括:查找维护内容存储表CS,如果有相应的缓存内容,则执行S400,并丢弃该兴趣包;
如果没有查找到相应的缓存内容,则记录并转发该兴趣包至下一跳路由器,该步骤进一步具体包括:查找待定兴趣表PIT中是否有关于该内容的请求记录,如果有所述关于该内容的请求记录,则在原有相应条目中添加该兴趣包的接入端口,并丢弃该兴趣包;如果没有所述关于该内容的请求记录,则在待定兴趣表PIT中新增一条信息,并查找转发信息表FIB中记录的转发端口,将该兴趣包转发至下一跳路由器。
对于该实施例而言,现有的路由器转发兴趣包的过程中,涉及内容存储表CS、待定兴趣表PIT、转发信息表FIB的处理;在本公开的方法中,兴趣包转发经过路由器时,首先会查找是否有相应的缓存内容,如果有则可以直接转到执行返回数据包的步骤,如果没有,那么就需要执行路由器转发时的查表和转发步骤,具体涉及:
首先,查找维护内容存储表CS,如果有相应的缓存内容,则执行返回数据包的步骤,并丢弃该兴趣包;
如果没有查找到相应的缓存内容,则记录并转发该兴趣包至下一跳路由器,该步骤进一步具体包括:
查找待定兴趣表PIT中是否有关于该内容的请求记录,如果有所述关于该内容的请求记录,则在原有相应条目中添加该兴趣包的接入端口,并丢弃该兴趣包;对于该步骤,由于之前已经有别的用户请求该内容的记录,所以只用添加该兴趣包的接入端口,等请求数据包回传至该路由器时,路由器机制会根据PIT表中记录的接入端口回传该数据包,涉及多个用户请求时就会有多个接入端口,针对每个接入端口都会回传该数据包;
如果没有所述关于该内容的请求记录,则在待定兴趣表PIT中新增一条信息,并查找转发信息表FIB中记录的转发端口,将该兴趣包转发至下一跳路由器;对于该步骤而言,由于之前没有别的用户请求该内容,因此除了在PIT表增加信息外,还需要转发该兴趣包,继续路由查找的过程。直到兴趣包转发至源服务器。
在数据包返回过程中,路由器节点可通过节点间相互协作来获取路径长度。对于距离的具体统计方法,已有研究工作进行详细介绍,不再赘述。
在一个实施例中,所述步骤S300中,更新所记录的CCmax变量具体为:获取CC(v,c),如果CC(v,c)>CCmax,则让CCmax=CC(v,c);其中,CC(v,c)表示缓存节点v关于内容块c的内容中心性。
在该实施例中,初始时已经将变量CCmax初始化为零,但在兴趣包转发的过程中,将不断计算更新变量CCmax,具体方式是:获取CC(v,c),如果CC(v,c)>CCmax,则让CCmax=CC(v,c),即通过CC(v,c)的值来对变量CCmax进行赋值,由于CC(v,c)在经过每个节点时计算得到的值会有所变化,所以通过变量CCmax来记录最大的CC(v,c)值,即获得缓存节点v关于内容块c的最大内容中心性值,为计算缓存概率做基础。
在一个实施例中,所述步骤S500中,用户从缓存节点v上获取请求内容块c的时延节省dsv,c表示为:
dsv,c=hops(c)(c,u)-hopv(c,u),
其中,hops(c)(c,u)表示用户u从源服务器s(c)获取内容块c时所需要的跳数;hopv(c,u)表示用户u从缓存节点v获取内容块c时所需要的跳数。
对于该实施例而言,为了衡量缓存内容放置给网络中用户获取内容带来的时延减少,使用了内容获取时延节省指标ds(delay saving)。ds指标刻画了用户从缓存节点获取内容时所需要的时延相比于从源服务器获取内容时所需要时延的减少量。为简化问题,采用节点跳数来量化时延,则ds指标可量化定义为:
dsv,c=hops(c)(c,u)-hopv(c,u),
其中,hops(c)(c,u)表示用户u从源服务器s(c)获取内容块c时所需要的跳数;hopv(c,u)表示用户u从缓存节点v获取内容块c时所需要的跳数。dsv,c表示用户从缓存节点v上获取请求内容块c的时延节省。
在一个实施例中,所述步骤S500中,用户u访问内容块c的源服务器s(c)所需要的跳数d(u,s(c))表示为:
d(u,s(c))=dsw,c+hop,
其中,dsw,c表示内容响应节点的内容获取时延节省,hop表示用户请求内容的最短路径上到达内容请求响应节点所经过的跳数。
在该实施例中,所述内容响应节点是指命中所请求内容的节点,可能是源服务器或者路由器。
在一个实施例中,所述步骤S500中,根据所述缓存概率决策是否在该路由器中缓存该数据包中的内容是指,若该缓存概率大于预定值,则决定在该路由器中缓存该数据包中的内容。
在该实施例中,预定值是随机生成的数值,对于不同的节点、不同的内容,随机生成的预定值也不同。
在一个实施例中,所述预定值是随机生成的0-1之间的数值。
在一个实施例中,所述步骤S500中,所述根据所述缓存概率决策是否在该路由器中缓存该数据包中的内容具体为:
如果决定在该路由器上缓存该内容且缓存空间未满,则直接对该内容进行备份并转发至下一跳路由器;如果决定缓存该内容但缓存空间已满,则根据缓存替换策略进行替换缓存并转发至下一跳路由器;如果决定不缓存该内容,则直接将该内容转发至下一跳路由器,直到用户接收到返回的数据包。
在该实施例中,缓存替换策略可以采用现有的缓存替换策略,例如LRU(leastrecently used)策略,LFU(least frequently used)策略,随机替换策略(randomreplacement policy)等。
实验:
为了验证本公开CCPCP方法的有效性以及相比其他方法的优点,本文选取了具有代表性的随机概率缓存方法Prob(p=0.3、p=0.5和p=0.7),基于最大化缓存收益的概率缓存方法MBP和本公开的CCPCP方法进行对比仿真实验。其中,对比仿真实验中缓存替换策略均采用LRU(least recently used)策略。
仿真实验中选取了具有代表性的Zachary空手道俱乐部网络拓扑和基于BA模型生成的网络拓扑来进行仿真分析,其中,Zachary网络是一个包含34个节点78条边的“基准”社会网络,而包含100个节点的BA网络是典型的无标度网络。在网络中设置一个内容源服务器。假设每个路由器具有相同的缓存容量。用户的请求过程服从泊松分布,用户的请求模式服从Zipf分布。仿真实验的主要参数设置如表2所示。
表2实验参数
为了评估CCPCP方法的性能,本公开采用了缓存命中率和跳数减少率两个典型的评价指标,定义了缓存内容利用率这个新的评价指标。
缓存命中率(cache hit ratio,CHR)能够刻画缓存方法减轻服务器负载的能力,同时反映了缓存系统的效率。缓存命中率越高,服务器负载的压力越小,则缓存系统的效率越高。其定义为由缓存节点而不是源服务器响应用户请求的概率:
其中,h表示在缓存节点得到响应的内容请求次数,r表示用户发送的所有内容请求总数。
跳数减少率(hop reduction ratio,HRR)刻画了用户获取内容的速度的提升量。跳数减少率越高,用户获取内容所需的时延越少,则缓存系统的响应速度越快。其定义为:
其中,d表示内容请求在缓存节点或源服务器得到响应所需的访问跳数,D表示所有内容请求只在源服务器得到响应所需的访问跳数,r表示用户发送的所有内容请求总数。
为体现在有限缓存空间下缓存内容资源被利用的程度,本公开提出了缓存内容利用率(content caching utilization ratio,CCUR)评价指标,缓存内容的数目越少,缓存内容的命中率越大,则缓存内容利用率就越大。该指标也反映缓存内容副本的共享度,缓存内容利用率越大,则缓存的内容副本的共享度越高,缓存系统的效率越高。CCUR指标定义为:
其中,hc表示内容块c请求命中的次数,rc表示内容块c的所有请求总数,N表示缓存的内容副本总数。
以下主要分析内容数量、Zipf分布参数以及节点缓存容量三个关键参数对不同缓存内容放置方法性能的影响。
为了观察某个参数对缓存性能的影响,以下各组实验中只有单方面参数的取值发生变化,而其他参数保持不变,其取值如表2所示。此外,为了比较CCPCP方法与其他方法的性能,以下实验是在确保CCPCP方法的缓存内容副本数目不超过对比方法的缓存内容副本数目的前提下进行的。
(1)内容数量的影响分析
在该组实验中,比较Probe.3(p=0.3)、Prob0.5(p=0.5)、Prob0.7(p=0.7)、MBP和CCPCP方法作用下,随着网络中内容数量的增加,缓存命中率、跳数减少率和缓存内容利用率三方面指标的变化情况。
从图2(a)、图2(b)和图3(a)、图3(b)中可以看出,不论对于34个节点的Zachary网络,还是对于100个节点的BA网络,随着网络中内容数量的增加,各缓存方法的缓存命中率和跳数减少率整体上都呈现出下降趋势。这是由于随着网络中用户请求内容数量的增加,需要缓存的内容块增多,而节点的缓存空间有限,在缓存节点中命中内容请求的概率减小,从而导致缓存性能减弱。其中,需要说明的是,图中Prob方法和MBP方法出现的折点是因为概率缓存具有一定的随机性。但是,即使缓存性能随着内容数量的增加而减弱,CCPCP方法的缓存命中率和跳数减少率仍一直高于其他缓存方法。
从图4(a)、(b)可以看出,随着内容数量的增加,CCPCP方法的缓存内容利用率一直明显高于其他缓存方法,尤其是MBP方法。这是因为CCPCP方法考虑到了缓存节点在网络结构中的位置重要性,居于中心的缓存节点具有更高的缓存访问概率。而MBP方法仅关注用户获取内容时延最大化的收益目标,倾向于在边缘节点上放置内容的缓存,从而降低缓存利用率。此外,对于不同内容数量取值下,缓存内容利用率呈现折线状态这一现象,是因为在不同的内容数量取值下,缓存内容的命中率和缓存的内容副本数目也有所不同。
(2)分布参数的影响分析
现有研究表明用户对内容请求模式服从Zipf分布,Zipf分布的参数α越大,表明用户对内容请求的偏好越集中。在该组实验中,通过改变参数α的取值,来研究不同的用户请求偏好对缓存性能的影响。图5(a)~图7(b)分别展示了在不同缓存方法作用下,Zipf参数变化对缓存命中率、跳数减少率和缓存内容利用率的影响。
从图5(a)、图5(b)和图6(a)、图6(b)可以看出,对于34个节点的Zachary网络和100个节点的BA网络,随着参数α取值的增加,各缓存方法的缓存命中率和跳数减少率都逐渐增大。这是由于随着偏度参数的增大,用户对内容请求的偏好变得更集中,高流行度的内容具有更大的请求概率,导致受欢迎的内容和不受欢迎的内容之间的差距越来越大。因此,缓存具有更高流行度的内容可以获得更多的缓存收益,从而提高缓存性能。如图5(b),图6(b)和图7(b)所示,对于100个节点的BA网络,当参数α=0.7和0.8时,CCPCP方法和Prob0.7(p=0.7)方法在缓存命中率和跳数减少率方面具有近乎相同的效果。但是,CCPCP方法的缓存内容利用率却明显优于Prob0.7方法。这是因为在相同的实验场景下,CCPCP方法放置了更少的缓存内容副本,达到了Prob0.7方法近似相同甚至更好的缓存效果。同时,从图7(a)、图7(b)中可以看出,CCPCP方法的缓存内容利用率一直高于其他缓存方法。此外,从图5(a)~图7(b)中可以看出,与CCPCP方法和MBP方法相比,Prob方法的性能提升速度较慢,尤其是在跳数减少率方面。究其原因是Prob方法没有考虑内容的受欢迎程度。
(3)节点缓存容量的影响分析
在该组实验中,通过改变节点缓存容量的大小,研究变化的节点缓存容量在不同缓存方法作用下,对缓存命中率、跳数减少率和缓存内容利用率的影响。
从图8(a)、图8(b)和图9(a)、图9(b)可以看出,对于34个节点的Zachary网络和100个节点的BA网络,随着节点缓存容量的增加,各缓存方法的缓存命中率和跳数减少率都有所提高。这是由于随着节点缓存容量的增大,网络中缓存的内容副本逐渐增多,在缓存节点中命中内容请求的概率增大,从而改善了整体缓存性能。但是,如图10(a)、图10(b)所示,随着节点缓存容量的增加,各缓存方法的缓存内容利用率整体上呈现下降趋势。其原因是网络中缓存的内容副本数量随着缓存容量的增加而急剧增长。然而,与其他方法相比,CCPCP方法一直表现出更优的性能。
根据上述实验结果可以看出,随着内容数量、Zipf分布参数和节点缓存容量的改变,CCPCP方法在缓存命中率、跳数减少率和缓存内容利用率这三方面评价指标都优于对比的基于概率的缓存方法。这主要是因为CCPCP方法综合考虑了内容中心性和内容访问时延两方面的关键因素,从而在相同的缓存内容副本数量甚至更少的缓存内容副本数量的情况下,能够改善缓存内容的命中率,提高缓存资源的利用率,降低用户访问内容所需的时延。
综上所述,为了提高面向内容的网络系统的网内缓存效率,本文提出了一种基于内容中心性的概率缓存内容放置方法。根据ICN中用户对内容获取的需求,本文提出了内容中心性指标,该指标不仅能刻画缓存节点的位置中心属性,而且也能刻画信息内容本身的属性。本文提出的CCPCP方法兼顾了内容中心性和内容获取时延两方面的优化目标,能够将内容合理地放置到缓存节点中,以提高缓存资源的利用率,减少缓存冗余,降低内容获取时延。仿真实验表明,CCPCP方法在缓存命中率、跳数减少率和缓存内容利用率等评价指标上优于对比的基于概率的缓存方法。
尽管以上结合附图对本发明的实施方案进行了描述,但本发明并不局限于上述的具体实施方案和应用领域,上述的具体实施方案仅仅是示意性的、指导性的,而不是限制性的。本领域的普通技术人员在本说明书的启示下和在不脱离本发明权利要求所保护的范围的情况下,还可以做出很多种的形式,这些均属于本发明保护之列。
Claims (10)
1.一种基于内容中心性的概率缓存内容放置方法,包括:
S100、用户向网络中发送请求内容块的兴趣包;
S200、依据最短路径在网络中的路由器上转发该兴趣包,并初始化CCmax变量,该变量用于记录用户请求内容块的最短路径上所经过的中间路由器的最大内容中心性值;其中,内容中心性是指经过节点的所有用户到内容的最短路径数目与所有用户到内容的最短路径数目之比与内容流行度的乘积;
S300、网络中路由器接收到该兴趣包后,查找是否有相应的缓存内容,如果命中,则转去执行S400;如果没有命中,则记录并转发该兴趣包至下一跳路由器,并更新所记录的CCmax变量,直到转发至内容源服务器;
S400、返回包含所请求内容块的数据包,沿着与兴趣包转发相反路径回传;
S500、当数据包回传转发至具有缓存功能的路由器时,计算缓存概率,并根据所述缓存概率决策是否在该路由器中缓存该数据包中的内容,所述缓存概率通过如下公式计算:
其中,p(v,c)表示内容块c在缓存节点v上的缓存概率,所述缓存节点是具有缓存功能的路由器;pc表示内容块c的流行度,指用户对内容的请求概率;dsv,c表示用户从缓存节点v上获取请求内容块c的时延节省;d(u,s(c))表示用户u访问内容块c的源服务器s(c)所需要的跳数,CC(v,c)表示缓存节点v关于内容块c的内容中心性,CC(u,s(c))max表示用户u请求内容块c的最短路径上所经过的所有缓存节点的最大内容中心性值,CC(u,s(c))max=CCmax。
2.根据权利要求1所述的方法,其特征在于,优选的,内容中心性表示为:
其中,CC(v,c)表示缓存节点v关于内容块c的内容中心性,pc表示内容块c的流行度,且满足C表示内容块集合,σv(u,c)表示经过缓存节点v的所有用户u请求内容块c的最短路径数目,σ(u,c)表示所有用户u请求内容块c的最短路径数目,u∈U,U表示用户集合。
3.根据权利要求2所述的方法,其特征在于,所述步骤S200中,初始化CCmax变量,具体为:CCmax=0,其中CCmax表示用户请求内容块的最短路径上所经过的中间路由器的最大内容中心性值。
4.根据权利要求1所述的方法,其特征在于,所述步骤S300中,查找是否有相应的缓存内容,如果有则执行S400,该步骤具体包括:查找维护内容存储表CS,如果有相应的缓存内容,则执行S400,并丢弃该兴趣包;
如果没有查找到相应的缓存内容,则记录并转发该兴趣包至下一跳路由器,该步骤进一步具体包括:查找待定兴趣表PIT中是否有关于该内容的请求记录,如果有所述关于该内容的请求记录,则在原有相应条目中添加该兴趣包的接入端口,并丢弃该兴趣包;如果没有所述关于该内容的请求记录,则在待定兴趣表PIT中新增一条信息,并查找转发信息表FIB中记录的转发端口,将该兴趣包转发至下一跳路由器。
5.根据权利要求1所述的方法,其特征在于,所述步骤S300中,更新所记录的CCmax变量具体为:获取CC(v,c),如果CC(v,c)>CCmax,则让CCmax=CC(v,c);其中,CC(v,c)表示缓存节点v关于内容块c的内容中心性。
6.根据权利要求1所述的方法,其特征在于,所述步骤S500中,用户从缓存节点v上获取请求内容块c的时延节省dsv,c表示为:
dsv,c=hops(c)(c,u)-hOpv(c,u),
其中,hops(c)(c,u)表示用户u从源服务器s(c)获取内容块c时所需要的跳数;hopv(c,u)表示用户u从缓存节点v获取内容块c时所需要的跳数。
7.根据权利要求6所述的方法,其特征在于:所述步骤S500中,用户u访问内容块c的源服务器s(c)所需要的跳数d(u,s(c))表示为:
d(u,s(c))=dsw,c+hop,
其中,dsw,c表示内容响应节点的内容获取时延节省,hop表示用户请求内容的最短路径上到达内容请求响应节点所经过的跳数。
8.根据权利要求1所述的方法,其特征在于,所述步骤S500中,根据所述缓存概率决策是否在该路由器中缓存该数据包中的内容是指,若该缓存概率大于预定值,则决定在该路由器中缓存该数据包中的内容。
9.根据权利要求8所述的方法,其特征在于,所述预定值是随机生成的0-1之间的数值。
10.根据权利要求1所述的方法,其特征在于,所述步骤S500中,所述根据所述缓存概率决策是否在该路由器中缓存该数据包中的内容具体为:
如果决定在该路由器上缓存该内容且缓存空间未满,则直接对该内容进行备份并转发至下一跳路由器;如果决定缓存该内容但缓存空间已满,则根据缓存替换策略进行替换缓存并转发至下一跳路由器;如果决定不缓存该内容,则直接将该内容转发至下一跳路由器,直到用户接收到返回的数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910161907.9A CN109905480B (zh) | 2019-03-04 | 2019-03-04 | 基于内容中心性的概率缓存内容放置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910161907.9A CN109905480B (zh) | 2019-03-04 | 2019-03-04 | 基于内容中心性的概率缓存内容放置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109905480A true CN109905480A (zh) | 2019-06-18 |
CN109905480B CN109905480B (zh) | 2022-03-29 |
Family
ID=66946460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910161907.9A Active CN109905480B (zh) | 2019-03-04 | 2019-03-04 | 基于内容中心性的概率缓存内容放置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109905480B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110233901A (zh) * | 2019-06-20 | 2019-09-13 | 南通大学 | 一种内容中心网络缓存方法及系统 |
CN110266804A (zh) * | 2019-06-28 | 2019-09-20 | 郑州轻工业学院 | 基于节点情景度的内容中心网络缓存方法 |
CN110365801A (zh) * | 2019-08-26 | 2019-10-22 | 陕西师范大学 | 信息中心网络中基于分区的协作缓存方法 |
CN111262785A (zh) * | 2020-01-16 | 2020-06-09 | 北京工业大学 | 一种命名数据网络中的多属性概率缓存方法 |
CN111314224A (zh) * | 2020-02-13 | 2020-06-19 | 中国科学院计算技术研究所 | 一种命名数据网络缓存方法 |
CN111797341A (zh) * | 2020-06-22 | 2020-10-20 | 电子科技大学 | 一种基于可编程交换机的网内缓存方法 |
CN113225380A (zh) * | 2021-04-02 | 2021-08-06 | 中国科学院计算技术研究所 | 一种基于谱聚类的内容分发网络缓存方法及系统 |
CN113312329A (zh) * | 2020-02-26 | 2021-08-27 | 阿里巴巴集团控股有限公司 | 数据文件的调度方法、装置及设备 |
CN115499879A (zh) * | 2021-06-02 | 2022-12-20 | 中移雄安信息通信科技有限公司 | 车载命名数据网络的数据缓存方法、装置及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106101223A (zh) * | 2016-06-12 | 2016-11-09 | 北京邮电大学 | 一种基于内容流行度与节点级别匹配的缓存方法 |
EP3203707A1 (en) * | 2016-02-03 | 2017-08-09 | Telefonica Digital España, S.L.U. | A computer-implemented web tracking identification method, a web tracker detecting entity and computer program products |
-
2019
- 2019-03-04 CN CN201910161907.9A patent/CN109905480B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3203707A1 (en) * | 2016-02-03 | 2017-08-09 | Telefonica Digital España, S.L.U. | A computer-implemented web tracking identification method, a web tracker detecting entity and computer program products |
CN106101223A (zh) * | 2016-06-12 | 2016-11-09 | 北京邮电大学 | 一种基于内容流行度与节点级别匹配的缓存方法 |
Non-Patent Citations (2)
Title |
---|
ZHOU XIAOQIANG: "An In-network Caching Scheme Based on Betweenness and Content Popularity Prediction in Content-centric Networking", 《2016 IEEE 27TH ANNUAL INTERNATIONAL SYMPOSIUM ON PERSONAL,INDOOR, AND MOBILE RADIO COMMUNICATIONS (PIMRC).IEEE》 * |
吴海博: "基于概率的启发式ICN缓存内容放置方法", 《通信学报》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110233901A (zh) * | 2019-06-20 | 2019-09-13 | 南通大学 | 一种内容中心网络缓存方法及系统 |
CN110266804A (zh) * | 2019-06-28 | 2019-09-20 | 郑州轻工业学院 | 基于节点情景度的内容中心网络缓存方法 |
CN110365801A (zh) * | 2019-08-26 | 2019-10-22 | 陕西师范大学 | 信息中心网络中基于分区的协作缓存方法 |
CN110365801B (zh) * | 2019-08-26 | 2021-12-17 | 陕西师范大学 | 信息中心网络中基于分区的协作缓存方法 |
CN111262785B (zh) * | 2020-01-16 | 2021-09-28 | 北京工业大学 | 一种命名数据网络中的多属性概率缓存方法 |
CN111262785A (zh) * | 2020-01-16 | 2020-06-09 | 北京工业大学 | 一种命名数据网络中的多属性概率缓存方法 |
CN111314224B (zh) * | 2020-02-13 | 2021-03-09 | 中国科学院计算技术研究所 | 一种命名数据网络缓存方法 |
CN111314224A (zh) * | 2020-02-13 | 2020-06-19 | 中国科学院计算技术研究所 | 一种命名数据网络缓存方法 |
CN113312329A (zh) * | 2020-02-26 | 2021-08-27 | 阿里巴巴集团控股有限公司 | 数据文件的调度方法、装置及设备 |
CN113312329B (zh) * | 2020-02-26 | 2024-03-01 | 阿里巴巴集团控股有限公司 | 数据文件的调度方法、装置及设备 |
CN111797341A (zh) * | 2020-06-22 | 2020-10-20 | 电子科技大学 | 一种基于可编程交换机的网内缓存方法 |
CN111797341B (zh) * | 2020-06-22 | 2023-04-18 | 电子科技大学 | 一种基于可编程交换机的网内缓存方法 |
CN113225380A (zh) * | 2021-04-02 | 2021-08-06 | 中国科学院计算技术研究所 | 一种基于谱聚类的内容分发网络缓存方法及系统 |
CN113225380B (zh) * | 2021-04-02 | 2022-06-28 | 中国科学院计算技术研究所 | 一种基于谱聚类的内容分发网络缓存方法及系统 |
CN115499879A (zh) * | 2021-06-02 | 2022-12-20 | 中移雄安信息通信科技有限公司 | 车载命名数据网络的数据缓存方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109905480B (zh) | 2022-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109905480A (zh) | 基于内容中心性的概率缓存内容放置方法 | |
CN104753797B (zh) | 一种基于选择性缓存的内容中心网络动态路由方法 | |
Wang et al. | Intra-AS cooperative caching for content-centric networks | |
CN106131182B (zh) | 命名数据网络中一种基于流行度预测的协作缓存方法 | |
Xu et al. | A novel cache architecture to support layer-four packet classification at memory access speeds | |
CN106101223B (zh) | 一种基于内容流行度与节点级别匹配的缓存方法 | |
Li et al. | A chunk caching location and searching scheme in content centric networking | |
CN108900570B (zh) | 一种基于内容价值的缓存替换方法 | |
CN104821961B (zh) | 一种基于节点社团重要度的icn缓存方法 | |
CN104811493B (zh) | 一种网络感知的虚拟机镜像存储系统及读写请求处理方法 | |
CN105262833B (zh) | 一种内容中心网络的跨层缓存方法及其节点 | |
CN108366089B (zh) | 一种基于内容流行度和节点重要度的ccn缓存方法 | |
CN111294394B (zh) | 基于复杂网络交汇点的自适应缓存策略方法 | |
An et al. | An in-network caching scheme based on energy efficiency for content-centric networks | |
CN110365801A (zh) | 信息中心网络中基于分区的协作缓存方法 | |
CN111107000B (zh) | 一种基于网络编码的命名数据网络中内容缓存方法 | |
Wu et al. | MBP: A max-benefit probability-based caching strategy in information-centric networking | |
CN112399485A (zh) | 一种6g中基于ccn的新节点价值和内容流行度缓存方法 | |
CN113783779B (zh) | 命名数据网络中分级随机缓存方法 | |
CN103905538A (zh) | 内容中心网络中邻居协作缓存替换方法 | |
CN108173903B (zh) | 自治系统协作缓存策略在ccn中的应用方法 | |
WO2011131042A1 (zh) | 索引信息的存储、查找方法及装置 | |
CN109195180A (zh) | 一种减小移动内容中心网络中内容获取时延的解决方法 | |
CN108173965A (zh) | 社团感知的icn缓存方法 | |
CN107302571B (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 |