«上一篇 下一篇»
  计算机工程  2020, Vol. 46 Issue (11): 223-230  DOI: 10.19678/j.issn.1000-3428.0056463
0

引用本文  

赵国锋, 林欢, 段洁, 等. 面向数据新鲜度的ICN-IoT缓存方案[J]. 计算机工程, 2020, 46(11), 223-230. DOI: 10.19678/j.issn.1000-3428.0056463.
ZHAO Guofeng, LIN Huan, DUAN Jie, et al. ICN-IoT Caching Scheme for Data Freshness[J]. Computer Engineering, 2020, 46(11), 223-230. DOI: 10.19678/j.issn.1000-3428.0056463.

基金项目

国家自然科学基金(61701058);"十三五"装备预研国防科技重点实验室基金(61422090301);重庆市基础研究与前沿探索项目(cstc2018jcyjA0743,cstc2016jcyjA0560);重庆市教委科学技术研究项目(KJQN201800640,KJQN201800633)

作者简介

赵国锋(1972-), 男, 教授、博士, 主研方向为未来网络、网络安全、网络测量;
林欢, 硕士研究生;
段洁, 副教授、博士;
邹亚琴, 硕士研究生;
曾帅, 讲师、博士

文章历史

收稿日期:2019-10-31
修回日期:2019-12-06
面向数据新鲜度的ICN-IoT缓存方案
赵国锋1,2 , 林欢1 , 段洁1 , 邹亚琴1 , 曾帅1     
1. 重庆邮电大学 通信与信息工程学院, 重庆 400065;
2. 重庆市光通信与网络高校重点实验室, 重庆 400065
摘要:信息中心网络(ICN)缓存能加速物联网(IoT)数据传输并减少数据响应延迟,但现有ICN缓存方案未考虑数据更新频繁与用户的数据新鲜度请求导致缓存效率较低。针对该问题,提出一种基于IoT数据新鲜度的ICN-IoT缓存方案。引入时间戳将用户对数据新鲜度的请求精确到时刻,根据IoT数据的关联性预测未来时刻数据值以满足用户请求,并结合内容流行度与基于时间的请求概率对到达内容做出缓存决策。仿真结果表明,与NDN-PET、NDN-TTL、PCC等缓存方案相比,该方案能有效减少IoT用户获取内容的平均时延并提高信息准确率。
关键词信息中心网络    物联网    缓存    新鲜度    时间戳    
ICN-IoT Caching Scheme for Data Freshness
ZHAO Guofeng1,2 , LIN Huan1 , DUAN Jie1 , ZOU Yaqin1 , ZENG Shuai1     
1. School of Communication and Information Engineering, Chongqing University of Posts and Telecommunications, Chongqing 400065, China;
2. Optical Communication and Network Key Laboratory of Chongqing in Colleges and Universities, Chongqing 400065, China
Abstract: The cache in Information-Centric Networking(ICN) can accelerate the transmission of data and reduce the delay of data response in Internet of Things(IoT).However, the existing ICN caching schemes do not consider the frequent data updates and users' requests for data freshness, resulting in the low efficiency of caching.To solve the problem, this paper proposes an ICN-IoT caching scheme based on the freshness of IoT data.The timestamp is introduced to improve the time accuracy of user's requests for data freshness.Then the data value in a future time is predicted based on the relevance of IoT data in order to meet the users' requests.The content popularity and the time-based request probability are used to make a cache decision for the arrived content.Simulation results show that compared with NDN-PET, NDN-TTL and PCC caching schemes, the proposed scheme can effectively reduce the average delay for IoT users and improve the information accuracy rate.
Key words: Information-Centric Networking(ICN)    Internet of Things(IoT)    cache    freshness    timestamp    
0 概述

随着互联网技术的快速发展, 网络规模不断扩大, TCP/IP网络架构在可扩展性、安全性、移动性以及服务质量等方面面临严峻挑战[1]。信息中心网络(Information-Centric Networking, ICN)[2-3]在该技术背景下应运而生, 其使用基于命名内容对象的通信模式以及用户驱动与面向内容的流量模式, 可代替传统网络中主机到主机的通信模型。

ICN以内容为中心的特性使其呈现出网络内置缓存、基于内容名的路由以及面向内容的安全模式[4]等新特征。其中, 网络内置缓存是指路由器缓存网络中的内容, 当用户向网络发送兴趣包时, 网络中缓存有请求内容的任何路由器都可将内容返回给用户。ICN内置缓存能使用户在网络节点处快速获取数据, 从而增强数据可用性, 并减少用户获取数据的时延, 提升网络传输性能[5]。此外, ICN通过使用唯一且与位置无关的内容名称进行路由标识, 可有效支持用户移动性并克服IP网络中IP寻址局限性[6]。面向内容的安全模式是指原始数据提供者对数据进行签名, 节点和用户通过验证签名来检验数据有效性, 该安全模式为数据内容提供便捷有效的安全保护, 无需第三方或其他节点参与[7]。上述ICN特征可为网络内容传输、路由标识以及数据安全等问题提供有效的解决方案, 研究人员利用ICN特征可解决当前物联网(Internet of Things, IoT)中由海量数据分发引起的以上问题[8-10]

ICN内置缓存为物联网数据检索加速及设备节能提供了解决思路并由此受到广泛关注[11]。文献[12]在实际物联网中部署ICN实验, 证明减少缓存唤醒传感器次数可提升IoT能效。文献[13]通过仿真发现将ICN缓存策略直接用于IoT不能达到理想的缓存效果, 认为传感器对周围环境物理信息的周期性采集会产生大量数据, 其中大部分数据在较短时间内会过期, 因此物联网数据在数据量及数据特征上与网络中普通业务数据不同。文献[14]认为IoT用户更趋向于请求最新信息, 提出用户驱动的信息新鲜度(内容在缓存中所逗留时间)机制。文献[15]基于新鲜度定义提出一种综合考虑物联网数据寿命与数据请求率的缓存方案, 其中节点主要缓存新鲜度小或者寿命大于缓存阈值的数据, 同时还提出自动配置机制以动态调整缓存阈值, 以使所提方案在不同请求速率下有良好表现, 并通过仿真证明该方案能有效减少物联网设备能耗与数据检索延迟。上述方案虽然考虑物联网数据更新频繁的特征, 但均将最近产生的数据返回给用户, 未考虑物联网用户对数据产生的时间要求, 导致用户接收数据的准确度较低。此外, 这些方案考虑因素较单一, 例如仅考虑新鲜度或者请求速率, 造成节点缓存内容只有一种属性, 导致新鲜却不流行或者流行但不新鲜的内容占据大量缓存空间。设计缓存方案时只有考虑多方面因素, 才能有效利用缓存空间, 进而提高物联网缓存效率。上述研究将ICN缓存机制应用于物联网, 未考虑IoT业务将产生海量数据且数据更新频繁的问题, 因而无法充分发挥ICN优势[16-18]。因此, 需针对物联网数据设计合适的缓存策略以提升缓存效率。

针对物联网数据更新频繁的特征与用户对数据新鲜度较高的要求, 本文提出基于物联网数据新鲜度的ICN-IoT[7]缓存方案(Data Characteristics based ICN-IoT Caching Scheme, DCI2CS)。将物联网数据的新鲜度具体化, 引入时间戳使用户所请求的数据精确匹配到数据的时间维度, 采用请求概率与流行度结合的缓存策略, 根据内容特征实现内容灵活缓存, 基于物联网数据之间关联性提出未来时刻数据预测方法, 使节点在保证用户满意度的情况下加速响应用户请求。

1 ICN-IoT缓存方案 1.1 方案描述

在基于ICN的物联网中, ICN缓存方案至关重要。当缓存空间被请求次数较少的数据占用时, 缓存效率极低, 用户请求被发送到服务器处并产生较长内容获取时延, 从而影响到用户体验。即使基于物联网数据更新频繁的特征在缓存空间中缓存新鲜内容, 也无法满足物联网用户对内容所产生时间的要求。因此, DCI2CS方案结合数据流行度与基于内容所产生时间的请求概率来提高缓存效率, 并创新性地通过在内容存储(Content Store, CS)表中添加相似时间戳字段来返回用户对未来时刻产生内容的请求, 以帮助用户快速准确地获取内容。

为精确返回满足物联网用户对数据新鲜度要求的数据包, DCI2CS方案对兴趣包、数据包以及内容存储器条目进行扩展, 兴趣包与数据包的结构如图 1所示。兴趣包中除了内容名(Content Name)字段还添加时间戳(Timestamp)字段表示用户所请求内容产生的时间, 并添加时间戳阈值(Timestamp Threshold)字段, 表示用户可容忍的最大时间戳差值, 同时添加Nonce字段作为预留字段。数据包中除了内容名字段和数据(Data)字段, 同样添加时间戳字段表示所携带内容产生的时间, 并加入相似时间戳(Similar Timestamp)字段表示与缓存内容数据值相似的数据所产生时间, 此字段主要用于后续获得相似时间戳。此外, 内容存储器中也添加时间戳表示所缓存内容产生的时间。

Download:
图 1 兴趣包与数据包的结构 Fig. 1 Structure of interest packet and data packet

当数据包沿请求路径返回时, 路由器查看数据包中内容名称和时间戳, 并根据新内容缓存决策与内容版本更新情况对数据包进行缓存决策, 上述数据包处理流程如图 2所示。

Download:
图 2 数据包处理及节点转发兴趣包的流程 Fig. 2 Process of data packet processing and node forwarding interest packet

图 2中还包括节点转发兴趣包的流程, 路由器将请求内容与内容存储器中缓存内容进行名称匹配, 如果匹配到同名内容, 则路由器根据请求内容的时间戳Its与内容存储器中所有同名内容的时间戳its求得Tiabs, 计算公式如下:

$ T_{{\rm{abs}}}^i = |{I_{{\rm{ts}}}} - {i_{{\rm{ts}}}}| $ (1)

在所有小于时间戳阈值的Tabsi中, 路由器选择Tabsi最小的缓存内容返回给用户。若没有小于时间戳阈值的Tabsi, 则将请求内容的时间戳与CS表中相似时间戳进行匹配, 把匹配的缓存内容返回给用户; 否则将兴趣包转发给服务器。若在服务器中未匹配到满足用户要求的内容, 则告知用户请求失败。下文1.3节将具体描述相似时间戳的获得过程。

1.2 缓存决策机制

针对物联网数据更新频繁的特性, DCI2CS方案中路由器根据内容流行度与基于时间的请求概率对内容进行缓存决策。当数据包返回到路由器时, 若缓存空间有剩余, 则直接缓存数据包; 否则路由器将到达数据以及CS表中的缓存数据进行名称匹配。若名称匹配成功, 则表明节点缓存有与到达数据同名的内容; 若匹配失败, 则表明节点未缓存此内容。因此,节点根据以上情况选择执行新内容缓存和内容版本更新两种缓存决策。

1.2.1 新内容缓存

ICN-IoT网络中每个路由器缓存空间有限, 当缓存空间缓存最流行的内容时, 可获得较高缓存命中率。由于路由器中流行内容各不相同, 因此每个路由器中均有缓存内容流行度列表, 该表将不同名的内容按流行度从大到小依次排列。流行度代表同名内容被请求的概率, 而每个内容在节点处流行度的计算公式为:

$ {P_{{\rm{cp}}}} = \frac{{{n_i}}}{{\sum\limits_{i = 1}^N {{n_i}} }} $ (2)

其中, N表示网络中所有内容的数目, i表示内容名, ni表示周期T内路由器n收到所有名为i的内容被请求次数总和; $\sum\limits_{i=1}^{N} n_{i}$表示周期T内路由器n收到的请求总数。在每个周期结束时, 路由器对ni的总和进行清零, 然后重新计数。

路由器根据式(2)计算缓存内容流行度并创建流行度表。当数据包到达路由器时, 若缓存空间未满, 则直接缓存; 否则路由器将对CS表中缓存内容和到达内容进行名称匹配, 若未能匹配, 则根据式(2)计算到达内容流行度。若到达内容流行度大于流行度表中的最小流行度, 则用到达内容替换最小流行度对应的缓存内容; 否则不缓存此到达内容。

1.2.2 内容版本更新

对于物联网中主题相同的内容, 用户更偏爱最近产生的内容, 以往所产生内容较少有用户请求。在一般情况下, 内容的请求概率P随着Δt增大而减小, 其中Δt为当前时间tc与内容产生时间tg的时间间隔。由于指数分布可用于表示独立事件的时间间隔概率分布, 因此内容基于时间的请求概率服从参数λ=1的指数分布, 如图 3中实线所示。

Download:
图 3 内容基于时间的请求概率 Fig. 3 Request probability of content based on time

内容基于时间的请求概率Ptrnor计算公式如下:

$ P_{{\rm{tr}}}^{{\rm{nor}}} = {{\rm{e}}^{ - \Delta t}},\Delta t \ge 0 $ (3)

值得注意的是, 某内容的请求概率P应为用户对此内容请求概率Preq与该时刻所产生基于时间的请求概率Ptr之积, 即P=Preq·Ptr

网络中常会出现Δt较大的内容突然被用户多次请求的情况, 例如当事故发生时, 用户会频繁请求以往时间段内容来查明事故发生原因。在这种有突发流量的情况下, 以往时间段内容成为用户请求频繁的内容。当u时刻所产生内容i被请求的次数Ru大于ϕ时, 则认为内容i在当前有较高请求概率, ϕ为内容i全部请求数目之和的一半, 即φ=1/2·ni。因为正态分布可以用来描述随机变量的概率分布, 所以在(u-a, u+a)时间段内, 本文假设内容请求概率的突增情况服从均值为u、方差为1的正态分布, 表达式为:

$ P_u^\prime = \frac{b}{{\sqrt {2\pi } }} \cdot {{\rm{e}}^{ - \frac{{{{(\Delta t - \mu )}^2}}}{2}}} $ (4)

假设ab分别是用于确定时间范围和调整正态分布幅度的参数, 则(u-a, u+a)时间段内容的请求概率为:

$ P_{{\rm{tr}}}^{\prime \prime } = {{\rm{e}}^{ - \Delta t}} + \frac{b}{{\sqrt {2\pi } }} \cdot {{\rm{e}}^{ - \frac{{{{(\Delta t - u)}^2}}}{2}}} $ (5)

Ruφ, 则表明有突发流量的情况发生, 此时内容基于时间的请求概率Ptrsud图 3中虚线所示。内容i在不同时刻所产生的内容请求概率为:

$ P_{{\rm{tr}}}^{{\rm{sud}}} = \left\{ {\begin{array}{*{20}{l}} {{{\rm{e}}^{ - \Delta t}},0 \le \Delta t \le u - a}\\ {{{\rm{e}}^{ - \Delta t}} + \frac{b}{{\sqrt {2\pi } }} \cdot {{\rm{e}}^{ - \frac{{{{(\Delta t - u)}^2}}}{2}}},u - a < \Delta t \le u + a}\\ {{{\rm{e}}^{ - \Delta t}},u + a < \Delta t} \end{array}} \right. $ (6)

当数据包到达路由器时, 若缓存空间未满, 则直接缓存到达内容; 否则路由器将CS表中缓存内容与到达内容进行名称匹配。若匹配成功, 则按式(6)计算到达内容的请求概率以及与到达内容同名的缓存内容请求概率。若到达内容的请求概率大于所缓存内容的请求概率, 则用到达内容替换缓存内容; 否则不缓存此到达内容。

1.3 基于服务器预测的相似字段创建

节点根据上述缓存策略对数据进行缓存, 这可能导致节点缓存同一内容的多个版本数据, 因此本文使用时间戳匹配方式使节点返回合适版本的数据以满足用户要求。同时, 本文通过相似时间戳匹配来高效快速地响应用户关于未来时刻数据的请求, 下文将详细阐述相似时间戳的产生过程。

在物联网中, 用户有时会对未来某一时刻的内容进行请求, 例如在天气预报中, 用户对未来温度信息进行频繁请求。由于网络中路由器无法响应此类请求, 会将请求发送到服务器, 而服务器没有此内容在该时刻产生的数据, 因此会出现请求失败。对于这类请求, DCI2CS方案在服务器处利用内容以往时刻数据值对内容未来时刻数据值进行预测, 并在路由器CS表处添加相似时间戳字段。当收到这类请求时, 路由器将匹配相似时间戳并返回相应数据给用户, 从而减少发送到服务器的请求次数。

1.3.1 服务器预测

物联网中同一内容不同时刻产生的数据之间有一定关联性, 通过这些数据可对未来相应时刻数据信息进行预测。由于灰色预测可通过已有数据寻找系统变化规律, 从而预测数据未来发展状况, 因此本文通过建立灰色预测模型GM(1, 1)预测内容在未来时刻产生的数据。

在服务器内, 将内容i产生的前n个数据值按时间戳由小到大排序得到初始数据集合, 其中,x(0)(1)表示产生时间最长的数据值, x(0)(n)表示产生时间最短的数据值, 表达式如下:

$ {x^{(0)}} = ({x^{(0)}}(1),{x^{(0)}}(2), \cdots ,{x^{(0)}}(n)) $ (7)

x(1)(k)=$\sum\limits_{i=1}^{k}$x(0)(i), 其中k=1, 2, …, n, 则初始数据集合x(0)的1次累加生成数列x(1)表达式为:

$ {x^{(1)}} = ({x^{(1)}}(1),{x^{(1)}}(2), \cdots ,{x^{(1)}}(n)) $ (8)

当已知x(1)时, 令x(0)(k)=x(1)(k)-x(1)(k-1), 其中k=2, 3, …, n, 则称所得数列x(0)x(1)的1次累减生成数列。

x(1)的加权均值, 得到z(1)(k)=α·x(1)(k)+(1-αx(1)(k-1), 其中, k=2, 3, …, n, α=0.5, 则有:

$ {z^{(1)}} = ({z^{(1)}}(2),{z^{(1)}}(3), \cdots ,{z^{(1)}}(n)) $ (9)

GM(1, 1)的微分模型表达式为:

$ \frac{{{\rm{d}}{x^{(1)}}}}{{{\rm{d}}t}} + m{x^{(1)}} = n $ (10)

其中, m为发展系数,n为灰作用量。

由于x(1)(k)-x(1)(k-1)=x(0)(k), 取x(0)(k)为灰导数, z(1)(k)为背景值, 因此由式(10)得到相应灰微分方程为:

$ {x^{(0)}}(k) + m \cdot {z^{(1)}}(k) = n,k = 2,3, \cdots ,n $ (11)

其矩阵形式为:

$ {\mathit{\boldsymbol{Y}} = \mathit{\boldsymbol{B}}{{(m,n)}^{\rm{T}}}} $ (12)
$ {\mathit{\boldsymbol{Y}} = ({x^{(0)}}(2),{x^{(0)}}(3), \cdots ,{x^{(0)}}(n))} $ (13)
$ {\mathit{\boldsymbol{B}} = {{\left[ {\begin{array}{*{20}{c}} { - {z^{(1)}}(2)}&{ - {z^{(1)}}(3)}& \cdots &{ - {z^{(1)}}(n)}\\ 1&1& \cdots &1 \end{array}} \right]}^{\rm{T}}}} $ (14)

用最小二乘法计算得到系数mn的估计值为:

$ {(\hat m,\hat n)^{\rm{T}}} = {({\mathit{\boldsymbol{B}}^{\rm{T}}}\mathit{\boldsymbol{B}})^{ - 1}}{\mathit{\boldsymbol{B}}^{\rm{T}}}\mathit{\boldsymbol{Y}} $ (15)

灰微分方程的解为:

$ {\hat x^{(1)}}(k + 1) = \left( {{x^{(0)}}(1) - \frac{n}{m}} \right) \cdot {{\rm{e}}^{ - mk}} + \frac{n}{m} $ (16)

通过1次累减得出内容i在未来固定时刻数据值为:

$ \begin{array}{*{20}{l}} {{{\hat x}^{(0)}}(k + 1) = {{\hat x}^{(1)}}(k + 1) - {{\hat x}^{(1)}}(k) = }\\ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \left( {{x^{(0)}}(1) - \frac{n}{m}} \right) \cdot ({{\rm{e}}^{ - mk}} - {{\rm{e}}^{ - m( - k - 1)}})} \end{array} $ (17)

采用相对误差大小检验法可检验灰色预测模型精确度, 该方法将实际值与预测值比较, 观察相对误差是否满足实际要求。

设建模所用实际数据为:X(0)=(x(0)(1), x(0)(2), …, x(0)(n)), 按照GM(1, 1)模型计算得到$\hat{X}$(1)=($\hat{x}$(1)(1), $\hat{x}$(1)(2), …, $\hat{x}$(1)(n)), 并将$\hat{X}$(1)转化为1次累减生成数列$\hat{X}$(0), 即实际数据预测值为:$\hat{X}$(0)=($\hat{x}$(0)(1), $\hat{x}$(0)(2), …, $\hat{x}$(0)(n))。

计算得到残差序列为:

$ {E = (e(1),e(2), \cdots ,e(n)) = {X^{(0)}} - {{\hat X}^{(0)}}} $ (18)
$ {e(i) = {x^{(0)}}(i) - {{\hat x}^{(0)}}(i),i = 1,2, \cdots ,n} $ (19)

计算实际数据与预测数据之间的相对误差为:

$ \varepsilon (i) = \frac{{e(i)}}{{{x^{(0)}}(i)}} \times 100\% = \frac{{x(i) - \hat x(i)}}{{{x^{(0)}}(i)}} \times 100\% $ (20)

其中, ε(i)=$\frac{e(i)}{x^{(0)}(i)}$×100%为原点误差, $\hat{\varepsilon}=\frac{1}{n} \sum\limits_{i=1}^{n}|\varepsilon(i)|$为GM(1, 1)模型平均相对误差, p°=(1-ε)×100%为GM(1, 1)模型精度, 通常要求p°>80%。

1.3.2 相似度计算

当预测到内容在未来时刻产生的数据值后, 可计算内容在以往时刻与未来时刻所产生数据值的相似度。以往时刻数据值与所预测未来时刻数据值之间的差异可用欧几里得距离公式计算。n维空间欧几里得距离公式为D(x, y)=$\sqrt{\sum\limits_{i=1}^{n}\left(x_{i}-y_{i}\right)^{2}}$, 由于本文方案仅对比同一内容不同版本的数据值差异, 为一维空间, 因此以往时刻数据值与所预测未来时刻数据值之间差异的计算公式为:

$ D({x_p},{x_f}) = \sqrt {{{({x_p} - {x_f})}^2}} $ (21)

其中, xp为以往时刻产生的数据值, xf为预测的未来时刻产生的数据值。

内容在以往时刻与未来时刻所产生数据值的相似度为:

$ {\rho _{p,f}} = \frac{1}{{1 + D({x_p},{x_f})}} $ (22)

ρp, f大于相似度阈值时, 内容在以往时刻与未来时刻产生的数据值相似。如果内容在未来时刻产生的数据值与多个以往时刻产生的数据值相似, 则认为相似度最大的以往时刻Tpast所产生数据值与未来时刻Tfuture产生的数据值相似。

1.3.3 CS表更新

图 4为CS表中相似字段的添加过程, 其中数据包内相似时间戳字段是与此数据包所携带数据相似的未来时刻内容时间戳。本文方案在路由器的内容缓存CS表中加入相似时间戳字段, 若路由器决定缓存收到的数据包, 则根据数据包内信息创建相应CS表条目。若预测的未来时刻已到达, 则相应条目中的相似时间戳字段为0。

Download:
图 4 CS表中相似字段的添加过程 Fig. 4 Process of adding similar fields in the CS data table

当请求内容与同名缓存内容的Tabsi不小于时间戳阈值时, 路由器将请求内容时间戳与CS表中同名内容相似时间戳进行匹配。若匹配成功, 则将与请求内容相似的缓存内容返回给用户; 否则将请求转发到下一个节点。

2 仿真与结果分析 2.1 参数设置

本文方案使用MATLAB软件平台进行仿真验证, 并在GEANT拓扑中进行应用, GEANT拓扑结构如图 5所示。在该拓扑中, 各节点均具有缓存功能并与用户连接, 数据的内容源均匀分布于节点之间。在每个节点处, 数据的请求到达速率服从齐夫(Zipf)分布, 兴趣包到达速率为1 000 packet/s, 数据种类为10 000。将本文DCI2CS方案和NDN-TTL、NDN-PET、PCC方案[19]的缓存性能进行对比。在DCI2CS方案中, 根据文献[20]预测出内容在下一阶段的流行度, 用户根据所预测内容流行度请求未来时刻数据值, 时间戳阈值为15 s, 相似度阈值为0.85。在式(6)中, ab分别设置为5和1。PCC方案的接入路由(Access Router, AR)注册周期和周期内使用频率最低(Period Least Frequently Used, P-LFU)表更新周期均设置为50 s。PCC方案与NDN-TTL方案中TTL值设置为15 s。

Download:
图 5 GEANT拓扑结构 Fig. 5 GEANT topology structure

本文方案目标是提升缓存命中率与减少用户获取内容的时延, 此外, 由于加入时间戳能使用户得到更准确数据, 因此将缓存命中率、平均跳数以及信息准确率作为方案性能评价指标。其中, 缓存命中率为命中路由器中内容名的平均概率, 平均跳数为用户到缓存命中路由器或内容源所在路由器经过的路由器数量, 信息准确率为用户所收到数据的准确率, 即用户收到正确数据数量与其所收数据总数量的比值。由于NDN-PET、PCC、NDN-TTL等方案总是返回给用户最新版本内容数据, 因此本文根据帕累托法则[21]假设有80%的用户一直请求最新版本内容数据, 20%的用户请求以往版本内容数据或者未来版本内容数据。实验共轮询100次, 缓存命中率、平均跳数和信息准确率取100次测试结果的平均值。

2.2 结果分析

缓存容量比是缓存容量与内容数量的比值。在本文仿真实验中由于内容数量不变, 因此若缓存容量比变大, 则缓存容量增大。为研究缓存容量比对DCI2CS方案和NDN-PET、PCC、NDN-TTL等缓存方案性能的影响, 本文对比了上述方案在不同缓存容量比下缓存命中率、平均跳数以及信息准确率的变化情况。图 6为缓存容量比对4种方案缓存命中率的影响。可以看出, 随着缓存容量比的增加, 4种方案的缓存命中率均提高, 这是因为缓存容量比增加后能缓存更多数据, 所以提高缓存命中率。DCI2CS方案的缓存命中率高于其他3种方案, 原因在于DCI2CS方案能使缓存空间存储用户请求更频繁的内容, 且当用户发送对未来时刻数据的请求时, DCI2CS方案中路由器通过服务器预测并找出与预测内容相似的缓存数据能满足用户请求, 从而使节点处命中率增加, 而其他方案中节点无法命中这些请求。

Download:
图 6 缓存容量比对4种方案缓存命中率的影响 Fig. 6 Impact of cache capacity ratio on cache hit rate of four schemes

图 7为缓存容量比对4种方案平均跳数的影响。可以看出, 随着缓存容量比增加, 4种方案的平均跳数均减少, 这是因为缓存容量比增加后节点的缓存命中率提高, 有更多请求在中间路由器处被命中, 避免将请求发送到内容源处, 所以数据返回所需平均跳数减少。DCI2CS方案的平均跳数少于其他3种方案, 原因在于DCI2CS方案的缓存命中率较高, 能有效减少请求的路由跳数, 而其他3种方案中路由器在收到请求时会与内容源进行信息交互, 从而产生大量时延, 造成用户等待时延过长。

Download:
图 7 缓存容量比对4种方案平均跳数的影响 Fig. 7 Impact of cache capacity ratio on average number of hops of four schemes

图 8为缓存容量比对4种方案信息准确率的影响。可以看出, DCI2CS方案的信息准确率明显高于其他3种方案, 原因在于DCI2CS方案加入时间戳, 能将用户对内容产生的时间要求明确化, 确保命中的内容满足用户要求, 而其他3种方案仅简单返回给用户最新产生的数据, 不能满足用户对以往数据的请求。

Download:
图 8 缓存容量比对4种方案信息准确率的影响 Fig. 8 Impact of cache capacity ratio on information accuracy rate of four schemes

在式(20)中代入10组数据计算得到相对误差, 并计算本文灰色预测模型的精度p°, 每组数据数量为10, 所得结果如表 1所示。可见由不同组数据得到的灰色预测模型精度均大于95%, 由此可知该模型所得预测值具备一定的准确性。

下载CSV 表 1 不同数据组所得灰色预测模型的精度 Table 1 Accuracy of grey prediction model obtained from different data groups 
3 结束语

本文将ICN思想应用于物联网, 提出基于数据新鲜度的ICN-IoT缓存方案。采用时间戳匹配方式满足用户对数据所产生时间的要求,使节点通过服务器预测并找出与预测内容相似的缓存内容, 以满足用户对未来时刻所产生内容的请求, 同时路由器基于内容流行度和时间请求概率结合的缓存策略对数据包做出缓存决策。仿真结果显示, 与NDN-PET、NDN-TTL、PCC等缓存方案相比, 该方案具有更高的缓存命中率、信息准确率以及更低的平均跳数, 可满足物联网用户对数据在时间维度上的较高要求。未来将通过ndnSIM仿真平台验证本文方案的有效性, 并考虑物联网数据特征对缓存决策的影响, 以提升ICN-IoT网络缓存效率。

参考文献
[1]
SUN Yuanfang, DUAN Cuihua, ZHANG Peiying. Big data driven future networks:architecture and application scenarios[J]. Journal of China Academy of Electronics and Information Technology, 2017, 12(5): 25-30. (in Chinese)
孙远芳, 段翠华, 张培颖. 大数据驱动的未来网络:体系架构与应用场景[J]. 中国电子科学研究院学报, 2017, 12(5): 25-30.
[2]
SEETHARAM A. On caching and routing in information-centric networks[J]. IEEE Communications Magazine, 2018, 56(3): 204-209. DOI:10.1109/MCOM.2017.1700184
[3]
KRISHNA M B.User-centric and information-centric networking and services: access networks, storage and cloud perspective[EB/OL].[2019-09-15].https://www.routledge.com/User-Centric-and-Information-Centric-Networking-and-Services-Access-Networks/Krishna/p/book/9781138633322.
[4]
LEI Kai. Information-centric networking and named-data networking[M]. Beijing: Peking University Press, 2015. (in Chinese)
雷凯. 信息中心网络与命名数据网络[M]. 北京: 北京大学出版社, 2015.
[5]
DONG Lijun.User oriented IoT data discovery and retrieval in ICN networks[EB/OL].[2019-09-15].https://www.freepatentsonline.com/y2018/0069791.html.
[6]
ZHANG Qingyi, WANG Xingwei, HUANG Min, et al.Information-centric networking routing challenges and bio/ACO-inspired solution: a review[C]//Proceedings of 2018 International Conference on Swarm Intelligence.Berlin, Germany: Springer, 2018: 113-122.
[7]
ARSHAD S, AZAM M A, REHMANI M H, et al. Recent advances in Information-Centric Networking-based Internet of Things(ICN-IoT)[J]. IEEE Internet of Things Journal, 2019, 6(2): 2128-2158.
[8]
MARS D, METTALI G S, LAHMADI A, et al. Using information centric networking in Internet of Things:a survey[J]. Wireless Personal Communications, 2019, 105(1): 87-103. DOI:10.1007/s11277-018-6104-8
[9]
AMADEO M, CAMPOLO C, IERA A, et al.Named data networking for IoT: an architectural perspective[C]//Proceedings of 2014 European Conference on Networks and Communications.Washington D.C., USA: IEEE Press, 2014: 1-5.
[10]
YOKOTANI T.IoT use cases analysis and possibility of adopting ICN technologies for these loT use cases[C]//Proceedings of 2018 IEEE World Symposium on Communication Engineering.Washington D.C., USA: IEEE Press, 2018: 1-6.
[11]
MEDDEB M, DHRAIEF A, BELGHITH A, et al. Cache freshness in named data networking for the Internet of Things[J]. Computer Journal, 2018, 61(10): 1496-1511. DOI:10.1093/comjnl/bxy005
[12]
BACCELLI E, MEHLIS C, HAHM O, et al.Information centric networking in the IoT[C]//Proceedings of the 1st International Conference on Information-Centric Networking.New York, USA: ACM Press, 2014: 77-86.
[13]
MEDDEB M, DHRAIEF A, BELGHITH A, et al.How to cache in ICN-based IoT environments?[C]//Proceedings of 2017 IEEE International Conference on Computer Systems and Applications.Washington D.C., USA: IEEE Press, 2017: 1117-1124.
[14]
QUEVEDO J, CORUJO D, AGUIAR R.Consumer driven information freshness approach for content centric networking[C]//Proceedings of 2014 IEEE Conference on Computer Communications Workshops.Washington D.C., USA: IEEE Press, 2014: 482-487.
[15]
ZHANG Z, LUNG C H, LAMBADARIS I, et al.IoT data lifetime-based cooperative caching scheme for ICN-IoT networks[C]//Proceedings of 2018 IEEE International Conference on Communications.Washington D.C., USA: IEEE Press, 2018: 1-7.
[16]
HAIL M A M, AMADEO M, MOLINARO A, et al.On the performance of caching and forwarding in information-centric networking for the IoT[C]//Proceedings of the 13th International Conference on Wired and Wireless Internet Communications.Berlin, Germany: Springer, 2015: 313-326.
[17]
BACCELLI E, HAHM O, GUNES M, et al.RIOT OS: towards an OS for the Internet of Things[C]//Proceedings of 2013 IEEE Conference on Computer Communications Workshops.Washington D.C., USA: IEEE Press, 2013: 79-80.
[18]
VURAL S, NAVARATNAM P, WANG N, et al.In-network caching of Internet of Things data[C]//Proceedings of 2014 IEEE International Conference on Communications.Washington D.C., USA: IEEE Press, 2014: 3185-3190.
[19]
FENG Bohao, ZHOU Huachun, ZHANG Hongke, et al.A popularity-based cache consistency mechanism for information-centric networking[C]//Proceedings of 2016 IEEE Global Communications Conference.Washington D.C., USA: IEEE Press, 2016: 1-6.
[20]
TANG Hong, HAN Jian, DUAN Jie, et al. Mobile CCN cache strategy based on content popularity[J]. Journal of Chongqing University of Posts and Telecommunications(Natural Science Edition), 2018, 30(1): 119-126. (in Chinese)
唐红, 韩健, 段洁, 等. 基于内容流行度的移动CCN缓存策略研究[J]. 重庆邮电大学学报(自然科学版), 2018, 30(1): 119-126.
[21]
ARNOLD B C.Pareto and generalized pareto distributions[EB/OL].[2019-09-15].https://www.researchgate.net/publication/226481948_Pareto_and_Generalized_Pareto_Distributions.