600 likes | 806 Views
5. 容错设计技术. 报告人:田素云. 2011. 10. 21. 提纲. 概述 故障模型 故障检测 故障修复 可靠性协议. 概述. 容错,翻译为“ fault-tolerant ”, 有“ 容故障 ”的含义 容错研究关注的领域 大规模集成电路 , 分布式系统 , 数据库 , 互联网 ,... 网络容错 网络中某个节点或节点的某个部件发生故障时,网络仍然能完成指定的工作。 无线传感器网络容错(因素) 自身容易发生故障 受到外界环境影响 WSNs 正常工作,更需要有效的容错设计来满足其可靠性要求。. 概述. 容错的基本概念
E N D
5 容错设计技术 报告人:田素云 2011. 10. 21
提纲 • 概述 • 故障模型 • 故障检测 • 故障修复 • 可靠性协议
概述 • 容错,翻译为“fault-tolerant”,有“容故障”的含义 • 容错研究关注的领域 • 大规模集成电路,分布式系统,数据库,互联网,... • 网络容错 • 网络中某个节点或节点的某个部件发生故障时,网络仍然能完成指定的工作。 • 无线传感器网络容错(因素) • 自身容易发生故障 • 受到外界环境影响 WSNs正常工作,更需要有效的容错设计来满足其可靠性要求。
概述 • 容错的基本概念 • 故障(fault),是指一个设备、元件或组件的一种物理状态,在此状态下它们不能按照所要求的方式工作。 • 差错(error),是指一个不正确的步骤、过程或结果。 • 失效(failure),是指某个设备中止了它完成所要求功能的能力。 • 三者的关系 • 故障只有在某些条件下才能在其输出端产生差错,这些差错由于在系统内部,不容易被观测到。 • 差错只有积累到一定程度或者在某些系统环境下,才能使系统失效。 • 故障和差错是面向制造与维修的;失效是面向用户的。
概述 最底层的故障,引起数据输出的差错,导致系统最后的失效,这种关系普遍存在。
容错的重要性 • WSNs对容错设计的新挑战 • 技术和实现因素 • 传感器节点通常需要直接暴露在环境中,更易受到物理、化学、生物等外力的破坏,所以自身可靠性差。 • 传感器节点体积小,能量、计算、存储、通信受限,分布式组网完成任务,本身就是一个挑战。 • 应用模式 • 无线传感器网络通常是运行在无人干预模式,它们需要具有更强的容错能力。 • 新兴的研究和工程领域 • 处理特定问题的最优方法还不明确,技术与预期应用在快速变化,所以容错处理难以预见。 • 与传统网络的差异 • 无线通信网络,以网络为中心,提供网络的互联、互通和互操作,为数据提供正确、可靠的传输。 • 无线传感器网络,以数据的采集、 数据的处理为中心(必要时,可以牺牲部分节点,保证完成任务)。
容错的重要性(续) • 面对挑战的期望 • 传感器网络的软、 硬件必须具有很强的容错性 ,以保证系统具有高可信性和高强壮性。 • 在网络节点的软、 硬件出现故障时 ,能够通过应用一定的容错技术使整个系统自动调整或自动重构,纠正错误,保证任务的正常执行。 • 无线传感器网络的容错算法不能过于复杂,同时还应当支持节能的特性;一般而言 ,要达到越好的容错性 ,将消耗越多的能量;,在设计无线传感器网络的容错算法时 ,还需要在这两者之间进行权衡。 • WSNs容错设计需要考虑三个方面 • 故障模型,故障检测,故障修复
提纲 • 概述 • 故障模型 • 故障检测 • 故障修复 • 可靠性协议
故障模型 • 故障分类 • 部件级 • 节点级 • 网络级 • 三者关系 • 网络包含节点 • 节点包含部件 • 层次关系决定了高层故障本质由低层故障所造成 表1 故障模型的层次
部件级模型 • 部件故障 • 传感、供电、通信等部件发生故障,测量值偏离了实际值。 • 传感器节点由计算、通信、存储、能量供应、传感等功能部件组成,每个部件都有可能发生故障。 • 处理器、存储器、通信部件的可靠性高,不易出错。 • 传感部件(感应器+模数转换ADC),低成本、能量受限、暴露在外界环境,易发生故障。 • 部件故障主要归于传感部件故障
部件级模型(续) • 部件故障分类 按测量值与实际值的差值的组成与成因,故障分为4类。 • 固定故障,感应器的读数一直为某个固定的值(通常大于或小于正常的感知范围,不能提供任何感知环境的信息)。 • 偏移故障,在真实值的基础上附加一个常量。 • 倍数故障,真实值被放大或缩小某个倍数 • 方差下降故障,使用时间过长,感应器老化后变得越来越不精确而产生的。 注:没有对测量值的先验知识,仅以结果不能分辨出偏移故障与倍数故障。
提纲 • 概述 • 故障模型 • 故障检测 • 故障修复 • 可靠性协议
故障检测 • 故障检测的分类 • 部件故障检测(检测传感器部件) • 基于空间相关性 • 基于贝叶斯网络 • 节点故障检测(定位故障节点) • 集中式 • 分布式 • 故障检测的目标 • 检测网络中的异常行为
部件故障检测 • 部件故障的分类 • 简单的传感器故障模型 • 0-1模型(0-不工作;1-正常工作) • 直接观察输出结果,判断故障 • 复杂的传感器故障模型 • 连续或多级数字输出 • 基于空间相关性或基于贝叶斯网络,判断故障 • 故障检测的衡量指标 • 识别率,发生故障的部件被检测为有故障的概率。 • 误报率,把正常部件判定为发生故障的概率。
基于空间相关性 • 基本思想 • 空间相关性,WSNs中相邻节点的同类传感器所测量的值通常很相近。 • 一个节点通过周围邻居节点的同类传感器来检测自己的传感器是否发生了故障。 • 方法分类 • 需要地理位置信息 • 不需要地理位置信息
需要地理位置信息 • 某节点的传感部件测量结果与周围节点(依地理信息判定)测量结果都不同时,这个节点的传感部件可能发生故障。 • 例 • 节点1~节点8都感应到了事件的发生,而节点n没有感应到事件的发生,则认为节点n的传感部件发生了故障 • 如果节点n及节点1~节点7都感应到了事件,则可以判断节点8的传感部件发生了故障。
需要地理位置信息(续) • 一种检测方法 • 三角形法 • 节点n在三个可信节点的三角区域内 • 切线垂直于连心线
不需要地理位置信息(1/3) • 基本思想 • 不需要地理信息,节点依据侦听到的邻居(依节点邻居表判定)数据来判断自己的测量值是否正确。 • 判断策略 • 多数投票策略 • 均值策略 • 中值策略
不需要地理位置信息(2/3) • 判断策略的形式化表达 表2 三种故障检测策略
不需要地理位置信息(3/3) • 判断策略的比较 表3 判断策略比较 综合能效、检测精度及时间复杂度,中值策略是一种适于无线传感器网络。
判断策略的改进 • 错误实例 • 多数投票策略 • 节点设置可信度(权重值) • 可信度高 • 权重值大 • 投票权大 • 提高识别度,减少误报率
判断策略的改进(续) • 策略改进、加入权值后的比较结果,提高识别度,减少误报率。
故障检测 • 故障检测的分类 • 部件故障检测(检测传感器部件) • 基于空间相关性 • 基于贝叶斯网络 • 节点故障检测(定位故障节点) • 集中式 • 分布式 • 故障检测的目标 • 检测网络中的异常行为
基于贝叶斯网络(1/4) • 基本思想 • 不同部件间的潜在关系(部件间的信任关系),可以用来检测传感部件是否发生故障。 • 这些部件可以属于同一节点,也可属于不同节点。 • 检测工具 • 贝叶斯网络(BBN) • 贝叶斯网络 • 基于概率推理的数学模型 • 结构:一个有向图和与之对应的概率表的集合 • 阶段:构造、学习、推理 模型化并推理出不确定的因素。
基于贝叶斯网络(2/4) • 实例 • 大鸭岛实验情景来应用贝叶斯信任网络实现传感部件的故障检测 • 环境监测中有五个属性:温度(T),湿度(H),气压(P),光照强度(L),节点电压(V) • 这五个属性的关系所示:气压和湿度受温度影响,而电压影响了所有其他属性。 • 构造 • 有向图 • 一个节点所有属性的联合概率分布 V P H L T 图9 属性间的条件依赖关系 P(V,T,H,P,L)=P(V) P(L|V) P(T|V) P(H|V,T) P(P|V,T)
基于贝叶斯网络(3/4) • 学习 • 设所有属性被划分成两个不重叠的子区间r1,r2。 • 通过大量数据训练得到以下概率 • P(S):传感器读数落入某个区间的概率。 • P(N|S):给定当前读数落入某个区间的概率的情况下, 邻居读数落入某个区间的概率。 表4 温度、电压的概率分布 表5 气压、湿度的条件概率分布
基于贝叶斯网络(4/4) • 推理 • 已知节点的湿度H∈r2,电压V∈r1,由此来推测是否T∈r1? 表6 计算推理
故障检测 • 故障检测的分类 • 部件故障检测(检测传感器部件) • 基于空间相关性 • 基于贝叶斯网络 • 节点故障检测(定位故障节点) • 集中式 • 分布式 • 故障检测的目标 • 检测网络中的异常行为
节点故障检测 • 定义 • 节点能否与外界正常通信 • 原因 • 能量耗尽 • 通信故障 • 分类 • 集中式 • 分布式
集中式故障检测 • 在Sink节点放置检测程序,实时监测网络状态。 • 各节点周期性地向Sink节点上报信息。 • Sink节点的处理能力高,利用收集的信息判断某事件的发生。 表7 收集信息列表 表8 事件列表
分布式故障检测 • 不是由Sink节点统一检测,而是由每个节点分别自行检测 • 算法分为多个阶段 • 每个阶段检测一项故障原因 • 每个阶段分为两部分 • 判断故障是否发生 • 处理故障措施 • 检测阶段有顺序性,调换顺序会导致误判
提纲 • 概述 • 故障模型 • 故障检测 • 故障修复 • 可靠性协议
故障修复 • 基本思想: • 容错拓扑(预防)策略:通过预先设计的拓扑算法部署无线传感器网络节点或临时变更部分节点的路由,使得WSNs对节点发生故障有一定容忍度,这样在部分传感器节点发生故障时,剩余节点仍能保持通信,继续工作。 • 容错节点(修补)策略:无线传感器网络通常不需要所有节点都保持活动状态,利用WSNs的容错节点(包括WSNs的冗余节点或睡眠节点),当有节点失效时,容错节点在当前位置或移动到制指定位置,从而弥补失效节点所造成的连接割断或覆盖漏洞。
故障修复 • 具体策略的应用,取决于WSNs的具体情况(WSNs是否可以按预先设计部署节点;局部范围内是否存在容错节点等),当然如果将上述预防策略与修补策略相结合,会得到更好的WSNs故障修复结果。 • 本节将论述基于连接和基于覆盖的两类故障修复方法。
基本概念 • 节点模型 • R-通信半径 • r-感知半径 • r通常小于R,如图13 • 节点连通 • |AB|<=R,即节点A与节点B连通,如图14 • 点覆盖 • |AC|<=r,即位置C在节点A的感知范围内,如图15-1 • 区域覆盖 • 区域内所有点被覆盖,如图15-2 • 连通与覆盖 • 连通问题,保证网络中各节点都能正常通信 • 覆盖问题,保证监控区域中每个位置至少被一个节点覆盖 • 定理 • R>=2r,完全覆盖保证监控区域内各节点都连通
故障修复分类 • 基于连接的修复 • 部署k连通拓扑 • 非k连通图 • 基于覆盖的修复
部署k连通拓扑 • 基本概念:构造k连通图是一种建立容错拓扑的方法。k连通网络是指网络中任意两点之间都至少有k条不相交的路径,k连通网络中任意k-1个节点发生故障时网络仍能保持连通。 • 例:三连通图能容忍任意2个节点的故障而剩余节点仍能保持网络连通性
部署k连通拓扑(续) • 在完全图中找最小代价的k连通子图是NP难题,有很多近似算法。 例:集中式算法 FGSS (Fault-tolerant Global Spanning Subgraph) • FGSS是一个集中式贪婪算法,它使得网络中的最大能耗最小化。把网络模型化为一个图,节点是图中的点,存在直接通信连接的节点间作一条边,两个节点间的距离作为该边的权重。(把距离等效为能量,信息传送距离越远,耗能越大)
FGSS • 算法步骤: • a) 按权重对所有边排序,生成最小连通子树(单连通图,权重和最小); • b) 然后按剩余边权重从小到大依次考虑边是否加入生成子图,判断准则是该边的两个端点还没有k条不相交的路径连通时,就把这条边加入生成子图; • c)最后判定是否所有节点都达到k连通,如果不是则重复b步,否则算法结束。 • 例:生成最小代价二连通图
故障修复分类 • 基于连接的修复 • 部署k连通拓扑 • 非k连通图 • 基于覆盖的修复
非k连通图 (1/4) • 网络维持k连通需要消耗大量资源,所以很难在大规模的网络中要达到k连通。在非k连通的网络中,需要有特定的方法来处理节点故障。 • 例:当上层节点发生故障,基站将不能收到下层节点的信息。
非k连通图 (2/4) • 介绍一种基于重新路由建立的(动态)容错拓扑方法。 • 基本概念: • 该拓扑方法要求基站有数据结构存储每个节点的邻居节点信息(包含邻居节点间的距离)。 • WSNs中的节点被分为3个集合 • R={WSNs中处于活动状态的节点,图例以白色节点表示} • D={WSNs中失效的节点,图例以黑色节点表示} • S={WSNs中由于上层节点失效无法与基站通信但仍有效能的节点,图例以灰色节点表示} • Best R Neighbors:S集中离R集最近的节点(距离最近)。 (以相邻节点间的距离为衡量尺度) • Best Base Station Neighbors:S集中离基站最近的节点(跳数最小)。 (以节点到基站的跳数为衡量尺度,因为多跳情况下节点到基站的传输距离很难得到,但以跳数为衡量尺度会导致两节点跳数少实际传输距离长的情况,屏蔽了两节点跳数多实际传输距离短的情况)
非k连通图 (3/4) • 该方法中基站查询到从某个节点失效通信中断,将它的下层节点的下一跳重新定向到能与基站保持通信的最近节点,并给出了两中路由选择方案 • Subdividing by Best R Neighbors • Subdividing by Best Base Station Neighbors
非k连通图 (4/4) • Subdividing by Best R Neighbors • 算法步骤: • a)将WSN节点划分到不同的集合。 • b)依据基站存储的每个节点的邻居节点信息,每次从S集中寻找一个节点到某个R集的距离最近,将其从S划出归到R集。 • c)最后判断S集是否为空,如果非空,则重复b步;否则为空,路由变更结束,基站广播更新后的路由信息到各节点。 • 优点:相邻节点的平均传输距离小,网络整体能耗小。 • 缺点:节点路由更新的信息量大。 • Subdividing by Best Base Station Neighbors • 算法步骤: • a)将WSN节点划分到不同的集合。 • b)按找规定上层节点的路由重定向,其下层相连的子节点路由不再发生变化。所以依据基站存储的每个节点的邻居节点信息以及原有的路由信息,每次从S集中分层寻找到基站跳数最少的上层节点,然后将其及其下层子节点从S划出归到R集。 • c)最后判断S集是否为空,如果非空,则重复b步;否则为空,路由变更结束,基站广播更新后的路由信息到各节点。 • 优点:节点路由更新的信息量小。 • 缺点:相邻节点的平均传输距离大,网络整体能耗大。
故障修复分类 • 基于连接的修复 • 部署k连通拓扑 • 非k连通图 • 基于覆盖的修复
基于覆盖的修复 • 无线传感器网络用来监测环境时,节点失效会造成某些区域不被覆盖,这时需要采取措施来弥补造成的覆盖空洞。可以在网络中部署一部分可以移动的节点,当其他节点失效时,这些冗余的节点就移动到某个区域以弥补失效节点对网络造成的影响。 • 覆盖的两个定义 注:当节点失效,节点的覆盖区域将变成遗漏区域
基于覆盖的修复(续) • 覆盖修复过程:(假设网络中的节点具有移动能力) • 1)初始化阶段:节点计算自己的覆盖区域、每个覆盖区域对应的移动区域。 • 2)恐慌请求阶段:垂死节点广播求助消息。 • 3)恐慌回应阶段:垂死节点的邻居收到求助消息后计算如果自己移动到垂死节点的移动区域,是否会影响到自身的覆盖区域,如果不影响则给求助节点返回消息。 • 4)决策阶段:垂死节点根据收到的回应信息,决定让哪个节点移动。 (以节点A失效为例,补图说明)
提纲 • 概述 • 故障模型 • 故障检测 • 故障修复 • 可靠性协议
可靠性协议 • 无线传感器网络在不同的抽象级别具有不同的容错技术 • 从网络各层次协议的角度,主要介绍物理层、链路层、网络层、传输层设计需要考虑的与容错相关的问题