所有提交的电磁系统将被重定向到在线手稿提交系统。作者请直接提交文章在线手稿提交系统各自的杂志。

在运行时重新配置需要审查和代码更新机制在无线传感器网络中

Rekha.K.S。1,Dr.T.H.Sreenivas2
  1. 计算机科学与工程系助理教授,美国国家工程、印度迈索尔
  2. 教授,系信息科学&工程、国家工程研究所、印度迈索尔
通讯作者:SHARMA VIVEK,电子邮件:vivek03sharma@rediffmail.com
相关文章Pubmed,谷歌学者

访问更多的相关文章国际期刊的创新在计算机和通信工程的研究

文摘

无线传感器网络的分布式应用程序的设计是最具挑战性的任务由于有限的存储节点上,等因素变量数据到达率和高能源成本的沟通。在大多数无线传感器网络(WSN),电池是唯一的传感器节点的能量来源。传感器节点将电池工作几个月几年没有补充。因此,能源效率成为了网络的一个主要问题。如今,想要使用WSN在多个异构平台的监控。传感器节点的软件开发是一项乏味的工作,由于网络拓扑的变化。艺术的现状提出了不同的解决方案来克服内存开销等性能问题,异构性、可移植性、可扩展性、成本和服务质量。一种自适应框架应该减少资源消耗和运行时重新配置提供一个最佳的解决方案。本文详细回顾当前的运行时重新配置需要先进的无线传感器网络。分析了现有的中间件方法和评估基于参数诸如应用程序开放、可伸缩性、异质性、用户友好的界面,流动性和功率效率。本文确定了几个开放的研究必须解决的问题在运行时重新配置需要无线传感器网络

关键字

无线传感器网络、重构、异构性、可伸缩性、可移植性,服务的质量

介绍

无线传感器网络已经极大地影响了我们的生活的环境监测,战场监视。传感器网络的设计涉及到许多学科,如信号处理、网络、嵌入式系统、软件工程和分布式算法。selforganization由于等因素容易部署,自愈监控系统可以设置在一个工业过程控制/技术,农业(集水)、卫生(病人监控)、社会(消防员,普适计算)。无线传感器网络由大量的节点分布在一个地理区域。在[1]中,确定了三个重要的功能性需求:需要动态修改,需要对异构节点的支持,需要新的软件版本集成到一个运行的系统。远程软件更新是一个核心组件在改善易用性提供灵活地部署网络,和直接支持维护功能。
节点通常装有传感器(例如光、温度、压力、和音频传感器)来监控他们的环境和无线通信功能。节点也有某种程度的情报处理的传感器收集的数据和这样做的能力。网络部署在一个地理区域在一个特设的方式。某些节点在网络中可以放置在已知位置,但总的来说,节点计算出位置自己使用各种定位算法[49],[50],[51]。重新配置的不断变化的需求提供了有效的解决方案基础上的各种应用程序。应重新编程的传感器节点,每当一个新功能需要通过无线发送链接。传播机制的代码会传播到目的节点的代码。高度动态的应用程序应该实现自配置,以满足不断变化的需求的网络
无线节点可能在异类环境中协同工作环境条件和协议随地点和时间。这表明需要节点感知环境和重新配置的平台软件。这样的重新配置可能涉及动态装卸适当的软件模块或调优参数设置来实现所需的性能[2]。重新配置需要可以通过执行集中式或分布式方法。集中重新配置监控基站的服务质量和传感器节点在必要时重新编程。分布重构方法在本地监视上下文和对每个节点进行重新配置。
在第二部分中,基于传感器节点无线传感器的分类应用程序、网络和应用程序。第三部分介绍了软件更新机制基础上。第四部分分类的WSN中间件方法。V识别几部分开放研究问题在运行时重新配置的基础。theare更新机制运行时重新配置和结束语。

无线传感器网络应用的分类

为传感器网络应用软件的开发,使用基于组件的框架是可取的。框架的组件提供的功能单一的传感器,传感器节点,整个传感器网络。根据这些组件、应用程序分为传感器应用中,节点应用程序和网络应用程序[5]。图1显示了传感器网络的体系结构。

答:重新配置节点属性

节点应用程序包含所有应用程序中间件的具体任务和函数来建立和维护网络,如路由、寻找节点,发现服务和自我定位[6][53]。
WSN的动态部署的应用程序、网络的拓扑结构不断变化的因素,如有限的电池。有几种拓扑像明星,网格,基于集群拓扑。节点属性的重新配置需要在动态应用程序像天气预报数据必须收集范围查询带来的用户。有效传播的适应拓扑重构选项,只集中在目标节点的一部分来实现高覆盖率和表演角色分配,这样所有的功能划分。
在[8],一个全面的模型LACON提出了监控和重新配置传感器网络。LACON提供措施,减轻网络障碍。结果证实该自我配置模型采用优化设计参数和维护QoS甚至高度特设网络。在[9],一种新的概率地理路由协议(PGR)介绍这是一个分散的能源意识到为无线临时和传感器网络路由协议。PGR使用地理位置与残余能量长和链路可靠性信息做出路由决策。而不是确定性选择下一跳,prg分配概率候选人下一跳节点。分配给每个节点的概率是一个函数的可靠性估算残余能量和相应的链接。使用成本函数确保节点的剩余能量和更可靠的链接不是能量过快耗尽。这反过来会增加网络的生命周期。[10],一种新的编程称为通用角色分配的抽象,它允许自动分配的角色基于属性的传感器节点和传感器节点各自的网络社区。分布式算法为角色分配和初始化执行概率的两种变体也定义。

b .网络重新配置

传感器网络应用程序描述了整个网络的主要任务和要求的服务没有任何任务或服务分配给各个节点。它代表一个接口网络管理员来评估结果。网络重构是指节点发现,角色分配,改变整个网络包容体系结构和协议[53]。
在[2]中,提出了一种分布式机制,使单个传感器遵循本地自私的策略。这反过来导致路由网络的自组织与理想的全局属性。定向扩散[3],是一个著名的传感器网络数据分发机制,其主要方面包括以数据为中心的路由、网络聚合和属性数据命名。在[4]中,提出了两个新的变种,推动扩散,为许多接收者和发送者和单阶段优化拉,专为相反的情况。

c .传感器应用

一个传感器应用程序包含一个传感器的读数以及数据的本地存储。它有完全访问硬件和能够直接访问操作系统。传感器应用程序提供了必要的本地传感器节点的基本功能,这可能是[53]节点所使用的应用程序。
在[49],传感器的重新配置指令的过程给传感器网络/一些传感器在传感器网络改变这个配置数据。配置数据存储在非易失性存储空间即eepm的尘埃。传感器节点应该读它并采取适当的行动。

在WSN软件更新机制

传感器网络的软件更新研究描述以下三类:传感器节点执行环境,传播更新的协议,和大小减少传播更新主机[1]。
在[30],广泛使用的机制,改变传感器节点:完整图像替换和二进制差分图像替换了。在[32],动态TinyOS提出了模块化的和透明的增量代码更新。

答:完整图像替换

最常见的方式来更新软件在嵌入式系统中,传感器网络是编译一个完整的新的二进制映像的软件与操作系统和传感器节点的覆盖现有的系统映像。完整图像替换不需要任何额外的处理加载系统映像加载到系统之前,由于加载图像驻留在同一,物理内存地址前面的系统映像[30]。
最受欢迎的方式来更新软件传感器网络是编译一个完整的新的应用程序的二进制图像软件的系统代码和传感器节点的覆盖现有的系统映像。由于图像是在每次迭代中重新编译和链接,这些解决方案提供了一个非常细粒度的控制可能的重新配置需要。然而,这些方法导致带宽开销不变的部分应用程序需要re-disseminated网络[34]。
•TinyOS:TinyOS[34[[40]是一个流行的操作系统,传感器节点生成一个单一的二进制映像的整个应用程序。洪水[8]是一个网络化的引导加载程序和传播协议执行完整图像TinyOS应用程序的升级。
•TOSBoot:TOSBoot[35],异常灵活,尽管低复杂度的方法。TOSBoot是一个完整的二进制映像替换机制,任何系统功能可能包括许多变化,驱动程序更新,甚至如果是想要一个全新的操作系统。TOSBoot提供了额外的灵活性,能够处理多个二进制图像。这允许节点是在引导时存储图像的成像与任何意义一个旧版本的图片在网络上不需要上传是否需要再次在稍后的日期。TOSBoot却呆板,大型二进制图像必须通过网络发送,这种机制可能太慢了大量的节点。TOSBoot还要求节点访问外部存储器,如flash存储上传图像,可能不会出现在所有系统的东西。

b .增量更新

•动态TinyOS [32]介绍了使软件组件的动态交换,从而逐步更新操作系统及其应用程序。的核心思想是保持TinyOS的模块化,即其组件化,失去了正常的编译过程中,传感器节点上启用运行时TinyOS组件组成。建议的解决方案将无缝地集成到TinyOS的系统架构。它不需要任何更改TinyOS的编程模型和现有组件可以重用透明的。
评价:动态TinyOS带来较低的性能开销,同时保持一个小-多达三分之一内存占用比其他类似的解决方案。

c . Diff-based方法

通常一个小更新系统的代码,比如bug_x,将导致在新老系统之间只有细微的差别。而不是分发一个新的完整的系统映像二进制差异,三角洲、修改和原始二进制可以分布。这减少了需要传输的数据量[30]。三角洲算法压缩数据的编码一个文件在另一个方面。这种类型的压缩在很多情况下是有用的:存储多个版本的数据,显示差异,合并变化,分发更新、存储备份、传输视频序列,和其他[55]。在[54],一个高效的代码更新机制,提出了传感器网络基于微分压缩。三角洲算法追求贪婪策略导致最小增量文件大小。该算法操作二进制数据没有任何程序代码结构的先验知识。业绩评估表明,更新大小减少30%的范围很小的变化实现的主要升级至99%。

中间件方法基础上

使用中间件可以应用程序和底层之间的桥梁结构。在无线传感器网络中间件的主要目的是支持网络硬件、网络堆栈,应用程序安装和数据维护活动。中间件负责执行异构节点之间。
抽象的中间件平台的设计能够提供一致的和一般机制部署,重新配置,系统级和应用程序级软件。中间件收集信息从应用程序和网络协议,决定如何支持应用程序,同时调整网络协议参数。成功的中间件层的设计必须解决许多挑战来满足应用需求。无线传感器网络的通用中间件体系结构如图3所示。

•可伸缩性

如果新节点被添加到现有的应用程序,网络性能不应受到影响。

•异质性

中间件应该提供低级编程模型之间的桥梁的硬件和网络。

•易于使用

抽象级别中间件定义了用户友好的方法。

•应用程序开放

应用程序开放是能够扩展和修改现有的系统,只要有需求的变化。

•移动

它是中间件能够跟上网络中移动节点的连通性。

•功率效率

中间件应该为有效利用设计的处理器和内存通过启用该通信。

对WSN中间件的分类方法

中间件是指操作系统和传感器应用程序之间的软件层一方面通过网络和分布式应用程序交互的另一方面。中间件层的主要目的是隐藏的复杂性网络环境的隔离应用程序协议处理、内存管理、网络功能和并行性[52]。
在[12],传感器网络编程的两个主要类:编程支持和编程抽象提出。首先是关心提供系统、服务和运行机制等可靠的代码分布、安全的代码执行,和特定于应用程序的服务。第二个提供了概念和抽象的传感器节点和传感器数据。编程抽象类有两个主要的子类。第一个关注的全球分布式传感器网络作为一个整体的行为也称为宏程序。第二处理传感器网络节点的本地行为在一个分布式计算。
在[11]中,作者提出了以下五个主要子类编程支持类即:虚拟机为基础,基于模块化编程,数据库为基础,应用程序驱动,EventBased中间件。图4。展示了无线传感器网络的编程模型。

编程支持

虚拟机

虚拟机中间件的方法是用来减少整体实力和资源消耗,系统由虚拟机和翻译。开发人员编写应用程序到小模块,系统注入和分发模块通过网络[12]。

配偶:

伴侣[14]是一个运行在TinyOS字节码解释器。它是一个单一TinyOS组件,坐在上面几个系统组件,包括传感器、网络堆栈和非易失性存储(“记录器”)。代码打破在胶囊24指令,每一个都是一个字节长;大的项目可以由多个胶囊。除了字节码,胶囊包含识别和版本信息。伴侣避免消息缓冲和大型存储。同步模型使得应用程序级编程更简单和容易错误远远少于处理异步事件通知。另一个伴侣感染或网络更新功能是通过添加一个版本号胶囊。所以比较发生在邻居,其次是安装新版本。这个过程与hop-to-hop级联通信。
伴侣有一个基于堆栈架构[15]三个执行上下文——时钟,发送和接收虽然伴侣有一个小,简洁,富有弹性,和简单的编程模型,其能源消耗高的长时间运行的程序。伴侣的虚拟机架构增加安全性。但它的编程模型是不足够灵活支持各种各样的应用程序。
评价:伴侣程序很小,适合沉睡的应用程序,在能源消耗非常少。配偶支持特性适应传感器网络的变化。对于复杂的应用程序多的能量是必要的,因为解释开销。

磁发电机

在[26],分布式,节能,自适应操作系统,称为磁发电机,提出了。磁发电机专门特设和传感器网络的目标。磁发电机提供了单一系统映像的一个统一的Java虚拟机(JVM)的节点组成一个特设网络。抽象让整个网络出现作为一个单一的、统一的Java VM。JVM模式后,系统包括动态和静态组件。静态组件负责重写常规java应用程序对象或模块的形式,这就解释了磁发电机的面向对象的本质。然后将它们注射到网络的组件有特殊指令保持语义。在这一点上,一个动态的运行时组件在每个节点监控对象的创建、调用,和迁移,为应用程序提供不同服务[12]。
评价:将应用程序划分为几个组件,并将这些组件降低了能源消耗,避免热点,提高系统寿命

数据库中间件的启发

这种方法认为整个网络是一个虚拟的数据库系统。它提供了一个易于使用的界面,这使得用户发出查询到传感器网络中提取感兴趣的数据。然而,这种方法只提供了近似结果,它缺乏实时应用程序的支持,需要检测之间的时空关系事件[12]。

TinyDB

TinyDB[16]是一个分布式查询处理器,传感器网络中每个节点上运行。TinyDB在伯克利mote平台上运行,在TinyOS操作系统(希尔et al . 2000]。在SQL查询TinyDB,由一个SELECT-FROM-WHERE-GROUPBY条款支持选择,加入,投影和聚合。的语义选择,从,和GROUP BY子句在SQL。FROM子句可以参考传感器表以及存储表,称为实体化点。实体化点是通过特殊的日志查询。他们提供基本支持子查询和窗口的流操作生产.Tuples定义良好的样本区间查询的一个参数。每个样本的开始之间的时间周期称为一个时代。时代提供了一种方便的机制构建计算能耗降到最低。
评价:支持多个查询TinyDB, TinyDB支持可伸缩性的网络软件增加新的代码标准TinyDB代码。

美洲狮

美洲狮是另一个在传感器网络中间件应用数据库模式。在美洲狮系统中,有两种类型的数据:存储数据和传感器数据。信号处理函数在每个传感器节点生成传感器数据,和日期是沟通或存储在本地关系数据库系统[13]。

基于事件的中间件

另一种方法的WSN中间件是基于事件的概念。在这里,应用程序指定感兴趣的某些状态改变现实世界(基本事件)。一旦检测到这样一个事件,一个传感器节点发送一个所谓的事件通知感兴趣的应用程序。事件的应用程序还可以指定特定的模式(复合事件),这样的应用程序仅仅是通知如果发生事件匹配这些模式[17]。

世界气象组织

在[18],世界气象组织(无线中间件发布订阅系统)提出了中间件使用发布/订阅通信泛型。在TinyOS开发和实现基于XML的内容/主题自适应双重模式匹配。级别的QoS和提供数据收集等服务发布/订阅中间件,它还提供了一组API接口应用程序层。世界气象组织不仅可以为开发人员提供一个方便的界面,也有效地减少每个传感器节点的能量消耗
评价:世界气象组织将提供接口,可以接收信息,并匹配相应的传感器节点。建立通信链路将只有当传感器节点收集的信息匹配与查询。发布者/订阅者桥梁之间的应用程序层和协议层,减少了能源消耗。世界气象组织会增加安全、资源勘探逐渐函数。

SensorBus:

在SensorBus[23],一个面向消息的中间件(MOM)模型,采用发布-订阅范式提出了。在这种方法中,一个组件,生成事件(生产者)发布事件的类型,将提供给其他组件(消费者)。消费者感兴趣决定事件订阅?这个事件,接收从这一刻开始通知事件呢?订阅?出现。这些通知发送异步从生产商到所有感兴趣的消费者。收集生产的妈妈执行功能的信息,过滤和转换这样的消息(必要时),然后将它们路由到适当的消费者。

DSWare(数据服务中间件)

DSWare[56][57]提供了一个新颖的事件侦测机制可靠和节能。驻留在应用程序和网络之间层,集成了各种实时数据服务和数据库提供了一个抽象的应用程序。DsWare数据复制到多个物理节点映射到一个逻辑节点使用基于哈希映射。

泥沼

泥沼提出了一种适应传统的面向消息的中间件固定分布式系统。泥沼提供了一个异步通信模型,适合传感器网络应用中,在大多数情况下,事件驱动,更优于传统的请求-应答模式。使用NesC泥沼是建立在TinyOS。采用基于组件的编程模型使用积极的消息来实现其publish-subscribe-based通信基础设施[45][12]。

基于组件的中间件

组件模型引入了一个新的插件现有组件的软件。重量轻的组件模型有助于对无线传感器网络重新配置,因为它仅更新所需的部分模块而不是改变整个模块。
[19],ReWise提出了一种新的基于组件的中间件回家监视应用程序,使重构的基础。在这个应用程序中,五个不同类型的传感器节点包括温度、烟雾探测器,占用探测器,床上部署探测器和湿度。作为不同的传感器类型可能会有自己的软件组件运行相关的应用程序逻辑,在每个传感器网络部署时间与核心中间件服务程序在操作系统。成功部署的传感器后,根据每个传感器的类型所必需的其他应用程序组件应该远程转移到每个节点。在应用程序运行期间,不同场景的组件重新配置需要可能会发生。
评价:ReWise组件为基础重构TinyComponents是有限的,但是,如果有需要更换的主要组件状态维护和安全检查的问题不解决。

符文中间件

在[20],符文网络嵌入式系统基于组件的方法。提出了隧道火灾场景符文。隧道在哪里检测与传感器节点,报告中央控制器在可能的情况下,但这可以动态地调整他们的行为报告给消防队员进入隧道组织救援。中间件需要允许不同的设备间的通信,必须允许改编的行为在一个上下文意识到的方式。
评价:符文中间件克服异质性的问题,软件重新配置和拓扑重构在隧道火灾场景。

WISEKIT

在[21]中,提出了一种新型分布式中间件方法叫WiSeKit解决环境敏感的动态性。WiSeKit加速开发自适应传感器网络应用程序提供了一个抽象层。使用这个中间件,开发人员只关注应用程序级自适应性的要求,而底层中间件服务暴露现成的api来形式化的过程自适应传感器网络应用程序开发和隐藏的复杂性技术方面的适应。WISEKIT适应时间的基本设计理念,适应范围,适应政策、细粒度的重新配置和层次的适应。
评价:本文改编自只解决一些传感器节点上运行的应用程序。的应用程序被部署在集群头和水槽必须进一步设计。
在[25]小说分布式中间件组件的方法称为WISEKIT提出了解决动态应用程序。WISEKIT加速开发自适应传感器网络应用程序提供了一个抽象层。使用这个中间件,开发人员只关注应用程序级自适应性的要求,而底层中间件服务暴露现成的api来形式化的过程自适应传感器网络应用程序开发和隐藏的复杂性技术方面的适应。领域的一个应用程序场景监控是实现与WISEKIT回家。
评价:WISEKIT支持分布式应用和隐藏技术采用的复杂性。

费加罗:

在[22]费加罗,组件代表一个单元的功能和部署。描述一个组件提供的服务的接口。例如,组件必须提供接口中声明的所有操作的代码。费加罗的编程模型有两个核心成分:——组件模型定义了组织结构单一节点上的代码。设计时考虑到重新配置,从而提供专用的构造处理组件依赖关系和版本,并简化重新配置过程。——分布模型定义了构造限制组件只有一个给定子集的传播节点重构靶向性程序员指定特性的节点或他们当前的软件配置。
费加罗,程序员不需要手动管理重组,相反,底层运行时自动和透明地管理重构的过程,基于依赖关系和组件版本。组件实例化在启动时,运行时跟踪他们的版本,他们实现的接口,和他们的依赖关系。在费加罗,依赖是由程序员显式声明使用声明依赖宏。这个宏的第一个参数是一个容器,一个接口的双。接口指定的一组操作提供了一个组件,而组件容器指定的一组接口需要从别人。使用费加罗,程序员可以显式地处理组件依赖关系和版本的限制,以及选择精确的节点子集重新配置的目标,而其他的没有改变。运行时支持强加一个非常有限的处理和内存开销。通信开销是在9%的理论最佳[16]。
另一个相关工作在基于组件的背景下重新配置的WSN最近报道的名义费加罗框架[20]符文项目中作为传感器网络重构的方法[22]。费加罗的主要贡献是提出一种方法来决定应该重新配置和重新配置应该发生的地方。前一个是相关的运行时组件替换,而后者涉及网络中哪些节点应该得到一个更新的代码。费加罗的组件模型也未能支持轻量级的重新配置,解决在REWISE组件模型的方法。

REMOWARE重新配置中间件

在[24],REMOWARE新的中间件解决方案提出了家里监视应用程序。Remoware地址的关键问题,特别考虑到资源和能源开销引起的重新配置过程。RemoWare包括一组优化重构服务部署传感器节点,持续更新所需的代码。分布,这些服务包括二进制更新准备,代码运行时连接,动态内存分配和加载,系统状态保存。RemoWare可以利用系统软件用C语言编写的。
评价:基于组件的方法实现细粒度的重新配置过程。SOS的重构模型依赖于内核的特性,因此内核升级需要更换整个内核映像。在RemoWare重构的关键任务是独立于底层系统软件的实现。内存分配模型是最重要的创新之一RemoWare相比其他提议系统费加罗除外。这是限于Contiki动态重新配置的功能。

e .模块化编程方法

这种方法的主要思想是使应用程序尽可能模块化促进其注入和分布通过整个网络移动代码。还不如整个能源消耗将小模块应用[33]。

黑斑羚:

黑斑羚是一个中间件设计基于基于事件的编程模型与代码模块化,易于应用适应性和更新、容错、能源效率、和长时间部署在专注[23]。黑斑羚不支持异构硬件平台而言,因为它是注定要只运行在Hewlett - Packard /康柏iPAQ Pocket PC手持设备运行Linux。因此,它的应用程序是有限的[14]。

紧急求救信号

SOS -一个模块化的传感器网络操作系统,wiith结构化体系结构基于小内核中的所有节点上安装网络。其余的系统和应用程序功能被实现为一组动态可加载二进制模块。这种模块化形式SOS的基础架构,它定义了不同的边界和允许模块在运行时加载和卸载。紧急求救信号provides an event-driven execution model, with each module implementing a handler that is invoked by the OS scheduler to dispatch messages to destination modules[36].

FlexCup

FlexCup (?灵活的代码更新?),一个代码更新机制,使动态重新安装的软件组件TinyOS-based传感器节点在一个有效的方法。FlexCup需要参与编译的过程组件的基站,并安装在传感器节点的代码更新:在代码生成过程中,FlexCup生成元数据描述编译组件。FlexCup然后使用该元数据代码更新时将新组件在运行的应用程序,重新链接函数调用到适当的位置,并执行地址绑定的数据对象。使用这种方法,FlexCup能够重新配置、交换或重新安装部分传感器节点上运行的应用程序,而不必重新发送整个项目形象[7]。

应用程序驱动的

这种方法引入了一个新的维度在中间件补充一个架构,达到设计的网络协议栈。这将允许程序员整合网络应用需求的基础上,应用程序将决定网络运营管理,提供QoS的优势。然而,紧密耦合的应用程序可能导致专业,不通用,中间件[12]。

米兰:

米兰轮为中间件连接应用程序和网络手段,它提供了解决方案,允许特定的应用程序影响整个网络的性能。米兰包含网络协议栈来配置和管理网络。它使用基于图的方法允许应用程序知道如何执行收集的数据从低水平的不同组合*组件,以及如何选择传感器的组合来满足其服务质量要求。米兰是最初设计医疗咨询和监控,因此它有良好的性能在应用程序可靠[38][13]。
评价:虽然传统中间件运行在网络层,依赖多个应用程序和底层数据来源不同,它不是一个可行的方法来管理网络完全独立于应用程序的需求。本文研究的核心是之间的集成应用程序的需求和网络的管理成一个统一的中间件系统称为米兰。通过这种紧密耦合,米兰可以应用程序性能和网络成本之间的权衡,同时仍然保留之间的分离政策指定如何应对动态环境和机制来执行该政策。

手指:

手指[46]是一个传感器网络政策体系发达的帝国理工学院,完全实现在TinyOS操作系统[40]。手指操作减少Ponder2政策规范语言的子集。

逃避

逃避[47],WSN中间件是基于策略的实现在TinyOS [40]。应用程序实现在逃避使用nesC-components[2],采用类似的发布/订阅交互模式。

•MiSense

在[45],MiSense acomponent-based提出了面向服务的中间件体系结构。它提供了一个抽象层之间的应用程序和底层网络基础设施。MiSense促进面向服务的中间件组件框架,可以降低复杂性通过实施结构的组件模型的形式可组合性限制和通过提供定义良好的、特定于服务的接口系统的其余部分。MiSense旨在修复服务接口的抽象级别,将最大限度地提高生产率,同时保持与重大影响的部分建筑性能足够灵活,能够受益于特定领域的优化。MiSense提供了定义良好的基于内容的发布/订阅服务,但允许应用程序设计师适应服务通过正交选择订阅和通知的通信组件交付,支持数据属性,和一组服务扩展组件。
评价:MiSense减少了复杂性提供定义良好的服务——特定的接口。MiSense将中间件设计分解为组件交互,满足要求,比如优化的灵活性和可重用性。MiSense满足应用的要求,增加了网络的全球时间。

•MIREA(实时无线嵌入式系统中间件)

在[28]提出了基于组件的中间件称为MIREA建立上下文感知框架。MIREA[29]是专门针对实时嵌入式系统。MIREA是轻量级的,基于组件,支持灵活的软件组件的可重用性。之上构建上下文感知框架的目的是基于组件的中间件的放贷适应性在中间件层次,反过来会导致适应在应用程序级别。
这个框架提供了组件之间的集成软件和网络环境敏感技术。这种设计架构有几个优点而言,易于编程,软件更新和重新配置,动态应用程序开发等。该体系结构在本质上是轻量级和适合传感器节点级别环境敏感处理。
评价:一个实验进行了比较Contiki图像大小与上下文感知框架实现一个软件模块(单片上下文感知框架)与Contiki MIREA实现形象。在单片实现的情况下,一旦环境敏感框架编程的节点上,很难重新配置和更新软件。任何软件重新配置需要完整的应用程序通信的形象~ 23 k字节的节点。相反,基于组件的实现,一旦节点编程MIREA中间件,占据了~ 33 k字节,不到~ 1 k字节需要传播节点,使组件运行时重新配置或重组。

•VAPRES

在[41],架构框架称为VAPRES提出了传感器网络的类型重新配置。VAPRES(发音蒸汽?,the Virtual Architecture for Partially Reconfigurable Embedded Systems) is a virtual architecture developed for Partial Reconfigurable-capable FPGAs to provide a flexible and dynamic module communication layer. The VAPRES system control region includes a soft processor to serve as the central controlling agent, a flash controller core to read and store module partial bitstreams, and numerous peripherals for external device communication. VAPRES and the underlying communication architecture provide an essential enabling methodology for dynami ,situation-based PR.
评价:VAPRES的架构评估使用三个指标:加工性能、能耗和资源利用率。汽提供的使用增加了WSN的灵活性和计算资源,导致能耗和性能优越而微处理器能够满足相似要求。这些好处包括减少功耗,跟踪多个目标时一致的性能,大大降低成本。

•μDDS:

μDDS是实时的发布/订阅中间件基于无线嵌入式系统的数据分布服务规范的标准接口,并实现了一个子集事件订阅和发布使用的应用程序。有三个主要的元素的发展模式,μ[54]DS中间件和μDDS库,用户应用程序和PaRTiKle的内核。应用上实现μDDS可以传播和收集数据通过发布/订阅接口提供的中间件。可以使用不同的路由协议实现网络覆盖;中间件是目前内部上实现802.15.4标准设备可以支持提供服务明星,树和网状拓扑[28]
评估:结果表明,μDDS是轻量级和高效,μDDS中间件的使用简化了开发过程的实时无线嵌入式发布/订阅应用程序。

•EnviroTrack(数据中心)

EnviroTrack(数据中心)[42],非常适合嵌入式跟踪应用程序。采用以数据为中心的编程范式叫做认为基于命名?背景标签?,where the routing and addressing are based on the content of the requested data rather than the identity of the target sensor node. As most projects, it is also built on top of TinyOS using compiled NesC [35] programs. Its contribution stems from its convenient robust interface to the application developer geared towards tracking the physical environment. The attributed based naming is applied by associating user-defined entities (context label) to real physical targets. With this network abstraction layer the programmer declares the environmental characteristics which define the context label of the object to be tracked. Based on this, all sensor nodes that sense the same declared characteristics (object) are aggregated to track that physical target such as a car or a fire. With powerful network management mechanisms such as lightweight group management and group leader election, it supports the dynamic behavior of the tracked targets such as mobility. Thus the presence of any moving target is detected and reported, very useful for environmental watch applications and military applications.
评价:该工作是一个分布式编程支持环境跟踪。然而其性能是只基于非常小规模的植入,在其发展的早期阶段。更多的工作需要完成的自组织和自主系统的方法

•REED-Rule基础中间件

范,马(2008)提出了一种中间件解决方案,支持规则执行和事件分布(REED)。里德支持规则的分布和触发的事件。里德采用基于规则的模式允许传感器网络在运行时被编程。这提供了一个灵活的环境中,应用程序和用户程序的传感器节点可以在运行时允许改变他们的行为。此外,使用描述性规则描述行为基础上的,因此不需要知识的代码编程开发人员[43]。

•MoMi

MoMi使用基于规则的系统来检测故障节点在无线传感器网络中。MoMi使用基于模型的诊断(MBD)框架呈现管理员系统异常的可能原因。对当地及周边节点根据预定义的规则,相互比较之后,矛盾的观察被发送到网关。网关将生成一个可能预测错误的节点[44]。

•斯通(结构健康监测网络)

石[48]是通用的,允许许多特定于应用程序的定制。此外,软件设计允许灵活的耦合节点和后端应用程序和嵌入式RPC机制。石头利用概念系统重新配置和应用程序分区之间的传感器网络和后端软件。重构技术开发的石头,可以克服的局限性控制消息丢失、延迟和安全更新变量和执行RPC。

•宏编程

凯洛:

凯洛允许程序员编程整个传感器网络,使高水平的规范,网络中各节点处理低级问题。在开始,开发人员编写一个集中的程序对于整个应用程序,凯洛预处理程序划分成子程序和凯洛编译器编译成二进制代码注释。之后,二进制代码分布传感器节点。带注释的二进制代码是包含特定于节点的版本代码来控制每一个节点的行为。一组节点共同表达作为一个宏程序抽象级别。凯洛可以决定使用宽松的节点同步或严格节点同步基础程序员的目的[39][13]。
在[31],TinyOS扩展允许动态交换组件在WSN应用程序在编译过程中保护他们的模块化。由此产生的可能性增量改编的传感器节点的行为通过部分的代码替换。设计的系统不需要任何改变现有的用户界面,对用户透明。
评价:这种方法将几乎没有为加载应用程序的性能开销,同时保持较小的内存占用比其他类似的解决方案。

•KSPot +

在[37],一个建筑设计KSpot +。KSpot +是一个分布式中间件的框架,介绍了网络感知数据采集过程相结合三个合作的组成部分:
我)树平衡模块,平衡工作负载发生在每个传感器节点通过构建高效的网络拓扑结构;
ii)工作负载平衡模块,最大限度地减少数据接收低效率通过同步每个传感器节点的醒着的窗户。
iii)查询处理模块,管理查询执行和另外雇用了一个排名机制,揭示只有k-highest排名答案从而进一步减少能源消耗。
评价:KSpot +为测量提供了机制和改善网络拓扑结构的效率以降低数据采集的成本。KSpot +雇佣了一个排名机制,揭示只有k-highest排名答案减少能源消耗。

调查结果

从我们的调查中,我们发现现有Runtime-reconfigurations机制需要解决各种挑战,如可移植性,应用知识、安全、可伸缩性、QoS和异质性。我们给了一个比较研究现有的中间件是基于他们的特性,性能和限制在表格1中。由于这些制约因素提出了机制适用于重量重新配置需要。尽管重构现有代码更新机制,解决的挑战他们的支持并不是完全满意。提出一些解决方案假设传感器节点部署在均匀和资源受限的环境中。
在紧急的时候,传感器节点可能不同的测量相比正常的场景。在这种情况下,中间件的设计应该调整在不同的操作水平。符文中间件是为了适应不同的应急操作水平。在ReWiSe behaviour-level的组件配置,而不是实现轻量级和细粒度组件级模型的网络软件重新配置。KSpot +中间件架构是一个节能的以数据为中心的测量和提高网络的效率。
尽管许多拟议的系统提供了优良的服务,总有一个能量开销和重组率之间的权衡。他们试图克服上述挑战,这是不可能的他们可以同时相对资源受限环境。重新配置机制应该旨在避免重启系统每次当收到新的更新。有必要探索重量轻的定位算法、路由和网络配置管理。

结束语

由于资源的限制,传感器节点是最初为有限的应用程序部署。但是,需要自我配置框架始终工作在资源约束和资源丰富的环境。在本文中,我们总结了研究传感器网络在运行时重新配置技术,专注于具有代表性的方法。我们开始与一个传感器节点的分类代码的更新机制。然后,我们提出了一个表给一个比较研究现有的中间件是基于他们的特性,性能和局限性。从我们的调查中,我们发现,现有方法的Runtime-reconfigurations不是完全满意,因为他们是为特定的需求而设计的。几个方法和平台的选择取决于应用程序的类型和传感器网络的组织。
我们的未来研究活动集中在重量轻的实现算法在网络运行时重新配置需要。自我配置模型应该被设计以简化开发的传感器应用,节点应用程序和传感器网络应用程序。另一个可能的未来的工作是利用软件重新配置需要嵌入式系统环境。

表乍一看

表的图标
表1

数据乍一看

图1 图2 图3 图4
图1 图2 图3 图4

引用



























































全球技术峰会