首页> 中国专利> 在移动自组织网络中的情景感知自动服务发现和执行引擎

在移动自组织网络中的情景感知自动服务发现和执行引擎

摘要

在移动自组织网络(502a)的移动计算和情景感知方面,节点连通性是不可预测的随时间变化的。中间件实体(110’)解决了在检测到像连接移动终端(504)到自组织网络(502a)、基础网络拓扑变化、把移动终端移至另一移动终端的物理邻近区、服务和/或用户在所述网络中的存在以及从自组织网络断开移动终端时,自动执行用户定义的动作组(214)的问题,所述动作被收集在用户简档(210)。所述动作(214)可启用驻留在经由所述自组织网络(502a)互连的所述移动终端(504)或其他移动终端的服务。所述简档存储在移动终端或固定或移动消费者边缘设备中。可以设想的是部署保持所述简档(210)的分布式数据库。

著录项

  • 公开/公告号CN1620039A

    专利类型发明专利

  • 公开/公告日2005-05-25

    原文格式PDF

  • 申请/专利权人 索尼国际(欧洲)股份有限公司;

    申请/专利号CN200410087053.8

  • 发明设计人 D·曼达托;E·科瓦克斯;

    申请日2004-10-22

  • 分类号H04L12/56;H04L29/12;

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人程天正;王勇

  • 地址 联邦德国柏林

  • 入库时间 2023-12-17 16:12:33

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-10-11

    未缴年费专利权终止 IPC(主分类):H04L12/56 专利号:ZL2004100870538 申请日:20041022 授权公告日:20070516

    专利权的终止

  • 2012-06-20

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L12/56 变更前: 变更后: 申请日:20041022

    专利权人的姓名或者名称、地址的变更

  • 2007-05-16

    授权

    授权

  • 2005-07-27

    实质审查的生效

    实质审查的生效

  • 2005-05-25

    公开

    公开

说明书

技术领域

本发明总体涉及无线自组织网络中的移动计算和情景感知(context-aware)领域,其中,节点连通性的质量可能是不可预料地随时间变化的。本发明特别涉及一种专门设计的中间件实体,该实体解决这样的问题:当检测到特定的触发条件出现时,自动执行一组用户定义的动作,所述动作用于请求、激活(activate)、控制和/或停用(deactivate)所发现的、由任何网络的节点所提供的服务。

背景技术

B.N.Schilit和M.M.Theimer在“Disseminating Active MapInformation to Mobile Hosts”(1994年9/10月的IEEE Network 8(5)第22-23页,可在ftp://ftp.parc.xerox.com/pub/schilit/AMS.ps.Z处获得)中讨论了情景感知计算。其中,所述情景感知计算被定义为“根据其使用位置,适应附近的人物和对象以及对这些对象随时间变化的集合(collection)”的软件。然而,公认的是情景感知计算的最初调查研究(research investigation)是1992年在R.Want、A.Hopper、V.Falcao和J.Gibbons的论文“The Active Badge Location System”(1992年1月的ACM Transactions on InformationSystems 10(1)第91-102页,可在http://www.parc.xerox.com/csl/members/want/papers/ab-tois-jan92.pdf处获得)中描述的Olivette有源胸卡工作项目(active bagde work)。从那时起,有了许多的对情景感知计算的定义。

在前面提到的B.N.Schilit和M.M.Theimer的“DisseminatingActive Map Information to Mobile Hosts”一文中给出了情景感知应用的最初定义,其中,将该定义限定为从仅仅得到关于情景的通知的应用到使其自身适应于情景的应用。情景感知已经变得与其他的术语有点同义的:

自适应的-见M.G.Brown的“Supporting User Mobility”(Proc.of the IFIP Conference on Mobile Communications(IFIP‘96),堪培拉,澳大利亚,1996年9月,可在ftp://ftp.uk.research.att.com/pub/docs/att/paper96.7.pdf处获得),

反应的-见J.R.Cooperstock、K.Tanikoshi、G.Beirne、T.Narine和W.Buxton的“Evolution of a Reactive Environment”(Proc.of the 1995 ACM Conference on Human Factors in Computing Systems(CHI‘95)第170-177页,丹佛,哥伦比亚州,1995年5月7-11日,可在http://www1.acm.org/sigs/sigchi/chi95/Electronic/documnts/papers/jrc_bdy.htm处获得),

响应的-见S.Elrod、G.Hall、R.Constanza、M.Dixon和J.Des Rivieres的“Responsive Office Environments”(Comm.of theACM 36(7),1993年7月,第84-85页,可在http://www.acm.org/pubs/articles/journals/cacm/1993-36-7/p84-elrod/p84-elrod.pdf处获得),

定位性的-见R.Hull、Ph.Neaves和J.Bedford-Roberts的“Towards Situated Computing”(Proc.of the 1st International Symposium on Wearable Computers(ISWC‘97)第146-153页,剑桥,马塞诸塞州,IEEE,1997年10月13-14日,可在http://fog.hpl.external.hp.com/techreports/97/HPL-97-66.pdf处获得),

情景敏感的-见J.Rekimoto、Y.Ayatsuka和K.Hayashi的“Augmentable Reality:Situated Communication through Physical and Digital Spaces”(Proc.of the 2nd International Symposiumon Wearable Computers(ISWC‘98)第68-75页,匹兹堡,宾夕法尼亚州,IEEE,1998年10月19-20日,可在http://www.csl.sony.co.jp/person/rekimoto/papers/iswc98.pdf处获得),以及

环境导向的-见S.Fickas、G.Kortuem和Z.Segall的“Software Organization for Dynamic and Adaptable Wearable Systems”(Proc.of the 1st International Symposium on Wearable Computers(ISWC‘97)第56-63页,剑桥,马塞诸塞州,IEEE,1997年10月13-14日,可在http://www.cs.uoregon.edu/research/wearable/Papers/iswc97.ps处获得)。

上述对情景感知计算的定义可以分为两类:使用情景和适应情景。

首先,应该讨论使用情景更一般的情况。在下列文章中,R.Hul1,Ph.Neaves和J.Bedford-Roberts的“Towards Situated Computing”(Proc.of the 1st International Symposium on Wearable Computers(ISEC’97),第146-153页,剑桥,马塞诸塞州,IEEE,1997年10月13-14日可在http://fog.hpl.external.hp.com/techreports/97/HPL-97-66.pdf处获得),J.Pascoe的“Adding Generic Contextual Capabilities to Wearable Computers”(Proc of the 2ndIEEE International Symposium on Wearable Computers(ISWC‘98),第92-99页,匹兹堡,PA,IEEE,1998年10月19-20日,可在http://www.cs.ukc.ac.uk/pubs/1998/676/content.zip处获得),J.Pascoe,N.S.Ryan和D.R.Morse的“Human-Computer-Giraffe Interaction-HCI in the Field”(Workshop on Human Computer Interaction with Mobile Devices,格拉斯哥,苏格兰,1998年5月21-23日,可在http://www.dcs.gla.ac.uk/~johnson/papers/mobile/HCIMDI.html#_Toc420818982处获得),以及N.S.Ryan,J.Pascoe和D.Morse的“Enhanced Reality Fieldwork:The Context-AwareArchaeological Assistant”(Computer Applications and Quantitative Methods in Archaeology,V.Gaffney,M.van Leusen,S.Exxon(编辑),牛津,可在http://www.cs.ukc.ac.uk/research/inforsys/mobicomp/Fieldwork/Papers/CAA97/ERFldwk.html),情景感知计算被定义为计算设备对用户本地环境和计算设备本身的方面进行检测及感知、解释及响应的能力。在先前的著作中,cf.AA.K.Dey的“Context-Aware Computing:The CyberDesk Project”(Proc.of the AAAI 1998 Spring Symposium on Intelligent Environments(AAAI Technical Report SS-98-02),第51-54页,Palo Alto,CA,AAAI Press,1998年3月23-25日,在http://www.cc.gatech.edu/fce/cyberdesk/pubs/AAAI98/AAAI98.html处可获得),A.K.Dey,G.D.Abowd,和A.Wood的“CyberDesk:A Framework for ProvidingSelf-Integrating Context-Aware Services”(Knowledge-Based Systems 11(1),第3-13页,1998年9月30日,在http://www.cc.gatech.edu/fce/ctk/pubs/KBS11-1.pdf处可获得)以及D.Salber,A.K.Dey,R.J.Orr和G.D.Abowd的“Designing for Ubiquitous Computing:A Case Study in Context Sensing”(技术报告GIT-GVU-99-29,Georgia Inst.of Technology,GVU Center,亚特兰大,GA,ftp://ftp.cc.gatech.edu/pub/gvu/tr/1999/99-29.pdf)-,情景感知已被定义为使用情景来自动操作软件系统、修改接口(interface)并且提供具有最大灵活性的计算服务。

下面的定义属于更具“适应情景”意义的范畴。如在下列文章中所述,B.N.Schilit,N.I.Adams和R.Want的“Context-Aware Computing Applications”(Proc.of the 1st International Workshop on Mobile Computing Systems and Applications,第85-90页,Santa Cruz,CA,IEEE,1994年12月8-9日,在ftp://ftp.parc.xerox.com/pub/schilit/wmc-94.schilit.ps处可获得),P.J.Brown,J.D.Bovey和X.Chen的“Context-Aware Application:From theLaboratory to the Marketplace”(IEE Personal Communications 4(5),第58-64页,1997年10月,在http://www.cs.ukc.ac.uk/people/staff/pjb/papers/personal_comms.html处可得到),A.K.Dey和G.D.Abowd的“CyberDesk:The Use of Perception in Context-Aware Computing”(Proc.of the 1997 Workshop on Perceptual User Interfaces(PUI‘97),第26-27页,Banff,Alberta,1997年10月19-21日,在http://www.cc.gatech.edu/fce/cyberdesk/pubs/PUI97/pui.html处可得到),A.Ward,A.Jones和A.Hopper的“A New Location Technique for the Active Office”(IEEE Personal Communications 4(5),第42-47页,1997年10月,在http://www.it.kth.se/edu/Ph.D/LocationAware/ftp.orl.co.uk:/pub/docs/ORL/tr.97.10.pdf处可获得),G.D.Abowd,A.K.Dey,R.J.Orr和J.Brother ton的“Context-Awafeness in Wearable and Ubiquitous Computing”(Virtual Reality 3,第200-211页,1998年,在http://www.cc.gatech.edu/fce/ctk/pubs/VRSIJ-3.pdf处可得到),N.Davies,K.Mitchell,K.Cheverst和G.Blair的“Developinga Context-Sensitive Tour Guide”(1st Workshop on Human Computer Interaction for Mobile Devices,格拉斯哥,苏格兰,1998年5月21-23日,在http://www.dcs.gla.ac.uk/~johnson/papers/mobile/HCIMD1.html#Toc420818986),G.Kortuem,Z.Segall和M.Bauer的“Context-Aware,Adaptive Wearable Computers as Remote Interfaces to‘IntelligentEnvironments”(Proc.of the 2nd International Symposium on Wearable Computers(ISWC‘98),第58-65页,匹兹堡,PA,IEEE,1998年10月19-20日,在http://www.cs.uoregon.edu/research/wearables/Papers/ISWC98-kortuem.ps处可获得),情景感知应用被定义为基于该应用和用户的情景来动态地改变或适应他们的行为的应用。更特定来说,在N.Ryan的文章“MCFE Metadata Elements Version 0.2.Working Document”(英国肯特郡坎特伯雷市肯特大学,可在http://www.cs.ukc.ac.uk/research/infosys/mobicomp/Fieldwork/Notes/mcfeneta.html处可获得),作者将情景感知应用定义为对来自环境传感器的输入进行监视并且允许用户根据其当前兴趣或活动从一个物理及逻辑情景范围中做出选择的应用。通过标识出诸应用基于情景采取动作的方法,这一定义比起先前的定义更为严格。在文章“Triggering Information by Context”(Personal Technologies 2(1)第1-9页,1998年3月,可在http://www.cs.ukc.ac.uk/people/staff/pjb/papers/personal_technologies.htm处获得)中,作者P.J.Brown将情景感知应用定义为根据由多个传感器检测到的用户当前情景来自动地提供信息和/或采取动作的应用。此外,他也对情景感知计算有较为狭义的观点,他指出所采取的这些动作可以采用以下的形式,即向用户提供信息、根据情景执行程序或者根据该情景配置图形布局。在文章“Software Organization for Dynamic and Adaptable Wearable Systems”(Proc.of the 1stInternational Symposium on Wearable Computers(ISWC‘97)第56-63页,剑桥,马塞诸塞州,IEEE,1997年10月13-14日,可在http://www.cs.uoregon.edu/research/wearables/Papers/iswc97.ps处获得)中,作者S.Fickas、G.Kortuem和Z.Segall将环境导向(实际作为情景感知的同义词)应用定义为监视用户环境中的变化并且根据预定的用户定义指南来对适应这些操作的应用。

在EP 1 107 512A1中描述了一种用于在至少一个通信网络中操作多媒体应用的通信设备和软件,其中包括用于在与该至少一个通信网络中的一个或多个通信设备所进行的通信的基础上管理和提供多媒体应用的计算管理器单元。

EP 1 130 869 A1总体涉及移动多媒体中间件、计算机联网、分布式处理系统、数据库、手持式计算机和无线通信系统的领域。此外,提出了一种用于在统一的即时消息发送系统中方便地管理用户简档信息的方法。

如在EP 1 199 860 A1中所述,使用了一种服务入口,该入口允许这样的服务:通过访问服务平台的中央访问控制单元来访问存储在情景数据库中的情景信息。

EP 1 298 527 A1提供一种应情景感知设备的要求提供情景信息的系统,所述情景感知设备包含情景特征,为代表对情景信息要求的响应的数据记录指定种类、格式和聚焦实体,提供与情景信息的要求相关的情景数据的至少一个情景源,在情景特征和情景源之间建立相互连接的至少一个情景解释器,以及用于建立用于装配情景源和情景解释器的动态情景图配置的配置装置,该情景源和情景解释器基于他们真正的可用性和适合性来提供数据记录。

发明内容

本发明解决的问题是如何指定用户规定的动作组(被收集在所谓的用户简档中),并把它们绑定到特定的触发条件,如何检测何时、在何种环境下给定用户简档的动作将会代表各自用户自动执行,以及如何自动执行所述动作。而且,本发明解决识别为移动终端提供软件应用开发者(和/或其它中间件组件)的中间件组件的问题,该移动终端通过特定的有线或无线自组织网络与特定的应用编程接口(API)相互连接的,该接口专门处理上述三种问题。用这种方法,为所述移动终端的软件应用开发者(和/或其它中间件组件)可以调节上述中间件组件的功能性,而非为每一软件应用(和/或其它中间件组件)重新实现相同的功能。

考虑到上述解释,本发明的目的是提出一种QoS度量探测(probe)机制,用以支持情景感知服务发现以及自动执行在特定移动自组织网络中已经被自动发现的服务所提供的一组动作。应该根据特定事件类别的识别(并且,最终,在其中给定的组合)指定触发条件,诸如连接一个移动终端到有线或无线自组织网络,改变基础网络拓扑,把移动终端移至更远的移动终端的物理邻近区,存在感知,其意味着在上述网络中识别用户的存在与消失,以及从网络中断开(detachment)移动终端。

包含在给定用户简档中的每一个动作的规范应该可选择地包含一定的限定器(以下叫做“保护条件”或者简单叫做“保护”),它们是执行给定动作前应该满足的附加低级条件。

这一目的是通过独立权利要求的特征的装置来实现的。优势特征在从属权利要求中定义。本发明的进一步目标和优势在下面的细节描述中是明显的。

本发明致力于连接到无线自组织网络的移动终端的中间件实体,所述无线自组织网络支持多种应用和/或其它中间件实体以自动发现由上述自组织网络节点提供的服务,并且每当代表上述应用和/或其它中间件实体满足多个预先定义的用于触发动作的执行的触发条件时,在接收到指示驻留(host)在所述移动终端或者经由所述无线的自组织网络相互连接的其它移动终端上的特定服务的可用性的事件通知信息时,执行在简档中所收集的用户指定的动作组,所述动作被用于请求、激活、控制和/或停用这些服务。这样的事件可以是例如连接移动终端到自组织网络,基础网络拓扑的变化,把移动终端移至其他移动终端的物理邻近区,在上述网络中用户的存在或者从自组织网络中断开移动终端,基于时间的事件(例如,一出现就被通知日历条目),以及前述各类事件的任意组合。所述动作是驻留在通过上述自组织网络相互连接地上述移动终端或者其它移动终端中的服务请求。用户简档储存在移动终端中(如PDA,移动电话等),固定或移动客户边缘(CE)设备,如电视机、家庭网关等。还可以设想到部署包含上述用户简档的分布式数据库。

本发明由此还概述了简档激活引擎(PAE)的概念,一种被提供来允许用户指定一个操作列表的中间件实体一所述操作由位于给定网络中的服务提供一每当满足一定的不论多没复杂的触发条件,所述服务就必须被自动执行。因此,前面提到的触发条件的监控调整(leverage)来自各种事件过程的特定事件的异步通知。

附图说明

本发明的更多优点和实施方案来自所附权利要求和以下在附图中描述的本发明的详细描述:

图1是一种UML对象图,该图根据本发明的组成显示了简档激活引擎结构(PAE)的包之间的相依性。

图1A是一种UML对象图,该图更详细地显示了组成PAE的包以及包之间的相依性。

图2是一种UML类图,该图根据本发明显示了用于PAE概念的数据模型的结构概况。

图3是一种UML用例图,该图根据本发明描述核心PAE概念。

图4是一种伪XML文档片断,显示了根据本发明的一个实施方案的一个绑定定义的例子。

图5显示了一种用户场景,其中PAE被有利地用于代表用户自动地执行动作,该用户进入他/她的房间并发现在给定的移动自组织网络中出现的本地服务(如一种用来更新照片数据库的自动照片同步应用)可以根据他/她的偏好自动地执行。

图6是一种UML序列图,该图显示本发明的一个实施方案的一部分的通用应用实体、各种中间件实体,与在简档成功注册的情况下为客户方边界建立模型的实体之间的交互;图6由图6A和图6B组成。

图7是一种UML序列图,该图显示了本发明的一个实施方案一部分的通用应用实体与三个中间件实体在试图为已经注册的触发条件注册简档的错误情况下之间的交互。

图8是一种UML序列图,该图显示了本发明一个实施方案的一部分的通用应用实体和五个中间件实体之间在为基流成功取消绑定注册的情况下的交互。

图9是一种UML序列图,该图显示了本发明的一个实施方案的一部分的通用应用实体和三个中间件实体在试图注销一个不存在的绑定时为交替流的绑定注销失败的错误情况下的交互。

图10是一个UML序列图,该图显示了本发明的一个实施方案的一部分的通用应用实体和四个中间件实体,在为基流成功激活绑定的情况下的交互。

图11是一个UML序列图,该图显示了本发明的一个实施方案的一部分的通用应用实体与三个中间件实体,在由于这样的绑定没有注册而导致为交替流激活绑定失败的错误情况下的交互。

图12是一个UML序列图,该图显示了该发明的一个实施方案的一部分的通用应用实体与四个中间件实体之间,在由于给定的绑定已经被激活而导致的为交替流激活绑定失败的错误情况下的交互。

图13是一个UML序列图,该图显示了本发明的一个实施方案的一部分的通用应用实体与四个中间件实体,在成功停用一个活动绑定情况下的交互。

图14是一个UML序列图,该图显示了本发明的一个实施方案的一部分的通用应用实体与三个中间件实体,由于给定绑定没有被注册而导致的停用交替流的活动绑定失败情况下的交互。

图15是一个UML序列图,该图显示了本发明的一个实施方案的一部分的通用应用实体与四个中间件实体,由于给定绑定已经无效导致的停用活动绑定失败的情况下的交互。

图16是一个UML序列图,该图显示了本发明的一个实施方案的一部分的通用应用实体和九个中间件实体在基础流的自动简档被成功激活的情况下与为服务客户方边界建立模型的实体之间的的交互

图17是一个UML类图,该图显示了本发明的一个实施方案的一部分的分析类,分别地典型化为“边界”(boundary)和“控制”(control)类。

图18是一个UML类图,该图显示了本发明的一个实施方案的一部分的典型化为“实体”(entity)类的分析类别。

图19是一个UML类图,该图显示了本发明的一个实施方案中的在线程模型方面的简档注册特征,该线程模型说明了上述实例如何处理由通过异步接口的方式存取的事件服务所生成的延迟事件客户注册确认,并且应上述实例的要求把它们与被中断的简档注册通过用来完成后者的同步接口关联起来。

图20是一个UML类图,该图显示了在线程模型方面的本发明的一个实施方案的简档激活特征,该线程模型说明上述的实施方案如何处理源自于事件服务的事件通知消息,该事件服务用于自动激活简档。

图21是一个表格,该表格列举了该PAE的公共接口的布尔条件(BooleanCondition)的唯一方法,

图22是一个表格,该表格列举了该PAE的公有类InterfaceToES的方法,

图23是一个表格,该表格列举了该PAE的公有类PAEInBoundary的方法,

图24是一个表格,该表格列举了该PAE的公有类PAEOutBoundary唯一方法,

图25是一个表格,该表格列举了该PAE的公有类PAE核心(PAECore)的唯一方法,

图26是一个表格,该表格列举了该PAE的公有类PAE注册控制器(PAERegistration-controller)的方法,

图27是一个表格,该表格列举了该PAE的公有类目标服务(TargetService)的方法,

图28是一个表格,该表格列举了该PAE的公有类简档注册列表(ProfileRegistrationList)的方法,

图29是一个表格,该表格列举了该PAE的公有类简档项目(ProfileItem)的唯一方法,

图30是一个表格,该表格列举了该PAE的公有类简档的方法,

图31是一个表格,该表格列举了该PAE的公有类保护(Guard)的唯一方法,

图32是一个表格,该表格列举了该PAE的公有类触发条件(TriggeringCondition)的方法,

图33是一个表格,该表格列举了该PAE的公有类动作(Action)的方法,

图34是一个表格,该表格列举了该PAE的公有类绑定(Binding)的方法,

图35是一个表格,该表格列举了该PAE的公有类目标服务线程(TargetServiceThread)的方法,

图36是一个表格,该表格列举了该PAE的公有类核心PAE线程(CorePAEThread)的方法,

图37是一个表格,该表格列举了该PAE的公有类通用应用线程(GeneralApplicationThread)的方法,和

图38是一个表格,该表格列举了该PAE的公有类PAE注册线程(PAERegistrationThread)的方法。

具体实施方式

下面,将详细描述如图1至5所描述的本发明的实施方案。图1至38的所有用附图标记和符号指定的符号的含义可以从表3中获得。

图1显示了一种UML类图100,该图说明了所提出的PAE系统体系结构的轮廓。从而,典型为系统的包图标代表所应用的计算单元102至120,并且虚线箭头代表这些计算单元之间的依赖关系。从而,发出一个依赖箭头的计算单元依赖上述箭头的目标计算单元的服务。

根据本发明,简档激活引擎110’是一个中间件实体,该实体由以下中间件组件组成:

—绑定创建引擎108,该引擎允许用户通过帮助用户创建和/或选择触发条件以用户友好的方法创建绑定,创建和/或选择用户简档并关联它们。

—PAE核心110,该核心是一个在接收到指示任何满足的触发条件的事件通知时处理实际的简档激活的实体。这个实体也允许PAE感知应用通过使用一种PAE定义明确的API直接安装绑定。图1a更详细地描述了组成该PAE核心110的包以及包之间的相互依赖性。这些包包括:绑定管理单元109a,该单元通过调整(S2a’)上述绑定创建引擎108的服务或者允许(S2a”)应用使用指定的应用编程接口(API)来直接安装上述绑定206,来管理(S2a)触发条件204和简档210之间的绑定206的激活;用于监视(S2b)触发条件204的出现的触发条件监视器109b,该触发条件204用于触发执行被用于自动地请求、激活、控制和/或停用所发现的由网络502a的相互连接的节点所提供的服务的动作214,并且该触发条件204用于评估(S2c)对细粒度控制的保护条件,其中上述触发条件204属于活动绑定206;和用于在接收到指示任何满足的触发条件204的事件通知消息后执行(S2d)上述动作214的简档执行引擎109c。

PAE核心110依赖于以下中间件实体,这些实体是根据如图1所示的本发明的一个实施方案的PAE 110’的一部分—事件服务系统112,情景处理系统114,以及脚本解释系统116(PAE核心110的可选附加特征)。

事件服务系统112特别支持评估复杂触发条件(被建立为事件模型,PAE 110’注册所述事件的通知)的PAE 110’。这个中间件实体充当所有事件生产者(即该目标服务和/或每当满足一定条件时就生成事件通知消息的中间件实体)和所有事件消费者(即该目标服务和/或对接受特定事件通知消息类感兴趣的中间件实体)之间的调解器(mediator)。事件服务系统112特别关注以下动作:

a)抽象该事件生产者:事件服务系统112允许事件消费者注册事件类,而非由给定事件生产者产生的特定事件。然而,该事件服务系统112也允许事件消费者注册由给定事件生产者产生的特定事件。

b)抽象分布方面:由于点a)描述的特点,事件服务系统112可以使事件消费者不知道该事件生产者的实际位置。使用建立良好的技术处理远程事件(如GENA)对于本发明的一个实施方案是可以预见的。

c)过滤事件通知消息:事件服务系统112只向注册的事件消费者转发事件通知消息和/或由特定事件生产者产生的事件通知消息,所述注册的事件消费者对给定的事件类感兴趣。

d)把事件相关起来:这是事件服务系统112的关键特征,该事件服务系统112对PAE 110是必不可少的。事件服务系统112允许事件消费者注册复杂事件类,由此,由多样性或者相同事件生产者(们)产生的基本事件被相关,并且只有当这样的相关出现在一个特定的时间间隔之内时,一个通知消息才被发送至PAE核心110。到这个程度上,事件服务系统112以一称作时间相关器107的通用中间件子单元为特征,该相关器根据感兴趣的事件消费者在注册时间传递给事件服务系统112的适当的规范监视任何种类复杂事件的出现。

e)在传递给适当的事件消费者之前预处理给定事件通知消息:作为一种优化形式(相对于该事件消费者),该事件服务系统112可以允许事件消费者在注册时间也指定包含在事件属性中的什么信息让他们感兴趣。当复杂事件出现时,这种特征是有用的,该复杂事件是由于不同和/或相同类型的事件的多样性的相关所导致的。

通过事件服务系统112,PAE 110’依赖来自于下列中间件实体(以下被称为本地事件过程)的输入数据:

—网络信息引擎(NIE),该引擎被用于检测与网络、移动终端和服务的发现有关的事件以及用于捕捉与包含PAE 110’的移动终端504周围的一定范围内的移动终端和/或服务的发现有关的事件。

—个体识别单元(PIU),该单元被用于检测在移动网络环境中与发现用户(无论通过任何手段)有关的事件,以及用于捕获与在上述范围中用户发现有关的事件。

远程事件生产者是另一计算单元的本地事件生产者,该计算单元通过网络连接把它们的事件通知消息转发到给定的PAE 110’。这些远程事件生产者可以包括服务或在给定网络中部署的任何类型的传感器设备。

在本发明的一个实施方案中,情景处理系统114在事件服务系统112和本地/远程事件生产者(NIE,个体识别单元(PIU)和远程事件生产者)之间使用以演绎更细化的关于包含在事件通知消息中的原始数据的实际情景信息。事件服务系统112的事件相关器特征可以被认为是情景处理系统114的一部分。在这种程度下,可以想见使用框架来静态地甚或是动态地实施情景处理系统114的各种配置。使用情景处理系统114也允许在情景计算模型中包括甚至不是通知消息的一部分的附加情景数据。它更适合通过显式地轮询诸如传感器(例如热传感器)或数据库的随需的特定情景数据源来检索到。

绑定创建引擎108依赖元数据管理单元102,该单元用于管理绑定的储存和检索(连同简档和触发条件的规范)。绑定创建引擎108允许使用者通过使用上述元数据管理单元102来保存任何创建的绑定以供以后使用。

通用应用系统104和通用服务系统106为PAE 110’的实际客户建立模型。从而,通用应用系统104通过特定PAE核心API来注册、激活、停用或注销与PAE 110’的绑定。在这种程度下,绑定创建引擎108可以被认为是通用应用的特殊情况。然而,绑定创建引擎108不仅使用上述API,也为了管理作为元数据的绑定而与通用应用系统104共享接口。通用服务系统106负责提供它们公布的原语实现以及用于定义储存在简档中的动作的所述原语。

以下定义组根据图2中描述的UML类图中说明的本发明的一个实施方案组成PAE概念的数据模型。

—简档:简档210被定义为一列动作214,该动作也包括对其它简档的参考。它是根据E.Gamma等人的“DeSign Patterns-Elements of Reusable Object-Oriented Software”(在:Addison Wesley,Reading,Massachusetts(USA),1994,ISBN 0-201-63361-2)一书中所描述的组成设计模式建模的。

—触发条件:触发条件204—一个布尔表达式—描述什么必须发生以便触发简档210的自动执行。它可以被递归定义。

—绑定:绑定206是一种容器,该容器合并简档210和触发条件204,因而如果给定的触发条件204产生“TRUE(正确)”,指定必须被执行的简档206。更复杂的布尔表达式可以通过合并绑定级别的各种触发条件204来指定。绑定206可以被定义为激活的或者停用的,捆绑的简档210(在一组动作214方面)被执行。一激活的绑定206指示出给定的(简单的或合并的)触发条件204被“装配”。绑定206可以基于一种显式的被绑定的创建者(用户或开发者)传递的构造器参数创建为已经激活或者停用。

—目标服务:目标服务212识别在简档210激活的时候支持动作214的执行的通用服务106。

因此,每一目标服务212,动作214被编为一组:实际上,简档210可以列举将由各种服务执行的动作214,不考虑它们是否被安装在诸如给定的PAE 110的相同的设备上或者是远程设备上。

单独的动作214可以可选地由保护条件限定,该条件用于微调各个动作214的行为。在这种程度下,以下关键问题必须考虑:

—谁定义(如何定义)保护变量:保护变量监视移动终端504的特定部分的一定属性。那些基于定义明确的约束(contract)的部分应该公布这样的属性。简档创建者应该能够包括保护变量,同时通过简单浏览公布的保护208的列表创建给定的简档210。

—在什么样的情景下定义保护变量:保护变量的选择应该被限定在仅仅那些基于定义明确的约束的目标服务212所显式公布的属性。这些服务可以被安装在相同的设备上(本地情景)或者其它设备(远程情景)上。

—如何评估保护变量:一旦触发条件204被满足,只要对应的保护变量(如果有的话)产生“TRUE”,PAE 110’应该执行列在简档210上的每一动作214。在这种程度上,PAE 110’应该检索在保护语句中所指示的属性的当前值,并且评估保护208的布尔表达式。如果给定属性属于位于另一移动终端上的服务,PAE 110’应该显式地检索这一信息,以便评估保护208的布尔表达式。

应该注意到保护208也可能包含布尔表达式,该布尔表达式包括一个以上本地或者远程定义的属性。保护208可以通过相应的动作所处理的基础服务的接口来定义。

根据本发明的一个实施方案,可以预见以下两级简档:用户级简档和服务提供商级简档。因而,该用户通过使用由给定服务(例如远程界面)公布的上述属性(用于定义保护208)和原语(用于定义要采取的动作214)列表直接指定前者。

因而,制造商指定服务提供商级简档以指示各自服务分别输出什么特定细粒度的原语,其中需要它们的哪些组合来执行用户级动作(因此,避免用户去深入了解给定服务)。

根据本发明更进一步的方面,PAE 110”能够以下两种互补的方式取得关于远程接口定义和服务提供商级简档的信息:通过动态检索或者通过静态检索。

—动态检索:对于动态检索,可预见各种可选择的选项。例如,可以随着时间通过服务发现协议预先散布信息。可选择地,上述信息可以通过显式地查询服务检索到(它们一被发现,就进行)—假设这些服务公布这样的信息作为特定属性。该信息也可以通过查询支持在能力有限(尤其涉及存储器或传统接口的执行)的设备上运行的服务的代理实体检索到。

—静态检索:在这种情况下,上述信息从本地或者远程连续储存库中检索到。因为假定这条信息(每一服务/设备类型)不随时间频繁改变,人们可以假设相应的描述包含在简档库中,该库的更新可以从例如web服务器上下载。

在任何情况下,任何动态地检索的远程接口定义和服务提供商级简档能够被方便地被储存在本地或者远程,以便用于在以后执行更快的静态检索。

简档的定义每当需要时可以用动作214中指示的原语的参数列表完成。参数的真实值应该包含在简档210中。

形式参数每当需要时也可以包含在动作214指示的原语中。以这种方式,PAE 110’总是能够向实现各自原语的服务发送在运行期间由PAE 110’确定的任何信息(例如:NIE检测的服务标识符)。

实际上,这一信息对于允许实现给定动作214中所指示的原语的服务是相关的以采取适当决策。例如:一种自动照片同步应用可能想避免在多个图像管理服务上同步图像。它可能更想只选择在运行时间中确定的一个特定图像。

根据本发明的进一步的实施方案,上述绑定206、简档210和触发条件204的规范以两种方式获得:

—使用说明语句来定义绑定206,简档210和触发条件204,和

—使用PAE核心110公开的面向对象的API直接创建对象模型。在这种情况下,绑定、简档和触发条件规范的持久性通过串行化上述对象模型的运行时间图像获得。

根据本发明的一个方面,一种自定义文法被用于表示相对于触发条件204的布尔表达式(并且,可选择地,也相对于保护208)。根据本发明的进一步的方面,可以预见诸如XPath或者MathML的现有标准。

动作描述的句法可以根据选择的远程过程调用(RPC)机制的句法建立模型:这要求解决适应具有所选择的机制(SOAP,XML,RPC等)的简档规范问题。然而,为了独立于所使用RPC机制,并且因为一些目标服务212也可以被驻留在相同移动终端中,其中给定的PAE核心110被安装并操作,本发明规定使用简单的简档规范语言。这暗示着使用翻译机制把包含在绑定规范里的各自的动作描述映射到真正的远程过程调用机制上,如果后者不同于其句法一直被用于指定简档210的机制的话。

对于安装在移动终端上的目标服务212,而不是上述PAE核心110被安装在其上的服务,所述核心110操纵它们的远程可控接口的描述和它们公布的特性列表(也被称为“状态变量”),所属目标服务212通过服务发现协议(SDP)对于用于选择哪一种动作214去指定的绑定206的创建者和用于在可应用时调用动作214的PAE核心110是可用的。与PAE核心110安装在相同移动终端上的目标服务212的描述和运行应该对等提供同样的信息。因为这一原因,本发明从分布方面抽象这一公布信息的检索。

而且,本发明允许用户在本地和/或远程过程调用中指定形式参数,但是局限于在简档210以及触发条件204已经被指定的时候,作为目标服务接口描述(可以通过SDP检索)的一部分而公布和知晓的那些参数组。这意味着PAE 110’只能自动化那些目标服务212的执行,该服务公布的约束与用于在简档和触发条件描述规范中使用的相匹配。

为了简单起见,PAE核心110不直接检查本地和远程过程调用的错误值。对于更复杂的以条件分支和循环为特征的简档210,实际上需要脚本语言。在这种程度上,PAE 110’使用代理(delegation)模型:每当简档210要求指定一个复杂的逻辑,特定动作214就相应地被插入简档210。这个动作214调用本地服务,该本地服务分别解释各个脚本(作为给定动作214的参数),并且相应地调用关于本地或者远程目标服务212的命令。处理这种附加功能性的中间件实体是图1所示的脚本解释器116。

遵循与上述内容相同的代理原理,PAE核心110可以把接收的事件通知消息中包含的任何复杂数据的处理代理给外部实体。前面提到的事件相关器功能是这一原理的另一个范例应用。根据本发明的一个方面,本原理可以通过使用如EP 1 298 527 A1中公开的可动态地配置的情景系统而被扩展至更通用的计算。而且,RPC机制的实现可以完全被代理给单一中间件实体,而不是让PAE核心110直接依赖接口专用支持码(如存根)。用这种方式,所述动作规范可以用一种抽象的句法表达,该句法(syntax)不限于选择的特定RPC机制(如SOAP,XMLRPC等)。

在以下部分,根据本发明的PAE概念将通过图3描述的UML用例图进行说明,该图显示行动者(通用应用104和通用服务106)以及所应用的用例(管理简档110a,手动激活简档110b,自动激活简档110c,注册简档110d和注销(deregister)简档110e,激活简档110f和停用(deactivate)简档110g)。

“通用应用”行动者104使用由各自移动终端504容纳的PAE中间件实体110’的接口。相反,“通用服务”动作者106代表如图5所示的任何能够被大量经由移动自组织网络502a相互连接的移动终端504存取并使用的功能。通过一个定义明确的接口,它对于移动终端504而言是可视和可存取的(例如,允许移动终端504远程控制通用服务106)。

以下表格简单总结了上面提到的用例110a-g:

a)用例:管理简档110a
标识符FCR-128描述通用应用104可以添加、修改或删除简档信息,包括触发条件204和绑定206前置条件后置条件-关于现有的简档210,触发条件204和绑定206的信息已经被从中间件实体110’传递到通用应用104。-关于简档210,触发条件204和绑定206的修改的信息已经被从通用应用104传递给中间件实体110’。-已经向通用服务106请求一个“动作列表”,该动作列表可以被通用应用104用于指定大量的简档210。正常流-通用应用104从中间件实体110’检索关于传递的现有的简档210,触发条件204和绑定206的所有可用信息。-通用应用104向中间件实体110’传递新信息和/或修改的简档210,触发条件204和绑定206。-通用服务106通过“动作列表”的方式提供它们的功能。可以向通用服务106请求这样的列表,该列表可以在以后被通用应用104使用来指定简档210。可选流
b)用例:注册简档110d标识符FCR-171描述通过PAE 110’对给定的简档210的注册与给定触发条件204相关联。前置条件通用应用104已经从数据库检索了给定简档210(或者在该应用自身中硬编码,或者由用户在简档创建工具的协助下从暂存器上创建的)。后置条件简档注册已经被管理。正常流-通用应用104通过使用PAE 110’注册与给定触发条件相关联的给定简档210。-PAE 110’验证给定简档210还没有针对同样的触发
条件204而注册。-PAE 110’注册触发条件204,如果没有其它简档与那个条件关联。-PAE 110’将给定简档210与给定的所注册的触发条件204相关联。-PAE 110’把给定简档210设置为激活的或者停用的,依赖于上面所述(见表格a),正常流)的通用应用104所传递的指示。PAE 110’向通用应用104返回一个指示操作成功的消息。可选流FCR-171.1:给定简档已经与给定触发条件204相关联地被注册。在这种情况下,PAE 110’向通用应用104返回错误指示。
c)用例:注销简档110e标识符FCR-172描述通过PAE 110’注销给定简档210。前置条件通用应用104知道应该通过PAE 110’被注册的简档210。后置条件简档注销已经被管理。正常流-通用应用104通过使用PAE 110’注销与给定触发条件204相关联的给定简档210。-PAE 110’验证:各自简档210还没有为相同触发条件204而被注销。-PAE 110’去除各自简档210和给定触发条件204之间的关联。-一旦没有其它简档210与该触发条件相关联,PAE 110’就注销该触发条件204。-PAE 110’向通用应用104返回一个指示操作成功的消息。替换流FCR-172.1:给定简档以前没有与给定触发条件204相关联地被注册。在这种情况下,PAE 110’向通用
应用104返回错误指示。
d)用例:激活简档110f标识符FCR-173描述激活给定注册简档210。前置条件通用应用104了解应该通过PAE 110’被注册为停用的简档210后置条件简档激活已经被管理。正常流-通用应用104请求PAE 110’激活给定一个简档210。-PAE 110’验正给定简档210先前已经被注册和停用。-PAE 110’激活给定简档210。-PAE 110’向通用应用104返回一个指示操作成功的消息。替换流FCR-173.1:给定简档先前没有与给定触发条件204相关联地被注册。在这种情况下,PAE 110’向通用应用104返回错误指示。FCR-173.2:给定简档210先前还未被停用。在这种情况下,PAE 110’也向通用应用104返回错误指示。
e)用例:停用简档110g标识符FCR-174描述给定注册简档210的停用。前置条件通用应用104了解简档210,该简档应该作为以PAE110’的方式中止被注册。后置条件简档停用已经被管理。正常流-通用应用104请求PAE 110’停用给定简档210。-PAE 110’验正给定简档210先前已经被注册并激活。-PAE 110’停用给定简档210。-PAE 110’向通用应用104返回一个指示操作成功
的消息。替换流:FCR-174.1:给定简档先前未与给定触发条件204相关联地注册。在这种情况下,PAE 110’向通用应用104返回错误指示。FCR-174.2:给定简档210先前从未被激活。在这种情况下,PAE 110’也向通用应用104返回错误指示。
f)用例:自动激活简档110c标识符:FCR-130描述:如果特定触发条件204出现并且对简档210的绑定206被激活,就完成了这种特定简档210,这导致大量服务特定的动作214。前置条件:简档210,触发条件204和绑定206必须被定义,并且绑定206必须被激活。后置条件:已经执行其绑定条件出现的特定简档210。正常流:-一旦简档210的特定触发条件204和绑定206被激活,特定简档210就完成了。-执行简档210导致大量通用服务特定的动作214。替换流:
g)用例:手动激活简档标识符:FCR-129描述:用户通过使用通用应用104可以手工执行包含一列动作214的简档210,这会导致大量服务特定的动作214。前置条件:简档210必须存在。后置条件:简档210被激活了。正常流:-缺省:一旦特定触发条件204出现,简档210就被激活。
-这种用例使得通用应用104能够显式地执行包含一列动作214的简档210,这会导致大量服务特定的动作214。替换流:

在以下部分,对本发明中公开的PAE概念与上面所描述现有技术进行比较,以便识别本发明与技术现状之间的主要优势差异。

本发明是上面所描述的情景感知(CA)范例的应用。因此,基于情景信息(特定事件的出现)自动执行特定系统行为(简档210的动作214)的思想不是新的。情景处理系统114-例如能够从各种传感器数据识别特定情景和最终在应用和/或其它中间件或软件实体上触发特定行为的多用途引擎的思想也不是新的。

然而,本发明公开了特定的CA应用,该应用定位于用于消费电子设备的有线和无线自组织网络。与根据技术现状的传统CA技术方案相比,本发明的优势可以总结如下:

-关注的分离:给定简档210的激活不同于相应触发条件204的监视,也不同于简档210和触发条件204的创建和处理。这导致了基于定义明确的接口的模块化体系结构,该接口识别由上述模块提供和使用的约束。根据本发明的一个实施方案,PAE 110’包含使用成熟的、可动态配置的具有集成事件相关器107的情景处理系统114。

-一种简单的简档规范语言的加强,该语言对实际使用的RPC机制是透明的,相对于所应用的RPC机制以PAE 110’的可移植性翻译。

-简档210可以在用户级别或者在服务提供商的级别被指定。以这种方式,非专家的用户不需要知道如何指定在一定事件出现时必须被采取的确切的动作214序列,以便取得期望的效果。例如:把CD播放机从来自第一张CD的给定歌曲切换到来自第二张CD的另一首歌曲的动作需要一组特定的动作214,所述组动作要求关于CD播放机操作的一定的初级知识(1.停止当前播放的歌曲,2.换碟,3.寻找新歌的轨道,4.播放新歌曲)。在发生需要特定的纠正动作214的错误或特殊事件时,这样的初级知识的影响明显得多得多。而且,如果初级动作组被打包在单独的简档210中,就可以有利地被重复使用,该简档可以由多个用户级别简档(或者甚至通过其它服务提供商级别的简档)包括(要么通过赋值,要么通过引用)。

-静态或者动态检索关于远程接口定义和服务提供商级别简档的信息。

-用以指定简档的简单脚本语言:实际上,上面所描述代理模型允许把处理更复杂简档的规范移动到能够解释选择的更强有力的脚本语言的外部处理器上。在这种程度下,PAE 110’为调用外部脚本解释器116提供定义明确的接口。人们可以把这一特征视为简档规范语言的可扩展性。PAE 110’甚至可以使用多个处理器,只要提供关于何种类型脚本语言被用于表达给定规范的信息即可。

-通过绑定概念组合触发条件与简档的简单方式,该方式允许重复使用先前存在的触发条件和简档规范:为触发条件204和简档210创造递归规范的可能性允许通过重复使用现有的触发条件和简档规范来创建更复杂的绑定206。

-在绑定概念的帮助下激活和停用已经安装的触发条件与简档的关联。

本发明不同于EP1 107 512 A1中描述的自组织计算管理器概念之处,在于后者专注于抽象在自组织网络中的发现设备和服务的机制,和专注于动态的、自动的装配用于把在自组织网络中在运行时间里能够发现的功能财富资本化的复合的远程用户接口。因此,EP1 107 512 A1没有考虑如下的情景感知方面,该情景感知方面包括在所发现的实体上自动执行动作214。

本发明不同于EP1 130 869 A1中公开的用户简档数据管理系统,在于后者描述一种以数据库概念为中心的体系结构,该数据库包含不同版本的用户简档以便于不仅捕捉用户的各种偏好,而且还捕捉与上述用户有关的情景数据,以便向上述用户最适当地转发瞬时消息。然而,EP1 130 869 A1不会考虑在这些用户简档中的存储动作214的列表,该用户简档可以在动态发现的端系统上自动执行。尽管本发明共享了EP1 130 869 A1中描述的某些概念,如轻松扩展和重复使用先前存在的简档210。在这种程度上,本发明使用了如E.Gamma等所著的“Design Pattern-Elements of Reusable Object-Oriented Software”(在:Addison Wesley,Reading,Massachusetts(USA),1994,ISBN 0-201-63361-2)一书中描述的用于定义简档210(cf.图2)的复合设计模式,该模式内在地生成与EP 1 130 869 A1中描述的树型结构类似的树型结构。然而,EP 1 130 869 A1没有把简档数据从本发明中公布的实际的触发条件204中分离出来,而是把关于基本触发条件204的信息嵌入在一种与每一简档210关联的标签中。结果是,EP1 130 869 A1使用这些标签在简档210的树中定位以选择需要激活的简档,从而基于输入信息和简档数据的内容和结构来动态地计算事件关联。相反,本发明提出,触发条件204(该条件可能最终被递归定义以便增加可扩展性和可重用性)被定义为分离实体—与简档210相比较—并且被供给事件相关器107用于当对这些条件的评估为“TRUE”时监督该点。在这种程度上,本发明不必规定事件相关器107应该如何实现,但是它使用基于特定的、定义明确的接口的上述事件相关器107所提供的服务。从而,与EP1 130 869 A1相比,分离简档210与触发条件204以及对简档210和触发条件204的递归规范得到了复杂得多的体系结构。

本发明区别于EP1 199 860 A1中的情景感知移动便携概念,因为后者专注于自动调整WWW入口提供的服务以适应访问上述WWW入口的用户情景数据。从而,上述服务与在给定用户情景中动态发现并且由用户通过远程用户接口,即:通过各自用户的交互,访问的服务发生冲突。相反,本发明代表各自用户实现自动化地执行动态发现服务。

本发明区别于在EP1 298 527 A1中所描述的用于自动创建用于建立一个传感器配置地情景信息的系统,因为后者仅仅专注于动态配置各种处理逻辑的情景信息,不提供用于本发明提出的自动执行动作214的装置。然而,本发明优势地使用EP1298 527 A1中公开的关于事件服务和,更具体地,事件相关器功能的概念。正如在关于情景感知的讨论中提到的那样,一种基于EP1 298 527 A1所公开的概念的成熟的概念处理系统114也特别有优势,特别是在那些事件在供给PAE核心110之前,关于在事件通知消息中携带的数据的预处理。用这种方式,触发条件和简档规范能够直接处理细粒度的数据,而无需从事件通知消息的简明内容中获取这样的细粒度数据。

以下部分给出了根据本发明使用PAE功能应用和服务的示例,以及用于允许用户和应用在PAE核心110的帮助下注册绑定206的可能的说明性语言的示例。在这个应该被认为是纯粹定性的,没有假设任何形式修正的示例中,前面提到的应用是围绕自动照片同步服务的包装器,该服务在PAE核心110的帮助下产生或注册所述服务,作为特定动作214的目标。从而,触发条件204存在于检测移动自组织网络的存在和在所述给定移动自组织网络中图像管理系统(IMS)的存在。每当在需要时,该应用可以向这个触发条件204添加任何实际值,该实际值指定自动照片同步服务应该在何种特定ISM和/或何种特定移动自组织网络标识上被触发。

作为示例和相同通用的技术方案,这样的触发条件204可以表达如下。为了简单起见,使用了草案语法的ABNF句法。

trigger:=triggerType[“AND”|“OR”|“XOR”][“NOT”]trigger]

triggerType:=(“detectNetwork”|“detectDevice”|“detectService”)

triggerValue:=network-ID|device-ID|(serviceCategory[,serviceName])

network-ID:=由网络协议层定义的模式

dvice-ID:=由数据链路协议层定义的模式

serviceCategory:=由SDP定义的模式

serviceName:=任意字符数字串

最后,该应用通过指示当检测到IMS存在时应该应用何种动作214来完成注册。然后,触发种类和触发值可以被映射为事件类型和事件实例值。

作为简单相当通用的技术方案,一种可以应用到上述所有触发类型的可能的保护条件可以被命名为“结果”(result),并且包含事件字类型(以及最终的事件实例值),该字类型往往带有以下值:

-“onFound”,其指示给定触发条件204在发现网络、设备和/或服务的出现时已经得到满足。

-“onLost”,其指示给定触发条件204在发现网络、设备和/或服务消失时已经得到满足。

作为示例,自动照片同步应用可以创建并注册以下绑定206,该绑定206作为图4中描述的伪XML文件代码片断被描述。

XML文件的根是被指定的绑定206—其根据图2中描述的数据模型—包括

-属性“active(活动的)”,该属性指示绑定206是否已被激活。

-用于定义触发条件204的节(在这种情况下,是布尔表达式),和

-用于定义简档210的节,其中动作214被列出,按照每一目标服务的次序(即提供执行各自动作214的原语的服务)。在这种情况下,目标元素具备属性“name”,该属性被设置为指示各自服务被安装在相对于PAE 110’的本地设备上的URL。在这种程度上,用于预见的本地/远程原语调用机制的试验性句法已经被引入,仅是起到展示的目的。一旦目标服务被定位在另一设备上,该URL应该指示上述设备的名称,而不是默认术语“local(本地)”。

最后,人们可能想允许PAE向自动照片同步服务指示何种IMS已被实际发现了。然后,图4中示出的示例可以被修改,以便包含作为形式参数的元素TriggerCondition的triggerValue属性。例如,如下面:

<alt value-“onFound”

Action=“doSynchronization(int IMSName=//TriggerCondition/@TriggerValue,int imageNmb=065)”/>

应该注意到,在这个定性示例中,一种类x路径的句法已经被用于识别作为形式参数的属性TriggerValue。用于动作属性214的值的实际句法实际上依赖于选择了何种远程服务控制机制。

图6-16通过UML序列图详细说明了PAE核心系统结构。这些图通过分析在图3中示出的UML用例图中所展示的用例来导出(用例“管理简档”和“手工激活简档”例外,因为这些用例对于理解PAE核心110并不是必要的)。一种进程和线性模型在图17至20中描述的UML类图中示出。正如图19所说明的那样,通用应用104通过同步接口请求PAE 110’注册简档210。一旦PAE 110’已经完成了它的注册任务,它就向事件服务系统112注册相应的相关事件规范。因为这一注册过程可能被挂起,直到一组处理给定的相关事件规范的事件生产者是可用的,PAE 110’使用一异步接口来访问事件服务系统112。这一注册过程的完成可以通过事件服务系统112所生成的相应的事件消费者注册确认原语进行通知,并且异步地转发给PAE 110’。因此,PAE110’需要一用来处理这样的确认的线程,把它们与中止的简档注册相关起来,并且完成后者。

应该注意到,术语IPC已经被以宽泛的意义用在这里来指示线程间的通信。实际上,这个模型可以容易地扩展至分布式处理体系结构,其中,即事件服务系统112相对于PAE 110’被定位在不同内存空间中。在这种情况下,定型《thread(线程)》应该被定型《process(进程)》替代。

               表1:所应用的技术术语定义

技术术语技术术语的简短解释自组织计算自组织计算指的是自动发现和动态使用计算单元和/或网络中宣传的多方面的服务,以便基于先前定义的设置(典型地,用户偏好)完成一定任务。自组织联网作为对比,自组织联网意味着发现自动设备和以未规划、未管理的方式在周围设备间建立连接。因此,消息路由可以基于多跳技术完成,在该技术中,选路功能由参与到自组织网络的大部分(即使不是全部)节点提供。自组织网络自组织网络可以是任何与大量终端相互连接的网络,该网络通过使用上述自组织联网技术建立。例如,它可以是没有管理和规划的固定和/或移动的内部通信计算设备的网络。绑定绑定是一种把简档与触发条件合并的容器—一个布尔表达式—因此,如果给定触发条件生成“TRUE”时,指定必须被执行的简档。更复杂的布尔表述式可以通过合并位于绑定级别的触发条件的多样性加以指定。绑定可以被定义为激活或停用:如果触发条件生成值“TRUE”,绑定是被激活的,绑定的简档(在活动列表方面)被执行。激活的绑定指出具备了给定(简单或合成)的触发条件。绑定可以基于由绑定的创建者(用户或开发者)传递的显式构
造器参数被创建为已经激活或者停用。情景情景数据是任何可以被用于确定实体状态的数据(该实体可以是,例如人,设备或者软件单元)。在这种程度上,数据可以直接使用而不作修改,与其它数据关联或者被操作,例如,用于从它中抽取统计信息来辨认来自其中的模式。情景感知如果系统使用情景数据向用户提供相关信息和/或服务,它就是情景感知的。如A.K.Dey所著的“Providing Architectural Support for Building Context-Aware Applications”(PhD thesis,College of Computing,Georgia Institute ofTechnology,200012月,http://www.cc.gatech.edu/fac/ctk/pubs/dey-these.pdf)中所描述的,关联性依赖于用户的任务。简档简档是给定的一列动作,它也可以包括对其它简档参考。目标服务目标服务识别支持执行激活简档动作的普遍服务。触发条件触发条件描述为触发简档自动执行所必须发生的事情。

   表2:使用的缩略语

API应用编程接口CA情景感知CE消费电子设备FCR功能需求GENA通用事件通知体系结构IPC中间过程通信NIE网络信息引擎PAE简档激活引擎PDA个人数字助理RPC远程过程调用SIP会话启动协议
SOAP简单对象访问协议UML统一建模语言UPnP通用即插即用WWW万维网XML扩展标记语言

        表3.所描述的特征和它们相应的附图标记

No.技术特征(系统组件,过程步骤)100UML对象图示出了根据本发明简档激活引擎(PAE)体系110’所包含的包之间的相互依赖性100aUML对象图示出PAE核心110所包含的包的更加详细的视图—绑定管理109a,触发条件监视器109b和简档执行引擎109c—以及这些包之间的相互依赖性。102公有类MetaDataManagent104公有类Application:GeneralApplicationClass106公有类GeneralService107公有类EventCorrelator:EventServiceConsumerSideBoundary108公有类BindingCreationEngine109a简档激活引擎110’的绑定管理109b简档激活引擎110’的触发条件监视器109c简档激活引擎110’的简档执行引擎110公有类PAECore—简档激活引擎110’的类110’根据本发明的简档激活引擎,在下面,也指移动终端504的“中间件实体”。110a简档激活引擎110’的“管理简档”用例110b简档激活引擎110’的“手工激活简档”用例110c简档激活引擎110’的“自动激活简档”用例110d简档激活引擎110’的“注册简档”用例110e简档激活引擎110’的“注销简档”用例110f简档激活引擎110’的“激活简档”用例
110g简档激活引擎110’的“停用简档”用例112简档激活引擎110’的公有类EventService114简档激活引擎110’的公有类ContextProcessing116简档激活引擎110’的公有类ScriptInterpreter118简档激活引擎110’的公有类RemoteEventProducer120简档激活引擎110’的公有类LocalEventProducer200UML类图根据本发明示出PAE概念的数据模型的结构概述202简档激活引擎110’的公有接口BooleanCondition204简档激活引擎110’的公有类TriggeringCondition206简档激活引擎110’的公有类Binding208简档激活引擎110’的公有类Guard210简档激活引擎110’的公有类Profile212简档激活引擎110’的公有类TargetService214简档激活引擎110’的公有类Action216简档激活引擎110’的公有类ProfileItem300UML用例图根据发明说明核心PAE概念400程序代码序列示出了根据本发明的一个实施方案用于绑定定义源代码的示例500用户场景,其中PAE 110’优势地被用于代表进入他/她的房间并发现在给定移动自组织网络中存在的本地服务(例如,用于更新照片数据库的自动照片同步应用)可以基于他/她自己的偏好自动被执行。502a移动自组织网络,包含大量相互连接的中间节点,它们连通性随时间不可预期变化的,该网络被用于在用户环境中无线访问所发现的实体(网络、设备、服务)。502b无线通信设备(如PDA),用于发现可以通过上述移动自组织网络502a可存取的网络、设备和服务。504公共交换电话网(PSTN),与上述移动自组织网络502a无线相互连接。600UML序列图示出在简档注册成功的情况下,通用应用类104,类602至618和为服务消费者边界建立模型的类之间的交互。
No.技术特征(系统组件,过程步骤)602简档激活引擎110’的公有类PAEInBoundary604简档激活引擎110’的公有类PAERegistrationController616简档激活引擎110’的公有类profileRegistration618简档激活引擎110’的公有类InterfaceToES700UML序列图示出在试图为一个已经注册的触发条件注册的错误情况下,通用应用类104与类602、604和616之间的交互。800UML序列图示出在为基流注销绑定成功的情况下,通用应用类104与类602、604、206、616和618之间的交互。900UML序列图示出在当试图注销一个不存在的绑定时,为替换流释放绑定失败的错误情况下,通用应用类104与类602、604和616之间的交互。1000UML序列图示出在基流绑定激活成功的情况下,通用应用类104与类602、604、206和616之间的交互。1100UML序列图示出由于没有绑定注册而导致的基流绑定激活失败的错误情况下,通用应用类104与类602、604和616之间的交互。1200UML序列图示出在由于给定绑定已经激活而导致的交替流绑定激活失败的错误情况下,通用应用类104与类602、604、206和616之间的交互。1300UML序列图示出成功停用活动绑定情况下,通用应用类104和类602、604、206和616之间的交互。1400UML序列图示出由于给定绑定没有被注册时中止交替流的活动绑定失败的错误情况下,通用应用类104与类602、604、206和616之间的交互。No.技术特征(系统组件,过程步骤)1500UML序列图示出在由于给定绑定已经停用而导致的为交替流绑定停用失败的错误情况下,通用应用类104与类602、604、206和616之间的交互。1600UML序列图示出在基流简档激活成功的情况下,通用应用类104与类602至212、616、618、1602、1604、PAECore类110和为服务消费者边界建立模型的类110之间的交互。
  1602  公有类Service  1604  简档激活引擎110’的公有类PAEOutBoundary  1700  UML类图示出分别典型为“boundary”(104、602、618、1  604)和“control”类(110、604)的PAE 110’的分析类。  1702  简档激活引擎110’的公有类EventConsumerSupport  1704  简档激活引擎110’的公有类EventCorrelationConsumer  1706  简档激活引擎110’的公有类ProfileRegistrationList  1800  UML类图示出典型为“entity”类(204、206、208、210、  212、214、216、1706)的PAE 110’的分析类。  1900  UML类图示出与线程模型有关的本发明的一个实施方案的简  档注册方面,该线程模型说明上述实施方案如何处理由通过  异步接口访问的事件服务生成的延迟事件消费者注册确认,  并且通过同步接口把它们与上述实施方案所请求的被挂起的  简档关联起来。  1902  简档激活引擎110’的公有类GeneralApplicationThread  1904  简档激活引擎110’的公有类RegistationThread  1906  简档激活引擎110’的公有类PAERegistrationThread  2000  UML类图示出与线程模型有关的本发明的一个实施方案的简  档注册方面,该线程模型说明上述实施方案如何处理来自自  动激活简档的事件服务的事件通知消息。  2002  简档激活引擎110’的公有类EventServiceThread  No.  技术特征(系统组件,过程步骤)  2004  简档激活引擎110’的公有类CorePAEThread  2006  简档激活引擎110’的公有类TargetServiceThread  2100  列举了在SystemArchitecture.Middleware.ProfileActiva  tionEngine包中需要的公有接口BooleanCondition 202的  唯一方法的表格。  2200  列举了在SystemArchitecture.Middleware.ProfileActiva  tionEngine包中需要的公有类InterfaceToES 618的方法  的表格。  2300  列举了在SystemArchitecture.Middleware.ProfileActiva
tionEngine包中需要的公有类PAEInBoundary 602的方法的表格。2400列举了在SystemArchitecture.Middleware.ProfileActivationEngine包中需要的公有类PAEOutBoundary 1604的唯一方法的表格。2500列举了在SystemArchitecture.Middleware.ProfileActivationEngine包中需要的公有类PAECore 110的唯一方法的表格。2600列举了在SystemArchitecture.Middleware.ProfileActivationEngine包中需要的公有类PAERegisterationController 604的方法的表格。2700列举了在SystemArchitecture.Middleware.ProfileActivationEngine包中需要的公有类TargetService 212的方法的表格。2800列举了在SystemArchitecture.Middleware.ProfileActivationEngine包中需要的公有类ProfileRegistrationList1706的方法的表格。2900列举了在SystemArchi tecture.Middleware.ProfileActivationEngine包中需要的公有类ProfileItem 216的唯一方法的表格。3000列举了在SystemArchitecture.Middleware.ProfileActivationEngine包中需要的公有类Profile 210的方法的表格。3100列举了在SystemArchitecture.Middleware.ProfileActivationEngine包中需要的公有类Guard 208的唯一方法的表格。3200列举了在Sys temArchi tecture.Middleware.ProfileActivationEngine包中需要的公有类TriggeringCondition 204的方法的表格。3300列举了在SystemArchitecture.Middleware.ProfileActivationEngine包中需要的公有类Action 214的方法的表格。3400列举了在SystemArchitecture.Middleware.ProfileActivationEngine包中需要的公有类Binding 206的方法的表格。
No.技术特征(系统组件,过程步骤)3500列举了在SystemArchitecture.Middleware.ProfileActivationEngine包中需要的公有类TargetServiceThread 2006的方法的表格。3600列举了在SystemArchitecture.Middleware.ProfileActivationEngine包中需要的公有类CorePAEThread 2004的方法的表格。3700列举了在SystemArchitecture.Middleware.ProfileActivationEngine包中需要的公有类GeneralApplicationThread1902的方法的表格。3800列举了在SystemArchitecture.Middleware.ProfileActivationEngine包中需要的公有类PAERegistrationThread 1906的方法的表格。S0a步骤#0a:发现在无线自组织网络502a中提供的服务S0b步骤#0b:在收到事件通知消息时,执行从简档210收集到的用户定义的动作组214,该消息指出了移动终端504或者其它通过上述无线自组织网络502a相互连接的移动终端中所包含的特定服务的可用性,无论何时满足触发被用于请求、激活、控制和/或停用这些服务的动作214的执行的预先定义的大量触发条件204。S1步骤#1:通过帮助用户选择触发条件204,选择和/或创建简档210并且时触发条件204和来自所选择的或者创建的简档210中的至少一个动作214相关联,来在触发条件204和简档210之间创建绑定206。S2步骤#2:在收到指示任何所满足的触发条件204的事件通知消息时处理上述动作214,允许(S2a”)应用通过使用规范的应用编程接口(API)直接安装上述绑定206S2a步骤#2a:通过调整(S2a’)上述绑定创建装置108的服务,或者通过允许(S2a”)应用使用规范的应用编程接口(API)直接安装上述绑定206,管理绑定206的激活,特别是用于给定简档210与给定触发条件204间的关联S2b步骤#2b:监视属于活动绑定206的触发条件的出现
S2c步骤#2c:评估对细粒度控制的保护条件S2d步骤#2d:收到指示任何所满足的触发条件204的事件通知消息时,执行上述动作214No.技术特征(系统组件,过程步骤)S3步骤#3:评估作为一组相关事件的模型的复杂触发条件204,中间件实体110’注册该相关事件组。S4a步骤#4a:检测关于包含中间件实体110’的移动终端504的所指定范围中的发现上述服务和其它终端的事件。S4b步骤#4b:检测关于通过上述移动终端504的上述范围中的上述移动自组织网络参与通信的用户的发现的事件。S5a步骤#5a:把任何事件的远程过程调用(RPC)代理给外部处理单元116,该单元能够解释选择的脚本语言,该脚本语言向终端用户抽象出上述RPC的概念。S5b步骤#5b:把复杂简档规范代理给上述处理单元116,从而允许(S5b’)中间件实体110’使用简单的简档规范语言,该语言对各个应用的RPC协议是透明的。S6a步骤#6a:允许事件消费者注册事件类或者由特定事件生产者生成的特定事件S6b步骤#6b:允许事件消费者通过关联(S6b1)由至少一个事件生产者生成的事件注册复杂事件类,并且监视(S6b2)相关事件的出现。S6c步骤#6c:通过允许事件消费者在注册时间指定何种事件他们感兴趣,预处理指示特定服务和终端可用性的事件通知消息。S6d步骤#6d:仅向对至少一类事件和/或特定事件生产者产生的事件通知消息的注册事件消费者转发这些事件通知消息。S6e步骤#6e:从分布数据库中访问用户定义的动作组214,该数据库包含分别具有请求、激活、控制和停用动作的多个简档210。S6f步骤#6f:执行这些动作214No.技术特征(系统组件,过程步骤)S7a步骤#7a:通过激活(S7a’)上述绑定206在触发条件204
和指定简档210之间建立新关联。S7b步骤#7b:通过停用(S7b’)上述绑定206分离在触发条件204和指定简档210之间所安装的关联。S8步骤#8:通过激活(S8’)在上述简档210和上述触发条件之间安装的绑定206,递归地重用指定的简档210和触发条件204。S9步骤#9:应用在用户级别规范的简档210和在服务提供商级别规范的简档210表达不同用户的专业水平,这样非专家用户无需知道在某种事件出现时必需采取以便取得期望的效果的动作214的准确序列。S10a步骤#10a:静态检索关于提供在服务提供商级别指定的来自本地或远程持久简档图书馆的上述服务和简档210的远程设备的接口定义,该图书馆的升级可以从网络服务器上下载。S10b步骤#10b:动态检索提前散布的关于通过ServiceDiscoveryProtocal SDP在服务提供商级别指定的提供上述服务和简档210的远程设备的接口定义的信息。S10c步骤#10c:动态检索关于提供在服务提供商级别指定的上述服务和简档210远程设备接口定义的信息,只要这些服务已经被发现可以通过查询这些服务来检索—假设这些服务公布这些作为特定属性的信息。S10d步骤#10d:动态检索关于提供在服务提供商级别指定的上述服务和简档210的远程设备接口定义的信息,通过查询(S10d’)代理实体来检索,所述代理实体支持在存储器和/或传统接口增强上具备有限能力设备上运行的服务。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号