CN1954292A - 语义任务计算 - Google Patents
语义任务计算 Download PDFInfo
- Publication number
- CN1954292A CN1954292A CN 200580013453 CN200580013453A CN1954292A CN 1954292 A CN1954292 A CN 1954292A CN 200580013453 CN200580013453 CN 200580013453 CN 200580013453 A CN200580013453 A CN 200580013453A CN 1954292 A CN1954292 A CN 1954292A
- Authority
- CN
- China
- Prior art keywords
- service
- task
- computer system
- semantic
- user interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明涉及语义任务计算。任务计算计算机系统,该任务计算计算机系统将该系统划分成多个实现层,即,表示层、远程过程调用编程接口(API)、中间件层、以及服务层和功能源实现层,经由远程过程调用API将表示层交互连接至该中间件层,以在表示层实时、动态地生成针对被语义描述为计算机系统上的服务的功能源的计算机实现任务接口,该服务层和功能源实现层提供被语义描述为计算机系统上的服务的功能源,该中间件层交互连接至该服务层和功能源实现层。基于语义描述的富应用、富装置以及富服务计算机,在计算机系统上针对一个或更多个服务,在表示层利用生成的任务接口实时、动态地组成可执行任务,该可执行任务包括一个或更多个服务。
Description
技术领域
本发明致力于基于语义描述的富应用、富装置以及富服务计算环境来实时、动态地组成并执行复杂的任务。
背景技术
个人计算可以称为这样的范例,即,在该范例中,用户操作单个装置并访问/使用驻留在该装置上的应用。个人计算要求用户对用户的计算环境并对用户的计算机上可用的应用具有足够的理解,以使作为一名博学的用户,该用户可以充分利用可用的资源,来执行复杂的任务。这就是大多数用户日常经历的计算;学习怎样完成复杂任务的负担将伴随用户,用户必须理解运行在该用户的机器上的每个应用和用户的机器支持的每个功能,以在应用之间人工传递数据(剪切&粘贴),人工调用涉及任务的每个应用和具体的功能性,从而最终将全部注意力(和时间)致力于执行复杂的任务。完成复杂的任务一方面依靠用户对任务的理解,而另一方面依靠对可用的资源(装置和应用)的理解,以使用户可以将它们结合成用户将执行并且其最终结果将是完成的任务的工作流程。
计算环境的从个人计算到面向多任务视图的转换如下:
例如,作为操作系统的一个特征,当用户将一张音乐CD插入到CD舱中时,弹出一窗口,该窗口向用户提示用户从此刻起可以执行的任务。这些选项的典型列表可以包括:
播放音频CD
从CD复制音乐
打开文件夹以查看文件
不采取动作
这些选项中的每一个还提及为执动作作要使用的应用。焦点在要执行的动作或任务上,而不在为执行任务而使用的应用上。
然而,这里,操作系统使用与具体事件的发生(插入音乐CD,或连接数字摄像机)相关联的动作或任务的预定列表,以便在事件发生时,向用户呈现要遵照执行的相关动作列表。就此而言,系统的响应是硬件实现的,而所包括灵活性也不超过已经针对因触发事件而要执行的可能动作编程到系统中的灵活性。换句话说,系统在数字摄像机连接至计算机时,示出同一组可以发生的动作;操作系统的程序设计员已经准备好该针对特定事件的动作的具体列表。应用可以改变列表中的项目,但是对于最终用户来说,不存在容易的方式来改变列表中的项目。
在操作系统的另一示例中,可以根据文件类型向用户呈现对动作的选择。即,针对下列各文件类型中的每一个向用户呈现任务的单独列表:文件、图片、相册、音乐、音乐艺术家、音乐集,以及视频。例如,如果文件类型是图片,则呈现“图片任务”的列表:
查看(图片)作为幻灯片放映
在线顺序打印
打印图片
将图片设为背景
将图片复制到CD
还要预编译这个任务列表,并将其与具体文件类型相关联。对于最终用户来说,不存在容易的方式来修改列表。
在办公套装软件的另一示例中,可以使用智能标签特征。智能标签特征在使用编辑器时突出显示当前文件中的文本,并且向用户提供可以与所述文本表示的对象一起执行的动作的下拉菜单。例如,如果文本表示一名字,则这个特征可以把与该名字相关联的对象识别为人,并且可以提供以下的可能动作列表:
(向该人)发送邮件
安排(与该人的)会议
打开(该人的)联系人列表
生成(针对该人的)联系人列表
通过识别出文件中的字符串可能表示一名字,而激活上述选项。系统依靠文本的句法特征来识别该特定段文本表示名字。然而,与典型的美国人名字不相似的字符串(例如,Lusheng Ji)不能被识别为关于人的名字。其原因是,系统中的将一段文本识别为名字的部分是相当简单的程序(脚本),其尝试按文本的句法形式容易地识别可识别的模式。一旦(正确地或不正确地)识别了文本的“属性”,例如,人、地址等,就向用户呈现预编译的可能动作列表。应用程序设计员可以创建用于其它域和应用(如识别地址和调用映射应用等)的智能标签。
下面,讨论尝试向用户呈现计算环境的面向多任务视图的另一示例。当用户在搜索引擎的搜索框中键入地址时,服务返回(超越通常的搜索结果)针对映射功能(如果执行,则将提供该地址的映射)的一链接。
然而,用户可能正在搜索键入地址的映射并不是显然的。其它合理的可能性有:用户可能想要与这个地址相关联的电话号码列表,或者如果该地址是商业地址,则用户可能想要查看针对搜索的商业的BETTERBUSINESS BUREAU记录,或者想要弄清在那附近的天气等。按照搜索引擎的当前形式,搜索引擎猜测键入文本代表哪类“事物”(在这种情况下,是地址),并且返回与这种类型的输入相关联的硬件实现任务。
因此,在计算环境的面向任务视图中,焦点集中在可以执行的任务上,而不是集中在为执行任务而要使用的应用上。而且,用户不需要知道针对任务要使用哪一个应用。如果用户选择执行多个建议任务中的一个,则由此会例示并调用(启动)恰当的应用。
然而,上述计算示例展示相似的特征,该特征不允许如下地实时、动态构成可执行任务。在某一方式下,猜测用户的输入(文本或事件)的类型或属性;实际上,系统依靠串的句法特征来尝试推断该串的含义(语义)。系统针对该输入形成对用户可能希望执行的似乎可能的任务的猜测;该猜测被硬件实现到系统中,由此,实际上,不是系统实时进行猜测,而是远在用户与系统交互之前,而是系统的程序设计员在对系统进行编程时进行猜测。依据用户的选择(无论用户在第二步骤中选择什么)、例示有适当的输入(无论系统在第一步骤中猜测什么)、静态因果(或触发响应)机制,自动调用恰当的应用。
尽管上述计算示例可以增加用户的便利,但是,常规的系统仍然保留有下列个人计算特征:
已把功能性设计到应用中;应用的程序设计员已对系统的响应进行了编程(硬件实现)。结果,因为在设计期间已经确定了可能性的范围,所以这不是灵活且可扩展的方案。
系统具有有限的方式来适应用户的动作和希望,并且不能准确地“察觉”输入的属性(语义或含义)。尽管在各示例中使用了不同的技术,但系统都有赖于根据输入的句法特征来正确地猜测该输入的含义。
就特定类型输入导致单个动作(应用调用)而言,系统采用了因果(或触发响应)机制。复杂的用户任务需要更复杂的工作流程,伴随有从技术上讲无法利用在上面讨论的示例中使用的过分简单化的技术来实现的事件和动作的复杂序列。
而且,个人计算,即,用户拥有和操作运行用户的应用并“保持”用户的数据的计算机的思想,正让步于较少明确限定边界的计算环境。当计算机永久连接到计算机网络时,本地与远程的应用和数据之间的区别锐减,或者更糟糕的是,它们对计算机用户造成了混淆。而且,用户可以访问如下的装置(摄像机、打印机、智能仪器等)并与其交互,该装置不是计算机(就个人计算机而言),但是仍具有显著的计算能力,并且可以用于用户的目的,并帮助他们完成各种任务。首先,普通用户甚至可能不知道在这种计算环境下什么是可以的或可行的,因为可用的资源(装置和应用)可以经常变化。换句话说,在充满对于用户并非先验已知的装置和应用的设置中,个人计算方案是不可实行的。
因此,需要在计算环境(通常称为遍布式普适计算环境)中实时、动态地发现、发布、构成、管理并执行任务,这对于用户在所述计算环境中完成任务的问题,需要根本上不同的方案。
发明内容
在此所述的本发明实施例的一个方面是,基于语义描述的富应用、富装置以及富服务计算机计算(计算机系统)环境,实时、动态地发现、发布、构成、管理并执行复杂的任务。
根据在此所述实施例的另一方面,用户可以实际、有效、动态、实时地依靠灵活且统一的任务用户接口(发现、发布、构成、服务和/或任务管理以及执行功能),来管理交互并且与普适计算环境交互。
附图说明
参照形成本发明的一部分的附图,在下面更全面地描述和要求保护的构造和操作的细节中,将体现随后清楚的这些与其它方面和优点,其中,类似的标号始终指类似的部分。
图1A是根据本发明实施例的任务计算(TASK COMPUTING)环境的架构的系统图;
图1B是根据本发明实施例的表示层处的作为计算机实现的任务接口的计算机显示图形用户接口的图像;
图2是根据本发明实施例的STEER-WS API的示例定义的列表;
图3A-3B是例示根据本发明实施例的STEER-WS API的使用的示例计算机源代码;
图4是根据本发明实施例的中间件处理层108程序模块的功能框图;
图5A-5B是根据本发明实施例的PIPE-WS API 122的示例定义的列表;
图6是根据本发明实施例的基于回叫(call-back)的交叉环境服务目录的流程图;
图7是根据本发明实施例的交叉环境服务目录和执行的网络图;
图8是根据本发明实施例的针对管理服务的移动电话显示画面用户接口图像的图;
图9是根据本发明实施例的计算机显示的位置感知图标图形用户接口的图像;
图10是根据本发明实施例的任务计算语音识别的状态流程图;
图11是根据本发明实施例的用于生成针对任务计算环境的语音识别图的示例伪代码;
图12A是根据本发明实施例的采用任何语言显示任务计算客户端用户接口的流程图;
图12B是根据本发明实施例的在表示层采用日语的作为计算机实现的任务接口的计算机显示图形用户接口的图像;
图13是根据本发明实施例的服务访问控制的流程图;
图14A-14H是根据本发明实施例的在一位置处的服务访问控制的过程的图;
图15是根据本发明实施例的真实世界对象语义化器的架构的功能框图;
图16A-16C是根据本发明实施例的对象和服务的语义化、服务化以及发布的过程;
图16D-16N是根据本发明实施例的在OWL-S中的SSD116的计算机可解释的源代码的三个示例;以及
图17是根据本发明实施例的具有内部服务的STEER-WS TCC的计算机显示图形用户接口的图像。
具体实施方式
图1A是根据本发明实施例的任务计算100计算机系统环境(TCE)100的架构的系统图。在图1A中,计算机实现方法包括将普适的任务计算计算机系统环境100分成多个任务计算计算机系统实现层,所述多个任务计算计算机系统实现层包括表示处理层104、远程过程调用机制应用编程接口(API)106、中间件(服务器)处理层108,以及服务层112和功能源实现层114,表示层104经由远程过程调用API106与中间件(服务器)处理层108交互连接,以针对功能116的语义描述计算机系统源在表示层104处实时、动态地生成计算机实现的任务接口130(例如,软件/编程的计算硬件接口、计算机显示画面图形用户接口(GUI)、计算机语音用户接口),作为连网的、未连网的或者这两种计算机110(计算机系统110)的服务112,服务层112和功能源实现层114提供功能116的语义描述计算机系统源作为计算机系统服务112,中间件处理层108交互连接至服务层112和功能源实现层114;并且该计算机实现方法还包括,根据针对在计算机系统110上的一个或更多个服务112在表示层104生成的任务接口130实时、动态地组成计算机系统可执行的任务,该计算机系统可执行的任务包括一个或更多个服务112。
任务计算100是一新的范例,其用于在富应用、富装置、富电子服务以及富内容计算机网络环境114中实时、动态地发现、发布、组成、管理并执行复杂的任务(即,在实现层114中执行任务)。任务计算100基于计算装置114a-n的(例如,通过语义服务描述(SSD)116a-n)语义描述服务115a-n,语义描述服务115a-n根据它们的语义可以由最终用户在传输过程中(on-the-fly)构成为可执行任务。因此,根据在此所述的实施例,任务计算100系统具有一多层计算机系统架构,即,表示客户端处理层104、经由远程过程调用机制与客户端处理层104交互连接的中间件服务器处理层108以及在多个计算机系统层中的多个服务的三个或更多个编程的计算和/或计算机可读信息层(例如,语义实例、语义服务描述116)。
根据在此所述的实施例,术语“服务”112指来自计算机装置、计算机应用/软件、电子服务以及计算机(或机器,或两者)可读内容的功能源实现层114的全域的功能性计算实施例。
术语“任务”126指根据发现的例如用户想要执行的计算机系统服务112的一个或更多个动作的组成。根据在此所述的实施例,“任务”126是经由计算机实现的任务接口130自动地、用户驱动地、或按其任何组合地组成并管理的。对于用户的情况来说,在表示层104管理(例如,发现、发布、组成、执行等)作为一个或更多个服务112的组成的任务126。在一未限制示例中,服务112的组成,“通过投影仪观看112我的联系人112的商业地址112的天气信息112”,是包括四个服务112(“通过投影仪查观看”、“天气信息”、“商业地址”,以及“我的联系人”)的“任务”126。换句话说,“任务”包括一个或更多个服务112的组成。
术语“组成”是指,通过根据如语义描述的服务112的提供功能特征,如(不限于)服务112的语义输入和输出(例如,针对服务112的输入(消耗)/输出(产出)的数据对象类型),将多个服务112合在一起而形成。服务的功能特征的示例可以是用于确定服务可组成性的服务112的前提条件和结果。服务112的前提条件和结果的示例可以是针对服务112的输入和输出数据对象类型。
术语“语义实例”或“语义对象”指一组基于一个或更多个本体(ontology)对某项目的描述。语义服务描述(SSD)116基于一个或更多个服务功能本体描述服务功能115。
术语“发布”指产生通过一个或更多个服务发现机制可获得的语义服务描述(SSD)116。
术语“发现”一般指对语义服务描述116的发现。
任务计算指这一类型的计算机系统100,即,其基于语义描述116的富应用、富装置以及富服务计算机计算(计算机系统)环境110,支持自动或用户驱动或这两种(其任何组合)的实时、动态地发现、发布、组成、管理并执行包括一个或更多个服务112的“任务”126。
在本申请的受让人FUJITSU LIMITED拥有的2003年12月12日在美国专利商标局提交的相关共同转让第10/733328号未决美国专利申请(代理卷号1634.1007,标题“任务计算”,发明人Ryusuke Masuoka、YannisLabrou、Zhexuan Song)(通过引用将其全部内容并入于此)中,描述了两个任务计算客户端实施例,它们被称为语义任务执行编辑器(STEER)(用于发现可执行任务并将其组成语义描述服务116的软件)和普适实例提供环境(PIPE)(用于发布并管理语义实例和/或语义服务116的软件)。在此所述的实施例涉及用于将语义描述服务116实时、动态组成为可执行任务126以及对语义描述服务116进行管理(例如,发现,创建/发布,操纵等)的技术和/或技术的改进。
在图1A中,根据在此所述的实施例,基于远程过程调用机制,根据客户端-服务器计算机系统架构设置了一个或更多个任务计算系统(TCS)118a-n。TCS118被逻辑地且按实现分成表示处理层104和中间件处理层108,该表示处理层104提供作为任务计算客户端119a-n的客户端类型编程处理,该中间件处理层108提供服务器类型编程处理,其中,根据任何远程过程调用机制,如作为任务计算环境-Web服务应用编程接口(TCE-WS API)106a-n的Web服务(WS),来交互连接划分的表示处理层104和中间件处理层108。Web服务的概念是公知的。因此,根据在此所述的实施例,一般地,TCS118包括提供表示层104处的客户端类型处理的任务计算客户端(TCC)119,并且TCC119经由诸如Web服务(WS)的远程过程调用API而与中间件服务器处理层108交互连接,在此情况下TCC119被称为WS TCC 119。使用Web服务作为远程过程调用机制的示例的TCS118,在此被称为WS TCS 118。通过利用远程过程调用机制,这种Web服务、可以进行诸如Web服务调用的远程过程调用(或可以合并远程过程调用能力)的任何应用(包括第三方应用(例如,MICROSOFT WORD、EXCEL、OUTLOOK、ADOBE ACROBAT等)),都可以成为任务计算客户端(TCC)119。在此所述的实施例使用Web服务作为远程过程调用机制的示例,然而,本发明不限于这种设置,而是可以使用任何远程过程调用机制。
因此,使用Web服务作为远程过程调用API的示例,语义任务执行编辑器-Web服务任务计算系统(STEER-WS TCS)118a成为WS TCS 118的示例,其包括在表示处理层104经由STEER-WS API 120与中间件服务器处理层108交互连接的STEER-WS任务计算客户端(STEER-WSTCC)119a。
普适实例提供环境-Web服务任务计算系统(PIPE-WS TCS)118b是WS-TCS 118的另一示例。PIPE-WS API 122暴露一般用于管理(例如,创建/发布、去除、操纵等)在任务计算100中使用的语义对象实例和/或SSD116以及管理任务126的中间件服务器管理工具124。使用PIPE-WS 122的应用客户端119在此被称为语义描述服务控制机制(SDSCM)119b,其示例有“白洞(White Hole)”119b-1、“服务管理器”119b-2、“真实世界对象语义化器”119b-3,以及数据库语义化器119b-4,下面将更详细地进行描述。例如,使用PIPE-WS 122的WS TCS 118b包括Web服务任务计算客户端(应用客户端)或SDSCM119b,如在表示处理层104的经由PIPE-WS API 122与中间件服务器处理层108交互连接的“白洞”任务计算客户端(“白洞”)119b-1。
通过使用Web服务任务计算客户端(WS TCC)119,如(不限于)STEER-WS TCC 119a和白洞119b-1、“服务管理器”119b-2、“真实世界对象语义化器119b-3,以及数据库语义化器119b-4,作为表示层104处的可编程计算组件(例如,任务计算客户端软件),用户可以基于由中间件服务器处理108通过TCE-WS API 106而使得可用的语义描述服务116,来管理(例如,发现、发布、组成、执行、操纵)任务126。
在图1A中,根据现今的计算环境,用户由称为实现层114的功能性包围,实现层114包括装置或计算机中介服务(如因特网上可获得的电子服务(e-services))、在用户操作的计算装置上运行的应用、在计算机可读介质上可获得的内容,或只是支持特定功能的装置。这种装置、应用、电子服务以及内容的示例包括(不限于)电话、计算机显示器、摄像机、娱乐装置/中心、电视、个人数字助理(PDA)、无线电通信装置(例如,移动电话等)、音频播放器、传真机、打印机、天气服务、地图服务、办公套装计算软件(例如,电子邮件应用,地址薄等)、多媒体计算机可读介质(例如,音乐光盘、电影数字视频盘(DVD)等)、因特网站点、数据库等。在图1A中,实现层114呈现的功能性或服务115a-n例如可以包括(不限于)听音乐(例如,在娱乐装置的情况下)、下载歌曲、观看流式传输视频、听无线电广播、提供联系人信息、检查地图上的地址等。常规上,实现层114已被设计成利用用户与各装置或服务的交互(和/或用户对各装置或服务的操作)向用户提供功能性;例如,如果用户想要利用在她正访问的房间中设置的电话机呼叫一同事,并且在该用户的膝上型电脑上的该用户的电子地址薄应用中存储有该同事的电话号码,则该用户必须开启膝上型电脑应用,查找关注的电话号码,接着在电话机上手动地拨打该电话号码。换句话说,用户不能组成任务126。即使应用、电子服务以及装置可以物理地相互通信,即,在它们之间存在通信链路,它们也不能按对用户的任务有意义的方式交换数据,除非实现层114的设计者已经考虑到该具体任务而设计了功能的计算机系统源,例如,计算装置。当面临过多的功能源114a-n时,用户不能执行利用来自所有这些源的功能性的任务,除非功能源114a-n是针对该任务而设计的。而且,临时用户通常不知道可以执行哪种任务。
在图1A中,根据所述实施例,服务层112包括根据功能源实现层114的服务功能115a和对应地语义描述功能源实现层114的服务功能115a的语义服务描述116a,作为(连网的、未连网的或两种情况)计算机系统110的服务112。根据所述实施例的一个方面,对于具体功能源114来说,服务功能11与SSD116之间的关系可以是多对多(n∶m)。例如,一个SSD116对多个服务功能115,其中,一个SSD116将服务功能115组成(在该组成中具有多个服务功能115)保存为SSD116。还可以是一个服务功能115对多个SSD116,其中,一个服务功能115给出多种类别或类型的单一服务功能115的语义分析。例如,对于书籍查找服务功能115(其针对ISBN输入返回作者、价格、照片等)的情况来说,可以通过语义服务116建立基础,使得一个SSD116返回作者联系人,而另一SSD116返回图像等。更具体地,根据所述实施例,服务层112包括同时形成可用的计算机系统(连网的、未连网的,或者两种情况)110服务112的根据实现层114a-n可用的服务功能115a-n和与服务功能115a-n相对应的语义服务描述(SSD)116a-n。SSD116在计算机网络上暴露实现层114的服务功能115。在本申请的受让人富士通株式会社拥有的由Ryusuke Masuoka、Yannis Labrou、Zhexuan Song于2003年12月12日在美国专利商标局提交的题为“任务计算”的相关共同转让未审美国专利应用No.10/733328(Attorney Docket No.1634.1007)中,描述了SSD116的某些实施例,其全部内容通过引用并入于此。
因此,任务计算100是针对用户怎样与功能114a-n的实现层源的服务功能115a-n交互的新范例,例如,计算装置114,其着重于在利用计算装置114时用户想要完成的任务126,而不是着重于用于怎样完成该任务的具体装置。任务计算100填充在用户想要完成什么与在用户的环境中可能是可用的计算装置114的服务功能115之间的间隙。任务计算100表现出超过诸如当前个人计算范例的传统方法的实质优点,即,其更适于非专家计算机用户,对于各种类型的用户来说,其是节省时间的事物,并且特别适于新兴普适计算类型的计算环境。
因此,在图1A中,根据所述实施例,为了提供应当灵活地扩展并以之为基础的计算机系统架构(软件和/或可编程计算硬件),创建一明显且模块化的中间件服务器处理层108,其功能性通过远程过程调用应用编程接口(API)106可用于表示处理层104;使得应用开发者和用户可以使用它们,以访问诸如发现服务112并将其组成为可执行任务126的任务计算功能,包括服务112和/或任务126的构造、保存、执行、监视、发布、管理等。远程过程调用机制,举例来说,如Web服务,提供定位(即,在不同计算机上的不同处理层)、平台以及针对终端用户应用开发独立需求的编程语言。
如上所述,事实上通常是暂时的大量装置114和其它功能性(电子服务、应用、内容)115驻留于遍布式普适连网计算机计算环境中;而且,终端用户,以至创建针对遍布式环境的应用的开发者都不能预知什么功能性(资源)114和相对应的服务功能115可以在指定时间可用,而且更重要的是它们可以用于什么。为了利用这种动态性,必需的是,在运行时间而不是设计时间可以发现并组合服务功能性114、115。因此,作为示例,所述实施例使用语义Web技术,因为如果根据计算机可读语义116充分地自述计算机网络资源114、115,则可以建立足够理解有关资源114、115的基础结构100,所以作为计算机系统服务110,为了通过使终端用户自己理解资源114、115提供什么并可以用于什么,允许他们做应用开发者通常所做的。语义Web的概念是公知的。
更具体地,根据所述实施例,任务计算100利用公知的语义Web和Web服务的概念。然而,为了在真正动态且ad-hoc遍布式计算环境中陈述真实的、功能系统,根据所述任务计算100,建立并实现下列:
(1)如图1所示,向功能110的计算机系统源提供任务接口130。任务接口130包括任务计算系统(TCS)118,该任务计算系统(TCS)118被逻辑地划分成:(1)表示处理层104,该表示处理层104包括任务计算客户端(TCC)119,和(2)中间件服务器处理层108,在表示层104处,TCC119利用诸如任务计算环境(TCE)Web服务API106(例如,STEER-WS API 120和PIPE-WS API 122)的远程过程调用机制API106与该中间件服务器处理层108交互连接。API106暴露中间件服务器处理层108要由表示处理层104交互连接。任务接口130还包括语义描述服务功能115的语义服务描述(SSD)116层。经由TCC119和执行例如作为要根据提供的控制命令通过中间件处理层108执行的任务126的一部分的服务功能115,通过要在表示层104处(例如,经由TCC119并且基于针对要执行的服务功能115的SSD116在表示层104处)呈现的中间件处理层109发现SSD116。
(2)分离语义服务描述(SSD)116和服务实现115,以一起设置服务层112;
(3)通过构想“球体”的概念作为运行在计算机110上并且可通过远程任务计算客户端119访问的远程过程调用API的子集,分离发现(作为可能的情况,服务或保存的任务的发现)机制与发现范围,和在这些范围之内和之间的服务112的操纵能力,以完成针对服务112的发现范围。
(4)针对用户(和应用)的能力,以动态地创建并操纵可以构成可用的并且与其它共享(或者在需要时构成无用的)的服务112(即,提供服务控制管理);以及
(5)提供多种使得能够实现有意义且真正有用的任务126的服务112。
因此,如图1A所示,在建立其中用户可以执行没有(既非隐含地也非明确地)设计成计算机网络系统的复杂任务的任务计算100中,上述层的分离是逻辑(概念)和实现、有用性两者,由此,倍增功能性114、115(装置、应用、内容以及电子服务)的源的使用。本发明不限于语义Web和其它语义类型技术或框架,该框架允许要共享数据并且交叉地再使用可以由所述实施例使用的应用、事业,以及共用边界。
在图1A中,作为最底层的功能源实现层114包含其中发起针对用户的所有可用功能性的计算机装置、计算机应用/软件、电子服务以及计算机(或机器,或两者)可读内容的全域。功能源114的服务功能115(下面更详细地描述)是功能性的计算的实施例。这种服务功能性115一般源自至少三种不同类型的源114:装置、应用(软件)以及Web电子服务。因为这三种源114之间的边界可以高度地扩展,所以它们被松散地定义并且不限制类别。在一示例中,发起服务115的装置114是装置114被设计成递送的核心功能性。例如,电话(装置)114的主要功能性是进行电话呼叫(服务)115。类似地,发起功能性的应用(软件)114是在计算装置114上执行的软件114的服务功能115。例如,个人信息管理(PIM)应用的功能性包括存储和检索联系人信息。最后,电子服务和/或内容114服务功能性115例如是超过用户的局部网络的边界,在一些远程服务器上执行以通过访问Web来递送服务功能性115的服务功能115。作为功能性114的第四源的内容可以非常有用,即,构成可用的内容作为服务功能115;这种类型的服务功能115可以非常便利的作为用户之间的信息共享机制。因此,在此,“服务”112指根据计算机装置、计算机应用/软件、电子服务以及计算机(或机器,或两者)可读内容的功能源实现层114的全域的功能性的计算的实施例。因此,作为根据功能源实现层114的功能性的计算的实施例的“服务”112具有用于与“服务”112交互的接口特征,其可以包括“服务”的描述(该“服务”的描述包括服务的名称、执行的功能等)和服务的诸如向“服务”112输入/输出的功能性特征。此外,根据所述实施例,针对计算机系统服务110的计算机实现用户接口是根据基于“服务”112的本体输入数据和输出数据语义地描述的。例如,为在显示投影仪上显示文件而在语义服务描述(SSD)116中描述的服务12可以命名为“通过投影仪观看”,其接受“文件”作为输入而非输出参数。
在图1A中,服务层112是经由语义服务描述(SSD)116计算构成可用为服务功能115的功能性114的源。SSD允许发现并访问(执行)服务功能115。各服务功能115与至少一个例如根据OWL-S编码的语义服务描述(SSD)116相关联,其是基于利用资源描述框架(RDF)/可扩展标记语言(XML)交换语法的Web本体语言(OWL)的Web服务本体语言,并且可以经由PIPE-WS TCC 118b在传输过程中创建SSD116,作为可能动态地创建(制成可用)的服务115。所述SSD实施例不限于OWL-S实现,而是针对描述可以使用包括Web服务的计算机系统服务功能115的特性和能力来构成任何计算机可解释的语言。SSD116包括三部分:简档(profile),处理以及建立基础。其中,简档部分允许用户在语义层操纵服务115,而建立基础部分允许用户实际地调用服务115。服务115表示在任务计算全域100中的可用功能性,而这些服务115的SSD116旨在根据服务功能性115的基础的源的复杂性来屏蔽用户,并且使对于用户来说容易在完成有意义且复杂的任务中采用这些服务源115。在本申请的受让人富士通株式会社拥有的由Ryusuke Masuoka、Yannis Labrou、Zhexuan Song于2003年12月12日在美国专利商标局提交的题为“任务计算”的相关共同转让未审美国专利应用No.10/733328(Attorney DocketNo.1634.1007)中,描述了语义描述的服务116的实施例,其全部内容通过引用被并入于此。
在图1A中,中间件服务器处理层组件108负责发现服务115、116(或112),确定服务115、116怎样可以组成可执行任务,执行服务并监视服务执行,以及使得能够实现并易于包括语义地描述的服务116的创建和发布的多种管理操作。换句话说,中间件处理层组件108的目的是提取全部服务资源115,作为对于试图操纵它们的用户或应用来说可以制成可用(例如,经由TCC119在表示层处)的语义描述的服务116。
在图1A中,表示处理层104利用中间件处理层108的能力,以使得用户能够通过组合所有可用服务功能性116、115(112)来执行任务。利用称为WS TCC、WS应用以及/或WS基于Web的接口应用(可用Web浏览器访问)(在此都称为WS TCC)的Web服务118a-n的多种可编程计算客户端(例如,软件客户端、可编程计算硬件客户端,或两者等)被设置成经由中间件处理层108通过组合所有可用服务功能性112来执行任务。根据所述实施例,通过定义明确的Web服务应用编程接口(WSAPI)106来暴露中间层组件108,由此,允许创建利用这些API的WS任务计算客户端(WS TCC)119。
为了不受限制的访问诸如服务112发现、组成、执行、保存、创建、管理的任务计算的核心功能性,在中间件处理层108处定义任务计算环境Web服务API 106,以开放可能性的整个阵列。例如,WS TCC 119不一定是任务计算模块的具体实现,只要用户可以进行Web服务106调用,该用户就可以在任何平台上工作,并且使用任何编程语言,以创建WCCTCC 119和访问服务112。
因此,在图1A中,根据所述实施例,提供任务计算环境-Web服务(TCE-WS)API 106。TCE-WS API 106的子集可以用于各种任务计算目的,并且在此,当用于STEER-WS TCS 118a时称为STEER-WS API 120,当用于一个或更多PIPE-WS TCS 118b时称为STEER-WS API 122,而当用于提供针对交叉环境任务计算(下面将更详细地讨论)的“球体”时称为管理(SoM)-WS API 123的球体。根据本发明实施例,在此将描述下列:
在此,将更详细地描述各种Web服务任务计算客户端(WS-TCC)119a实施例,如语义任务执行编辑器-Web服务(STEER-WS TCC)119a,其基于STEER-WS API 120并且是用于发现并组成可执行任务为语义地描述的服务116的软件。作为WS TCS 118的表示层104组件的STEER-WS TCC 119a提供多种计算机实现用户接口。因此,在此将描述被称为STEER-WS-扩展(XT)TCC 119a-1的计算机显示图形用户接口,计算机显示图形用户接口嵌入在诸如移动电话的无线电装置中,并且被称为移动电话STEER-WS TCC 119a-2、STEER-WS-空间信息系统(SIS)TCC 119a-3、语音STEER-WS TCC 119a-4,以及软中断-WS TCC 119a-5。
而且,在此将基于PIPE-WS API 122描述应用客户端119,其是为管理服务112(如创建、移去、修改服务112)的语义描述的服务控制机制(SDSCM)119b。具体地,在此将描述“服务管理器”119b-2、“真实世界对象语义化器119b-3、数据库语义化器119b-4,以及介质发布器119b-5。
而且,在此将描述用于交叉环境服务112发现并执行的“管理的球体”的概念。
而且,在此将描述语义服务描述(SSD)116的延伸的用法(高级的行为),如通信语言适应(例如,口语国际化)和新的参数。SSD116是传播媒介,用于从服务115自身向WS-TCC 119传送服务115的参数。更具体地,实现了用于增强任务计算100环境的新的种类的参数,包括针对服务112输入的不严格的类型、服务112的位置、多语言服务112,以及服务112管理功能。
而且,在此将描述针对服务112的访问控制。
而且,在此将描述任务计算客户端119内部服务,如实例创建器、实例复制器、实例截获器、实例保存器以及特性选择器。
而且,在此将描述设计并实现的新的服务112,其包括:(1)语义实例串行化服务,(2)信息提供服务,(3)时间/温度服务,(4)快照服务,(5)OWL格式器服务,以及(6)文本格式器服务。
用户接口-STEER-WS-XT TCC 119a-1:
图1B是根据本发明实施例作为在表示层104处利用STEER-WS-XTTCC 119a-1的计算机实现的任务接口的计算机显示图形用户接口的图像。在图1B中,计算机显示图形用户接口窗口142是发现的服务112窗口(或发现窗格)142,其根据发现的服务112的图标树形结构进行显示。根据所述实施例的一方面,根据基于本体和/或其它类别(如(不限于)友好的名称、服务的类型、字母顺序等)的服务112的任何类型的分级类别,在发现的服务窗口142中组织服务112。计算机显示图形用户接口窗口144是任务窗口(或任务126构造窗格)144,其是包括针对多输入/输出的服务112的非线性组成的定向服务112图形。在图1B中,任务126窗口144采用非限制示例显示包括五个服务112的任务126。具体地,任务126是“通过我的投影仪112观看根据我的联系人112的家庭地址112和商业地址112的112的路由”。
在图1B中,根据所述实施例,在服务窗122中针对选择的服务112,SSD116窗口150显示SSD116参数/特性。SSD窗口135例如可以在测试作为组成任务126的一部分的任务126中是有用的。
在图1B中,任务窗口144提供已经在发现的服务窗口142中选择的服务112的可选图形显示。在任务窗口144中,依据选择的发现的服务112,自动地识别根据基于本体的服务的功能特征的兼容服务,并且服务112的图形显示针对选择的发现的服务还自动地包括一个或更多表示可用或有效(兼容)服务112的可选功能特征按钮145a-n。选择的功能特征按钮显示可以消耗前述服务112的制作的其它发现的服务112的可选列表,由此,如通过显示连接服务112的图形显示的线所示,同时组成一个或更多服务112创建任务126。更具体地,在任务窗口142中,用户组成定向服务112图形作为任务126。对于利用服务112的输入/输出数据对象类型作为服务112的功能特征的情况,输出功能特征按钮145a与输入功能特征按钮147a按颜色或任何其它已知的计算机显示区别方法区别。
下面,进一步更详细地描述移动电话STEER-WS TCC 119a-2、STEER-WS-SIS TCC 119a-3、语音STEER-WS TCC 119a-4,以及软中断-WS TCC 119a-5的其它STEER-WS TCC 119a计算机实现用户接口。
参照图1A和1B,任务计算100系统具有这样的结构,即,该结构提供用于在当前环境中寻找可用服务、构成并操纵该可用服务的用户中心任务视图,以及执行组成多服务所导致的任务的基础。甚至在需要时让终端用户动态且容易地创建新的服务。任务计算100系统的三个特征/要素如下:
(1)把所有功能性114、115统一抽象为服务112。如在此所述,在任务计算100中,中间件服务器处理层108用于把所有资源抽象为语义描述的服务112。语义描述的服务是通过远程过程调用可用的服务功能115,如(不限于)WSDL(Web服务描述语言)、UPnP(通用即插即用)、CORBA、RMI、RPC、DCE、DCM服务功能115),对于该服务功能115来说,在打算用于描述服务(例如,OWL-S)的语言中已经指定语义描述(文件)116。当指定这种语义描述116时,指定的本体被指定用于服务116、115(112)作用的域。关于本体,可以使用软件工具创建本体,并且无论何时都可以使用可能存在或有用的本体。OWL-S服务描述116表示作为语义对象的语义化的服务功能115的功能特征(例如,输入和输出),和服务112的拥有者、创建器、位置等。描述还包括基础信息,以使可以恰当地执行实际的WSDL和/或UPnP服务。在提供这些描述语义化器工具中,如在此描述和/或引用的(不限于)真实世界对象语义化器119b-4、数据库语义化器119b-5、内部服务实例创建器等,已经被用于将本体对象映射成WSDL参数并且创建任何必需的基础(通过XSLT脚本表示基础)。基于在表示客户端处理层104处提供的直观的任务126用户接口,已经为中间件服务器处理层108提供Web服务接口106。
任务计算中间件还可以被视为语义服务描述的动态储存库。除在此讨论的用于访问并操纵这些描述的API106之外,通过实现一API提供为直接查询这个储存库的方法,该API针对服务描述处理任何RDF查询语言(RDQL)查询(JENA2.0被用作用于RDQL查询的处理的示例)。例如,即使没有提供针对该目的的明确的API,开发者也可以根据服务的一些特征(如,位置)针对任务组成过滤向用户呈现的服务。这个能力延伸应用开发者的能力,并且作为确定的查询变得更有用,它们可以永久地增加至作为执行预定RDQL查询的API106的中间件。
把功能性抽象为服务112使功能性普遍地可访问,并且允许任务计算基础结构与这种功能性交互。任务计算100系统把用户的计算装置(根据应用和OS)的、环境中的装置的以及因特网上的可用电子服务的功能性114、115变换成抽象的服务112。这种抽象为在环境中具有很少预定以处理可用功能性铺平道路,但是单独地不能满足为提供用户把功能性实时操纵并组成任务126的需要,以致所述实施例还提供表示层104,以支持包括多个服务112的任务126的实时、动态的管理。
(2)基于语义服务描述(SSD)116提供抽象的服务112的直观的(针对用户和/或系统)操纵。服务112的直观的操纵通过语义服务描述(SSD)116的使用而成为可能;本体是用于完成这种用户和/或系统直观的操纵的机制。在本申请的受让人富士通株式会社拥有的由RyusukeMasuoka、Yannis Labrou、Zhexuan Song于2003年12月12日在美国专利商标局提交的题为“任务计算”的相关共同转让未审美国专利应用No.10/733328(Attorney DocketNo.1634.1007)中,描述了SSD116的概念,其全部内容通过引用被并入于此。
例如,如果代替SSD的116,仅功能115的WSDL(Web服务描述语言)源用于描述Web服务的功能特征,则WSDL-描述的Web服务需要程序设计员理解它们的语义(超过WSDL描述)并且为正确地使用服务而开发代码。结果,终端用户与功能性的交互受按开发者预定的方式的这些程序的范围的限制。通过把本体对象映射成功能115源的诸如(不限于)WSDL参数的参数并且创建任何必需的基础,附加的语义(在SSD116中提供的)允许任务计算100基础结构在不需要深层知识的情况下,帮助用户操纵服务。例如,语义可以用于约束由用户进行的服务的操作,或者在当前的环境中向用户呈现可以的任务126。如果针对基于服务的语义输入和输出的服务组成仅依靠WSDL,则该组成随着消耗XML模式定义(XSD)串的另一组成而不限制服务的例如制作XSD串的任何组成,由此可能导致没有可执行(无效)的服务组成。因此,根据所述实施例,“组成”指根据提供的如语义地描述的服务112的功能特征(如(不限于)服务112的语义输入和输出),例如,针对服务112的输入(消耗)/输出(制作)的数据对象类型,通过把多个服务112合在一起形成。服务的功能特征的示例可以是用于确定服务可组成性的服务112的前提条件和结果。服务112的前提条件和结果的示例可以是针对服务112的输入和输出数据对象类型。具体地,服务112的SSD116提供服务输入和输出的更细的粒度,以使例如生成“地址”语义对象的服务仅将组成有语义地兼容服务。
提供服务112的用户直观操作的另一机制是通过赋予恰当的根据自然语言的服务名称,如“从我家路由至”服务名称,兼容服务的组成的服务名称可以用作自然语言任务126呈现(例如,“通过投影仪观看”112+“我的文件”112,“从公司-1路由至”112“城市名称机场”112)。本体还可以支持诸如基于子类-超类关系的组成的机制,和对于终端用户来说非常自然的语义对象变换。因此,任务126的组成是基于自然语句的,或者换句话说,组成的任务126像自然语句一样读取。更具体地,所述实施例为支持服务的可组成性向服务提供指定名称作为自然语句的要素(例如,短语),以映射到作为自然语句的自然语言要素的组成中。因此,任务计算100系统允许非常富且有意义的方式用于终端用户与环境110的服务交互。
(3)用户可以经由例如图1B所示的基于(1)和(2)的计算机实现用户接口引导任务126的实时和/或动态(后绑定类型)组成。
TCE Web服务应用编程接口(TCE-WS API)106:
图2是根据本发明实施例的STEER-WS API 120的示例定义的列表。在图1A和1B中,STEER-WS TCC 119a是提供便利的用户接口以发现并过滤服务112、组成、执行以及保存服务112作为任务126的WS TCC 119。其是TCE-WS API 106的STEER-WS API 120将任务计算功能性抽象成独立模块并暴露它们为通过任何WS TCC 119(举例来说,如STEER-WSTCC 119a)可访问的标准Web服务接口。
如图2所示,通过由Web服务106暴露任务计算中间件服务器处理层108的功能性,可以根据任务计算中间件服务器处理层108的模块的实现释放表示处理层104处的WS TCC 119。只要可以进行服务106调用,WS TCC 119开发者就可以在任何操作系统上使用任何编程语言,由此提供WS TCC 119。甚至可以进行Web服务调用(或者可以并入Web服务调用能力)的第三方应用(MICROSOFT WORD、EXCEL、OUTLOOK、ADOBE ACROBAT等)都可以是潜在的WS TCC 119。
在图2中,在STEER-WS API 120中支持诸如发现、组成、执行、监视、保存等的功能性。通常,诸如STEER-WS API 120和PIPE-WS API122(下面,将参照图5A-B进行更详细的描述)的TCE-WS API 106依靠服务112识别器(SID)参数,该服务112识别器(SID)参数是统一地识别在SSD116中描述的语义地描述的服务功能115的事物。典型地,根据所述实施例,SID是针对在SSD116中描述的语义描述的服务功能115的统一资源定位器(URL)的串。例如,图3A示出了使用STEER-WSAPI 120以同步有关发现的服务112的局部知识的示例计算机源代码300。图3B示出了利用STEER-WS API 120以调用具有多个服务112的任务126的另一示例计算机源代码310。在一非限制实施例中,在图3B中,服务列表参数是输入的串,该输入的串例如使用“&”界定多个任务,而使用“|”界定在一任务内的服务112识别符,并且WS TCC 119可以在它自己的代码中具有图3B中的程序循环,以调用并监视任务执行。因此,在本发明中,在中间件服务处理层108中利用TCE WS API 106来调用远程过程的诸如图3A-3B的源代码是诸如STEER-WS TCC 119a的WS TCC119的实施例实现。
图4是根据本发明实施例STEER-WS TCC 119a的中间件服务器处理层108程序模块的功能框图。如图1和4所示,STEER-WS TCC 119a的中间件处理层108包括中心模块402,该中心模块402根据来自表示处理层104的经由STEER-WS API 120的Web服务106请求,对服务112发现模块404、执行模块406,以及监视模块408进行控制。中心模块402包括服务112语法分析和索引模块410和服务112组成和任务126执行计划模块412。服务112语法分析和索引模块410提供登记接口422,其允许发现模块404登记/不登记发现的服务112。发现模块404包括一组单独发现模块,如局部发现模块414、诸如UPnP的第三方服务功能115发现模块416,远程站点发现模块418,以及发现模块管理420,该发现模块管理420具有确定各发现模块是否应当在不同环境110中使用的管理功能。
根据所述实施例的一方面,服务发现模块404经由第三方发现模块416或利用远程第三方发现模块418n的远程站点发现模块,根据任何服务功能115发现机制来发现服务功能115。第三方发现机制416举例来说可以是通用即插即用(UPNP)技术、JINI技术、BLUETOOTH等,或其任何组合。例如,在第三方发现模块416中可以使用CYBERLINK UPNP和/或INTEL UPNP TOOLKIT实现,以通过UPnP在子网内发现服务描述广播。而且,服务发现模块401可以经由局部发现模块414和远程站点发现模块418发现语义服务描述(SSD)116。
根据所述实施例的一方面,HEWLETT-PACKARD DEVELOPMENTCOMPANY的JENA用于存储SSD116。语法分析和索引模块410包括语法分析和分析功能,以语法分析和分析SSD116。例如,根据所述实施例的一方面,在MINDLAB,UNIVERSITY OF MARYLAND,USA的PELLET和OWL-S API的支持下,利用HEWLETT-PACKARDDEVELOPMENT COMPANY的JENA语法分析SSD116。具体地,“发现服务112”等同于“找到服务112的SSD116”。通过登记接口422向中心模块402发送可通过服务发现模块404中的一个发现的SSD116,其中首先例如通过由PELLET支持的JENA语法分析SSD116。一旦语法分析了SSD,PELLET就准备回答RDQL查询。通过询问来自服务112语法分析和索引模块410的查询并且基于查询结果,服务112组成和任务126执行计划模块412完成作为任务126的服务112的组成,并且响应于来自TCC119的任务126执行命令确定针对任务126的执行计划。一旦确定了执行计划,中心模块402就经由执行模块406调用现有的服务功能115,该执行模块406包括设置在SSD116中以调用服务功能115的基础调用424。发现模块404发现可以包括服务功能115和语义服务描述(SSD)116的服务112。上述服务112语法分析和索引410不限于这种设置,而是除了JENA和PELLET之外还可以使用用于语法分析和分析SSD116的任何机制。
根据所述实施例的一方面,作为独立模块,只要根据Web服务API106实现统一且高度抽象的发现和执行机制,例如,通过实现针对基础BLUETOOTH SDP、IR、RENDEZVOUS、JINI等404、406的Web服务接口106,WS TCC 119就可以使用任何种类的基础的服务112发现机制404或执行机制406。因此,例如,用户需要指定的唯一事物是用于STEER-WS API 120的Web服务定义语言(WSDL)文件的统一资源定位器(URL),以与服务层112(例如,发现的服务115、116)交互连接。只要提供Web服务API 106,在表示处理层104中的WS TCC 119处根据TCE-WS API 106的整个基础的发现过程对于用户来说就是透明的。例如,STEER-WS API 120a中的一个可以是利用BLUETOOTH发现模块404来寻找并执行基于BLUETOOTH的服务112。另一STEER-WS API120n可以利用UPnP发现模块404。
在图1A中,PIPE-WS TCS 118b是用于发布并管理语义对象实例的WS TCS 118的另一示例。PIPE-WS API 122将任务计算管理功能性124抽象成独立模块并把它们暴露为可通过任何WS TCC 119访问的标准Web服务接口106,如“白洞”119b-1、“服务管理器”119b-2、“真实世界对象语义化器”119b-3,以及“数据库语义化器”119b-4。更具体地,PIPE-WS API 122针对PIPE-WS TCC 118b提供Web服务接口106,以管理服务112,如发布操作系统或方法对象、装置服务等。
图5A-5B是根据本发明实施例的PIPE-WS API 122的示例定义的列表。PIPE-WS API 122使得能够容易创建任务计算服务112。例如,如图5A所示,通过调用具有参数Web、数据、针对OWL对象的设置的“插入”Web服务122中的一个,PIPE-WS TCS 118可以根据具有指定特性的指定的OWL对象创建服务112。针对在串中的Web服务,通过调用具有参数的、数据、针对OWL对象的设置的“插入”Web服务122中的一个,该调用的一个可以使Web服务可用为具有指定特性的任务计算服务112。通过调用“移去”Web服务122,其可以立即使任务计算服务112不可用。
交叉环境发现和执行:
根据所述实施例,随着Web服务接口106的支持,任务计算中间件服务器处理层108a通过Web服务访问其它任务计算中间件服务器处理层108n模块可以合并用于交叉环境发现和执行机制的“管理的球体”的新的概念。在此,用于交叉环境发现和执行的TCE-WS API 106的集(例如,STEER-WS PAI 120和PIPE-WS API 122的子集)被称为“管理(SoM)-WS API的球体”123。因此,SoM-WS API 123被用于管理(提供)远程服务112。在此,“交叉环境”通常指考虑到这样的计算机系统网络特征,即,作为不同或其它网络环境(例如,私有网络、虚拟私有网络、子网、企业内部互联网等)的多个子网110a-n基于已知技术相互通信,并且各计算机网络环境可能包括功能110的计算机网络服务或源(即,功能源实现层114和服务层112),其作为任务计算环境100的一部分应当可发现且可执行。
根据所述实施例的一方面,下列STEER-WS API 120(图2)被用作SoM-WS API 123。
checkExecutionStatus
executeService
filterServicebyProperties
findAllServices
getServiceDescription
queryByRDQL
根据所述实施例,为了实现“球体”,SoM-WS API 123n中间件服务器处理程序108n在另一远程计算机系统110n上执行。中间件服务器处理程序108a实例可以经由TCE-WS API 106n实例(即,远程“球体”API 123n)或实现远程API以合并运行在不同网络、不同平台以及/或不同技术(例如,BLUEBOOTH)下的服务112的任何事物内部地访问其它“球体”中间件服务器处理层108n实例,发现服务112并执行服务112,作为任务126。
因此,通过诸如提供针对交叉环境服务112发现、发布、执行以及管理的一致视图的SoM-WS API 123的远程API的集合来实现“球体”。“球体”的概念被延伸至“过滤的球体”。“过滤的球体”是一对交叉环境服务112发现SoM WS API 123和服务112过滤器。WS TCC 119在其把一链接增加至具有(或没有)友好的“球体”名称的远程球体API 123时施用过滤器,并称其为“过滤的球体”。一般,过滤的SoM-WS API 123提供任选串作为友好的“球体”名称,并且需求针对服务112发现SoM-WSAPI 123的URL和需求根据RDF数据查询语言(RDQL)的(局部的)查询(例如,串),该URL是根据WSDL的,该查询是针对RDF的查询语言RDF(或可以用作过滤器的任何其它查询语言)的。查询是基于服务112中的SSD116中的服务112特性的。
例如:
(“My services at Company-1”,“http://www.company-
1.com/steerws/service.asmx?wsdl”,“owner eq‘Bob Smith)
(“Company-1 Conf Room Services”,“http://www.company-
1.com/steerws/service.asmx?wsdl”,“location eq‘Conference Room)
在前述两个实施例中,“owner eq‘Bob Smith’”和“location eq‘Conference Room’”都是作为服务112过滤器的RDQL查询的示例。在第一种情况中,根据其中服务112特性“owner”等于“Bob Smith”(或被“Bob Smith”拥有)的这些服务112过滤“My services at Company-1”。具体地,查询是根据服务参数的值。在这种情况下,查询确定“Bob Smith”是否等于服务特性“owner”的值。当STEER-WS TCC 119a使用过滤器寻找来自STEER-WS API 120的服务112时,仅与过滤器匹配的服务112在友好的服务名称限定的类别下示出。只要STEER-WS API 120可以理解过滤器,该过滤器就不必是完整的RDQL查询。因此,当过滤服务112的概念被应用为“球体”时,“过滤的球体”或“虚拟球体”可以被实现为仅在远程计算机系统110中提供的过滤的服务112。换句话说,在服务112发现中指定查询,实现用户的“虚拟球体”或“子球体”。
因此,根据所述实施例,单一“球体”可以提供多个“过滤的球体”。只要过滤器不同,WS TCC 119用户就独立地察觉针对不同“过滤的球体”找到的服务112的集合。过滤机制不仅可应用于在远程球体123API上的服务112发现机制,而且可应用于局部遍布式(例如,UPnP)服务发现机制。
图6是根据本发明实施例的基于回叫的交叉环境服务目录的流程图。在图3A中讨论的方法是基于轮询的针对服务115、116(112)发现的解决方案。为了实现交叉环境任务计算,在此,参照图6描述交叉环境服务112发现和执行的另一方法。根据图6,基于回叫的针对交叉环境服务目录包括:首先,在STEER-WS API 120中增加/提供调用“通知(串消息)”120的新的Web服务接口。在操作600,为了在另一计算机环境110内发现服务112,经由诸如STEER-WS API 120a的TCE WS API 106a,WS TCC 119(A)经由“通知”STEER-WS 120a将其自身登记至在该其它计算机环境110n中的另一远程TCE WS API 106n(在此称为SoM WSAPI 123n(B))。如上所述,其在远程或其它计算机环境110n中执行的SoM WS API 123n实现“球体”。在操作602,当B后发现新的服务112(或服务112移去的那一些)时,使用A的“通知”Web服务接口106a,以允许A知道该改变。在操作602,任一消息都包括新近发现的服务112或A的识别,在操作604,可以使用“findAllServiceIds”Web服务120,以检索最近的信息。基于回叫的解决方案的益处是:(1)高效,因为A不必一次又一次地轮询B;和(2)支持即时发现。而且,在基于轮询的解决方案中,如果B具有任何改变,则A不能找到B直到下一轮询为止,而在基于回叫的解决方案中,A几乎立即找到B。然而,基于回叫的解决方案可能具有这样的缺点,即,如果A处于防火墙后,则因为A的Web服务106a从B不可访问,所以致使基于回叫的解决方案不能工作。因此,基于轮询的解决方案具有当已经实现了防火墙时在交叉计算机环境110中工作的益处。而且,基于轮询的解决方案具有需求单向连接的益处。
在图3B中,执行样本源代码可以被用于交叉环境任务126执行。为了使过程针对用户透明化,当语法分析交叉环境服务115的语义服务描述(SSD)116时,SSD116的基础部分可以针对要点重写至其它交叉环境110的TCE Web服务API(TCE-WS API)106,或者另选地,实现TCE-WS API 106的其它交叉环境终端可以重写SSD116(即,重写OWL-S),以按执行通过指定Web服务106的方式通过其TCE-WS API106提供SSD116。
图7是根据本发明实施例的交叉环境服务目录和执行的网络图。在图7中,各WS TCC 118(例如,STEER-WS TCC 1-4)在其中存在功能112的服务或源的子网络110内都具有它自己的发现范围。典型地,在本发明中,服务112发现范围受限于在服务112发现中使用的基础技术。例如,如果UPnP被用于发现察觉的服务112,则UPnP不能找到不在或在同一子网络110之外的服务112。
因此,在此,基于STEER-WS API 120和PIPE-WS API 122技术,来描述交叉环境服务112发现、发布、执行以及管理。如图7所示,诸如STEER-WS TCC 119a的多WS TCC 119在不同网络环境中运行/执行,在它自己的范围110a内,STEER-WS TCC 119a可以找到服务112的集合。接着,通过利用STEER-WS TCC 119a服务120,STEER-WS TCC 119a可以与其它STEER-WS TCC 119n的Web服务实例120通信/交互连接,并且获得它们的服务112发现结果。
在图7中,作为示例,存在被称为STEER客户端1到4的四个STEER-WS TCC 119a1-n。每个都具有它自己的发现范围110a(其被描绘为一片云)。各STEER-WS TCC 119a都具有Web服务API 120。为了发现其范围110n之外的服务115、116(112),调用每个其它WS TCC 119a1-n的Web服务120(例如,调用STEER-WS TCC 119a2的Web服务120)。例如,在图7中,STEER客户端3调用STEER客户端1的“fingAllServiceIds”Web服务120(图2),以检索由STEER1发现的所有服务。一旦检索到服务id列表,STEER客户端3就使用“fingAllServiceProperty”Web服务120(图2),以检索服务115的语义服务描述116,并将它们登记在它自己的引擎中。在登记期间,创建新的服务112识别。该识别指示服务112是远程服务112(远程服务识别符),并且该识别被从那里最初地发现。现在,STEER客户端3可以使用服务115、116(112),好像它们处在它自己的发现范围110a中。
为了调用远程服务112,STEER-WS TCC 119也使用其它STEER-WSTCC 119的Web服务接口120。在上述图7的示例中,STEER客户端3将对服务115的输入(如果存在输入)进行编码,并且向STEER客户端1发送请求。结果,STEER客户端3将接收有关该请求的基准识别符。接下来,STEER客户端3将利用该基准识别符轮询STEER客户端1有关执行状态。存在四种可能性:
1、如果执行完成,则将返回(完成)消息。接着,STEER客户端可以使用另一Web服务接口120,以利用提供的基准id检索输出。
2、如果执行失败,则将返回(错误)消息。
3、如果执行仍在进行,则没有消息返回。接着,STEER3等一会儿接着再次轮询。
4、如果服务115、116具有服务控制用户接口(UI),并且需要来自用户的更多输入,则将返回服务控制UI的URL。接着,STEER客户端3将向用户示出该URL。而且,STEER客户端3将等一会儿接着再次轮询。
根据所述实施例的一方面,交叉环境服务发现和执行可以被开发为分层结构或按任何其它设置开发。例如,在图7中,STEER客户端2使用Web服务接口120,以发现并执行STEER客户端4的服务115、116(112)。当STEER客户端3与STEER客户端2通信时,其不仅获得由STEER客户端最初发现的服务112,而且还获得来自STEER客户端4的服务112。STEER客户端3不知道它们之间的差异。它简单地认为,服务112全部来自STEER客户端2。为了调用服务112,它将向STEER客户端2Web服务接口120发送请求。一旦STEER客户端2接收到该请求,它就检查它自己的中间件处理引擎108并且找出实际上来自STEER客户端4的服务112。接着,STEER客户端2将向STEER客户端4传递该请求。一旦通过STEER客户端3轮询STEER客户端2,STEER客户端2就轮询STEER客户端4,并且向STEER客户端3发送它获得的任何内容。
在图7中,任务计算系统118-1-n(TCS1-4,在STEER-WS TCS118a1-n的情况下)的各实例可以典型地发现(并执行)运行在任务计算中间件108正运行的同一机器或系统110上的那些服务(即,针对那些装置的局部),通常在因特网或装置上的可用服务和在同一子网中的服务。考虑这样一种情况,即,拜访鲍勃的艾丽丝想要在鲍勃的TV上示出从鲍勃家到卡罗尔的位置的地图。在这种情况下,卡罗尔的联系信息在艾丽丝的PIM中可用,通过艾丽丝的TCS118-1(在艾丽丝家)可访问,然而,显示服务处在Bob的房间9TCS118-n中。这种情况被称为延伸任务126的范围或延伸任务计算100的范围,使得在另一任务计算环境中可以发现并执行服务112。另外,与每个分别的TCS118相关联的服务可能在防火墙后运行,这使事件进一步变复杂了。中间件层108的Web服务接口在工程解决方案中是工具化的,以延伸任务计算100系统的范围。
参照图7,对被称为管理或SoM的球体的更详细的阐释进行描述。在图7中,四个TCS118、110节点,每个都具有它自己的被描绘为云的发现范围,并且其中间件层108包括由D、C、E、M表示的四个可编程模块或单元(发现404、中心402、执行406以及管理124)。被视为相对于计算环境110在远程的中间件层108涉及SoM API 123,以实现“球体”。如果一个节点118想要发现其范围之外的服务,则必须首先知道服务112驻留在哪一个TCS,和该其它节点118暴露的Web服务106(123)的WSDL。例如,可以在线或通过在TCS118人工操作员之间的电子邮件交换来这个信息;另一选项将要运行其中TCS118的人类拥有者可以发布它们的TCS的目录。
接着,按与针对远程TCS118的客户端局部将调用它们的相同的方式,可以调用发现Web,以便获得在所述节点的服务和在远程节点TCS118中的各服务112的SSD116的列表。例如,TCS3调用TCS1的Web服务106,以检索通过TCS1发现的所有服务,并接着将它们登记在它自己的发现模块404中。通过TCS3处理这些服务正像通过TCS3直接地发现的其它服务,但是,TCS3的发现模块把一标记增加至它内部的这些服务的呈现,以指示其中最初发现的服务。在最初的发现之后,TCS3可以轮询TCS1以检查TCS1服务的列表的改变。
还通过Web服务API 106支持执行。来自TCS3的用户可以创建新的具有来自TCS1和TCS3的服务的任务并执行它。由TCS3最初发现的服务不需要任何具体处理。然而,因为TCS1中的服务可能在防火墙后并且TCS3不能直接地调用它们,所以它们可能需求额外操作。在这种情况下,TCS3在执行中获得来自TCS1的帮助。首先,TCS3将通过Web服务API 106向TCS1发送有关具体服务的执行请求和内容(输入参数,等),并且获得基准id作为响应。在TCS1执行服务时段,TCS3将使用所述基准id,以轮询TCS1有关状态。最后,在TCS1中的执行完成之后,返回更新的内容(输出,等)作为最后轮询结果。针对这种设计理论基础是,在所述轮询期间,TCS1可以返回某事(如,当前执行状态,或关于执行的额外信息,等)并且通过轮询,对于TCS3来说,更容易监视状态。
一旦向外部用户暴露TCS118、110节点,任何一个就可以发现并执行其服务(它们毕竟是Web服务)。如下面进一步更详细地讨论的,安全技术将在我们的Web服务API中增加用户识别机制,和/或在Web服务安全标准之上建立。
管理的球体延伸超过仅两个TCS118。在图7中,TCS2使用Web服务接口106,以发现并执行TCS4的服务。当TCS3与TCS2通信时,它不仅接收由TCS2最初发现的服务,而且同样接收来自TCS4的服务。为了调用来自TCS4的服务,TCS3向TCS2发送请求。一旦TCS2接收该请求,它就检查它自己的引擎并且依据检查确定实际上来自TCS4的服务,它将向TCS4中继该请求。一旦通过TCS3轮询TCS2,TCS2就轮询TCS4,并且向TCS3发送响应。
服务112发现被称为通过服务112的SSD116寻找服务112的过程,作为涉及用户的背景。如上所述,指定服务实现115和SSD116的分离,通过TCS118将发现缩减成服务功能115的SSD的获取和处理。服务发现的实现依靠一个或更多发现机制;包括中间件处理层108的TCS118可以采用多基础的服务发现机制,并且服务可能通过多发现机制发现。用户、或服务(或它们的提供者)可以设置针对特定服务的发现而采用的发现机制。针对服务改变发现机制,可能影响可以发现服务的人。尽管服务发现机制针对发现范围是正交的,但是一些发现机制相比其它更适于具体发现范围(参见表1)。接下来,将描述各发现范围。
发现范围 | 发现机制示例 |
1、空 | N/A |
2、私有 | 基于文件系统的发现 |
3、按子网分组 | 基于多播的发现 |
4、按兴趣分组 | 公用目录、发布/预定(公司、共同体) |
5、公共 | 开放语义服务目录 |
表1
1、在空的发现范围中的空服务是任何一个都不能发现的那些。空不是完全概念上的范围;构成不可用的任何服务(即使对于其拥有者)都可以假定这个范围。例如,用户因保密考虑而不想服务提供通过其它乃至通过她自己发现的她的联系信息,因为烦恼的是,总是发现她不想使用的服务,所以可以选择针对这个服务的空范围。随后,当她想要使用她的联系用于在信息站上显示从她所处的机场到她家的路线时,她可以将该服务移向私有发现范围。
2、在私有发现范围中的私有服务是仅通过它们的拥有者发现的,并且典型地驻留在用户自己的运行TCS118的计算装置上。例如,其允许用户选择并暴露在她的装置上的文件的诸如“我的文件”112的局部资源处理服务,假定(默认情况下)这个发现范围。这里,TCS118使用组合有利用套接字的通知的基于文件系统的发现机制,来实现这种发现范围。
3、按子网分组发现范围是最接近地涉及遍布式环境,因为其分组的ad-hoc和自主性。用户的同一子网(如公司的企业内部互联网的一部分或家庭网络)上要发生的服务将被发现,使得能够实现非常局部化的发现机制。例如,UPnP可以用作发现机制,以实现这种范围。具体地,UPnP的发现机制被用于寻找在子网上的UPnP装置(其中不都是使能任务计算的服务)并且针对各UPnP装置,TCS118调用一个具体的UPnP动作(getDescriptionURL)以确定UPnP装置是否表示使能任务计算的装置112,并且如果是,则TCS118进行到从UPnP装置下载SSD116。诸如JINI的其它发现机制也可以按与UPnP相同的方式使用,以实现这种发现范围。
4、按兴趣分组发现范围指按任何任意的人群发现的、或许按相似兴趣或组员(如公司的雇员组或高尔夫俱乐部成员组)划分的服务。这种发现机制可以通过组合Web服务与回叫和轮询机制来提供。
5、在这种发现范围种的公共服务可以由任何一个发现。针对这种范围的良好的发现机制是开放语义服务目录;示例包括具有与公共可用服务的SSD116链接的Web页或者针对像通用描述、发现以及集成(UDDI)(语义服务搜索引擎版本)一样的语义Web服务的搜索引擎。另选地,用户可以通过互发电子邮件来共享SSD116、或通过对等式网络来共享它们。
根据所述实施例的一方面,还可以为服务112的交叉环境管理提供交叉环境PIPE-WS TCS 118b,由此,提供语义描述的服务控制机制(SDSCM)119b的交叉环境应用客户端,以管理任务126/服务112。例如,对于与交叉环境“白洞”任务计算客户端119b-1的情况来说,白洞119b-1存储不必在与白洞119b-1相同的机器上运行的PIPE-WS API 122n的WSDL URL。一旦对象被拖放到白洞119b-1,就向除了或连同在同一装置上的一个的其它PIPE-WS API 122发送公共请求(利用在图5A中示出的“插入”Web服务122中的一个)。这样,服务对象115的语义实例可以在其它网络110中创建并发布,由此“交叉环境地”。根据所述实施例的一方面,另选地,白洞119b-1允许用户选择使用PIPE-WS API 122a-n(下面进一步更详细地描述)。举例来说,如“白洞”119b-1的SDSCM119b任务计算客户端使用在计算机环境110a中的PIPE-WS122a,只要可以针对远程环境110n中的PIPE-WS122n进行Web服务调用122n,就可以发布远程环境110n中的服务112。
用于发布利用PIPE-WS API 122的服务的用户接口工具的白洞119b-1可以延伸以包括多PIPE-WS API 122,以处理在两个或更多交叉环境110n中发布的服务122。白洞119b-1可以提供启动对话框或选项设置对话框,用于用户设置下列白洞119b-1参数:
PIPE-WS API 122功能参数:
1、名称(任选)
2、目标PIPE-WS API 122的URL
3、代理服务器URL(用于Web服务调用和控制UI)(任选)
4、针对在Web服务调用中的对象的使用的选项
白洞119b-1GUI设置参数:
1、显示GUI选项
2、GUI的颜色
3、用于GUI的图标图像
4、分组的或独立的GUI
单个白洞119b-1GUI可以通过示出针对用户的对话框来容许多PIPE-WS API 122a-n,以针对用于发布为服务112的该PIPE-WS API 122来选择落入白洞119b-1的语义对象。或者提供多个白洞119b-1的实例,每个都具有针对各远程PIPE-WS API 122a-n的不同颜色或图像,对于用户来说,以使容易区分并记住哪个图标对应于哪个PIPE-WS API 122。更具体地,白洞119b-1用户接口选项容许在提供的或可用的“球体”之中的可视和/或可听(作为可能的情况)的差别。
关于交叉环境110服务112管理,通过增加用于服务112管理的新的Web服务接口122来延伸PIPE-WS API 122。因此,使用PIPE-WS PAI122的新的Web服务任务计算客户端(WS TCC)应用客户端119作为SDSCM119b,创建调用的“服务管理器”119b-2。服务管理器119b-2的一个主要功能是使用PIPE-WS API 122以管理在多个计算机系统环境110中的服务112。在一未限制示例中,服务管理器119b-2的管理动作包括:改变服务115、116(112)名称和描述、改变服务112期满时间、改变服务112发现范围、改变服务112的“球体”、改变服务112调用限制等。具体地,服务管理器119b-2可以用于实现如下列的交叉环境服务112管理。各PIPE-WS API 122都具有选项以确定远程用户是否可以使用其以管理其服务112。如果该选项被设置成真值,则远程用户可以在该用户的服务管理器119b-2中增加PIPE-WS API 122。根据服务管理器119b-2工具,只要PIPE-WS API 122可访问,用户就可以检查有关通过远程PIPE-WS API 122管理的服务的所有细节,并且基本上远程地进行所有管理动作。
表示处理层104用户接口:
因为WS TCC 119的表示处理层104可以根据任务计算中间件处理层108的模块的实现空闲,所以STEER-WS API 120和PIPE-WS API 122的实现使可以提供针对TCC119的大量的各种任务计算100用户接口。在此描述了WS TCC 119的用户接口104示例,用于:(1)无线电装置用户接口,(2)位置(地点)获知图标(例如,气球(balloon))计算机显示画面图形用户接口;(3)语音命令用户接口,(4)在用户接口中的多输出/输出,(5)软中断-WS TCC 119a-5。任务计算100系统环境可以提供前述用户接口104的任何组合。
(1)WS TCC 119的移动(无线电)电话用户接口:
图8是根据本发明实施例的用于管理服务112的移动电话显示画面用户接口图像的图。更具体地,图8是用于管理任务计算的核心功能性(如服务112发现、组成、执行、保存、创建,以及有关操作的其它服务112管理)的移动电话显示画面用户接口的图。如所论,“服务”在此指功能110的可用计算机系统(如连网的、未连网的,或两者)服务或源(即,“服务”112在此指根据计算机装置、计算机应用/软件、电子装置以及计算机(或机器,或两者)可读内容的全域的功能性的计算的实施例)。移动电话用户接口的用户导航可以是根据已知输入单元/装置(例如,用于语音命令/控制的麦克风、键盘/扩充键盘、点击装置(例如,鼠标器、指示器、输入笔)、触摸屏等)和输出单元/装置(例如、计算机显示屏、扬声器、打印机等)的。
根据所述实施例,移动电话用户可以在任何使能实现Web的移动或无线电通信电话800中经历任务计算。提供被称为移动电话STEER-WSTCC 119a-2的任务计算移动电话STEER Web服务任务计算客户端,以管理在移动电话上的任务126。典型地,根据本发明,移动电话STEER-WSTCC 119a-2是用于移动电话的Web WS客户端119,其可以采用在移动电话上安装并执行的任何计算机编程语言(如Java2平台、微编辑器(J2ME)、用于无线的二进制运行时间环境(BREW)、可以在移动电话上安装的任何其它语言以使采用该语言写入的应用可以在移动电话上执行、或其任何组合)实现。Web客户端119a-2可以再移动电话上执行,并且可以根据它们可以处理的超文本标记语言(HTML)的种类广泛地改变。更具体地,Web客户端119a-2可以经由任何Web和/或解释置标语言文件以显示信息的无线应用协议(Wap)浏览器软件实现。根据所述实施例的另一方面,移动电话STEER-WS TCC 119a-2可以是定制客户端应用。移动电话STEER-WS TCC 119a-2的表示处理层104可以类似于针对任务计算或“主机化的STEER”的基于Web的用户接口来实现,该任务计算或“主机化的STEER”还被称为“TCC II”,并且在本申请的受让人富士通株式会社拥有的由Ryusuke Masuoka、Yannis Labrou、Zhexuan Song于2003年12月12日在美国专利商标局提交的题为“任务计算”的相关共同转让未审美国专利应用No.10/733328(Attorney DocketNo.1634.1007)中,对其进行了描述,其全部内容通过引用被并入于此。
然而,根据所述实施例,移动电话STEER-WS TCC 119a-2依靠与中间件服务器处理层108交互连接的WS API 106,并且使针对管理任务126的移动电话STEER-WS TCC 119a-2的外观和感受适于配合移动电话900的具体需求(如更小的屏幕尺寸)。图9例示了利用任务计算移动电话的用户体验的示例,其中,用户可以请求发现的服务112的列表(采用多页)、创建/组成任务126并执行任务126。所有操作都发生在移动电话900的相对地小的显示区中。
在移动电话800上执行任务计算时,用于Web访问的网络连接可以是IR、BLUETOOTH、WLAN(用于使能实现WLAN的移动电话)或移动网络(GSM、CDMA等)。因为通过高/应用级通信协议(如(不限于)具有采用HTML形式或基于其它置标语言的格式的可显示数据的超文本传输协议(HTTP))继续用于任务计算所需的所有通信,所以网络的选择不影响在移动电话800上的移动电话STEER-WS TCC 119a-2的操作。
接下来,描述移动电话800UI。在操作802,当用户在移动电话800将移动电话浏览器软件定向至计算环境110(通过输入用于该计算环境110的URL)时,用户看见在该计算环境110中可用的服务112的列表。该列表可以采用可卷动页或者采用需要用户选择“下一页”链接以便到达它们的多页来呈现。在操作804,如果用户选择服务112,则在操作906,该选择变成被称为当前服务112组成(例如,在图8的示例中通过用户选择News.com)的服务112组成的要素(即,任务生成)。在操作808,在选择服务112之后,用户被定向至包含可以按组成有选择的服务112(例如,打开、打印、保存、存储收藏、局部地观看)呈现的仅那些服务112的列表的页。在操作808中的显示的列表,如此前所述,可以呈现在单一卷动页中或呈现在多页中。在操作808,在具有服务112的列表的页的顶部,按它们在有效的服务112组成中呈现的顺序显示了前述选择的服务(例如,News.com)。在操作808中,显示是当前服务112组成;它还可以作为标题交叉卷动显示。用户每次选择服务112(例如,操作810、812、814),显示页被更新成显示当前服务112组成和可以在当前服务112组成中呈现的服务112的列表,直到没有可以在当前组成中使用的额外的服务存在为止,按该观点,在操作816,用户具有执行服务112组成的选项。更具体地,操作802到814是操作以经由移动(无线电)装置组成任务126。在图8的示例中,在操作814,不存在可以在任务126的当前组成中使用的更多额外的服务112,然而,如果额外的服务112可用,则将类似于操作804到814列出额外的服务112。根据所述实施例的一方面,即使组成是未完成的,但该组成一成为可执行的,用户就可以执行该组成。在操作816,显示任务126的执行状态。在操作820,显示任务126的执行完成。
(2)位置获知图标(例如,气球)用户接口(UI):
图9是根据本发明实施例的计算机显示画面位置获知气球图形用户接口的图像。具体地,图9是被称为STEER-WS-SIS TCC 119a-3的STEER-WS TCC 119a的示例GUI。计算机显示图形用户接口中的STEER-WS-SIS TCC 119a-3显示区域(如(不限于)用户位于其中的周围区域)的空间图像,并且在用户区域中,用户区域的显示图形被覆盖有发现的服务112的可选图形显示呈现。
在图9中,在位置/地点902内或在位置/地点902处的可用/发现的服务112被表示为在位置/地点902(例如,在图9中,办公楼层地图是其中在办公室内的不同区域可发现服务112的位置/地点902)中的对应的区域处的图标904a-n(根据所述实施例,如气球图标904)。为了用3D坐标显示(潜在地)大量的服务112,并且实现直观的用户计算机显示接口,提供下列机制:
1、利用相同计算机显示画面可视组件(即,显示图标)、相同类型的可视组件但具有不同风格(颜色、尺寸、字体等)、或针对各服务112的不同可视组件(视情况而定)表示服务112。在图9中,使用可变尺寸和颜色的被称为“气球”的可视组件。
2、具有位置的服务112被置于显示地图中的所述位置处。没有位置的服务112按列表或一些其它组织的方式906置于地图外部。
3、如果它们交叠或彼此靠近,则随机化气球位置。
4、通常保持气球小,而在操作或光标在该气球上或靠近该气球时显示扩大的气球908。
5、根据气球的阴影912表示物理高度(Z坐标)。在位置中物理上更高的服务112,获得更大和/或更模糊的阴影912。其它显示技术可以用于在一位置处加重服务112的Z坐标。
6、通过把多个气球中的一个拖放到另外一个上,表示两个服务(在它们之间潜在地具有变换服务)组合的执行。
7、当选择气球时,仅组成的气球(服务)112保持它们的颜色或被高亮。其它分别转向指示未组成的服务112的另一颜色,如灰色或保持相同。
8、使用插针扎破气球的隐喻,来呈现服务112的去除。
9、当选择插针时,仅可删除的气球(服务)112保持它们的颜色或高亮。其它分别转向表示非删除的另一颜色,如灰色或保持相同。
10、基于用户语言选择(如上所述有关通信语言选择),改变用于显示服务112名称和描述的语言。
11、如果用户想要创建比在这个接口中可以创建的组成更复杂的组成,则提供按钮以显示(更综合的)STEER-WS-SIS TCC 119a-3接口。
因此,图9是位置获知图标(例如,气球)用户接口的示例。尽管图9的示例使用显示的“气球”作为可用服务112呈现,但是,本发明不限于这种设置,而是可以在显示的用户区域图像上使用任何显示呈现覆盖。这可以通过事件驱动面向对象编程技术来实现。当STEER-WS-SISTCC 119a-3开始时,其初始化图形、内部数据,并且针对适当事件设置事件处理代码。基本上,那些成对的事件和事件处理代码对应于上述列表中的项目。在事件处理代码中,适当的Web服务调用到TCE-WS API106中,如构成STEER-WS API 120和PIPE-WS API 122。接着,事件循环将看管针对发现(图3A)的事件和另一循环,以在服务112可用性中存在改变时更新气球和内部数据。在图9中,“更新”按钮909的可选图形显示更新显示信息。根据所述实施例的一方面,在根据TCC119的用户接口中的任何一个中的显示信息的更新可以是自动的。“语言”按钮910的可选图形显示根据选择的诸如日语的口语(下面在多语言任务计算系统下进一步更详细地描述)提供显示的信息。
(3)语音用户接口(UI):
图10是根据本发明实施例的任务计算语音识别的状态流程图。语音可以是针对普适的计算环境的极重要的用户接口,在该普适的计算环境中,用户的客户端装置通常受限于尺寸,致使诸如键盘或扩展键盘的常规输入技术可能不使用或不便利,和/或其中用户可以经受得住提供较少的可视关注,如在操作传播媒介时。根据所述实施例,创建语音STEER-WS TCC 119a-4,其中使用语音的WS任务计算客户端(WS TCC)119发出指示以随任务计算系统100(具体地,例如,直接地作为任务126的执行服务112组成)一起工作。在任务计算100中,因为服务112组成被设计成兼容根据自然语言定义的服务112的名称的句子结构,使得其组成创建可以由语音识别器系统处理的自然语句;即,服务112的组成可以被映射到语音识别状态语法图中,如图10所示。
更具体地,语音STEER-WS TCC 119a-4是例如按C#编程语言开发的语音驱动用户接口。用户可以通过向语音STEER-WS TCC 119a-4讲话来请求任务;实现的语音STEER-WS TCC 119a-4使用MICROSOFT’SAGENT AND SPEECH SDK和针对TCE-WS API 106的调用。各服务112被映射成短语(正常地,服务112名称)并且一旦语音STEER-WS TCC119a-4“听到句子”(识别语音句子),它就尝试将该句子匹配到服务112的序列中。接着,基于服务112序列建立并执行任务126。语音接口的一个难题是人类语音的识别率;定义提高该速率到可接受程度的语法集是非常重要的。另一难题是怎样识别并过滤语义上无效的命令(任务),如即使“通过办公打印机打印”和“我的视频”都是有效的服务122名称,也应当忽略“通过办公打印机打印我的视频”这样的命令。根据所述实施例,语音STEER-WS TCC 119a-4根据“语法图”(图10)匹配完整的句子与有效的(可执行的)任务126,其通过中间件处理层108的中心模块402生成,并且通过STEER-WS API 120制成可用的。
图10是语法图的一部分,其是根据本发明实施例的语音任务计算的状态流程图。在图10中,一圆环表示作为语法状态的语义地描述的功能特征的服务112(例如,服务“打开”112消耗“文件”数据对象类型,与输入“文件”类型一样的示例是针对在计算机中描述文件的语义类型,包括链接到该文件的URL)。用“S”标记开始状态1002,而用双重圆环指示结束状态1004。服务112用连接语法状态的边沿(线)表示。例如用于商业办公环境的完整的语法图可能具有多于五十个服务112,超过一百条边沿以及超过几十个状态。从开始状态1002到结束状态1004的路径表示语义地有效的任务126;在示例商业办公环境中,完整的语法图可能具有多于一百条的这种路径,即,用户可以执行的多于1000个任务126。基于下列规则生成“语法图”:
1、如果服务112没有输出,则服务112是跟随开始状态的一边沿,如图11中的“打开”、“通过投影仪观看”,以及“增加至Outlook”。
2、如果服务112没有输入,则服务112是指向结束状态的一边沿,如图11中的“我的文件”和“我的联系人”。
3、如果可以组成两个服务112A和B,则必须是这样一种状态,即,具有作为输入的A和作为输出的B,如图10中的“…的商业地址”、“…的地图”,以及“…的天气信息”。
“语法图”的一种重要的属性是其具有与语音识别引擎的语法规则集的一对一映射。更具体地,如果和仅仅如果可以在该图中建立从开始状态到结束状态的路径,则句子是语义上有意义的命令(即,有效的任务126),使得该句子是边沿的名字的并置(即,服务112的有效的组成)。例如,“打开我的文件”或“通过投影仪观看我的联系人的商业地址的天气信息”是有效的命令或任务126。通过本体和服务的语义描述独自确定(即,基于SSD116确定)“语法图”。SSD116的使用有效地提升识别率,并且将完全避免语义上无效的命令或无效的任务126。语音UI可以希望用于任务计算100的智能传输系统(ITS)应用。
图11是根据本发明实施例的为生成用于任务计算的语音识别图(“语法图”)的示例伪代码。首先,在操作1102,发现或找到没有输出的服务112。在操作1104,递归地找到可以组成的所有其它服务112。具体地,在操作1106,针对各找到的服务112,如果服务112没有输入,则该服务112被指定为链接至结束状态的边沿。
语音STEER-WS TCC 119a-4的示例词汇可以是根据下列的:
1、服务112的名称
2、针对语音STEER-WS TCC 119a-4的任务计算命令(如,“示出服务”或“离开任务计算”)
3、客户端操作命令(如“上移”、“点击XXX”,其中XXX是按钮的名称)
4、Web页命令(如“点击4”,用于点击Web页中的第四控制)
5、字母和数字(如用于用户输入信息的“a”,或“9”)
对于具有小的词汇集来说,存在两种优点。第一,非常容易训练语音识别系统。第二,因为存在很少要彼此辨别的单词和句子,所以识别率高。
因为任务计算服务112组成可以具有合乎语法的结构,所以根据语音识别系统的识别率甚至可以如下列进一步加以改进。一可以具有增加的识别率用于立刻识别整个句子,而不是一次一个识别句子中的各成分。这基本上是因为即使在句子的一个部分中识别失败,如果识别其它部分也仍旧可以识别该句子(即,必须考虑联合概率)。例如,采用口头短语,“打开我的文件”。假定针对“打开”的识别率是a,而针对“我的文件”的识别率是b。如果分别地完成针对“打开”和“我的文件”的识别率,则识别率可能永不超过a,因为必须首先识别“打开”。但是,如果系统试图识别整个句子,“打开我的文件”,则识别率将是1-(1-a)(1-b)=a+b-ab=a+b(1-a)。当a小于1而b是正数时,识别率总是大于a。因此,当句子更长时可以获得更高的语音识别率。
因此,根据所述实施例的一方面,语音识别STEER-WS TCC 119a-4针对在服务路径之间的“一”和“该”增加额外的路径。这样,用户可以具有更多自然句子。例如:
计算机,通过投影仪观看(该)任务计算项目的(该)管理器的(该)
Web页
因为仍旧可以识别甚至不明确的命令句子,所以还可以省略在命令句子中的一个或更多翻译器服务112。例如,在图10中,由于随着“…天气信息“和“…的地图”的服务112而从“文件”节点到“联系人”节点具有直接连接,从而,用户可以省略在命令句子中的服务112的“…的商业地址”,如
计算机,通过投影仪观看我的联系人的(该)天气信息
而且,语音STEER-WS TCC 119a-4仍旧可以识别该句子。在这种情况下,如果在用户想要什么中存在不明确性,则语音STEER-WS TCC119a-4可以通过询问用户澄清。在这种情况下,当随着“…家庭地址”的服务112而从“地址”节点到“联系人”节点存在另一链接并且用户询问上述句子时,语音STEER-WS TCC 119a-4可以询问用户澄清问题,以组成有效的任务126:
你想要(1)“通过投影仪观看我的联系人的商业地址的天气信息”或
(2)“通过投影仪观看我的联系人的家庭地址的天气信息?”
通过逆转连接的方向并且置换识别图中的开始节点和结束节点,语音STEER-WS TCC 119a-4可以用名词+动词的顺序识别其它语言,如日语。
(4)用户接口中的多输入/输出:
一些服务具有多输入,如,采取传真号和文件作为输入的“传真”服务112。根据本发明的一方面,STEER-WS TCC 119在任务执行期间按递归方式询问缺失的来自用户的输入。例如,在任务计算100系统的计算机与用户之间的下列会话中:
用户:计算机,“传真”“Ryusuke Masuoka”的(该)“传真号”计算机:用于“传真”服务的“文件”是什么?用户:使用“我的文件”计算机:将利用“Ryusuke Masuoka”的“传真号”执行“传真”“我的文件”,作为用于“传真”服务的“文件”计算机:开始执行 |
用户:计算机,“传真”“我的文件”计算机:用于“传真”服务的“传真号”是什么?用户:使用“Zhexuan Song”的“传真号”计算机:开始执行 |
在第一会话中,用户想要调用包括三个服务:“传真”、“…的传真号”,以及“Ryusuke Masuoka”的任务126(联系人提供服务112)。通过检查任务126(即,服务112组成),计算机确定服务“传真”采用两种输入:一个是“传真号”而另一个是“文件”。因为按顺序提供“传真号”,所以计算机此刻询问用户其它输入的“文件”。接着,用户告诉计算机以获得从服务112输入的“我的文件”。随着指定全部输入,计算机接着开始任务126的执行。
第二会话是有关当未初始地指定“传真号”时的情况的。在这种情况下,用户被进一步询问以提供给出“传真号”的服务112组成/
在上述两个示例中,由于用于语音STEER-WS TCC 119a-4的接口的语音的特征,对于用户来说,造成通常不容易或不自然提供从一个句子中开始的全部输入。由此,当检测到这种情况时,执行引擎406控制语音STEER-WS TCC 119a-4计算机,以提示用户在执行之前和/或期间输入更多。这可以被认为是将复杂的服务112组成图空间地映射到暂时横跨在用户与计算机之间的用户交互中。
处理多输出大致相同。例如,假定存在被称为“生物信息学演讲”和制作“联系人”数据对象的服务,作为其演讲者、针对其调度的“调度”数据对象以及作为其呈现材料的“文件”数据对象。利用语音STEER-WS TCC 119a-4:
用户:计算机,“增加(调度)到PIM”(该)“生物信息学演讲”计算机:你想要做什么,来处置根据“生物信息学演讲”的“联系人”?用户:使用“告诉我”计算机:你想要做什么,来处置根据“生物信息学演讲”的“文件”?用户:使用“通过投影仪观看”计算机:开始执行 |
在上述任务126组成情况中,经由用户提示进一步定义任务126的计算机利用三个分开的服务:“增加(调度)到PIM”、“告诉我”,以及“通过投影仪观看”服务,将调度增加到PIM中、读出演讲者联系人,以及通过投影仪示出呈现材料。
对于具有多于两个输入/输出的服务来说,或者当存在多于一个的具有多输入/输出的服务112时,过程类似。这种技术可以递归地使用直到任务126意义明确为止。另选地,计算机可以执行在服务112组成中的任何可执行的部分,并且询问用户在不需要进一步指定服务112组成的情况下有没有其它可执行部分。
尽管在语音识别的语境下描述了前述多输入/输出描述。但是,本发明不限于这种设置,而是,这些技术还可应用于利用图形和其它用户接口的其它任务计算客户端119。例如,任务计算客户端可以弹出询问缺失服务112和/或针对服务112的额外功能特征的窗口,如(不限于)服务112的数据对象输入和输出。例如,参见图1B示出任务126构成GUI窗格144,其中显示为处理多输入/输出而作为任务126的组成的服务112的定向的图形。
(5)软中断TCC119a-5
软中断TCC119a-5是极轻的处理权重任务计算客户端(TCC)119,其执行服务或服务组成的OWL-S文件(任务126)。在使软中断TCC执行OWL-S文件的其它方式中包括根据命令行,优选方式是通过双击(或一些其它恰当的OS操作)要执行的OWL-S文件来调用软中断TCC。当软中断TCC读取OWL-S文件时,它将通过利用STEER-WS API 120来执行服务或服务组成。软中断TCC可能在它自己的窗口内显示服务功能115的控制UI。具体地,参照图2,软中断TCC119a-5调用“执行OWLS”API120,以执行OWL-S描述。
高级语义服务描述(高级SSD):
为支持服务112的通用性,如下在语义服务描述116中提供的高级特征有:(1)针对服务112输入的不严格的类型,(2)服务112的位置,(3)多语言服务112,以及(4)服务112管理功能:
(1)不严格的类型:
一些服务112接受除了小的子集之外的输入的宽范围。例如,除了音频文件和视频文件之外,服务“通过投影仪观看”112接受文件作为功能特征,其中,音频文件和视频文件都是文件的子集。如果“通过投影仪观看”的输入被表示为(文件-音频文件-视频文件),则可能遭遇另一新的问题,即,当诸如“我的文件”的另一服务112生成文件作为输出,接口引擎不知道哪里有可以组成的两种服务112。
该问题的原因是当前服务描述语言的描述的能力受限并且组成条件可能太严格。我们的针对该问题的解决方案是通过支持针对服务112的两种类型的输入来延伸当前服务描述语言。一个输入被称为参数类型Tp,其是输入的精确域,而另一个(第二)输入被称为不严格的类型Tr,其是输入也可能落入其中的更大的域。例如,如果如下列所述,则输入类型Ti是可接受的
1、Ti是不严格的类型T的子集
2、在Ti与参数类型Tp之间的交集不是空值。
例如,在服务112“通过投影仪观看”中,Tr是“文件”,而Tp是(“文件”-“音频文件”-“视频文件”)。输入类型“文件”是可接受的。“Web页”、“文件”的子类同样是可接受的。但是,拒绝“音频文件”。同样拒绝“事物”,“文件”的超类。
使用不严格的类型的“通过投影仪观看”服务115的一段语义服务描述116的示例是:
<process:Input rdf:ID″URLInput″><process:parameterType rdf:resource=″http://www.company-1.com/tce/ontologies/2004/03/object.owl#ViewableFile"/><company-1:relaxedType rdf:resource=″http://ww.company-1.com/tce/ontologies/2004/03/object.owl#File″/></process:Input> |
在STEER接口引擎中,支持不严格的类型。这种不严格的类型可以如下列实现:当STEER组成服务时,它检查是否存在不严格的类型。如果不存在不严格的类型参数,则它使用通常的算法以匹配服务和执行。如果找到针对服务A、服务B、先前的服务A的不严格的类型,则仅在B的输出是A的输入的不严格的类型的子集并且B的输出与A的输入的参数类型具有非空交叠时,服务B与服务A相匹配。当STEER执行组成时,在调用A与B的输出之前,STEER检查B的输出,以了解它是否真正地落入A的输入的参数类型中。
(2)位置
在语义服务描述116中包括位置信息是另一新的特征。位置信息可以包括采用2D-、3D-欧几里德坐标系的坐标,或任何其它坐标系,参考坐标系,以及/或位置的文本描述。涉及位置的“通过投影仪观看”的一段语义服务描述116是:
<company-1:locatedAt><Company-1:Location><profile:sParaemeter><geoF:Point rdf:ID=″ViewServiceposition″><rdfs:label>On the table of Conference Room,Company-1<rdfs:label> |
<geoF:xyzCoordinates>15,98,98</geoF:xyzCoordinates><geoC:hasCoordinateSystem rdf:resource=″http://www.company-1.com/tce/ontologies/2004/03/geo.owl#MyCoordinatesystem″/><geoF:Point></profile:sParameter></Company-1:Location></company-1:locatedAt> |
依据服务112发现,TCC119经由TCE-WS API 106(例如,findServices和getServiceProperty120(图2)提取语义服务描述116之外的位置信息,并且支持针对用户的服务112的基于空间的过滤或呈现(一示例是上述位置获知(气球UI))。
当服务112改变它们的位置时,服务112可以使用UPnP(和其它发现机制),以利用新的位置更新它们的服务112描述。如果位置改变没有如此经常发生,则这是一可行的选项。如果位置改变是经常的,则更有效的是,使用接下来讨论的服务112管理功能。
(3)语义服务描述(SSD)116-通信语言(多语言):
所述任务计算100实施例支持任何通信语言,如(不限于)英语口语、汉语(简体)、汉语(繁体)、希腊语、北印度语、日语、韩语、西班牙语以及土耳其语,由此提供语言独立任务计算100。该语言独立过程包括两个操作:1、诸如服务112名称/描述的服务112(115、116)简档,和2、用户接口。
1、关于诸如服务112名称/描述的服务112简档,在语义服务描述116中,xml:lang属性被用于按不同语言描述服务名称和服务描述。例如,下面是写入XML内的描述用英语称为“open”和汉语称为“打开”的服务名称的语义服务描述116文件的示例部分:
<serviceName xml:lang=“en”>Open</serviceName>
<serviceName xml:lang=“zh”>打开</serviceName>
在描述服务中同样可以应用相同的方法。还参见图16D-F。
2、关于用户接口,图12A是显示根据本发明实施例采用任何语言的诸如STEER-WS TCC 119a的WS TCC 119用户接口的流程图。根据所述实施例的一方面,作为一示例,在不同STEER-WS TCC 119a用户接口中,表1200被保持用于使用的所有计算机显示用户接口串。对于表1200中的各串来说,保持采用不同语言的多版本。采用XML描述串表1200,并且在开始STEER-WS TCC 119a时加载该串表1200。例如,STEER-WSTCC 119a计算机用户接口利用基于用户选择的语言显示串。
在图12A中,在操作1202,经由计算机用户接口(例如,计算机显示画面图形用户接口(GUI)、语音接口等)提示用户选择语言。在操作1204,如果不支持确定的该语言,则选择英语作为默认语言。在操作1206,确定语言代码和句子顺序(例如,从计算机可读介质中检索,通过软件确定等)。在操作1208,从表1200中检索采用选择的语言的针对计算机用户接口所需的串,其在这个示例中是针对GUI的串。在这个示例中,在操作1210,根据SSD116确定采用选择的语言的服务名称和服务描述,并且在计算机显示画面用户接口中显示确定的采用选择的语言和按正确的语义顺序的服务名称、服务描述以及检索的GUI串。由此,在操作1210,同时,STEER-WS TCC 118a显示采用选择的语言的服务名称、服务描述,以及计算机用户接口串。在操作1210,如果服务115的语义服务描述116不支持选择的语言,则将装入并显示默认的语言(例如,英语)。而且,针对多语言考虑句子顺序。如在此所述,用户可以指定服务115的服务名称和服务描述116的哪种语言版本,以利用STEER-WS TCC 119a检索。当然,在任务计算100中的上述语言独立操作可以在诸如(不限于)SDSCM119b的任何WS TCC 119a-n中提供。
关于句子顺序,例如,采用英语,句子顺序是VO(动词+宾语),但是,采用日语,句子顺序是OV(宾语+动词)。这种语言顺序信息还被保持STEER-WS TCC 119a中/由STEER-WS TCC 119a维持(或者,在操作1202,它可以被制成,以使用户在STEER-WS TCC 119a的启动时间设置它)。当显示组成时,在操作1206,STEER-WS TCC 119a将基于选择的语言、选择的句子顺序,或两者来挑选正确的句子顺序。
图12B是根据本发明实施例的在表示层采用日语作为计算机实现的任务接口的计算机显示图形用户接口的图像。具体地,图12B是针对根据图12A的流程和对应于图1B中的GUI采用日语生成的STEER-WS-XTTCC 119a-1的GUI的图像。类似地,在图9中,通过选择“语言”按钮910的可选图形显示,可以利用采用选择的通信语言的文本显示STEER-WS SIS 119a-3的GUI。
(4)服务管理功能:
服务管理功能(SMF)可以被视为针对服务112的元服务(meta-services)(参见图16G-J)。SMF存在是因为服务112,但服务112存在不一定是因为SMF。如果服务112消失,则服务112的SMF应当同样消失。各SMF具有写入OWL-S的其自己的描述。因此,为了链接SMF和服务112,服务112的SSD116包括SMF描述,或者具有针对SMF描述的链结。在后一情况下,SMF描述可以驻留在任何地方。类似地,SMF的实现可以在任何地方展开,并且不需要在与其自己的服务一样的装置上停留。
SMF的示例包括:
1、破坏,一旦调用,就破坏服务。
2、…的处理的对象,一旦调用,根据返回的服务返回当前处理的语义对象。
3、…的控制UI,一旦调用,返回针对返回服务控制UI的链接。
4、是活跃的,用于测试服务是否仍旧活跃的功能。
5、…的位置,一旦调用,返回服务的当前位置。这是一种有效的方式,用于随着改变位置而提供其位置的服务。
6、其它,例如,测试服务在指定时段、或有关网格服务的功能等是否可用。
从用户接口的角度,对待SMF就像其它服务112一样。这在语音STEER-WS TCC 119a-4中尤其有用。例如,下列SMF可以作为任务126执行:
1、破坏输入板-PC.ppt
2、通过投影仪观看的处理的对象
3、局部地观看播放(音频)的控制UI
4、是活跃的库(Alive Bank)?
5、播放(音频)的位置
而且,用户可以组成具有其它服务112的SMF的结果,如:
1、“通过Kiosk观看”“通过投影仪观看的处理的对象”
2、“局部地观看”“通过投影仪观看的控制UI”
3、“通过Kiosk观看”“播放(音频)的位置的L-注释”
服务访问控制:
图13是根据本发明实施例的服务112访问控制的流程。在普适的计算环境中,存在一些针对全部用户或不应当针对全部用户开放的服务112。重要的是,采用某种针对服务112的访问控制机制。根据所述实施例,将描述包括(1)共享策略和授权和(2)根据通过SSD116的任务计算客户端119的服务鉴别的针对服务112的访问控制。
根据所述实施例,REI策略语言被用于建立针对服务112的访问策略。REI是策略规范语言。REI的概念是已知的。在图13中,REI策略引擎1300基于策略(访问/安全规则)、事实(用户和/或客户端侧提供的信息),以及本体来确定谁具有哪种访问权。REI引擎1300提供有Web服务接口106,以使它可以被集中或分布。REI引擎1300和/或针对REI引擎1300的Web服务接口106可以用这种框架代替。具有远程过程调用接口乃至针对服务112内的策略引擎的软件模块的任何策略引擎都是足够的。
在图13中,假定用户拜访办公室的工作流程包括六个操作。
1、在操作1302,当新的用户在前台登记时,向该用户发出证书。该证书包括有关用户的诸如名字、状态和位置的信息,以及有关证书的诸如其生成时间、期满时间以及保证其完整性的数字签名的元数据。
2、在操作1304,用户登入用于办公的网络,用户的任务计算客户端(客户端)119,例如,STEER-WS TCC 119a发现在环境110中当前可用的所有服务112,和/或在发现时连接的“球体”。服务112中的一些是公共的,并且它们中的一些已经访问控制。服务112的信息按它们的语义服务描述116描述。用户的任务计算客户端119可以通过复审其语义服务描述116来检查服务112的状态。语义服务描述116告诉/通知任务计算客户端119它是否需要访问控制和如果需要访问控制则需要哪种证书。
3、在操作1306,当用户想要通过她的任务计算客户端119调用服务112时,客户端119将检查服务112的状态。如果服务是公共的,则客户端将作为通常来调用该公共的服务。如果服务是控制访问的,则客户端119将向服务112发送额外的参数,即,用户证书和为执行服务112的通常TCE Web服务106参数。根据所述实施例的另一方面,客户端119可以经由诸如通过SSL的HTTP等的安全的连接向服务112发送额外的参数。
4、在操作1308,服务112接收请求,首先,它将通过检查证书中的数字签名来验证证书的完整性。如果该数字签名无效,则立即拒绝该请求。接下来,检查证书的期满时间。如果时间期满,则也拒绝该请求。当证书被证实有效时,证书中的事实将被提取并插入到REI引擎1300中。接着,服务112将基于服务112策略询问REI引擎1300用户是否经授权调用服务112。
5、在操作1310,REI引擎1300将基于本体、服务的策略以及有关用户的事实来回答该查询。
6、在操作1312,基于来自1300的答复,服务112将履行所述请求,或者拒绝所述请求。
REI引擎1300不必在相对于服务112不同的位置处集中或运行。例如,可以安装一个单一REI引擎,用于整个共同的校园,或者各装置(如打印机)可以具有它自己的RET引擎。事实上,在普适的环境中,非公用的是,具有所有服务可以访问的一REI引擎。在我们的设计中,只要REI引擎的实例具有有关策略、事实,以及本体的足够信息,就给出答复。
(1)共享的策略和授权
前述主要讨论有关服务,通过客户端提供的事实(可能通过其发出证书的证书授权发出的数字签名来证明)、其策略,以及本体来确定客户端119的访问权。
有时一个人想要服务不仅使用它自己的私有策略,而且使用由确定的社团共享的策略。这在一个人没有访问服务自身的情况下想要实现从一个用户到另一用户的权利的授权时是特别有用的。(在遍布式环境中,具有限制的计算资源的装置通常主机化服务。对于支持真实的安全访问那些策略并且管理那些策略的这种装置来说,它可能存在太多的负担)。
针对共享策略的多站点可能对应于组织的层次、地理结构等。如果服务属于在建筑物Y中主机化的部门X,则该服务可能想要使用针对X和Y的共享的策略站点。
针对某时,最初地,对于为访问控制计算要使用的共享策略来说,负责服务的个人针对服务设置一个或更多要检查的站点。访问这些共享策略站点可能被保护(例如,通过SSL的HTTP)。当服务需要计算访问控制时,它将检查针对可能更新而指定的站点。如果不存在针对任何站点的更新,则服务基于高速缓冲的策略和由客户端、其策略、本体以及其它信息提供的事实接着计算访问控制。如果存在针对任何站点的任何更新,则下载更新的策略,更新高速缓冲器,并且计算将随最近共享策略完成。
关于权利的授权,通过共享策略站点可以完成它。一个人可以通过到共享策略站点的可能安全的连接,通过更新共享策略和他/她向确定的人(或组等)授权权利的声明,授权一权利(他/她具有权利,以授权例如通过确定的打印机打印)。下次,当服务计算访问控制时,它使用更新的共享策略,并且具有授权的权利的人开始使用该服务。
为了取消声明,初始的用户更新共享策略,以增加一撤消声明,其说明他/她取消针对该人的权利。或者初始的用户可以根据共享策略取消初始的授权声明。
(2)通过SSD116的任务计算客户端119的服务鉴别:
不总是服务想要鉴别客户端的情况。有时,客户端想要预先鉴别服务或确定客户端是否具有权利执行服务。如果可以预先确定,则客户端可以预告用户不可访问,或确定隐藏从用户不可访问的服务。
在任务计算中,由客户端通过服务的语义服务描述(SSD)识别服务。SSD告诉服务其内部处理是什么,怎样可以执行等。由此,通过SSD自身或通过其它机制分开地给出数字签名,通过客户端可以鉴别服务。数字签名需要由客户端也信任的权限中的一个签名。数字签名可以是针对SSD的部分或针对整个SSD。可能仅针对SSD的重要部分而局部数字地签名。
为了使客户端确定它是否具有权利执行服务,SSD可以被用作针对服务的策略信息的向量。SSD可以包括在其中的策略自身或针对它使用的策略(例如,URL的)的指示器。策略可以包括在共享策略和授权部分中的上述共享策略。当客户端在SSD中获得策略信息时,客户端根据SSD中的信息和有关客户端的事实、本体,以及其它信息,可以确定它是否具有权利执行服务。
服务可能不需要暴露在其SSD中的其全部策略,而是当即使局部信息可以减小用户无益地执行服务的机会时也仍旧有益于客户端。
任务计算客户端119的针对访问控制的存储器装置开发:
首先,用户必须在利用任务计算客户端之前安装软件。针对任务计算的用户采用来说,它耗时并且有时受碍。针对该问题的解决方案是,生成便携式或可移去介质或装置(如CD或USB闪速存储器),其不仅包括任务计算客户端119,而且同样包括诸如Java运行时间的执行环境,使得用户可以利用任务计算开始,而不需要任何安装。
便携式或移动TCC119还可以组合有发行的证书,该证书是为用户便利访问控制的服务的关键。当用户在前台登记时,生成证书并且可以将该证书增加到便携式介质或装置中。接着她可以在她自己的机器上使用该介质或装置,以基于针对她的签名的授权访问服务。该证书可以被设置为只读,以使不能进行进一步的改变。对于用户来说,使在介质或装置上的任务计算客户端根据该介质或装置中的固定路径进行读取证书时更难于误用该证书。注意,存储器装置不是唯一选择,也可以使用诸如CD、DVD的其它介质。
图14A-14G是根据本发明实施例的在一位置中的服务访问控制的示范使用情况的图。具体地,图14A-14G中是在作为示例位置的商业事务所中的服务访问控制的图。
1、在图14A中,鲍勃,大学-1硕士生,作为公司-1或站点-1的实习生,拜访公司-1。
2、在图14A中,温迪,公司-1的办公管理人员招呼鲍勃。
3、在图14A中,温迪为鲍勃创建具有证书的STEER-TCC-记忆棒1400,STEER-TCC-记忆棒1400例如可以是为运行STEER-TCC119、包括Java运行时间的任务计算客户端119而具有全部必需的事物的USB存储器装置。
4、在图14A中,利用软件,证书创建器,温迪在STEER-TCC-记忆棒中的证书文件夹中创建并保存证书。该证书包括他的姓名、简历、状态(实习生)以及证书的元数据(其创建日期、期满日期/时间、授权信息等),和利用公司-1的私有密钥签名的数字签名。图14B是根据本发明实施例的服务访问控制的架构图。
5、在图14A中,鲍勃在他的桌上型计算机1402上运行从STEER-TCC记忆棒1400中取出的STEER TCC 119。图14B是根据本发明实施例的一般服务访问控制系统/流程架构。在图14B中,TCC119发现服务112(即,发现在服务112的OWL-S中的SSD116)。该SSD描述在签名的证书中的服务112的(局部)策略和包括其属性的值的事实。TCC119可以基于该证书确定服务112是否是可信任的,并且确定服务112是否是用户想要通过与用户的交互潜在地使用的。例如由公司-1签名的服务的证书,用户确定其以在到公司-1办公室签到时受信任,并且用户可以确定服务112是否是可信任的。接着,可以检查用户和TCC是否满足服务的策略以使可以使用它。如果用户确定并定向TCC119以调用服务,则TCC将发送包括属性值的事实和Web服务调用的其它参数。服务112检查证书的数字签名、期满时间,以及其它,以确定发送的事实有效。接着,利用例如在公司-1策略站点1404处的一个的事实、其私有策略、本体,以及共享策略,服务112确定用户是否具有权利调用服务112并由此响应。
6、在图14C和14D中,鲍勃找到“安全打印”服务112与按键图标。在“安全打印”OWL-S文件中,指示需求公司-1证书(可以指示需求多证书中的一个)。当STEER-TCC119找到需求声明时,示出针对服务112的按键图标(在这种情况下,“安全打印”)。
7、在图14C和14D中,鲍勃尝试使用“安全打印”,但是,由于“实习生”不允许使用服务112,因而他失败了。基于“安全打印”OWL-S文件,STEER TCC 119在其“证书”文件夹中寻找公司-1的证书。当找到证书时,在Web服务调用106中发送证书和服务调用参数。“安全打印”检查证书的数字签名,以确信它是有效的。(以使证书中的事实不被修改)。首先,服务确信证书没有期满。如果没有期满,则使用证书中的这些事实,以确定调用者是否具有权限,根据REI策略引擎使用该服务,通过Web服务API调用该服务。如果来自策略引擎的结果是确定,则“安全打印”打印该文件。如果没有,则送回说明已经拒绝该请求的消息。(在这种情况下,作为实习生的鲍勃没有权利打印,因而他被拒绝)。
8、鲍勃请求约翰(公司-1的高级雇员)授权打印权利。
9、约翰使用软件、授权管理器1406,由约翰安全地向公司-1策略站点声明授权给鲍勃权利。在公司-1策略站点存在一声明,高级雇员具有向实习生授权权利的权利。
10、鲍勃再次尝试使用“安全打印”,接着,这次,他成功了。
11、此后,约翰利用授权管理器1406取消该授权(从公司-1策略站点去除先前创建的授权声明)。
图14E是图14A-14E中的情况的图形流程图。图14F是示范根据本发明实施例的在一位置处的服务访问控制的使用的在图14A-14E中情况的流程图。在图14中的标号对应于上述情况中的项目1-11。
因此,基于下列要素确定访问控制:(1)任务计算客户端119提供事实(由数字签名鉴别);(2)服务112私有策略;(3)共享策略;以及(4)本体。服务112可以根据其设置使用多共享策略。每次混合这些列表的服务访问控制要素以确定访问控制。图14G是根据本发明实施例的服务访问控制要素的矩阵1410。更具体地,图14G是参照图14A-14F的上述服务112访问控制。在图14G中,在操作1420,客户端119基于客户端策略和服务公共属性(C-P、S-Apub)计算服务(组成)的可接受性。服务属性是有关服务的事实,如(不限于)为使用服务的成本、任何认证信息、操作信息等。即使操作1420没有使用服务的私有属性,如果没有提供它们,则操作1420也增加服务针对客户端可能是可接受的可能性。在操作1422,客户端基于客户端属性和服务的公共策略(C-P、S-Apub)利用服务(组成)计算针对客户端的服务的可行性。此外,即使客户端不可能访问服务的私有策略,操作1422也增加服务可能是可行的可能性。在操作1424,服务112基于客户端属性的全部服务可接受性因素和服务的公共和私有策略(C-A、S-Ppub、S-Ppri以及/或(作为可以是服务S-Apri的情况)),计算客户端的可接受性(或鉴别客户端)。图14H是在上述情况中使用的事实、针对安全打印服务112的私有策略,以及针对公司-1的共享策略的示例列表1412。更具体地,在任务计算100系统中,服务访问控制处理424(图4)可以处理访问如上所述的服务112。
接下来,将描述四个其它语义化器客户端应用,作为提供要在任务计算100中使用的语义对象的SDSCM119b,即,(1)真实世界对象语义化器客户端119b-3,(2)数据库语义化器客户端119b-4,(3)介质发布器119b-5,以及(4)“白洞”119b-1。
(1)真实世界对象语义化器客户端119b-3:
图15是根据本发明实施例的真实世界对象语义化器客户端119b-3的架构的功能框图。真实世界对象语义化器客户端119b-3提供来自真实世界对象(如,书)的语义对象。可以生成根据一个或更多真实世界对象的一个或更多语义对象,或根据一个或更多真实世界对象的许多语义对象。如上所述,连接白洞119b-1和PIPE-WS API 122,一旦生成/创建语义对象,就可以使用针对管理工具124的PIPE-WS API 122以生成针对生成的语义对象的SSD116,由此允许语义对象成为针对发现和组成的服务112。伴随潜在地用于真实世界对象语义化器的技术包括(不限于)无源和/或有源射频识别(RFID)标签、条形码、QR码<http://www.qrcode.com>、主要在日本使用的二维码、有或没有限制的词汇和语法的语音识别、可视和/或手势识别,或其任何组合。
在图15中,真实世界对象语义化器客户端119b-3包括的编程的处理有:1、识别处理引擎1502、2、语义化器处理1504,以及3、发布器1506。
1、识别引擎:
识别引擎1502识别标签、代码、语音、视频、手势等。识别过程可以是主动(即,总是进行中的并且识别有关它自己的对象)或被动的(由用户或程序触发)。至于标签和代码,使用恰当的读取器作为识别引擎1502;至于语音/可视/手势,使用对应多媒体输入的识别引擎1502。一些识别引擎通常易出错。然而,针对该目的,通过给定有关数据图案细节的一些约束,可以增进识别率。例如,对于语音识别的情况来说,一个人可以限定使用的词汇或语法。利用识别引擎进行额外的确认过程,当识别率低时,同样益于改进系统的整体识别率。例如,用户可能针对基于语音识别的真实世界对象语义化器客户端119b-3命令下列任务126。
(用户)计算机,给我有关ISBN:0-7356-1918-2的书
(计算机)好的。
在另一任务126会话中,可以如下。
(用户)计算机,给我标题为“INTRODUCING MICROSOFT.NETTHIRD EDITION”的书
(计算机)让我确认一下,是标题为“INTRODUCINGMICROSOFT.NET THIRD EDITION”的书吗?
(用户)是
上述句子的变型通过改变“书”(改变成其它语义对象名称)、“ISBN”(改变成语义对象的特性名称),以及值(具体地改变成诸如ISBN的值或可以另人满意地约束的数)还可以用于其它情况中。
有时,在标签和代码中(或在语音命令中)可能编码(局部/整体)语义对象自身。具体地,具有大存储器的RFID标签和QR标签可以按纯文本或编码格式保持语义对象。另选地,可以具有利用针对可以下载的语义实例的指示器的RFID标签,其SSD116创建并发布。
只要识别引擎1502识别一对象或多个对象,就将信息传递到语义化器1504上。
2、语义化器1504:
根据识别引擎1502传递来的信息,首先,语义化器处理1504尝试找到有关相对应的对象的信息。例如,在RFID的情况下,可能针对具有RFID的对象查阅局部或远程数据库1508。接下来,语义化器处理1504生成语义对象。例如,基于根据识别引擎1502获得的ISBN号,通过查阅局部或远程数据库1508得到“书”语义对象。在图15中,圆点线表示“被动”模式情况,其中,由用户触发真实世界对象的识别。另选地,经由针对外部模块1510的API,通过外部模块510可以调用识别引擎1502和语义化器处理1504,以获得物理对象的语义对象。
语义对象可以作为分开的文件存储在局部文件系统中,并且系统可能通过与信息匹配的文件简单地获得语义对象。例如,语义化器正好挑选与RFID数据的名称相同的文件,并且返回文件中的语义对象。
对整个语义对象被传递到语义化器上的情况来说,什么都不做,但是对于局部语义对象的情况来说,语义化器可能或不能添加有关对象的附加的信息。
当假设语义化器返回单一或固定数量的语义对象并且不能确定它们时,可以询问用户,从可能的语义对象中选择恰当的语义对象或者设置以再次发生识别过程。
最终,语义化器将那些语义对象传递到发布器上,或将它们返回到计划性的API模块。
3、发布器1506:
发布器提供那些语义对象,作为提供服务的语义对象。如果语义化器提供单一语义对象,则它将发布提供服务的单一语义对象。或者在给定多对象时,它将发布提供服务的多语义对象。或者,在某些情况下,单一服务根据多对象让用户从其用户接口选择一个或更多语义对象。或者这些方法的混合。作为发布机制,可以使用PIPE WS API 122。
根据所述实施例的一方面,用户可以触发识别,例如,点击按钮。
或者可以根据来自计划性的API模块的功能调用开始识别。如果该功能调用需要返回识别的语义对象的值,则语义化器将向计划性的API模块返回语义对象。在这种情况下,语义化器可能不向发布器发送语义对象。诸如利用Web服务调用可以远程地实现来自计划性的API模块的功能调用。
(2)数据库语义化器客户端119b-4:
现今,大部分格式化数据都存储在关系数据库中。数据库语义化器使来自数据库的可用数据作为(如在RDF中,或更具体地在OWL中)语义对象。更具体地,数据库语义化器119b-4处理半结构化文本数据。典型地,根据本发明,数据库语义化器包括两个主要模块:1、用户接口,用于在数据库模式与本体之间创建映射;和2、语义服务处理,用于基于上述给定映射提供来自数据库的语义对象。
任选地,数据库语义化器基于在处理1中创建的映射,可以在单一或多文件中根据来数据库的全部数据或部分数据创建语义对象。
用于创建映射的用户接口可以图形化。更具体地,可以在GUI窗口中的一侧上示出数据库模式而在另一GUI窗口中的另一侧上示出本体,用户计划将数据库映射到所述本体。用户可以手动地指定在数据库与本体之间的映射。典型地,根据所述实施例,用户挑选在一侧上的本体中的语义对象和在另一侧上的数据库模式中的项目并指定到要映射它们的系统(例如,通过挑选“映射”按钮)。用户重复该过程直到用户指定全部希望的映射。利用如上所述创建的映射指定,语义服务处理映射从数据库取出数据(真实数据),并由此利用映射的值创建语义实例。然而,系统还可以基于在所述模式和本体中的语法线索提供有关可能映射的建议。系统可以当场提供映射一致性的检查。当映射完成时,将保存该映射,例如,作为将来使用的文件。数据库语义化器客户端119b-4可以基于PIPE-WS API 122使用创建的语义对象,以通过创建SSD116来创建服务112,如下所述。
语义服务处理不仅从计划性的API开始,以基于映射生成语义对象,而且从针对用户的用户接口开始,以从一个或更多生成的语义对象中挑选。当执行语义服务时,该语义服务提供针对用户的用户接口,以挑选一个或更多语义对象,接着,该语义服务返回选择的语义对象,作为其返回值。为了效率起见,具体地,当数据库保持大量数据时,语义服务每次都提供用户接口来连接数据库,并且基于映射将数据映射至语义对象。但是,对于数据库语义化器来说,还可以具有基于给定的映射根据数据库创建的语义对象,并且通过那些语义对象提供其功能。
(3)介质发布器客户端119b-5:
如同目录发布服务,介质发布服务允许用户从装置中选择文件(音频、视频,或图像)并且获得相对应的语义实例。然而,服务怎样开始的方式是不同的。当用户把装置(如存储器装置、数字摄像机、CD-ROM、DVD-ROM,或外部硬盘驱动器)插入到计算装置时,开始程序以检查在该装置中是否存在文件(音频文件、视频文件,图像文件等)。如果这样做,则将弹出一对话框,以询问用户是否想要发布它们。如果用户确定这样做,则生成一新的服务。
该服务在用户想要无忧无虑的共享她的文件(音频、视频、图像等)时非常有用。她简单地需要插入装置并且点击OK。接着,针对她设置每件事情。她可以使用为适应她的任务的那些最近发布的组成有其它服务的服务。如果她更喜欢利用一个选项设置,则即使点击OK也可以省略,而且整个服务发布过程可以制成完全自动的。介质发布器客户端119b-5可以使用创建的语义对象,以基于PIPE-WS API 122,通过创建SSD116来创建服务112,如下所述。
(4)“白洞”119b-1
图16A是根据本发明实施例的对象和服务的语义化、服务化以及发布的过程。参照图16A,利用PIPE-WS API 122(管理工具124)的白洞119b-1,支持服务的动态创建(服务发布)和她们的散布(共享)。这个工具被用于语义化、服务化以及发布(信息)对象和服务。白洞客户端119b-1具有针对操作系统或应用对象(如来自OS的文件、PIM应用的联系人等)、采用OWL格式(或者到OWL文件的URL)的语义对象,以及采用OWL-S格式(或者到OWL-S文件的URL)的语义服务描述的便利的拖放接口。
当把某事物拖入(输入)白洞时,该工具首先如下确定该事物的类型,:(a)如果该事物是OWL或OWL-S对象,则白洞正好把它传递至PIPE-WS API 122(接下来讨论)(图16D-F);(b)如果该事物是到OWL或OWL-S文件的URL,则白洞下载该URL的内容并且将该内容传递至PIPE-WS API 122;(c)如果该事物是已知(语义地讲)OS/应用对象(图16G-J)或语义对象(图16K-N),则白洞语义化该对象(参见图16A、图16B,表1550)。语义化是根据OS/应用对象创建语义对象的过程(例如,如在用于创建语义对象的真实世界对象语义化器119b-3和数据库语义化器119b-4中所述)。一TCS118可以支持十种类型的OS/应用对象(如来自OS的文件和URL、来自PIM应用的联系人和计划表等)。白洞根据对象的名称、扩展名,以及内容确定它们的语义类型。一旦确定了类型,就检索针对该类型的OWL模板,并且填充从初始对象提取的值。接着,生成该对象的OWL描述并将它传递到PIPE-WS API 122上。例如,如果用户从PIM应用拖拉一联系人项目,则白洞首先针对该联系人类型加载OWL模板,接着,从该联系人项目中检索姓名、公司、电子邮件、电话等,并将他们填充到该模板中。最后,将完整的OWL对象传递到PIPE-WSAPI 122上。
作为中间件服务器处理层108中的管理工具124的一部分的PIPE-WS API 122,是用于语义化语义对象并且用于发布它们的工具(参见图16C);白洞的可能输出(在OWL中的语义对象或OWL-S中语义服务描述)需要在发布之前服务化。由此,创建服务(与语义描述相关联)112,其在调用时,将返回语义对象自身。具体地,首先,PIPE-WS API 122动态地创建Web服务,该Web服务在调用时返回语义对象作为其输出;接下来,生成针对最近创建的服务的语义服务描述(参见图16,表1555)。在该过程期间,确定并且按高等级(按OWL-S)描述服务的名称、描述、输出类型,以及基础细节。因此,任务计算100系统支持经由任务计算100系统和/或任何OWL对象同样定义的对象。
语义化的结果是语义服务描述,或SSD116,其是用户拖入白洞中的初始的一个,或者是为描述最近创建的Web服务而创建的一个PIPE-WSAPI 122。PIPE-WS API 122可以被用于根据用户选择的发现范围(如上所述)发布SSD116。例如,如果用户想要将它发布为按子网分组服务,则PIPE-WS API 122将利用指向OWL-S文件的getDescriptionURL动作创建UPnP装置。
即使PIPE-WS API 122被描述与白洞客户端119b-1有关,PIPE-WSAPI 122也可以是具有Web服务接口的完全独立的工具,以使可以通过TCS118中的任何其它组件调用它,并且将它用于发布对象或服务。相反,PIPE-WS API 122可以调用其它TCE-WS API 106,如STEER-WS API120。PIPE-WS API 120的一个重要的用途是实现所谓的服务,该语义对象库是语义对象的不变的储存库。一库服务可以由环境中的用户使用,以留下如文件、联系人、计划表等的事物作为在环境中的语义对象提供服务,使得人们(或许以后)可以使用那些服务,以完成任务126。
PIPE-WS API 120还包括管理用户接口,该管理用户接口帮助用户组织用户已经通过PIPE-WS API 120发布的语义对象或服务。该功能包括:
1、切换发现范围:用户可以切换针对通过PIPE-WS API 120发布的服务的发现范围,例如,为了暂时地“保持”服务(空发现范围)。
2、期满时间,用户可以设置针对服务的期间时间,使得服务在期满之后变成不可发现的。
3、调用限制:用户可以设置针对可能的调用的数量的限制,使得服务在调用所述数量之后变成不可发现的。
4、名称/描述:用户可以设置或改变服务的名称和文本描述。
图16D-16N是根据本发明实施例的OWL-S中的SSD116的计算机可解释的源代码的三个示例。具体地,图16D-F是针对由公司-1创建文件-1 1570的SSD116。图16G-J是基于OS/应用对象1572(在这个示例中,根据诸如MS OUTLOOK的地址薄的‘鲍勃·史密斯’的联系人)创建的SSD116。而图16K-N是基于语义对象1574(在这个示例中,“XYZ项目”语义对象)创建的SSD116。
新的服务:
设计并实现了新的服务112,其包括:(1)语义实例串行化服务,(2)信息提供服务,(3)感测器服务,如(不限于)时间、有关天气、温度,以及/或可以感测的任何事情,(4)快照服务,(5)OWL格式器服务,(6)文本格式器服务。
(1)语义实例串行化服务:
这个类别中的服务消耗任何类型的语义实例,串行化它们并且向用户传递该信息。一个示例是“告诉我”服务。它采取语义实例,将它串行化成人类可理解的串,并且读出它。下列是“告诉我”服务的细节。
一旦语义实例到达,首先,根据“告诉我”服务语法分析该语义实例。接着,针对该实例的类、或者该实例的对象特性的任何类,“告诉我”服务将检查其变换脚本储存库,以查看是否存在任何可用串行化变换。该变换脚本可以是但不限于可扩展样式表语言(XSLT)脚本。如果找到这种脚本,则首先将它应用到该实例并且将该实例(或该实例的一部分)变换成串。当该实例包括作为其对象特性的其它实例时,递归地应用这种变换过程。(例如,“联系人”实例可以包括“地址”实例,作为其“hasBusinessAddress”和“hasHomeAddress”对象特性,并且将相对应的脚本应用到该实例。)
例如,假定服务接收下列“地址”实例:
<?xml Version=″1.0″encoding=″UTF-8″?><rdf:RDFxmlns:co=″http://www.company-1.com/tce/ontologies/2004/03/object.owl#″xmlns:rdf=″http://www.w3.org/1999/02/22-rdf-syntax-ns#″xmlns:rdfs=″http://www.w3.org/2000/01/rdf-schema#″><co:Address><rdfs:label>Company-1,City Name</rdfs:label><co:streetAddress>1000 Example Ave</co:streetAddress><co:city>City Name</co:city> |
<co:state>State Name</co:state><co:zipCode>Zip Code Number</co:zipCode><co:country>Country Name</co:country></co:Address></rdf:RDF> |
通过应用脚本,输出:
“城市名(city name),公司-1(company-1)”的“地址(address)”是“国家名(country name),邮政编码号(Zip Code number),州(state),城市名(city name),模范大道1000号(1000 example street)”
接下来,如果发现不是这种脚本,则将变换的结果,或该示例自身发送给一般串行化模块。模块的目的是利用默认逻辑串行化任何语义实例。在上述示例中,如果存在不是针对该地址实例的脚本,则该实例被串行化为:
“城市名,公司-1”,“地址”具有作为“街道地址(streetAddress)”的“模范大道1000号”、作为“城市”的“城市名”、作为“州”的“州名”、作为“邮政编码”的“邮政编码号”,以及作为“国家”的“国家名”
“告诉我”服务的最后步骤是读出串行化的串。“告诉我”服务的串行化模块还可以由许多其它类似服务使用,如用于在滚动条装置中显示串的“显示给我”服务。
“告诉我”服务在与语音STEER组合使用时非常有用。这是具有一个或更多输入而没有输出(语义地)的服务。它读出作为输入接收的语义对象。当语义对象是由针对这个服务的已知类型制成时,它使用针对各已知类型的诸如XSLT脚本的内部机制,以确定怎样读取该对象。如果该对象针对该服务未知,则它首先寻找对象本体,以查看是否存在有关怎样读取它的信息。如果还是没有,则它使用默认方式利用该对象涉及的本体来读出它。
例如,假定该服务接收下列“地址”对象:
<?xml Version=″1.0″encoding=″UTF-8″?><rdf:RDFxmlns:co=″http://www.company-1.com/tce/ontologies/2004/03/object.owl#″xmlns:rdf=″http://www.w3.org/1999/02/22-rdf-syntax-ns#″xmlns:rdfs=″http://www.w3.org/2000/01/rdf-schema#″><co:Address><rdfs:label>Company-1,City Name</rdfs:label><co:streetAddress>1000 Example Ave</co:streetAddress><co:city>City Name</co:city><co:state>State Name</co:state><co:zipCode>Zip Code Number</co:zipCode><co:country>Country Name</co:country></co:Address></rdf:RDF> |
当该服务不知道有关“地址”对象时,它可能读出的这个对象有点像:
“城市名,公司-1”,“地址”具有作为其“街道地址”的“模范大道1000号”、作为其“城市”的“城市名”、作为其“州”的“州名”、作为其“邮
政编码”的“邮政编码号”,以及作为其“国家”的“国家名”
在“地址”对象涉及其的本体中定义针对诸如“街道地址”的特性的标签用“co:streetAddress”。可以通过给定变换功能(如XSLT代码段)把语义对象串行化成串。如果在本体文件内,定义串行化功能,或者“告诉我”服务知道怎样在它自己的知识基础下串行化“地址”对象,则它可以应用该功能并读出这个对象如下列:
“城市名,公司-1”的“地址”是“国家名,邮政编码号,州名,城市名,(streetAddress)1000号”
这个“告诉我”服务接受任何对象作为其输入。它可以具有多个名称,如“告诉”、“是什么”(那些名称可以设置在同一OWL-S文件中或设置在分开的文件中)。对于用户来说,将给出一自然方式,以检验语义对象。例如,如果希望称为“温度”的服务返回当前房间温度,则用户可以询问语音STEER:
计算机,“告诉我”(该)“温度”?
计算机,(该)“温度”“是多少”?
该服务可以具有其它名称并可以被构成为接受特定种类的对象,以使该服务可以与任务计算客户端的自动翻译服务插入机制组合。例如,允许“在哪里”是接受“位置”对象的具有不同名称的“告诉我”服务。假定存在一服务,“指挥者数据”提供指挥者数据的“联系人”信息,该“联系人”信息包括他的位置和“…的位置”服务,该服务从“联系人”中提取“位置”。接着,你可以向语音STEER说:
计算机,“指挥者数据“在哪里”?
接着,将自动插入“…的位置”服务,并且将执行服务组成、“指挥者数据”、“…的位置”、“在哪里”,以及将读出指挥者数据的位置。当然,你可以说:
计算机,“告诉我”(该)“指挥者数据”“…的位置”?
计算机,“指挥者数据”“…的(该)位置”“是什么”?
通过使服务接受特定种类的对象,它还可以被构成使得服务可以与语义服务的服务管理功能组合。例如,允许“在哪里”是“告诉我”服务。假定“通过投影仪观看”服务在其SSD中提供位置信息。接着,你可以询问语音STEER:
计算机,“在哪那里”“通过投影仪观看”?
接着,“…的位置”服务管理功能(下面更详细地讨论服务管理功能的细节)被自动增加在“在哪里”与“通过投影仪观看”之间。
“在哪里”将被执行,并且“通过投影仪观看”的位置将被读出。
当然,你可以说:
计算机,“告诉我”“通过投影仪观看”(该)“…的位置”?
计算机,“通过投影仪观看”(该)“…的位置”“是什么”?
即使在使用其中很有用的语音STEER的语境中解释“告诉我”服务,它也可以与任何任务计算客户端一起使用。
(2)信息提供服务:
信息提供服务采取不输入,而一旦被调用,就创建语义实例作为输出。信息提供服务与实例提供服务之间的差别在于信息提供服务生成的实例随时间不同,而实例提供服务生成的实例始终相同。信息提供服务的一些示例是:温度服务、时间以及日期服务。
采用“温度服务”作为示例,一旦被调用,它就通过感测器检查当前的温度,并且利用最近的值创建语义实例。它在与上述“告诉我”服务组合时是非常有用的:当用户通过基于语音的任务计算客户端命令:“计算机,告诉我会议室的(该)温度”时,她将听到:“该温度是75度”。
(3)感测器服务(如(不限于)时间、有关天气、温度,以及/或可以感测的任何事物)是一种类型的信息提供服务。
诸如时间/温度服务的感测器服务是语义对象提供器服务。一旦被调用,该服务就可以查阅装置、Web服务、Web页,以及/或其它信息源,并且返回当前时间/温度,作为语义对象。
(4)快照服务
快照服务将从诸如数字摄像机、数字视频摄像机、扫描仪等的成像装置捕获静态图像,并且在被调用时返回“图像”语义对象。
(5)OWL格式器服务
OWL格式器服务接受语义对象作为其输入,将它们格式化成人类可理解的方式,并且返回它作为OWL格式器服务的输出。在采用当前技术的多个实现中的一个中,它针对那些对象的描述,利用使用的本体在HTML中按表格式格式化语义对象,并且向那些对象返回HTML自身或URL自身。
(6)文本格式器服务
文本格式器服务接受语义对象作为其输入,将语义对象格式化成多种预定文本格式中的一种,并且将格式化的语义对象作为文本文件,将它们附加至一些文件等。例如,文本格式器服务可以接受“书”语义对象并且将它格式化成BibTeX格式,并且将它附加至用户自己的BibTeX文件。或者通过另一文本格式器可以将诸如“蛋白质”的生物信息学对象格式化成由Blast应用使用的格式。
文本格式器服务可以利用XSLT和其它脚本实现,例如,文本格式器服务可以保持成对的语义对象和相对应的格式化XSLT脚本的表。当它接收语义对象时,文本格式器确定用于按所述表格式哪一个XSLT脚本,并且它弹出针对用户的对话框,以选择把该XSLT脚本保存或附加到哪一个文件。
任务计算客户端119内部服务:
图17是根据本发明实施例的具有内部服务的STEER-WS TCC 119a的计算机显示画面图形用户接口的图像。内部服务是与任务计算客户端119a(STEER TCC、白洞、服务管理器等119)紧密捆绑的服务。由于按指定方式在TCC119内处理内部服务,从而,即使通过任何具体发现机制都没有找到内部服务,也可以制成内部服务,使得内部服务可以呈现在客户端GUI中的任何地方。
一般地,那些内部服务也是通配(提供和/或消耗任何“事物”)的。由此,根据局部和普适的服务112通过任务计算客户端按不同方式提供那些内部服务。即使可能与其它服务112非常不同地处理内部服务,内部服务的语义服务描述表面上也是没有差别的。这允许将内部服务保存成组合的服务并且与其它共享该组成的服务。
组成有内部服务的执行如下列所述。当执行引擎遭遇内部服务时,(因为所有内部服务被描述为具有已知WSDL URL的普通WSDL Web服务,所以执行引擎知道它),该引擎将检查WSDL操作名称并确定它是哪一个内部服务。一旦确定了它,就直接地代替调用WSDL Web服务,该引擎装入一具体模块,以处理该内部服务。
根据所述实施例的一方面,可以在针对内部服务的恒定URL处实现真实Web服务,该真实Web服务用于与内部服务相同的目的。在一些没有实现内部服务机制的一些客户端仍旧可以调用在URL处的服务时的一些情况下,该真实Web服务是有用的。明显地,按我们的方法调用该真实Web服务作为内部服务更加有效。
在此,描述下列实现的内部服务:(1)实例创建服务,(2)实例复制器,(3)截获服务,(4)实例保存服务,以及(5)特性选择服务。实例创建器、实例复制器、截获器,以及实例保存器是四种涉及任务126执行流程控制的内部客户端119服务。它们在处理语义对象时共享一些公共模块。对于用户来说,这些公共模块使得可以动态地保存语义实例作为文件,或发布局部或普适的实例提供服务。(可以制成该文件,以使该文件将把语义实例(或其对象特性)馈给到语义服务组成)。用户还可以针对整个实例或实例的对象特性将来自一文件的语义实例加载到局部存储器中或Web页站点上。可以制成该文件,以使该文件根据语义服务组成执行加载语义实例作为结果。这些公共模块还基于本体执行针对数据的有效性检查(如“完整性”、“时间”等)。
(1)实例创建器
在图17中,示出了用于“实例创建器”1602的可选图形显示。实例创建服务是基于本体生成针对任何语义类型的交互式的接口的服务,并且允许用户从该接口创建所述类型的语义实例。实例创建器在用户想要测试具有输入的服务时的情况下是有用的,但是没有提供输入的所述类型的任何服务。实例创建服务可以在采取输入的任何服务之前被放置。实例创建服务的输出类型在采取输入的任何服务之后与服务的输入类型相同。
(2)实例复制器
复制器服务设置在执行序列中的两个服务之间。在执行流程中的其断点处,实例复制器仅仅复制它的输入到它的输出,并且不做另外的事情。它主要地用于针对复制到多服务的组成来保存具有输入中一些的组成。在没有复制器的情况下,保存的组成需要具有应当精确相同的多输入。具有复制器,保存的组成可以仅具有一个输入。在保存的组成内,作为第一服务的实例复制器接受输入,接着将该输入复制给该组成内的多服务。这种复制器的输入和输出类型与前述装置的输出类型相同。
(3)实例截获器:
截获器服务设置在执行序列中的两个服务之间。一旦被插入,它就在执行流程中的其断点处停止,语法分析并显示前一服务的输出。用户在继续之前具有复审并更新前一服务的输出值的机会。如果她不满意该结果,则她可以选择停止该执行。而且,可以把中间的结果保存成一文件,或者发布为语义实例。截获器服务可以设置在任何两个服务之间。这种截获器的输入和输出类型与前述服务的输出类型相同。
(4)实例保存器:
在图17中,示出了用于“实例保存器”1604的可选图形显示。实例保存内部服务1604分析并保存任何语义实例。在某些情况下,由服务生成的输出不能通过环境内的任何其它服务消耗。在没有实例保存服务的情况下,该结果将丢失。在有实例保存服务的情况下,用户具有额外的选项,来保存该结果,用于在将来使用,或在其中服务可用的另一环境中使用该结果,用于消耗该结果。实例保存服务与前述服务的输出类型相同。
(5)特性选择器:
特性选择器是提取并向下一服务发送输出的一部分的服务。它在服务仅对由另一服务生成的输出的一部分感兴趣的情况下有用。例如,“我的联系人”服务允许用户从她的Outlook中选择联系人项目并生成“联系人”实例。“…的地图”服务接受“地址”实例并显示该地址的地图。因为在“联系人”与“地址”之间不存在超-子-类关系,所以不可以同时链接这两个服务。然而,注意,“联系人”实例具有被称为“hasBusinessAddress”的特性,其具有“地址”类型。特性选择器被用于此,以帮助用户发现这种类型的可能组成。
特性选择器服务可以设置在两个服务之间,在该两个服务中,第二服务的输入是第一服务的输出的特性(或这样递归地)。特性选择器的输入类型与特性选择器之前的服务的输出类型相同,而特性选择器的输出类型与特性选择器之后的服务的输入类型相同。
在此描述了通过将任务计算100环境划分成多个计算机系统实现层来实现任务计算计算机系统,所述多个计算机系统实现层包括表示客户端处理层、远程过程调用应用编程接口(API)、中间件服务器处理层,以及服务层和功能源实现层,该表示客户端处理层经由远程过程调用API交互连接至该中间件服务器处理层,以针对作为计算机系统上的服务的语义描述计算机系统功能源,在表示客户端处理层实时、动态地生成计算机实现的任务接口,该服务层和功能源实现层提供作为计算机系统上的服务的语义描述的计算机系统功能源(该中间件处理层交互连接至该服务层和功能源实现层);并且根据针对在计算机系统上的一个或更多服务在表示层生成的任务接口,实时、动态地组成可执行任务,该可执行任务包括一个或更多服务。计算机服务是基于语义地描述的富应用、富装置以及富服务计算机,在计算机上利用针对服务而生成的接口,实时且动态地组成的可执行任务。根据所述实施例的一方面,在此,用户实际上有效、动态、实时地依靠灵活且统一的用户接口(组合和执行功能)来管理与普适计算环境的交互,或者与普适计算环境交互。
任务计算是这样的方法,即:(a)尝试采用语义Web技术,以使资源的更大的(语义的)Web立即可用于遍布式计算应用,和(b)对于有关资源的性质完全不可知,由于不管怎样发现、访问它们、连接至它们,或者与它们通信,从而,可以使用服务抽象116,以使它们可通过任务计算100系统使用。任务计算依靠作为全部功能性的通用抽象的语义描述服务116;另外,当可组成的任务126可以包括许多服务时,任务计算比装置到服务的互操作性具有更大范围。例如,典型的任务计算100系统任务126可以实时、动态地利用5-6个服务112。
本发明的上述优选实施例是采用软件(如存储在任何已知计算机可读介质上)和/或控制可编程装置/计算装置(例如,可以存储、检索、呈现(例如,显示)以及处理数据的可编程电子装置——诸如(不限于)个人计算机、在客户端-服务器网络架构的情况下的服务器和/或客户端计算机、在分布式网络架构中的连网的计算机、终端装置、个人数字助理、移动装置的任何类型电子可编程计算装置)的可编程计算装置/硬件来实现。
根据详细的说明书应当明白本发明的许多特征和优点,由此,所附权利要求将覆盖落入本发明的真正精神和范围内的本发明的所有这些特征和优点。而且,因为本领域技术人员容易获知许多修改和改变,所以,不希望将本发明限于例示并描述的精确构造和操作,由此,所有合适的修改和等同物都被视为落入本发明的范围内。
Claims (60)
1、一种方法,该方法包括以下步骤:
语义描述步骤,在该语义描述步骤中,把多个计算机系统功能源描述为计算机系统上的服务;
划分步骤,在该划分步骤中,将计算机系统划分成多个可编程计算系统实现层,所述多个计算系统实现层包括:
表示客户端处理层,
远程过程调用应用编程接口(API),
中间件服务器处理层,所述表示客户端处理层经由所述远程过程调用API交互连接至该中间件服务器处理层,以在所述表示客户端处理层实时、动态地生成针对被语义描述为计算机系统上的服务的计算机系统功能源的计算机实现任务接口,以及
服务层和功能源实现层,该服务层和功能源实现层提供被语义描述为所述计算机系统上的服务的计算机系统功能源,所述中间件服务器层交互连接至该服务层和功能源实现层;以及
可执行任务组成步骤,在该可执行任务组成步骤中,根据在所述表示客户端处理层生成的针对所述计算机系统上的一个或更多个服务的任务接口,实时、动态地组成可执行任务,该可执行任务包括一个或更多个服务。
2、根据权利要求1所述的方法,其中,所述服务层包括来自所述功能源实现层的服务功能以及语义服务描述,该语义服务描述对应地把所述功能源实现层的所述服务功能语义描述为所述计算机系统上的服务。
3、根据权利要求1所述的方法,其中,所述远程过程调用API是根据Web服务的。
4、根据权利要求1所述的方法,
其中,所述计算机系统包括采用网络通信的多个计算机系统,
其中,所述远程过程调用API是根据Web服务的,所述Web服务包括远程Web服务API,并且所述方法还包括以下步骤:
登记步骤,在该登记步骤中,通过第一计算机系统经由网络将该第一计算机系统的远程Web服务API登记在第二计算机系统中;
发现步骤,在该发现步骤中,通过所述第二计算机系统发现所述第二计算机系统上的服务;以及
通知步骤,在该通知步骤中,通过所述第二计算机系统经由所登记的远程Web服务API,向所述第一计算机系统通知在所述第二计算机系统中发现的服务,由此提供交叉计算机系统服务发现。
5、根据权利要求4所述的方法,所述方法还包括以下步骤:根据在所登记的远程Web服务API中指定的过滤器,对在所述第二计算机系统中的服务发现进行过滤。
6、根据权利要求5所述的方法,其中,所述过滤器是根据资源描述框架数据查询语言(RDQL)的查询。
7、根据权利要求1所述的方法,所述方法还包括以下步骤:
服务名称定义步骤,在该服务名称定义步骤中,根据在所述计算机功能源的所述语义描述中的自然语言定义服务名称,由此支持所述可执行任务的组成,所述可执行任务包括根据自然语句的一个或更多个服务。
8、根据权利要求1所述的方法,所述方法还包括以下步骤:
根据本体定义步骤,在该根据本体定义步骤中,根据本体将所述计算机功能源的所述语义描述的功能特征定义为服务,
其中,所述可执行任务是由一个或更多个根据各服务的功能特征而可兼容的服务组成的。
9、根据权利要求1所述的方法,其中,所述中间件服务器处理层包括以下经由所述远程过程调用API而可访问以支持在所述表示客户端处理层实时、动态地生成所述计算机实现任务接口的编程单元:服务发现单元、服务组成单元、服务执行单元、服务管理单元,或其任何组合。
10、根据权利要求9所述的方法,其中,所述计算机系统包括采用网络通信的多个计算机系统,并且所述方法还包括以下步骤:
第一编程单元安装步骤,在该第一编程单元安装步骤中,在第一计算机系统中安装所述中间件服务器处理层的第一编程单元,作为远程中间件服务器处理层;
第一远程过程调用API发布步骤,在该第一远程过程调用API发布步骤中,发布所述第一计算机系统中的所述第一编程单元的第一远程过程调用API;
调用步骤,在该调用步骤中,通过第二计算机系统中的第二编程单元,经由所发布的第一远程过程调用API,调用所述第一计算机系统中的所述第一编程单元,以管理所述第一计算机系统中的服务。
11、根据权利要求10所述的方法,其中,管理所述第一计算机系统中的所述服务包括以下步骤:经由针对服务的所述计算机系统功能源的语义描述,对所述第一计算机系统中的服务进行发现、执行、操纵,或进行这些操作的任何组合。
12、根据权利要求10所述的方法,其中,所述调用步骤包括以下步骤:
根据文件系统、多播、社区目录、开放语义服务目录或其任何组合的一个或更多个发现机制,经由针对所述服务的所述计算机系统功能源的语义描述发现服务。
13、根据权利要求10所述的方法,其中,所述调用步骤包括以下步骤:
在针对所述服务的所述计算机系统功能源的所述语义描述中,根据空范围、私有范围、按子网分组的范围、按兴趣分组的范围或其任何组合,来设置发现范围;以及
根据在针对所述服务的所述计算机系统功能源的所述语义描述中设置的所述发现范围,经由针对所述服务的所述计算机系统功能源的所述语义描述来发现服务。
14、根据权利要求1所述的方法,其中,所述计算机系统功能源是根据基于Web本体语言(OWL)的Web服务本体(OWL-S)语言而语义描述的。
15、根据权利要求1所述的方法,其中,计算机系统功能源的所述语义描述包括口语属性,该口语属性根据口语来控制计算机用户接口。
16、根据权利要求15所述的方法,其中,所述计算机用户接口是计算机显示图形用户接口,而所述口语属性根据所述口语来控制服务名称和服务描述的显示描述。
17、根据权利要求1所述的方法,其中,计算机系统功能源的所述语义描述包括针对不严格输入数据类型、作为服务的计算机系统功能源的位置、管理功能或其任何组合的描述。
18、根据权利要求1所述的方法,其中,作为所述计算机系统上的所述服务的计算机系统功能源的所述语义描述包括标识针对所述服务的两个或更多个输入数据类型,第一输入数据类型标识输入数据的精确域,而第二输入数据类型标识大于所述第一输入数据类型的域的不严格输入数据类型的域。
19、根据权利要求1所述的方法,其中,作为所述服务的计算机系统功能源的所述语义描述包括:针对所述服务的管理功能的描述、指向针对所述服务的管理功能的描述的链接,或这两者。
20、根据权利要求19所述的方法,其中,所述管理功能包括以下中的一个或更多个服务过程:删除服务,返回服务的处理语义对象,呈现针对所述服务的用户接口、所述服务的状态信息、所述服务的位置,或其任何组合。
21、根据权利要求1所述的方法,其中,针对语义描述的计算机系统功能源的计算机实现接口是:计算机显示图形用户接口、语音命令用户接口、无线电装置用户接口,或其任何组合。
22、根据权利要求1所述的方法,其中,针对语义描述的计算机系统功能源的计算机实现接口是语音命令用户接口,并且所述方法还包括以下步骤:
服务名称定义步骤,在该服务名称定义步骤中,根据在所述计算机功能源的所述语义描述中的自然语言定义服务名称,
语音识别状态语法图生成步骤,在该语音识别状态语法图生成步骤中,根据所定义的自然语言服务名称生成语音识别状态语法图,
识别步骤,在该识别步骤中,通过语音识别器识别口头自然语言语句,作为任务的组成,所述任务包括一个或更多个口头定义服务名称,
匹配步骤,在该匹配步骤中,根据所述语音识别状态语法图将识别出的口头定义服务名称匹配到一服务序列,以及
任务执行步骤,在该任务执行步骤中,通过执行匹配的服务来执行所述任务。
23、根据权利要求22所述的方法,其中,所述计算机显示图形用户接口是服务的空间呈现。
24、根据权利要求23所述的方法,其中,服务的所述空间呈现包括:
显示区域图;和
在所述区域图上空间显示发现的服务。
25、根据权利要求1所述的方法,
其中,所述语义描述步骤包括以下步骤:
利用本体对计算机系统功能源的功能特征进行描述,和
向所述服务指定作为自然语言语句要素的名称,以支持映射到作为自然语言语句的自然语言要素的可组成性中的所述服务的可组成性,并且
其中,生成计算机实现任务接口包括以下步骤:
发现可用的服务,和
基于利用本体对计算机系统功能源的所述功能特征的描述,根据服务的功能特征对兼容服务进行识别,以支持用户基于根据自然语言语句的自然语言服务名称,组成多个所述兼容服务构成的可执行任务。
26、根据权利要求25所述的方法,其中,所述计算机实现任务接口是计算机显示画面图形用户接口,并且所述图形用户接口包括:
根据树形结构,在第一图形用户接口窗口中显示已发现服务的可选图形显示;
呈现第二图形用户接口,该第二图形用户接口支持将所述一个或更多个服务实时、动态组成为根据一过程的任务,所述过程包括以下步骤:
通过用户在所述第一窗口中选择一已发现服务;
自动显示与所选择的已发现服务相关的其它兼容服务的可选图形显示;
通过用户选择一兼容服务;以及
根据用户选择已发现服务和兼容服务作为所述任务,在所述第二图形用户接口窗口中实时、动态显示定向服务图形;以及
显示任务执行的可选图形显示,以执行所述任务。
27、根据权利要求26所述的方法,其中,根据所述已发现服务的功能特征,在所述第一图形用户接口窗口中组织所显示的已发现服务。
28、根据权利要求1所述的方法,其中,根据由客户端、服务私有策略、共享策略、本体或其任何组合提供的服务访问控制事实要素,来控制对服务的访问。
29、根据权利要求1所述的方法,其中,所述表示客户端处理层包括:提供实例创建器、实例复制器、实例截获器、实例保存器、特性选择器或其任何组合的内部服务。
30、根据权利要求1所述的方法,所述方法还包括以下步骤:
提供语义实例串行化服务、信息提供服务、感测器服务、快照服务、Web本体语言(OWL)格式器服务,以及文本格式器服务,作为语义描述的所述多个计算机系统功能源。
31、根据权利要求30所述的方法,其中,所述语义实例串行化服务包括:消耗任何类型的语义实例,将所述语义实例串行化成信息,以及向用户提供所述信息。
32、根据权利要求30所述的方法,其中,所述信息提供服务包括从计算机系统功能源输出语义对象,其中,所述计算机系统功能源是信息提供功能源。
33、根据权利要求32所述的方法,其中,所述信息提供功能源提供时间、日期、有关天气、道路交通或其任何组合。
34、根据权利要求30所述的方法,其中,所述快照服务包括:
从成像装置捕获静物图像;和
输出针对所述静物图像的语义对象。
35、根据权利要求30所述的方法,其中,所述OWL格式器服务包括:
接受语义对象作为输入;
将所述语义对象格式化成人类可理解的方式;以及
输出格式化后的语义对象。
36、根据权利要求30所述的方法,其中,所述文本格式器服务包括:
接受语义对象;
将所述语义对象格式化成多个预定文本格式中的一种;以及
输出格式化后的语义对象。
37、根据权利要求1所述的方法,
其中,所述计算机系统包括采用网络通信的多个计算机系统,并且
其中,作为所述服务的所述计算机系统功能源包括:在所述多个计算机系统中的任一个上的功能的装置源、应用源、电子服务源、内容源,或其任何组合。
38、根据权利要求37或25所述的方法,其中,作为所述服务的所述计算机系统功能源可通过WSDL(Web服务描述语言)、UPnP(通用即插即用)、CORBA、RMI、RPC、DCE、DCOM或其任何组合的远程过程调用而获得。
39、根据权利要求1所述的方法,
其中,所述计算机系统包括采用网络通信的多个计算机系统,
其中,所述远程过程调用API是根据Web服务的,该Web服务包括远程Web服务API,并且所述方法还包括以下步骤:
远程Web服务API发布步骤,在该远程Web服务API发布步骤中,发布第一计算机系统的所述远程Web服务API;和
服务管理步骤,在该管理服务步骤中,第二计算机系统经由所发布的远程Web服务API来管理所述第一计算机系统上的服务。
40、根据权利要求39所述的方法,其中,所述服务管理步骤包括以下步骤:在所述第二计算机系统上生成、发布、发现、执行所述服务,或者进行这些操作的任何组合。
41、根据权利要求1所述的方法,其中,所述中间件服务处理层包括服务管理过程,而所述表示客户端处理层包括一个或更多个语义描述服务控制机制客户端,以生成、发布和/或操纵针对作为服务的计算机系统功能源的语义对象和/或语义服务描述。
42、根据权利要求1所述的方法,其中,所述语义描述服务控制机制客户端包括客户端过程、真实世界对象语义化器客户端、数据库语义化器客户端以及介质发布器,该客户端过程语义化、创建语义服务描述,并且将所述语义服务描述发布为服务。
43、根据权利要求1所述的方法,其中,所述介质发布器包括:
接收选择的数据对象;
针对所述选择的数据对象,生成对应的语义实例;以及
针对所生成的语义实例创建并发布语义服务描述,以提供服务。
44、一种计算机系统,该计算机系统包括:
服务器处理系统,该服务器处理系统把计算机系统功能源抽象为语义描述服务;和
客户端处理系统,该客户端处理系统经由远程过程调用与所述服务器处理系统交互连接,以支持基于所述计算机系统功能源的所述语义描述服务,经由计算机实现任务接口,在所述计算机系统上实时、动态组成可执行任务,该可执行任务包括一个或更多个服务。
45、一种装置,该装置包括:
编程处理器,该编程处理器根据一过程控制所述装置,该过程包括以下步骤:
识别对象;
基于所识别对象生成语义实例;以及
发布所述语义实例。
46、根据权利要求45所述的装置,其中,所述对象是物理对象、语音、视频或其任何组合。
47、根据权利要求45所述的装置,其中,所述识别对象的步骤是根据通过多媒体识别处理引擎读取计算机可读代码、检测射频识别(RFID)标签、以及检测对象信息的。
48、一种计算机实现的方法,该计算机实现的方法包括以下步骤:
数据库模式映射步骤,在该数据库模式映射步骤中,将数据库模式映射成本体;和
语义对象生成步骤,在该语义对象生成步骤中,基于所述映射在所述数据库中生成数据的语义对象。
49、根据权利要求48所述的计算机实现的方法,所述计算机实现的方法还包括以下步骤:
语义对象生成控制步骤,在该语义对象生成控制步骤中,控制所述语义对象的生成,以根据在所述数据库中的所述数据的全部或一部分生成语义对象,并且将一个或更多个语义对象输出到单个或多个文件中。
50、根据权利要求48所述的计算机实现的方法,所述数据库模式映射步骤还包括以下步骤:
显示图形用户接口,该图形用户接口包括:
第一窗口,该第一窗口显示所述数据库模式的可选图像显示;
和
第二窗口,该第二窗口显示本体的可选图形显示,和
基于所显示的图形用户接口,通过用户将所述数据库模式映射至所述本体。
51、根据权利要求50所述的方法,其中,所述数据库模式映射步骤还包括以下步骤:
根据在所数据库模式和所述本体中的语法线索,通过编程处理器提示可能的映射。
52、根据权利要求48所述的计算机实现的方法,所述计算机实现的方法还包括以下步骤:
图形用户接口显示步骤,在该图形用户接口显示步骤中,显示包括语义对象的可选图形显示的图形用户接口;和
值返回步骤,在该返回值步骤中,返回选定的语义对象的值。
53、一种计算机系统,该计算机系统包括:
服务器处理装置,该服务器处理装置用于把计算机系统功能源抽象为多个服务;和
客户端处理装置,该客户端处理装置用于经由远程调用机制,提供用于实时、动态组成任务的用户任务接口,所述任务包括所述服务中的两个或更多个。
54、一种便携式计算机可读介质,该便携式计算机可读介质存储至少一个程序,所述至少一个程序根据一过程控制计算机系统,该过程包括以下步骤:
把多个计算机系统功能源语义描述为服务;
发现被语义描述为所述服务的所述多个计算机系统功能源,并且在第一图形用户接口中呈现所述服务;
呈现第二图形用户接口,所述第二图形用户接口支持根据一过程将一个或更多个服务实时、动态组成为一任务,所述过程包括:
用户在所述第一窗口中选择一已发现服务;
自动显示与所选择的已发现服务相关的其它有效服务的可选图形显示;
用户选择有效服务;以及
根据用户选择所述已发现服务和所述有效服务作为所述任务,在所述第二图形用户接口窗口中实时、动态地显示一定向服务图形;以及
显示任务执行的可选图形显示,以执行所述任务。
55、一种终端装置,该终端装置包括:
编程客户端处理器,该编程客户端处理器根据一过程控制所述终端装置,所述过程包括:
经由针对服务器过程的远程过程调用机制,发现被语义描述为服务的多个计算机系统功能源;
生成计算机实现用户接口,该计算机实现用户接口支持根据一过程将一个或更多个服务实时、动态组成为一任务,所述过程包括:
通过用户接收所述任务的命令;和
经由所述服务器过程控制对所述任务的处理,所述任务包括一个或更多个服务。
56、根据权利要求55所述的终端装置,其中,所述计算机实现用户接口是计算机显示图形用户接口、语音命令用户接口、无线电装置用户接口或其任何组合。
57、根据权利要求55所述的终端装置,其中,所述客户端过程的过程还包括:
在第一图形用户接口中呈现已发现服务;
呈现第二图形用户接口,该第二图形用户接口支持根据一过程将所述一个或更多个服务实时、动态组成为一任务,所述过程包括:
通过用户在所述第一窗口中选择一已发现服务;
自动显示与所选择的已发现服务相关的其它有效服务的可选图形显示;
通过用户选择有效服务;以及
根据用户选择所述已发现服务和所述有效服务作为所述任务,在所述第二图形用户接口窗口中实时、动态地显示一定向服务图形;以及
显示任务执行的可选图形显示,以经由所述服务器过程执行所述任务。
58、一种终端装置,该终端装置包括:
编程客户端处理器,该编程客户端处理器根据一过程控制所述终端装置,该过程包括:
读取Web本体语言文件,该Web本体语言文件把计算机系统功能源语义描述为服务,和
根据所述Web本体语言文件的读取来执行所述服务。
59、一种服务器处理装置,该服务器处理装置与多个客户端处理装置通信,所述服务器处理装置包括:
编程服务器处理器,该编程服务器处理器根据一过程响应于远程过程调用机制控制所述服务器处理装置,所述过程包括:
发现被语义描述为服务的多个计算机系统功能源;
经由所述远程过程调用机制,控制客户端计算机实现用户接口的生成,该客户端计算机实现用户接口支持将一个或更多个服务实时、动态组成为一任务。
60、根据权利要求59所述的服务器处理装置,其中,所述控制客户端计算机实现用户接口的步骤是根据一过程进行的,所述过程包括:
根据在计算机系统功能源的语义描述中描述的服务的功能特征,从所述多个已发现服务中识别兼容服务;
根据一个或更多个选定的兼容服务,组成一任务;
接收任务执行命令;以及
响应于所述任务执行命令,在所述客户端执行所述一个或更多个服务,以执行所述任务。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US56585104P | 2004-04-28 | 2004-04-28 | |
US60/565,851 | 2004-04-28 | ||
US60/603,251 | 2004-08-23 | ||
US60/628,557 | 2004-11-18 | ||
US60/639,805 | 2004-12-29 | ||
US11/115,403 | 2005-04-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1954292A true CN1954292A (zh) | 2007-04-25 |
CN100461109C CN100461109C (zh) | 2009-02-11 |
Family
ID=38059750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005800134537A Expired - Fee Related CN100461109C (zh) | 2004-04-28 | 2005-04-27 | 语义任务计算 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100461109C (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102169435A (zh) * | 2011-04-19 | 2011-08-31 | 上海网达软件有限公司 | 一种嵌入式中间件平台字体配置的方法 |
CN101656690B (zh) * | 2009-07-17 | 2011-10-26 | 赵维 | 一种远程分工协作系统和方法 |
CN102236645A (zh) * | 2010-05-06 | 2011-11-09 | 上海五和际软件信息有限公司 | 基于语义逻辑的类自然语言人机对话装置 |
CN102279929A (zh) * | 2010-06-13 | 2011-12-14 | 中国科学院电子学研究所 | 一种基于对象语义树模型的遥感人造地物目标识别方法 |
CN102446118A (zh) * | 2010-11-17 | 2012-05-09 | 微软公司 | 聚焦于上下文和任务的计算 |
CN103491111A (zh) * | 2012-06-08 | 2014-01-01 | 阿里巴巴集团控股有限公司 | 无线应用发布、实现方法与装置 |
CN106062738A (zh) * | 2013-11-12 | 2016-10-26 | 皮沃塔尔软件公司 | 管理作业状态 |
CN107592926A (zh) * | 2015-05-05 | 2018-01-16 | 微软技术许可有限责任公司 | 使用任务帧建立多模式协同对话 |
CN108376544A (zh) * | 2018-03-27 | 2018-08-07 | 京东方科技集团股份有限公司 | 一种信息处理方法、装置、设备及计算机可读存储介质 |
CN108604236A (zh) * | 2015-10-30 | 2018-09-28 | 康维达无线有限责任公司 | 语义物联网的restful操作 |
CN109416706A (zh) * | 2016-06-02 | 2019-03-01 | 康维达无线有限责任公司 | 在m2m/iot服务层中实现语义推理服务 |
CN110334169A (zh) * | 2019-07-01 | 2019-10-15 | 清华大学 | 一种新型地理计算模式 |
US10448762B2 (en) | 2017-09-15 | 2019-10-22 | Kohler Co. | Mirror |
CN110781667A (zh) * | 2019-10-25 | 2020-02-11 | 北京中献电子技术开发有限公司 | 面向神经网络机器翻译的日语动词识别、词性标注方法 |
US10663938B2 (en) | 2017-09-15 | 2020-05-26 | Kohler Co. | Power operation of intelligent devices |
CN111399801A (zh) * | 2014-12-11 | 2020-07-10 | 微软技术许可有限责任公司 | 能够实现可动作的消息传送的虚拟助理系统 |
US10887125B2 (en) | 2017-09-15 | 2021-01-05 | Kohler Co. | Bathroom speaker |
US10963293B2 (en) | 2010-12-21 | 2021-03-30 | Microsoft Technology Licensing, Llc | Interactions with contextual and task-based computing environments |
CN112650527A (zh) * | 2020-12-30 | 2021-04-13 | 中通天鸿(北京)通信科技股份有限公司 | 一种产品自动上线并纳入监控的智能发布系统 |
US11099540B2 (en) | 2017-09-15 | 2021-08-24 | Kohler Co. | User identity in household appliances |
US11153472B2 (en) | 2005-10-17 | 2021-10-19 | Cutting Edge Vision, LLC | Automatic upload of pictures from a camera |
US11921794B2 (en) | 2017-09-15 | 2024-03-05 | Kohler Co. | Feedback for water consuming appliance |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5117496A (en) * | 1988-05-23 | 1992-05-26 | Hewlett-Packard Company | Method for recording and replaying mouse commands by recording the commands and the identities of elements affected by the commands |
JPH07281883A (ja) * | 1994-04-06 | 1995-10-27 | Fujitsu Ltd | プログラム修正支援装置及び方法 |
JP3444671B2 (ja) * | 1994-11-08 | 2003-09-08 | 富士通株式会社 | 並列コード変換処理方法とそのシステム |
CN1313972A (zh) * | 1998-08-24 | 2001-09-19 | Bcl计算机有限公司 | 自适应的自然语言接口 |
-
2005
- 2005-04-27 CN CNB2005800134537A patent/CN100461109C/zh not_active Expired - Fee Related
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11818458B2 (en) | 2005-10-17 | 2023-11-14 | Cutting Edge Vision, LLC | Camera touchpad |
US11153472B2 (en) | 2005-10-17 | 2021-10-19 | Cutting Edge Vision, LLC | Automatic upload of pictures from a camera |
CN101656690B (zh) * | 2009-07-17 | 2011-10-26 | 赵维 | 一种远程分工协作系统和方法 |
CN102236645A (zh) * | 2010-05-06 | 2011-11-09 | 上海五和际软件信息有限公司 | 基于语义逻辑的类自然语言人机对话装置 |
CN102279929A (zh) * | 2010-06-13 | 2011-12-14 | 中国科学院电子学研究所 | 一种基于对象语义树模型的遥感人造地物目标识别方法 |
CN102279929B (zh) * | 2010-06-13 | 2013-03-27 | 中国科学院电子学研究所 | 一种基于对象语义树模型的遥感人造地物目标识别方法 |
CN102446118A (zh) * | 2010-11-17 | 2012-05-09 | 微软公司 | 聚焦于上下文和任务的计算 |
US10963293B2 (en) | 2010-12-21 | 2021-03-30 | Microsoft Technology Licensing, Llc | Interactions with contextual and task-based computing environments |
CN102169435A (zh) * | 2011-04-19 | 2011-08-31 | 上海网达软件有限公司 | 一种嵌入式中间件平台字体配置的方法 |
CN103491111A (zh) * | 2012-06-08 | 2014-01-01 | 阿里巴巴集团控股有限公司 | 无线应用发布、实现方法与装置 |
CN103491111B (zh) * | 2012-06-08 | 2016-12-14 | 阿里巴巴集团控股有限公司 | 无线应用发布、实现方法与装置 |
CN106062738A (zh) * | 2013-11-12 | 2016-10-26 | 皮沃塔尔软件公司 | 管理作业状态 |
CN106062738B (zh) * | 2013-11-12 | 2019-07-16 | 皮沃塔尔软件公司 | 管理作业状态 |
CN111399801A (zh) * | 2014-12-11 | 2020-07-10 | 微软技术许可有限责任公司 | 能够实现可动作的消息传送的虚拟助理系统 |
CN111427534B (zh) * | 2014-12-11 | 2023-07-25 | 微软技术许可有限责任公司 | 能够实现可动作的消息传送的虚拟助理系统 |
CN111427533B (zh) * | 2014-12-11 | 2023-07-25 | 微软技术许可有限责任公司 | 能够实现可动作的消息传送的虚拟助理系统 |
CN111399801B (zh) * | 2014-12-11 | 2023-07-25 | 微软技术许可有限责任公司 | 能够实现可动作的消息传送的虚拟助理系统 |
CN111427533A (zh) * | 2014-12-11 | 2020-07-17 | 微软技术许可有限责任公司 | 能够实现可动作的消息传送的虚拟助理系统 |
CN111427534A (zh) * | 2014-12-11 | 2020-07-17 | 微软技术许可有限责任公司 | 能够实现可动作的消息传送的虚拟助理系统 |
CN107592926A (zh) * | 2015-05-05 | 2018-01-16 | 微软技术许可有限责任公司 | 使用任务帧建立多模式协同对话 |
CN107592926B (zh) * | 2015-05-05 | 2020-12-29 | 微软技术许可有限责任公司 | 使用任务帧建立多模式协同对话 |
CN108604236B (zh) * | 2015-10-30 | 2022-03-29 | 康维达无线有限责任公司 | 语义物联网的restful操作 |
CN108604236A (zh) * | 2015-10-30 | 2018-09-28 | 康维达无线有限责任公司 | 语义物联网的restful操作 |
CN109416706A (zh) * | 2016-06-02 | 2019-03-01 | 康维达无线有限责任公司 | 在m2m/iot服务层中实现语义推理服务 |
US10448762B2 (en) | 2017-09-15 | 2019-10-22 | Kohler Co. | Mirror |
US10887125B2 (en) | 2017-09-15 | 2021-01-05 | Kohler Co. | Bathroom speaker |
US11949533B2 (en) | 2017-09-15 | 2024-04-02 | Kohler Co. | Sink device |
US11921794B2 (en) | 2017-09-15 | 2024-03-05 | Kohler Co. | Feedback for water consuming appliance |
US11892811B2 (en) | 2017-09-15 | 2024-02-06 | Kohler Co. | Geographic analysis of water conditions |
US10663938B2 (en) | 2017-09-15 | 2020-05-26 | Kohler Co. | Power operation of intelligent devices |
US11314214B2 (en) | 2017-09-15 | 2022-04-26 | Kohler Co. | Geographic analysis of water conditions |
US11314215B2 (en) | 2017-09-15 | 2022-04-26 | Kohler Co. | Apparatus controlling bathroom appliance lighting based on user identity |
US11099540B2 (en) | 2017-09-15 | 2021-08-24 | Kohler Co. | User identity in household appliances |
CN108376544A (zh) * | 2018-03-27 | 2018-08-07 | 京东方科技集团股份有限公司 | 一种信息处理方法、装置、设备及计算机可读存储介质 |
CN110334169A (zh) * | 2019-07-01 | 2019-10-15 | 清华大学 | 一种新型地理计算模式 |
CN110334169B (zh) * | 2019-07-01 | 2022-02-18 | 清华大学 | 一种新型地理计算装置 |
CN110781667A (zh) * | 2019-10-25 | 2020-02-11 | 北京中献电子技术开发有限公司 | 面向神经网络机器翻译的日语动词识别、词性标注方法 |
CN110781667B (zh) * | 2019-10-25 | 2021-10-08 | 北京中献电子技术开发有限公司 | 面向神经网络机器翻译的日语动词识别、词性标注方法 |
CN112650527A (zh) * | 2020-12-30 | 2021-04-13 | 中通天鸿(北京)通信科技股份有限公司 | 一种产品自动上线并纳入监控的智能发布系统 |
Also Published As
Publication number | Publication date |
---|---|
CN100461109C (zh) | 2009-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100461109C (zh) | 语义任务计算 | |
JP5205965B2 (ja) | コンピュータシステム、サーバー処理装置、端末装置及び方法 | |
US20220000286A1 (en) | System and method for locational image processing | |
Riekki et al. | Requesting pervasive services by touching RFID tags | |
US8117280B2 (en) | Task computing | |
RU2417408C2 (ru) | Динамический опыт пользователя посредством семантически богатых объектов | |
Gandon et al. | Semantic web technologies to reconcile privacy and context awareness | |
US9113295B2 (en) | System and method for location based exchange vicinity interest specification | |
CN100458789C (zh) | 用于交换门户组件配置数据的方法和系统 | |
CN102473186B (zh) | 标记多个数字图像的系统和方法 | |
CN108885740A (zh) | 主动的智能个人助理 | |
US20140129457A1 (en) | An interactive organizational decision-making and compliance facilitation portal | |
CN105830150A (zh) | 基于意图的用户体验 | |
CN106068521A (zh) | 关于合规策略更新的应用的通信状态 | |
CN101667120A (zh) | 共享用户接口界面系统 | |
WO2005099381A9 (en) | Expression and time-based data creation and creator-controlled organization | |
CN101861578B (zh) | 网络操作系统 | |
CN106062793B (zh) | 已被呈现的企业内容的检索 | |
Taylor et al. | SAMP, the Simple Application Messaging Protocol: Letting applications talk to each other | |
CN101952815A (zh) | 基于姿态的协作 | |
CN101861581A (zh) | 网络操作系统 | |
KR100890209B1 (ko) | 분산 컴퓨팅 서비스 플랫폼 | |
Debaty et al. | Integrating the physical world with the web to enable context-enhanced mobile services | |
Camarinha-Matos et al. | TeleCARE: Collaborative virtual elderly support communities. | |
Debaty et al. | Integrating the physical world with the web to enable context-enhanced services |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090211 Termination date: 20170427 |