首页> 中国专利> 一种基于软件主体的应用自主流动方法

一种基于软件主体的应用自主流动方法

摘要

本发明涉及一种基于软件主体的应用自主流动方法,传统的软件应用是固定于特定的计算设备之中,但是由于用户的流动性对应用的流动性产生了新的需求,传统的数据流动不满足这种特性化需求。本发明提出了一种低耦合应用组件模型,利用软件主体化技术自主控制组件于相应网络空间中流动,为用户提供可适应性服务的方案。其利用传感器数据融合技术或用户指令接口获得用户位置信息或用户意图自主对低耦合应用组件进行动态绑定及资源重解释,支持应用多种流动模式,利用组件本身物理分布特征,克服现有技术应用整体静态绑定流动的低效性等缺点,提高流动的效率,有效降低了网络负载和提高了应用流动的稳健性,提高了用户对软件服务和计算环境的满意度。

著录项

  • 公开/公告号CN101114223A

    专利类型发明专利

  • 公开/公告日2008-01-30

    原文格式PDF

  • 申请/专利权人 南京大学;

    申请/专利号CN200710025456.3

  • 发明设计人 吕建;马晓星;周宇;

    申请日2007-07-31

  • 分类号G06F9/44(20060101);

  • 代理机构南京苏高专利事务所;

  • 代理人柏尚春

  • 地址 210093 江苏省南京市汉口路22号南京大学蒙民伟楼510c室

  • 入库时间 2023-12-17 19:41:21

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-09-15

    未缴年费专利权终止 IPC(主分类):G06F9/44 授权公告日:20090325 终止日期:20160731 申请日:20070731

    专利权的终止

  • 2009-03-25

    授权

    授权

  • 2008-03-19

    实质审查的生效

    实质审查的生效

  • 2008-01-30

    公开

    公开

说明书

一、技术领域

本发明涉及一种基于软件主体的应用自主流动方法,特别应用了基于传感器和情境感知技术,嵌于自主主体的基于描述逻辑的形式化资源规约和推理技术,嵌于移动主体的低耦合的应用组件移动和重组技术等实现了一个可自动探测用户位置信息并自动随用户迁移应用或感知用户意图可被派遣到远程并能自动进行多位主体同步的应用中间件系统。

二、背景技术

应用流动是现今用户伴随着网络基础设施的完善对计算空间期望值的自然提升,具体而言,用户期望应用能够综合利用各种感知设备,智能推理模块等感知用户的情境信息,并能伴随着用户的移动将交互活动的应用从一个计算设备流动到另外一个计算设备;或者将应用多向流动到各相关涉众方并进行多位同步。然而这其中缺少一个通用框架模型和方法,传统的整体迁移没有考虑到现有计算空间的网络密集性,资源密集性等特点,不仅对应用流动的支持有限,而且较大浪费了网络带宽等资源,同时由于整体流动还面临着诸多限制条件,平台的适应性较差,没有考虑到对手持设备比如PDA,智能手机等新兴产品的支持。

软件主体技术通常包含两层概念,分别是移动主体和自治主体。前者是传统面向对象思想的延伸,一个移动主体是状态和行为的良好封装,它能代表用户在网络空间自由流动,完成指定的功能,由于其移动性兼具有独立性的特征故而称之为移动主体;后者强调其智能性,它能代表用户自主感知外界情境变化,并能根据变化做出相应的反应从而适应环境,由于它的这种自治性兼具有独立性的特征故而称之为自治主体。

Cricket传感器是近年来无线传感器网络中常用组网工具,通过固定在特定位置的一些beacon节点和用户携带的listener节点,组成了一个传感器网络,Cricket传感器综合利用超声波和特定频率的电磁波之间的时间差来计算以确定坐标位置,并通过映射将坐标转换为空间具体位置信息,从而为主体提供用户的决策的部分依据。

描述逻辑推理是基于一种知识表述语言的描述进行形式化推理的技术,源于上世纪七十年代语义网络的研究,定义一套形式化的操作语义,以支持知识描述的无二义性和推导算法的可跟踪性。描述逻辑选取一阶谓词逻辑的一个子集,该子集具有足够的表述能力并能够进行高效的推理。

但是,现有的技术难以较好的支持应用的流动性。这主要表现在以下几点:1,传统的流动方式(整体级别)限制了流动的范围且难以对多向流动方式加以支持,因为后者往往需要对多个应用加以协同;2,传统的流动方式忽视了资源的分布性和网络连接的普及性,资源的远程应用的现实可以节省大量的带宽,同时还可以提高流动的效率,使得时间延迟大为减少;3,传统的流动方式对资源灵活绑定缺少明确的形式化支持,流动后的应用往往不能有效使用本地的资源比如打印机,扫描仪等设备;4,传统的流动方式对于情境的变化缺少支持,比如由于设备的不同,计算能力的差异,迁移的部件也应有所不同,按传统方式流动后的应用往往出现失效等情况。

三、发明内容

本发明的目的是提供一种基于软件主体的应用自主流动方法,其可以较好的支持软件应用的流动性。

为了实现上述目的,本发明采用一种基于软件主体的技术方案从应用松耦合模型到资源描述推理以及多模式轻量级等角度入手对应用流动加以支持。

其包括以下步骤:

1)捕捉用户的位置变化从而推导出用户的移动信息或根据用户的操作指示等上下文信息得到用户的意图;

2)根据上一步骤所得到的情境信息,由软件主体管理器生成一个软件主体,软件主体对用户新到达网络空间的应用注册中心进行查询,并比较当前应用的组件分布情况以及资源绑定状态,再基于描述逻辑决策需要迁移的应用组件;

3)在决定迁移应用组件之后,根据用户的意图,确定迁移模式的种类,第一种是单向式迁移,第二种是多向式迁移;

对于第一种模式,软件主体管理器自动生成一个移动软件主体,将组件进行封装,状态永存,随用户移动到目的网络空间,重新解释应用对于资源的绑定,并且将移动后的结果消息发送给自治主体,自治主体更新应用注册中心的组件分布信息;

对于第二种模式,软件主体管理器会克隆一个或多个移动软件主体,将组件封装,状态永存,根据用户指令将组件迁移到相应的网络空间,重新解释应用对于资源的绑定,将移动后的结果消息发送给自治主体,自治主体跟新应用注册中心的组件分布信息;

4)上述步骤结束之后,移动主体都要导入移动前的状态,从而使应用从中断时刻开始恢复运行。

本发明的有益效果是:

本发明并不一定要求在普适计算环境下应用,对于一般的网络连接和计算设备都可以加以支持;

本发明从单向和多向流动角度对应用流动加以支持,区别于已发表文章的剪切和复制这两种方式,在后者中,应用的流动仅限于复制到一个目的节点之中;本发明的对应用流动的支持更为广泛,可以跟踪多个用户,并且由自治主体管理器可以孵化出多个自治主体加以唯一标注并对相应的应用进行跟踪,并进行多位同步及流动管理;

四、附图说明

图1:本发明的流程图;

图2:有关应用模型的逻辑视图;

图3:整体应用结构框架图;

图4:Cricket传感器程序调用示意图;

图5:Cricket传感器程序调用顺序图。

五、具体实施方式

1.本发明的硬件环境

本发明需要部署若干传感器,以建立一个网络用来采集用户的位置数据,并以此作为下文推理的基础,下面为部分Cricket初始化代码

    ServerBroker cricket=new ServerBroker();    BitSet mask=new BitSet();    mask.set(Broker.SPACE);    mask.set(Broker.BEACONSTAT);    mask.set(Broker.POSERR);    cricket.register(this,mask);    cricket.start();

图4和图5分别是Cricket传感器程序调用示意图和顺序图。在图4中,Cricket后台服务通过服务代理对象和各个服务请求对象进行交互,服务代理对象通过回调函数通知各服务请求对象所注册的监听消息;图5是相应的程序调用交互顺序图,回调句柄创建服务代理对象,得到相应的引用,通过该引用将自己注册到该代理并启动监听进程,服务代理返回相应的数据,得到这些数据后,回调句柄通过定位器进行定位,得到相应的空间位置信息。因此,在具体的应用过程中用户需要手持一个Cricket监听器,用来标识自己的身份和位置信息,或者通过应用界面提供意图和流动位置信息。

流动应用所在的源空间和目的空间都有相应的计算机设备,或者手持智能设备,并且都有相应的应用注册服务器,目的空间和源空间的网络连接需保持通畅,都有符合FIPA规范的软件主体容器。

2.资源描述和逻辑推理

本方法目前支持基于OWL的资源描述和推理,下面为一个打印机描述示例,表示此打印机的打印属性,以及它的能否被替代,能否被迁移等:

<owl:Class rdf:ID=”hpLaserJet”>    <rdfs:comment>hp color printer</rfds:comment>    <rdfs:subClassOf rdf:resource=”#Printer;Substitutable;UnTransferable”/>    <owl:ObjectProperty rdf:ID=”locatedIn”>         <rdfs:range rdf:resource=”#Office”/>         <rdfs:type rdf:resource=”TransitiveProperty”/>    </owl:ObjectProperty>    ...

相应的逻辑推理为RDF格式,本方法原型系统采用Jena推理引擎,按其规约所写的规则示例如下:

[Rule1:(?pimcl:locatedIn?q),(?qimcl:locatedIn?t)->(?pimcl:locatedIn?t)][Rule2:(?ptr imcl:cmpObj‘desktop’),(?srcRsc rdf:type?ptr),(?destRsc imcl:printerObj?ptr->(?srcRsc imcl:compatible?destRsc)][Rule3:(?addr1 imcl:address  ?value1), (?addr2 imcl:address ?value2),(?srcRscimcl:compatible  ?destRsc)->(?action imcl:actName ″migrate″),(?actionimcl:srcAddress?add1),(?action imcl:destAddress?add2)]......

3.软件主体的生成和管理

软件主体由主体管理器管理,除基本的生命周期管理之外,还负责,容错管理,协同管理等,本方法原型系统采用的是Jade多主体创建平台作为主体的容器。

下面结合附图对本发明作进一步详述。

如图1所示,本发明的步骤是:

1,给每个应用分配一个独立的应用识别码,每个应用识别码由AppName+Time组成,AppName为应用注册的名称,Time为系统当前时间(长整形,毫秒数),每个应用相应的识别码不同;

2,每个用户分配一个不同的用户ID,这个ID由系统自动随机生成,存在于一个会话周期中,并和应用相互关联,从而形成一个二元组<AppID,UserID>。

3,在情境层,通过两种接口对情境信息感知,一种是通过传感器网络定位技术对采集的数据进行融合处理,感知用户空间位置的变化,一种是通过接口界面获得用户的指令。这两种感知方式分别是对应于单向流动和多向流动;在结构上,这两种方式由传感器层和数据融合层进行处理。

4,在获得上下文信息后,自治主体管理器创建一个自治主体同该应用相关联,由一个二元蕴含组表示<AAgentID,<AppID,UserID>>,AgentID是软件主体容器生成的关于主体的标识,具有全局唯一性的特点;管理器向情境层注册监听事件,当用户空间位置变化或用户的交互指令应用多向流动时,情景层通过回调函数通知管理器,管理器根据AgentID,和AppID将情境信息通知该ID对应的自治主体。自治主体接管余下的进程;

5,自治主体查询目的空间应用注册中心,得到应用组件分布位置信息,根据源空间资源的绑定描述和移动目的空间的资源注册情况进行分析比较,通过逻辑推理过程,决定哪一个应用组件流动,逻辑的描述和推理过程请参见本节第二部分,具体的流动模式由第二步骤决定;

6,对于单向流动而言,软件主体管理器会生成一个移动主体,由MAgentID标识,系统将应用的状态记录下来,根据自治主体的决策,将指定的需要迁移的组件进行序列化并永存管理,然后由移动主体携带,将该部分派发到相应的目的空间容器之中,而目的空间位置信息,由自治主体通过注册的监听函数得到;

7,对于多向流动而言,软件主体管理器会生成若干个移动主体,具体的个数主要由用户指定要流向的空间数所决定,系统将应用的状态记录下来,根据自治主体的推理决策,将指定的需要迁移的组件进行序列化并永存管理,然后由多个移动主体分别携带,将该部分派发到相应的目的空间容器之中;

8,到达目的空间之后移动主体根据携带的状态信息将应用从断点处恢复运行,读取当地系统配置文件,根据读取信息做出部分适应性的行为,比如可根据新空间的计算物理设备分辨率等属性做出部分的调整,以减少用户的干预,提供高质量的服务,向管理器发送流动结果消息,包括应用标识,组件标识,流动后的URL地址;

9,待管理器接受到应用流动成功的消息之后,根据该信息向应用注册中心更新空间应用组件分布信息。

10,对于单向流动的应用组件而言,应用根据保存的状态从断点处运行;对于多向流动的应用而言,各复制的组件本身作为独立的应用,有各自的线程,不同的应用有不同的需要,对于需要同步的各流动后的应用,移动主体可以互相传递消息,以进行多位同步,否则,各应用自主执行;

本发明主要由以下若干要素组成:

应用模型:本发明中需针对松散耦合的应用才能加以进行组件级别的灵活流动管理,为此,本发明提出了一种松耦合应用模型,将用户视图,数据和逻辑控制进行分散化管理。具体的视图可参见图2。

在图2中,应用被分为逻辑,模型,街面,和数据/资源等松耦合组件,通过资源描述/解释模块和移动主体将之进行连接。应用逻辑操纵数据并通过资源解释模块同资源绑定,应用逻辑同时还控制着模型,比如业务流程和数据标准化操作等,而这些模型的改变最终会一致地反映到用户界面上,移动主体可以对这些组件灵活地进行封装,并重新激活,通过资源解释模块和移动主体,屏蔽了底层的网络和资源的异构性,使得远程的引用和灵活的资源重解释成为可能,从而也使得应用的组件级别流动成为可能。

软件主体管理器:软件主体管理器主要用来管理自治主体和移动主体,主要包括生命周期管理,容错管理等,并负责对这两类主体进行协同控制;

资源描述逻辑推理模块:主要包括基于语义网络中常用的本体描述语言的描述部分和基于一阶谓词的推理部分。

图3是整体框架结构示意图,分为三个部分,由下至上分别为:情境层,主体层,和应用层。情境层包括传感器层和数据融合层,分别对应传感器数据采集,和对原始数据的处理,空间映射技术等,得到高层的情境数据;主体层主要由自治主体和移动主体以及负责对这些主体进行生命周期管理,通信管理,容错管理等的主体管理器组成,主体层的管理属于系统级别的支持,可以由第三方软件提供,自治主体主要负责逻辑推理等智能行为,移动主体主要负责应用组件的流动和状态恢复,同步等行为。应用层主要是按照前文所提出的分布式松耦合应用模型所设计的应用组件构成。三者之间的交互为:高层情境信息通过情境层传递给主体层,自治主体对这些信息进行分析推理,流动模式的判断,而相应的移动主体和应用层进行交互,负责组件的具体流动执行和恢复、同步等。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号