普适计算环境论文
普适计算环境论文(精选8篇)
普适计算环境论文 第1篇
普适计算系统运行在极其动态和异构的计算环境中,因此自动感知物理空间中对象与环境的状态信息及其变化是普适计算的重要特征。上下文感知计算(context-aware computing)即指能够根据上下文的变化自动地作相适应的改变和配置,为用户提供合适的服务,是Ubicomp的核心技术之一[2]。上下文感知计算利用上下文信息向用户提供高效率的信息交互,并提高服务的针对性。常见的上下文信息包括时间、位置、场景等环境信息,屏幕大小、处理能力等设备信息以及身份、操作习惯、个人喜好、情绪状态等用户信息[3]。
本论文第二部分主要介绍上下文获取的三种方式;第三部分简单对比了上下文建模的6种方法;第四部分总结了上下文信息存储与管理技术;第五部分讨论了上下文信息的推理;第六部分重点叙述了上下文感知系统的体系结构;第七部分结合老年人健康监护推荐系统的设计,简单分析了上下文感知在系统中的应用。
1 上下文的获取
如何准确地获取各种不同类型的上下文信息是上下文感知中核心问题之一。通常,具体的获取途径依赖于具体的上下文内容,底层的上下文一般通过传感系统直接获得,而高层上下文则根据底层上下文,并结合先验知识通过推理或融合得到。上下文获取通常是指底层上下文的获取,在某种程度上,上下文信息的获取决定了上下文感知系统的体系结构,通常获取上下文信息的方法有以下三种:
1)直接传感器获取
应用软件直接利用传感器采集的信息,没有中间层对数据进行汇聚和处理,应用层直接驱动传感器,因为缺乏一个管理大量传感器并行存取的部件,这种紧耦合的方法不适合分布式系统。
传感器具有分布性、异构性、多态性等特性,这使得数据收集遇到了很大挑战,问题在于:(1)如何用一种统一的方式去获取传感器数据(2)如何把传感器数据转换并匹配为上下文数据。
2)中间件
基于中间件的方法在上下文感知系统中增加了中间件层,实现了对底层上下文获取的封装。对比直接方法,该方式更容易实现系统的扩展,不需要修改应用层代码,而且简化了硬件的可重用性。
3)上下文服务器
这种C/S模式,引入了上下文管理服务器,允许客户机应用调用远程数据资源,底层传感器采集来的数据信息先汇聚到该服务器节点。这种方式除了实现了底层硬件的重用外,而且克服了传统集中式操作的缺点。
当前上下文获取中研究最多的是如何获取设备和用户所处的位置信息。了解设备和用户的位置,非常有助于应用提供更有针对性的服务。
2 上下文建模
目前不同上下文感知系统所采用的建模技术各有不同,主要有以下几种:
针对易于表达、推理和共享这三个评估指标,表中这几类建模技术各有所长,也各有所短。对上下文的建模方法,目前学术界尚未有统一的共识和标准。但Strang和Linnhoff-Popien(2004)的评价报告中表明,基于本体的模型是表达能力最强的模型[4]。
由于位置信息是最常用的上下文信息,所以位置上下文信息单独进行建模[5],可将位置模型分为两类:
1)标志模型:将位置定义为一个抽象的标志。
2)几何模型:两种建模方法的选取要根据底层上下文获取系统的输出格式来定,比如在基于GPS的系统中通常使用几何模型,基于Active Badge的系统中常使用标志模型。
3 上下文存储与管理
如何对上下文的海量信息进行合理的存储,并加以一定方式的管理,这是上下文存储与管理的核心问题。只有解决了存储和管理问题,才能保证应用程序与用户以最快、最佳的方式访问。
Winograd描述了三种上下文管理的模型[5]:
1)Widgets。Widget为硬件传感器提供了一个公共的接口,隐藏了底层上下文获取的细节,简化了上层应用的开发,还可以实现提供相同上下文的Widget之间的交互。这种上下文管理模式提高了效率但其健壮性不好。
2)Networked services。这种模型不如Widget有效性强,但健壮性强。
3)Blackboard model。Widget和面向服务的模型都是以处理为中心的模型,blackboard是以数据为中心的模型,客户机将消息提交给共享的blackboard,并采用订阅的方式,实现上下文信息的集中管理。
4 上下文推理
从传感器网络中获得的大量信息都是原始未加工的上下文,是对环境某一属性在一个时间点上的描述,同时某些传感数据也存在一定的不确定性与不可靠性。为了使用户直接获得需要的语义信息,必须通过上下文推理,对这些原始信息进行信息抽取,获得语义知识。从而利用语义知识,依照一定的规则进行推理,得到高层上下文。目前主要有以下两大类推理技术:
1)基于规则的逻辑推理:这是最传统也是最简单和最常用的一种推理,有很多系统采用了这种技术,主要代表为GAIA。
2)基于机器学习的推理:包括贝叶思网络、神经网络和基于马尔可夫模型的学习。贝叶思网络是近年来非常广泛使用的一种技术,尤其在2000-2005年期间被广泛用于上下文领域,非常适合处理信息的概率分布。神经网络技术也是上下文感知系统中使用非常多的技术,包括上下文识别和预测。
5 上下文感知系统的体系结构
将上下文的获取和应用相分离,有助于提高系统的可扩展性和可重用性。目前上下文感知系统大多采用的都是分层的体系结构。在下面的分层结构中,增加了推理功能。
底层传感器是指广义上的上下文获取工具,可以是物理上的传感器、虚拟传感器、逻辑传感器等。原始数据提取层利用API实现对底层上下文信息的存取,对上层隐藏了上下文获取的细节,例如我们可以运用抽象的方法调用getposition()得到具体的位置信息,不用关心具体的获取方式,方便实现上层应用的修改和底层的可重用性。预处理层实现了原始上下文信息的推理、融合功能,从一些技术参数中推理、提取、融合对应用开发有用的信息。存储/管理层管理数据信息,并通过公共接口将数据提供给客户机,客户机可通过同步和异步两种方式获取上下文信息。应用层是针对上下文信息的特定应用。
Korpipääet al.(2003)提出的Context Managing Framework也是一种典型的层次结构,这种结构克服了移动设备存储、处理能力的局限性但其存在单点失效问题健壮性不好。
Fahy and Clarke(2004)提出了Context-Awareness Sub-Structure(CASS)结构,这是一种扩展了集中式中间件方法的结构,中间件中包含了一个Interpreter、Context Retriever、Rule Engine、Sensor Listener。Sensor Listener侦听传感器上信息的更新,从各分布式传感器计算节点采集来的信息由Sensor Listener存储在数据库中,Context Retriever负责从存储数据中提取信息。Change Listener负责通知上下文信息的改变。
Hydrogen(Hofer et al.,2002)仍然是一种层次结构,包含三层,应用层、管理层、适配层,适配层负责提取原始上下文信息,管理层介于应用层和适配层之间负责将上下文信息提供给不同的应用,由于计算平台和语言的独立性,层与层之间的通信都基于XML协议。
6 应用系统设计
我们采用分层的体系结构,设计了图5所示的推荐系统结构模型。该模型主要针对老年人的健康进行监护,给出合理的饮食推荐。依照这个结构模型构建系统时,首先对系统进行自顶向下的分析,选择归纳出对系统行为和用户使用产生影响的因素,将其作为系统中需要考虑的上下文信息,包括老年人的血压、心跳、位置及身份识别等。由一台上下文服务器集中对上下文信息进行存储、处理并向应用层提供上下文信息。上下文服务器将每个上下文分解为对应的若干个语义成分,建立上下文知识库,并确定需要哪些传感器采集相应的信息。传感器网络与上下文服务器之间采用无线传输技术。感知设备采集的原始数据,由上下文服务器按照知识库中的信息进行处理融合。服务器按照一定的算法控制其与高层通讯。在服务器上存储的上下文的历史记录和用户与高层交互的反馈信息相结合,构成了知识库进行学习和调整的依据。上下文建模采用key-value模型,该模型简单易于管理,适合上下文信息较少的系统。
摘要:上下文感知技术是普适计算研究领域的的热点问题。该文探讨了上下文信息的获取、建模、管理及推理方法,重点介绍上下文感知系统的体系结构。并结合老年人健康监护推荐系统的设计,分析了上下文感知技术在系统中的应用。
关键词:普适计算,上下文感知,老年人健康监护推荐系统
参考文献
[1]Weiser M.The Computer for the 21st Century[J].Scientific American,1991,265(3).94-104
[2]Gregory D.Abowd and Elizabeth D.Mynatt.Charting Past,Present and Future Research on Ubiquitous Computing[J].ACM Transac tion on Computer-Human Interaction,2000,7(1):29-58
[3]Schmidt A,Kofi Asante Aidoo,Autti Takaluoma,et al.Advanced interaction in context[C]//Proceedings of First International Sympo sium on Handheld and Ubiquitous Computing,HUC.99,Karlsruhe,Germany,Sepetember 1999:89-101.
[4]Baldauf M,Dustdar S,Florian Rosenberg.A survey on context-aware systems[J].Int.J.Ad Hoc and Ubiquitous Computing,2007,2(4).
[5]Chen Guan-ling,Kotz D.A Survey of Context-Aware Mobile Computing Research[R].Dartmouth Computer Science Technical Re port TR2000-381.
普适计算中的定位感知系统 第2篇
2.1系统模型体系结构
??下面一种我们自行设计的定位感知系统模型具有如下特点:
◇实现了最小功能的简单定位感知系统模型;
◇将定位系统与位置系统结合在一个体系结构中;
◇在不考虑误差的情况下,能够利用三角计算实时确定对象的二维位置及行动方向;
◇系统能够积极主动为用户提供信息服务;
??图2是这一模型的简单体系结构图。
??定位系统是本模型的重点之一,系统利用它来精确定位每一个对象。这里采用的是改进的Bat系统,每一个室内用户都携带两个手掌大小的无线设备Bat。这种小器件配有一个蜂鸣器,能够发射超声波脉冲;在室内的天花板上安装有传感器,能够接收超声波脉冲,并能测量超声波脉冲信号的到达时间(TOA);传感器随即将TOA数据通过WLAN传送给控制处理器,控制处理器通过这些数据测量出用户的`三维位置信息。基于这一思想,我们考虑这样一个实验环境:一个矩形的大厅,用户在大厅内活动,厅内安置各种智能服务设备,如报时器、报警器、语音提示器、摄像机等;但也应有一些障碍设备,比如带电的按钮、高温禁区等。每个用户的双肩都装有两个Bat,能够发射超声波信号,在大厅天花板的4个角落各安置一个超声波接收器。考虑到接收器的接收能力以及误差的因素,大厅的长与宽应在一个限度以内,如图3所示。
??在二维位置及方向的测量中,我们选择离对象最近的两个超声波接收器所接收的距离信息,不妨设A1、A2离同一用户肩上同一BatB1较近,测得距离分别为L1、L2,A1与A2相距L3,平面坐标如图4所示。
??由图4可知,B1点的坐标可由三角公式算出:
??x=(L12+L32-L22)/2L3y2=L22-x2
??于是得出BatB1的坐标位置(x,y),同理可以算出另一BatB2的位置,由B1与B2的动态位置信息即可以测出对象的行动方向。定位系统获得这些位置信息后,立即向系统控制中心传送。
??系统控制中心是整个系统的控制管理中心,它负责将位置信息或者对象集信息向事务处理中心传送,将位置信息向位置系统传送。它必须能够实时处理大量的各种信息,并进行分析检测。
??事务处理中心是整个系统的服务发送者与处理单元。它通过接收系统控制中心传来的各种信息,或者响应用户的服务请求,或者主动向用户广播各种有用信息,比如语音提示、智能报警等。
??通信环境为所有部件的信息传送提供支持,在这里我们采用的是WLAN技术,这是符合网络未来发展趋势的一种有效的技术。对于协议类型,我们暂时考虑使用802.11系列协议中的一种。
??位置系统也是本模型的重点,它的功能是实时获取特定位置的对象集信息,并将信息向系统控制中心传送。模型中我们采用了一种移动代理(MobileClient)技术,其核心思想是:为大厅内的每一个用户配备一个用户代理,用户通过代理与本地其它对象,包括其它用户和一些设备,通过通信环境部件进行交互。当位置系统获得系统控制中心传送的用户位置信息后,立即启用其用户代理。此用户代理随着与这一位置的WLAN单元进行交互,从而来确定用户所在位置的对象集信息P,其功能用映射关系表示为:(WLAN单元)=P。
2.2模拟实验的可能误差分析
??考虑到普适计算所要实现的功能,应用本模型所进行的模拟实验必须达到相当的精确度才能满足准确定位的要求。在上面提到的模拟实验环境中,可能影响定位结果的误差因素一般有:实验环境、时钟频率、超声波的反射等。
??实验环境误差的产生主要是由于超声波的易被干扰性。影响的主要因素是噪声的干扰,它导致超声波信号之间的碰撞。这种噪声同系统具有相同的频率,从而对实验中的超
声波信号产生干扰或碰撞,导致正确信号的消散或是反射的产生。这些可能的噪声有收音机的无线波、钥匙的碰撞声或者击掌声等。解决的办法是将环境进一步智能化,如将收音机的功能融入系统中,不需人的接收;取消利用钥匙来开关门等。
??时钟频率误差是在石英钟之间同步产生的,每个超声波接收器都利用时钟与其它接收器同步,才能测量它们与Bat之间的距离。这种误差的大小与距离呈线性关系:距离越远,误差越大。我们可以通过多次实验对误差进行测量,进而对误差定性,尽量减小误差大小。
??反射误差是实验中可能遇见的最主要的误差。它主要因为超声波信号在发射途中碰上其它物体而导致反射的产生,从而将错误信号传送至接收器导致错误结果。这种误差与距离并非线性关系,因而无法定性;但我们可以根据测量的数据排除一些错误信息。它们与正常数据相差太大,主要是因为它们经过多次反射或不在接收器的接收范围内。改进的办法是,除了增强接收器的接收强度外,还可以将Bat置于用户头顶或者调整接收器的角度来减少反射的产生。
2.3模型的总结
??本模型在将定位系统与位置系统结合的基础上,提出了一种普适计算中定位感知系统的雏形,并实现了系统所要求的最小功能。在以后的工作中,我们将进一步完善模型中的功能部件,并对实验中的误差因素做进一步检测。
结语
普适计算环境论文 第3篇
关键词:普适计算,数字图书馆,导读服务
导读服务是我国读者服务工作的重要组成部分, 随着数字图书馆的发展, 计算机性能的不断完善, 传统的图书馆导读服务已经很难满足读者的需求, 读者越来越希望随时随地都可以得到图书馆的导读服务, 于是普适计算环境下数字图书馆的导读服务出现了。
一、普适计算
普适计算是指计算和通信以各种方式融入到人们生活中, 人们可以随时随地的、无缝的获取高度自然和透明的计算和通信服务, 而使计算机和计算过程本身处于使用者的注意力之外。它最早由Mark Weiser在Scientific American的“The Computer for the 21st Century”中提出, 它使信息像工具一样嵌入我们生活、工作环境之中, 使之与生活难以区分, 像消失了一样, 同时又以人为中心展开计算模式, 提供“无所不在”的服务。在这样的环境中, 计算不再局限于桌面, 用户可以通过手持设备、可穿戴设备或其他常规、非常规计算设备无障碍地享用计算能力和信息资源。
二、普适环境下的导读服务创新
(一) 普适计算对导读服务的影响。
导读服务是指馆员充分开发和利用馆藏文献资源为读者提供各种文献服务, 使读者尽快地获得各种有用的文献资源的服务方式。普适环境下的数字图书馆, 计算与通信融入人们的生活各个方面, 从根本上改变人们对图书馆的认识。因此, 我们提出的思路是让普适环境下的数字图书馆导读服务也“无时不在、无处不在而又不见”, 使它能自觉、主动地为我们服务, 使人们能随时随地的在使用它, 但又感觉不到它的存在, 完全被我们忽略了。这对导读服务产生了深远的影响。
1. 由普遍的面向大众的导读服务转变为面向个人的个性化服务。
各种形式的出版技术不断完善, 社会出现信息爆炸现象, 这给人们查找、选择信息资源的效率和质量带来了很多不便, 使个性化导读服务迫在眉睫。在普适环境下, 数字图书馆导读服务信息工作人员将根据用户的个人兴趣爱好和信息需求针对性的向读者展开服务, 读者接收的导读信息不再是多而杂, 有用性不高的信息了。
2. 由被动转为主动的导读服务。
传统的图书馆导读服务是图书馆被动的接受读者咨询然后向读者提供导读服务的。而普适环境下的导读服务, 图书馆可以根据读者填写的个人兴趣爱好和需求或图书馆根据用户对某领域知识的接触程度主动了解读者兴趣爱好、预测读者需求, 主动采集、处理信息, 主动人机交互和主动响应用户。定期、不定期或根据读者要求时间为读者主动发布信息, 为读者提供准确的、实时的、最新的导读服务。
3. 服务内容范围的扩大化。
传统的导读服务内容是以馆藏资源为基础的服务。普适环境下的导读服务, 信息人员不仅提供本馆所藏的文献资源, 还提供各种网络资源、网络数据库, 或通过共享提供其他图书馆的信息;不仅包括传统的纸质信息资源, 还包括电子资源、音频、视频、光盘等其他信息资源, 扩大了导读范围。
4. 导读服务的服务层次由浅至深。
传统图书馆导读服务基本停留在向读者推荐各种书刊资料等层次。在普适环境下, 图书馆的导读人员不仅要对本馆的文献信息进行深层次加工, 还要肩负起对本馆以外的、社会存在的各种信息资料的去粗取精、去伪存真的重任, 并根据读者的需求, 有目的、有步骤的对网络信息资源加以合理的组织, 分门别类地提供指引, 对读者进行更深层次的科学导读。
5. 导读服务方式转变。
导读服务传统方式是单一的、重复的、被动型的。普适环境下, 读者可以通过电子终端设备随时随地的从数字图书馆获取各种印刷的、非印刷的信息资源。随着普适计算的发展, 读者的信息资源需求结构也发生了巨大的变化, 从过去单一的、主动的要求服务转向多样化的信息需求, 这就要求数字图书馆建立多样化的导读服务方式。
(二) 普适环境下导读服务的实现手段。
普适计算的首要目的是实现信息普遍访问。基于普适计算系统中的信息设备可随身携带。当这样的设备进入到普适环境中, 它可以自动地发现环境中的可用的资源和服务, 并与它们进行交互, 从而为读者提供方便的服务。普适计算这种无所不在的分布性和社会性, 为图书馆服务提供了一个安全的具有超强“存储能力”和“计算能力”的泛在服务平台, 帮助读者快速地从海量数据中提取出有价值的信息;为读者提供信息服务与决策建议。同时也使导读服务的手段更加主动、个性。这就是主动信息推送服务, 即在普适环境中计算机系统根据用户的需求和偏好自动搜索信息、分析处理信息并生成决策意见。
1. 建立用户基本信息库。
建立用户基本信息库是数字图书馆导读服务的一个重要方面, 这是一个动态信息库, 它可以跟踪用户的信息接触行为, 记忆用户兴趣爱好, 随时随地的根据用户的爱好动向改变库内信息, 并通过描述用户的兴趣爱好建立个性化用户信息库。
2. 建立用户需求库。
通过用户问卷填答、实地观察、用户信息反馈等调查方式。经过统计分析, 发现用户兴趣偏好和用户利用文献的情况, 以及基本信息库中有关信息, 建立用户信息需求库, 以便向用户提供即时的导读服务。
3. 建立个性化信息库。
个性化信息库是一个动态信息库, 包括数字图书馆向用户提供导读服务的历史数据和图书馆根据读者需求和兴趣、专业等信息进行权值计算为读者搜集并整理组织分类的个性化信息标准库。人们可以通过个性化信息库不分场所、不分时间的获取他们所需要的文档、数据和视频等各种信息资源。普适环境下的数字图书馆导读服务不再是被动的服务于读者, 而是主动地寻求途径去满足读者需求。
4. 信息推送与信息反馈。
对于个性化信息库, 使图书馆在用户向图书馆提出信息需求时, 信息工作人员可以根据用户的个性化信息库更好的更准确的回答用户需求的信息, 更好的进行图书馆与用户之间的信息互动, 根据用户在互动过程的反馈信息完善导读服务;同时, 个性化信息库系统可以利用push技术将相应的信息推送给相应的用户。在推送过程中, 图书馆可以根据用户选择接受的方式定时不定时的或按用户需求的时间将信息推送给用户。考虑到一些用户特别是没有申请推送服务的用户可能不一定喜欢这种方式, 在推送信息的同时需要说明如果用户感觉被打扰, 可以随时取消这一服务。对于提供给用户的信息, 要求用户做出反馈。对这些反馈信息再次进行分析, 不断调整、完善用户需求库, 逐步逼近用户的真实需求。
三、结语
普适计算环境下数字图书馆的导读服务随着各种通信设备、电子终端设备、无线高速网络的普及, 将真正实现信息咨询者和信息提供者之间信息互动交流的功能, 它把数字图书馆资源、网络数据库等资源, 信息共享资源、用户所需信息资源和用户利用信息的全过程结合起来, 使导读服务无时无刻的与生活相融合, 并为用户提供无时无刻的高质量的服务。
参考文献
[1] .李芬.下一代计算模式:普适计算[J].硅谷, 2011
[2] .王冰俏, 赵伟.对网络环境下图书馆导读工作的思考[J].世界华商经济年鉴·科学教育家, 2009
[3] .许强.普适环境中的书目情报服务发展研究[J].农业图书情报学刊, 2010
[4] .吕桂芬.基于IIPP的数字图书馆的主动信息服务[J].办公自动化, 2008
[5] .马利萍.试论网络时代大学生阅读现状与图书馆导读[J].图书馆建设, 2011
[6] .朱彩萍.普适计算环境下的图书馆参考咨询服务与管理[J].中国管理信息化, 2011
[7] .李培.数字图书原理及应用[M].北京:高等教育出版社, 2004
普适计算发展概述 第4篇
一、普适计算概述
(一) 普适计算的起源
1987年, Xerox公司Palo Alto研究中心 (PARC) 的电子和图像实验室 (EIL) 开始研制大型墙面平板计算机系统, 它可以用作电子笔以及图像扫描输入设备。这种新型计算机系统在按传统白板方式方便使用的同时又扩展了计算能力, 特别是在与其他这类设备联网的时候, 这种“计算机墙面”引发的一种与目前“一人一台桌面计算机”模式十分不同的研究思想:将计算机无处不在地、不可见地散布到整个环境中。在这种背景下, 1988年初以Mark Weiser为首的PARC计算机科学实验室 (CSL) 开始了普存计算UC (U-biquitous Computing的简称) 的研究, 现在又称为普适计算PC (Pervasive Computing, 简称PC) 。1991年Mark Weiser在《Scientific American》的“The Computer for the21st Century”中正式提出普适计算的思想。[2]Mark Weiser指出:“The most profound technologies are those that disappear..They weave themselves into the fabric of everyday life until they are indistinguishable from it.”。当时Mark Weiser及其同行在施乐公司的实验室搭建了普适计算系统的原型, 但由于当时软、硬件技术的条件限制, 这一系统并没有产生所期待的影响。随着定位传感器、无线通信尤其是Internet的普及和分布式计算技术的进步, 普适计算的实现条件越来越成熟, 普适计算的概念也得到了越来越多人的认可。
(二) 普适计算的内涵
关于什么是普适计算, 不同的研究者有不同的理解。其一, MarkWeiser:他的初衷是将计算机嵌入到环境和日常工具中, 使其从人类的视线里消失, 让人的注意中心回归到要完成的任务本身上。其二, 清华大学徐光佑教授:普适计算是信息空间与物理空间的融合, 在这个融合的空间中人们可以随时随地、透明地获取数字化的服务[3] (其中“随时随地”是指人们可以在工作、生活的现场就可以获得服务, 而不需离开这个现场而去端坐在一个专门的计算机面前;而“透明”是指获得这种服务时不需要花费很多注意力, 即这种服务的访问方式是十分自然的甚至是用户本身注意不到的, 即所谓蕴涵式的交互 (implicit interaction) ) 。其三, 坂村健教授:“‘普适计算’指的是, 无论何时何地, 只要您需要, 就可以通过某种设备访问到所需的信息”。[4]从以上定义不难看出普适计算的内涵包括以下两点:
一是消失 (disappearing) [5]。它是Weiser的一个著名论述, 即“最深奥的技术是那些消失了的技术, 这些技术将它们的自身交织于日常生活中, 直至不可区分。”从社会影响来讲, 在我们生活中有两种这样的技术是普遍存在的。一种是“书写”, 用符号来记载人类口语的文字技术是最早的信息技术。现在不仅仅是书刊报纸, 从商店标志到广告牌已无处不在。它们往往并不要求我们主动去注意, 而是通过我们一瞥来传递信息。另一种是“电”, 在每个房间的墙壁中涌流着, 通过插头我们随时可利用电。所以, 现在书写和电已变得非常平淡和不显著, 以至忘记了这些技术对日常生活的巨大影响, 犹如消失于人们的日常生活中。普适计算也将是那样一种消失的计算。
二是不可见[5]。一种好的工具是不可见的工具, 其含意是这一工具并不进入你的意识, 你只是专注于任务而非工具。例如:眼镜是一个好工具, 你是通过它在看世界而非看眼镜;盲人通过竹竿在感觉街道而非感觉竹竿。当然, 工具本身不是不可见的, 它只是使用工具这一场景中的一个部分, 好工具应增加其不可见性, 普适计算也将是那样一种不可见的工具。因此, 普适计算的目标是要建立一个充满计算和通信能力的环境, 同时使这个环境与人们逐渐地融合在一起。
(三) 普适计算的特征
追求普适计算理想的一个最为典型的研究计划就是麻省理工学院 (MIT) 的Oxygen项目, 其目标是“使丰富的计算和通信能力像空气一样无所不在和自由地融入人们的生活之中”, 因此, 普适计算应具有以下的特性:
一是以人为本[6]。这种新型的计算模式强调把计算机嵌入到环境或日常工具中, 让计算机本身从人们的视线中消失, 使人们注意的中心回归到要完成的任务本身, 它的本质要求是“以用户为中心”代替以机器为中心。
二是动态性[6]。系统提供的服务随着用户的移动而自主迁移, 并不需要用户主动的命令。在普适计算环境下, 用户可以在移动过程中连续地使用环境提供的各种服务。随用户一起运动的通常是手持设备 (手机的后代) 和可穿戴设备等。
三是不可见[6]。计算机自然、合理地嵌入到人们日常工作和生活环境中, 从人们的视线中消失。在普适计算时代, 大量嵌入式设备被嵌入到诸如汽车、房间、冰箱等日常环境当中, 它们彼此互连默默地为人类服务, 然而人们并不直接感知到这些计算机的存在。这种“透明性”正是普适计算所追求的, “真正成熟的技术是那些已经消失了的技术”。
四是无处不在[6]。普适计算在提出之初就考虑到计算资源的丰富, 它追求的是在任何时间和地点 (anytime and anywhere) , 访问任何信息。
五是自适应性[7]。数量众多的计算设备被布置和嵌入到环境中, 通过这些设备, 用户可以随时随地得到计算服务。计算和通信服务可按用户需要和运行条件提供充分的灵活性和自主性;它能够自己适应资源缺乏的环境, 并且当更多的资源可以获得时, 也能够进行扩展。
六是永恒性[8]。计算系统不会关机或者重启, 计算模块可以根据需求、系统错误或系统升级等情况加入或离开计算系统。
二、普适计算的研究现状
普适计算真正引起广泛关注是在20世纪90年代的后期, 许多相关的研究计划纷纷启动, 目前已经成为一个极具活力和影响力的研究领域。
(一) 相关学术会议及刊物
目前已经形成了每年召开的两个国际会议, 即1999年开始的UbiComp会议和2000年开始的Pervasive Computing会议。[9]1999年9月27-29日, 在德国Karlsruhe举办了首届普适计算国际会议, 此后, 在英国、美国、瑞士、英格兰、日本和澳大利亚等国均举办过普适计算国际会议。此外, 还有一部分是以Workshop的形式在一些重要的学术会议上召开, 如伴随CHI 97召开的“Ubiquitous Com-puting:The Impact on Future Interaction-Paradigms and HCI Research”。
针对普适计算已经发行了两种专门的期刊, 即1997年创刊的《Personal andUbiquitous Computing》和2001年创刊的《IEEE Pervasive Computing》。[9]其他一些重要期刊也发行过相关的专刊, 如1999年的《IBM SystemsJournal Special lssue onPervasive Computing》, 2001年的《Special lssue of IEEEPersonal Com-munications on Pervasive Computing》等。
(二) 典型实验项目研究
目前世界很多著名高校和企业都投入大量科研人员和资金纷纷开展普适计算研究项目, 一些较为典型的项目如下。
1. 美国
美国排名前10位的大学无一例外地投巨资设立了以“普及计算”为主要方向的研究计划。目前有以下几个研究计划最具影响力, 这些计划的目标是提出全新的体系结构、应用模式、编程模型等基础理论模型和方法。
麻省理工学院 (MIT) 的Oxygen项目[10]。Oxygen计划于2000年在MIT计算机科学实验室和人工智能实验室开始进行, 其寓意是:未来计算像氧气一样无处不在并可自由获取。他们认为, 与传统的以计算机为中心的计算模式不同, 新的计算模式应该以人为本。Oxygen人认为, 未来世界是一个到处充斥着嵌入式计算机的环境, 充分利用这些计算资源达到“做得更少, 完成更多 (to do more by doing less) ”的目的。Oxygen规划的未来计算环境如图1所示。
卡内基·梅隆大学 (CMU) 的Aura项目[12]。CMU的Aura计划的目标是为每个用户提供一个不用关心位置的计算和信息服务的“光环 (Halo) ”, 而“个人信息光辉 (Aura) ”可穿越各种可穿载的、手持的、桌面的和基础设施的计算机以及智能空间。该项目包括3个子项目:Darwin智能网络是Aura的核心, Coda分布式文件管理系统, Odyssey为资源自适应提供操作系统支持。Aura项目的研究框架如图2所示。
IBM公司Watson研究中心的DreamSpace项目[11]。该项目允许用户在共享空间合作。系统可以“听”声音命令, “看”手势和身体位置, 像人那样进行人机交互。计算机能理解用户, 用户可以自由地专注于对实际对象和信息进行理解和思维, 而最小程度地被计算机所限制和分散精力。目前, 该系统使用墙面大小的三维图像和声音完成人机交互, 但没有键盘、鼠标、导线、遥控器等, 其系统示意图如图3所示。
Microsoft公司的Easy Living研究项目[10]。该项目致力于智能环境体系的开发, 涉及中间件、几何世界建模、定位感知、服务描述等技术。旨在建立智能环境, 方便人与人、计算机和设备的交互, 使人们更方便地使用计算机。通过计算机视觉, 保持跟踪人、响应声音和手势命令。计算机知道自己所处的几何空间和能力, 并便于扩展。该系统的构成如图4, 有三个特征:自我感知的空间、随意访问和可扩展性。其关键特点是:机器视觉、多传感器的自动和半自动校准, 以及独立于设备的通信。
伊利诺伊大学 (Illinois) 的Gaia项目[11]。上世纪70年代有人将地球上的大气、海洋、岩石圈和生物圈集合体看作是单一的控制论意义上的自运行的超级有机体, 并称其为Gaia。Illinois大学的Gaia项目将上述概念应用于计算, 将传统的计算机系统延伸到各种设备以及围绕机器的物理空间, Gaia的架构如图5。这样, 虚、实两种对象可以无缝交互, 物理空间成为交互空间或称活动空间 (Active Space) 。也就是建立起一种新的物理空间环境作为虚、实对象之间间隙的桥梁, 并将这种物理环境带入日常生活中。
华盛顿大学的Portolano计划。该计划提出了“数据为中心的网络”以适应让计算本身变成不可见的 (Invisible Computing) 要求。该计划认为目前计算机技术的发展仍然是技术驱动而非用户需求驱动。为了改变这一现状, 该计划致力于研究根据用户的位置变化而自适应地改变软件用户界面的机制、以数据为中心的网络以及新型的分布式服务模型。
UC Berkeley的Endeavour计划[14]。这是UC Berkeley进行的旨在通过运用信息技术, 提供全新的、全球规模的信息基础设施, 从根本上方便人们与信息、设备和他人进行交互的计划。这些信息设施应该能够动态、实时地协调世界上任何可用的资源来满足用户计算的需要, 其创新点之一是“流体软件” (Fluid Software) , 这种软件能够自适应地选择在何处执行、在何处存储, 它通过协议获得可用资源并向其他实体提供服务。
2. 欧洲
欧盟资助的Disappearing Computer[15]。Disappearing Computer是由欧盟资助的信息社会研究 (IST:Information Society Technologies) 计划的FET (Future and Emerging Technology) 发起的。目标是通过交互式设备集成来改善和支持人们的日常生活。这些交互式设备将为人们创造一种适宜的环境, 它们有信息收集、处理和交换的能力, 让我们现在所理解的计算机逐步从人们的视线中消失。
Disappearing Computer研究者关注以下方面:
一是将计算能力嵌入到日常事物当中的方法和工具;二是将拥有交互能力的人工产品进行集成来提供新的功能和用途;三是保证人们能够很好地适应新的环境。
3. 中国
清华大学的Smart Classroom[16]。Smart Classroom是清华大学开展的一项普适计算研究, 提出了基于普适计算的网络教育思路, 开发出以智能教室为代表的融合远程教育和课堂教育的系统平台 (如图6) 。它描述了未来教室的原形:整个系统由两个部分组成, 由一个帘子隔开, 主体是教室, 帘子的另一侧是计算机。教室有两个跟墙差不多的投影仪, 一个在前面, 一个在侧面, 前面的MediaBoard是一个对触摸敏感的SmartBoard, 它用于显示教学材料, 教师可以使用数字笔和橡皮在上面写和擦, 远程学生也能够实时的看到这些改动;侧面的StudentBoard显示远程学生的图像和一个计算机驱动的虚拟助手。教师可以用激光笔指向一个学生的图像, 画一个圈的方式来选中一个远程学生。教室里装有很多摄像头, 有些用于捕捉教师的动作, 有些摄像头捕捉教室的图景, 教师的动作将被识别和解释, 例如:如果教师在展示模型, 传送给远程学生的图像将来自负责教师手部的摄像头。教师佩带麦克风, 用于捕捉教师的讲话, 教师的讲话将被分析, 以实现教师的要求。这些一起使得远程学生和课堂之间的交互就像本地学生与课堂的交互一样。
此外, 方正科技计算机公司推出了专门适用于中、小型企业财务人员办公环境的财务办公平台, 该平台可以实现与金税卡及财税软件、轻松办公软件的无缝连接[18];电子科技大学已有几届博士生开展专题研究, 探讨普适计算概念及其应用并通过嵌人式真正地推动普适计算的发展;更可喜的是我国嵌人式信息技术产业强大, 使得嵌人式技木有了长足进步, 中国式手机成套技术已打进欧洲。这是我们走近普适计算时代的基石。
(三) 基于普适计算的国家发展战略
1. 韩国的“U-Korea”[19]
韩国政府非常重视普适计算, 并按照自己的实际情况将普适计算的内涵加以扩展。2004年韩国政府提出了“U-Korea (普适的韩国社会) ”的口号, 希望建设一个用无处不在的计算机网络以及其他先进基础设施武装起来的社会。韩国信息和通信部部长陈大济认为:“U-Korea”代表着一项进入“无处不在的社会”的国家战略。在无所不在的网络社会中, 所有人可以在任何地点、任何时刻都能享受到信息技术所带来的便利。
韩国选择了通过U-IT839战略来实现其“U-Korea”的目标。这被认为是比较务实的一条技术实现路线。U-IT839战略的涵义是发展与普适计算密切相关的8项通信广播服务、3项先进网络基础设施和9个IT新增长引擎。韩国希望借助U-IT839战略, 使IT服务市场容量由2003年的43.3万亿韩元增加到2007年的53.3万亿韩元;整个IT行业的产值由2003年的209亿韩元增加到2004年的240万亿韩元, 进而在2007年达到380万亿韩元。
2. 日本的“U-Japan”[19]
从2004年3月开始, 日本总务省就开始探讨U-Japan政策的可行性。讨论的内容包括基本政策、IT产业和应用环境三个部分。通过长达10个月的研讨, 日本总务省于2004年12月推出了U-Japan战略, 希望通过出台一系列政策, 达到促进普适计算网络发展、促进ICT应用以及促进应用环境发展的目标。
U-Japan指的是无处不在的网络化日本社会, 是日本未来信息产业发展战略。在政策内容方面, U-Japan侧重于五个方面, 即为普适计算网络开发世界上最先进的IT基础设施;加快建设亚洲电子公告板系统和内容销售平台;在资产信用方面加强投资;建立与IT和服务相关联的业务平台;实现日常生活、商业、政府和社会系统四种类型的解决方案。
日本总务省和经济产业省已决定采用普适计算的模式来制定IT使用环境五年远景规划。
三、普适计算研究的范围
普适计算涉及到的学科领域众多 (如图7) 。目前普适计算的研究主要集中在以下几个方面:[13]
(一) 理论建模
普适计算作为一种全新的计算模式, 横跨多个研究领域, 如移动计算、嵌入式系统、自然人机交互、软件结构等, 具有前所未有的复杂性与多样性。亟待一种统一完备的建模体系, 准确、客观地表达普适计算所特有的普适服务“无所不在”的时空特性、“自然透明”的人机交互模式以及普适计算“以人为本”的根本理念。从而为普适计算系统的分析、设计、实施、部署和评估等提供多方面的理论指导, 为可扩展性、可维护性、自适应性、易用性及标准化等提供模型层面的支持。
(二) 人机交互
普适计算以人为中心的特点迫切需要和谐、自然的人机交互方式, 即能利用人的日常技能进行交互、具有意图感知能力。与传统的人机交互方式相比, 它更强调交互方式的自然性、人机关系的和谐性、交互途径的隐含性以及感知通道的多样性。普适计算环境中, 交互场所将从计算机面前扩展到人们生活的整个三维物理空间, 交互方式应适合于人们的习惯并且尽可能不分散用户对工作本身的注意力。和谐自然的人机交互是实现普适计算环境, 使其脱离桌面计算模式的关键所在。从技术上看, 键盘、鼠标、显示器等输入输出设备要实现多样智能化, 能够实现与环境的良好交互, 并且需要进一步研究语音识别、手写输入、电子纸、肢体语言识别 (如人的手势、脸部表情) 和多模式人机交互方式。
(三) 上下文感知 (Context Awareness)
自动感知物理空间中对象与环境的状态信息及其变化是普适计算的重要特征。感知上下文计算利用上下文信息向用户提供适合于当时任务、地点、时间和人物的信息或服务。常见的上下文信息包括时间、位置、场景等环境信息, 屏幕大小、处理能力等设备信息以及用户身份、操作习惯、个人喜好、情绪状态等用户信息。上下文感知技术是实现服务自发性和无缝移动性的关键。上下文感知涉及上下文信息感知和表述、上下文建模和推理、上下文感知应用等多个方面。主要涉及环境内容和交换策略, 管理和利用多媒体内容的适应性模型、自适应技术和结构等问题。
(四) 中间件
普适计算中的系统软件多采用中间件技术, 它是一种位于操作系统与应用软件之间的、能够屏蔽操作系统和网络协议之间的差异、为异构系统提供服务的软件。普适计算环境中遇到诸如异构性、扩展性、不可见性等问题都为未来中间件的发展提出了新的机遇。
(五) 智能空间
智能空间是指一个嵌入了计算机、信息设备和多模态传感器的工作空间, 其目的是使用户能够方便访问信息和获得计算机的服务, 高效地实现个人目标和与他人协同工作。智能空间可以在不同尺度上得到体现, 以家庭、办公室、教室、超市或机场等离散环境为基础逐步实现互连并扩大至全球。智能空间是从纵向剖面的角度研究普适计算, 通常看作是普适计算的一种体现或一种应用方式。
(六) 系统软件
普适计算的系统软件对普适计算环境中大量联网的信息设备、智能物体、计算实体进行管理, 为它们之间的数据交换、消息交互、服务发现、任务协调、任务迁移等提供系统级支持。由于普适计算环境存在任务动态性和设备异质性等特点, 普适计算系统软件需要解决设备与服务的发现与自适应等问题, 实现对物理实体的管理以及模块间的协调机制, 同时还要保证系统的鲁棒性和安全性。
(七) 普适网络
普适计算环境是一种普遍互连的网络环境。普适计算环境下的网络环境包括各种无线网络、互联网、电话网、电视网等, 还包括RFID网络、无线传感器网络、GPS网络等多种不同类型的网络。普适计算网络支持异构环境和多种设备的自动互连, 对环境的动态变化具有自适应性, 提供无处不在的通信服务。当前普适计算网络的研究主要集中在无线和移动网络、Ad Hoc网络、无线传感器网络、P2P等。
(八) 安全隐私
在普适计算环境下, 安全隐私显得更为棘手, 因为无所不在的网络将随时随地为人们提供服务, 但隐私和安全更加难以保障。传统的用户授权和访问控制方式无法适应分布式网络和普适计算的需要, 必须提出不同的解决策略, 包括硬件和软件方法。此外, 通过立法、修改完善法律等手段约束和规范人们的行为, 有效阻止犯罪。
基于普适计算的分布式定位设计 第5篇
关键词:普适计算,位置感知,分布式
0 引 言
普适计算致力于将计算机融入人们的工作、生活空间,形成一个“无处不在、无时不在且不可见”的计算环境。它强调以人为中心,目的在于“建立一个充满计算和通信能力的环境,同时使这个环境与人们逐渐地融合在一起[1]。”上下文感知是普适计算中一个重要的研究领域,在普适计算环境下,用户与信息及计算设备保持不间断地交互,使得用户或者用户设备的环境、状态以及任务的信息能够被系统所察觉并加以利用[2]。对用户位置的感知是上下文感知中的重要内容[3]。
目前,普适计算中对位置感知系统的研究主要集中在感知手段、定位精确性及定位实时性等方面,而对定位计算的模式以及定位计算中各普适设备间的数据传输关系的考虑并不多。定位计算模式决定了普适设备间数据的流向以及定位计算量的分布,是普适计算中的重要研究内容之一。
本文总结以往的定位计算模式,提出了分布式定位计算的思想。
1 分布式定位计算模式
传统定位计算模式中,普适环境对用户位置的感知,即定位计算一般有三个步骤:距离计算、坐标计算和区域判断计算。多个定位普适设备各自计算自己和被定位目标之间的距离,再通过通信设备将这些距离值汇聚到一个普适设备上,由该普适设备建立坐标系,根据这些距离值计算被定位目标的坐标值,最后再根据坐标值判断被定位目标所处的区域[4]。传统定位计算模式中普适设备协作关系如图1所示。
在传统定位计算模式中,普适设备在定位计算时,上下层关系非常明确,数据采集设备与数据分析设备相互较为独立,分工明确,并且数据由下而上定向流动。但是,这样的定位计算模式客观上造成计算过多地集中于坐标及区域计算设备,即上层普适设备,给上层普适设备带来繁重的计算压力和负担,并且不符合普适计算本质的要求和发展的趋势,即将计算分散并融入到环境中。普适设备除了有上下层关系外,还存在一定的交叉关系,即下层的普适设备将处理后的数据交给上层的普适设备,上层普适设备将其处理后的数据不但交给其上层,还有可能再交回下层普适设备[5]。
根据普适设备间的关系,本文提出分布式定位计算模式,该定位计算模式中,普适设备将距离计算和区域计算相结合,普适设备间没有固定的数据流动方向,根据环境和被定位目标的情况不同而相异,从而减轻了个别普适设备的计算量,使定位计算的工作量得以分散。分布式定位计算模式中普适设备协作关系如图2所示。
2 分布式定位计算的设计
2.1 区域的划分及定位设计
分布式定位计算使用多个普适设备感知被定位目标的位置,这里规定到普适设备n的距离区间为[xn,yn],且xn和yn符合xnyn,被定位目标到普适设备n的距离为dn。物理空间中一个区域k的边界可以用1~n号普适设备的区间[x1k,y1k],[x2k,y2k],,[xnk,ynk]的一组规定值来确定。设区域1的范围由[x11,y11],[x21,y21],,[xn1,yn1]确定,如果被定位目标到各个普适设备的距离值组{d1,d2,,dn}中有任意4个或4个以上的dn值满足xn1dnyn1,那么可以判断被定位目标在区域1中,否则不在该区域。一组普适设备可以用以划分其前方的一个或多个区域。
2.2 普适设备工作逻辑
当普适环境对被定位目标有位置感知要求时,普适设备启动对被定位目标的位置感知,步骤如下:
1) 所有普适设备计算自己与被定位目标间的距离,如果该距离值在自身定义的某个区间之内,则确定该区间所对应的区域号。
2) 1号普适设备向2号普适设备通报被定位目标的区域号,2号普适设备综合自己的信息和收到的信息,向3号普适设备通报,依此类推,直到被定位目标所在区域确定为止。
3 分布式定位设计的实现
被定位目标采用由Ubicell与Uscell的超声波发射电路组成的超声波发射节点,而普适设备采用由Ubicell与Uscell的超声波接收电路组成的超声波接收节点。采用的超声波发射与接收节点如图3、图4所示。
定位环境工作时,1号普适设备始终以固定的频率向空中发送定位广播包。当被定位目标在某感知区域内时,被定位目标收到广播包后向所有普适设备发送用户身份信息包,并触发超声波发射端发射超声波。普适设备收到被定位目标的身份信息包后立刻记录系统时间T1,在感知到超声波信号后立即记录时间T2,因为超声波和高频无线电信号的传输速度相差非常大,普适设备对被定位目标的定位选用到达时间测距法,因而距离值可以近似为(T2-T1)声速。普适设备在计算出距离后,根据区间确定被定位目标处于自己确定的某个区域内,并将被定位目标身份信息以及区域号发送给下个普适设备。每一个普适设备的处理过程类似,直到区域号所对应的计数变量到达4时,便可以确定被定位目标所处区域信息。超声波接收节点的局部布置如图5所示。
4 结束语
本文提出分布式定位的思想,将定位计算分散到定位环境中去,与传统定位计算模式相比,它把对被定位目标所处区域的计算分散至底层的普适设备中,减轻了个别普适设备的计算压力,使定位计算量在普适设备间的分配更加平均,提高了普适环境的效率,符合普适计算的本质要求和发展方向。分布式定位的思想可以应用于许多普适计算场合,应用范围广泛。
参考文献
[1]WEISER M.The computer for the twenty-first century[J].Scientific American,1991,265(3):94-104.
[2]徐光祐,史元春,谢伟凯.普适计算[J].计算机学报,2003,26(9):1042-1050.
[3]SCOTT J.Location-aware computing and intelligent environ-ments[J].The IEE Seminar on Intelligent Building Environ-ments,2005:25-37.
[4]ABOWD G D,MYNATTE D.Charting past,present and fu-ture research in ubiquitous computing[J].ACM Transactionson Computer-Human Interaction,2000,7(1):29-58.
普适计算环境论文 第6篇
普适计算正在改变我们的生活,使我们感受到“无处不在”的服务所带来的便捷,然而,普适计算也带来了新挑战。相对于之前的计算模式,普适计算具有分散性、异构性、开放性等特点,这些特点决定了普适环境中的服务是易出错不可信的,为了防止或减少出错造成的影响,容错技术应运而生。在OOP开发方法中,要实现容错必须在所有核心关注点中显式地加入容错逻辑,这破坏了面向对象的封装思想,必然会导致散射或缠结,影响进一步的开发或重构。因此,将容错关注点从功能性关注点中分离是实现普适环境下容错的有效方法,本文提出一个基于AOP的普适环境下的容错方法,使用AOP作为关注点分离的手段,基于此,在OSGi平台上搭建了一个分布式容错软件开发框架。
1 关注点分离和AOP
1.1 关注点分离
所谓关注点,是指系统所必须的一些功能或要求,实现系统的过程就是实现一个个关注点的过程,关注点按其职责可划分为功能性关注点和非功能性关注点。功能性关注点主要描述系统的功能性需求,这些关注点产生自具体的业务需求,代表系统的核心功能,因此也称为核心关注点,核心关注点往往都是相互独立的;非功能性关注点则对应系统的非功能性需求,例如安全保障、日志保存、数据持久化、容错能力等,这些关注点与业务需求无关,却是所有功能性模块所必需的,因此非功能性关注点对功能性关注点造成了横切,因此也称为横切关注点,如图1(a)所示。正是由于横切关注点对核心关注点的横切,导致了散射和缠结。散射是指实现一个关注点所需的代码会分散到实现另一关注点的其他类中;缠结是指利用一个方法或类实现多个关注点。二者破坏了面向对象的封装性和模块化,使得代码的可维护性和可扩展性大大降低。图1(b)是一段典型的关注点横切的代码。
1.2 AOP
对于横切关注点的分离,人们在OOP方法中做过一些有意义的尝试。一些面向特定问题域的框架和应用服务器,允许开发者用模块化的方式处理某些横切关注点;一些轻量级的框架使用依赖注入的方式减轻系统耦合度;还有一种方式是使用混入类的方式推迟关注点的实现。以上方法都能在一定情况下实现横切关注点的分离,但都没有从根本上解决问题,原因在于OOP只能在一个维度上捕捉核心关注点,与需求空间的多维性相矛盾。
AOP专注于软件系统的关注点分离,模块化地实现各个关注点之后,再通过编织的方式将关注点合并,最终实现目标系统,如图2所示。
AOP的实现建立在OOP基础上,它并不是对OOP的取代,而是弥补OOP固有的缺陷,解决了对象装配不良、难于处理的横切关系。AOP依据关注点分离的原则将系统的横切关注点进行模块化,实现设计的延迟绑定,其开发出的松耦合系统易于理解、复用、维护与演化。
本文采用的AspectJ[5]是AOP在Java语言上的无缝扩展。
2 基于AOP的普适环境下软件容错方法
在诸如Java、C++、C#这些主流的面向对象语言中,都存在异常处理机制,遗憾的是,这些异常处理代码往往和业务逻辑缠结在一起,也就是关注点横切,这使得代码变得臃肿、难以维护;同时,异常处理带来了额外的逻辑复杂度,使得业务逻辑代码出错的概率有增无减。基于AOP的容错方法可以有效地实现关注点分离,将异常处理代码和业务逻辑代码完美地分离。该方法主要由三个阶段构成,分别为:错误分类、错误发现和错误恢复。
2.1 错误分类
文献[1]中将普适环境下的软件错误类型按照错误来源分类,见表1。
这种错误分类方法的优点是易于捕捉错误来源,以进行相应处理;缺点是不利于软件实现,这是由于在普适环境中得知错误来源并不等价于能够进行错误恢复,普适环境下的错误恢复的主要依靠利用同类服务的冗余实现,而不是对错误来源进行修复,鉴于此,本文提出一种按照错误表征分类的方法,每一种错误表征对应一个异常名,见表2。每当检测到错误表征出现,系统就抛出其对应的异常。
这种错误分类方法的优点在于可以灵活地对错误类型进行扩展,每当遇到未发现过的错误表征,便为其定义一个新的异常和相应的处理方法,每个异常都定义为类RuntimeException的子类。
2.2 错误发现Aspect
根据关注点分离原则,错误发现和错误恢复作为容错概念下的两个关键的横切关注点,必须实现分离。在本文中,错误发现表示对已定义的错误表征的捕捉,而可能出现错误的代码块就是一个连接点,发现错误后即抛出该错误对应的异常,为了便于理解,我们用类图的方式表示方面(Aspect),如图3所示。
假设类BusinessClass负责实现一个核心关注点,该类中的多个方法都有可能出错,则调用或执行这些方法的位置就是连接点,为了匹配这些连接点,需要在错误发现Aspect中为每种错误关联一个切入点,在连接点上利用通知的before和after两种横切规则实现异常抛出,如图4所示。
2.3 错误恢复Aspect
在完成错误发现并将异常抛出之后,需要进行异常捕捉和错误恢复,这项工作由另外一个Aspect完成,同样以上文中的BusinessClass为例,异常捕捉同样需要为每种错误关联一个切入点,基本上可以采用与错误捕捉Aspect中切入点一一对应的方式定义异常捕获Aspect中的切入点,而通知的around横切规则是三个横切规则中功能最强大的,它可以代替切入点执行横切行为,改变系统的动态行为,因此可以用来进行错误恢复,如图5所示。
错误恢复的一般方法见表3,返回值异常的处理在2.5节有详细说明,错误恢复的具体实见第3节。
2.4 类型间声明
类型间声明被描述为静态横切,它支持一种更加灵活的类型系统,可以令Aspect以一种经过封装的方式来捕捉横切关注点。Aspect可以通过类型间声明向一个类型(类或其他Aspect)添加成员(方法、构造函数、域),同样也能用于实现接口和声明超类型。虽然类型间声明只能修改类或Aspect的静态结构,但是它在类或Aspect的保持模块化方面作用明显。同样以BusinessClass为例,考虑下面一种情况,有一个横切关注点是记录服务返回值的变化规律,需要在BusinessClass中声明一个属性保存上一次的服务返回值,而这个属性与BusinessClass所实现的关注点无关,此时便需要使用类型间声明将该属性从BusinessClass中转移到Aspect中,以保持BusinessClass的封装性完整。
2.5 服务返回值错误
在所有错误类型中,返回值错误与其他类型存在明显差异,其他类型的错误如果捕获失败往往具有明显的错误表征,如系统出错,而返回值错误往往不会有明显的错误表征,除非是返回值类型错误,但一般情况下返回值错误是指返回值与实际值或期望值不符,例如廉价的温度传感器发送的气温值可能与当前气温不符。本文采用基于变化率的可执行断言[2,3,4]来发现返回值错误,实践证明,如果参数指标设置得当,该方法就能发现大部分返回值错误。
为了检测返回值错误,需要规定返回值的正常变化区间,包括最大值Vmax、最小值Vmin、最大上升率Rmax_inc、最小上升率Rmin_inc、最大下降率Rmax_dec、最小下降率Rmin_dec五个参数指标,由于传感器监测的数据绝大部分是连续的,如气温、光照强度、湿度等,我们便将被监测数据按照其变化率不同分为五类,如表4。表4是设定参数指标的依据,例如,居民用电总量是一个非单调上升值,在设定参数时就应该遵从第3条规律。
我们规定每隔一段固定时间t对服务返回值进行一次采样,设当前采样返回值为V,上一次采样返回值为V′,则返回值变化率R=|V-V′|/t,由于t是固定的,因此将t作为单位时间,即变化率简化为:
R=|V-V′| (1)
得知了返回值V及其变化率R,就可以用表5中的检测手段判断该返回值的正确性,表5同时给出了错误恢复策略。
由表5可知,V的正确性检测依据的是V和V′的大小关系,而4、5两条检测在任何情况下都需要进行。例如,假设V>V′,则需要进行1a和1b两条检测,检测发生的前提条件是VVmax,当V>Vmax时,取消1a和1b检测,直接跳到4、5两条检测,由于V不满足4的正确性约束,因此由ErrorDetect Aspect抛出异常ServiceReturnOverMaxException,根据4给出的恢复策略,在ErrorRecovery Aspect将V的值替换为Vmax,至此完成了错误返回值被发现及修正的整个过程。
3 基于DOSGi的分布式容错软件开发框架
基于AOP的普适环境下软件容错方法,对Apache CXF DOSGi (Distributed OSGi)框架[6]进行容错扩展,提出基于DOSGi的分布式容错软件开发框架,如图6所示。本文使用Apace Hadoop Zookeeper[7]实现服务发现协议,以支持远程服务的动态发现。Zookeeper server作为服务注册点,记录所有已注册服务,当服务不可用时,Zookeeper server会删除该服务的记录,保证在进行服务替换时,替换服务总是可用的。Zookeeper Discovery是一个基于DOSGi的Bundle,它与Zookeeper server交互实现服务的发布和发现。
本文提出的框架将Bundle分为三类:服务接口Bundle、服务实现Bundle和应用程序Bundle。在服务接口Bundle中单独定义一个接口,该接口声明服务对外提供的方法,而服务实现Bundle负责实现服务接口,一个服务接口可以有多个服务实现,以便通过冗余服务实现服务替换。需要强调的是,由于服务实现的多样性和不确定性,我们假定服务实现不含容错能力,即服务是不可信的。因此,作为服务消费者的应用程序Bundle必须具有完备的容错能力。图7给出了应用程序Bundle的框架。业务逻辑类只负责实现核心关注点,服务容器类对服务的查找和调用方法等进行了封装,便于收集更多的上下文信息用于错误恢复;参数指标类中保存着每个服务的参数指标,用于返回值错误检查;异常定义类中为每个错误表征都建立了一个异常类,每个类都继承自运行时异常类RuntimeException; ErrorDetect Aspect和ErrorRecovery Aspect分别实现错误发现和错误恢复,同时还可能需要一个或若干个Aspect用于类型间声明。
3.1 服务容器类
图8为服务容器类的类图及其类型间声明,类ServiceContainer的属性域包含了和服务有关的所有上下文信息,这种上下文信息密集的封装方法是为了在Aspect的通知(Advice)中利用反射机制获取尽可能多的上下文信息以增加容错能力。类ServiceContainer中只定义了一个方法getServiceData,用来取得服务返回值,而并不包含用户所不关心的服务查找和调用的代码实现。实际上,服务查找和调用在类型间声明的方法serviceLoad中实现。不难看出,该类具有很好的封转性,实现了提供服务名以获取服务返回值的关注点,并且没有被其他关注点横切。
3.2 服务无缝替换
在普适环境中,对于服务超时和频繁的服务返回值错误,通常采取服务替换的方式实现容错,本文提出的框架可以实现服务无缝替换,所谓服务无缝替换指在服务容器调用方法getServiceData时远程服务S1返回超时或不可用的情况下,getServiceData直接返回另一个可用服务S2提供的返回值,而无需等待S1的返回值,更无需二次显式调用getServiceData,且以后在调用getServiceData时都使用S2而不是S1。
如图9是一个顺序图,该图说明了服务无缝替换的原理。ServiceContainer的实例Sc开辟一个新线程调用服务S1,取得返回值后保存在私有变量result中,getServiceData方法被调用时会检查result是否已被赋值,当超过一定时间仍未赋值时,getServiceData方法抛出ServiceTimeOutException异常,由2.4节可知,该异常将被try-catch块捕捉,在catch块中首先更新ServiceContainer的类属性serviceSubStats,serviceSubStats是一个通过类型间声明的哈希表,键为服务名,值为服务被替换次数,此处服务S1将被替换,因此键S1的值自增1,服务查找时会根据serviceSubStats中的值从低到高依次查找。其次,实例化ServiceContainer的另外一个实例subSc,subSc是ServiceContainer的一个成员属性,通过类型间声明定义,subSc同样利用多线程调用服务并取得返回值,在调用前会根据serviceSubStats进行服务查找,由于S1刚被替换,因此subSc会查找其他服务并调用getServiceData获得返回值返回给ErrorRecovery Aspect,ErrorRecovery Aspect再将返回值返回给Sc的getServiceData方法,subSc将线程销毁后被回收。至此,一次服务无缝替换过程结束,而且,由于serviceSubStats是类属性,对Sc亦可见,因此Sc之后也不会使用服务S1,而使用被替换次数最少的服务。
3.3 服务返回值错误修复
2.5节已经给出了服务返回值发现和修复的方法的策略,为了确定两次调用服务的时间间隔t是固定不变的,开辟一个线程每隔时间t获取一次服务返回值,并更新result,每次更新前将result的值保存到服务对应的参数指标类的类变量LastResult中,并对服务返回值进行错误检查和修复,将修复后的值存入result。
3.4 其他错误修复
其他错误的错误表征大相径庭,无规律可循,本文就不一一给出错误发现和恢复方法,但可以肯定的是,本文提出的框架具有良好的扩展性,对新错误的容错扩展只需定义相应异常类,并在ErrorDetect Aspect和ErrorRecovery Aspect中定义相应切入点和通知即可。
3.5 一个容错的天气服务应用
该应用是基于本文提出的框架所开发,如图10所示,气温、湿度、风力和空气质量四个服务都有两个服务实现,分别是对两个天气web service的封装,这两个web service都有每日访问数量限制且有时会调用失败,从而导致服务失败,该软件能够发现服务失败和返回值错误并且采取相应的错误恢复策略,图11为程序运行截图。
4 结 语
容错作为一个典型的横切关注点给普适环境下的软件开发带来了困扰,AOP的出现恰好解决了这一难题,本文提出的基于AOP的普适环境下的容错方法具有广泛适用性,基于该方法搭建的分布式容错软件开发框架也为普适环境下的软件开发提供了新思路,目前笔者仍在进行该框架的研究和开发,致力于把该框架变成OSGi平台的一个新标准。
摘要:随着普适计算的发展,容错作为普适计算中的一个重要研究领域也受到越来越多的关注。普适环境的动态性和开放性导致很难在开发阶段就确定容错策略,而在主流的OOP开发方法中,容错作为一个非功能性的关注点,会对功能性的关注点造成横切,极易导致散射或缠结,影响代码维护和重用。提出一个基于AOP的普适环境下的容错方法,使用AOP实现关注点分离,基于该方法,在OSGi平台上搭建了一个容错的软件开发框架,使用该框架开发的软件能够自动检测服务出错并进行错误恢复。
关键词:普适计算,AOP,关注点分离,容错,错误发现,错误恢复
参考文献
[1] Chetan S,Ranganathan A,Campbell R.Towards fault tolerant pervasive computing[J].IEEE Technology and Society Magazine,2005,24(1): 38-44.
[2]Hameed K,Williams R,Smith J.Aspect Oriented Software Fault Toler-ance[C]//Proceedings of 4th Interna-tional Conference on ComputerScience&Education(WCE09),London,2009,1.
[3]Martin Hiller,et al.Executable Assertions for Detecting Data Errors inEmbedded Control Systems[C]//Proceedings of the International Con-ference on Dependable Systems&Networks,2000.
[4]Martin Hiller.Error Recovery Using Forced Validity Assisted by Exe-cutable Assertions for Error Detection:An Experimental Evaluation[C]//25th EUROMICRO,Milan,Italy,1999.
[5] AspectJ project homepage[CP/OL].http://eclipse.org/aspectj/.
[6]Apache CXF Distributed OSGi[EB/OL].http://cxf.apache.org/dis-tributed-osgi.html.
普适计算环境论文 第7篇
人类社会产生至今, 新技术的产生和变革总是能够推动社会的整体进步, 其中从未缺席的是传播方式的转变。从口口相传的人际传播, 到报刊广电的大众传播, 再到范围更广、内容更丰富, 更新更迅速的网络传播, 随着微电子技术和计算机技术的飞速发展, 计算机的体积越来越小, 处理能力却越来越强、功耗越来越低、价格越来越便宜, 各种智能手机、平板电脑走入了人们的生活, 每个普通人都可能拥有至少一台小型移动电脑;同时, 互联网络尤其是各种无线网络的发展, 例如wifi, zigbee, 3G, 4G的出现, 使得访问互联网的门槛越来越低, 普通人可能在任何时间、任何地点, 以任何方式访问网络。
在上述背景下, 1 9 9 9年, I B M提出普适计算 (IBM称之为pervasive computing) 的概念, 即无所不在的、随时随地可以进行计算的一种方式, 只要需要, 就可以通过某种设备访问到所需的信息。社会网络媒体应运而生, 诞生之初就呈现出爆炸式的发展态势, 大有取代传统传播方式之趋势。社会网络媒体是通过新兴的网络社会模式进行信息发布、信息获取、信息交换的传播方式, 其典型代表主要有国外的facebook、twitter、youtube等, 国内的如新浪微博、腾讯微博、人人网、开心网等。
在社会网络媒体环境中, 普适传播是必然的传播方式, 即可以在任何时间、任何地点、以任何方式发布、访问、交换信息等, 在普适传播中任何人既是信息的生产者也是信息的接收者。普适传播是建立在两种社会心理基础之上的, 一是主我与客我意识, 美国学者米德在研究人的自我意识与内省活动时发现, 自我可以分解为相互联系和相互作用的两个方面。一方面是作为意志和行为主体的主我, 它通过个人对事物的行为和反应具体表现出来;另一方面是作为他人的社会评价和社会期待之代表的客我, 它是自我意识的社会关系的体现, 人的思维内省活动就是一个主我和客我之间双向互动的传播过程。这个理论说明人在很大程度上是活在他人的判断之下的。人们渴望认识客我, 渴望得到他人的肯定。二是耶鲁大学著名心理学教授Stanley Milgram (1933年-1984年) 于1967年所创立的六度分隔理论, 该理论的核心思想为“你和任何一个陌生人之间所间隔的人不会超过6个, 也就是说, 最多通过6个人你就能够认识任何一个陌生人。”这正是SNS网站的理论模型, 社会性网络 (Social Networking) 就是每个个体的社交圈都被不断放大后形成的大型网络, 而面向社会性网络的互联网服务, 则通过熟人的熟人来进行网络社交拓展。
社会网络媒体现状
目前, 社会网络媒体在国内外的发展都呈现爆炸之势, 以主流社会网络媒体Facebook、Twitter、新浪微博、人人网为例来说明:
内容提要:随着微电子技术、计算机技术以及互联网技术的飞速发展, 人类逐渐进入了普适网络环境, 能够在任何时间、任何地点, 以任何方式访问网络。新型的社会网络媒体 (Social Network Media) 发展迅猛, 人们的传播方式发生了翻天覆地的变化。本文关注社会网络媒体环境中的新型传播方式普适传播, 从普适传播的概念、特征、发展现状、面临问题以及未来发展几个方面进行了阐述。
1. Facebook是一个社交网络服务网站, 于2004年2月上线。市场研究公司comScore发布的数据显示, Facebook月活跃用户数量已达8亿。2011年10月8日加拿大社交媒体推广公司Gopopcorn的最新数据显示, Facebook用户每分钟发布50多万条评论、超过29万条状态更新和将近14万张图片。Facebook用户15分钟发布的图片就相当于纽约公共照片档案馆的图片总量。这些数据还在以指数级的趋势在上升。图1是花旗集团分析师马克鞥马汉尼 (Mark M a h a n e y) 于2 0 1 1年9月2 6日公布的互联网公司发展报告, 可以看出facebook的发展趋势已经远远超过了其他传统互联网巨头。
2. Twitter是美国社交网络及微博客服务网站, 于2006年6月上线。它利用无线网络和有线网络以及通信技术, 进行即时通讯。它允许用户将自己的最新动态和想法以短信息形式发送给手机和个性化网站群。目前Twitter全球用户已达1亿, 每天发送上亿条信息并不断被转发和共享, 其信息转播速度和范围是其他媒体望尘莫及的。2011年10月8日社交媒体监控公司Sysomos公布数据称, 在苹果公司宣布创始人史蒂夫乔布斯 (Steve Jobs) 去世消息后的12个小时中, Twitter用户总共发布了约250万条有关乔布斯的消息, 图2和图3分别说明了Twitter中该信息传播的范围和丰富性。
3. 新浪微博, 用户可以通过网页、WAP页面、手机短信/彩信发布消息或上传图, 2009年上线, 截至2010年10月底, 新浪微博用户数已达5000万 (2011年6月该数据已上升至2亿) , 新浪微博用户平均每天发布超过2500万条微博内容, 图4是新浪微博的运行数据。
4. 人人网, 2009年由校内网发展而来, 为整个中国互联网用户提供服务的SNS社交网站。通过发布日志、保存相册、音乐视频等站内外资源分享等功能, 搭建了一个功能丰富高效的交流互动平台。根据易观智库 (Enfodesk) 研究显示, 2011年第一季度中国SNS市场活跃账户份额中, 人人网占到25.1%, 开心网占到19.4%, 腾讯占到18.1%, 分别占据了市场前三位置。
这些只是社会网络媒体的突出部分, 就此能够管窥到社会网络媒体发展之迅猛, 图5显示了截至2011年上半年社交媒体和主流媒体的信息量, 前者的力量不言而喻。
普适传播的特征
1. 时效性。
基于社会网络媒体的普适传播, 由于传播信息的地点和时间不受限制, 是“零等待”的现场发布, 速度快、范围广、数量大, 实现了传播的高时效。
2. 对称性。
在普适传播中, 任何人既可以是信息的传播者, 同时也可以是信息的接收者, 信息没有集中管理的环节, 无需专门从业者发布, 大众也不在是简简单单的接收者。信息和反馈呈现对称性, 这种对称性又刺激了信息量的增加。
3. 人际性。
社会网络环境中, 信息传播主要依靠各个小团体、小组织、小圈层, 从微观上看, 普适传播呈现出人际传播的特征。
4. 大众性。
在社会网络媒体中, 各个小团体能够相互联系, 相互依赖, 放射成无远弗届的传播区域, 从宏观上看, 普适传播呈现出大众传播的效果。
普适传播面临的问题
普适传播在极速的发展中, 不可避免地出现了亟待解决的一些问题。
1. 信息爆炸。
根据Gopopcorn统计, 目前社会主流媒体在60秒内的信息量如下:Twitter上有12万条Tweets、1475张照片被发布;Foursquare上有2083次签到;Flickr上有3500张照片被上传;Facebook上有51万条评论、29.3万次状态更新、13.6万张照片被上传;Instagram上有1350张照片被上传;Tumblr上发表了1080条帖子。如何有效保存、组织、管理这些信息对普适传播的参与者是巨大的挑战。
2. 信息淹没。
普适传播的信息呈爆炸状态, 因此带来的直接后果就是信息淹没;普适传播的对称性, 又导致了信息传播和组织的扁平化, 信息处于无序状态;人际性导致了网络中充斥着大量重复的信息。如何快速有效的寻找目的信息、如何使信息取得目标受众的关注也是需要深入思考的问题。
3. 传播不可控。
传播的对称性使得每一个人都可能成为信息的发布者和接收者, 所以如何有效鉴别信息、引导和控制传播是非常棘手的问题。
4. 信任危机。
由于传播不可控, 导致网络中存在大量的虚假信息、私密信息, 这是人们感觉地球越来越小、隐私越来越少的一种表现, 如果不加以有效管理和控制, 会出现人人自危集体沉默的结果。
5. 如何与传统媒体共生。
社会网络媒体固然有着无法比肩的传播优势, 但是它不可能彻底取代传统媒体, 因此如何实现两种传播模式的有效共生也是需要研究的重点。
展望
普适计算环境论文 第8篇
上下文感知计算是普适计算的一个重要研究领域。上下文感知系统是指能感知用户环境的变化并作出相应调整的系统[1]。在普适医疗环境下, 上下文感知系统将各种医疗设备和感知设备通过网络连接在一起, 使医护人员更加方便地访问各种资源和信息, 从而提高医疗工作效率。环境与位置感知以及用户健康状态与生理信息感知能够为医生决策提供上下文信息, 也能够为病人提供更加舒适的环境和更加智能的医疗服务[2]。
相对于一般的普适环境, 普适医疗环境下的上下文感知有以下的特点: (1) 设备数量多, 一些医疗设备并不像空调等固定在一个环境下, 需要根据医护需求动态地退出或加入环境; (2) 医疗术语丰富, 关联复杂。针对这些特点, 本文提出一种上下文感知中间件PHCM (Pervasive Healthcare Context-aware Middleware) 。该中间件采用集中式架构, 包括上下文发现和接入、上下文建模以及上下文推理几个功能模块。
1相关工作
在文献[3]中介绍了上下文中间件两种流行的架构模型:上下文驱动模型 (Context-Driven Model) 和SOA模型。上下文驱动模型是指将上下文信息抓取到一个共享上下文存储空间, 这些抓取来的上下文信息会由上下文中介 (broker) 根据自己的控制逻辑, 激活上下文感知代理 (或者称为执行器Actuator) , 来反作用于环境。这样的模型分工明确。SOA模型是指用服务封装传感器、执行器, 然后组合这些服务。这种模型可以采用服务组合的各种形式化成果。
CoCA[4]基于策略和语义对上下文进行推理和决策。在该平台中, 数据被组织成GCoM (generic context management model) 的形式。GCoM分为上下文捕获、上下文本体、规则捕获三个部分。 上下文捕获是连接上下文源的接口, 它过滤有效信息送入上下文仓库。规则捕获收集来自用户自定义或者知识建模语言的规则, 放入规则仓库。CoCA框架中还有一个补充服务模块, 包括知识发现服务和协作服务, 可以通过服务发现将新的服务加入到应用中, 比如安全服务。协作服务用基于ad hoc的架构来协作设备的计算资源, 并且假设在一个域里面有一个类似PC的主要计算节点作主要计算。该框架结合了集中模式和ad hoc模式。但是, 在该框架中, 没有提到上下文发现和接入的具体方法。
文献[5]提出一种基于语义的车祸应急系统。系统模拟了一个车内环境, 将车内设备抽象成服务。该系统用OSGI作为服务发现和接入框架。但是, 该系统是针对场景的, 而且该系统中没有对上下文进行推理的功能。
2典型场景
医院的智能病房, 具备实时收集病人的病况信息以及活动情况, 并利用收集到的信息作出反应。病房内可以有如下的上下文提供设备和服务提供设备。
(1) 光线感知器, 感知房间内的光线等级; (2) 智能照明设备, 能够根据当前的光线情况调节光线; (3) PIR移动感知器, 用来探测是否有人接近感知器一定范围内的区域; (4) RFID, 用来提供各个人进出病房的实时信息, 不仅可判断人的位置, RFID还可以依附在别的物体上面, 并且有一个唯一的ID; (5) 紧急情况呼叫, 在感知到病人遇到紧急情况时, 呼叫相关医护人员; (6) 床边血气分析仪; (7) 床边心电图机等。此外, 病房中还有通过有线网络连接的Web 服务, 比如天气预报服务, 也可以用来提供上下文信息。
通过多个感知器判断, 病人甲在二病区321病房跌倒, 并且该病人患有呼吸或者肌肉相关等疾病。这时病人极其可能需要医护人员的救护, 因此呼叫二病区的护士, 准备移动病床, 并将此信息发送给病人甲的主治医生。
3中间件设计
3.1体系结构
针对普适医疗环境的特点, PHCM采用集中式架构, 上下文信息的计算和管理集中在一台服务器中进行。集中式架构的优点是可以支持计算能力较弱的用户设备。PHCM由以下三大部分组成, 如图1所示。
1) 上下文发现和接入
它由UPnP设备、调用模块和数据收集Web服务组成。用UPnP作为上下文发现协议, 连接不同的设备。调用模块和数据收集Web服务从设备上收集上下文信息。
2) 上下文处理
它通过从设备和Web 服务得到的上下文实例, 进行推理。上下文信息通过RDF/OWL建模, 使用基于规则的推理机进行推理。一旦规则满足, 上下文处理模块根据当前应激活的任务信息发送消息给上下文感知服务。
3) 服务总线
PHCM用服务总线将以下三类服务结合起来:
(1) UPnP设备提供的服务;
(2) 通过网络可以直接访问的Web服务, 比如天气预报站点;
(3) 中间件本身的模块, 比如上下文处理模块也被发布成服务。
服务总线除了提供绑定、消息路由等重要功能, 还提供服务的注册。服务注册使得其他的服务模块可以发现和查询Web服务和上下文处理服务。所有的上下文提供者和上下文感知服务都需要通过这个注册模块注册到中间件上。
中间件本身的模块, 比如上下文处理, 通过WSDL来描述, 使得这些服务可以被当作远程服务, 被其他的应用调用。
3.2普适医疗环境上下文本体模型
对上下文处理首先需要对上下文进行建模。在普适医疗环境下, 医疗设备和术语数量多, 关联复杂, 而且随着科技的进步, 新的领域术语以比较快的速度不断加入。另外, 在对病人进行救护和监护的过程中, 病人的病理情况在大多数时候并不能够直接判断, 需要对多种信息进行筛选和综合。因此, 上下文模型不但需要方便添加对新概念的描述, 而且需要支持对上下文的推理功能。
本文中使用OWL和本体来构建模型。使用OWL/RDF对上下文进行建模是因为不仅可以表示出上下文信息, 还可以相对方便地使用基于规则的推理机对隐晦的上下文进行推理, 从而得出比较高层的信息。这样的上下文模型有如下的形式:
(Predicate, Subject, value)
其中Subject 属于 S*:主体名字的集合, 例如一个病人、一个地点或者一个PDA。
Predicate 属于 P*:谓词名字的集合, 例如病人的当前位置、 病房内的温度或者PDA是否连接到网络。
value属于O*:所有subject的值, 例如病房321、27摄氏度。
因此, 病房321、温度27摄氏度这个信息可以被写成 (temperature, Room321, 27) 。
本文将因为上下文变化的触发而需要完成的目标任务 (Task) 包含在本体之中, 由目标任务去调用具体动作 (Activity) 。这样做的优点有两个, 一是可以将任务和任务子动作的具体细节分开, 从而当一个子动作需要启用的设备信息改变的时候, 对于任务的描述不用改变;二是任务用本体描述, 可以在推理的过程中借助任务的状态、上下文信息和自定义规则, 对任务应该做的变化作出推理。设计一个名为Task的类和以Task为根节点的具体任务层次, 推理完成之后, 如果有属于Task类的实例存在, 则向服务响应部件发送一个SOAP消息, 其中包含Task的所有信息。我们用以下的结构来描述一个Task:
a) taskName:目标任务的名称;
b) taskDescripe:任务的功能描述信息;
c) todo:描述了当前task的子动作;
d) taskState:表示任务当前的状态, 有CLOSE’, OPEN’两个值可以选择, 分别表示任务此时未启动以及任务需要被启用;
e) relatedTo:表示目标任务是与哪个具体病人相关的, 关联到病人实例。如果是一个通用的目标任务, 则此属性为空;
f) responseTime:响应时间, 一个目标任务从被触发启动到完成大致需要多少时间, 这个信息存储在任务profile里面, 当系统运行的时候加载。
综上, 本文设计了如图2所示的智能病房的本体。
用上述本体描述上下文片段如下:
3.3上下文发现和接入
在普适医疗环境中, 上下文提供者可能是传感器、医疗电子设备, 存在很大的异构性。除此之外, 上下文提供者需要能够动态地退出或者加入感知系统, 这就要求发现和接入协议有很强的动态性。基于以上的要求, 本文采用UPnP作为上下文发现协议。
对于不支持UPnP的设备 (比如sensor) , 首先需要将它们连接到UPnP bridge 软件, 然后通过bridge软件连接到控制点上面。UPnP设备有自己的描述、发现、消息和事件协议。UPnP的工作方式如下:
1) 设备 (PDA、LAPTOP、SENSOR等) 通过消息广播找到UPnP 控制点。
2) UPnP控制点通过响应消息跟这个设备建立连接。
3) 一旦连接上之后, 设备将自己的一些服务信息传输给控制点。
4) 此时, 在UPnP控制点处, 有控制和监听两种功能。控制功能用来调用各个设备的服务, 监听功能用来接收由设备发出的参数变化事件消息。
除了UPnP的控制点和设备外, PHCM中间件在上下文发现和接入功能处还有调用模块和数据收集Web服务。调用模块使用UPnP SDK包开发, 是一个虚拟的UPnP设备, 这个设备服务的功能就是保存事件消息并调用数据收集Web服务。调用模块将刚才的事件消息用接收时间、设备名、参数、参数值的形式保存。数据收集Web服务读取上下文信息, 并将其转换成本体实例, 然后发送实例到上下文知识库, 最后调用上下文处理服务。
上下文感知服务响应上下文变化的步骤如下:
1) 设备的状态值发生变化, 并将信息用事件的方式发送给UPnP控制点。例如RFID上的病人位置信息检测到变化。
2) UPnP控制点接收到监听的事件, 激活调用模块, 并存储信息。调用模块调用数据收集Web服务。
3) 数据收集Web服务完成数据到本体实例的转换工作, 并发送到上下文处理模块。
4) 上下文推理服务被激活, 根据知识库中存储的本体实例进行推理。
5) 推理后任务状态变化, 此时触发事件通知上层的应用系统。
上下文信息在发送给知识库之前需要转换成本体实例。利用UPnP协议本身的特点[6], 本中间件用以下的机制来完成转换工作:
当一个新加入的设备连接到UPnP控制点的时候, 数据收集Web服务根据UPnP设备描述文件的<deviceType> 内容在已有的本体库内查找有无名字相同的类。如果没有则根据deviceType的值添加一个类, 并将它作为Device的子类。作为例子, 下面是一个UPnP binary light设备加入时应该添加的类:
查找UPnP设备的服务描述文件的stateVariable, 在它们的前面加上刚才的设备类型deviceType作为前缀, 检查当前本体中是否有以此为名字的类。如果没有则添加一个新的类, 并且作为PatientData的子类。下面是为UPnP binary light设备中的power参数添加的类:
有了以上的本体创建, 则保证了设备描述文件和本体名称的匹配。当控制点得到从设备的返回数据时, 查找自己设备文件和设备服务文件中的参数, 创建实例。例如, 根据上述的binary light例子, 如果从控制点接收的事件消息中可以得到power=1, 那么此时的实例可以如下创建:
上下文信息转换完毕后, 数据收集Web服务将上述的信息传送给知识库。
3.4上下文处理
上下文处理模块包括以下两个部分:
(1) 上下文知识库 (KB) KB有两个部分的功能, 首先, 存储系统中的本体库和它们的实例;其次, 提供接口供推理模块和上下文发现模块查询和添加上下文信息。本体实例可能是预先定义在profile里面的, 也可能是从设备或者其他服务得到的。预先定义的profile在系统开始运行的时候动态导入到系统中来。上下文信息中还包括一些在一定时段里面固定不变的信息, 比如病人的血型、紧急联系电话、病史、病房号。这些信息的本体实例可以通过病人的住院登记信息生成。
在中间件开始运行的时候, 系统自动为每一个种类的task生成实例, 存储在KB里面。其中这个task实例的重要信息如下:
当任务状态变换的时候, 比如一个任务实例的OPEN状态替换掉了CLOSE状态, 则下次推理的时候用最新的一个状态信息参加推理。考虑前面的场景, 一个患有肌肉松弛或者呼吸病的病人一旦被检测到摔倒了, 根据推理需要启动病人紧急定位帮助任务。根据任务profile, 该任务的响应时间为1分钟, 意思是在1分钟之内, 医护人员会对病患采取措施, 将病人带回病房检查情况。系统在1分钟之后, 自动将任务状态置回CLOSE。如果此时, 病人的状态仍旧是摔倒状态, 则会再次启动任务。
(2) 上下文推理 推理模块的重要任务除了推断高层信息, 还有检查OWL中class的分类和一致性, 通过推理将class之间的隐含关系推断出来。上下文推理包括RDFS推理和OWL推理。OWL推理支持OWL LD语言。
在推理的过程中, 可以按照语言本身的规则进行推理, 比如 (?a p b) , (?p rdfs:subPropertyOf q) (?a?q?b) 。还可以将用户自定义规则加入到推理的过程中, 如下:
一个推理的过程如下:
1) 在系统启动时, 为每个task生成实例, 并导入任务profile;
2) 检查新获取的信息, 判断该低层上下文是否违反上下文一致性?如果违反则结束推理;
3) 将新的上下文信息存放到KB中;
4) 根据已有的上下文知识推断出高层信息;
5) 检查新推导出的知识是否符合一致性, 如果违反则结束推理;
6) 将新推导的知识存入KB中;
7) 遍历新推导的知识, 检查task的状态, 如果需要启动任务则触发动作并发送task信息;
8) 更新KB中的任务状态实例;
9) 结束。
4中间件实现
本文开发了PHCM中间件原型系统。系统用protégé建模智能病房本体, 用Jena2 Semantic Web Toolkit[7]作为推理工具。Jena中的RDQL (RDF Data Query Language) 接口, 可以支持对上下文知识的查询、提取、修改。存储本体的数据库采用Mysql。系统的UPnP的控制点和调用模块用到了UPnP开发包CyberLink for JAVA[8]。开源软件Tuscany[9]作为PHCM的服务总线。
5结语
本文提出了一个普适医疗环境下的上下文感知中间件。通过UPnP和Web服务将设备包装起来提供上下文信息。在上下文推理模块, 用本体对环境和目标任务建模。但是, 本文在构建本体和推理规则的过程中, 没有涉及到对上下文冲突的处理。
摘要:普适医疗环境具有异构设备多且需动态加入或退出、医疗术语关联复杂等特点, 现有上下文感知中间件在上下文发现和接入、上下文知识管理等方面尚有不足。基于本体对上下文信息建模和推理, 提出一种适用于普适医疗环境的上下文感知中间件, 该中间件采用集中式架构、用UPnP作为上下文发现和接入方法, 还讨论了该中间件在智能病房典型场景中的应用。
关键词:上下文感知,普适医疗环境,中间件,UPnP,本体
参考文献
[1] Want R, Hopper A, Falcao V, et al.The Active Badge Location System.ACM Transactions on Information Systems, 1992, 10 (1) :91-102.
[2]Bricon-Souf N, Conrad RNewmanb.Contextawareness in health care:Are-view[J]international journal of medical informatics 76, 2007:2-12.
[3]Hen-I Yang, Jansen E, Helal S.Acomparison of two programming mod-els for pervasive computing Applications and the Internet Workshops.SAINT Workshops 2006.International Symposium on 23-27 Jan.2006:4.
[4]Ejigu D, Scuturici M, Bruniel L, et al.A Collaborative Context-AwareService Platform for Pervasive Computing;Information Technology.IT-NG′07.Fourth International Conference on 2-4 April, 2007:297-302.
[5]Kalasapur S, Senthivel K, Kumar M.Service oriented pervasive compu-ting for emergency response systems.Pervasive Computing and Commu-nications Workshops, 2006.PerCom Workshops 2006.Fourth AnnualIEEE International Conference on 13-17 March, 2006:5.
[6] UPnP Device Architecture.http://www.upnp.org/.
[7]Jena from SourceForge.Net, A Semantic Web Framework for Java.ht-tp://jena.sourceforge.net/.
[8]CyberLink for JAVA.http://www.cybergarage.org/net/upnp/java/in-dex.html.
普适计算环境论文
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。