第11章_智能空间关键技术与应用-final_2

第11章 智能空间关键技术与应用11.1引言智能空间技术是一种将计算设备嵌入到工作和生活空间、为用户提供自然的人机交互接口的普适计算技术。它是随着计算、通讯和相关技术的迅速发展,各种形态的传感装置、计

第11章 智能空间关键技术与应用

11.1引言

智能空间技术是一种将计算设备嵌入到工作和生活空间、为用户提供自然的人机交互接口的普适计算技术。它是随着计算、通讯和相关技术的迅速发展,各种形态的传感装置、计算和通讯设备迅速出现和应用而带来的一种新模式。在智能空间中,各种可见或不可见的传感器、执行装置、通讯、计算和交互设备将为人们创造一个更好的生活和工作环境。 美国国家标准和技术学会(NIST )把智能空间定义为:“一个嵌入了计算、信息设备和多模态的传感器的工作空间,其目的是使用户能够非常方便地访问信息和获得计算机的服务,高效地进行单独工作或与其他人的协作”。智能空间普遍被认为是普适计算思想最集中和最重要的体现,是研究普适计算关键技术的实验床。

根据NIST 的定义,典型智能空间硬件的基本组成包括:RFID (radio frequency identification )卡及读取装置、多种的传感和执行装置、通讯(有线、无线)设施和计算设备等。其中,

(1) RFID 卡和读卡装置用于标识和识别智能空间中的物体和用户的身份,为各个实体分配一个唯一的ID 。智能空间通过RFID 读取装置,以非接触的方式,同时读取多个RFID 卡内存储的ID ,实现实体身份的识别。

(2) 传感装置用于收集和感知环境和用户的多种数据和信息,并通过通信系统传递给其他对象及用户。

(3) 执行装置能根据用户的需求、系统的状态和环境数据,执行和完成一系列的动作和行为,改变智能空间中的环境或物体的状态,为用户提供丰富的交互手段。

(4) 通讯设施能以异构的方式,通过多种通信方法和协议,实现智能空间中的数据传递,在各种环境实体和用户之间传递信息。

(5) 计算设备则负责完成对信息的处理。把各种数据和信息根据用户和应用的需求,进行相应的处理和存储,进行智能决策,并通过适当的机制完成反馈。

,

11.1.1智能空间的主要特征

智能空间需要物理空间和信息空间的高度融合。在这个融和的空间中,人们可以根据自己的需要,随时随地透明地获得数字化的服务。根据美国国家标准和技术协会定义,智能空间应具备的功能和为用户提供的服务包括如下6个内容:

(1) 能识别和感知用户及其动作和目的,理解和预测用户在完成任务工程中的需求。

(2) 用户能方便地与各种信息源进行交互。

(3) 用户携带的移动设备可以无缝地和智能空间中的基础设施进行交互。

(4) 能为用户提供丰富的信息展示。

(5) 提供对发生在智能空间的事件的记录,实现用户体验的检索和回放。

(6) 支持空间中多人的协同工作以及和远程用户的沉浸式协同工作。

根据这些要求,智能空间需要实现信息基础设施和周围环境的物理集成,设备之间可自主互操作。所谓物理集成,包含两个方面含义。一方面,信息空间的物理设备应该能被集成到代表物理世界的物理环境和设备中。通过嵌入计算、传感和无线通讯设备,物理设备能向环境中的其它设备报告自己的状态。另一方面,用户和信息基础设施所发生的交互,还需要受到所处的物理环境的限制和制约。

智能空间中的设备、装置和模块自主互操作,可协同地主动为用户提供服务,使得智能空间能实现立体和连续的交互通道。不同的智能空间也应该能够自主地进行交互,为用户提供服务。当一个智能空间的资源无法满足用户的请求时,智能空间可根据用户的需求向邻近的其它智能空间请求帮助,多个智能空间组成一个智能社区,协同实现用户的请求。 11.1.2 智能空间的关键技术

智能空间具有系统的高度分布性、资源异构性、设备可移动性以及系统的持久性和整合性等特点,而且要支持自主互操作,实现环境的自主发现和模块之间的自主协作。因此,在智能空间的设计和实现中,要考虑系统的可扩展性和实体之间的松散耦合等方面。而且由于移动设备的存在,要支持根据位置信息的环境自发现、支持异构的通讯信道和应用模块之间资源分配的协调机制等。

设计和实现智能空间的关键技术包括以下5个方面。

(1) 资源的描述和发现机制:为了便利地使用智能空间中的各种软硬件资源,实现模块之间的协作,需要为智能空间中的各种软硬件提供一致的描述方式,以描述资源的性质和外部接口。当系统需要使用某种资源时,可以根据需求,查找和发现满足需求的资源。

(2) 异构通讯方法:智能空间中不但存在计算设备的异构,而且,由于存在多种移动设备,需要发生交互的设备可能有完全不同的通讯方法。例如,使用无线通讯的无线传感装置,通过通信基础设施,可以和使用蓝牙通讯的手机等移动装置进行交互等。

228

,

(3) 信息交互模型:由于智能空间中很多设备仅具有有限的计算、存储和通讯能力,在设计和实现智能空间的信息交互模型时,必须考虑这些受限设备能力,避免大量信息在这些设备之间的传递。

(4) 数据汇聚方法:由于在智能空间中存在大量不同类型的传感器设备和RFID 设备,感知和获取的数据不但格式差异,而且物理含义也不同。如何有效地汇聚数据,满足不同应用的需求,是设计和实现智能空间的关键技术。

(5) 系统的可重构策略:智能空间不但要支持不同的应用,而且在生命周期的不同阶段,也有不同的应用重点。如何根据应用的需求,支持智能空间的重构,是需要研究和解决的重要问题和关键技术。

在后面几节中,将分别讨论智能空间设计和实现中的关键技术,并介绍典型的智能空间具体应用。

11.2 智能空间中的实体协同

在智能空间中,大量不同类型的系统需要分布式地协同工作,以满足用户需求。但由于系统的异构性,各种资源具有不同的功能、计算能力和通讯方式。这给在智能空间中实现协同带来了困难。为了实现智能空间中的资源协同,需要实现一致的资源接口描述和资源发现、异构网络的互通讯以及资源的组织管理等。

11.2.1 资源描述和发现机制

智能空间中的资源是指参与智能空间计算环境的主机软硬件环境、配置(configuration )及其它各种实体等。这些软硬件环境、配置和实体能直接或间接、单独或协同地为智能空间中的人机交互接口(用户接口)或者软硬件模块(系统接口)提供支持或服务。资源的描述和发现机制广泛用于多种分布式计算领域,如资源发现、负载平衡、基于多播的组通讯、网络缓存和普适计算领域等,资源的描述和发现也是各种高层网络服务的基础。

智能空间中的资源描述和发现机制,就是设计一种机制统一描述各种异构资源的能力和接口,使用户或者应用系统能够在智能空间中,根据自己需要资源的描述,快速、动态发现和使用需要的资源。而资源感知的数据,也应该能够根据智能空间中用户应用的需求,主动传递给用户和应用系统,进行必要的后续处理。

在互联网领域,网络资源的命名、描述和发现机制是整个互联网系统的核心。在这个领域,已经有了不少成熟的研究成果。相关领域的主要研究工作有以下几种:

(1) 网络资源命名系统。如DNS 是互联网中最常用的资源命名和发现机制,但是其功能也最简单,只能把固定的域名映射成IP 地址。描述性命名方式可以定义特定的描述语言

229 [9]

,

来描述资源。如Jini ,XML 等。尤其是以XML 为基础的RDF/OWL,更是在“语义Web ”中的资源描述和发现中发挥着非常重要的作用。但是这样的命名策略,往往对资源的描述存在诸多的限制,而且不适合资源受限设备的描述。

(2) 通用应用层命名服务。它可以提供不依赖于特定应用的应用层命名机制,如应用层广播和主动服务等。但是目前这些机制仍然严重依赖于网络层,并且和应用及实现高度相关。

(3) 分层命名机制。如资源的分层命名机制,但其实现和使用情况尚需要做进一步的验证。

在资源的发现机制方面,目前常用的有Jini ,SLP (Service Location Protocol ),UPnP 等。这些机制的功能和局限如表11.1所示:

表11.1 目前常用的网络资源发现机制

11.2.1.1 智能空间资源描述机制

为了实现资源的可描述性以及资源描述的通用性,使用了树形结构来描述智能空间中的资源,采用(属性,值)匹配对,从属性和值两个方面来描述资源。其中,属性指明了资源的分类方法,而值则表明了资源根据属性的具体分类。例如,可以使用“位置”属性来描述一个传感设备,而“入口”则是该传感设备的“位置”属性的值。在这种(属性,值)匹配对的资源机制中,没有预定义的属性和值域,应用程序和用户可以根据自己的需要自由定义属性集和属性的值域。使用(属性,值) 匹配对描述资源的某个特定属性取值为指定的值,如某个传感器节点具有属性(位置,仓库入口)则表明该设备的位置是仓库入口处。

由于单个的(属性,值)匹配对并不能提供对资源的详细描述,可以使用(属性,值)匹配对列表来进一步描述资源。如(方位,右侧)属性可以进一步描述(位置,仓库入口)这个属性。这样,智能空间中资源的描述可以形成了一个树形结构,其树根的值为空,第一层节点为高层属性的名称,属性节点的子节点为属性值,其下层子节点则为其进一步描述的子属性名,如图11.1所示。

230

,

图11.1 资源的树状描述

使用这样的(属性、值)匹配对列表的描述机制,应用系统和组织可以根据实际的需要,自由定义智能空间中资源的属性,并从不同的角度进行描述,实现资源的充分可描述性。同时这样的描述机制也具有高度的通用性。这种资源描述方法,可以用下面数据结构进行表示,数据结构中包含一个(属性,值) 匹配对作为根,(属性,值)匹配对中包含一个属性名、属

性的取值以及后续子描述的一个匹配对列表。属性名和属性值目前都用字符串标识,使用等号(=)连接起来。子描述列表使用括号(“[”和“]”),跟在描述匹配对的后面。

整个数据结构可以用如下的BNF 范式进行描述:

例如,可以使用如下的方法来描述智能空间中的一个实体资源的类型、位置和访问方法:

,

资源描述树中的属性节点也可以有多个子值节点,用来描述该属性可能的取值范围。树中的节点按照层次划分,交替依次为值节点和属性节点。

在资源描述树中,为了方便实现资源的查找,值节点应包含如下4个属性:

(1) 变量value ,标识了该值节点的值。

(2) 链表children ,包含了该值节点所具有的所有属性节点。

(3) 变量parent ,标识了该值节点的父属性节点。

(4) 链表records ,包含了所有在此节点中的资源描述。

同样,属性节点应具有如下3个属性:

(1) 变量attribute 标识了该节点标识的属性名。

(2) 链表children 包含了所有该属性节点的下层值节点,表示该属性节点的可能取值。

(3) 变量parent 标识了该属性节点的父值节点。

通过资源描述树机制,可以实现高效的智能空间资源描述解析和资源发现,便于应用系统的开发。同时,该机制也具有高度的可部署性,可以在网络中集中部署,或者多处部署同一资源描述树的多个备份,实现快速的资源发现和访问。

为了实现智能空间中的资源发现,针对这样的资源描述树,提供的操作有6种:

(1) LOOKUP-RESOURCE ,可以用来在树中查找指定的资源。可以使用递归的方法,把树中存储的属性节点及值节点和用户指定的描述进行匹配,找到需要的资源。

(2) LOOKUP-RESOURCES ,在树中查找符合指定描述的所有资源。这些资源描述的前缀和指定的描述相匹配。

(3) GET-RESOURCES ,返回树中存储的所有资源描述。

(4) ADD-RESOURCE ,在资源描述树中添加一个资源描述。

(5) REMOVE-RESOURCE ,在资源描述树中删除一个资源描述。

(6) FORWARD_DATA,应用程序可以调用该操作,把数据异步通过资源描述树发送给和描述匹配的资源,调用后立即返回,继续执行。资源描述树负责找到和描述相匹配的资源,完成数据传递。

通过这些操作,不但可以维护资源描述树,在描述树中增加和删除资源描述,而且可以查找指定描述的资源,给出资源的列表,实现资源的发现,并能进行应用和资源之间的异步数据传递。但是这样的资源描述树只适合在一个智能空间中使用。对于跨越多个智能空间资源发现和共享,需要在资源描述中增加用于资源共享的信息,并需要指定共享的限制,如可以指定条件,只能与满足指定条件的智能空间共享等。下面,讨论跨组织的资源发现机制。

为了实现跨智能空间的资源发现和共享,需要能把多资源描述树链接起来。为了使一个智能空间的资源描述可以被其他智能空间发现和使用,设计的方法是在描述共享资源时,增加一个Partition 属性和描述,其它组织的用户可以通过指定资源的Partition 属性值来发现和使用资源。没有Partition 属性描述的资源,只能在组织内部使用。如:

232

,

[Resource=sensor1,[Location = floor 4,[Room= 407]] 和

[Resource=sensor1,[Location = floor 4,[Room= 407]]

[Partition = “Sensor_Robot”]]

前一个资源只能被资源所属智能空间内的用户和应用发现和使用,后一个描述的资源,表示该资源可以被其它智能空间通过在需要的资源描述中指定Partition = Sensor_Robot组织检索、发现和共享使用。为了描述资源的共享限制,如资源只能被特定智能空间系统共享,可以在Partition 中添加(属性、值)匹配序列,对共享做进一步的限制,如:

[Resource=sensor1 [Location = floor 4,[Room= 407]]

[Partition = “Sensor_Robot”,[smartpace=”CS ”,]]]

表示该资源可以被智能空间(描述为smartspace=”CS ”)中的应用系统发现和共享使用。

采用这样的描述机制后,需要一个跨智能空间的共享资源描述管理器来管理多个共享的资源描述,存放各个智能空间共享的资源和资源的共享限制。该共享资源描述管理系统的结构可以采用智能空间内的资源描述管理树相似的树结构,但是共享资源描述管理树的叶节点是智能空间中的资源描述树中的资源描述。

应用系统或用户在需要使用其它组织共享的资源时,首先形成关于自身的描述、资源所属Partition 的描述和对资源描述, 然后,在共享资源描述管理树中根据对自己和资源所属组织的描述,查找到各个组织的资源树中共享的资源描述,把自己需要的资源和资源描述树中的资源进行匹配。

11.2.1.3 资源的调用方法

在上述资源描述方式的智能空间中,资源请求策略按照绑定(binding )方式来分,可以分为前绑定和后绑定两种。在前绑定方式中,资源请求者自己在智能空间的资源描述中进行检索,根据自己的需求,匹配智能空间中的资源描述。当检索到自己需求的目标资源时,根据资源描述的访问方式,通过智能空间,请求和目标资源建立连接,进行访问。

在后绑定方式中,资源请求者根据自己对目标资源的需求,创建需求资源的描述,并向智能空间提交,由智能空间进行目标资源的检索。在提交需求后,资源请求者可以根据自己的处理逻辑,继续自己的运行或者等待智能空间返回检索结果。智能空间在接收到资源需求描述后,在自己的资源描述树中,按照前面介绍的方法,进行资源检索。如果当前智能空间没有符合用户需求的资源描述,则在共享的资源描述树中,检索其它智能空间的共享资源。当检索到符合需求的目标资源后,把目标资源的访问方法法送给资源请求者。资源请求者接受到目标资源的访问方式描述后,可以和目标资源建立连接,进行资源的访问。显然,后绑定方式可以简化智能空间应用的开发。但是这种方式下,智能空间将承担繁重的资源检索任务。在需要频繁进行资源检索时,可能会影响系统的效率。

233

,

11.2.2基于代理的多网络通信机制

在智能空间中,存在多种通信方式和通信协议。如计算设备可能通过有线网络彼此连接,实现高效稳定的数据和信息交换;而传感器节点则可能通过无线方式,基于数据包(packet ),使用多跳(multihop )方式传送数据;用户携带的手机和PDA 设备,则可能使用蓝牙方式和其它智能空间中的实体相互通信。为了实现使用不同通信方式和协议的实体互联互通,可以使用代理(proxy )实现多种通信协议的相互转换。

除了通信协议的转换外,在智能空间中,代理还可以用来作为数据缓冲装置,在智能空间和应用系统之间进行内容适配和内容过滤等。通常,考虑代理软件对计算能力和内存的需求,代理要运行在使用连接骨干通讯方式和无线网络的计算机设备上,在智能空间中,使用代理方式进行通讯的优点在于如下三个方面:

(1) 所有通信协议的转换都可以通过代理完成,这样使多种应用程序可以在智能空间中使用。

(2) 协议和内容转换需要的处理可以在需要时分散到其它的实体处理,降低了对实体的处理能力的要求。

(3) 可以实现在不同通讯层的数据转换,这样可以根据无线连接的具体情况,对代理进行定制开发等。

代理是一种处理动态内容适配的常用方法。现在已经有一些通用的代理框架,可以定制或扩充,来解决特定的问题。如Internet 工程任务组提出的OPES ,提供了一个解决安全、分布和动态配置的Web 代理参考框架。在此,我们讨论智能空间中代理框架的常用机制。代理框架通常需要实现的主要功能有:①适配模块(adapter )的实现和组合;②适配模块使用条件的描述机制;③监视通信的语境,如网络带宽、应用的状态等;④适配模块的载入。

1. 适配模块开发

代理框架中最重要的部分就是适配模块。适配模块实现不同通信协议的转换。一个代理可以使用多个适配模块实例,以满足不同应用和语境需要的内容适配和协议转换。考虑应用的当前语境,代理在运行时决定使用的适配器类型。在某些情况下,可能需要多个适配模块组合完成通信协议的转换和内容的适配。此时,代理框架需要支持对适配模块的优先级、排序和组合等的定义。代理框架在设计时,通常要考虑可扩展性。通常使用基于组件的方法来开发和实现适配模块以及实现适配模块的动态载入机制。

2. 适配模块选择

适配模块的选择以及使用时机是代理框架的一个可扩展的特征,可以使用可编程接口或基于规则的配置两种方法来定义。在第一种方法中,应用程序的需求和要用的适配模块必须使用代理框架提供的应用程序接口编程实现。在基于规则配置的方法中,开发者必须定义规则。规则中包含使用客户的网络状态(语境)描述的触发条件;执行的适配模块和规则的优234

,

先级等。规则可以使用XML 进行描述。代理框架在转发消息时,根据语境和转发的内容,在规则库中查找,确定需要使用的适配器。基于规则的适配模块选择方法容易配置,不易出错,不用处理框架内部的编程细节。同样重要的是,只有内容的提供者可以决定在不同的语境中使用哪个适配模块。

3. 语境监测

语境信息的收集和监测,包括执行环境的客户概况和条件,如网络和节点的可用资源、负载、能量等,是代理框架的一项重要功能。网络状态的探知,如可用带宽或连接情况等,通常是通过监测功能或服务来完成的。与应用相关的信息可以在应用发出连接请求时,通过包含概况的定制数据库,或监视设备资源的状态得到。在代理框架中,当语境发生变化时,产生和发出异步事件。代理需要对异步事件进行解释和处理,以执行相应的行为。

4. 适配模块载入和执行

根据适配模块载入和执行的方式,代理框架可以分为可配置代理或动态代理。在可配置代理中,适配模块在代理部署时静态定义,开发者可以同时定义触发规则来改变代理的行为。触发规则定义了适配模块执行的语境和次序。动态代理支持按照当前语境,动态和按需从适配模块库中载入适配模块。适配模块的动态载入给代理框架体提供了更大的柔性,缺点是载入时间较长。可配置代理支持适配模块的组合和配置验证。

11.3 支持智能空间的传感器网络的网格服务系统

11.3.1 概述

由无线传感器网络构建智能空间的一个关键问题是需要一种基础设施(infrastructure ),把多个无线传感器网络和需要它们数据的多个应用系统通过网络系统连接起来。现有无线传感器网络的应用系统多是和特定的传感器网络直接连接,固定接收和处理传感器网络产生的数据。

这里,引入面向服务的网格系统来构建一个基于Internet 基础设施,实现整个系统中多个传感器网络的命名、发现、概要管理、数据请求、过滤和汇聚等机制。通过把对无线传感器网络的访问封装成为网格服务,同时在网格系统中设计和实现一些辅助服务,然后在网格系统服务注册机构中注册这些网格服务,应用系统可以自动查找、绑定、调用和组合这些服务及其操作。这样,不单可以简化无线传感器网络应用系统的开发过程,而且可以方便在已有的应用系统中集成和使用无线传感器网络,实现一种基于SOA (service oriented architecture )的软件结构。

235

,

11.3.2 传感器网络和网格系统

在具有传感器网络的智能空间网格系统中,可以把每个传感器网络看成是一个数据采集单元。采集单元里面的数据采集设备可能差异巨大,有的可能只有一个传感器网络节点,有的则具有成百上千个能进行内部复杂处理的传感器网络节点。这样的网格体系结构,应该支持从多个来自于不同管理域、具有不同连接特点的传感器网络到各种应用系统之间的数据传送。

结合多个传感器网络的网格系统由多个数据采集单元、多种网格服务和多种客户应用系统组成。其中对数据采集单元的访问方式被封装为网格服务,在网格系统的全局注册机构中注册和发布。客户应用系统可以自动查找、绑定和调用这些服务,读取传感器网络感知的数据。

同时在网格系统中提供一些辅助的网格服务,如数据过滤、汇聚、压缩、存储等服务,使得应用系统在调用源于不同数据采集单元的数据时可以用这些辅助服务过滤、汇聚、压缩甚至暂时缓冲数据。这些辅助服务的存在可以简化应用系统的开发,使用户构建功能更加强大的应用系统。

把对传感器网络的访问封装成为网格服务,然后在网格系统中发布,可以解决传感器网络在应用中存在的如下一些问题。

(1) 资源命名和发现:传统上,应用系统很难感知和访问在不同管理域、具有不同接口和访问权限的传感器网络。引入网格系统后,可以通过网格系统内已经存在的资源与服务的注册与查找机制,解决传感器网络在网络中的发现和使用问题。

(2)资源描述:可以使用11.2.1中提出的网格服务的语义描述机制,对传感器网络产生的数据和意义进行描述,便于传感器网络数据被应用更好地发现和使用。

(3)服务组合:应用系统可以组合网格系统中的多种网格服务,满足应用不同的需要。

(4)系统可伸缩性:通过提供这样的一个基础设施,整个系统可以很容易加入新的传感器网络、新的应用系统和新的服务。

(5)鲁棒性:由于传感器网络产生的数据流可以在网格系统的服务中进行缓冲,可以为应用系统提供很高的鲁棒性。

(6)服务质量:可以为传感器网络感知数据的发送提供不同等级的服务质量。如有些数据可以快速实时传递给应用系统,而有的数据可以承受一定的网络延迟丢失。结合网格服务技术,可以达到应用对传感器网络不同的QOS 数据传送要求。

11.3.3 系统框架和体系结构

基于网格服务封装传感器网络的体系结构描述了使用多种网格服务封装无线传感器网络应该实现的方法,这些封装都是在传感器网络的应用层实施,在对服务接口进行描述的基236

标签: