史甜甜
(重庆邮电大学,重庆 400065)
互联网已成为一个普遍存在、大规模的内容分发系统。用户驱动的数字视频内容产生的流量在未来几年将高速增长,人们对数据内容的需求日趋明显,网络应用的主体正逐渐向内容服务转移。CCN(Content Centric Networking)以“以内容为中心”为设计思想,不关注内容的存储位置,只关注内容本身。CCN通过对内容名字进行唯一标识,也可基于内容进行定位、路由和传输。此外,CCN还可通过节点缓存内容,用以缩短其他用户访问同样数据的响应时间,减轻网络拥塞,提高网络资源的利用率。缓存理论及相关的优化技术如CDN、Web和P2P,虽以内容为中心,但都位于应用层,存在大量冗余数据传输,网络资源利用率不高。CCN在中间节点采用了内容缓存技术,请求端不需要再到服务器端获取内容,而到最近的中间节点处获取内容即可,利用存储开销换取传输效率,减少网络传输时延。随着内容的海量增长,有限的存储空间与无限的内容容量必然存在矛盾,所以需要合理的缓存策略来缓存内容。本文试图从内容缓存替换策略和内容缓存决策策略两个方面,阐述现有的研究如何实现CCN中内容缓存,并对这些缓存策略进行简要的总结,最后指出CCN中缓存策略的新思路。
从图1可看出,CCN与TCP/IP模型最大的不同是在“瘦腰”处用内容块(content chunk)代替了IP。从网络的角度看,就是用对内容命名代替了对物理实体的命名。
每个CCN节点都包含用于缓存数据分组的内容存储器(CS,Content Store),且在数据转发完成后,尽可能缓存已完成的内容。这需要在有限的缓存空间下进行内容替换,尽可能降低内容请求失败率(RMP,Request Miss Probability)。因此内容缓存替换策略成为制约CCN网络性能的关键。
图1 TCP/IP结构与CCN网络协议栈对比
现有CCN文献中最常见的替换策略是最近最少使用(LRU,Least Recently Used)策略,在该策略中,最近最少使用的数据块将被率先替换。文献[1]表明:LRU策略对内容请求流行度的适应性较差,即流行度较弱内容的RMP对内容请求流行度分布变化不敏感。而最近最多使用(MRU,Most Recently Used)策略和最少频繁使用(LFU,Least Frequently Used)策略,即率先替换最近最多使用的数据块和率先替换使用频率最少的数据块。除了考虑单个节点的存储替代机制外,节点间的合作机制同样也对网络性能的提高起到重要的作用。文献[2]提出基于Age的合作存储机制,但是当节点中所有内容的Age都较大时,其替换策略不能很好的反映内容流行度的偏好。为此提出一种基于流行度偏好的置换策略:每次随机选择两个数据块,将其中具有更高流行度的数据块替换掉,通过这种设计试图使低流行度的数据块更长时间停留在缓存内,保证CCN网络中不同流行度的内容能够分布均匀,但该策略存在低流行度的数据块可能长期无法被替换的问题,不能达到良好效果。文献[3]中的策略适用于内容请求集中的网络应用,通过略微牺牲流行度最高的内容请求性能,换取了其它类内容的命中性能较显著提升,相比较LRU策略可以在a较大时,较好地保证流行度较低内容( k≥2)的网络访问性能。综上所述,目前针对CCN中内容替换策略的研究更倾向于考虑内容流行度,从而决定替换哪些数据块,提高资源利用率。
CCN大多将文件划分成独立可标识的更小数据块(chunk),并以chunk为缓存单元。而不同内容对象的流行度分布不同,如Web中的对象流行度服从Zipf分布,P2P中的对象流行度服从mandelbrot-zipf分布,且同一个文件的不同chunk被访问的频率并不相同。例如用户在观看视频时,通常只看开头部分,以决定是否继续观看下去,从而导致视频文件的不同chunk具有不同的访问流行度。迄今为止,chunk访问流行度还缺乏详细的理论模型和实证研究。本文对存在的问题和未来的研究方向提出以下几方面的思路。
(1)针对不同种类的内容对象,对其数据块进行标识,从而设定不同缓存替换策略。
(2)从提供商方面考虑,缓存的内容要有价值,而流行度高的不一定带来高的收益,可综合考虑内容的Age和流行度来缓存内容。
(3)而对同一个文件的不同chunk被访问的频率不同问题,以视频流为例,可以设置合适的缓存阈值来提高缓存效率。
内容缓存决策策略是指应在缓存系统的哪些节点缓存内容。可分为集中式存储和分布式存储等方式。集中式缓存是指单一路由器存储完整的内容,只要经过路由器的未被存储的信息都将被完整备份,即CCN中默认使用的LCE策略,这样会导致网络中出现大量内容冗余备份,降低内容的多样性。分布式缓存方式是指多个中间路由器互相合作,共同协商存储完整的内容,内容分块存储。分布式缓存根据优选存储位置不同,分为边缘分布式缓存和核心分布式缓存方式。近几年,研究人员提出了一些新的缓存策略。
LCD(Leave Copy Down)策略,即当缓存命中时,仅在命中节点的下游节点缓存该对象,避免了同一对象的大量复制,并且需要多次对某一对象的请求才会将该对象复制到靠近客户端的地方,潜在地考虑了对象的访问频率。MCD(Move Copy Down)策略即当缓存命中时,将缓存对象从命中节点移动到命中节点的下游节点,而将其从命中节点的缓存中删除。与LCD相比,MCD进一步减少了对象的复制次数,但内容缓存点的动态性会产生更多的网络开销。同时提出Prob(copy with probability):每个沿途节点都以概率p缓存对象,而以概率1-p不缓存对象,p的值可以依据缓存情况进行调整,该方法可以认为是LCE的一般化,当p=1时,即退化为LCE。
文献[4,5]提出Betw策略,内容在返回时选择兴趣包请求路径上最重要的节点缓存,其它节点不再缓存。对于不同网络拓扑,该策略都取得了较高的网内节点缓存命中率,并减少了内容传输的平均跳数。然而,在实际网络中,节点缓存量远小于内容总量,Betw策略会导致节点越重要,到达的请求越多,需要缓存的内容也越多,同时节点负载也会越大,从而导致缓存中的内容更替频繁,新缓存的内容,即使具有很高的流行度,也具有较大可能性被快速替换掉,致使后续请求无法充分利用前期缓存。文献[6]提出了一种综合使用网络节点介数和节点缓存内容更替率作为缓存决策度量的新型网内缓存策略BetwRep。在返回内容判决路径上哪些节点需要缓存该内容时,既考虑节点的重要性,又要考虑节点缓存内容更替状况。该策略既有效保证了内容尽量缓存在相对重要的节点上,又能通过节点的内容替换率来调控内容的缓存,使重要节点避免处于高频率的内容替换状态而导致系统性能下降。
上述各种缓存策略虽然从不同角度优化缓存方案,但均着眼于新对象是否应该缓存在某些节点,从而降低缓存的冗余度,提高缓存的可用性方面,而忽略了CCN缓存会同时受内容流行度和网络拓扑的影响,且没有考虑网络的能源效率问题。
针对CCN网络中移动用户设备的移动管理方案问题,文献[7,8]提出基于代理的方案,可提供低的通信开销,缩短下载时间,降低能源损耗。主动选择邻居缓存方案(SNC)进一步减少用户的移动切换时延与内容获取的平均时间。但是,SNC未考虑到代理服务器获取内容的时间成本,也无法有效利用CCN网络共享的内容资源。文献[9]中作者研究CCN中chunk位置的缓存策略问题,提出一个在CCN异构基础设施中缓存位置和搜索方案(CLS)。
虽然对CCN已经做大量工作,但是用内容缓存来优化CCN中整个网络性能没有被考虑。而CCN中缓存优化问题是平衡网络负载、节省能源消耗和获取绿色通信的一个最重要的问题。
文献[10]将内容缓存问题模拟成整数线性规划问题,提 出 基 于 CRO(Chemical Reaction Optimization)的缓存算法,大大减少总的网络流量。文献[11]提出LUV-Path的缓存策略,这里所有传输路径上的路由器隐式协作来决定是否缓存内容,并且每个内容缓存将分配一个值将LUV(Least Unified Value)和从提供商到反映其相对重要性的路由器距离连接在一起,来减少用户延迟和网络流量以及提供商的压力。从能源效率和网络性能权衡点的角度,文献[12]通过考虑不同的能源效率来设计CCN的实际缓存策略。为平衡网络性能和供应商成本,文献[13]提出协作式网内存储并设计一个整体模型来显示路由内容到客户端的网络性能和网络成本,然后获得最优缓存策略。
对于内容缓存决策策略需要从网络性能和供应商成本两方面考虑。上述各种缓存策略虽部分实现网络优化,但仍有如下很多问题需要解决。
(1)需要考虑不同网络拓扑对这些缓存策略的影响,针对不同网络设计最优缓存策略,获得网络性能和提供商成本的平衡。
(2)考虑终端用户的缓存能力,来提高CCN网络内容交付。
(3)对CCN网络中各个缓存节点的大小和个数的设置,每个缓存节点上缓存资源在不同应用类型之间共享的方式以及考虑缓存对象对请求的可用性。
[1]Carofiglio G,Gallo M,Muscariello L,et al.Modeling data transfer in content-centric networking(extended version)[R].Research report.http://perso.rd.francetelecom.fr/muscariello,2011.
[2] Ming Zhongxing,Xu Mingwei,Wang Dan.Age-based cooperative caching in Information-Centric Networks,Computer Communications Workshops(INFOCOM WKSHPS),2012 IEEE Conference on[C].IEEE,2012: 268-273.
[3] 朱轶,糜正琨,王文鼐.一种基于内容流行度的内容中心网络缓存概率置换策略[J].电子与信息学报,2013,35(6):1305-1310.
[4] Chai Wei-koong,He Di-liang,Psaras Ioannis ,et al.Cache “Less for More” in information-centric networks[M]//Proceedings of the 11th International IFIP TC 6 Conference on Networking.Prague:Springer Berlin Heidelberg,May 21-25,2012: 27-40.
[5] Chai Wei-koong,He Di-liang,Psaras Ioannis,et al.Cache “Less for More” in information-centric networks (extended version)[J].Computer Communications,2013,36(7):758-770.
[6] 崔现东,刘江,黄韬,等.基于节点介数和替换率的内容中心网络网内缓存策略[J].电子与信息学报,2014,36(1).
[7] Lee Jihoon,Kim DaeYoub,Jang Myeongwuk,et al.Mobility management for mobile consumer devices in content centric networking (CCN).[C]//Consumer Electronics (ICCE),2012 IEEE International Conference on.Las Vegas,NV ,2012: 502-503.
[8] Lee Jihoon,Kim DaeYoub.Proxy-assisted content sharing using content centric networking (CCN)for resource-limited mobile consumer devices[J].Consumer Electronics,IEEE Transactions on,2011,57(2):477-483.
[9] Li Yang,Lin Tao,Tang Hui,et al.A chunk caching location and searching scheme in content centric networking [C]// Communications (ICC),2012 IEEE International Conference on.Ottawa,ON ,2012: 2655-2659.
[10]Xie Renchao,Huang Tao,Yu F.Richard,et al.Caching Design in Green Content Centric Networking Based on Chemical Reaction Optimization[C]//Green Computing and Communications (GreenCom),2013 IEEE and Internet of Things (iThings/CPSCom),IEEE International Conference on and IEEE Cyber,Physical and Social Computing.IEEE,2013: 46-50.
[11]Chen Xiaohu,Fan Qilin,Yin Hao.Caching in Information-Centric Networking: From a content delivery path perspective[C]//Innovations in Information Technology (IIT),2013 9th International Conference on.Abu Dhabi,2013: 48-53.
[12]Lafond Sebastien,Trinh Tuan Anh.Energy efficient thresholds for cached content in Content Centric Networking [C]// Digital Communications-Green ICT (TIWDC),2013 24th Tyrrhenian International Workshop on.Genoa,2013: 1-6.
[13]Li Yanhua,Yaiyong Wen,Wen Yongang,et al.Coordinating innetwork caching in content-centric networks: model and analysis[C]//Distributed Computing Systems (ICDCS),2013 IEEE 33rd International Conference on.Philadelphia,PA,2013: 62-72.