【Gang Yi’s Notes】Low-power Internet of Things with NDN & Cooperative Caching

2017-11-11

Posted by 易港

这篇文章提出了一种基于ICN的解决IOT网络能效问题的方案。

 

背景介绍

在IOT中energy effciency and memory effciency十分重要。而RAM由于其价格高、能耗大,所以我们需要减少RAM的数目或者减少他的使用时间。

 

解决能量消耗问题的方法一般都是如下几个方面的组合(在IP下)

1.超低能耗硬件

2.MAC层的无线电轮转-减少空闲侦听     RDC

3.减少闲谈(无用的通信)的网络层协议避免进行广播和多播通信,如6lowpan

4.缓存的中心化,存储到云端或代理服务器

 

存在的问题

1.大规模场景下不适用,因为时延增长以及网络流控制规模大幅度增加,虽然已经有人提出方法解决,但是都没能够具体实现

2.在大部分场景下与云端或者代理服务器的连接是间歇性的,从而导致集中化缓存失败。

 

 

由于ICN可以很方便的管理IOT producer附近的分布式cache,所以可以让更多的node处于休眠状态。(为什么?

ICN自身分布式缓存相对于以前的集中缓存具有优势

本文的contribution:

 

1.提出coca协议,使分布式合作缓存变为可能

2.在提出的协议NDN+COCA进行了大规模的实际实验,实际实验中200个节点,模拟实验中1000个节点

3.得出在利用内容名字以及休眠和NDN的缓存能力这一系列特征下,我们可以做到缩减百分之90的能耗。

4.提出了一种自动配置策略,能够自动配置NDN网络参数,来进行能量下好的节省。

 

IOT介绍

一、IOT网络结构

这里考虑一种单独的无线广播域,存在一个uplink,以及多个IOT设备,设备之间的连接速度慢,当uplink开启时,可以向各个节点广播兴趣包获得数据,如果节点没有休眠,就可以将数据返回给uplink。

uplink

二、 IOT硬件设备

 

这里设备的内存都非常小(kb),具有超低功耗的CPU。存在两种模式,休眠模式和运行模式。

休眠模式中,所有的广播器件和CPU都处于休眠状态,通过一个外置的中断进行激活,例如通过传感器检测温度超过一个阈值等。

运行模式中,CPU和广播期间都运行,进行数据的监听和上传。注意在运行模式中也有可能使用RDC(轮班)机制进一步节省能量。

 

三、IOT逻辑结构

ICN-IOT logical

每个node连接多个sensor,sensor是数据源。。

由于不同node cache大小不同所以采用一种Cooperative Caching Side-Protocol的方式共享cache。

COCA: 通过link-local将新内容广播,active的节点收到不转发,根据cache策略决定是否cache。

 

 

可用性和能量权衡

这一部分主要讲NDN+COCA能够带来的提升。主要的性能度量有三个,

1.数据的多样性,sources产生的所有数据是否能够被uplink检索到

2.数据的新鲜度,即数据的时效性。

3.能量消耗,通过测量节点在休眠模式和活跃模式对应的消耗。E=∑statePstate·tstate

实现方面:为了实现COCA,对原有的NDN机制进行了微量添加

1.一个描述缓存存放以及替换策略的函数2.一个预处理兴趣包的函数3一个netapi用来修改PIT,在节点进入到休眠模式前。

 

试验中涉及到的策略:

随机缓存:每个活跃节点以一定概率缓存新内容。

替换策略: LRU,MDMR(Max Diversity Most Recent)(首先替换同样生产者这种较老的,再替换其他生产者中最老的,最后如果每一个生产者只有一个数据,就替换所有生产者中最老的。)

 

 

与IP网络比较

COCA也可以用在IP网络中,那么为什么用在NDN上相比IP有什么优势呢?

NDN+CoCa offers the key advantage of being able to reuse caching capabilities built in the (NDN) network stack. In comparison, an IP stack does not provide built-in caching capabilities, but still uses a large part of the RAM on low-end IoT devices (almost all of it, e.g. on IoT devices with 16kB of RAM or less).

意思大概就是NDN比IP RAM用得少。(emmmm)

IP协议栈所占内存较大

 

自动配置参数机制

.名字自动配置机制

要求:意义明显,独一无二。这里使用了两个API获取CPU硬件,以及所有连接的传感器的名字和类型,并加之以地理位置和一些组织特性来进行命名。

2.睡眠概率自动配置机制

通过n重伯努利实验,分别推导随机缓存和MDMR缓存下的数据获得期望来进行对比。并在下一部分通过实验证明,实际的数据可获得性与推导获得的期望值是相一致的。