第七章-无线传感器网络中间件.ppt_第1页
第七章-无线传感器网络中间件.ppt_第2页
第七章-无线传感器网络中间件.ppt_第3页
第七章-无线传感器网络中间件.ppt_第4页
第七章-无线传感器网络中间件.ppt_第5页
免费预览已结束,剩余104页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

无线传感器网络技术及其应用 课程目录 7 1 7 2 无线传感器中间件体系结构及功能 典型的无线传感器网络中间件 基于Agent的无线传感器网络中间件DisWare 7 3 7 4 7 5 DisWare中间件平台软件MeshIDE 无线多媒体传感器网络中间件技术 7 1 无线传感器中间件体系结构及功能 通用的中间件体系结构及功能 体系结构的设计原则 已有的不同无线传感器网络中间件体系结构 7 1 1 7 1 2 7 1 3 7 1 无线传感器中间件体系结构及功能 中间件是介于操作系统 包括底层通信协议 和各种分布式应用程序之间的一个软件层 主要作用是建立分布式软件模块之间互操作的机制 屏蔽底层分布式环境的复杂性和异构性 为处于上层的应用软件提供运行与开发环境 帮助用户灵活 高效地开发和集成复杂的应用软件 1 通用的中间件体系结构及功能 7 1 1 7 1 无线传感器中间件体系结构及功能 通用的中间件体系结构及功能 7 1 1 无线传感器网络中间件和平台软件体系结构 网络适配层 基础软件层 应用开发层 应用业务适配层 无线传感器网络节点嵌入式软件的体系结构 无线传感器网络应用支撑结构 7 1 无线传感器中间件体系结构及功能 通用的中间件体系结构及功能 体系结构的设计原则 已有的不同无线传感器网络中间件体系结构 7 1 1 7 1 2 7 1 3 7 1 无线传感器中间件体系结构及功能 体系结构设计原则 7 1 2 面临的主要挑战 硬件资源 可扩展性及网络拓扑的自适应性 网络异构性 网络动态拓扑和稳健性 以数据为中心 安全性 应用相关 支持QoS 7 1 无线传感器中间件体系结构及功能 通用的中间件体系结构及功能 体系结构的设计原则 已有的不同无线传感器网络中间件体系结构 7 1 1 7 1 2 7 1 3 7 1 无线传感器中间件体系结构及功能 已有的不同无线传感器网络中间件体系结构 7 1 3 一 基于Agent的面向应用的中间件体系结构 二 基于分簇的中间件体系结构 三 基于组件的中间件体系结构 四 基于QoS的中间件体系结构 7 1 无线传感器中间件体系结构及功能 已有的不同无线传感器网络中间件体系结构 7 1 3 体系结构参考模型 7 1 无线传感器中间件体系结构及功能 已有的不同无线传感器网络中间件体系结构 7 1 3 主要两个研究方面 1 面向应用的无线传感器网络中间件工作模式 2 基于Agent的无线传感器网络编程模型 面向应用的无线传感器网络中间件需要提供具有通用性能的标准组件 保证节点和网络的透明性 负责传感器节点 网络系统的资源管理 动态环境分析及支持普遍适用的分布式应用 基于Agent的无线传感器网络编程模型包括全新的软件设计框架和方法 将在开放 可扩展 自适应 自配置 自整合的无线传感器网络环境中 整合新的业务模型 根据分布式网络特性 实现更符合实际的应用软件 7 1 无线传感器中间件体系结构及功能 已有的不同无线传感器网络中间件体系结构 7 1 3 一 基于Agent的面向应用的中间件体系结构 二 基于分簇的中间件体系结构 三 基于组件的中间件体系结构 四 基于QoS的中间件体系结构 7 1 无线传感器中间件体系结构及功能 已有的不同无线传感器网络中间件体系结构 7 1 3 体系结构参考模型 7 1 无线传感器中间件体系结构及功能 已有的不同无线传感器网络中间件体系结构 7 1 3 分层 1 簇层 2 资源管理层 负责监测区域内节点的簇的形成 作为中间件的关系组件 资源管理层管理着资源的分配和分发 如满足应用层的QoS需求 7 1 无线传感器中间件体系结构及功能 已有的不同无线传感器网络中间件体系结构 7 1 3 一 基于Agent的面向应用的中间件体系结构 二 基于分簇的中间件体系结构 三 基于组件的中间件体系结构 四 基于QoS的中间件体系结构 7 1 无线传感器中间件体系结构及功能 已有的不同无线传感器网络中间件体系结构 7 1 3 体系结构参考模型 7 1 无线传感器中间件体系结构及功能 已有的不同无线传感器网络中间件体系结构 7 1 3 主要包括4个部分 1 中间件层 2 本地操作系统层 体系结构中的最高层 封装了具有操作系统的节点功能的组件 3 硬件抽象层 4 节点层 什么样的硬件在无线传感器网络中占主宰地位是一个重要的问题 节点层是体系结构中的最底层 7 1 无线传感器中间件体系结构及功能 已有的不同无线传感器网络中间件体系结构 7 1 3 一 基于Agent的面向应用的中间件体系结构 二 基于分簇的中间件体系结构 三 基于组件的中间件体系结构 四 基于QoS的中间件体系结构 7 1 无线传感器中间件体系结构及功能 已有的不同无线传感器网络中间件体系结构 7 1 3 体系结构参考模型 课程目录 7 1 7 2 无线传感器中间件体系结构及功能 典型的无线传感器网络中间件 基于Agent的无线传感器网络中间件DisWare 7 3 7 4 7 5 DisWare中间件平台软件MeshIDE 无线多媒体传感器网络中间件技术 7 2 典型的无线传感器网络中间件 Impala MiLAN AMF 7 2 1 7 2 2 7 2 3 DSWare 7 2 4 MSM 7 2 5 DFuse 7 2 6 SensorWare 7 2 7 Agilla 7 2 8 TinyDB 7 2 9 7 2 典型的无线传感器网络中间件 Impala 7 2 1 设计目标 它是一个轻量级的中间件 其设计目标是能够在无线传感器网络里实现应用程序模块性 适应性 提高系统的可靠性和能量效率 体系结构 应用层 中间层 固件层 包括所有的应用协议和程序 包括操作调度器 网络接口以及3类中间件代理 应用适配器 应用更新器和事件过滤器 包括访问和控制各种硬件组件的程序 5种类型的事件定时器事件分组事件发送完成事件数据事件设备事件 6个固件模块CPU固件无线电固件GPS固件Flash固件定时器固件监视固件 7 2 典型的无线传感器网络中间件 Impala 7 2 1 调度并协调系统操作时 Impala面临的硬件属性和限制 第一 添加了GPS的时间校准器允许网络范围的操作同步 第二 电压的规则变化使得同步无线收发器和GPS操作受阻 第三 无线电唤醒时间影响网络通信调度 第四 可能的长时间的GPS采集导致GPS采集操作不能同步 第五 因为GPS和FLASH共享一个端口 所以不能同时访问GPS和FLASH 7 2 典型的无线传感器网络中间件 Impala 7 2 1 Impala的事件处理模型解决的3个基本问题 传感器网络系统要求高效的基于事件的应用程序设计接口 并发性是传感器网络系统的固有属性 传感器网络系统期望有事件优先级 Impala通过事件抽象模块将不同的硬件中断分装进抽象事件里 在保持应用层处理粒度的同时简化了应用程序设计 Impala有分层的事件处理模型 可以在短时间内处理简单的硬件中断 在长时间内处理复杂软件事件 Impala的事件过滤器为每种类型的事件维护一个事件队列 并为每个队列协商一个事件处理优先级 7 2 典型的无线传感器网络中间件 Impala MiLAN AMF 7 2 1 7 2 2 7 2 3 DSWare 7 2 4 MSM 7 2 5 DFuse 7 2 6 SensorWare 7 2 7 Agilla 7 2 8 TinyDB 7 2 9 7 2 典型的无线传感器网络中间件 MiLAN 7 2 2 基本概念 MiLAN MiddlewareLinkingApplicationsandNetworks 是一种新型的传感器网络中间件 它允许传感器网络应用程序指定质量要求并且能在满足质量要求的情况下调整网络特性以延长应用程序的生命周期 7 2 典型的无线传感器网络中间件 MiLAN 7 2 2 体系结构 该MiLAN中间件能够接收应用程序需求的描述 监控网络条件 优化传感器节点和网络的配置以延长应用程序的生存时间 不同于传统的位于应用程序和操作系统之间的中间件 MiLAN的体系结构扩展到了网络协议栈 为了更好的为应用程序服务MiLAN必须知道 1 应用程序感兴趣的变量 2 每个变量的QoS需求 3 每个节点或其集合的数据可以提供给变量的QoS级别 该中间件将应用需求和网络管理一起集成在一个单独统一的中间件系统上 通过这样的紧密结合 中间件可以用应用性能来换取网络代价 但仍然保持应对动态环境的策略 并实现策略和策略实现机制之间的分离 它有助于传感器网络应用程序的发展 7 2 典型的无线传感器网络中间件 Impala MiLAN AMF 7 2 1 7 2 2 7 2 3 DSWare 7 2 4 MSM 7 2 5 DFuse 7 2 6 SensorWare 7 2 7 Agilla 7 2 8 TinyDB 7 2 9 7 2 典型的无线传感器网络中间件 AMF 7 2 3 基本概念 AMF AdaptiveMiddlewareFramework 采用以质量换取资源的方法来减少分布式传感器网络环境下数据采集的能量消耗 7 2 典型的无线传感器网络中间件 AMF 7 2 3 体系结构 该中间件支持基于精确性和基于预测性的自适应性 它包括传感器侧和服务器侧 AMF设想一个依赖于传感器侧和服务器侧且与基于精确性模型并行执行的两组件预测模型 AMF试图在信息采集的期间取得资源和质量之间的折中 就此而论 它在不损害结果准确性的情况下减少采样频率 samplingfrequency 7 2 典型的无线传感器网络中间件 Impala MiLAN AMF 7 2 1 7 2 2 7 2 3 DSWare 7 2 4 MSM 7 2 5 DFuse 7 2 6 SensorWare 7 2 7 Agilla 7 2 8 TinyDB 7 2 9 7 2 典型的无线传感器网络中间件 DSWare 7 2 4 基本概念 DSWare DataServiceMiddleware 层位于应用层和网络层之间 集成了各种实时数据服务 并为应用提供一个类似数据库的抽象 在这个体系结构中 由于DSWare中的组管理和调度组件可以提高路由协议的能量感知和实时感知性能 因此路由在DSWare层和网络层之间分离了 7 2 典型的无线传感器网络中间件 DSWare 7 2 4 体系结构 数据存储 数据缓存 组管理 事件检测 数据订阅 调度 DSWare是一个灵活的中间件 它是设计用来向应用提供一个更加一般的数据服务接口而隐藏传感器网络中一些不吸引人的特点 包括单个传感和通信的不可靠性 组协调的复杂性以及分布于整个网络的大量动态数据 应用可以摆脱复杂的传感器网络低级操作并能够利用类似于传统数据库的接口从传感器网络获取数据 7 2 典型的无线传感器网络中间件 Impala MiLAN AMF 7 2 1 7 2 2 7 2 3 DSWare 7 2 4 MSM 7 2 5 DFuse 7 2 6 SensorWare 7 2 7 Agilla 7 2 8 TinyDB 7 2 9 7 2 典型的无线传感器网络中间件 MSM 7 2 5 基本概念 MSM MiddlewareServiceforMonitoring 在传输层和应用层之间运作 它将一个无线传感器网络划分为两个区域 统治性部分和非统治性部分 dominantandnondominant 统治性部分包含一个充当中心访问点的网关并提供和transitnetwork的连接 非统治性部分将采用自主数据分配机制 ADDM 网关是一个智能协调器 记录传感器网络中的所有行为 7 2 典型的无线传感器网络中间件 MSM 7 2 5 体系结构 MSM的核心组件 被用于在无线传感器网络的设备间进行通信 MSM使用一个对象请求中介 objectrequestbroker ORB 作为连接传输层协议的接口 7 2 典型的无线传感器网络中间件 MSM 7 2 5 MSM的监控服务 负责发送和接受它的邻居节点的协调信息 在收到协调信息之后 协调管理器检查一张存储邻居节点的存储表 并分发数据 协调管理器还管理其他模块的功能 负责存储和处理传感器获得的临时数据并与协调管理器协商发送数据 负责数据的采集 决定了无线覆盖的范围 决定并变更统治性部分和非统治性部分的设备状态 7 2 典型的无线传感器网络中间件 Impala MiLAN AMF 7 2 1 7 2 2 7 2 3 DSWare 7 2 4 MSM 7 2 5 DFuse 7 2 6 SensorWare 7 2 7 Agilla 7 2 8 TinyDB 7 2 9 7 2 典型的无线传感器网络中间件 DFuse 7 2 6 基本概念 DFuse用于处理融合应用 是仅用于数据融合的中间件 数据融合关注基于数据的获取 过滤以及与其它相关联信息相关的信息的决策 这个过程应该需要一个合适的格式信息转换 可能是从单独或多个源获得的 7 2 典型的无线传感器网络中间件 DFuse 7 2 6 体系结构 两部分主要的运行模块 7 2 典型的无线传感器网络中间件 DFuse 7 2 5 融合模块 DFuse目的是为了实现在各种各样的adhoc网络环境下部署的分级融合功能 它提供四个移动融合点的代价函数的例子 在不考虑节点能量的情况下最小化传输代价 最小化能量变化 最小化传输能量消耗比率 考虑节点能量最小换发送代价 DFuse提供一个从根节点到源节点的网络节点的启发式角色分配 首先 为网络节点从根节点到源节点运行和部署一个初始的任务分配 然后允许每个节点局部地决定它是否想将角色迁移到它的任意一个邻居 它可以像一辆小车一样在原有的和改变的数据之间传递因果关系 7 2 典型的无线传感器网络中间件 Impala MiLAN AMF 7 2 1 7 2 2 7 2 3 DSWare 7 2 4 MSM 7 2 5 DFuse 7 2 6 SensorWare 7 2 7 Agilla 7 2 8 TinyDB 7 2 9 7 2 典型的无线传感器网络中间件 SensorWare 7 2 7 基本概念 SensorWare提供了语言和运行环境以支持无线传感器网络编程 语言模型 被用于执行分布式算法 为应用编程人员屏蔽一些不必要的细节 并能够在几个应用之间共享节点资源 分布式算法是在节点集合上执行的程序集合 SensorWare将这些程序称作移动控制脚本 Mobilecontrolscripts 7 2 典型的无线传感器网络中间件 SensorWare 7 2 7 SensorWare位于操作系统之上 使用操作系统的功能和服务 SensorWare为控制脚本提供运行环境 控制脚本完全依赖于SensorWare层 静态应用和服务与移动脚本共存 它们能够像使用操作系统的标准功能和服务一样使用SensorWare的某些功能 SensorWare在整个传感器节点体系结构中的位置 7 2 典型的无线传感器网络中间件 SensorWare 7 2 7 SensorWare的基本思想是通过移动控制脚本使得节点可编程 以主题相关的API将若干基本命令 功能组合在一起 使用术语API定义主题相关功能的集合 为一个资源或服务提供编程接口 SensorWare使用来自Tcl脚本语言的免费内核作为Glue内核 SensorWare中的语言部件 7 2 典型的无线传感器网络中间件 SensorWare 7 2 7 根据主动分布式模型 脚本看起来像是受外部事件影响的状态机 这样的外部事件包括网络消息 传感数据和定时器到期 采用的编程模型是 事件被描述 并和一个事件处理器的定义绑定 根据当前状态 事件处理器将会做出处理并可能创造出一些新的事件和 或 改变当前状态 SensorWare编程模型的一个例子 7 2 典型的无线传感器网络中间件 SensorWare 7 2 7 环境执行的基本任务 SensorWare将任务划分为固定的和平台相关的 固定任务通常包含在SensorWare的实现中 而平台相关任务依赖于节点平台的具体模块和服务 脚本管理器的任务是接受新的脚本产生请求 它将请求传递给接入控制任务并接收回复 并启动一个新的线程 任务 为新的脚本运行一个脚本解释器 脚本管理器也在脚本活动期间 保存任意脚本相关的状态 接入控制和资源使用策略任务负责所有的脚本接入决策 确保脚本在它们的资源限制之内 并且更重要的是检查总的能量消耗 如果整体呈现出巨大的消耗 则按照Sensorware的一定策略选择性的终止一些脚本 7 2 典型的无线传感器网络中间件 SensorWare 7 2 7 环境执行的基本任务 运行环境还包括资源抽象和资源计量任务 每个任务支持相关的API命令并管理具体的资源 这其中有两个固定的任务 因为每个平台都假设有至少一个 RADIO 任务和一个定时器服务 RADIO 任务从脚本中接受所要求的网络消息格式的请求 根据需要的脚本接受网络中的信息 并为每个脚本测量无线电利用率 定时器服务通过所有的脚本为定时器接受各种请求 并且为系统提供的嵌入式真实事件计时器服务 从根本上说任务依靠系统提供的单个定时器来提供多个虚拟的定时器 7 2 典型的无线传感器网络中间件 SensorWare 7 2 7 即使两个平台具有相同的能力 即同样的模块 服务 它们也依赖于不同的硬件和 或 操作系统 因此SensorWare的代码分为不会改变的 平台独立的代码 和随平台能力变化的 设备定义代码 7 2 典型的无线传感器网络中间件 Impala MiLAN AMF 7 2 1 7 2 2 7 2 3 DSWare 7 2 4 MSM 7 2 5 DFuse 7 2 6 SensorWare 7 2 7 Agilla 7 2 8 TinyDB 7 2 9 7 2 典型的无线传感器网络中间件 Agilla 7 2 8 基本概念 Agilla它在简化应用程序开发的同时增加了网络的灵活性 Agilla网络的配置不需要预先安装应用程序 用户通过注入跨越节点传播的移动代理来执行特定的应用程序任务 每个代理都是自治的 允许多个应用程序共享一个网络 7 2 典型的无线传感器网络中间件 Agilla 7 2 8 体系结构 维护每个代理的上下文 决定代理和它的邻居的位置信息 指令管理器指定到达代理所需要的指令内存数量并为代理代码分配所需的最小数目的内存空间 元组空间管理器实现所有的非阻塞元组空间操作 并且管理本地元组空间的内容和反馈注册 阻塞操作在代理内部实现 元组空间管理器为每个元组分配存储空间 7 2 典型的无线传感器网络中间件 Agilla 7 2 8 应用 入侵检测 主要检测中间件被部署在无线传感器网络周围 当入侵者打破了一个网络的一个边界 在破洞附近的中间件会跟随中间件并且克隆一个边界 注意只有节点附近的入侵者参与跟踪过程 其他节点都在服务于别的应用 实物跟踪 如一个多跳的无线传感器网络部署在货柜上 每一个货柜都装有一个附带电源的传感器节点 通过射频识别标签 这些节点可以决定其功能 如那些检测入侵或违反协议的检测传感器 这些中间件可以代替货柜查明哪些是重要的货物或者需要检查的货物 当然Agilla中间件的发展也有许多问题 传感器网络节点的计算资源有限 例如 MICA2节点只拥有128KB的指令和4KB的数据存储 还有一个相对缓慢的8MHZ处理器 并且由于只能提供非常小的带宽 38 4Kbaud 无线传感器之间的连接非常不稳定 受到迁移和复制能力的限制 移动中间件还特别容易丢失信息 因此 在设计中间件的时候我们要注意以上问题 7 2 典型的无线传感器网络中间件 Impala MiLAN AMF 7 2 1 7 2 2 7 2 3 DSWare 7 2 4 MSM 7 2 5 DFuse 7 2 6 SensorWare 7 2 7 Agilla 7 2 8 TinyDB 7 2 9 7 2 典型的无线传感器网络中间件 TinyDB 7 2 9 基本概念 TinyDB是加州大学伯克利分校开发的传感器网络数据管理中间件系统 为用户提供了一个简洁 易用 类SQL的应用程序接口 7 2 典型的无线传感器网络中间件 TinyDB 7 2 9 主要特征 提供元数据管理 提供了丰富的元数据和元数据管理功能以及一系列管理元数据的命令 支持说明性查询语言 提供了类似于SQL的说明性查询语言 提供有效的网络拓扑管理 通过跟踪节点的变化来管理底层无线网络 维护路由表 并确保网络中的每一个节点高效 可靠地将数据传递给用户 支持多查询 支持在相同节点集上同时进行多个查询 每个查询都可以具有不同的采样率 访问不同类型的感知属性 TinyDB还能够在多个查询中有效地共享操作 提高查询处理的速度和效率 可扩展性强 只需简单地将标准TinyDB代码安装到新加入的节点上 该节点就可以自动加入到TinyDB系统 7 2 典型的无线传感器网络中间件 TinyDB 7 2 9 体系结构 主要包括客户端 TinyDB服务器和传感器网络三部分 传感器网络的数据被分为传感器数据 常量数据和内省数据三类 这三类数据都对应着Sensors表中的属性字段 TinyDB是从无线传感器网络上提取信息的查询处理系统 对无线传感器网络进行了封装 将之抽象为一个数据库系统 其目的是使用户的开发工作更加简单 即用户不再需要使用NesC语言对网络节点 Mote 进行嵌入式编程 而是操作数据库 使用一种简单的类SQL语言直接提取数据 TinyDB屏蔽了无线传感器网络的细节 通过作为应用接口的数据库前端 用户看到的是一个数据库系统 只需要使用类SQL进行数据查询检索即可 第二部分是运行在每一个节点上的嵌入式查询执行引擎 负责分布式地完成查询请求 对于用户透明 TinyDB支持的另一类查询是基于事件的查询 在TinyOS操作系统中可以定义注册一系列的事件 当这些事件发生时 来触发查询 TinyDB的前端是用户的应用程序和无线传感器网络的接口 它的主要功能包括以下几个方面 查询请求的接收 验证 优化 查询的管理和查询结果的接收 发送控制命令 基于TinyDB的应用开发方面 在无线传感器网络数据库TinyDB的支持之下 应用程序只需要从数据库中提取数据 然后处理获取的信息 重要的是实现自己的应用逻辑 开发的流程得以简化 对于无线传感器应用的开发者 只需要掌握传感器网络所提供的数据信息和TinyDB的功能即可 课程目录 7 1 7 2 无线传感器中间件体系结构及功能 典型的无线传感器网络中间件 基于Agent的无线传感器网络中间件DisWare 7 3 7 4 7 5 DisWare中间件平台软件MeshIDE 无线多媒体传感器网络中间件技术 无线传感器网络的应用领域 7 3 基于Agent的无线传感器网络中间件DisWare DisWare体系结构 DisWare关键技术 7 3 1 7 3 2 DisWare中间件 7 3 3 7 3 基于Agent的无线传感器网络中间件DisWare DisWare的体系结构 7 3 1 DisWare兼容Agilla 支持异构无线传感器网络操作系统 由无线传感器网络应用支撑层 无线传感器网络基础设施 基于无线传感器网络应用业务层的一部分共性功能 以及管理 信息安全等部分组成 在该体系结构模型中 DisWare具有可扩展的结构 工作引擎是基于Agent的无线传感器网络中间件的核心 在底层系统Agent抽象与集成的基础上 并通过基于Agent的框架接口为无线传感器网络应用的开发 维护 部署和执行提供支持 Agent实现的无线传感器网络中间件组件库由可选择的组件组成 包括各种描述行为的算法组件 功能组件 各类其他可重复利用的服务应用模块以及独立于应用的虚拟机组件 7 3 基于Agent的无线传感器网络中间件DisWare DisWare的体系结构 7 3 1 使用Agent构建DisWare能够提供更高的鲁棒性和可靠性 基于Agent的抽象和方法也将为无线传感器网络提供易用的 有表现力的编程接口 其主要优点 DisWare将不是被动对象的组合 Agent间以及Agent和环境间的交互决定了整个系统的运作 Agent的控制流比对象更具有地域性 在DisWare中 Agent具有明确的分工 控制流只能影响相应的Agent Agent可以利用建模模块 规划模块进行判断和分析 对环境信息进行筛选和判断 减少了控制流的影响 DisWare中每个Agent可以密切地与外界环境和其他Agent进行信息交互 使自己的建模模块和规划模块及时调整 使之更加适应环境的变化 DisWare具有可扩展的结构 Agent结构中有很多功能模块接口 通过这些接口 Agent可以灵活地应用已有的面向对象程序和代码 具有很好的兼容性 Agent内核和功能组件能够分离 根据需求在统一的框架下选取合适的功能组件接到Agent内核上 构成需要的Agent 这样就提高了DisWare配置的灵活性 软件的重用性以及易维护性 DisWare以基于Agent的计算和以Agent为主体的高层交互解决无线传感器网络异构性 以面向Agent的编程模型实现易用的 有表现力的编程接口 通过基于Agent的框架接口和符合应用需求的 自治模块化的Agent组件来满足架构于具有不同介质 不同电气特性 不同协议的基础网络和业务应用之间的无线传感器网络应用系统构建需求 7 3 基于Agent的无线传感器网络中间件DisWare DisWare体系结构 DisWare关键技术 7 3 1 7 3 2 DisWare中间件 7 3 3 7 3 基于Agent的无线传感器网络中间件DisWare DisWare关键技术 7 3 2 Agent迁移机制 异构操作系统通信模型 7 3 基于Agent的无线传感器网络中间件DisWare DisWare关键技术 7 3 2 Agent迁移机制 强移动和弱移动 移动机制和移动策略 划分依据 Agent移动过程中传输的状态 3种移动状态 代码状态 数据状态和执行状态 强移动 指移动Agent在移动目的地 从Agent的断点处执行 包含代码状态 数据状态和执行状态的移动 弱移动 只携带代码状态和数据状态 根据需要只把移动Agent的部分执行状态存入数据状态中随Agent一起移动 传输的数据量有限 使得弱移动操作的开销小 执行效率高 但它改变了移动后的执行语义 强移动和弱移动 如何实现和规划移动Agent在多主机间的移动是移动机制和移动策略所要解决的问题 移动Agent的移动策略是指根据Agent的任务 当前网络负载和服务器负载等外界环境 动态地为其规划出移动路径 使其在开销最小的情况下 最快 最好地完成任务 移动策略的优劣直接影响移动Agent的性能乃至任务的完成 移动策略一般可以分为静态路由策略和动态路由策略 7 3 基于Agent的无线传感器网络中间件DisWare DisWare关键技术 7 3 2 Agent迁移机制 异构操作系统通信模型 7 3 基于Agent的无线传感器网络中间件DisWare DisWare关键技术 7 3 2 异构操作系统通信模型 要开发独立于无线传感器网络操作系统的中间件必须要克服不同操作系统之间的异构性问题 其中最主要问题是如何实现异构系统平台之间的互通信能力 中间件DisWare主要在TinyOS 加州大学伯克利分校研制 和MantiOS 华盛顿大学计算机系研制 这两个异构操作系统上实现了兼容性 并对用户提供统一的移动代理支持机制和接口 其中的研究难点是如何实现两种异构操作系统之间的互通信能力 从而保证移动代理在异构操作系统之间的无困难迁移 7 3 基于Agent的无线传感器网络中间件DisWare DisWare关键技术 7 3 2 异构操作系统通信模型 TinyOS是一个基于事件驱动的深度嵌入式操作系统 并采用了主动消息通信与二级调度策略技术 事件驱动机制迫使应用程序在做完通信工作后 隐式地声明工作的完成 在TinyOS的调度下 所有与通信事件有关的任务将在事件产生时可以迅速进行处理 MantisOS是一种基于线程的开发模式 适合于大型应用程序的开发 也适用于内存和能量受限的环境 同时采用时间片轮转的多线程处理模式 从而具备多任务并行处理的功能 为了提供统一的中间件接口 中间件DisWare在不同的操作系统上采用统一的移动代理指令系统和代理运行机制 移动代理迁移机制上采用统一的数据结构定义和消息接收处理机制 而在异构操作系统之间的底层通信方面主要通过如下几种机制来屏蔽TinyOS与MantisOS等异构操作系统之间的差别 设置一致的物理层通信参数 通信频段 通信数速率等 设置一致的MAC层数据通信包格式 采用相同的MAC协议 设计相同的网络层通信协议 7 3 基于Agent的无线传感器网络中间件DisWare DisWare关键技术 7 3 2 异构操作系统之上的统一的移动代理平台模型 实现了底层通信问题之后 就可以采用相同的异构操作系统的应用设计方式来设计相同运行机制的移动代理平台 如图 DisWare提供给上层用户开发者的指令集部分都是共同的 但指令系统功能分别在两个操作系统上实现 这样可以屏蔽底层操作系统开发语言的不同 提供给用户的是与操作系统无关的移动代理指令系统 7 3 基于Agent的无线传感器网络中间件DisWare DisWare体系结构 DisWare关键技术 7 3 1 7 3 2 DisWare中间件 7 3 3 7 3 基于Agent的无线传感器网络中间件DisWare DisWare中间件 7 3 3 基于Agent的无线传感器网络中间件DisWare系统实现方案是在TinyOS与MantisOS等基础上 分别实现DisWare工作引擎和Agent管理组件 Agent错误处理组件 Agent指令管理组件 Agent指令底层实现组件 Agent环境管理组件 Agent邻居信息管理组件 Agent元组空间管理组件 Agent网络通信组件等 具体实现过程是不一样的 但其设计目的都是为了屏蔽原有操作系统 并在原有操作系统之上进行扩展 构建基于Agent的框架接口 提供相同的指令集 基于Agent的无线传感器网络中间件DisWare 基于Agent的无线传感器网络中间件DisWare系统实现方案 7 3 基于Agent的无线传感器网络中间件DisWare DisWare中间件 7 3 3 网络通信接口模块的设计 该模块为平台的消息发送和接收提供了一个公用的调用接口和统一的应用层消息封装格式 其他模块的一些操作需要调用该模块实现消息的发送和接收 如远程元组操作 代理迁移和网络拓扑管理等 网络接口模块 该模块采用线程机制实现一个独立的线程用于监听网络中的数据包 并采用队列实现数据包的临时存储 用于缓冲其他线程对该数据包的读写操作 将数据包添加到消息队列的同时通知消息处理模块进一步处理 另外 在模块中 同时实现了消息发送处理 能够接收从其他模块递交过来的任务 采用队列实现消息逐个发送 当同时有多个模块有消息需要发送时 都将消息添加到队列中 然后启动队列管理将消息单独发送到网络中 7 3 基于Agent的无线传感器网络中间件DisWare DisWare中间件 7 3 3 代理管理模块的设计 代理管理模块负责代理的运行 终止 迁移等任务 代理管理模块和其他模块接口 当运行一个代理时 管理模块首先将运行的代理号码存储到动态空间中 协调远程动态空间的请求 然后启动代理引擎模块执行代理的代码部分 在代理引擎模块 首先检查代理运行队列 把即将获得运行权利的代理添加到队列尾部 队列从首部取出等待运行的代理 并从代理基本信息参数中获得代理的代码块及代码块起始地址 取出代码块指向的指令 进入指令中转模块 执行相应的指令 待指令执行完毕 继续执行 直到取出8条指令运行 最后将代理添加到运行队列尾部 继续从队列首部取出等待运行的代理 重复上一步骤 直到代理的指令全部被取出执行 7 3 基于Agent的无线传感器网络中间件DisWare DisWare中间件 7 3 3 虚拟机执行引擎模块的设计 该模块虚拟机执行引擎主要充当虚拟机的功能控制代理程序的执行 主要控制逻辑 即取指令 执行 程序计数器递增三步循环 7 3 基于Agent的无线传感器网络中间件DisWare DisWare中间件 7 3 3 加密模块的设计 在DisWare中 数据的接收和发送是通过底层的通信模块实现的 加密模块的实现介于操作系统与应用之间 用户可以不了解加密的具体过程和底层操作系统 即对于操作系统及用户应用来说 这一加密流程是透明的 加密模块总体结构图 课程目录 7 1 7 2 无线传感器中间件体系结构及功能 典型的无线传感器网络中间件 基于Agent的无线传感器网络中间件DisWare 7 3 7 4 7 5 DisWare中间件平台软件MeshIDE 无线多媒体传感器网络中间件技术 无线传感器网络的应用领域 7 4 DisWare中间件平台软件MeshIDE 无线传感器网络集成开发平台MeshIDE是面向DisWare中间件所开发的辅助中间件平台软件 它利用Eclipse插件开发的优越性 在Eclipse环境下采用Java语言编制并通过插件方式来运行 具有很高的独立性及可移植性 同时 MeshIDE具有多扩展点 使得扩展用户需求工作变得简单易行 本节详细介绍中间件平台软件MeshIDE及其主要部件等 具体内容如下 MeshIDE概述 介绍平台的组成部分及平台使用的优越性 子平台MeshIDEforTinyOS设计流程 平台运行及应用实例 子平台MeshIDEforDisWare设计流程 平台运行及应用实例 1 7 4 DisWare中间件平台软件MeshIDE 无线传感器网络集成开发平台MeshIDE概述 无线传感器网络集成开发平台MeshIDEforTinyOS 7 4 1 7 4 2 无线传感器网络集成开发平台MeshIDEforDisWare 7 4 3 7 4 DisWare中间件平台软件MeshIDE 无线传感器网络集成开发平台MeshIDE概述 7 4 1 第二部分是面向DisWare中间件的无线传感器网络集成开发平台MeshIDEforDisWare 它主要为中间件代理编程提供平台 解决了支持的中间件控制语言编程的问题 方便用户通过代理来实现自己的各方面应用 第一部分是面向nesC的无线传感器网络集成开发平台MeshIDEforTinyOS 它是面对无线传感器网络软件开法语言nesC 21 的开发平台 解决了使用nesC语言进行无线传感器网络编程的问题 整个平台是在Eclipse环境下 通过插件方式来运行的 具有很高的平台独立性 扩展起来很方便 用户只需根据自己的需要来自定义扩展点 就可以获得有自己特色的平台功能 由于该插件是用Java编制的 所以平台的可移植性比较好 能够在多种平台下运行 同时 由于Eclipse本身定义了工作环境的许多扩展点 用户可以扩展和平台并行的功能 以增大平台对无线传感器网络中间件的支持能力 7 4 DisWare中间件平台软件MeshIDE 无线传感器网络集成开发平台MeshIDE概述 无线传感器网络集成开发平台MeshIDEforTinyOS 7 4 1 7 4 2 无线传感器网络集成开发平台MeshIDEforDisWare 7 4 3 7 4 DisWare中间件平台软件MeshIDE 无线传感器网络集成开发平台MeshIDEforTinyOS 7 4 2 无线传感器网络集成开发平台MeshIDEforTinyOS使用项目方式管理nesC应用开发 并提供了定制的nesC文本编辑器 MeshIDEforTinyOS集成开发平台需要使用TinyOSCygwin环境进行nesC代码的编译和发布过程 利用操作系统进程实现在平台下可视化编译和代码发布过程 无须打开Cygwin程序 无线传感器网络集成开发平台MeshIDEforTinyOS主要具有以下3个优点 缩短无线传感器网络软件开发流程 可视化代码编译和发布功能 良好的用户界面和可用性 7 4 DisWare中间件平台软件MeshIDE 无线传感器网络集成开发平台MeshIDEforTinyOS 7 4 2 平台设计目标和功能分析 传感器网络以应用为目标 传感器网络按其功能抽象基础层 传感器集合 网络层 通信网络 中间件层 数据处理和管理层 应用开发层 MeshIDEforTinyOS需要为应用程序员提供一个友好的集成开发平台 产生节点代码的统一编译格式 并完成代码编辑 编译和发布处理功能 MeshIDEforTinyOS在Eclipse平台环境上 利用插件开发的方法实现了一个项目生成向导 并具有一个包含代码编辑功能的编辑器 具有多个视图的 统一的 透视图的集成开发平台 形成一个友好的交互式的用户平台界面 并能向用户提供一些有效的信息 另外 需要将MeshIDE插件程序与TinyOSCygwin环境结合起来 实现在Eclipse平台下进行代码编译的功能 即make的过程能提供编译好的代码发送到的传感器节点上的功能 MeshIDE平台结构 7 4 DisWare中间件平台软件MeshIDE 无线传感器网络集成开发平台MeshIDEforTinyOS 7 4 2 MeshIDEforTinyOS模块设计 无线传感器集成开发平台MeshIDEforTinyOS插件主程序部分实现了在Eclipse平台下用插件实现能够开发nesC项目的用户平台 主要功能实现是nesC代码编辑管理 并提供一些与项目相关的选项和make视图部分 并能与TinyOS的编译环境进行信息交互 7 4 DisWare中间件平台软件MeshIDE 无线传感器网络集成开发平台MeshIDEforTinyOS 7 4 2 MeshIDEforTinyOS模块设计 项目生成向导模块 编辑器模块 透视图模块 编译模块 配置模块 项目生成向导模块的功能是引导用户输入新MeshIDEforTinyOS基本信息 并选择开发所需要使用的节点环境 编辑器模块的功能是在透视图中提供一个文本编辑区域 允许用户在工作台中编辑nesC代码 透视图在工作台窗口内部提供附加组织层 透视图是使用IPerspectiveFactory来实现的 编译模块是进行代码编译操作启动的模块 它监听用户单击Make动作 并获取make的参数 通过IEnvironment接口与TinyOSEnvironment进行信息交互 配置模块包括配置编译环境的属性页和项目首选项两部分 7 4 DisWare中间件平台软件MeshIDE 无线传感器网络集成开发平台MeshIDEforTinyOS 7 4 2 TinyOSEnvironment编译环境模块设计 TinyOSEnvironment模块的主要功能是与MeshIDEforTinyOS和TinyOSCygwin的环境进行交互 提供代码编译和发布的功能 在编译或发布代码时 将使用一个执行模块 通过使用操作系统进程来操作TinyOSCygwin 这个执行模块同时通过执行TinyOSCygwin来获取相应的平台和make操作的extra选项信息 有了这些选项 可以方便地通过菜单选项来控制TinyOSCywin进行各种操作 大大方便了编译发布代码的操作过程 7 4 DisWare中间件平台软件MeshIDE 无线传感器网络集成开发平台MeshIDEforTinyOS 7 4 2 TinyOSEnvironment编译环境模块设计 环境模块 执行模块 环境模块是MeshIDEforTinyOS与TinyOSEnvironment的接口 它实现了meshIDE ep包中的3个接口 通过这个模块 可以实现MeshIDEforTinyOS和TinyOSEnvironment环境的信息交互 无论在编译代码 发布代码或者在获得节点编译参数的过程中 都需要环境模块和MeshIDEforTinyOS中的接口进行数据传递 这些功能都是由该模块实现的 执行模块的主要功能是执行节点编译和发布的具体操作 即主要用于执行make操作 执行模块的最终任务是通过TinyOSCygwin执行对nesC代码执行make操作 从而编译和发布代码至传感器节点 执行操作系统进程 ProcessBuilder 分为4个步骤 即保存原有加载点 设置加载点 执行命令行和恢复加载点 7 4 DisWare中间件平台软件MeshIDE 无线传感器网络集成开发平台MeshIDEforTinyOS 7 4 2 MeshIDEforTinyOS平台运行 MeshIDEforTinyOS集成开发环境作为Eclipse的插件在执行开发任务时必须启动Eclipse平台 MeshIDEforTinyOS集成在Eclipse当中具有良好的用户界面 对于熟悉Eclipse的开发人员更加容易熟悉其使用 在使用MeshIDEforTinyOS时 需要打开MeshIDE透视图 7 4 DisWare中间件平台软件MeshIDE 无线传感器网络集成开发平台MeshIDEforTinyOS 7 4 2 MeshIDEforTinyOS平台运行 平台界面是用户在开发nesC项目时所面对的MeshIDE透视图 它的主要组成部分有项目导航 nesC编辑器 控制台返回信息和MakeOption视图 7 4 DisWare中间件平台软件MeshIDE 无线传感器网络集成开发平台MeshIDE概述 无线传感器网络集成开发平台MeshIDEforTinyOS 7 4 1 7 4 2 无线传感器网络集成开发平台MeshIDEforDisWare 7 4 3 7 4 DisWare中间件平台软件MeshIDE 无线传感器网络集成开发平台MeshIDEforDisWare 7 4 3 面向中间件的无线传感器网络集成开发平台MeshIDEforDisWare负责在PC机完成用户对中间件的应用编程 是面向中间代理编程的新型编程方法 构成了整个中间件的操作平台 支撑运行在无线传感器网络中的每个代理的控制体系 很好地发挥了整个中间件平台的优越性能 7 4 DisWare中间件平台软件MeshIDE 无线传感器网络集成开发平台MeshIDEforDisWare 7 4 3 MeshIDEforDisWare的设计目标是提供一个人性化的 可供集成的优秀代理编程平台 平台设计目标和功能分析 MeshIDEforDisWare的主要功能是针对无线传感器网络中间件应用程序的开发 通过提供诸如向导 编辑 插入等辅助功能使得用户可以快速地开发无线传感器网络中间件应用 7 4 DisWare中间件平台软件MeshIDE 无线传感器网络集成开发平台MeshIDEforDisWare 7 4 3 MeshIDEforDisWare平台架构 MeshIDEforDisWare不依赖于具体哪个DisWare的应用 它通过定义一系列的功能接口来实现对中间件代理的管理和控制 MeshIDEforDisWare定位为面向无线传感器网络中间件应用的开发平台 通过不同的应用开发 实现中间件代理的不同功能 7 4 DisWare中间件平台软件MeshIDE 无线传感器网络集成开发平台Mes

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论