主动无线传感器网络体系结构设计_)

主动无线传感器网络体系结构设计*)
罗娟 吕磊 刘慧中 李仁发
(湖南大学计算机与通信学院,湖南 长沙 410082)

摘 要: 无线传感器网络应用系统一般都基于某类特定应用或环境,目前缺乏通用的平台。本文提出了主动无线传感器网络体系结构。主动传感器网络在应用程序和操作系统之间增加执行环境层,即通用目的的中间件层,提供抽象化服务、各类管理功能以及执行环境,从而支持传感器网络的各类应用,减少应用程序开发周期。本文给出了基于移动代理的MobCor主动传感器网络的解决方案,MobCor使用通用目的的中间件模型,利用它可以灵活、快速的构建传感器网络应用。
关键词:主动无线传感器网络,移动代理,中间件

Design of Active Wireless Sensor Network Architecture
Luo Juan Lv Lei Liu Huizhong Li Renfa
(School of Computer and Communication, Hunan University, 410082, China)
Abstract Wireless Sensor Network application system is generally based in some special application or some special environment, and there is no common application platform nowadays. The general architecture of Active Wireless Sensor Network is proposed, Active Wireless Sensor Network architecture adds the Execution Environment layer between application and Operation System, that is the general purpose middleware layer, to provide the abstract service, kinds of management function and execution environment, therefore supports kinds of Wireless Sensor Network application, and decreases the developing period of application. . MobCor is the solution of Active Wireless Sensor Network, which is a general purpose mobile- based agent model , by using it we can design sensor network application more flexible and rapidly.
Keywords Active Wireless Sensor Networ,Mobile agent ,Middleware


1.引言

无线传感器网络(Wireless Sensor Network, WSN)在环境监测、医疗监护、军事、 家庭娱乐、工业、教育领域等的应用研究非常广泛[1]。在这些多样化的应用中,由于缺乏统一的网络标准,各类应用系统或中间件系统都是针对某类特定应用和特定环境的,因此,开发传感器网络应用程序需要花费很长的周期。不确定的系统软件和应用软件边界给系统软件设计者带来了一定的困惑。系统软件究竟应以什么样的方式来提供什么样的服务,究竟哪一种机制更适合传感器网络[2] ?
目前涉及中间件的系统有Mate[3]、Cougar[4]、SINA[5]、TinyDB[6]、Agilla[7]等。Mate和Agilla主要提供分布式任务管理;Cougar、SINA、和TinyDB采用类似数据库查询的方式提供数据管理功能。这些中间件系统仅提供某项服务,而不是通用目的的传感器网络中间件系统。通用目的的传感器网络中间件应具备网络服务管理、数据管理、分布式任务管理三

大功能[8]。
本文提出一种主动传感器网络体系结构。主动传感器网络将应用系统分成节点操作系统、执行环境和主动应用三层,分层次提供应用者各类服务,从而支持传感器网络的各类应用,减少应用程序开发周期。
2.主动无线传感器网络体系结构

Philip Levis等人在文献[3]中认为将动态计算引入到传感器网络中的过程即为主动传感器网络。 然而,他们仅在Tinyos上构建一个支持传感器网络动态编程的虚拟机Mate,而没有给出主动传感器网络的特性和体系结构。通过总结现有的文献和研究工作[3,9,10] ,主动传感器网络应具备如下特性:
网络节点发出的包可以是数据包,也可以是包括用户定制的程序代码的计算包。网络节点将提供一种标准的执行环境,不仅能转发数据包,也能让符合条件的计算包无差别的运行。网络节点对流经它的包能自主的决定其发送方式,如是否转发该包、发给谁等。用户或应用程序可以通过注入计算包来完成某一特定任务。
在主动传感器网络中不仅存在传统网络中"存储-转发"的处理模式,还将存在"存储-计算-判断-转发"处理模式。在资源极端受限的传感器网络中,实现如此的平台是一件艰巨的任务,开发者必须尽量细化模块,谨慎地安排系统资源。
2.1网络模型
主动传感器网络模型,如图1所示,主动传感器网络协议栈和功能模块映射图,共分为三层,节点操作系统,执行环境和主动应用层。节点操作系统同其他操作系统一样,提供物理设备的抽象和高协调性的通用函数实现;执行环境层按功能可分为网络服务管理、数据管理和任务管理三大模块;网络服务管理为应用者提供一系列网络服务,如服务发现、时钟同步等等;数据管理提供数据保存、数据获取、数据融合等服务;任务管理层负责任务分配、任务协同、任务迁移、任务调度、执行环境等功能。主动应用层利用执行环境层提供的服务构建网主动传感器络应用。



图1 主动WSN协议栈和功能模块

主动传感器网络首先从整体上细致地规划了各模块应提供的功能,避免从已有系统上构建中间件系统而出现功能重复等而导致资源浪费的缺点;其次,主动传感器网络将应用服务实行分层次提供,最大限度的利用了有限的传感器网络资源;第三,主动传感器网络在应用程序和操作系统(Oper- ate System OS)之间增加执行环境(Execution En- vironment,EE)层,即通用目的的中间件层,更合理的包装节点操作系统所提供的服务并为传感器网络应用提供更一般化服务和执行环境,减少传感器网络应用程序的开发周期,同时也更有效的

利用了传感器网络中有限的系统资源。最后,主动传感器网络结构作为一个整体提供给应用者,有利于灵活、快捷的开发传感器网络应用。
2.2 应用软件体系结构和无线中间件
MobCor模型,如图2所示,是通用目的的中间件模型,支持主动传感器网络,支持移动代理。移动代理可以看成一段代码,能够自主运行或提供服务,并在一定条件下能在网络中自主移动到其它节点上去执行,完成某一特定功能。为了更好的适应传感器网络的事件驱动本质,采用了基于策略的移动代理控制方式。代理由行为、事件、条件、数据组成。预先定义好的行为只有在规定事件发生时,且满足预定义的条件后才执行。在MobCor 中,节点首先根据传感器网络分簇算法,选择节点作为簇头,形成层次型传感器网络。随后,由簇头负责管理簇内节点之间的通信,分配任务到各个节点,融合并转发簇内数据包或来自其它簇的数据包到基站或其它簇头节点。

图2 MobCor移动代理模型

MobCor 应用程序由许多不同类型的代理够成,它们分散在整个网络中。从所有者角度看,代理可分为两类:系统代理和用户代理。系统代理由系统预定义,用来提供具有一般性的系统服务,如数据融合。这类代理或者定时被代理引擎调度,或者被特定事件触发。MobCor 提供的部分系统代理如下:
(1)数据融合代理
(2)事件代理,负责监控特定事件是否发生。
(3)报告代理,负责将节点数据上传给簇头或基站。
(4)节点同步代理,解决时间同步问题。
(5)任务分配代理
功能上,数据融合代理、报告代理属于数据管理层;节点同步代理属于网络服务管理层;任务分配代理属于任务管理层;事件代理属于主动应用层。在主动传感器网络中,不同的服务根据其功能分别由不同层次提供。
在MobCor中,不同类型的代理完成不同的任务;代理通过元组空间交换数据。大部分代理只在簇头和普通节点间移动,个别代理会在普通节点间移动。代理在移动到新节点并执行完任务后,将数据返回给原节点。图2中不同形状的代理代表不同类型的代理。
MobCor 模型提供给应用程序的不仅仅是系统服务或功能,还有执行环境,即允许网络中的计算包在不同节点上运行。MobCor是一种灵活的中间件模型,允许用户使用高层次的语言创造移动代理来简化编程;允许用户在任何时刻发送可以在网络中传播的代理来完成特定的任务;允许多个应用程序共享同一个网络。

3 MobCor设计
3.1 MobCor结构
MobCor结构,如图3所示,由代理管理器、代理引擎和元组空间构成。代

理管理器由代理仓库、代理上下文、代理操作集组成。代理仓库保存了节点当前所有的移动代理,包括系统预定义移动代理和接收的移动代理;代理上下文保存了节点上各个移动代理的执行环境、
状态及其所需的数据;代理操作集是代理管理器与代理引擎之间的接口。


图3 MobCor结构
代理引擎是MobCor的核心,控制节点上所有移动代理的执行过程,解释其所有指令。由于当前绝大部分传感器网络操作系统,如Tinyos[2],不支持动态内存分配机制,而移动代理又需求动态内存分配机制,因此它还提供内存动态分配功能。另外,代理引擎还运行一个简单的时间片轮转(round-robin)调度器,控制每个移动代理最多可以运行的指令,将移动代理置于不同的状态,阻塞或就绪或运行态.代理引擎也负责代理的发送和接收工作。
元组空间是共享的内存池,如同装满了元组的容器,供节点上所有代理访问。元组空间通常被用来实现代理间的通信和异步操作,提供store, wit- hdraw,find等原语。
代理管理器、代理引擎和元组空间构成了移动代理的执行环境,应用程序只需封装其移动代理来执行任务;系统预定义的移动代理被用作提供一般性的系统服务。
3.2 移动代理封装
一个移动代理就是一个特定的任务,在主动传感器网络中绝大部分任务需要节点之间协作完成。移动代理封装是指将任务运行的条件、代码、数据等组装成特定实体。移动代理封装过程是任务定制的过程,移动过程则是任务的分发过程。移动代理由行为、事件、条件、数据组成,如图4。

图4 代理结构
行为描述了移动代理所需执行的任务,由于移动代理通常需要额外的参数来确定其实际执行的操作,因此行为可以被分成两部分,一部分用来保存代码,另一部分用来保存参数。事件定义了代理被触发的事件,允许为空。一个条件是一个简单的表达式,由代理引擎负责判定,也允许为空。当事件被触发时,代理引擎判断是否满足其定义好的条件,如果满足则进入就绪或运行状态。数据段用于保存代理执行所需的数据。
移动代理被应用程序封装好后由代理管理器统一管理。代理管理器将移动代理存储在代理仓库中;代理引擎通过代理管理器提供的代理操作集来调度移动代理、执行任务。
3.3 移动代理的调度及执行
代理引擎周期地检查代理仓库、判断移动代理的条件是否满足、移动代理事件是否被触发、查看是否存在被挂起的代理;若条件符合,代理引擎将调度这个移动代理执行特定任务;否则,代理引擎将休眠;被调度执行的移动代理的

执行时间是有限制的,最多允许执行8条指令。移动代理的生命周期被划分为四个状态:创建态、移动态、静止态和结束态。 处于"静止态"的移动代理还可细分为阻塞或就绪或运行态,如图5所示,是移动代理状态切换图。正在执行的代理处于运行态;而代理条件满足以及代理事件被触发但未投入运行的代理为就绪态;代理条件不满足或事件未被触发的代理处于阻塞态。

图5 代理状态转换图
所有移动代理构成一个"权值"队列;处于阻塞态的权值为0;而就绪态的代理权值跟其上次被调用的时间和代理类型有关。MobCor中,事件检测类型的代理权值高于监控类型代理,上次运行时间越早的代理权值高于越晚的代理;代理总的权值是这两个因素叠加的结果。
3.4 移动代理协作
移动代理被创建后,通常还需要接收命令、跟其它的代理通信、协作等。移动代理之间的协作模型可归为4类:客户/服务,面向会议,基于黑板,基于Linda 模型[11]。我们采用了基于Linda的协作模型。基于Linda 模型的协作双方通过元组空间,实现了在不同时间和不同空间上进行交互,这种协作方式本质上适合移动性和开放性的应用.元组空间是一个规则数据库中所有元组的集合。元组是构成元组空间的最小单位,是规则域(field)的集合,每个域都是由类型(type)、值(value)字段组成。type字段指定的是数据类型,如int,string等;value指定该域的数值。MobCor 提供connect,disconnect, send,recive等原语来访问元组,除recive原语外其它原语皆为阻塞式操作。
图6描述了代理A将数据传递给代理B的协作过程。首先代理A保存数据到元组空间并触发代理B的事件;其后代理引擎调度代理B执行;最后代理B从元组空间获得数据。



图6 代理间的协作
4. 结束语
本文概括了主动传感器网络的特性、提出了主动无线传感器网络的结构、详细讨论了主动无线传感器网络的解决方案MobCor。分层次的主动传感器网络结构,给应用者提供网络服务管理、数据管理、分布式任务管理,缩短了应用程序的开发周期。MobCor利用移动代理技术来实现主动传感器网络的各项功能。下一步我们将在实际的工程应用中实现MobCor模型.

参考文献
[1] D. Puccinelli M. Haenggi Wireless Sensor Networks: Appl-
ications and Challenges of Ubiquitous Sensing Circuits and Systems Magazine, IEEE ,2005,5(3):19~31
[2] P.Levis et. al. T2: A second generation os for embedded sen- sor networks. Technical report, University of California, Berkeley,2005.
[3]

P. Levis, David Gay, and David Culler, "Active sensor ne- tworks," in In Proceedings of Usenix Network Systems Design and Implementation(NSDI), Boston, MA, USA., 2005.
[4] P. Bonnet , J. Gehrke and P. Seshadri . Towards Sensor Database Systems In:Proc. 2nd Int'l Conf. Mobile Data Management (MDM 01), 2001, 314-810.
[5] C. Srisathapornphat , C. Jaikaeo and C. Shen , Sensor Infor- mation Networking Architecture https://www.360docs.net/doc/6015159157.html,/10.1109/ICPPW.2000.869083, In:Proc. Int'l Workshop Parallel Processing, IEEE CS Press, 2000: 23-30.
[6] S.R. Madden , M.J. Franklin and J.M. Hellerstein . TinyDB: An Acquisitional Query Processing System for Sensor Networks,. ACM Trans. Database ystems,., 2005, 30(1):122~173.
[7] C.-L. Fok, G.-C. Roman, and C. Lu, Rapid development and flexibledeployment of adaptive wireless sensor network appcations. In Proceedingsof the 24th International Confe- rence on Distributed Computing Systems (ICDCS'05), 2005.
[8] B. Elen et. al. A Middleware Pattern to Support Complex Sensor Network Applications. ACM SIGPLAN, OOPSLA '06 Workshop onBuilding Software for Sensor Networks, 2006: 22~26.
[9] D.L.Tenenhouse and D. Wetherall. Towards an Active Network Architecture. Multimedia Computing and Networking 1996.
[10] 钱洁. Active Network 技术的研究及在网络管理中的应用:[硕士论文] 成都:电子科技大学,2004
[11] 王一雄,王 浩,顾红飞 一种移动Agent 通信协作模型.计算机工程,32(4):122~124,127


罗 娟等:主动无线传感器网络体系结构设计

*)基金项目:国家自然科学基金(60673061),高等教育学校博士点基金(20060532024),湖南省自然科学基金(06JJ50111,06JJ50113),长沙市科技攻关项目(K069015-12) 资助。罗娟,副教授,博士,主要研究领域为无线通信、无线传感器网络;吕磊,硕士研究生,主要研究领域为无线通信、无线传感器网络;刘慧中,硕士研究生,主要研究领域为无线通信、无线传感器网络;李仁发,教授,博导,主要研究方向为嵌入式系统。


相关文档
最新文档