时间:2024-07-28
段 洁 胡显静 林 欢 李郑伟 邹亚琴
①(重庆邮电大学通信与信息工程学院 重庆 400065)
②(重庆市光通信与网络高校重点实验室 重庆 400065)
随着互联网应用的快速发展,网络中流量激增,面对海量的数据传输,TCP/IP的通信模式逐渐显露出诸多问题,比如IP地址短缺、网络安全和移动支持等。为了更好地完成数据的高速传输,研究者提出以内容为中心的新型网络体系架构—信息中心网络(Information-Centric Networking,ICN)[1–3]。ICN被认为是未来网络中最有前景的架构之一,它将当前端到端的通信模式转变为基于命名内容对象的通信模式,满足了当前互联网应用中日趋增长的内容获取和分发的需求[4]。ICN的命名机制、网内缓存、基于名称的路由等特征不仅可以加快网络数据的分发,还可以减少数据获取时延,提升网络性能[5]。
物联网(Internet of Things,IoT)[6–8]是利用传感器设备和移动网络实现人与物、物与物之间的信息交互,从而达到对现实世界物体的智能化识别、跟踪定位和管理控制等目的。物联网应用本质上是以内容为中心的,它们关注数据本身,而不是数据存储在哪里,因此ICN的产生正好满足了物联网大量信息传输的需求[9]。基于此,有学者提出将ICN思想应用到IoT中,利用ICN-IoT架构的分布式缓存缓解物联网中海量数据的传输压力。文献[10]提出一种基于命名数据网络(Named Data Networking,NDN)的物联网架构,该NDN-IoT体系结构由应用层、NDN层和事物层组成。文献[11]讨论了将ICN和软件定义网络应用到IoT架构的部署方案,以提高网络性能。在ICN-IoT中,缓存以高效的方式向边缘设备快速分发信息,并将接收者和原始生产者分离,以改善移动性、安全性和扩展性差的问题,提高设备能源效率[12]。然而,要设计ICN-IoT缓存,缓存策略必须考虑缓存内容的一些特征,因此物联网的环境为缓存策略的设计带来了一定的限制与难度。
网内缓存使得用户可以在临近的路由器上获得内容,降低内容提供方的压力,大幅提升网络使用效率,因此路由器对缓存内容的选择以及返回给用户的内容选择显得至关重要。文献[13]将现有的ICN缓存策略应用在ICN-IoT网络中,结果表明消费者缓存决策和随机替换策略的组合在IoT环境中拥有较好的网络性能。为了获得更好的缓存效率,有学者认为需要针对物联网数据特征设计ICN缓存策略。文献[14,15]考虑物联网对数据新鲜度的要求,分别提出一种以消费者驱动的新鲜度缓存方案和基于物联网数据新鲜度的缓存方案。前者用户在兴趣包中指定其所需内容的新鲜度要求,然后内容存储库根据当前缓存内容的时间戳确定所存储的副本是否满足用户所需的新鲜度;后者在兴趣包和数据包中加入时间戳,将用户的请求精确到时间维度上,以提高用户获取信息的准确度。然而,这两种方案只从新鲜度单一维度上实现缓存配置,并不适用于物联网中的所有数据,使得缓存效率低。文献[16]针对物联网环境提出一种概率缓存方案,缓存决策基于数据新鲜度、设备能量和存储能力来动态调整每个节点的缓存概率,以降低获取物联网数据延迟,但该方案仅考虑了数据新鲜度特征。此外,文献[17]提出一种IoTCache方案,该方案基于预测的内容流行度来预取和驱逐内容,可以显著地提高缓存命中率,但缺点是只分析了数据流行度特征,未充分考虑物联网数据的其他特征。总体而言,上述这些方案多直接将ICN缓存机制应用于IoT或只考虑物联网数据单一的特征,使节点只能缓存满足这一类特征的数据,无法及时满足用户对于其他特征数据的需求,导致节点的缓存命中率低,影响网络性能。
因此,ICN-IoT的缓存策略应充分考虑物联网数据的特征,以获得较高的缓存效益。本文在文献[15]的基础之上,综合考虑物联网数据特征且提出相应的缓存方案。首先分析物联网数据特征以及流量模型,将数据分为周期性数据和事件触发性数据。然后提出一种综合考虑物联网数据特征且具有不同缓存决策的ICN-IoT缓存方案(ICN Caching Strategy for Data Characteristics of IoT,CS-DCI)。最后详细介绍周期性数据和事件触发性数据的缓存策略,基于周期性数据的缓存策略(Caching Strategy based on Periodic Data,CS-PD)根据内容流行度和时间请求概率对内容进行缓存决策;基于事件触发性数据的缓存策略(Caching Strategy based on Event-Triggered Data,CS-ETD)根据内容流行度和事件触发频率对内容进行缓存决策。
物联网旨在将每台设备与互联网连接起来,以便可以在任何时间、任何地点、通过任何路径访问这些设备。物联网可以为智能冰箱、智能手机和智能车辆等物体赋能,这些智能对象与互联网的连接实现了许多有价值的应用。然而,当数十亿台这样的设备连接到互联网时,产生的数据将是海量和多态的,并且这些物联网数据之间有着千丝万缕的关系。
根据上述物联网数据的特点和文献[18],物联网流量按照传输方式通常分为4类:连续性流量、周期性流量、事件触发性流量和请求响应性流量。如表1所示,连续性流量是指数据可以像视频流一样以连续的方式传输,例如视频监控服务一直持续产生数据;周期性流量是指传感器设备在每个固定的时间段发送数据,例如温度传感器在每个时间段将记录一个新值;事件触发性流量是指当有新事件发生时,传感器就更新数据,例如紧急报警服务触发时将更新数据值;请求响应性流量是指用户直接发送请求以获得传感器的当前值,例如移动支付服务。连续性流量和周期性流量的产生与时间有关,服务对准确性和优先级要求低;事件触发性流量和请求响应性流量的产生与事件的发生或用户行为有关,与时间无关,服务对准确性要求高,但前者对优先级要求高而后者则不做要求。此外,连续性流量具有短周期性,可以视为周期很短的周期性数据,而请求响应性流量可以视为以用户的请求为事件驱动的事件触发性数据。因此,把物联网数据分类为周期性数据和事件触发性数据。
表1 物联网流量特征
在物联网中,这两类数据是同时存在的,如果只使用符合一类数据特征的缓存方案去缓存物联网数据,则会使节点的缓存内容单一,且不能达到很高的缓存命中率。因此,考虑到物联网中数据特征的不同,本文提出面向物联网数据特征的缓存方案,使节点能够根据数据的特征调用不同的缓存决策进行缓存,缓存决策分别设计为基于周期性数据的缓存策略和基于事件触发性数据的缓存策略。
在真实的网络场景中,周期性数据和事件触发性数据是同时存在的,节点不能自主地分辨出到达的数据具体属于哪一类。因此,本文提出面向物联网数据特征的缓存方案,使节点能够根据到达数据的类型调用不同的缓存决策,缓存替换策略选择最近最少使用(Least Recently Used,LRU)替换策略。
为了能让节点分辨到达数据的类型,方案在数据包中加入新的字段,如图1所示。因为服务器知道数据的类型,所以在返回的数据包中,加入能让节点识别数据包所携带数据类型的字段,即标志(Flag)字段(记为F)和属性(Attribute)字段。标志字段用于标志所携带的数据类别,属性字段则根据数据类型的不同,记录不同的信息。当标志字段为01时,所携带的数据为周期性数据,属性字段记录周期性数据的信息;当标志字段为10时,所携带的数据为事件触发性数据,属性字段记录事件触发性数据的信息。此外,内容存储(Content Store,CS)也加入Flag字段和Attribute字段,若要缓存到达的数据,则将数据包中的相应字段的内容添加到CS表的相应位置上。
图1 CS-DCI策略中数据包的数据结构
如图2中的流程图所示,当数据包到达路由器R2时,路由器提取数据包的Flag字段,判断数据包中所携带数据的类型,做出缓存判决。若Flag字段为01,执行CS-PD缓存决策,即基于内容流行度和时间请求概率缓存用户请求最多的数据;否则,执行CS-ETD缓存决策,即基于内容流行度和事件触发频率缓存有意义的数据。例如,图2中到达的数据包Name1的Flag字段为01,路由器R2执行CSPD,数据包Name2的Flag字段为10,路由器R2执行CS-ETD,然后路由器R2使用缓存策略后决定缓存到达的数据,因此数据包Name1和Name2的相应字段将添加到CS表中的相应位置。同理,数据包Name3的Flag字段为01,路由器R2执行CS-PD,然而由于路由器R2使用缓存策略后决定不缓存数据包Name3,因此Name3的相应字段将不会添加到CS表中。在后面章节,将分别针对周期性数据和事件触发性数据设计相应的缓存策略,以使路由器根据数据的类型执行相应的缓存策略。
图2 面向物联网数据特征的缓存方案示意图
3.2.1时间戳匹配
在物联网中,周期性数据在一定周期内会随着时间的变化更新数据,因此相同应用在不同时刻产生的数据有着关联性。现有的ICN缓存机制中,节点收到携带有最新消息的数据包时,通过简单地名称匹配就认为缓存中已存储的数据包与收到的数据包相同,从而拒绝更新陈旧的数据包,该节点收到后续请求时,将缓存中已有的旧数据返回给用户,导致用户得到错误的内容。为了精确地返回用户对数据的要求,参照文献[15]在兴趣包和数据包中加入时间戳(timestamp)字段,分别表示用户对请求内容的产生时间要求和所携带内容的产生时间,同时在CS表中加入相似时间戳(similar timestamp)字段来返回用户对于未来时刻产生的内容请求,如图3所示。
图3 CS-PD策略中兴趣包、CS及数据包的数据结构
当包含有时间戳的兴趣包到达时,路由器通过匹配请求内容与缓存内容的名称查看是否缓存有请求内容。如果匹配成功,则进行时间戳匹配查看缓存内容是否满足用户的请求。如图4所示,时间戳匹配是根据请求内容的时间戳与CS表中相似时间戳进行匹配,将匹配到的对应缓存内容返回给用户;否则将兴趣包转发给服务器,如果在服务器中仍未匹配到满足用户要求的内容,则向用户宣告请求失败。
图4 兴趣包到达节点时处理流程图
在周期性数据中,未来时刻产生的数据与过去时刻产生的数据有着相似性,因此让服务器利用以往时刻的数据预测未来时刻的数据值,并将与缓存内容相似的时间戳记录在CS表的相似时间戳字段,则可以减少兴趣包到达内容源的次数。灰色预测模型可以通过已有的数据来寻找系统变化的规律,从而预测数据未来发展趋势,所以本文参照文献[15]采用灰色预测模型来对内容未来时刻的数据值进行预测。
3.2.2缓存决策
在物联网中具有新鲜度机制的节点通常缓存最新的内容,它可以解决用户请求最新内容的问题。然而当用户请求历史内容时,新鲜度机制的缓存节点通常用较新的内容作为响应,从而导致用户满意度较低。因此,针对物联网中的周期性数据,考虑到缓存节点不仅缓存最近产生的内容,还缓存历史性内容,缓存策略将根据内容的流行度和时间请求概率对内容进行缓存决策,从而使路由器缓存满足用户要求的数据。如图5所示,当数据包到达路由器时,若缓存空间有剩余,则直接缓存;否则,将到达内容与缓存内容进行名称匹配,若匹配不成功,表示是新的内容,则进行新内容缓存决策,调用基于内容流行度的缓存策略,本节(1)将具体描述;否则,表示同名内容,则进行缓存内容更新,调用基于时间请求概率的缓存替换策略,本节(2)将具体描述。
图5 数据包到达时节点处理流程图
(1)新内容缓存决策。路由器的缓存空间是有限的,当缓存较流行的内容时,就能获得较高的缓存命中率。因此当新内容到达时,路由器会比较到达内容与缓存内容的流行度,如果到达内容更为流行,则用到达内容替换掉流行度最低的缓存内容。路由器会通过以下公式计算每项内容的流行度
当到达内容与缓存内容为同名内容时,路由器根据收到数据包的时间戳以及CS存储的同名内容的时间戳计算时间请求概率,再计算数据的请求概率,如果到达数据的请求概率较大就替换掉相同内容名下请求概率最小的缓存内容。
3.3.1事件触发频率预测
事件触发性数据的产生与时间无关,主要与事件的发生有关,事件发生会促使数据更新,因此数据的更新频率与事件触发的频率一致。比起周期性数据的特性,事件触发性数据的更新并不规律,即有可能某一内容在一段时间内并不会更新,所以周期性数据的缓存策略并不适合事件触发性数据。在事件触发性数据中,一部分事件频繁发生,导致数据频繁更新,这些数据时效性较短;另一部分事件发生频率较慢,这些数据时效性较长,当这类数据流行时将具有缓存意义。因此,缓存策略根据内容的流行度和事件触发频率对内容进行缓存决策。
图6 时间请求概率
事件的触发频率会影响数据的更新,从而决定数据是否具有缓存意义。因此在服务器处对数据的事件发生频率进行预测。事件在服务器处被触发1次,数据就更新1次,服务器对每次事件的触发都有记录。根据这些记录,服务器对每个时间段的事件触发频率用F i,n表示,意味内容i在 第n个单位时间事件触发的次数。为了判断这一数据是否频繁更新,本文使用自回归滑动平均模型(Auto-Regressive Moving Average model,ARMA)根据服务器所记录的频率来预测下一时间段数据更新的频率。因为ARMA是研究时间序列的重要方法,由自回归模型(Auto-Regressive model,AR)与滑动平均模型(Moving Average model,MA)为基础“混合”而成,具有适用范围广、预测误差小的特点。ARMA(p,q)方程为
此外,为了使接收到数据包的路由器根据内容的事件触发信息做出缓存判决,在数据包中加入了事件触发频率字段,用于记录所携带数据的事件触发频率,如图7所示。
图7 CS-ETD策略中数据包的数据结构
3.3.2缓存决策
缓存空间的有限性使缓存决策变得至关重要,只有当缓存的内容正好是用户或请求节点所需要的内容时,才能有较高的缓存命中率。路由器收到的兴趣包能够反映用户对内容的需求,可以通过接收到的兴趣包来计算内容的流行度。此外,因为每个路由器收到的兴趣包是不同的,所以在不同的路由器中相同内容的流行度是不同的。
为了评估本文所提面向物联网数据特征的缓存策略的性能,本文将采用ndnSIM仿真平台进行仿真,并利用Matlab对仿真数据进行处理。ndnSIM是NDN的一个NS-3仿真模块,使用单独的C++类来构造NDN各个网络层的行为,可以实现路由、数据缓存和数据包转发等功能。仿真实验拓扑图选用带有22个节点的GEANT拓扑,拓扑中的每个节点都具有缓存功能,内容源均匀地分布在所有节点之间。网络中内容总数为10000个,大小设为10 kB。每个节点缓存容量相等,链路带宽100 Mbit/s。Fayazbakhsh等人[19]通过实验证明,不同地理位置的节点收到的内容请求概率接近Zipf分布,因此内容的请求概率P(r)为
其中,r为内容流行度从高到低的排名,φ为流行度参数,决定内容流行度变化的程度,φ值越大则越明显, C 为常数,Zipf分布φ的取值范围在0.5~1,内容请求到达服从λ=50个/s的泊松分布。基于时间请求概率公式中,b1设 为1,λ1和λ3设为1,λ2设为 ln 2;概率缓存公式中,p0设为0.2。仿真时间设置为200 s,初始节点缓存状态为空,缓存替换策略采用最近最少使用策略LRU。
为了评估策略的各项性能指标,本文选取处处缓存(Leave Copy Everywhere,LCE)和消费者驱动(Consumer Driven)[14]这两种缓存决策作为对比方案。仿真过程中,通过分别改变节点缓存容量和Zipf参数φ等网络参数的大小,来观察不同参数对网络性能的影响。本文将从内容差异率[20]、缓存命中率及内容获取跳数来验证CS-DCI缓存策略的有效性。内容差异率指节点所缓存的内容种类数与所有内容种类数的比值,内容差异率越大,说明相同缓存容量下节点缓存的内容种类越多,越能满足ICN-IoT不同应用的请求,所以能提高缓存的命中率;缓存命中率指通过节点满足的请求数量与节点所接收到的请求总数的比值,缓存命中率越高,内容源的负载就越小;内容获取跳数指用户到缓存命中的节点或内容源所经历跳数,跳数越少,用户等待时延越小。
图8是在不同缓存容量下各个网络性能的变化。缓存容量表示每个节点中存储的内容数量,当缓存容量较小时,缓存容量的增大能够使更多的内容请求在邻近节点中获得响应。以下的仿真结果中设置Zipf参数φ=0.8,将3种缓存机制的各项性能指标进行了对比。
图8(a)是内容差异率随缓存容量的变化。CSDCI内容差异率高于Consumer Driven和LCE方案,因为该策略根据物联网数据的多个特征来缓存用户更为需要的数据,从而使节点缓存的数据具有多样性;Consumer Driven机制只根据数据的新鲜度来进行缓存,数据越新鲜越容易被缓存,从而使节点缓存最新鲜的内容,而忽略用户对历史内容的请求;LCE缓存到达节点的每个内容,会使节点缓存很多重复的内容。因此,相较于这两种方案,CSDCI策略的内容差异率更高,随着缓存空间的增加,两种策略的内容差异率的差距更为明显。图8(b)是缓存命中率随缓存容量的变化。随着缓存容量的增大,节点缓存的内容逐渐增加,因此3种缓存方案的缓存命中率都呈上升趋势。在缓存空间较小时,LCE缓存每个内容,Consumer Driven只缓存最新的内容,CS-DCI方案根据流行度以及基于时间请求概率不仅缓存最新产生的内容,还缓存历史内容,因此该方案的缓存命中率明显高于其他两种缓存机制。随着缓存空间的增大,LCE和Consumer Driven有足够的容量缓存更多的内容,所以它们之间的缓存命中率差距逐渐缩小。图8(c)是用户获取内容跳数随缓存容量的变化。随着缓存容量的增大,跳数逐渐减小,其对应于缓存命中率的变化。缓存命中率越高,用户请求大多由节点响应,无需由内容源响应,从而减少用户获取内容的跳数。
图8 缓存容量比对网络性能的影响
图9是在不同Zipf参数下各个网络性能的变化。以下的仿真结果中设置缓存容量比为0.02,将3种缓存机制的各项性能指标进行了对比。
图9(a)是内容差异率随Zipf参数φ的变化。由于缓存容量是不变的,因此随着Zipf参数φ的增加,3种缓存机制的内容差异率几乎没有发生变化,但CS-DCI方案的内容差异率要一直高于其他两种方案。图9(b)是缓存命中率随Zipf参数φ的变化。由于Zipf参数越大表明用户对内容的偏好越集中于高流行度的内容,因此3种缓存机制的缓存命中率随着Zipf参数φ的增加而逐渐增加。其中,CS-DCI的缓存命中率相比其他两种机制依然有着明显的优势。图9(c)是用户获取内容跳数随Zipf参数φ的变化。随着Zipf参数φ的增加,跳数逐渐减小,这是由于随着缓存命中率的增加,用户的请求在节点得到响应的次数越多,从而减少了内容获取跳数。
图9 Zipf参数对网络性能的影响
本文在ICN-IoT架构中,通过分析物联网数据特征,将其分为周期性数据和事件触发性数据。接着根据分类结果提出一种综合考虑物联网数据特征且具有不同缓存决策的缓存方案,使路由器根据到达数据的特征类型执行相应的缓存决策。最后详细介绍两种数据类型的缓存策略,在基于周期性数据的缓存策略中,加入时间戳来精确返回用户的请求,并根据内容流行度以及时间请求概率对内容进行缓存;在基于事件触发性数据的缓存策略中,加入触发频率来反映数据时效性,并根据内容流行度以及数据更新的事件触发频率对内容进行缓存。仿真表明,该方案在内容差异率、缓存命中率以及内容获取跳数等方面有着明显的优势。由于在ICNIoT中缓存了海量的数据,将存在缓存隐私泄露问题,因此未来的研究工作将从缓存隐私安全等方面进行研究。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!