專利名稱:語義任務計算的制作方法
技術領域:
本發(fā)明致力于基于語義描述的富應用、富裝置以及富服務計算環(huán)境來實時、動態(tài)地組成并執(zhí)行復雜的任務。
背景技術:
個人計算可以稱為這樣的范例,即,在該范例中,用戶操作單個裝置并訪問/使用駐留在該裝置上的應用。個人計算要求用戶對用戶的計算環(huán)境并對用戶的計算機上可用的應用具有足夠的理解,以使作為一名博學的用戶,該用戶可以充分利用可用的資源,來執(zhí)行復雜的任務。這就是大多數(shù)用戶日常經(jīng)歷的計算;學習怎樣完成復雜任務的負擔將伴隨用戶,用戶必須理解運行在該用戶的機器上的每個應用和用戶的機器支持的每個功能,以在應用之間人工傳遞數(shù)據(jù)(剪切&粘貼),人工調用涉及任務的每個應用和具體的功能性,從而最終將全部注意力(和時間)致力于執(zhí)行復雜的任務。完成復雜的任務一方面依靠用戶對任務的理解,而另一方面依靠對可用的資源(裝置和應用)的理解,以使用戶可以將它們結合成用戶將執(zhí)行并且其最終結果將是完成的任務的工作流程。
計算環(huán)境的從個人計算到面向多任務視圖的轉換如下例如,作為操作系統(tǒng)的一個特征,當用戶將一張音樂CD插入到CD艙中時,彈出一窗口,該窗口向用戶提示用戶從此刻起可以執(zhí)行的任務。這些選項的典型列表可以包括播放音頻CD從CD復制音樂打開文件夾以查看文件不采取動作這些選項中的每一個還提及為執(zhí)動作作要使用的應用。焦點在要執(zhí)行的動作或任務上,而不在為執(zhí)行任務而使用的應用上。
然而,這里,操作系統(tǒng)使用與具體事件的發(fā)生(插入音樂CD,或連接數(shù)字攝像機)相關聯(lián)的動作或任務的預定列表,以便在事件發(fā)生時,向用戶呈現(xiàn)要遵照執(zhí)行的相關動作列表。就此而言,系統(tǒng)的響應是硬件實現(xiàn)的,而所包括靈活性也不超過已經(jīng)針對因觸發(fā)事件而要執(zhí)行的可能動作編程到系統(tǒng)中的靈活性。換句話說,系統(tǒng)在數(shù)字攝像機連接至計算機時,示出同一組可以發(fā)生的動作;操作系統(tǒng)的程序設計員已經(jīng)準備好該針對特定事件的動作的具體列表。應用可以改變列表中的項目,但是對于最終用戶來說,不存在容易的方式來改變列表中的項目。
在操作系統(tǒng)的另一示例中,可以根據(jù)文件類型向用戶呈現(xiàn)對動作的選擇。即,針對下列各文件類型中的每一個向用戶呈現(xiàn)任務的單獨列表文件、圖片、相冊、音樂、音樂藝術家、音樂集,以及視頻。例如,如果文件類型是圖片,則呈現(xiàn)“圖片任務”的列表查看(圖片)作為幻燈片放映在線順序打印打印圖片將圖片設為背景將圖片復制到CD還要預編譯這個任務列表,并將其與具體文件類型相關聯(lián)。對于最終用戶來說,不存在容易的方式來修改列表。
在辦公套裝軟件的另一示例中,可以使用智能標簽特征。智能標簽特征在使用編輯器時突出顯示當前文件中的文本,并且向用戶提供可以與所述文本表示的對象一起執(zhí)行的動作的下拉菜單。例如,如果文本表示一名字,則這個特征可以把與該名字相關聯(lián)的對象識別為人,并且可以提供以下的可能動作列表(向該人)發(fā)送郵件安排(與該人的)會議打開(該人的)聯(lián)系人列表生成(針對該人的)聯(lián)系人列表通過識別出文件中的字符串可能表示一名字,而激活上述選項。系統(tǒng)依靠文本的句法特征來識別該特定段文本表示名字。然而,與典型的美國人名字不相似的字符串(例如,Lusheng Ji)不能被識別為關于人的名字。其原因是,系統(tǒng)中的將一段文本識別為名字的部分是相當簡單的程序(腳本),其嘗試按文本的句法形式容易地識別可識別的模式。一旦(正確地或不正確地)識別了文本的“屬性”,例如,人、地址等,就向用戶呈現(xiàn)預編譯的可能動作列表。應用程序設計員可以創(chuàng)建用于其它域和應用(如識別地址和調用映射應用等)的智能標簽。
下面,討論嘗試向用戶呈現(xiàn)計算環(huán)境的面向多任務視圖的另一示例。當用戶在搜索引擎的搜索框中鍵入地址時,服務返回(超越通常的搜索結果)針對映射功能(如果執(zhí)行,則將提供該地址的映射)的一鏈接。
然而,用戶可能正在搜索鍵入地址的映射并不是顯然的。其它合理的可能性有用戶可能想要與這個地址相關聯(lián)的電話號碼列表,或者如果該地址是商業(yè)地址,則用戶可能想要查看針對搜索的商業(yè)的BETTERBUSINESS BUREAU記錄,或者想要弄清在那附近的天氣等。按照搜索引擎的當前形式,搜索引擎猜測鍵入文本代表哪類“事物”(在這種情況下,是地址),并且返回與這種類型的輸入相關聯(lián)的硬件實現(xiàn)任務。
因此,在計算環(huán)境的面向任務視圖中,焦點集中在可以執(zhí)行的任務上,而不是集中在為執(zhí)行任務而要使用的應用上。而且,用戶不需要知道針對任務要使用哪一個應用。如果用戶選擇執(zhí)行多個建議任務中的一個,則由此會例示并調用(啟動)恰當?shù)膽谩?br>
然而,上述計算示例展示相似的特征,該特征不允許如下地實時、動態(tài)構成可執(zhí)行任務。在某一方式下,猜測用戶的輸入(文本或事件)的類型或屬性;實際上,系統(tǒng)依靠串的句法特征來嘗試推斷該串的含義(語義)。系統(tǒng)針對該輸入形成對用戶可能希望執(zhí)行的似乎可能的任務的猜測;該猜測被硬件實現(xiàn)到系統(tǒng)中,由此,實際上,不是系統(tǒng)實時進行猜測,而是遠在用戶與系統(tǒng)交互之前,而是系統(tǒng)的程序設計員在對系統(tǒng)進行編程時進行猜測。依據(jù)用戶的選擇(無論用戶在第二步驟中選擇什么)、例示有適當?shù)妮斎?無論系統(tǒng)在第一步驟中猜測什么)、靜態(tài)因果(或觸發(fā)響應)機制,自動調用恰當?shù)膽谩?br>
盡管上述計算示例可以增加用戶的便利,但是,常規(guī)的系統(tǒng)仍然保留有下列個人計算特征已把功能性設計到應用中;應用的程序設計員已對系統(tǒng)的響應進行了編程(硬件實現(xiàn))。結果,因為在設計期間已經(jīng)確定了可能性的范圍,所以這不是靈活且可擴展的方案。
系統(tǒng)具有有限的方式來適應用戶的動作和希望,并且不能準確地“察覺”輸入的屬性(語義或含義)。盡管在各示例中使用了不同的技術,但系統(tǒng)都有賴于根據(jù)輸入的句法特征來正確地猜測該輸入的含義。
就特定類型輸入導致單個動作(應用調用)而言,系統(tǒng)采用了因果(或觸發(fā)響應)機制。復雜的用戶任務需要更復雜的工作流程,伴隨有從技術上講無法利用在上面討論的示例中使用的過分簡單化的技術來實現(xiàn)的事件和動作的復雜序列。
而且,個人計算,即,用戶擁有和操作運行用戶的應用并“保持”用戶的數(shù)據(jù)的計算機的思想,正讓步于較少明確限定邊界的計算環(huán)境。當計算機永久連接到計算機網(wǎng)絡時,本地與遠程的應用和數(shù)據(jù)之間的區(qū)別銳減,或者更糟糕的是,它們對計算機用戶造成了混淆。而且,用戶可以訪問如下的裝置(攝像機、打印機、智能儀器等)并與其交互,該裝置不是計算機(就個人計算機而言),但是仍具有顯著的計算能力,并且可以用于用戶的目的,并幫助他們完成各種任務。首先,普通用戶甚至可能不知道在這種計算環(huán)境下什么是可以的或可行的,因為可用的資源(裝置和應用)可以經(jīng)常變化。換句話說,在充滿對于用戶并非先驗已知的裝置和應用的設置中,個人計算方案是不可實行的。
因此,需要在計算環(huán)境(通常稱為遍布式普適計算環(huán)境)中實時、動態(tài)地發(fā)現(xiàn)、發(fā)布、構成、管理并執(zhí)行任務,這對于用戶在所述計算環(huán)境中完成任務的問題,需要根本上不同的方案。
發(fā)明內(nèi)容
在此所述的本發(fā)明實施例的一個方面是,基于語義描述的富應用、富裝置以及富服務計算機計算(計算機系統(tǒng))環(huán)境,實時、動態(tài)地發(fā)現(xiàn)、發(fā)布、構成、管理并執(zhí)行復雜的任務。
根據(jù)在此所述實施例的另一方面,用戶可以實際、有效、動態(tài)、實時地依靠靈活且統(tǒng)一的任務用戶接口(發(fā)現(xiàn)、發(fā)布、構成、服務和/或任務管理以及執(zhí)行功能),來管理交互并且與普適計算環(huán)境交互。
參照形成本發(fā)明的一部分的附圖,在下面更全面地描述和要求保護的構造和操作的細節(jié)中,將體現(xiàn)隨后清楚的這些與其它方面和優(yōu)點,其中,類似的標號始終指類似的部分。
圖1A是根據(jù)本發(fā)明實施例的任務計算(TASK COMPUTING)環(huán)境的架構的系統(tǒng)圖;圖1B是根據(jù)本發(fā)明實施例的表示層處的作為計算機實現(xiàn)的任務接口的計算機顯示圖形用戶接口的圖像;圖2是根據(jù)本發(fā)明實施例的STEER-WS API的示例定義的列表;圖3A-3B是例示根據(jù)本發(fā)明實施例的STEER-WS API的使用的示例計算機源代碼;圖4是根據(jù)本發(fā)明實施例的中間件處理層108程序模塊的功能框圖;圖5A-5B是根據(jù)本發(fā)明實施例的PIPE-WS API 122的示例定義的列表;圖6是根據(jù)本發(fā)明實施例的基于回叫(call-back)的交叉環(huán)境服務目錄的流程圖;圖7是根據(jù)本發(fā)明實施例的交叉環(huán)境服務目錄和執(zhí)行的網(wǎng)絡圖;圖8是根據(jù)本發(fā)明實施例的針對管理服務的移動電話顯示畫面用戶接口圖像的圖;圖9是根據(jù)本發(fā)明實施例的計算機顯示的位置感知圖標圖形用戶接口的圖像;圖10是根據(jù)本發(fā)明實施例的任務計算語音識別的狀態(tài)流程圖;圖11是根據(jù)本發(fā)明實施例的用于生成針對任務計算環(huán)境的語音識別圖的示例偽代碼;圖12A是根據(jù)本發(fā)明實施例的采用任何語言顯示任務計算客戶端用戶接口的流程圖;圖12B是根據(jù)本發(fā)明實施例的在表示層采用日語的作為計算機實現(xiàn)的任務接口的計算機顯示圖形用戶接口的圖像;圖13是根據(jù)本發(fā)明實施例的服務訪問控制的流程圖;圖14A-14H是根據(jù)本發(fā)明實施例的在一位置處的服務訪問控制的過程的圖;圖15是根據(jù)本發(fā)明實施例的真實世界對象語義化器的架構的功能框圖;圖16A-16C是根據(jù)本發(fā)明實施例的對象和服務的語義化、服務化以及發(fā)布的過程;圖16D-16N是根據(jù)本發(fā)明實施例的在OWL-S中的SSD116的計算機可解釋的源代碼的三個示例;以及圖17是根據(jù)本發(fā)明實施例的具有內(nèi)部服務的STEER-WS TCC的計算機顯示圖形用戶接口的圖像。
具體實施例方式
圖1A是根據(jù)本發(fā)明實施例的任務計算100計算機系統(tǒng)環(huán)境(TCE)100的架構的系統(tǒng)圖。在圖1A中,計算機實現(xiàn)方法包括將普適的任務計算計算機系統(tǒng)環(huán)境100分成多個任務計算計算機系統(tǒng)實現(xiàn)層,所述多個任務計算計算機系統(tǒng)實現(xiàn)層包括表示處理層104、遠程過程調用機制應用編程接口(API)106、中間件(服務器)處理層108,以及服務層112和功能源實現(xiàn)層114,表示層104經(jīng)由遠程過程調用API106與中間件(服務器)處理層108交互連接,以針對功能116的語義描述計算機系統(tǒng)源在表示層104處實時、動態(tài)地生成計算機實現(xiàn)的任務接口130(例如,軟件/編程的計算硬件接口、計算機顯示畫面圖形用戶接口(GUI)、計算機語音用戶接口),作為連網(wǎng)的、未連網(wǎng)的或者這兩種計算機110(計算機系統(tǒng)110)的服務112,服務層112和功能源實現(xiàn)層114提供功能116的語義描述計算機系統(tǒng)源作為計算機系統(tǒng)服務112,中間件處理層108交互連接至服務層112和功能源實現(xiàn)層114;并且該計算機實現(xiàn)方法還包括,根據(jù)針對在計算機系統(tǒng)110上的一個或更多個服務112在表示層104生成的任務接口130實時、動態(tài)地組成計算機系統(tǒng)可執(zhí)行的任務,該計算機系統(tǒng)可執(zhí)行的任務包括一個或更多個服務112。
任務計算100是一新的范例,其用于在富應用、富裝置、富電子服務以及富內(nèi)容計算機網(wǎng)絡環(huán)境114中實時、動態(tài)地發(fā)現(xiàn)、發(fā)布、組成、管理并執(zhí)行復雜的任務(即,在實現(xiàn)層114中執(zhí)行任務)。任務計算100基于計算裝置114a-n的(例如,通過語義服務描述(SSD)116a-n)語義描述服務115a-n,語義描述服務115a-n根據(jù)它們的語義可以由最終用戶在傳輸過程中(on-the-fly)構成為可執(zhí)行任務。因此,根據(jù)在此所述的實施例,任務計算100系統(tǒng)具有一多層計算機系統(tǒng)架構,即,表示客戶端處理層104、經(jīng)由遠程過程調用機制與客戶端處理層104交互連接的中間件服務器處理層108以及在多個計算機系統(tǒng)層中的多個服務的三個或更多個編程的計算和/或計算機可讀信息層(例如,語義實例、語義服務描述116)。
根據(jù)在此所述的實施例,術語“服務”112指來自計算機裝置、計算機應用/軟件、電子服務以及計算機(或機器,或兩者)可讀內(nèi)容的功能源實現(xiàn)層114的全域的功能性計算實施例。
術語“任務”126指根據(jù)發(fā)現(xiàn)的例如用戶想要執(zhí)行的計算機系統(tǒng)服務112的一個或更多個動作的組成。根據(jù)在此所述的實施例,“任務”126是經(jīng)由計算機實現(xiàn)的任務接口130自動地、用戶驅動地、或按其任何組合地組成并管理的。對于用戶的情況來說,在表示層104管理(例如,發(fā)現(xiàn)、發(fā)布、組成、執(zhí)行等)作為一個或更多個服務112的組成的任務126。在一未限制示例中,服務112的組成,“通過投影儀觀看112我的聯(lián)系人112的商業(yè)地址112的天氣信息112”,是包括四個服務112(“通過投影儀查觀看”、“天氣信息”、“商業(yè)地址”,以及“我的聯(lián)系人”)的“任務”126。換句話說,“任務”包括一個或更多個服務112的組成。
術語“組成”是指,通過根據(jù)如語義描述的服務112的提供功能特征,如(不限于)服務112的語義輸入和輸出(例如,針對服務112的輸入(消耗)/輸出(產(chǎn)出)的數(shù)據(jù)對象類型),將多個服務112合在一起而形成。服務的功能特征的示例可以是用于確定服務可組成性的服務112的前提條件和結果。服務112的前提條件和結果的示例可以是針對服務112的輸入和輸出數(shù)據(jù)對象類型。
術語“語義實例”或“語義對象”指一組基于一個或更多個本體(ontology)對某項目的描述。語義服務描述(SSD)116基于一個或更多個服務功能本體描述服務功能115。
術語“發(fā)布”指產(chǎn)生通過一個或更多個服務發(fā)現(xiàn)機制可獲得的語義服務描述(SSD)116。
術語“發(fā)現(xiàn)”一般指對語義服務描述116的發(fā)現(xiàn)。
任務計算指這一類型的計算機系統(tǒng)100,即,其基于語義描述116的富應用、富裝置以及富服務計算機計算(計算機系統(tǒng))環(huán)境110,支持自動或用戶驅動或這兩種(其任何組合)的實時、動態(tài)地發(fā)現(xiàn)、發(fā)布、組成、管理并執(zhí)行包括一個或更多個服務112的“任務”126。
在本申請的受讓人FUJITSU LIMITED擁有的2003年12月12日在美國專利商標局提交的相關共同轉讓第10/733328號未決美國專利申請(代理卷號1634.1007,標題“任務計算”,發(fā)明人Ryusuke Masuoka、YannisLabrou、Zhexuan Song)(通過引用將其全部內(nèi)容并入于此)中,描述了兩個任務計算客戶端實施例,它們被稱為語義任務執(zhí)行編輯器(STEER)(用于發(fā)現(xiàn)可執(zhí)行任務并將其組成語義描述服務116的軟件)和普適實例提供環(huán)境(PIPE)(用于發(fā)布并管理語義實例和/或語義服務116的軟件)。在此所述的實施例涉及用于將語義描述服務116實時、動態(tài)組成為可執(zhí)行任務126以及對語義描述服務116進行管理(例如,發(fā)現(xiàn),創(chuàng)建/發(fā)布,操縱等)的技術和/或技術的改進。
在圖1A中,根據(jù)在此所述的實施例,基于遠程過程調用機制,根據(jù)客戶端-服務器計算機系統(tǒng)架構設置了一個或更多個任務計算系統(tǒng)(TCS)118a-n。TCS118被邏輯地且按實現(xiàn)分成表示處理層104和中間件處理層108,該表示處理層104提供作為任務計算客戶端119a-n的客戶端類型編程處理,該中間件處理層108提供服務器類型編程處理,其中,根據(jù)任何遠程過程調用機制,如作為任務計算環(huán)境-Web服務應用編程接口(TCE-WS API)106a-n的Web服務(WS),來交互連接劃分的表示處理層104和中間件處理層108。Web服務的概念是公知的。因此,根據(jù)在此所述的實施例,一般地,TCS118包括提供表示層104處的客戶端類型處理的任務計算客戶端(TCC)119,并且TCC119經(jīng)由諸如Web服務(WS)的遠程過程調用API而與中間件服務器處理層108交互連接,在此情況下TCC119被稱為WS TCC 119。使用Web服務作為遠程過程調用機制的示例的TCS118,在此被稱為WS TCS 118。通過利用遠程過程調用機制,這種Web服務、可以進行諸如Web服務調用的遠程過程調用(或可以合并遠程過程調用能力)的任何應用(包括第三方應用(例如,MICROSOFT WORD、EXCEL、OUTLOOK、ADOBE ACROBAT等)),都可以成為任務計算客戶端(TCC)119。在此所述的實施例使用Web服務作為遠程過程調用機制的示例,然而,本發(fā)明不限于這種設置,而是可以使用任何遠程過程調用機制。
因此,使用Web服務作為遠程過程調用API的示例,語義任務執(zhí)行編輯器-Web服務任務計算系統(tǒng)(STEER-WS TCS)118a成為WS TCS 118的示例,其包括在表示處理層104經(jīng)由STEER-WS API 120與中間件服務器處理層108交互連接的STEER-WS任務計算客戶端(STEER-WSTCC)119a。
普適實例提供環(huán)境-Web服務任務計算系統(tǒng)(PIPE-WS TCS)118b是WS-TCS 118的另一示例。PIPE-WS API 122暴露一般用于管理(例如,創(chuàng)建/發(fā)布、去除、操縱等)在任務計算100中使用的語義對象實例和/或SSD116以及管理任務126的中間件服務器管理工具124。使用PIPE-WS 122的應用客戶端119在此被稱為語義描述服務控制機制(SDSCM)119b,其示例有“白洞(White Hole)”119b-1、“服務管理器”119b-2、“真實世界對象語義化器”119b-3,以及數(shù)據(jù)庫語義化器119b-4,下面將更詳細地進行描述。例如,使用PIPE-WS 122的WS TCS 118b包括Web服務任務計算客戶端(應用客戶端)或SDSCM119b,如在表示處理層104的經(jīng)由PIPE-WS API 122與中間件服務器處理層108交互連接的“白洞”任務計算客戶端(“白洞”)119b-1。
通過使用Web服務任務計算客戶端(WS TCC)119,如(不限于)STEER-WS TCC 119a和白洞119b-1、“服務管理器”119b-2、“真實世界對象語義化器119b-3,以及數(shù)據(jù)庫語義化器119b-4,作為表示層104處的可編程計算組件(例如,任務計算客戶端軟件),用戶可以基于由中間件服務器處理108通過TCE-WS API 106而使得可用的語義描述服務116,來管理(例如,發(fā)現(xiàn)、發(fā)布、組成、執(zhí)行、操縱)任務126。
在圖1A中,根據(jù)現(xiàn)今的計算環(huán)境,用戶由稱為實現(xiàn)層114的功能性包圍,實現(xiàn)層114包括裝置或計算機中介服務(如因特網(wǎng)上可獲得的電子服務(e-services))、在用戶操作的計算裝置上運行的應用、在計算機可讀介質上可獲得的內(nèi)容,或只是支持特定功能的裝置。這種裝置、應用、電子服務以及內(nèi)容的示例包括(不限于)電話、計算機顯示器、攝像機、娛樂裝置/中心、電視、個人數(shù)字助理(PDA)、無線電通信裝置(例如,移動電話等)、音頻播放器、傳真機、打印機、天氣服務、地圖服務、辦公套裝計算軟件(例如,電子郵件應用,地址薄等)、多媒體計算機可讀介質(例如,音樂光盤、電影數(shù)字視頻盤(DVD)等)、因特網(wǎng)站點、數(shù)據(jù)庫等。在圖1A中,實現(xiàn)層114呈現(xiàn)的功能性或服務115a-n例如可以包括(不限于)聽音樂(例如,在娛樂裝置的情況下)、下載歌曲、觀看流式傳輸視頻、聽無線電廣播、提供聯(lián)系人信息、檢查地圖上的地址等。常規(guī)上,實現(xiàn)層114已被設計成利用用戶與各裝置或服務的交互(和/或用戶對各裝置或服務的操作)向用戶提供功能性;例如,如果用戶想要利用在她正訪問的房間中設置的電話機呼叫一同事,并且在該用戶的膝上型電腦上的該用戶的電子地址薄應用中存儲有該同事的電話號碼,則該用戶必須開啟膝上型電腦應用,查找關注的電話號碼,接著在電話機上手動地撥打該電話號碼。換句話說,用戶不能組成任務126。即使應用、電子服務以及裝置可以物理地相互通信,即,在它們之間存在通信鏈路,它們也不能按對用戶的任務有意義的方式交換數(shù)據(jù),除非實現(xiàn)層114的設計者已經(jīng)考慮到該具體任務而設計了功能的計算機系統(tǒng)源,例如,計算裝置。當面臨過多的功能源114a-n時,用戶不能執(zhí)行利用來自所有這些源的功能性的任務,除非功能源114a-n是針對該任務而設計的。而且,臨時用戶通常不知道可以執(zhí)行哪種任務。
在圖1A中,根據(jù)所述實施例,服務層112包括根據(jù)功能源實現(xiàn)層114的服務功能115a和對應地語義描述功能源實現(xiàn)層114的服務功能115a的語義服務描述116a,作為(連網(wǎng)的、未連網(wǎng)的或兩種情況)計算機系統(tǒng)110的服務112。根據(jù)所述實施例的一個方面,對于具體功能源114來說,服務功能11與SSD116之間的關系可以是多對多(n∶m)。例如,一個SSD116對多個服務功能115,其中,一個SSD116將服務功能115組成(在該組成中具有多個服務功能115)保存為SSD116。還可以是一個服務功能115對多個SSD116,其中,一個服務功能115給出多種類別或類型的單一服務功能115的語義分析。例如,對于書籍查找服務功能115(其針對ISBN輸入返回作者、價格、照片等)的情況來說,可以通過語義服務116建立基礎,使得一個SSD116返回作者聯(lián)系人,而另一SSD116返回圖像等。更具體地,根據(jù)所述實施例,服務層112包括同時形成可用的計算機系統(tǒng)(連網(wǎng)的、未連網(wǎng)的,或者兩種情況)110服務112的根據(jù)實現(xiàn)層114a-n可用的服務功能115a-n和與服務功能115a-n相對應的語義服務描述(SSD)116a-n。SSD116在計算機網(wǎng)絡上暴露實現(xiàn)層114的服務功能115。在本申請的受讓人富士通株式會社擁有的由Ryusuke Masuoka、Yannis Labrou、Zhexuan Song于2003年12月12日在美國專利商標局提交的題為“任務計算”的相關共同轉讓未審美國專利應用No.10/733328(Attorney Docket No.1634.1007)中,描述了SSD116的某些實施例,其全部內(nèi)容通過引用并入于此。
因此,任務計算100是針對用戶怎樣與功能114a-n的實現(xiàn)層源的服務功能115a-n交互的新范例,例如,計算裝置114,其著重于在利用計算裝置114時用戶想要完成的任務126,而不是著重于用于怎樣完成該任務的具體裝置。任務計算100填充在用戶想要完成什么與在用戶的環(huán)境中可能是可用的計算裝置114的服務功能115之間的間隙。任務計算100表現(xiàn)出超過諸如當前個人計算范例的傳統(tǒng)方法的實質優(yōu)點,即,其更適于非專家計算機用戶,對于各種類型的用戶來說,其是節(jié)省時間的事物,并且特別適于新興普適計算類型的計算環(huán)境。
因此,在圖1A中,根據(jù)所述實施例,為了提供應當靈活地擴展并以之為基礎的計算機系統(tǒng)架構(軟件和/或可編程計算硬件),創(chuàng)建一明顯且模塊化的中間件服務器處理層108,其功能性通過遠程過程調用應用編程接口(API)106可用于表示處理層104;使得應用開發(fā)者和用戶可以使用它們,以訪問諸如發(fā)現(xiàn)服務112并將其組成為可執(zhí)行任務126的任務計算功能,包括服務112和/或任務126的構造、保存、執(zhí)行、監(jiān)視、發(fā)布、管理等。遠程過程調用機制,舉例來說,如Web服務,提供定位(即,在不同計算機上的不同處理層)、平臺以及針對終端用戶應用開發(fā)獨立需求的編程語言。
如上所述,事實上通常是暫時的大量裝置114和其它功能性(電子服務、應用、內(nèi)容)115駐留于遍布式普適連網(wǎng)計算機計算環(huán)境中;而且,終端用戶,以至創(chuàng)建針對遍布式環(huán)境的應用的開發(fā)者都不能預知什么功能性(資源)114和相對應的服務功能115可以在指定時間可用,而且更重要的是它們可以用于什么。為了利用這種動態(tài)性,必需的是,在運行時間而不是設計時間可以發(fā)現(xiàn)并組合服務功能性114、115。因此,作為示例,所述實施例使用語義Web技術,因為如果根據(jù)計算機可讀語義116充分地自述計算機網(wǎng)絡資源114、115,則可以建立足夠理解有關資源114、115的基礎結構100,所以作為計算機系統(tǒng)服務110,為了通過使終端用戶自己理解資源114、115提供什么并可以用于什么,允許他們做應用開發(fā)者通常所做的。語義Web的概念是公知的。
更具體地,根據(jù)所述實施例,任務計算100利用公知的語義Web和Web服務的概念。然而,為了在真正動態(tài)且ad-hoc遍布式計算環(huán)境中陳述真實的、功能系統(tǒng),根據(jù)所述任務計算100,建立并實現(xiàn)下列(1)如圖1所示,向功能110的計算機系統(tǒng)源提供任務接口130。任務接口130包括任務計算系統(tǒng)(TCS)118,該任務計算系統(tǒng)(TCS)118被邏輯地劃分成(1)表示處理層104,該表示處理層104包括任務計算客戶端(TCC)119,和(2)中間件服務器處理層108,在表示層104處,TCC119利用諸如任務計算環(huán)境(TCE)Web服務API106(例如,STEER-WS API 120和PIPE-WS API 122)的遠程過程調用機制API106與該中間件服務器處理層108交互連接。API106暴露中間件服務器處理層108要由表示處理層104交互連接。任務接口130還包括語義描述服務功能115的語義服務描述(SSD)116層。經(jīng)由TCC119和執(zhí)行例如作為要根據(jù)提供的控制命令通過中間件處理層108執(zhí)行的任務126的一部分的服務功能115,通過要在表示層104處(例如,經(jīng)由TCC119并且基于針對要執(zhí)行的服務功能115的SSD116在表示層104處)呈現(xiàn)的中間件處理層109發(fā)現(xiàn)SSD116。
(2)分離語義服務描述(SSD)116和服務實現(xiàn)115,以一起設置服務層112;(3)通過構想“球體”的概念作為運行在計算機110上并且可通過遠程任務計算客戶端119訪問的遠程過程調用API的子集,分離發(fā)現(xiàn)(作為可能的情況,服務或保存的任務的發(fā)現(xiàn))機制與發(fā)現(xiàn)范圍,和在這些范圍之內(nèi)和之間的服務112的操縱能力,以完成針對服務112的發(fā)現(xiàn)范圍。
(4)針對用戶(和應用)的能力,以動態(tài)地創(chuàng)建并操縱可以構成可用的并且與其它共享(或者在需要時構成無用的)的服務112(即,提供服務控制管理);以及(5)提供多種使得能夠實現(xiàn)有意義且真正有用的任務126的服務112。
因此,如圖1A所示,在建立其中用戶可以執(zhí)行沒有(既非隱含地也非明確地)設計成計算機網(wǎng)絡系統(tǒng)的復雜任務的任務計算100中,上述層的分離是邏輯(概念)和實現(xiàn)、有用性兩者,由此,倍增功能性114、115(裝置、應用、內(nèi)容以及電子服務)的源的使用。本發(fā)明不限于語義Web和其它語義類型技術或框架,該框架允許要共享數(shù)據(jù)并且交叉地再使用可以由所述實施例使用的應用、事業(yè),以及共用邊界。
在圖1A中,作為最底層的功能源實現(xiàn)層114包含其中發(fā)起針對用戶的所有可用功能性的計算機裝置、計算機應用/軟件、電子服務以及計算機(或機器,或兩者)可讀內(nèi)容的全域。功能源114的服務功能115(下面更詳細地描述)是功能性的計算的實施例。這種服務功能性115一般源自至少三種不同類型的源114裝置、應用(軟件)以及Web電子服務。因為這三種源114之間的邊界可以高度地擴展,所以它們被松散地定義并且不限制類別。在一示例中,發(fā)起服務115的裝置114是裝置114被設計成遞送的核心功能性。例如,電話(裝置)114的主要功能性是進行電話呼叫(服務)115。類似地,發(fā)起功能性的應用(軟件)114是在計算裝置114上執(zhí)行的軟件114的服務功能115。例如,個人信息管理(PIM)應用的功能性包括存儲和檢索聯(lián)系人信息。最后,電子服務和/或內(nèi)容114服務功能性115例如是超過用戶的局部網(wǎng)絡的邊界,在一些遠程服務器上執(zhí)行以通過訪問Web來遞送服務功能性115的服務功能115。作為功能性114的第四源的內(nèi)容可以非常有用,即,構成可用的內(nèi)容作為服務功能115;這種類型的服務功能115可以非常便利的作為用戶之間的信息共享機制。因此,在此,“服務”112指根據(jù)計算機裝置、計算機應用/軟件、電子服務以及計算機(或機器,或兩者)可讀內(nèi)容的功能源實現(xiàn)層114的全域的功能性的計算的實施例。因此,作為根據(jù)功能源實現(xiàn)層114的功能性的計算的實施例的“服務”112具有用于與“服務”112交互的接口特征,其可以包括“服務”的描述(該“服務”的描述包括服務的名稱、執(zhí)行的功能等)和服務的諸如向“服務”112輸入/輸出的功能性特征。此外,根據(jù)所述實施例,針對計算機系統(tǒng)服務110的計算機實現(xiàn)用戶接口是根據(jù)基于“服務”112的本體輸入數(shù)據(jù)和輸出數(shù)據(jù)語義地描述的。例如,為在顯示投影儀上顯示文件而在語義服務描述(SSD)116中描述的服務12可以命名為“通過投影儀觀看”,其接受“文件”作為輸入而非輸出參數(shù)。
在圖1A中,服務層112是經(jīng)由語義服務描述(SSD)116計算構成可用為服務功能115的功能性114的源。SSD允許發(fā)現(xiàn)并訪問(執(zhí)行)服務功能115。各服務功能115與至少一個例如根據(jù)OWL-S編碼的語義服務描述(SSD)116相關聯(lián),其是基于利用資源描述框架(RDF)/可擴展標記語言(XML)交換語法的Web本體語言(OWL)的Web服務本體語言,并且可以經(jīng)由PIPE-WS TCC 118b在傳輸過程中創(chuàng)建SSD116,作為可能動態(tài)地創(chuàng)建(制成可用)的服務115。所述SSD實施例不限于OWL-S實現(xiàn),而是針對描述可以使用包括Web服務的計算機系統(tǒng)服務功能115的特性和能力來構成任何計算機可解釋的語言。SSD116包括三部分簡檔(profile),處理以及建立基礎。其中,簡檔部分允許用戶在語義層操縱服務115,而建立基礎部分允許用戶實際地調用服務115。服務115表示在任務計算全域100中的可用功能性,而這些服務115的SSD116旨在根據(jù)服務功能性115的基礎的源的復雜性來屏蔽用戶,并且使對于用戶來說容易在完成有意義且復雜的任務中采用這些服務源115。在本申請的受讓人富士通株式會社擁有的由Ryusuke Masuoka、Yannis Labrou、Zhexuan Song于2003年12月12日在美國專利商標局提交的題為“任務計算”的相關共同轉讓未審美國專利應用No.10/733328(Attorney DocketNo.1634.1007)中,描述了語義描述的服務116的實施例,其全部內(nèi)容通過引用被并入于此。
在圖1A中,中間件服務器處理層組件108負責發(fā)現(xiàn)服務115、116(或112),確定服務115、116怎樣可以組成可執(zhí)行任務,執(zhí)行服務并監(jiān)視服務執(zhí)行,以及使得能夠實現(xiàn)并易于包括語義地描述的服務116的創(chuàng)建和發(fā)布的多種管理操作。換句話說,中間件處理層組件108的目的是提取全部服務資源115,作為對于試圖操縱它們的用戶或應用來說可以制成可用(例如,經(jīng)由TCC119在表示層處)的語義描述的服務116。
在圖1A中,表示處理層104利用中間件處理層108的能力,以使得用戶能夠通過組合所有可用服務功能性116、115(112)來執(zhí)行任務。利用稱為WS TCC、WS應用以及/或WS基于Web的接口應用(可用Web瀏覽器訪問)(在此都稱為WS TCC)的Web服務118a-n的多種可編程計算客戶端(例如,軟件客戶端、可編程計算硬件客戶端,或兩者等)被設置成經(jīng)由中間件處理層108通過組合所有可用服務功能性112來執(zhí)行任務。根據(jù)所述實施例,通過定義明確的Web服務應用編程接口(WSAPI)106來暴露中間層組件108,由此,允許創(chuàng)建利用這些API的WS任務計算客戶端(WS TCC)119。
為了不受限制的訪問諸如服務112發(fā)現(xiàn)、組成、執(zhí)行、保存、創(chuàng)建、管理的任務計算的核心功能性,在中間件處理層108處定義任務計算環(huán)境Web服務API 106,以開放可能性的整個陣列。例如,WS TCC 119不一定是任務計算模塊的具體實現(xiàn),只要用戶可以進行Web服務106調用,該用戶就可以在任何平臺上工作,并且使用任何編程語言,以創(chuàng)建WCCTCC 119和訪問服務112。
因此,在圖1A中,根據(jù)所述實施例,提供任務計算環(huán)境-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,而當用于提供針對交叉環(huán)境任務計算(下面將更詳細地討論)的“球體”時稱為管理(SoM)-WS API 123的球體。根據(jù)本發(fā)明實施例,在此將描述下列在此,將更詳細地描述各種Web服務任務計算客戶端(WS-TCC)119a實施例,如語義任務執(zhí)行編輯器-Web服務(STEER-WS TCC)119a,其基于STEER-WS API 120并且是用于發(fā)現(xiàn)并組成可執(zhí)行任務為語義地描述的服務116的軟件。作為WS TCS 118的表示層104組件的STEER-WS TCC 119a提供多種計算機實現(xiàn)用戶接口。因此,在此將描述被稱為STEER-WS-擴展(XT)TCC 119a-1的計算機顯示圖形用戶接口,計算機顯示圖形用戶接口嵌入在諸如移動電話的無線電裝置中,并且被稱為移動電話STEER-WS TCC 119a-2、STEER-WS-空間信息系統(tǒng)(SIS)TCC 119a-3、語音STEER-WS TCC 119a-4,以及軟中斷-WS TCC 119a-5。
而且,在此將基于PIPE-WS API 122描述應用客戶端119,其是為管理服務112(如創(chuàng)建、移去、修改服務112)的語義描述的服務控制機制(SDSCM)119b。具體地,在此將描述“服務管理器”119b-2、“真實世界對象語義化器119b-3、數(shù)據(jù)庫語義化器119b-4,以及介質發(fā)布器119b-5。
而且,在此將描述用于交叉環(huán)境服務112發(fā)現(xiàn)并執(zhí)行的“管理的球體”的概念。
而且,在此將描述語義服務描述(SSD)116的延伸的用法(高級的行為),如通信語言適應(例如,口語國際化)和新的參數(shù)。SSD116是傳播媒介,用于從服務115自身向WS-TCC 119傳送服務115的參數(shù)。更具體地,實現(xiàn)了用于增強任務計算100環(huán)境的新的種類的參數(shù),包括針對服務112輸入的不嚴格的類型、服務112的位置、多語言服務112,以及服務112管理功能。
而且,在此將描述針對服務112的訪問控制。
而且,在此將描述任務計算客戶端119內(nèi)部服務,如實例創(chuàng)建器、實例復制器、實例截獲器、實例保存器以及特性選擇器。
而且,在此將描述設計并實現(xiàn)的新的服務112,其包括(1)語義實例串行化服務,(2)信息提供服務,(3)時間/溫度服務,(4)快照服務,(5)OWL格式器服務,以及(6)文本格式器服務。
用戶接口-STEER-WS-XT TCC 119a-1圖1B是根據(jù)本發(fā)明實施例作為在表示層104處利用STEER-WS-XTTCC 119a-1的計算機實現(xiàn)的任務接口的計算機顯示圖形用戶接口的圖像。在圖1B中,計算機顯示圖形用戶接口窗口142是發(fā)現(xiàn)的服務112窗口(或發(fā)現(xiàn)窗格)142,其根據(jù)發(fā)現(xiàn)的服務112的圖標樹形結構進行顯示。根據(jù)所述實施例的一方面,根據(jù)基于本體和/或其它類別(如(不限于)友好的名稱、服務的類型、字母順序等)的服務112的任何類型的分級類別,在發(fā)現(xiàn)的服務窗口142中組織服務112。計算機顯示圖形用戶接口窗口144是任務窗口(或任務126構造窗格)144,其是包括針對多輸入/輸出的服務112的非線性組成的定向服務112圖形。在圖1B中,任務126窗口144采用非限制示例顯示包括五個服務112的任務126。具體地,任務126是“通過我的投影儀112觀看根據(jù)我的聯(lián)系人112的家庭地址112和商業(yè)地址112的112的路由”。
在圖1B中,根據(jù)所述實施例,在服務窗122中針對選擇的服務112,SSD116窗口150顯示SSD116參數(shù)/特性。SSD窗口135例如可以在測試作為組成任務126的一部分的任務126中是有用的。
在圖1B中,任務窗口144提供已經(jīng)在發(fā)現(xiàn)的服務窗口142中選擇的服務112的可選圖形顯示。在任務窗口144中,依據(jù)選擇的發(fā)現(xiàn)的服務112,自動地識別根據(jù)基于本體的服務的功能特征的兼容服務,并且服務112的圖形顯示針對選擇的發(fā)現(xiàn)的服務還自動地包括一個或更多表示可用或有效(兼容)服務112的可選功能特征按鈕145a-n。選擇的功能特征按鈕顯示可以消耗前述服務112的制作的其它發(fā)現(xiàn)的服務112的可選列表,由此,如通過顯示連接服務112的圖形顯示的線所示,同時組成一個或更多服務112創(chuàng)建任務126。更具體地,在任務窗口142中,用戶組成定向服務112圖形作為任務126。對于利用服務112的輸入/輸出數(shù)據(jù)對象類型作為服務112的功能特征的情況,輸出功能特征按鈕145a與輸入功能特征按鈕147a按顏色或任何其它已知的計算機顯示區(qū)別方法區(qū)別。
下面,進一步更詳細地描述移動電話STEER-WS TCC 119a-2、STEER-WS-SIS TCC 119a-3、語音STEER-WS TCC 119a-4,以及軟中斷-WS TCC 119a-5的其它STEER-WS TCC 119a計算機實現(xiàn)用戶接口。
參照圖1A和1B,任務計算100系統(tǒng)具有這樣的結構,即,該結構提供用于在當前環(huán)境中尋找可用服務、構成并操縱該可用服務的用戶中心任務視圖,以及執(zhí)行組成多服務所導致的任務的基礎。甚至在需要時讓終端用戶動態(tài)且容易地創(chuàng)建新的服務。任務計算100系統(tǒng)的三個特征/要素如下(1)把所有功能性114、115統(tǒng)一抽象為服務112。如在此所述,在任務計算100中,中間件服務器處理層108用于把所有資源抽象為語義描述的服務112。語義描述的服務是通過遠程過程調用可用的服務功能115,如(不限于)WSDL(Web服務描述語言)、UPnP(通用即插即用)、CORBA、RMI、RPC、DCE、DCM服務功能115),對于該服務功能115來說,在打算用于描述服務(例如,OWL-S)的語言中已經(jīng)指定語義描述(文件)116。當指定這種語義描述116時,指定的本體被指定用于服務116、115(112)作用的域。關于本體,可以使用軟件工具創(chuàng)建本體,并且無論何時都可以使用可能存在或有用的本體。OWL-S服務描述116表示作為語義對象的語義化的服務功能115的功能特征(例如,輸入和輸出),和服務112的擁有者、創(chuàng)建器、位置等。描述還包括基礎信息,以使可以恰當?shù)貓?zhí)行實際的WSDL和/或UPnP服務。在提供這些描述語義化器工具中,如在此描述和/或引用的(不限于)真實世界對象語義化器119b-4、數(shù)據(jù)庫語義化器119b-5、內(nèi)部服務實例創(chuàng)建器等,已經(jīng)被用于將本體對象映射成WSDL參數(shù)并且創(chuàng)建任何必需的基礎(通過XSLT腳本表示基礎)。基于在表示客戶端處理層104處提供的直觀的任務126用戶接口,已經(jīng)為中間件服務器處理層108提供Web服務接口106。
任務計算中間件還可以被視為語義服務描述的動態(tài)儲存庫。除在此討論的用于訪問并操縱這些描述的API106之外,通過實現(xiàn)一API提供為直接查詢這個儲存庫的方法,該API針對服務描述處理任何RDF查詢語言(RDQL)查詢(JENA2.0被用作用于RDQL查詢的處理的示例)。例如,即使沒有提供針對該目的的明確的API,開發(fā)者也可以根據(jù)服務的一些特征(如,位置)針對任務組成過濾向用戶呈現(xiàn)的服務。這個能力延伸應用開發(fā)者的能力,并且作為確定的查詢變得更有用,它們可以永久地增加至作為執(zhí)行預定RDQL查詢的API106的中間件。
把功能性抽象為服務112使功能性普遍地可訪問,并且允許任務計算基礎結構與這種功能性交互。任務計算100系統(tǒng)把用戶的計算裝置(根據(jù)應用和OS)的、環(huán)境中的裝置的以及因特網(wǎng)上的可用電子服務的功能性114、115變換成抽象的服務112。這種抽象為在環(huán)境中具有很少預定以處理可用功能性鋪平道路,但是單獨地不能滿足為提供用戶把功能性實時操縱并組成任務126的需要,以致所述實施例還提供表示層104,以支持包括多個服務112的任務126的實時、動態(tài)的管理。
(2)基于語義服務描述(SSD)116提供抽象的服務112的直觀的(針對用戶和/或系統(tǒng))操縱。服務112的直觀的操縱通過語義服務描述(SSD)116的使用而成為可能;本體是用于完成這種用戶和/或系統(tǒng)直觀的操縱的機制。在本申請的受讓人富士通株式會社擁有的由RyusukeMasuoka、Yannis Labrou、Zhexuan Song于2003年12月12日在美國專利商標局提交的題為“任務計算”的相關共同轉讓未審美國專利應用No.10/733328(Attorney DocketNo.1634.1007)中,描述了SSD116的概念,其全部內(nèi)容通過引用被并入于此。
例如,如果代替SSD的116,僅功能115的WSDL(Web服務描述語言)源用于描述Web服務的功能特征,則WSDL-描述的Web服務需要程序設計員理解它們的語義(超過WSDL描述)并且為正確地使用服務而開發(fā)代碼。結果,終端用戶與功能性的交互受按開發(fā)者預定的方式的這些程序的范圍的限制。通過把本體對象映射成功能115源的諸如(不限于)WSDL參數(shù)的參數(shù)并且創(chuàng)建任何必需的基礎,附加的語義(在SSD116中提供的)允許任務計算100基礎結構在不需要深層知識的情況下,幫助用戶操縱服務。例如,語義可以用于約束由用戶進行的服務的操作,或者在當前的環(huán)境中向用戶呈現(xiàn)可以的任務126。如果針對基于服務的語義輸入和輸出的服務組成僅依靠WSDL,則該組成隨著消耗XML模式定義(XSD)串的另一組成而不限制服務的例如制作XSD串的任何組成,由此可能導致沒有可執(zhí)行(無效)的服務組成。因此,根據(jù)所述實施例,“組成”指根據(jù)提供的如語義地描述的服務112的功能特征(如(不限于)服務112的語義輸入和輸出),例如,針對服務112的輸入(消耗)/輸出(制作)的數(shù)據(jù)對象類型,通過把多個服務112合在一起形成。服務的功能特征的示例可以是用于確定服務可組成性的服務112的前提條件和結果。服務112的前提條件和結果的示例可以是針對服務112的輸入和輸出數(shù)據(jù)對象類型。具體地,服務112的SSD116提供服務輸入和輸出的更細的粒度,以使例如生成“地址”語義對象的服務僅將組成有語義地兼容服務。
提供服務112的用戶直觀操作的另一機制是通過賦予恰當?shù)母鶕?jù)自然語言的服務名稱,如“從我家路由至”服務名稱,兼容服務的組成的服務名稱可以用作自然語言任務126呈現(xiàn)(例如,“通過投影儀觀看”112+“我的文件”112,“從公司-1路由至”112“城市名稱機場”112)。本體還可以支持諸如基于子類-超類關系的組成的機制,和對于終端用戶來說非常自然的語義對象變換。因此,任務126的組成是基于自然語句的,或者換句話說,組成的任務126像自然語句一樣讀取。更具體地,所述實施例為支持服務的可組成性向服務提供指定名稱作為自然語句的要素(例如,短語),以映射到作為自然語句的自然語言要素的組成中。因此,任務計算100系統(tǒng)允許非常富且有意義的方式用于終端用戶與環(huán)境110的服務交互。
(3)用戶可以經(jīng)由例如圖1B所示的基于(1)和(2)的計算機實現(xiàn)用戶接口引導任務126的實時和/或動態(tài)(后綁定類型)組成。
TCE Web服務應用編程接口(TCE-WS API)106圖2是根據(jù)本發(fā)明實施例的STEER-WS API 120的示例定義的列表。在圖1A和1B中,STEER-WS TCC 119a是提供便利的用戶接口以發(fā)現(xiàn)并過濾服務112、組成、執(zhí)行以及保存服務112作為任務126的WS TCC 119。其是TCE-WS API 106的STEER-WS API 120將任務計算功能性抽象成獨立模塊并暴露它們?yōu)橥ㄟ^任何WS TCC 119(舉例來說,如STEER-WSTCC 119a)可訪問的標準Web服務接口。
如圖2所示,通過由Web服務106暴露任務計算中間件服務器處理層108的功能性,可以根據(jù)任務計算中間件服務器處理層108的模塊的實現(xiàn)釋放表示處理層104處的WS TCC 119。只要可以進行服務106調用,WS TCC 119開發(fā)者就可以在任何操作系統(tǒng)上使用任何編程語言,由此提供WS TCC 119。甚至可以進行Web服務調用(或者可以并入Web服務調用能力)的第三方應用(MICROSOFT WORD、EXCEL、OUTLOOK、ADOBE ACROBAT等)都可以是潛在的WS TCC 119。
在圖2中,在STEER-WS API 120中支持諸如發(fā)現(xiàn)、組成、執(zhí)行、監(jiān)視、保存等的功能性。通常,諸如STEER-WS API 120和PIPE-WS API122(下面,將參照圖5A-B進行更詳細的描述)的TCE-WS API 106依靠服務112識別器(SID)參數(shù),該服務112識別器(SID)參數(shù)是統(tǒng)一地識別在SSD116中描述的語義地描述的服務功能115的事物。典型地,根據(jù)所述實施例,SID是針對在SSD116中描述的語義描述的服務功能115的統(tǒng)一資源定位器(URL)的串。例如,圖3A示出了使用STEER-WSAPI 120以同步有關發(fā)現(xiàn)的服務112的局部知識的示例計算機源代碼300。圖3B示出了利用STEER-WS API 120以調用具有多個服務112的任務126的另一示例計算機源代碼310。在一非限制實施例中,在圖3B中,服務列表參數(shù)是輸入的串,該輸入的串例如使用“&”界定多個任務,而使用“|”界定在一任務內(nèi)的服務112識別符,并且WS TCC 119可以在它自己的代碼中具有圖3B中的程序循環(huán),以調用并監(jiān)視任務執(zhí)行。因此,在本發(fā)明中,在中間件服務處理層108中利用TCE WS API 106來調用遠程過程的諸如圖3A-3B的源代碼是諸如STEER-WS TCC 119a的WS TCC119的實施例實現(xiàn)。
圖4是根據(jù)本發(fā)明實施例STEER-WS TCC 119a的中間件服務器處理層108程序模塊的功能框圖。如圖1和4所示,STEER-WS TCC 119a的中間件處理層108包括中心模塊402,該中心模塊402根據(jù)來自表示處理層104的經(jīng)由STEER-WS API 120的Web服務106請求,對服務112發(fā)現(xiàn)模塊404、執(zhí)行模塊406,以及監(jiān)視模塊408進行控制。中心模塊402包括服務112語法分析和索引模塊410和服務112組成和任務126執(zhí)行計劃模塊412。服務112語法分析和索引模塊410提供登記接口422,其允許發(fā)現(xiàn)模塊404登記/不登記發(fā)現(xiàn)的服務112。發(fā)現(xiàn)模塊404包括一組單獨發(fā)現(xiàn)模塊,如局部發(fā)現(xiàn)模塊414、諸如UPnP的第三方服務功能115發(fā)現(xiàn)模塊416,遠程站點發(fā)現(xiàn)模塊418,以及發(fā)現(xiàn)模塊管理420,該發(fā)現(xiàn)模塊管理420具有確定各發(fā)現(xiàn)模塊是否應當在不同環(huán)境110中使用的管理功能。
根據(jù)所述實施例的一方面,服務發(fā)現(xiàn)模塊404經(jīng)由第三方發(fā)現(xiàn)模塊416或利用遠程第三方發(fā)現(xiàn)模塊418n的遠程站點發(fā)現(xiàn)模塊,根據(jù)任何服務功能115發(fā)現(xiàn)機制來發(fā)現(xiàn)服務功能115。第三方發(fā)現(xiàn)機制416舉例來說可以是通用即插即用(UPNP)技術、JINI技術、BLUETOOTH等,或其任何組合。例如,在第三方發(fā)現(xiàn)模塊416中可以使用CYBERLINK UPNP和/或INTEL UPNP TOOLKIT實現(xiàn),以通過UPnP在子網(wǎng)內(nèi)發(fā)現(xiàn)服務描述廣播。而且,服務發(fā)現(xiàn)模塊401可以經(jīng)由局部發(fā)現(xiàn)模塊414和遠程站點發(fā)現(xiàn)模塊418發(fā)現(xiàn)語義服務描述(SSD)116。
根據(jù)所述實施例的一方面,HEWLETT-PACKARD DEVELOPMENTCOMPANY的JENA用于存儲SSD116。語法分析和索引模塊410包括語法分析和分析功能,以語法分析和分析SSD116。例如,根據(jù)所述實施例的一方面,在MINDLAB,UNIVERSITY OF MARYLAND,USA的PELLET和OWL-S API的支持下,利用HEWLETT-PACKARDDEVELOPMENT COMPANY的JENA語法分析SSD116。具體地,“發(fā)現(xiàn)服務112”等同于“找到服務112的SSD116”。通過登記接口422向中心模塊402發(fā)送可通過服務發(fā)現(xiàn)模塊404中的一個發(fā)現(xiàn)的SSD116,其中首先例如通過由PELLET支持的JENA語法分析SSD116。一旦語法分析了SSD,PELLET就準備回答RDQL查詢。通過詢問來自服務112語法分析和索引模塊410的查詢并且基于查詢結果,服務112組成和任務126執(zhí)行計劃模塊412完成作為任務126的服務112的組成,并且響應于來自TCC119的任務126執(zhí)行命令確定針對任務126的執(zhí)行計劃。一旦確定了執(zhí)行計劃,中心模塊402就經(jīng)由執(zhí)行模塊406調用現(xiàn)有的服務功能115,該執(zhí)行模塊406包括設置在SSD116中以調用服務功能115的基礎調用424。發(fā)現(xiàn)模塊404發(fā)現(xiàn)可以包括服務功能115和語義服務描述(SSD)116的服務112。上述服務112語法分析和索引410不限于這種設置,而是除了JENA和PELLET之外還可以使用用于語法分析和分析SSD116的任何機制。
根據(jù)所述實施例的一方面,作為獨立模塊,只要根據(jù)Web服務API106實現(xiàn)統(tǒng)一且高度抽象的發(fā)現(xiàn)和執(zhí)行機制,例如,通過實現(xiàn)針對基礎BLUETOOTH SDP、IR、RENDEZVOUS、JINI等404、406的Web服務接口106,WS TCC 119就可以使用任何種類的基礎的服務112發(fā)現(xiàn)機制404或執(zhí)行機制406。因此,例如,用戶需要指定的唯一事物是用于STEER-WS API 120的Web服務定義語言(WSDL)文件的統(tǒng)一資源定位器(URL),以與服務層112(例如,發(fā)現(xiàn)的服務115、116)交互連接。只要提供Web服務API 106,在表示處理層104中的WS TCC 119處根據(jù)TCE-WS API 106的整個基礎的發(fā)現(xiàn)過程對于用戶來說就是透明的。例如,STEER-WS API 120a中的一個可以是利用BLUETOOTH發(fā)現(xiàn)模塊404來尋找并執(zhí)行基于BLUETOOTH的服務112。另一STEER-WS API120n可以利用UPnP發(fā)現(xiàn)模塊404。
在圖1A中,PIPE-WS TCS 118b是用于發(fā)布并管理語義對象實例的WS TCS 118的另一示例。PIPE-WS API 122將任務計算管理功能性124抽象成獨立模塊并把它們暴露為可通過任何WS TCC 119訪問的標準Web服務接口106,如“白洞”119b-1、“服務管理器”119b-2、“真實世界對象語義化器”119b-3,以及“數(shù)據(jù)庫語義化器”119b-4。更具體地,PIPE-WS API 122針對PIPE-WS TCC 118b提供Web服務接口106,以管理服務112,如發(fā)布操作系統(tǒng)或方法對象、裝置服務等。
圖5A-5B是根據(jù)本發(fā)明實施例的PIPE-WS API 122的示例定義的列表。PIPE-WS API 122使得能夠容易創(chuàng)建任務計算服務112。例如,如圖5A所示,通過調用具有參數(shù)Web、數(shù)據(jù)、針對OWL對象的設置的“插入”Web服務122中的一個,PIPE-WS TCS 118可以根據(jù)具有指定特性的指定的OWL對象創(chuàng)建服務112。針對在串中的Web服務,通過調用具有參數(shù)的、數(shù)據(jù)、針對OWL對象的設置的“插入”Web服務122中的一個,該調用的一個可以使Web服務可用為具有指定特性的任務計算服務112。通過調用“移去”Web服務122,其可以立即使任務計算服務112不可用。
交叉環(huán)境發(fā)現(xiàn)和執(zhí)行根據(jù)所述實施例,隨著Web服務接口106的支持,任務計算中間件服務器處理層108a通過Web服務訪問其它任務計算中間件服務器處理層108n模塊可以合并用于交叉環(huán)境發(fā)現(xiàn)和執(zhí)行機制的“管理的球體”的新的概念。在此,用于交叉環(huán)境發(fā)現(xiàn)和執(zhí)行的TCE-WS API 106的集(例如,STEER-WS PAI 120和PIPE-WS API 122的子集)被稱為“管理(SoM)-WS API的球體”123。因此,SoM-WS API 123被用于管理(提供)遠程服務112。在此,“交叉環(huán)境”通常指考慮到這樣的計算機系統(tǒng)網(wǎng)絡特征,即,作為不同或其它網(wǎng)絡環(huán)境(例如,私有網(wǎng)絡、虛擬私有網(wǎng)絡、子網(wǎng)、企業(yè)內(nèi)部互聯(lián)網(wǎng)等)的多個子網(wǎng)110a-n基于已知技術相互通信,并且各計算機網(wǎng)絡環(huán)境可能包括功能110的計算機網(wǎng)絡服務或源(即,功能源實現(xiàn)層114和服務層112),其作為任務計算環(huán)境100的一部分應當可發(fā)現(xiàn)且可執(zhí)行。
根據(jù)所述實施例的一方面,下列STEER-WS API 120(圖2)被用作SoM-WS API 123。
checkExecutionStatusexecuteServicefilterServicebyPropertiesfindAllServicesgetServiceDescriptionqueryByRDQL根據(jù)所述實施例,為了實現(xiàn)“球體”,SoM-WS API 123n中間件服務器處理程序108n在另一遠程計算機系統(tǒng)110n上執(zhí)行。中間件服務器處理程序108a實例可以經(jīng)由TCE-WS API 106n實例(即,遠程“球體”API 123n)或實現(xiàn)遠程API以合并運行在不同網(wǎng)絡、不同平臺以及/或不同技術(例如,BLUEBOOTH)下的服務112的任何事物內(nèi)部地訪問其它“球體”中間件服務器處理層108n實例,發(fā)現(xiàn)服務112并執(zhí)行服務112,作為任務126。
因此,通過諸如提供針對交叉環(huán)境服務112發(fā)現(xiàn)、發(fā)布、執(zhí)行以及管理的一致視圖的SoM-WS API 123的遠程API的集合來實現(xiàn)“球體”?!扒蝮w”的概念被延伸至“過濾的球體”?!斑^濾的球體”是一對交叉環(huán)境服務112發(fā)現(xiàn)SoM WS API 123和服務112過濾器。WS TCC 119在其把一鏈接增加至具有(或沒有)友好的“球體”名稱的遠程球體API 123時施用過濾器,并稱其為“過濾的球體”。一般,過濾的SoM-WS API 123提供任選串作為友好的“球體”名稱,并且需求針對服務112發(fā)現(xiàn)SoM-WSAPI 123的URL和需求根據(jù)RDF數(shù)據(jù)查詢語言(RDQL)的(局部的)查詢(例如,串),該URL是根據(jù)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”,“l(fā)ocation eq‘Conference Room)在前述兩個實施例中,“owner eq‘Bob Smith’”和“l(fā)ocation eq‘Conference Room’”都是作為服務112過濾器的RDQL查詢的示例。在第一種情況中,根據(jù)其中服務112特性“owner”等于“Bob Smith”(或被“Bob Smith”擁有)的這些服務112過濾“My services at Company-1”。具體地,查詢是根據(jù)服務參數(shù)的值。在這種情況下,查詢確定“Bob Smith”是否等于服務特性“owner”的值。當STEER-WS TCC 119a使用過濾器尋找來自STEER-WS API 120的服務112時,僅與過濾器匹配的服務112在友好的服務名稱限定的類別下示出。只要STEER-WS API 120可以理解過濾器,該過濾器就不必是完整的RDQL查詢。因此,當過濾服務112的概念被應用為“球體”時,“過濾的球體”或“虛擬球體”可以被實現(xiàn)為僅在遠程計算機系統(tǒng)110中提供的過濾的服務112。換句話說,在服務112發(fā)現(xiàn)中指定查詢,實現(xiàn)用戶的“虛擬球體”或“子球體”。
因此,根據(jù)所述實施例,單一“球體”可以提供多個“過濾的球體”。只要過濾器不同,WS TCC 119用戶就獨立地察覺針對不同“過濾的球體”找到的服務112的集合。過濾機制不僅可應用于在遠程球體123API上的服務112發(fā)現(xiàn)機制,而且可應用于局部遍布式(例如,UPnP)服務發(fā)現(xiàn)機制。
圖6是根據(jù)本發(fā)明實施例的基于回叫的交叉環(huán)境服務目錄的流程圖。在圖3A中討論的方法是基于輪詢的針對服務115、116(112)發(fā)現(xiàn)的解決方案。為了實現(xiàn)交叉環(huán)境任務計算,在此,參照圖6描述交叉環(huán)境服務112發(fā)現(xiàn)和執(zhí)行的另一方法。根據(jù)圖6,基于回叫的針對交叉環(huán)境服務目錄包括首先,在STEER-WS API 120中增加/提供調用“通知(串消息)”120的新的Web服務接口。在操作600,為了在另一計算機環(huán)境110內(nèi)發(fā)現(xiàn)服務112,經(jīng)由諸如STEER-WS API 120a的TCE WS API 106a,WS TCC 119(A)經(jīng)由“通知”STEER-WS 120a將其自身登記至在該其它計算機環(huán)境110n中的另一遠程TCE WS API 106n(在此稱為SoM WSAPI 123n(B))。如上所述,其在遠程或其它計算機環(huán)境110n中執(zhí)行的SoM WS API 123n實現(xiàn)“球體”。在操作602,當B后發(fā)現(xiàn)新的服務112(或服務112移去的那一些)時,使用A的“通知”Web服務接口106a,以允許A知道該改變。在操作602,任一消息都包括新近發(fā)現(xiàn)的服務112或A的識別,在操作604,可以使用“findAllServiceIds”Web服務120,以檢索最近的信息。基于回叫的解決方案的益處是(1)高效,因為A不必一次又一次地輪詢B;和(2)支持即時發(fā)現(xiàn)。而且,在基于輪詢的解決方案中,如果B具有任何改變,則A不能找到B直到下一輪詢?yōu)橹梗诨诨亟械慕鉀Q方案中,A幾乎立即找到B。然而,基于回叫的解決方案可能具有這樣的缺點,即,如果A處于防火墻后,則因為A的Web服務106a從B不可訪問,所以致使基于回叫的解決方案不能工作。因此,基于輪詢的解決方案具有當已經(jīng)實現(xiàn)了防火墻時在交叉計算機環(huán)境110中工作的益處。而且,基于輪詢的解決方案具有需求單向連接的益處。
在圖3B中,執(zhí)行樣本源代碼可以被用于交叉環(huán)境任務126執(zhí)行。為了使過程針對用戶透明化,當語法分析交叉環(huán)境服務115的語義服務描述(SSD)116時,SSD116的基礎部分可以針對要點重寫至其它交叉環(huán)境110的TCE Web服務API(TCE-WS API)106,或者另選地,實現(xiàn)TCE-WS API 106的其它交叉環(huán)境終端可以重寫SSD116(即,重寫OWL-S),以按執(zhí)行通過指定Web服務106的方式通過其TCE-WS API106提供SSD116。
圖7是根據(jù)本發(fā)明實施例的交叉環(huán)境服務目錄和執(zhí)行的網(wǎng)絡圖。在圖7中,各WS TCC 118(例如,STEER-WS TCC 1-4)在其中存在功能112的服務或源的子網(wǎng)絡110內(nèi)都具有它自己的發(fā)現(xiàn)范圍。典型地,在本發(fā)明中,服務112發(fā)現(xiàn)范圍受限于在服務112發(fā)現(xiàn)中使用的基礎技術。例如,如果UPnP被用于發(fā)現(xiàn)察覺的服務112,則UPnP不能找到不在或在同一子網(wǎng)絡110之外的服務112。
因此,在此,基于STEER-WS API 120和PIPE-WS API 122技術,來描述交叉環(huán)境服務112發(fā)現(xiàn)、發(fā)布、執(zhí)行以及管理。如圖7所示,諸如STEER-WS TCC 119a的多WS TCC 119在不同網(wǎng)絡環(huán)境中運行/執(zhí)行,在它自己的范圍110a內(nèi),STEER-WS TCC 119a可以找到服務112的集合。接著,通過利用STEER-WS TCC 119a服務120,STEER-WS TCC 119a可以與其它STEER-WS TCC 119n的Web服務實例120通信/交互連接,并且獲得它們的服務112發(fā)現(xiàn)結果。
在圖7中,作為示例,存在被稱為STEER客戶端1到4的四個STEER-WS TCC 119a1-n。每個都具有它自己的發(fā)現(xiàn)范圍110a(其被描繪為一片云)。各STEER-WS TCC 119a都具有Web服務API 120。為了發(fā)現(xiàn)其范圍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發(fā)現(xiàn)的所有服務。一旦檢索到服務id列表,STEER客戶端3就使用“fingAllServiceProperty”Web服務120(圖2),以檢索服務115的語義服務描述116,并將它們登記在它自己的引擎中。在登記期間,創(chuàng)建新的服務112識別。該識別指示服務112是遠程服務112(遠程服務識別符),并且該識別被從那里最初地發(fā)現(xiàn)。現(xiàn)在,STEER客戶端3可以使用服務115、116(112),好像它們處在它自己的發(fā)現(xiàn)范圍110a中。
為了調用遠程服務112,STEER-WS TCC 119也使用其它STEER-WSTCC 119的Web服務接口120。在上述圖7的示例中,STEER客戶端3將對服務115的輸入(如果存在輸入)進行編碼,并且向STEER客戶端1發(fā)送請求。結果,STEER客戶端3將接收有關該請求的基準識別符。接下來,STEER客戶端3將利用該基準識別符輪詢STEER客戶端1有關執(zhí)行狀態(tài)。存在四種可能性1、如果執(zhí)行完成,則將返回(完成)消息。接著,STEER客戶端可以使用另一Web服務接口120,以利用提供的基準id檢索輸出。
2、如果執(zhí)行失敗,則將返回(錯誤)消息。
3、如果執(zhí)行仍在進行,則沒有消息返回。接著,STEER3等一會兒接著再次輪詢。
4、如果服務115、116具有服務控制用戶接口(UI),并且需要來自用戶的更多輸入,則將返回服務控制UI的URL。接著,STEER客戶端3將向用戶示出該URL。而且,STEER客戶端3將等一會兒接著再次輪詢。
根據(jù)所述實施例的一方面,交叉環(huán)境服務發(fā)現(xiàn)和執(zhí)行可以被開發(fā)為分層結構或按任何其它設置開發(fā)。例如,在圖7中,STEER客戶端2使用Web服務接口120,以發(fā)現(xiàn)并執(zhí)行STEER客戶端4的服務115、116(112)。當STEER客戶端3與STEER客戶端2通信時,其不僅獲得由STEER客戶端最初發(fā)現(xiàn)的服務112,而且還獲得來自STEER客戶端4的服務112。STEER客戶端3不知道它們之間的差異。它簡單地認為,服務112全部來自STEER客戶端2。為了調用服務112,它將向STEER客戶端2Web服務接口120發(fā)送請求。一旦STEER客戶端2接收到該請求,它就檢查它自己的中間件處理引擎108并且找出實際上來自STEER客戶端4的服務112。接著,STEER客戶端2將向STEER客戶端4傳遞該請求。一旦通過STEER客戶端3輪詢STEER客戶端2,STEER客戶端2就輪詢STEER客戶端4,并且向STEER客戶端3發(fā)送它獲得的任何內(nèi)容。
在圖7中,任務計算系統(tǒng)118-1-n(TCS1-4,在STEER-WS TCS118a1-n的情況下)的各實例可以典型地發(fā)現(xiàn)(并執(zhí)行)運行在任務計算中間件108正運行的同一機器或系統(tǒng)110上的那些服務(即,針對那些裝置的局部),通常在因特網(wǎng)或裝置上的可用服務和在同一子網(wǎng)中的服務??紤]這樣一種情況,即,拜訪鮑勃的艾麗絲想要在鮑勃的TV上示出從鮑勃家到卡羅爾的位置的地圖。在這種情況下,卡羅爾的聯(lián)系信息在艾麗絲的PIM中可用,通過艾麗絲的TCS118-1(在艾麗絲家)可訪問,然而,顯示服務處在Bob的房間9TCS118-n中。這種情況被稱為延伸任務126的范圍或延伸任務計算100的范圍,使得在另一任務計算環(huán)境中可以發(fā)現(xiàn)并執(zhí)行服務112。另外,與每個分別的TCS118相關聯(lián)的服務可能在防火墻后運行,這使事件進一步變復雜了。中間件層108的Web服務接口在工程解決方案中是工具化的,以延伸任務計算100系統(tǒng)的范圍。
參照圖7,對被稱為管理或SoM的球體的更詳細的闡釋進行描述。在圖7中,四個TCS118、110節(jié)點,每個都具有它自己的被描繪為云的發(fā)現(xiàn)范圍,并且其中間件層108包括由D、C、E、M表示的四個可編程模塊或單元(發(fā)現(xiàn)404、中心402、執(zhí)行406以及管理124)。被視為相對于計算環(huán)境110在遠程的中間件層108涉及SoM API 123,以實現(xiàn)“球體”。如果一個節(jié)點118想要發(fā)現(xiàn)其范圍之外的服務,則必須首先知道服務112駐留在哪一個TCS,和該其它節(jié)點118暴露的Web服務106(123)的WSDL。例如,可以在線或通過在TCS118人工操作員之間的電子郵件交換來這個信息;另一選項將要運行其中TCS118的人類擁有者可以發(fā)布它們的TCS的目錄。
接著,按與針對遠程TCS118的客戶端局部將調用它們的相同的方式,可以調用發(fā)現(xiàn)Web,以便獲得在所述節(jié)點的服務和在遠程節(jié)點TCS118中的各服務112的SSD116的列表。例如,TCS3調用TCS1的Web服務106,以檢索通過TCS1發(fā)現(xiàn)的所有服務,并接著將它們登記在它自己的發(fā)現(xiàn)模塊404中。通過TCS3處理這些服務正像通過TCS3直接地發(fā)現(xiàn)的其它服務,但是,TCS3的發(fā)現(xiàn)模塊把一標記增加至它內(nèi)部的這些服務的呈現(xiàn),以指示其中最初發(fā)現(xiàn)的服務。在最初的發(fā)現(xiàn)之后,TCS3可以輪詢TCS1以檢查TCS1服務的列表的改變。
還通過Web服務API 106支持執(zhí)行。來自TCS3的用戶可以創(chuàng)建新的具有來自TCS1和TCS3的服務的任務并執(zhí)行它。由TCS3最初發(fā)現(xiàn)的服務不需要任何具體處理。然而,因為TCS1中的服務可能在防火墻后并且TCS3不能直接地調用它們,所以它們可能需求額外操作。在這種情況下,TCS3在執(zhí)行中獲得來自TCS1的幫助。首先,TCS3將通過Web服務API 106向TCS1發(fā)送有關具體服務的執(zhí)行請求和內(nèi)容(輸入?yún)?shù),等),并且獲得基準id作為響應。在TCS1執(zhí)行服務時段,TCS3將使用所述基準id,以輪詢TCS1有關狀態(tài)。最后,在TCS1中的執(zhí)行完成之后,返回更新的內(nèi)容(輸出,等)作為最后輪詢結果。針對這種設計理論基礎是,在所述輪詢期間,TCS1可以返回某事(如,當前執(zhí)行狀態(tài),或關于執(zhí)行的額外信息,等)并且通過輪詢,對于TCS3來說,更容易監(jiān)視狀態(tài)。
一旦向外部用戶暴露TCS118、110節(jié)點,任何一個就可以發(fā)現(xiàn)并執(zhí)行其服務(它們畢竟是Web服務)。如下面進一步更詳細地討論的,安全技術將在我們的Web服務API中增加用戶識別機制,和/或在Web服務安全標準之上建立。
管理的球體延伸超過僅兩個TCS118。在圖7中,TCS2使用Web服務接口106,以發(fā)現(xiàn)并執(zhí)行TCS4的服務。當TCS3與TCS2通信時,它不僅接收由TCS2最初發(fā)現(xiàn)的服務,而且同樣接收來自TCS4的服務。為了調用來自TCS4的服務,TCS3向TCS2發(fā)送請求。一旦TCS2接收該請求,它就檢查它自己的引擎并且依據(jù)檢查確定實際上來自TCS4的服務,它將向TCS4中繼該請求。一旦通過TCS3輪詢TCS2,TCS2就輪詢TCS4,并且向TCS3發(fā)送響應。
服務112發(fā)現(xiàn)被稱為通過服務112的SSD116尋找服務112的過程,作為涉及用戶的背景。如上所述,指定服務實現(xiàn)115和SSD116的分離,通過TCS118將發(fā)現(xiàn)縮減成服務功能115的SSD的獲取和處理。服務發(fā)現(xiàn)的實現(xiàn)依靠一個或更多發(fā)現(xiàn)機制;包括中間件處理層108的TCS118可以采用多基礎的服務發(fā)現(xiàn)機制,并且服務可能通過多發(fā)現(xiàn)機制發(fā)現(xiàn)。用戶、或服務(或它們的提供者)可以設置針對特定服務的發(fā)現(xiàn)而采用的發(fā)現(xiàn)機制。針對服務改變發(fā)現(xiàn)機制,可能影響可以發(fā)現(xiàn)服務的人。盡管服務發(fā)現(xiàn)機制針對發(fā)現(xiàn)范圍是正交的,但是一些發(fā)現(xiàn)機制相比其它更適于具體發(fā)現(xiàn)范圍(參見表1)。接下來,將描述各發(fā)現(xiàn)范圍。
表11、在空的發(fā)現(xiàn)范圍中的空服務是任何一個都不能發(fā)現(xiàn)的那些??詹皇峭耆拍钌系姆秶?;構成不可用的任何服務(即使對于其擁有者)都可以假定這個范圍。例如,用戶因保密考慮而不想服務提供通過其它乃至通過她自己發(fā)現(xiàn)的她的聯(lián)系信息,因為煩惱的是,總是發(fā)現(xiàn)她不想使用的服務,所以可以選擇針對這個服務的空范圍。隨后,當她想要使用她的聯(lián)系用于在信息站上顯示從她所處的機場到她家的路線時,她可以將該服務移向私有發(fā)現(xiàn)范圍。
2、在私有發(fā)現(xiàn)范圍中的私有服務是僅通過它們的擁有者發(fā)現(xiàn)的,并且典型地駐留在用戶自己的運行TCS118的計算裝置上。例如,其允許用戶選擇并暴露在她的裝置上的文件的諸如“我的文件”112的局部資源處理服務,假定(默認情況下)這個發(fā)現(xiàn)范圍。這里,TCS118使用組合有利用套接字的通知的基于文件系統(tǒng)的發(fā)現(xiàn)機制,來實現(xiàn)這種發(fā)現(xiàn)范圍。
3、按子網(wǎng)分組發(fā)現(xiàn)范圍是最接近地涉及遍布式環(huán)境,因為其分組的ad-hoc和自主性。用戶的同一子網(wǎng)(如公司的企業(yè)內(nèi)部互聯(lián)網(wǎng)的一部分或家庭網(wǎng)絡)上要發(fā)生的服務將被發(fā)現(xiàn),使得能夠實現(xiàn)非常局部化的發(fā)現(xiàn)機制。例如,UPnP可以用作發(fā)現(xiàn)機制,以實現(xiàn)這種范圍。具體地,UPnP的發(fā)現(xiàn)機制被用于尋找在子網(wǎng)上的UPnP裝置(其中不都是使能任務計算的服務)并且針對各UPnP裝置,TCS118調用一個具體的UPnP動作(getDescriptionURL)以確定UPnP裝置是否表示使能任務計算的裝置112,并且如果是,則TCS118進行到從UPnP裝置下載SSD116。諸如JINI的其它發(fā)現(xiàn)機制也可以按與UPnP相同的方式使用,以實現(xiàn)這種發(fā)現(xiàn)范圍。
4、按興趣分組發(fā)現(xiàn)范圍指按任何任意的人群發(fā)現(xiàn)的、或許按相似興趣或組員(如公司的雇員組或高爾夫俱樂部成員組)劃分的服務。這種發(fā)現(xiàn)機制可以通過組合Web服務與回叫和輪詢機制來提供。
5、在這種發(fā)現(xiàn)范圍種的公共服務可以由任何一個發(fā)現(xiàn)。針對這種范圍的良好的發(fā)現(xiàn)機制是開放語義服務目錄;示例包括具有與公共可用服務的SSD116鏈接的Web頁或者針對像通用描述、發(fā)現(xiàn)以及集成(UDDI)(語義服務搜索引擎版本)一樣的語義Web服務的搜索引擎。另選地,用戶可以通過互發(fā)電子郵件來共享SSD116、或通過對等式網(wǎng)絡來共享它們。
根據(jù)所述實施例的一方面,還可以為服務112的交叉環(huán)境管理提供交叉環(huán)境PIPE-WS TCS 118b,由此,提供語義描述的服務控制機制(SDSCM)119b的交叉環(huán)境應用客戶端,以管理任務126/服務112。例如,對于與交叉環(huán)境“白洞”任務計算客戶端119b-1的情況來說,白洞119b-1存儲不必在與白洞119b-1相同的機器上運行的PIPE-WS API 122n的WSDL URL。一旦對象被拖放到白洞119b-1,就向除了或連同在同一裝置上的一個的其它PIPE-WS API 122發(fā)送公共請求(利用在圖5A中示出的“插入”Web服務122中的一個)。這樣,服務對象115的語義實例可以在其它網(wǎng)絡110中創(chuàng)建并發(fā)布,由此“交叉環(huán)境地”。根據(jù)所述實施例的一方面,另選地,白洞119b-1允許用戶選擇使用PIPE-WS API 122a-n(下面進一步更詳細地描述)。舉例來說,如“白洞”119b-1的SDSCM119b任務計算客戶端使用在計算機環(huán)境110a中的PIPE-WS122a,只要可以針對遠程環(huán)境110n中的PIPE-WS122n進行Web服務調用122n,就可以發(fā)布遠程環(huán)境110n中的服務112。
用于發(fā)布利用PIPE-WS API 122的服務的用戶接口工具的白洞119b-1可以延伸以包括多PIPE-WS API 122,以處理在兩個或更多交叉環(huán)境110n中發(fā)布的服務122。白洞119b-1可以提供啟動對話框或選項設置對話框,用于用戶設置下列白洞119b-1參數(shù)PIPE-WS API 122功能參數(shù)1、名稱(任選)2、目標PIPE-WS API 122的URL3、代理服務器URL(用于Web服務調用和控制UI)(任選)4、針對在Web服務調用中的對象的使用的選項白洞119b-1GUI設置參數(shù)1、顯示GUI選項2、GUI的顏色3、用于GUI的圖標圖像4、分組的或獨立的GUI單個白洞119b-1GUI可以通過示出針對用戶的對話框來容許多PIPE-WS API 122a-n,以針對用于發(fā)布為服務112的該PIPE-WS API 122來選擇落入白洞119b-1的語義對象?;蛘咛峁┒鄠€白洞119b-1的實例,每個都具有針對各遠程PIPE-WS API 122a-n的不同顏色或圖像,對于用戶來說,以使容易區(qū)分并記住哪個圖標對應于哪個PIPE-WS API 122。更具體地,白洞119b-1用戶接口選項容許在提供的或可用的“球體”之中的可視和/或可聽(作為可能的情況)的差別。
關于交叉環(huán)境110服務112管理,通過增加用于服務112管理的新的Web服務接口122來延伸PIPE-WS API 122。因此,使用PIPE-WS PAI122的新的Web服務任務計算客戶端(WS TCC)應用客戶端119作為SDSCM119b,創(chuàng)建調用的“服務管理器”119b-2。服務管理器119b-2的一個主要功能是使用PIPE-WS API 122以管理在多個計算機系統(tǒng)環(huán)境110中的服務112。在一未限制示例中,服務管理器119b-2的管理動作包括改變服務115、116(112)名稱和描述、改變服務112期滿時間、改變服務112發(fā)現(xiàn)范圍、改變服務112的“球體”、改變服務112調用限制等。具體地,服務管理器119b-2可以用于實現(xiàn)如下列的交叉環(huán)境服務112管理。各PIPE-WS API 122都具有選項以確定遠程用戶是否可以使用其以管理其服務112。如果該選項被設置成真值,則遠程用戶可以在該用戶的服務管理器119b-2中增加PIPE-WS API 122。根據(jù)服務管理器119b-2工具,只要PIPE-WS API 122可訪問,用戶就可以檢查有關通過遠程PIPE-WS API 122管理的服務的所有細節(jié),并且基本上遠程地進行所有管理動作。
表示處理層104用戶接口因為WS TCC 119的表示處理層104可以根據(jù)任務計算中間件處理層108的模塊的實現(xiàn)空閑,所以STEER-WS API 120和PIPE-WS API 122的實現(xiàn)使可以提供針對TCC119的大量的各種任務計算100用戶接口。在此描述了WS TCC 119的用戶接口104示例,用于(1)無線電裝置用戶接口,(2)位置(地點)獲知圖標(例如,氣球(balloon))計算機顯示畫面圖形用戶接口;(3)語音命令用戶接口,(4)在用戶接口中的多輸出/輸出,(5)軟中斷-WS TCC 119a-5。任務計算100系統(tǒng)環(huán)境可以提供前述用戶接口104的任何組合。
(1)WS TCC 119的移動(無線電)電話用戶接口圖8是根據(jù)本發(fā)明實施例的用于管理服務112的移動電話顯示畫面用戶接口圖像的圖。更具體地,圖8是用于管理任務計算的核心功能性(如服務112發(fā)現(xiàn)、組成、執(zhí)行、保存、創(chuàng)建,以及有關操作的其它服務112管理)的移動電話顯示畫面用戶接口的圖。如所論,“服務”在此指功能110的可用計算機系統(tǒng)(如連網(wǎng)的、未連網(wǎng)的,或兩者)服務或源(即,“服務”112在此指根據(jù)計算機裝置、計算機應用/軟件、電子裝置以及計算機(或機器,或兩者)可讀內(nèi)容的全域的功能性的計算的實施例)。移動電話用戶接口的用戶導航可以是根據(jù)已知輸入單元/裝置(例如,用于語音命令/控制的麥克風、鍵盤/擴充鍵盤、點擊裝置(例如,鼠標器、指示器、輸入筆)、觸摸屏等)和輸出單元/裝置(例如、計算機顯示屏、揚聲器、打印機等)的。
根據(jù)所述實施例,移動電話用戶可以在任何使能實現(xiàn)Web的移動或無線電通信電話800中經(jīng)歷任務計算。提供被稱為移動電話STEER-WSTCC 119a-2的任務計算移動電話STEER Web服務任務計算客戶端,以管理在移動電話上的任務126。典型地,根據(jù)本發(fā)明,移動電話STEER-WSTCC 119a-2是用于移動電話的Web WS客戶端119,其可以采用在移動電話上安裝并執(zhí)行的任何計算機編程語言(如Java2平臺、微編輯器(J2ME)、用于無線的二進制運行時間環(huán)境(BREW)、可以在移動電話上安裝的任何其它語言以使采用該語言寫入的應用可以在移動電話上執(zhí)行、或其任何組合)實現(xiàn)。Web客戶端119a-2可以再移動電話上執(zhí)行,并且可以根據(jù)它們可以處理的超文本標記語言(HTML)的種類廣泛地改變。更具體地,Web客戶端119a-2可以經(jīng)由任何Web和/或解釋置標語言文件以顯示信息的無線應用協(xié)議(Wap)瀏覽器軟件實現(xiàn)。根據(jù)所述實施例的另一方面,移動電話STEER-WS TCC 119a-2可以是定制客戶端應用。移動電話STEER-WS TCC 119a-2的表示處理層104可以類似于針對任務計算或“主機化的STEER”的基于Web的用戶接口來實現(xiàn),該任務計算或“主機化的STEER”還被稱為“TCC II”,并且在本申請的受讓人富士通株式會社擁有的由Ryusuke Masuoka、Yannis Labrou、Zhexuan Song于2003年12月12日在美國專利商標局提交的題為“任務計算”的相關共同轉讓未審美國專利應用No.10/733328(Attorney DocketNo.1634.1007)中,對其進行了描述,其全部內(nèi)容通過引用被并入于此。
然而,根據(jù)所述實施例,移動電話STEER-WS TCC 119a-2依靠與中間件服務器處理層108交互連接的WS API 106,并且使針對管理任務126的移動電話STEER-WS TCC 119a-2的外觀和感受適于配合移動電話900的具體需求(如更小的屏幕尺寸)。圖9例示了利用任務計算移動電話的用戶體驗的示例,其中,用戶可以請求發(fā)現(xiàn)的服務112的列表(采用多頁)、創(chuàng)建/組成任務126并執(zhí)行任務126。所有操作都發(fā)生在移動電話900的相對地小的顯示區(qū)中。
在移動電話800上執(zhí)行任務計算時,用于Web訪問的網(wǎng)絡連接可以是IR、BLUETOOTH、WLAN(用于使能實現(xiàn)WLAN的移動電話)或移動網(wǎng)絡(GSM、CDMA等)。因為通過高/應用級通信協(xié)議(如(不限于)具有采用HTML形式或基于其它置標語言的格式的可顯示數(shù)據(jù)的超文本傳輸協(xié)議(HTTP))繼續(xù)用于任務計算所需的所有通信,所以網(wǎng)絡的選擇不影響在移動電話800上的移動電話STEER-WS TCC 119a-2的操作。
接下來,描述移動電話800UI。在操作802,當用戶在移動電話800將移動電話瀏覽器軟件定向至計算環(huán)境110(通過輸入用于該計算環(huán)境110的URL)時,用戶看見在該計算環(huán)境110中可用的服務112的列表。該列表可以采用可卷動頁或者采用需要用戶選擇“下一頁”鏈接以便到達它們的多頁來呈現(xiàn)。在操作804,如果用戶選擇服務112,則在操作906,該選擇變成被稱為當前服務112組成(例如,在圖8的示例中通過用戶選擇News.com)的服務112組成的要素(即,任務生成)。在操作808,在選擇服務112之后,用戶被定向至包含可以按組成有選擇的服務112(例如,打開、打印、保存、存儲收藏、局部地觀看)呈現(xiàn)的僅那些服務112的列表的頁。在操作808中的顯示的列表,如此前所述,可以呈現(xiàn)在單一卷動頁中或呈現(xiàn)在多頁中。在操作808,在具有服務112的列表的頁的頂部,按它們在有效的服務112組成中呈現(xiàn)的順序顯示了前述選擇的服務(例如,News.com)。在操作808中,顯示是當前服務112組成;它還可以作為標題交叉卷動顯示。用戶每次選擇服務112(例如,操作810、812、814),顯示頁被更新成顯示當前服務112組成和可以在當前服務112組成中呈現(xiàn)的服務112的列表,直到?jīng)]有可以在當前組成中使用的額外的服務存在為止,按該觀點,在操作816,用戶具有執(zhí)行服務112組成的選項。更具體地,操作802到814是操作以經(jīng)由移動(無線電)裝置組成任務126。在圖8的示例中,在操作814,不存在可以在任務126的當前組成中使用的更多額外的服務112,然而,如果額外的服務112可用,則將類似于操作804到814列出額外的服務112。根據(jù)所述實施例的一方面,即使組成是未完成的,但該組成一成為可執(zhí)行的,用戶就可以執(zhí)行該組成。在操作816,顯示任務126的執(zhí)行狀態(tài)。在操作820,顯示任務126的執(zhí)行完成。
(2)位置獲知圖標(例如,氣球)用戶接口(UI)圖9是根據(jù)本發(fā)明實施例的計算機顯示畫面位置獲知氣球圖形用戶接口的圖像。具體地,圖9是被稱為STEER-WS-SIS TCC 119a-3的STEER-WS TCC 119a的示例GUI。計算機顯示圖形用戶接口中的STEER-WS-SIS TCC 119a-3顯示區(qū)域(如(不限于)用戶位于其中的周圍區(qū)域)的空間圖像,并且在用戶區(qū)域中,用戶區(qū)域的顯示圖形被覆蓋有發(fā)現(xiàn)的服務112的可選圖形顯示呈現(xiàn)。
在圖9中,在位置/地點902內(nèi)或在位置/地點902處的可用/發(fā)現(xiàn)的服務112被表示為在位置/地點902(例如,在圖9中,辦公樓層地圖是其中在辦公室內(nèi)的不同區(qū)域可發(fā)現(xiàn)服務112的位置/地點902)中的對應的區(qū)域處的圖標904a-n(根據(jù)所述實施例,如氣球圖標904)。為了用3D坐標顯示(潛在地)大量的服務112,并且實現(xiàn)直觀的用戶計算機顯示接口,提供下列機制1、利用相同計算機顯示畫面可視組件(即,顯示圖標)、相同類型的可視組件但具有不同風格(顏色、尺寸、字體等)、或針對各服務112的不同可視組件(視情況而定)表示服務112。在圖9中,使用可變尺寸和顏色的被稱為“氣球”的可視組件。
2、具有位置的服務112被置于顯示地圖中的所述位置處。沒有位置的服務112按列表或一些其它組織的方式906置于地圖外部。
3、如果它們交疊或彼此靠近,則隨機化氣球位置。
4、通常保持氣球小,而在操作或光標在該氣球上或靠近該氣球時顯示擴大的氣球908。
5、根據(jù)氣球的陰影912表示物理高度(Z坐標)。在位置中物理上更高的服務112,獲得更大和/或更模糊的陰影912。其它顯示技術可以用于在一位置處加重服務112的Z坐標。
6、通過把多個氣球中的一個拖放到另外一個上,表示兩個服務(在它們之間潛在地具有變換服務)組合的執(zhí)行。
7、當選擇氣球時,僅組成的氣球(服務)112保持它們的顏色或被高亮。其它分別轉向指示未組成的服務112的另一顏色,如灰色或保持相同。
8、使用插針扎破氣球的隱喻,來呈現(xiàn)服務112的去除。
9、當選擇插針時,僅可刪除的氣球(服務)112保持它們的顏色或高亮。其它分別轉向表示非刪除的另一顏色,如灰色或保持相同。
10、基于用戶語言選擇(如上所述有關通信語言選擇),改變用于顯示服務112名稱和描述的語言。
11、如果用戶想要創(chuàng)建比在這個接口中可以創(chuàng)建的組成更復雜的組成,則提供按鈕以顯示(更綜合的)STEER-WS-SIS TCC 119a-3接口。
因此,圖9是位置獲知圖標(例如,氣球)用戶接口的示例。盡管圖9的示例使用顯示的“氣球”作為可用服務112呈現(xiàn),但是,本發(fā)明不限于這種設置,而是可以在顯示的用戶區(qū)域圖像上使用任何顯示呈現(xiàn)覆蓋。這可以通過事件驅動面向對象編程技術來實現(xiàn)。當STEER-WS-SISTCC 119a-3開始時,其初始化圖形、內(nèi)部數(shù)據(jù),并且針對適當事件設置事件處理代碼?;旧希切┏蓪Φ氖录褪录幚泶a對應于上述列表中的項目。在事件處理代碼中,適當?shù)腤eb服務調用到TCE-WS API106中,如構成STEER-WS API 120和PIPE-WS API 122。接著,事件循環(huán)將看管針對發(fā)現(xiàn)(圖3A)的事件和另一循環(huán),以在服務112可用性中存在改變時更新氣球和內(nèi)部數(shù)據(jù)。在圖9中,“更新”按鈕909的可選圖形顯示更新顯示信息。根據(jù)所述實施例的一方面,在根據(jù)TCC119的用戶接口中的任何一個中的顯示信息的更新可以是自動的?!罢Z言”按鈕910的可選圖形顯示根據(jù)選擇的諸如日語的口語(下面在多語言任務計算系統(tǒng)下進一步更詳細地描述)提供顯示的信息。
(3)語音用戶接口(UI)圖10是根據(jù)本發(fā)明實施例的任務計算語音識別的狀態(tài)流程圖。語音可以是針對普適的計算環(huán)境的極重要的用戶接口,在該普適的計算環(huán)境中,用戶的客戶端裝置通常受限于尺寸,致使諸如鍵盤或擴展鍵盤的常規(guī)輸入技術可能不使用或不便利,和/或其中用戶可以經(jīng)受得住提供較少的可視關注,如在操作傳播媒介時。根據(jù)所述實施例,創(chuàng)建語音STEER-WS TCC 119a-4,其中使用語音的WS任務計算客戶端(WS TCC)119發(fā)出指示以隨任務計算系統(tǒng)100(具體地,例如,直接地作為任務126的執(zhí)行服務112組成)一起工作。在任務計算100中,因為服務112組成被設計成兼容根據(jù)自然語言定義的服務112的名稱的句子結構,使得其組成創(chuàng)建可以由語音識別器系統(tǒng)處理的自然語句;即,服務112的組成可以被映射到語音識別狀態(tài)語法圖中,如圖10所示。
更具體地,語音STEER-WS TCC 119a-4是例如按C#編程語言開發(fā)的語音驅動用戶接口。用戶可以通過向語音STEER-WS TCC 119a-4講話來請求任務;實現(xiàn)的語音STEER-WS TCC 119a-4使用MICROSOFT’SAGENT AND SPEECH SDK和針對TCE-WS API 106的調用。各服務112被映射成短語(正常地,服務112名稱)并且一旦語音STEER-WS TCC119a-4“聽到句子”(識別語音句子),它就嘗試將該句子匹配到服務112的序列中。接著,基于服務112序列建立并執(zhí)行任務126。語音接口的一個難題是人類語音的識別率;定義提高該速率到可接受程度的語法集是非常重要的。另一難題是怎樣識別并過濾語義上無效的命令(任務),如即使“通過辦公打印機打印”和“我的視頻”都是有效的服務122名稱,也應當忽略“通過辦公打印機打印我的視頻”這樣的命令。根據(jù)所述實施例,語音STEER-WS TCC 119a-4根據(jù)“語法圖”(圖10)匹配完整的句子與有效的(可執(zhí)行的)任務126,其通過中間件處理層108的中心模塊402生成,并且通過STEER-WS API 120制成可用的。
圖10是語法圖的一部分,其是根據(jù)本發(fā)明實施例的語音任務計算的狀態(tài)流程圖。在圖10中,一圓環(huán)表示作為語法狀態(tài)的語義地描述的功能特征的服務112(例如,服務“打開”112消耗“文件”數(shù)據(jù)對象類型,與輸入“文件”類型一樣的示例是針對在計算機中描述文件的語義類型,包括鏈接到該文件的URL)。用“S”標記開始狀態(tài)1002,而用雙重圓環(huán)指示結束狀態(tài)1004。服務112用連接語法狀態(tài)的邊沿(線)表示。例如用于商業(yè)辦公環(huán)境的完整的語法圖可能具有多于五十個服務112,超過一百條邊沿以及超過幾十個狀態(tài)。從開始狀態(tài)1002到結束狀態(tài)1004的路徑表示語義地有效的任務126;在示例商業(yè)辦公環(huán)境中,完整的語法圖可能具有多于一百條的這種路徑,即,用戶可以執(zhí)行的多于1000個任務126?;谙铝幸?guī)則生成“語法圖”1、如果服務112沒有輸出,則服務112是跟隨開始狀態(tài)的一邊沿,如圖11中的“打開”、“通過投影儀觀看”,以及“增加至Outlook”。
2、如果服務112沒有輸入,則服務112是指向結束狀態(tài)的一邊沿,如圖11中的“我的文件”和“我的聯(lián)系人”。
3、如果可以組成兩個服務112A和B,則必須是這樣一種狀態(tài),即,具有作為輸入的A和作為輸出的B,如圖10中的“…的商業(yè)地址”、“…的地圖”,以及“…的天氣信息”。
“語法圖”的一種重要的屬性是其具有與語音識別引擎的語法規(guī)則集的一對一映射。更具體地,如果和僅僅如果可以在該圖中建立從開始狀態(tài)到結束狀態(tài)的路徑,則句子是語義上有意義的命令(即,有效的任務126),使得該句子是邊沿的名字的并置(即,服務112的有效的組成)。例如,“打開我的文件”或“通過投影儀觀看我的聯(lián)系人的商業(yè)地址的天氣信息”是有效的命令或任務126。通過本體和服務的語義描述獨自確定(即,基于SSD116確定)“語法圖”。SSD116的使用有效地提升識別率,并且將完全避免語義上無效的命令或無效的任務126。語音UI可以希望用于任務計算100的智能傳輸系統(tǒng)(ITS)應用。
圖11是根據(jù)本發(fā)明實施例的為生成用于任務計算的語音識別圖(“語法圖”)的示例偽代碼。首先,在操作1102,發(fā)現(xiàn)或找到?jīng)]有輸出的服務112。在操作1104,遞歸地找到可以組成的所有其它服務112。具體地,在操作1106,針對各找到的服務112,如果服務112沒有輸入,則該服務112被指定為鏈接至結束狀態(tài)的邊沿。
語音STEER-WS TCC 119a-4的示例詞匯可以是根據(jù)下列的1、服務112的名稱2、針對語音STEER-WS TCC 119a-4的任務計算命令(如,“示出服務”或“離開任務計算”)3、客戶端操作命令(如“上移”、“點擊XXX”,其中XXX是按鈕的名稱)4、Web頁命令(如“點擊4”,用于點擊Web頁中的第四控制)5、字母和數(shù)字(如用于用戶輸入信息的“a”,或“9”)對于具有小的詞匯集來說,存在兩種優(yōu)點。第一,非常容易訓練語音識別系統(tǒng)。第二,因為存在很少要彼此辨別的單詞和句子,所以識別率高。
因為任務計算服務112組成可以具有合乎語法的結構,所以根據(jù)語音識別系統(tǒng)的識別率甚至可以如下列進一步加以改進。一可以具有增加的識別率用于立刻識別整個句子,而不是一次一個識別句子中的各成分。這基本上是因為即使在句子的一個部分中識別失敗,如果識別其它部分也仍舊可以識別該句子(即,必須考慮聯(lián)合概率)。例如,采用口頭短語,“打開我的文件”。假定針對“打開”的識別率是a,而針對“我的文件”的識別率是b。如果分別地完成針對“打開”和“我的文件”的識別率,則識別率可能永不超過a,因為必須首先識別“打開”。但是,如果系統(tǒng)試圖識別整個句子,“打開我的文件”,則識別率將是1-(1-a)(1-b)=a+b-ab=a+b(1-a)。當a小于1而b是正數(shù)時,識別率總是大于a。因此,當句子更長時可以獲得更高的語音識別率。
因此,根據(jù)所述實施例的一方面,語音識別STEER-WS TCC 119a-4針對在服務路徑之間的“一”和“該”增加額外的路徑。這樣,用戶可以具有更多自然句子。例如計算機,通過投影儀觀看(該)任務計算項目的(該)管理器的(該)Web頁因為仍舊可以識別甚至不明確的命令句子,所以還可以省略在命令句子中的一個或更多翻譯器服務112。例如,在圖10中,由于隨著“…天氣信息“和“…的地圖”的服務112而從“文件”節(jié)點到“聯(lián)系人”節(jié)點具有直接連接,從而,用戶可以省略在命令句子中的服務112的“…的商業(yè)地址”,如計算機,通過投影儀觀看我的聯(lián)系人的(該)天氣信息而且,語音STEER-WS TCC 119a-4仍舊可以識別該句子。在這種情況下,如果在用戶想要什么中存在不明確性,則語音STEER-WS TCC119a-4可以通過詢問用戶澄清。在這種情況下,當隨著“…家庭地址”的服務112而從“地址”節(jié)點到“聯(lián)系人”節(jié)點存在另一鏈接并且用戶詢問上述句子時,語音STEER-WS TCC 119a-4可以詢問用戶澄清問題,以組成有效的任務126你想要(1)“通過投影儀觀看我的聯(lián)系人的商業(yè)地址的天氣信息”或(2)“通過投影儀觀看我的聯(lián)系人的家庭地址的天氣信息?”通過逆轉連接的方向并且置換識別圖中的開始節(jié)點和結束節(jié)點,語音STEER-WS TCC 119a-4可以用名詞+動詞的順序識別其它語言,如日語。
(4)用戶接口中的多輸入/輸出一些服務具有多輸入,如,采取傳真號和文件作為輸入的“傳真”服務112。根據(jù)本發(fā)明的一方面,STEER-WS TCC 119在任務執(zhí)行期間按遞歸方式詢問缺失的來自用戶的輸入。例如,在任務計算100系統(tǒng)的計算機與用戶之間的下列會話中
在第一會話中,用戶想要調用包括三個服務“傳真”、“…的傳真號”,以及“Ryusuke Masuoka”的任務126(聯(lián)系人提供服務112)。通過檢查任務126(即,服務112組成),計算機確定服務“傳真”采用兩種輸入一個是“傳真號”而另一個是“文件”。因為按順序提供“傳真號”,所以計算機此刻詢問用戶其它輸入的“文件”。接著,用戶告訴計算機以獲得從服務112輸入的“我的文件”。隨著指定全部輸入,計算機接著開始任務126的執(zhí)行。
第二會話是有關當未初始地指定“傳真號”時的情況的。在這種情況下,用戶被進一步詢問以提供給出“傳真號”的服務112組成/在上述兩個示例中,由于用于語音STEER-WS TCC 119a-4的接口的語音的特征,對于用戶來說,造成通常不容易或不自然提供從一個句子中開始的全部輸入。由此,當檢測到這種情況時,執(zhí)行引擎406控制語音STEER-WS TCC 119a-4計算機,以提示用戶在執(zhí)行之前和/或期間輸入更多。這可以被認為是將復雜的服務112組成圖空間地映射到暫時橫跨在用戶與計算機之間的用戶交互中。
處理多輸出大致相同。例如,假定存在被稱為“生物信息學演講”和制作“聯(lián)系人”數(shù)據(jù)對象的服務,作為其演講者、針對其調度的“調度”數(shù)據(jù)對象以及作為其呈現(xiàn)材料的“文件”數(shù)據(jù)對象。利用語音STEER-WS TCC 119a-4
在上述任務126組成情況中,經(jīng)由用戶提示進一步定義任務126的計算機利用三個分開的服務“增加(調度)到PIM”、“告訴我”,以及“通過投影儀觀看”服務,將調度增加到PIM中、讀出演講者聯(lián)系人,以及通過投影儀示出呈現(xiàn)材料。
對于具有多于兩個輸入/輸出的服務來說,或者當存在多于一個的具有多輸入/輸出的服務112時,過程類似。這種技術可以遞歸地使用直到任務126意義明確為止。另選地,計算機可以執(zhí)行在服務112組成中的任何可執(zhí)行的部分,并且詢問用戶在不需要進一步指定服務112組成的情況下有沒有其它可執(zhí)行部分。
盡管在語音識別的語境下描述了前述多輸入/輸出描述。但是,本發(fā)明不限于這種設置,而是,這些技術還可應用于利用圖形和其它用戶接口的其它任務計算客戶端119。例如,任務計算客戶端可以彈出詢問缺失服務112和/或針對服務112的額外功能特征的窗口,如(不限于)服務112的數(shù)據(jù)對象輸入和輸出。例如,參見圖1B示出任務126構成GUI窗格144,其中顯示為處理多輸入/輸出而作為任務126的組成的服務112的定向的圖形。
(5)軟中斷TCC119a-5軟中斷TCC119a-5是極輕的處理權重任務計算客戶端(TCC)119,其執(zhí)行服務或服務組成的OWL-S文件(任務126)。在使軟中斷TCC執(zhí)行OWL-S文件的其它方式中包括根據(jù)命令行,優(yōu)選方式是通過雙擊(或一些其它恰當?shù)腛S操作)要執(zhí)行的OWL-S文件來調用軟中斷TCC。當軟中斷TCC讀取OWL-S文件時,它將通過利用STEER-WS API 120來執(zhí)行服務或服務組成。軟中斷TCC可能在它自己的窗口內(nèi)顯示服務功能115的控制UI。具體地,參照圖2,軟中斷TCC119a-5調用“執(zhí)行OWLS”API120,以執(zhí)行OWL-S描述。
高級語義服務描述(高級SSD)為支持服務112的通用性,如下在語義服務描述116中提供的高級特征有(1)針對服務112輸入的不嚴格的類型,(2)服務112的位置,(3)多語言服務112,以及(4)服務112管理功能(1)不嚴格的類型一些服務112接受除了小的子集之外的輸入的寬范圍。例如,除了音頻文件和視頻文件之外,服務“通過投影儀觀看”112接受文件作為功能特征,其中,音頻文件和視頻文件都是文件的子集。如果“通過投影儀觀看”的輸入被表示為(文件-音頻文件-視頻文件),則可能遭遇另一新的問題,即,當諸如“我的文件”的另一服務112生成文件作為輸出,接口引擎不知道哪里有可以組成的兩種服務112。
該問題的原因是當前服務描述語言的描述的能力受限并且組成條件可能太嚴格。我們的針對該問題的解決方案是通過支持針對服務112的兩種類型的輸入來延伸當前服務描述語言。一個輸入被稱為參數(shù)類型Tp,其是輸入的精確域,而另一個(第二)輸入被稱為不嚴格的類型Tr,其是輸入也可能落入其中的更大的域。例如,如果如下列所述,則輸入類型Ti是可接受的1、Ti是不嚴格的類型T的子集2、在Ti與參數(shù)類型Tp之間的交集不是空值。
例如,在服務112“通過投影儀觀看”中,Tr是“文件”,而Tp是(“文件”-“音頻文件”-“視頻文件”)。輸入類型“文件”是可接受的?!癢eb頁”、“文件”的子類同樣是可接受的。但是,拒絕“音頻文件”。同樣拒絕“事物”,“文件”的超類。
使用不嚴格的類型的“通過投影儀觀看”服務115的一段語義服務描述116的示例是
在STEER接口引擎中,支持不嚴格的類型。這種不嚴格的類型可以如下列實現(xiàn)當STEER組成服務時,它檢查是否存在不嚴格的類型。如果不存在不嚴格的類型參數(shù),則它使用通常的算法以匹配服務和執(zhí)行。如果找到針對服務A、服務B、先前的服務A的不嚴格的類型,則僅在B的輸出是A的輸入的不嚴格的類型的子集并且B的輸出與A的輸入的參數(shù)類型具有非空交疊時,服務B與服務A相匹配。當STEER執(zhí)行組成時,在調用A與B的輸出之前,STEER檢查B的輸出,以了解它是否真正地落入A的輸入的參數(shù)類型中。
(2)位置在語義服務描述116中包括位置信息是另一新的特征。位置信息可以包括采用2D-、3D-歐幾里德坐標系的坐標,或任何其它坐標系,參考坐標系,以及/或位置的文本描述。涉及位置的“通過投影儀觀看”的一段語義服務描述116是
依據(jù)服務112發(fā)現(xiàn),TCC119經(jīng)由TCE-WS API 106(例如,findServices和getServiceProperty120(圖2)提取語義服務描述116之外的位置信息,并且支持針對用戶的服務112的基于空間的過濾或呈現(xiàn)(一示例是上述位置獲知(氣球UI))。
當服務112改變它們的位置時,服務112可以使用UPnP(和其它發(fā)現(xiàn)機制),以利用新的位置更新它們的服務112描述。如果位置改變沒有如此經(jīng)常發(fā)生,則這是一可行的選項。如果位置改變是經(jīng)常的,則更有效的是,使用接下來討論的服務112管理功能。
(3)語義服務描述(SSD)116-通信語言(多語言)所述任務計算100實施例支持任何通信語言,如(不限于)英語口語、漢語(簡體)、漢語(繁體)、希臘語、北印度語、日語、韓語、西班牙語以及土耳其語,由此提供語言獨立任務計算100。該語言獨立過程包括兩個操作1、諸如服務112名稱/描述的服務112(115、116)簡檔,和2、用戶接口。
1、關于諸如服務112名稱/描述的服務112簡檔,在語義服務描述116中,xml:lang屬性被用于按不同語言描述服務名稱和服務描述。例如,下面是寫入XML內(nèi)的描述用英語稱為“open”和漢語稱為“打開”的服務名稱的語義服務描述116文件的示例部分<serviceName xml:lang=“en”>Open</serviceName>
<serviceName xml:lang=“zh”>打開</serviceName>
在描述服務中同樣可以應用相同的方法。還參見圖16D-F。
2、關于用戶接口,圖12A是顯示根據(jù)本發(fā)明實施例采用任何語言的諸如STEER-WS TCC 119a的WS TCC 119用戶接口的流程圖。根據(jù)所述實施例的一方面,作為一示例,在不同STEER-WS TCC 119a用戶接口中,表1200被保持用于使用的所有計算機顯示用戶接口串。對于表1200中的各串來說,保持采用不同語言的多版本。采用XML描述串表1200,并且在開始STEER-WS TCC 119a時加載該串表1200。例如,STEER-WSTCC 119a計算機用戶接口利用基于用戶選擇的語言顯示串。
在圖12A中,在操作1202,經(jīng)由計算機用戶接口(例如,計算機顯示畫面圖形用戶接口(GUI)、語音接口等)提示用戶選擇語言。在操作1204,如果不支持確定的該語言,則選擇英語作為默認語言。在操作1206,確定語言代碼和句子順序(例如,從計算機可讀介質中檢索,通過軟件確定等)。在操作1208,從表1200中檢索采用選擇的語言的針對計算機用戶接口所需的串,其在這個示例中是針對GUI的串。在這個示例中,在操作1210,根據(jù)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是根據(jù)本發(fā)明實施例的在表示層采用日語作為計算機實現(xiàn)的任務接口的計算機顯示圖形用戶接口的圖像。具體地,圖12B是針對根據(jù)圖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的實現(xiàn)可以在任何地方展開,并且不需要在與其自己的服務一樣的裝置上停留。
SMF的示例包括1、破壞,一旦調用,就破壞服務。
2、…的處理的對象,一旦調用,根據(jù)返回的服務返回當前處理的語義對象。
3、…的控制UI,一旦調用,返回針對返回服務控制UI的鏈接。
4、是活躍的,用于測試服務是否仍舊活躍的功能。
5、…的位置,一旦調用,返回服務的當前位置。這是一種有效的方式,用于隨著改變位置而提供其位置的服務。
6、其它,例如,測試服務在指定時段、或有關網(wǎng)格服務的功能等是否可用。
從用戶接口的角度,對待SMF就像其它服務112一樣。這在語音STEER-WS TCC 119a-4中尤其有用。例如,下列SMF可以作為任務126執(zhí)行1、破壞輸入板-PC.ppt
2、通過投影儀觀看的處理的對象3、局部地觀看播放(音頻)的控制UI4、是活躍的庫(Alive Bank)?5、播放(音頻)的位置而且,用戶可以組成具有其它服務112的SMF的結果,如1、“通過Kiosk觀看”“通過投影儀觀看的處理的對象”2、“局部地觀看”“通過投影儀觀看的控制UI”3、“通過Kiosk觀看”“播放(音頻)的位置的L-注釋”服務訪問控制圖13是根據(jù)本發(fā)明實施例的服務112訪問控制的流程。在普適的計算環(huán)境中,存在一些針對全部用戶或不應當針對全部用戶開放的服務112。重要的是,采用某種針對服務112的訪問控制機制。根據(jù)所述實施例,將描述包括(1)共享策略和授權和(2)根據(jù)通過SSD116的任務計算客戶端119的服務鑒別的針對服務112的訪問控制。
根據(jù)所述實施例,REI策略語言被用于建立針對服務112的訪問策略。REI是策略規(guī)范語言。REI的概念是已知的。在圖13中,REI策略引擎1300基于策略(訪問/安全規(guī)則)、事實(用戶和/或客戶端側提供的信息),以及本體來確定誰具有哪種訪問權。REI引擎1300提供有Web服務接口106,以使它可以被集中或分布。REI引擎1300和/或針對REI引擎1300的Web服務接口106可以用這種框架代替。具有遠程過程調用接口乃至針對服務112內(nèi)的策略引擎的軟件模塊的任何策略引擎都是足夠的。
在圖13中,假定用戶拜訪辦公室的工作流程包括六個操作。
1、在操作1302,當新的用戶在前臺登記時,向該用戶發(fā)出證書。該證書包括有關用戶的諸如名字、狀態(tài)和位置的信息,以及有關證書的諸如其生成時間、期滿時間以及保證其完整性的數(shù)字簽名的元數(shù)據(jù)。
2、在操作1304,用戶登入用于辦公的網(wǎng)絡,用戶的任務計算客戶端(客戶端)119,例如,STEER-WS TCC 119a發(fā)現(xiàn)在環(huán)境110中當前可用的所有服務112,和/或在發(fā)現(xiàn)時連接的“球體”。服務112中的一些是公共的,并且它們中的一些已經(jīng)訪問控制。服務112的信息按它們的語義服務描述116描述。用戶的任務計算客戶端119可以通過復審其語義服務描述116來檢查服務112的狀態(tài)。語義服務描述116告訴/通知任務計算客戶端119它是否需要訪問控制和如果需要訪問控制則需要哪種證書。
3、在操作1306,當用戶想要通過她的任務計算客戶端119調用服務112時,客戶端119將檢查服務112的狀態(tài)。如果服務是公共的,則客戶端將作為通常來調用該公共的服務。如果服務是控制訪問的,則客戶端119將向服務112發(fā)送額外的參數(shù),即,用戶證書和為執(zhí)行服務112的通常TCE Web服務106參數(shù)。根據(jù)所述實施例的另一方面,客戶端119可以經(jīng)由諸如通過SSL的HTTP等的安全的連接向服務112發(fā)送額外的參數(shù)。
4、在操作1308,服務112接收請求,首先,它將通過檢查證書中的數(shù)字簽名來驗證證書的完整性。如果該數(shù)字簽名無效,則立即拒絕該請求。接下來,檢查證書的期滿時間。如果時間期滿,則也拒絕該請求。當證書被證實有效時,證書中的事實將被提取并插入到REI引擎1300中。接著,服務112將基于服務112策略詢問REI引擎1300用戶是否經(jīng)授權調用服務112。
5、在操作1310,REI引擎1300將基于本體、服務的策略以及有關用戶的事實來回答該查詢。
6、在操作1312,基于來自1300的答復,服務112將履行所述請求,或者拒絕所述請求。
REI引擎1300不必在相對于服務112不同的位置處集中或運行。例如,可以安裝一個單一REI引擎,用于整個共同的校園,或者各裝置(如打印機)可以具有它自己的RET引擎。事實上,在普適的環(huán)境中,非公用的是,具有所有服務可以訪問的一REI引擎。在我們的設計中,只要REI引擎的實例具有有關策略、事實,以及本體的足夠信息,就給出答復。
(1)共享的策略和授權前述主要討論有關服務,通過客戶端提供的事實(可能通過其發(fā)出證書的證書授權發(fā)出的數(shù)字簽名來證明)、其策略,以及本體來確定客戶端119的訪問權。
有時一個人想要服務不僅使用它自己的私有策略,而且使用由確定的社團共享的策略。這在一個人沒有訪問服務自身的情況下想要實現(xiàn)從一個用戶到另一用戶的權利的授權時是特別有用的。(在遍布式環(huán)境中,具有限制的計算資源的裝置通常主機化服務。對于支持真實的安全訪問那些策略并且管理那些策略的這種裝置來說,它可能存在太多的負擔)。
針對共享策略的多站點可能對應于組織的層次、地理結構等。如果服務屬于在建筑物Y中主機化的部門X,則該服務可能想要使用針對X和Y的共享的策略站點。
針對某時,最初地,對于為訪問控制計算要使用的共享策略來說,負責服務的個人針對服務設置一個或更多要檢查的站點。訪問這些共享策略站點可能被保護(例如,通過SSL的HTTP)。當服務需要計算訪問控制時,它將檢查針對可能更新而指定的站點。如果不存在針對任何站點的更新,則服務基于高速緩沖的策略和由客戶端、其策略、本體以及其它信息提供的事實接著計算訪問控制。如果存在針對任何站點的任何更新,則下載更新的策略,更新高速緩沖器,并且計算將隨最近共享策略完成。
關于權利的授權,通過共享策略站點可以完成它。一個人可以通過到共享策略站點的可能安全的連接,通過更新共享策略和他/她向確定的人(或組等)授權權利的聲明,授權一權利(他/她具有權利,以授權例如通過確定的打印機打印)。下次,當服務計算訪問控制時,它使用更新的共享策略,并且具有授權的權利的人開始使用該服務。
為了取消聲明,初始的用戶更新共享策略,以增加一撤消聲明,其說明他/她取消針對該人的權利?;蛘叱跏嫉挠脩艨梢愿鶕?jù)共享策略取消初始的授權聲明。
(2)通過SSD116的任務計算客戶端119的服務鑒別不總是服務想要鑒別客戶端的情況。有時,客戶端想要預先鑒別服務或確定客戶端是否具有權利執(zhí)行服務。如果可以預先確定,則客戶端可以預告用戶不可訪問,或確定隱藏從用戶不可訪問的服務。
在任務計算中,由客戶端通過服務的語義服務描述(SSD)識別服務。SSD告訴服務其內(nèi)部處理是什么,怎樣可以執(zhí)行等。由此,通過SSD自身或通過其它機制分開地給出數(shù)字簽名,通過客戶端可以鑒別服務。數(shù)字簽名需要由客戶端也信任的權限中的一個簽名。數(shù)字簽名可以是針對SSD的部分或針對整個SSD。可能僅針對SSD的重要部分而局部數(shù)字地簽名。
為了使客戶端確定它是否具有權利執(zhí)行服務,SSD可以被用作針對服務的策略信息的向量。SSD可以包括在其中的策略自身或針對它使用的策略(例如,URL的)的指示器。策略可以包括在共享策略和授權部分中的上述共享策略。當客戶端在SSD中獲得策略信息時,客戶端根據(jù)SSD中的信息和有關客戶端的事實、本體,以及其它信息,可以確定它是否具有權利執(zhí)行服務。
服務可能不需要暴露在其SSD中的其全部策略,而是當即使局部信息可以減小用戶無益地執(zhí)行服務的機會時也仍舊有益于客戶端。
任務計算客戶端119的針對訪問控制的存儲器裝置開發(fā)首先,用戶必須在利用任務計算客戶端之前安裝軟件。針對任務計算的用戶采用來說,它耗時并且有時受礙。針對該問題的解決方案是,生成便攜式或可移去介質或裝置(如CD或USB閃速存儲器),其不僅包括任務計算客戶端119,而且同樣包括諸如Java運行時間的執(zhí)行環(huán)境,使得用戶可以利用任務計算開始,而不需要任何安裝。
便攜式或移動TCC119還可以組合有發(fā)行的證書,該證書是為用戶便利訪問控制的服務的關鍵。當用戶在前臺登記時,生成證書并且可以將該證書增加到便攜式介質或裝置中。接著她可以在她自己的機器上使用該介質或裝置,以基于針對她的簽名的授權訪問服務。該證書可以被設置為只讀,以使不能進行進一步的改變。對于用戶來說,使在介質或裝置上的任務計算客戶端根據(jù)該介質或裝置中的固定路徑進行讀取證書時更難于誤用該證書。注意,存儲器裝置不是唯一選擇,也可以使用諸如CD、DVD的其它介質。
圖14A-14G是根據(jù)本發(fā)明實施例的在一位置中的服務訪問控制的示范使用情況的圖。具體地,圖14A-14G中是在作為示例位置的商業(yè)事務所中的服務訪問控制的圖。
1、在圖14A中,鮑勃,大學-1碩士生,作為公司-1或站點-1的實習生,拜訪公司-1。
2、在圖14A中,溫迪,公司-1的辦公管理人員招呼鮑勃。
3、在圖14A中,溫迪為鮑勃創(chuàng)建具有證書的STEER-TCC-記憶棒1400,STEER-TCC-記憶棒1400例如可以是為運行STEER-TCC119、包括Java運行時間的任務計算客戶端119而具有全部必需的事物的USB存儲器裝置。
4、在圖14A中,利用軟件,證書創(chuàng)建器,溫迪在STEER-TCC-記憶棒中的證書文件夾中創(chuàng)建并保存證書。該證書包括他的姓名、簡歷、狀態(tài)(實習生)以及證書的元數(shù)據(jù)(其創(chuàng)建日期、期滿日期/時間、授權信息等),和利用公司-1的私有密鑰簽名的數(shù)字簽名。圖14B是根據(jù)本發(fā)明實施例的服務訪問控制的架構圖。
5、在圖14A中,鮑勃在他的桌上型計算機1402上運行從STEER-TCC記憶棒1400中取出的STEER TCC 119。圖14B是根據(jù)本發(fā)明實施例的一般服務訪問控制系統(tǒng)/流程架構。在圖14B中,TCC119發(fā)現(xiàn)服務112(即,發(fā)現(xiàn)在服務112的OWL-S中的SSD116)。該SSD描述在簽名的證書中的服務112的(局部)策略和包括其屬性的值的事實。TCC119可以基于該證書確定服務112是否是可信任的,并且確定服務112是否是用戶想要通過與用戶的交互潛在地使用的。例如由公司-1簽名的服務的證書,用戶確定其以在到公司-1辦公室簽到時受信任,并且用戶可以確定服務112是否是可信任的。接著,可以檢查用戶和TCC是否滿足服務的策略以使可以使用它。如果用戶確定并定向TCC119以調用服務,則TCC將發(fā)送包括屬性值的事實和Web服務調用的其它參數(shù)。服務112檢查證書的數(shù)字簽名、期滿時間,以及其它,以確定發(fā)送的事實有效。接著,利用例如在公司-1策略站點1404處的一個的事實、其私有策略、本體,以及共享策略,服務112確定用戶是否具有權利調用服務112并由此響應。
6、在圖14C和14D中,鮑勃找到“安全打印”服務112與按鍵圖標。在“安全打印”O(jiān)WL-S文件中,指示需求公司-1證書(可以指示需求多證書中的一個)。當STEER-TCC119找到需求聲明時,示出針對服務112的按鍵圖標(在這種情況下,“安全打印”)。
7、在圖14C和14D中,鮑勃嘗試使用“安全打印”,但是,由于“實習生”不允許使用服務112,因而他失敗了。基于“安全打印”O(jiān)WL-S文件,STEER TCC 119在其“證書”文件夾中尋找公司-1的證書。當找到證書時,在Web服務調用106中發(fā)送證書和服務調用參數(shù)?!鞍踩蛴 睓z查證書的數(shù)字簽名,以確信它是有效的。(以使證書中的事實不被修改)。首先,服務確信證書沒有期滿。如果沒有期滿,則使用證書中的這些事實,以確定調用者是否具有權限,根據(jù)REI策略引擎使用該服務,通過Web服務API調用該服務。如果來自策略引擎的結果是確定,則“安全打印”打印該文件。如果沒有,則送回說明已經(jīng)拒絕該請求的消息。(在這種情況下,作為實習生的鮑勃沒有權利打印,因而他被拒絕)。
8、鮑勃請求約翰(公司-1的高級雇員)授權打印權利。
9、約翰使用軟件、授權管理器1406,由約翰安全地向公司-1策略站點聲明授權給鮑勃權利。在公司-1策略站點存在一聲明,高級雇員具有向實習生授權權利的權利。
10、鮑勃再次嘗試使用“安全打印”,接著,這次,他成功了。
11、此后,約翰利用授權管理器1406取消該授權(從公司-1策略站點去除先前創(chuàng)建的授權聲明)。
圖14E是圖14A-14E中的情況的圖形流程圖。圖14F是示范根據(jù)本發(fā)明實施例的在一位置處的服務訪問控制的使用的在圖14A-14E中情況的流程圖。在圖14中的標號對應于上述情況中的項目1-11。
因此,基于下列要素確定訪問控制(1)任務計算客戶端119提供事實(由數(shù)字簽名鑒別);(2)服務112私有策略;(3)共享策略;以及(4)本體。服務112可以根據(jù)其設置使用多共享策略。每次混合這些列表的服務訪問控制要素以確定訪問控制。圖14G是根據(jù)本發(fā)明實施例的服務訪問控制要素的矩陣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系統(tǒng)中,服務訪問控制處理424(圖4)可以處理訪問如上所述的服務112。
接下來,將描述四個其它語義化器客戶端應用,作為提供要在任務計算100中使用的語義對象的SDSCM119b,即,(1)真實世界對象語義化器客戶端119b-3,(2)數(shù)據(jù)庫語義化器客戶端119b-4,(3)介質發(fā)布器119b-5,以及(4)“白洞”119b-1。
(1)真實世界對象語義化器客戶端119b-3圖15是根據(jù)本發(fā)明實施例的真實世界對象語義化器客戶端119b-3的架構的功能框圖。真實世界對象語義化器客戶端119b-3提供來自真實世界對象(如,書)的語義對象。可以生成根據(jù)一個或更多真實世界對象的一個或更多語義對象,或根據(jù)一個或更多真實世界對象的許多語義對象。如上所述,連接白洞119b-1和PIPE-WS API 122,一旦生成/創(chuàng)建語義對象,就可以使用針對管理工具124的PIPE-WS API 122以生成針對生成的語義對象的SSD116,由此允許語義對象成為針對發(fā)現(xiàn)和組成的服務112。伴隨潛在地用于真實世界對象語義化器的技術包括(不限于)無源和/或有源射頻識別(RFID)標簽、條形碼、QR碼<http://www.qrcode.com>、主要在日本使用的二維碼、有或沒有限制的詞匯和語法的語音識別、可視和/或手勢識別,或其任何組合。
在圖15中,真實世界對象語義化器客戶端119b-3包括的編程的處理有1、識別處理引擎1502、2、語義化器處理1504,以及3、發(fā)布器1506。
1、識別引擎識別引擎1502識別標簽、代碼、語音、視頻、手勢等。識別過程可以是主動(即,總是進行中的并且識別有關它自己的對象)或被動的(由用戶或程序觸發(fā))。至于標簽和代碼,使用恰當?shù)淖x取器作為識別引擎1502;至于語音/可視/手勢,使用對應多媒體輸入的識別引擎1502。一些識別引擎通常易出錯。然而,針對該目的,通過給定有關數(shù)據(jù)圖案細節(jié)的一些約束,可以增進識別率。例如,對于語音識別的情況來說,一個人可以限定使用的詞匯或語法。利用識別引擎進行額外的確認過程,當識別率低時,同樣益于改進系統(tǒng)的整體識別率。例如,用戶可能針對基于語音識別的真實世界對象語義化器客戶端119b-3命令下列任務126。
(用戶)計算機,給我有關ISBN0-7356-1918-2的書(計算機)好的。
在另一任務126會話中,可以如下。
(用戶)計算機,給我標題為“INTRODUCING MICROSOFT.NETTHIRD EDITION”的書(計算機)讓我確認一下,是標題為“INTRODUCINGMICROSOFT.NET THIRD EDITION”的書嗎?(用戶)是上述句子的變型通過改變“書”(改變成其它語義對象名稱)、“ISBN”(改變成語義對象的特性名稱),以及值(具體地改變成諸如ISBN的值或可以另人滿意地約束的數(shù))還可以用于其它情況中。
有時,在標簽和代碼中(或在語音命令中)可能編碼(局部/整體)語義對象自身。具體地,具有大存儲器的RFID標簽和QR標簽可以按純文本或編碼格式保持語義對象。另選地,可以具有利用針對可以下載的語義實例的指示器的RFID標簽,其SSD116創(chuàng)建并發(fā)布。
只要識別引擎1502識別一對象或多個對象,就將信息傳遞到語義化器1504上。
2、語義化器1504根據(jù)識別引擎1502傳遞來的信息,首先,語義化器處理1504嘗試找到有關相對應的對象的信息。例如,在RFID的情況下,可能針對具有RFID的對象查閱局部或遠程數(shù)據(jù)庫1508。接下來,語義化器處理1504生成語義對象。例如,基于根據(jù)識別引擎1502獲得的ISBN號,通過查閱局部或遠程數(shù)據(jù)庫1508得到“書”語義對象。在圖15中,圓點線表示“被動”模式情況,其中,由用戶觸發(fā)真實世界對象的識別。另選地,經(jīng)由針對外部模塊1510的API,通過外部模塊510可以調用識別引擎1502和語義化器處理1504,以獲得物理對象的語義對象。
語義對象可以作為分開的文件存儲在局部文件系統(tǒng)中,并且系統(tǒng)可能通過與信息匹配的文件簡單地獲得語義對象。例如,語義化器正好挑選與RFID數(shù)據(jù)的名稱相同的文件,并且返回文件中的語義對象。
對整個語義對象被傳遞到語義化器上的情況來說,什么都不做,但是對于局部語義對象的情況來說,語義化器可能或不能添加有關對象的附加的信息。
當假設語義化器返回單一或固定數(shù)量的語義對象并且不能確定它們時,可以詢問用戶,從可能的語義對象中選擇恰當?shù)恼Z義對象或者設置以再次發(fā)生識別過程。
最終,語義化器將那些語義對象傳遞到發(fā)布器上,或將它們返回到計劃性的API模塊。
3、發(fā)布器1506發(fā)布器提供那些語義對象,作為提供服務的語義對象。如果語義化器提供單一語義對象,則它將發(fā)布提供服務的單一語義對象?;蛘咴诮o定多對象時,它將發(fā)布提供服務的多語義對象?;蛘?,在某些情況下,單一服務根據(jù)多對象讓用戶從其用戶接口選擇一個或更多語義對象?;蛘哌@些方法的混合。作為發(fā)布機制,可以使用PIPE WS API 122。
根據(jù)所述實施例的一方面,用戶可以觸發(fā)識別,例如,點擊按鈕。
或者可以根據(jù)來自計劃性的API模塊的功能調用開始識別。如果該功能調用需要返回識別的語義對象的值,則語義化器將向計劃性的API模塊返回語義對象。在這種情況下,語義化器可能不向發(fā)布器發(fā)送語義對象。諸如利用Web服務調用可以遠程地實現(xiàn)來自計劃性的API模塊的功能調用。
(2)數(shù)據(jù)庫語義化器客戶端119b-4現(xiàn)今,大部分格式化數(shù)據(jù)都存儲在關系數(shù)據(jù)庫中。數(shù)據(jù)庫語義化器使來自數(shù)據(jù)庫的可用數(shù)據(jù)作為(如在RDF中,或更具體地在OWL中)語義對象。更具體地,數(shù)據(jù)庫語義化器119b-4處理半結構化文本數(shù)據(jù)。典型地,根據(jù)本發(fā)明,數(shù)據(jù)庫語義化器包括兩個主要模塊1、用戶接口,用于在數(shù)據(jù)庫模式與本體之間創(chuàng)建映射;和2、語義服務處理,用于基于上述給定映射提供來自數(shù)據(jù)庫的語義對象。
任選地,數(shù)據(jù)庫語義化器基于在處理1中創(chuàng)建的映射,可以在單一或多文件中根據(jù)來數(shù)據(jù)庫的全部數(shù)據(jù)或部分數(shù)據(jù)創(chuàng)建語義對象。
用于創(chuàng)建映射的用戶接口可以圖形化。更具體地,可以在GUI窗口中的一側上示出數(shù)據(jù)庫模式而在另一GUI窗口中的另一側上示出本體,用戶計劃將數(shù)據(jù)庫映射到所述本體。用戶可以手動地指定在數(shù)據(jù)庫與本體之間的映射。典型地,根據(jù)所述實施例,用戶挑選在一側上的本體中的語義對象和在另一側上的數(shù)據(jù)庫模式中的項目并指定到要映射它們的系統(tǒng)(例如,通過挑選“映射”按鈕)。用戶重復該過程直到用戶指定全部希望的映射。利用如上所述創(chuàng)建的映射指定,語義服務處理映射從數(shù)據(jù)庫取出數(shù)據(jù)(真實數(shù)據(jù)),并由此利用映射的值創(chuàng)建語義實例。然而,系統(tǒng)還可以基于在所述模式和本體中的語法線索提供有關可能映射的建議。系統(tǒng)可以當場提供映射一致性的檢查。當映射完成時,將保存該映射,例如,作為將來使用的文件。數(shù)據(jù)庫語義化器客戶端119b-4可以基于PIPE-WS API 122使用創(chuàng)建的語義對象,以通過創(chuàng)建SSD116來創(chuàng)建服務112,如下所述。
語義服務處理不僅從計劃性的API開始,以基于映射生成語義對象,而且從針對用戶的用戶接口開始,以從一個或更多生成的語義對象中挑選。當執(zhí)行語義服務時,該語義服務提供針對用戶的用戶接口,以挑選一個或更多語義對象,接著,該語義服務返回選擇的語義對象,作為其返回值。為了效率起見,具體地,當數(shù)據(jù)庫保持大量數(shù)據(jù)時,語義服務每次都提供用戶接口來連接數(shù)據(jù)庫,并且基于映射將數(shù)據(jù)映射至語義對象。但是,對于數(shù)據(jù)庫語義化器來說,還可以具有基于給定的映射根據(jù)數(shù)據(jù)庫創(chuàng)建的語義對象,并且通過那些語義對象提供其功能。
(3)介質發(fā)布器客戶端119b-5如同目錄發(fā)布服務,介質發(fā)布服務允許用戶從裝置中選擇文件(音頻、視頻,或圖像)并且獲得相對應的語義實例。然而,服務怎樣開始的方式是不同的。當用戶把裝置(如存儲器裝置、數(shù)字攝像機、CD-ROM、DVD-ROM,或外部硬盤驅動器)插入到計算裝置時,開始程序以檢查在該裝置中是否存在文件(音頻文件、視頻文件,圖像文件等)。如果這樣做,則將彈出一對話框,以詢問用戶是否想要發(fā)布它們。如果用戶確定這樣做,則生成一新的服務。
該服務在用戶想要無憂無慮的共享她的文件(音頻、視頻、圖像等)時非常有用。她簡單地需要插入裝置并且點擊OK。接著,針對她設置每件事情。她可以使用為適應她的任務的那些最近發(fā)布的組成有其它服務的服務。如果她更喜歡利用一個選項設置,則即使點擊OK也可以省略,而且整個服務發(fā)布過程可以制成完全自動的。介質發(fā)布器客戶端119b-5可以使用創(chuàng)建的語義對象,以基于PIPE-WS API 122,通過創(chuàng)建SSD116來創(chuàng)建服務112,如下所述。
(4)“白洞”119b-1圖16A是根據(jù)本發(fā)明實施例的對象和服務的語義化、服務化以及發(fā)布的過程。參照圖16A,利用PIPE-WS API 122(管理工具124)的白洞119b-1,支持服務的動態(tài)創(chuàng)建(服務發(fā)布)和她們的散布(共享)。這個工具被用于語義化、服務化以及發(fā)布(信息)對象和服務。白洞客戶端119b-1具有針對操作系統(tǒng)或應用對象(如來自OS的文件、PIM應用的聯(lián)系人等)、采用OWL格式(或者到OWL文件的URL)的語義對象,以及采用OWL-S格式(或者到OWL-S文件的URL)的語義服務描述的便利的拖放接口。
當把某事物拖入(輸入)白洞時,該工具首先如下確定該事物的類型,(a)如果該事物是OWL或OWL-S對象,則白洞正好把它傳遞至PIPE-WS API 122(接下來討論)(圖16D-F);(b)如果該事物是到OWL或OWL-S文件的URL,則白洞下載該URL的內(nèi)容并且將該內(nèi)容傳遞至PIPE-WS API 122;(c)如果該事物是已知(語義地講)OS/應用對象(圖16G-J)或語義對象(圖16K-N),則白洞語義化該對象(參見圖16A、圖16B,表1550)。語義化是根據(jù)OS/應用對象創(chuàng)建語義對象的過程(例如,如在用于創(chuàng)建語義對象的真實世界對象語義化器119b-3和數(shù)據(jù)庫語義化器119b-4中所述)。一TCS118可以支持十種類型的OS/應用對象(如來自OS的文件和URL、來自PIM應用的聯(lián)系人和計劃表等)。白洞根據(jù)對象的名稱、擴展名,以及內(nèi)容確定它們的語義類型。一旦確定了類型,就檢索針對該類型的OWL模板,并且填充從初始對象提取的值。接著,生成該對象的OWL描述并將它傳遞到PIPE-WS API 122上。例如,如果用戶從PIM應用拖拉一聯(lián)系人項目,則白洞首先針對該聯(lián)系人類型加載OWL模板,接著,從該聯(lián)系人項目中檢索姓名、公司、電子郵件、電話等,并將他們填充到該模板中。最后,將完整的OWL對象傳遞到PIPE-WSAPI 122上。
作為中間件服務器處理層108中的管理工具124的一部分的PIPE-WS API 122,是用于語義化語義對象并且用于發(fā)布它們的工具(參見圖16C);白洞的可能輸出(在OWL中的語義對象或OWL-S中語義服務描述)需要在發(fā)布之前服務化。由此,創(chuàng)建服務(與語義描述相關聯(lián))112,其在調用時,將返回語義對象自身。具體地,首先,PIPE-WS API 122動態(tài)地創(chuàng)建Web服務,該Web服務在調用時返回語義對象作為其輸出;接下來,生成針對最近創(chuàng)建的服務的語義服務描述(參見圖16,表1555)。在該過程期間,確定并且按高等級(按OWL-S)描述服務的名稱、描述、輸出類型,以及基礎細節(jié)。因此,任務計算100系統(tǒng)支持經(jīng)由任務計算100系統(tǒng)和/或任何OWL對象同樣定義的對象。
語義化的結果是語義服務描述,或SSD116,其是用戶拖入白洞中的初始的一個,或者是為描述最近創(chuàng)建的Web服務而創(chuàng)建的一個PIPE-WSAPI 122。PIPE-WS API 122可以被用于根據(jù)用戶選擇的發(fā)現(xiàn)范圍(如上所述)發(fā)布SSD116。例如,如果用戶想要將它發(fā)布為按子網(wǎng)分組服務,則PIPE-WS API 122將利用指向OWL-S文件的getDescriptionURL動作創(chuàng)建UPnP裝置。
即使PIPE-WS API 122被描述與白洞客戶端119b-1有關,PIPE-WSAPI 122也可以是具有Web服務接口的完全獨立的工具,以使可以通過TCS118中的任何其它組件調用它,并且將它用于發(fā)布對象或服務。相反,PIPE-WS API 122可以調用其它TCE-WS API 106,如STEER-WS API120。PIPE-WS API 120的一個重要的用途是實現(xiàn)所謂的服務,該語義對象庫是語義對象的不變的儲存庫。一庫服務可以由環(huán)境中的用戶使用,以留下如文件、聯(lián)系人、計劃表等的事物作為在環(huán)境中的語義對象提供服務,使得人們(或許以后)可以使用那些服務,以完成任務126。
PIPE-WS API 120還包括管理用戶接口,該管理用戶接口幫助用戶組織用戶已經(jīng)通過PIPE-WS API 120發(fā)布的語義對象或服務。該功能包括1、切換發(fā)現(xiàn)范圍用戶可以切換針對通過PIPE-WS API 120發(fā)布的服務的發(fā)現(xiàn)范圍,例如,為了暫時地“保持”服務(空發(fā)現(xiàn)范圍)。
2、期滿時間,用戶可以設置針對服務的期間時間,使得服務在期滿之后變成不可發(fā)現(xiàn)的。
3、調用限制用戶可以設置針對可能的調用的數(shù)量的限制,使得服務在調用所述數(shù)量之后變成不可發(fā)現(xiàn)的。
4、名稱/描述用戶可以設置或改變服務的名稱和文本描述。
圖16D-16N是根據(jù)本發(fā)明實施例的OWL-S中的SSD116的計算機可解釋的源代碼的三個示例。具體地,圖16D-F是針對由公司-1創(chuàng)建文件-1 1570的SSD116。圖16G-J是基于OS/應用對象1572(在這個示例中,根據(jù)諸如MS OUTLOOK的地址薄的‘鮑勃·史密斯’的聯(lián)系人)創(chuàng)建的SSD116。而圖16K-N是基于語義對象1574(在這個示例中,“XYZ項目”語義對象)創(chuàng)建的SSD116。
新的服務設計并實現(xiàn)了新的服務112,其包括(1)語義實例串行化服務,(2)信息提供服務,(3)感測器服務,如(不限于)時間、有關天氣、溫度,以及/或可以感測的任何事情,(4)快照服務,(5)OWL格式器服務,(6)文本格式器服務。
(1)語義實例串行化服務這個類別中的服務消耗任何類型的語義實例,串行化它們并且向用戶傳遞該信息。一個示例是“告訴我”服務。它采取語義實例,將它串行化成人類可理解的串,并且讀出它。下列是“告訴我”服務的細節(jié)。
一旦語義實例到達,首先,根據(jù)“告訴我”服務語法分析該語義實例。接著,針對該實例的類、或者該實例的對象特性的任何類,“告訴我”服務將檢查其變換腳本儲存庫,以查看是否存在任何可用串行化變換。該變換腳本可以是但不限于可擴展樣式表語言(XSLT)腳本。如果找到這種腳本,則首先將它應用到該實例并且將該實例(或該實例的一部分)變換成串。當該實例包括作為其對象特性的其它實例時,遞歸地應用這種變換過程。(例如,“聯(lián)系人”實例可以包括“地址”實例,作為其“hasBusinessAddress”和“hasHomeAddress”對象特性,并且將相對應的腳本應用到該實例。)例如,假定服務接收下列“地址”實例
通過應用腳本,輸出“城市名(city name),公司-1(company-1)”的“地址(address)”是“國家名(country name),郵政編碼號(Zip Code number),州(state),城市名(city name),模范大道1000號(1000 example street)”接下來,如果發(fā)現(xiàn)不是這種腳本,則將變換的結果,或該示例自身發(fā)送給一般串行化模塊。模塊的目的是利用默認邏輯串行化任何語義實例。在上述示例中,如果存在不是針對該地址實例的腳本,則該實例被串行化為“城市名,公司-1”,“地址”具有作為“街道地址(streetAddress)”的“模范大道1000號”、作為“城市”的“城市名”、作為“州”的“州名”、作為“郵政編碼”的“郵政編碼號”,以及作為“國家”的“國家名”“告訴我”服務的最后步驟是讀出串行化的串?!案嬖V我”服務的串行化模塊還可以由許多其它類似服務使用,如用于在滾動條裝置中顯示串的“顯示給我”服務。
“告訴我”服務在與語音STEER組合使用時非常有用。這是具有一個或更多輸入而沒有輸出(語義地)的服務。它讀出作為輸入接收的語義對象。當語義對象是由針對這個服務的已知類型制成時,它使用針對各已知類型的諸如XSLT腳本的內(nèi)部機制,以確定怎樣讀取該對象。如果該對象針對該服務未知,則它首先尋找對象本體,以查看是否存在有關怎樣讀取它的信息。如果還是沒有,則它使用默認方式利用該對象涉及的本體來讀出它。
例如,假定該服務接收下列“地址”對象
當該服務不知道有關“地址”對象時,它可能讀出的這個對象有點像“城市名,公司-1”,“地址”具有作為其“街道地址”的“模范大道1000號”、作為其“城市”的“城市名”、作為其“州”的“州名”、作為其“郵政編碼”的“郵政編碼號”,以及作為其“國家”的“國家名”在“地址”對象涉及其的本體中定義針對諸如“街道地址”的特性的標簽用“co:streetAddress”??梢酝ㄟ^給定變換功能(如XSLT代碼段)把語義對象串行化成串。如果在本體文件內(nèi),定義串行化功能,或者“告訴我”服務知道怎樣在它自己的知識基礎下串行化“地址”對象,則它可以應用該功能并讀出這個對象如下列“城市名,公司-1”的“地址”是“國家名,郵政編碼號,州名,城市名,(streetAddress)1000號”這個“告訴我”服務接受任何對象作為其輸入。它可以具有多個名稱,如“告訴”、“是什么”(那些名稱可以設置在同一OWL-S文件中或設置在分開的文件中)。對于用戶來說,將給出一自然方式,以檢驗語義對象。例如,如果希望稱為“溫度”的服務返回當前房間溫度,則用戶可以詢問語音STEER計算機,“告訴我”(該)“溫度”?計算機,(該)“溫度”“是多少”?該服務可以具有其它名稱并可以被構成為接受特定種類的對象,以使該服務可以與任務計算客戶端的自動翻譯服務插入機制組合。例如,允許“在哪里”是接受“位置”對象的具有不同名稱的“告訴我”服務。假定存在一服務,“指揮者數(shù)據(jù)”提供指揮者數(shù)據(jù)的“聯(lián)系人”信息,該“聯(lián)系人”信息包括他的位置和“…的位置”服務,該服務從“聯(lián)系人”中提取“位置”。接著,你可以向語音STEER說計算機,“指揮者數(shù)據(jù)“在哪里”?接著,將自動插入“…的位置”服務,并且將執(zhí)行服務組成、“指揮者數(shù)據(jù)”、“…的位置”、“在哪里”,以及將讀出指揮者數(shù)據(jù)的位置。當然,你可以說計算機,“告訴我”(該)“指揮者數(shù)據(jù)”“…的位置”?計算機,“指揮者數(shù)據(jù)”“…的(該)位置”“是什么”?通過使服務接受特定種類的對象,它還可以被構成使得服務可以與語義服務的服務管理功能組合。例如,允許“在哪里”是“告訴我”服務。假定“通過投影儀觀看”服務在其SSD中提供位置信息。接著,你可以詢問語音STEER計算機,“在哪那里”“通過投影儀觀看”?接著,“…的位置”服務管理功能(下面更詳細地討論服務管理功能的細節(jié))被自動增加在“在哪里”與“通過投影儀觀看”之間。
“在哪里”將被執(zhí)行,并且“通過投影儀觀看”的位置將被讀出。
當然,你可以說計算機,“告訴我”“通過投影儀觀看”(該)“…的位置”?計算機,“通過投影儀觀看”(該)“…的位置”“是什么”?即使在使用其中很有用的語音STEER的語境中解釋“告訴我”服務,它也可以與任何任務計算客戶端一起使用。
(2)信息提供服務信息提供服務采取不輸入,而一旦被調用,就創(chuàng)建語義實例作為輸出。信息提供服務與實例提供服務之間的差別在于信息提供服務生成的實例隨時間不同,而實例提供服務生成的實例始終相同。信息提供服務的一些示例是溫度服務、時間以及日期服務。
采用“溫度服務”作為示例,一旦被調用,它就通過感測器檢查當前的溫度,并且利用最近的值創(chuàng)建語義實例。它在與上述“告訴我”服務組合時是非常有用的當用戶通過基于語音的任務計算客戶端命令“計算機,告訴我會議室的(該)溫度”時,她將聽到“該溫度是75度”。
(3)感測器服務(如(不限于)時間、有關天氣、溫度,以及/或可以感測的任何事物)是一種類型的信息提供服務。
諸如時間/溫度服務的感測器服務是語義對象提供器服務。一旦被調用,該服務就可以查閱裝置、Web服務、Web頁,以及/或其它信息源,并且返回當前時間/溫度,作為語義對象。
(4)快照服務快照服務將從諸如數(shù)字攝像機、數(shù)字視頻攝像機、掃描儀等的成像裝置捕獲靜態(tài)圖像,并且在被調用時返回“圖像”語義對象。
(5)OWL格式器服務OWL格式器服務接受語義對象作為其輸入,將它們格式化成人類可理解的方式,并且返回它作為OWL格式器服務的輸出。在采用當前技術的多個實現(xiàn)中的一個中,它針對那些對象的描述,利用使用的本體在HTML中按表格式格式化語義對象,并且向那些對象返回HTML自身或URL自身。
(6)文本格式器服務文本格式器服務接受語義對象作為其輸入,將語義對象格式化成多種預定文本格式中的一種,并且將格式化的語義對象作為文本文件,將它們附加至一些文件等。例如,文本格式器服務可以接受“書”語義對象并且將它格式化成BibTeX格式,并且將它附加至用戶自己的BibTeX文件。或者通過另一文本格式器可以將諸如“蛋白質”的生物信息學對象格式化成由Blast應用使用的格式。
文本格式器服務可以利用XSLT和其它腳本實現(xiàn),例如,文本格式器服務可以保持成對的語義對象和相對應的格式化XSLT腳本的表。當它接收語義對象時,文本格式器確定用于按所述表格式哪一個XSLT腳本,并且它彈出針對用戶的對話框,以選擇把該XSLT腳本保存或附加到哪一個文件。
任務計算客戶端119內(nèi)部服務圖17是根據(jù)本發(fā)明實施例的具有內(nèi)部服務的STEER-WS TCC 119a的計算機顯示畫面圖形用戶接口的圖像。內(nèi)部服務是與任務計算客戶端119a(STEER TCC、白洞、服務管理器等119)緊密捆綁的服務。由于按指定方式在TCC119內(nèi)處理內(nèi)部服務,從而,即使通過任何具體發(fā)現(xiàn)機制都沒有找到內(nèi)部服務,也可以制成內(nèi)部服務,使得內(nèi)部服務可以呈現(xiàn)在客戶端GUI中的任何地方。
一般地,那些內(nèi)部服務也是通配(提供和/或消耗任何“事物”)的。由此,根據(jù)局部和普適的服務112通過任務計算客戶端按不同方式提供那些內(nèi)部服務。即使可能與其它服務112非常不同地處理內(nèi)部服務,內(nèi)部服務的語義服務描述表面上也是沒有差別的。這允許將內(nèi)部服務保存成組合的服務并且與其它共享該組成的服務。
組成有內(nèi)部服務的執(zhí)行如下列所述。當執(zhí)行引擎遭遇內(nèi)部服務時,(因為所有內(nèi)部服務被描述為具有已知WSDL URL的普通WSDL Web服務,所以執(zhí)行引擎知道它),該引擎將檢查WSDL操作名稱并確定它是哪一個內(nèi)部服務。一旦確定了它,就直接地代替調用WSDL Web服務,該引擎裝入一具體模塊,以處理該內(nèi)部服務。
根據(jù)所述實施例的一方面,可以在針對內(nèi)部服務的恒定URL處實現(xiàn)真實Web服務,該真實Web服務用于與內(nèi)部服務相同的目的。在一些沒有實現(xiàn)內(nèi)部服務機制的一些客戶端仍舊可以調用在URL處的服務時的一些情況下,該真實Web服務是有用的。明顯地,按我們的方法調用該真實Web服務作為內(nèi)部服務更加有效。
在此,描述下列實現(xiàn)的內(nèi)部服務(1)實例創(chuàng)建服務,(2)實例復制器,(3)截獲服務,(4)實例保存服務,以及(5)特性選擇服務。實例創(chuàng)建器、實例復制器、截獲器,以及實例保存器是四種涉及任務126執(zhí)行流程控制的內(nèi)部客戶端119服務。它們在處理語義對象時共享一些公共模塊。對于用戶來說,這些公共模塊使得可以動態(tài)地保存語義實例作為文件,或發(fā)布局部或普適的實例提供服務。(可以制成該文件,以使該文件將把語義實例(或其對象特性)饋給到語義服務組成)。用戶還可以針對整個實例或實例的對象特性將來自一文件的語義實例加載到局部存儲器中或Web頁站點上??梢灾瞥稍撐募允乖撐募鶕?jù)語義服務組成執(zhí)行加載語義實例作為結果。這些公共模塊還基于本體執(zhí)行針對數(shù)據(jù)的有效性檢查(如“完整性”、“時間”等)。
(1)實例創(chuàng)建器在圖17中,示出了用于“實例創(chuàng)建器”1602的可選圖形顯示。實例創(chuàng)建服務是基于本體生成針對任何語義類型的交互式的接口的服務,并且允許用戶從該接口創(chuàng)建所述類型的語義實例。實例創(chuàng)建器在用戶想要測試具有輸入的服務時的情況下是有用的,但是沒有提供輸入的所述類型的任何服務。實例創(chuàng)建服務可以在采取輸入的任何服務之前被放置。實例創(chuàng)建服務的輸出類型在采取輸入的任何服務之后與服務的輸入類型相同。
(2)實例復制器復制器服務設置在執(zhí)行序列中的兩個服務之間。在執(zhí)行流程中的其斷點處,實例復制器僅僅復制它的輸入到它的輸出,并且不做另外的事情。它主要地用于針對復制到多服務的組成來保存具有輸入中一些的組成。在沒有復制器的情況下,保存的組成需要具有應當精確相同的多輸入。具有復制器,保存的組成可以僅具有一個輸入。在保存的組成內(nèi),作為第一服務的實例復制器接受輸入,接著將該輸入復制給該組成內(nèi)的多服務。這種復制器的輸入和輸出類型與前述裝置的輸出類型相同。
(3)實例截獲器截獲器服務設置在執(zhí)行序列中的兩個服務之間。一旦被插入,它就在執(zhí)行流程中的其斷點處停止,語法分析并顯示前一服務的輸出。用戶在繼續(xù)之前具有復審并更新前一服務的輸出值的機會。如果她不滿意該結果,則她可以選擇停止該執(zhí)行。而且,可以把中間的結果保存成一文件,或者發(fā)布為語義實例。截獲器服務可以設置在任何兩個服務之間。這種截獲器的輸入和輸出類型與前述服務的輸出類型相同。
(4)實例保存器在圖17中,示出了用于“實例保存器”1604的可選圖形顯示。實例保存內(nèi)部服務1604分析并保存任何語義實例。在某些情況下,由服務生成的輸出不能通過環(huán)境內(nèi)的任何其它服務消耗。在沒有實例保存服務的情況下,該結果將丟失。在有實例保存服務的情況下,用戶具有額外的選項,來保存該結果,用于在將來使用,或在其中服務可用的另一環(huán)境中使用該結果,用于消耗該結果。實例保存服務與前述服務的輸出類型相同。
(5)特性選擇器特性選擇器是提取并向下一服務發(fā)送輸出的一部分的服務。它在服務僅對由另一服務生成的輸出的一部分感興趣的情況下有用。例如,“我的聯(lián)系人”服務允許用戶從她的Outlook中選擇聯(lián)系人項目并生成“聯(lián)系人”實例?!啊牡貓D”服務接受“地址”實例并顯示該地址的地圖。因為在“聯(lián)系人”與“地址”之間不存在超-子-類關系,所以不可以同時鏈接這兩個服務。然而,注意,“聯(lián)系人”實例具有被稱為“hasBusinessAddress”的特性,其具有“地址”類型。特性選擇器被用于此,以幫助用戶發(fā)現(xiàn)這種類型的可能組成。
特性選擇器服務可以設置在兩個服務之間,在該兩個服務中,第二服務的輸入是第一服務的輸出的特性(或這樣遞歸地)。特性選擇器的輸入類型與特性選擇器之前的服務的輸出類型相同,而特性選擇器的輸出類型與特性選擇器之后的服務的輸入類型相同。
在此描述了通過將任務計算100環(huán)境劃分成多個計算機系統(tǒng)實現(xiàn)層來實現(xiàn)任務計算計算機系統(tǒng),所述多個計算機系統(tǒng)實現(xiàn)層包括表示客戶端處理層、遠程過程調用應用編程接口(API)、中間件服務器處理層,以及服務層和功能源實現(xiàn)層,該表示客戶端處理層經(jīng)由遠程過程調用API交互連接至該中間件服務器處理層,以針對作為計算機系統(tǒng)上的服務的語義描述計算機系統(tǒng)功能源,在表示客戶端處理層實時、動態(tài)地生成計算機實現(xiàn)的任務接口,該服務層和功能源實現(xiàn)層提供作為計算機系統(tǒng)上的服務的語義描述的計算機系統(tǒng)功能源(該中間件處理層交互連接至該服務層和功能源實現(xiàn)層);并且根據(jù)針對在計算機系統(tǒng)上的一個或更多服務在表示層生成的任務接口,實時、動態(tài)地組成可執(zhí)行任務,該可執(zhí)行任務包括一個或更多服務。計算機服務是基于語義地描述的富應用、富裝置以及富服務計算機,在計算機上利用針對服務而生成的接口,實時且動態(tài)地組成的可執(zhí)行任務。根據(jù)所述實施例的一方面,在此,用戶實際上有效、動態(tài)、實時地依靠靈活且統(tǒng)一的用戶接口(組合和執(zhí)行功能)來管理與普適計算環(huán)境的交互,或者與普適計算環(huán)境交互。
任務計算是這樣的方法,即(a)嘗試采用語義Web技術,以使資源的更大的(語義的)Web立即可用于遍布式計算應用,和(b)對于有關資源的性質完全不可知,由于不管怎樣發(fā)現(xiàn)、訪問它們、連接至它們,或者與它們通信,從而,可以使用服務抽象116,以使它們可通過任務計算100系統(tǒng)使用。任務計算依靠作為全部功能性的通用抽象的語義描述服務116;另外,當可組成的任務126可以包括許多服務時,任務計算比裝置到服務的互操作性具有更大范圍。例如,典型的任務計算100系統(tǒng)任務126可以實時、動態(tài)地利用5-6個服務112。
本發(fā)明的上述優(yōu)選實施例是采用軟件(如存儲在任何已知計算機可讀介質上)和/或控制可編程裝置/計算裝置(例如,可以存儲、檢索、呈現(xiàn)(例如,顯示)以及處理數(shù)據(jù)的可編程電子裝置——諸如(不限于)個人計算機、在客戶端-服務器網(wǎng)絡架構的情況下的服務器和/或客戶端計算機、在分布式網(wǎng)絡架構中的連網(wǎng)的計算機、終端裝置、個人數(shù)字助理、移動裝置的任何類型電子可編程計算裝置)的可編程計算裝置/硬件來實現(xiàn)。
根據(jù)詳細的說明書應當明白本發(fā)明的許多特征和優(yōu)點,由此,所附權利要求將覆蓋落入本發(fā)明的真正精神和范圍內(nèi)的本發(fā)明的所有這些特征和優(yōu)點。而且,因為本領域技術人員容易獲知許多修改和改變,所以,不希望將本發(fā)明限于例示并描述的精確構造和操作,由此,所有合適的修改和等同物都被視為落入本發(fā)明的范圍內(nèi)。
權利要求
1.一種方法,該方法包括以下步驟語義描述步驟,在該語義描述步驟中,把多個計算機系統(tǒng)功能源描述為計算機系統(tǒng)上的服務;劃分步驟,在該劃分步驟中,將計算機系統(tǒng)劃分成多個可編程計算系統(tǒng)實現(xiàn)層,所述多個計算系統(tǒng)實現(xiàn)層包括表示客戶端處理層,遠程過程調用應用編程接口(API),中間件服務器處理層,所述表示客戶端處理層經(jīng)由所述遠程過程調用API交互連接至該中間件服務器處理層,以在所述表示客戶端處理層實時、動態(tài)地生成針對被語義描述為計算機系統(tǒng)上的服務的計算機系統(tǒng)功能源的計算機實現(xiàn)任務接口,以及服務層和功能源實現(xiàn)層,該服務層和功能源實現(xiàn)層提供被語義描述為所述計算機系統(tǒng)上的服務的計算機系統(tǒng)功能源,所述中間件服務器層交互連接至該服務層和功能源實現(xiàn)層;以及可執(zhí)行任務組成步驟,在該可執(zhí)行任務組成步驟中,根據(jù)在所述表示客戶端處理層生成的針對所述計算機系統(tǒng)上的一個或更多個服務的任務接口,實時、動態(tài)地組成可執(zhí)行任務,該可執(zhí)行任務包括一個或更多個服務。
2.根據(jù)權利要求1所述的方法,其中,所述服務層包括來自所述功能源實現(xiàn)層的服務功能以及語義服務描述,該語義服務描述對應地把所述功能源實現(xiàn)層的所述服務功能語義描述為所述計算機系統(tǒng)上的服務。
3.根據(jù)權利要求1所述的方法,其中,所述遠程過程調用API是根據(jù)Web服務的。
4.根據(jù)權利要求1所述的方法,其中,所述計算機系統(tǒng)包括采用網(wǎng)絡通信的多個計算機系統(tǒng),其中,所述遠程過程調用API是根據(jù)Web服務的,所述Web服務包括遠程Web服務API,并且所述方法還包括以下步驟登記步驟,在該登記步驟中,通過第一計算機系統(tǒng)經(jīng)由網(wǎng)絡將該第一計算機系統(tǒng)的遠程Web服務API登記在第二計算機系統(tǒng)中;發(fā)現(xiàn)步驟,在該發(fā)現(xiàn)步驟中,通過所述第二計算機系統(tǒng)發(fā)現(xiàn)所述第二計算機系統(tǒng)上的服務;以及通知步驟,在該通知步驟中,通過所述第二計算機系統(tǒng)經(jīng)由所登記的遠程Web服務API,向所述第一計算機系統(tǒng)通知在所述第二計算機系統(tǒng)中發(fā)現(xiàn)的服務,由此提供交叉計算機系統(tǒng)服務發(fā)現(xiàn)。
5.根據(jù)權利要求4所述的方法,所述方法還包括以下步驟根據(jù)在所登記的遠程Web服務API中指定的過濾器,對在所述第二計算機系統(tǒng)中的服務發(fā)現(xiàn)進行過濾。
6.根據(jù)權利要求5所述的方法,其中,所述過濾器是根據(jù)資源描述框架數(shù)據(jù)查詢語言(RDQL)的查詢。
7.根據(jù)權利要求1所述的方法,所述方法還包括以下步驟服務名稱定義步驟,在該服務名稱定義步驟中,根據(jù)在所述計算機功能源的所述語義描述中的自然語言定義服務名稱,由此支持所述可執(zhí)行任務的組成,所述可執(zhí)行任務包括根據(jù)自然語句的一個或更多個服務。
8.根據(jù)權利要求1所述的方法,所述方法還包括以下步驟根據(jù)本體定義步驟,在該根據(jù)本體定義步驟中,根據(jù)本體將所述計算機功能源的所述語義描述的功能特征定義為服務,其中,所述可執(zhí)行任務是由一個或更多個根據(jù)各服務的功能特征而可兼容的服務組成的。
9.根據(jù)權利要求1所述的方法,其中,所述中間件服務器處理層包括以下經(jīng)由所述遠程過程調用API而可訪問以支持在所述表示客戶端處理層實時、動態(tài)地生成所述計算機實現(xiàn)任務接口的編程單元服務發(fā)現(xiàn)單元、服務組成單元、服務執(zhí)行單元、服務管理單元,或其任何組合。
10.根據(jù)權利要求9所述的方法,其中,所述計算機系統(tǒng)包括采用網(wǎng)絡通信的多個計算機系統(tǒng),并且所述方法還包括以下步驟第一編程單元安裝步驟,在該第一編程單元安裝步驟中,在第一計算機系統(tǒng)中安裝所述中間件服務器處理層的第一編程單元,作為遠程中間件服務器處理層;第一遠程過程調用API發(fā)布步驟,在該第一遠程過程調用API發(fā)布步驟中,發(fā)布所述第一計算機系統(tǒng)中的所述第一編程單元的第一遠程過程調用API;調用步驟,在該調用步驟中,通過第二計算機系統(tǒng)中的第二編程單元,經(jīng)由所發(fā)布的第一遠程過程調用API,調用所述第一計算機系統(tǒng)中的所述第一編程單元,以管理所述第一計算機系統(tǒng)中的服務。
11.根據(jù)權利要求10所述的方法,其中,管理所述第一計算機系統(tǒng)中的所述服務包括以下步驟經(jīng)由針對服務的所述計算機系統(tǒng)功能源的語義描述,對所述第一計算機系統(tǒng)中的服務進行發(fā)現(xiàn)、執(zhí)行、操縱,或進行這些操作的任何組合。
12.根據(jù)權利要求10所述的方法,其中,所述調用步驟包括以下步驟根據(jù)文件系統(tǒng)、多播、社區(qū)目錄、開放語義服務目錄或其任何組合的一個或更多個發(fā)現(xiàn)機制,經(jīng)由針對所述服務的所述計算機系統(tǒng)功能源的語義描述發(fā)現(xiàn)服務。
13.根據(jù)權利要求10所述的方法,其中,所述調用步驟包括以下步驟在針對所述服務的所述計算機系統(tǒng)功能源的所述語義描述中,根據(jù)空范圍、私有范圍、按子網(wǎng)分組的范圍、按興趣分組的范圍或其任何組合,來設置發(fā)現(xiàn)范圍;以及根據(jù)在針對所述服務的所述計算機系統(tǒng)功能源的所述語義描述中設置的所述發(fā)現(xiàn)范圍,經(jīng)由針對所述服務的所述計算機系統(tǒng)功能源的所述語義描述來發(fā)現(xiàn)服務。
14.根據(jù)權利要求1所述的方法,其中,所述計算機系統(tǒng)功能源是根據(jù)基于Web本體語言(OWL)的Web服務本體(OWL-S)語言而語義描述的。
15.根據(jù)權利要求1所述的方法,其中,計算機系統(tǒng)功能源的所述語義描述包括口語屬性,該口語屬性根據(jù)口語來控制計算機用戶接口。
16.根據(jù)權利要求15所述的方法,其中,所述計算機用戶接口是計算機顯示圖形用戶接口,而所述口語屬性根據(jù)所述口語來控制服務名稱和服務描述的顯示描述。
17.根據(jù)權利要求1所述的方法,其中,計算機系統(tǒng)功能源的所述語義描述包括針對不嚴格輸入數(shù)據(jù)類型、作為服務的計算機系統(tǒng)功能源的位置、管理功能或其任何組合的描述。
18.根據(jù)權利要求1所述的方法,其中,作為所述計算機系統(tǒng)上的所述服務的計算機系統(tǒng)功能源的所述語義描述包括標識針對所述服務的兩個或更多個輸入數(shù)據(jù)類型,第一輸入數(shù)據(jù)類型標識輸入數(shù)據(jù)的精確域,而第二輸入數(shù)據(jù)類型標識大于所述第一輸入數(shù)據(jù)類型的域的不嚴格輸入數(shù)據(jù)類型的域。
19.根據(jù)權利要求1所述的方法,其中,作為所述服務的計算機系統(tǒng)功能源的所述語義描述包括針對所述服務的管理功能的描述、指向針對所述服務的管理功能的描述的鏈接,或這兩者。
20.根據(jù)權利要求19所述的方法,其中,所述管理功能包括以下中的一個或更多個服務過程刪除服務,返回服務的處理語義對象,呈現(xiàn)針對所述服務的用戶接口、所述服務的狀態(tài)信息、所述服務的位置,或其任何組合。
21.根據(jù)權利要求1所述的方法,其中,針對語義描述的計算機系統(tǒng)功能源的計算機實現(xiàn)接口是計算機顯示圖形用戶接口、語音命令用戶接口、無線電裝置用戶接口,或其任何組合。
22.根據(jù)權利要求1所述的方法,其中,針對語義描述的計算機系統(tǒng)功能源的計算機實現(xiàn)接口是語音命令用戶接口,并且所述方法還包括以下步驟服務名稱定義步驟,在該服務名稱定義步驟中,根據(jù)在所述計算機功能源的所述語義描述中的自然語言定義服務名稱,語音識別狀態(tài)語法圖生成步驟,在該語音識別狀態(tài)語法圖生成步驟中,根據(jù)所定義的自然語言服務名稱生成語音識別狀態(tài)語法圖,識別步驟,在該識別步驟中,通過語音識別器識別口頭自然語言語句,作為任務的組成,所述任務包括一個或更多個口頭定義服務名稱,匹配步驟,在該匹配步驟中,根據(jù)所述語音識別狀態(tài)語法圖將識別出的口頭定義服務名稱匹配到一服務序列,以及任務執(zhí)行步驟,在該任務執(zhí)行步驟中,通過執(zhí)行匹配的服務來執(zhí)行所述任務。
23.根據(jù)權利要求22所述的方法,其中,所述計算機顯示圖形用戶接口是服務的空間呈現(xiàn)。
24.根據(jù)權利要求23所述的方法,其中,服務的所述空間呈現(xiàn)包括顯示區(qū)域圖;和在所述區(qū)域圖上空間顯示發(fā)現(xiàn)的服務。
25.根據(jù)權利要求1所述的方法,其中,所述語義描述步驟包括以下步驟利用本體對計算機系統(tǒng)功能源的功能特征進行描述,和向所述服務指定作為自然語言語句要素的名稱,以支持映射到作為自然語言語句的自然語言要素的可組成性中的所述服務的可組成性,并且其中,生成計算機實現(xiàn)任務接口包括以下步驟發(fā)現(xiàn)可用的服務,和基于利用本體對計算機系統(tǒng)功能源的所述功能特征的描述,根據(jù)服務的功能特征對兼容服務進行識別,以支持用戶基于根據(jù)自然語言語句的自然語言服務名稱,組成多個所述兼容服務構成的可執(zhí)行任務。
26.根據(jù)權利要求25所述的方法,其中,所述計算機實現(xiàn)任務接口是計算機顯示畫面圖形用戶接口,并且所述圖形用戶接口包括根據(jù)樹形結構,在第一圖形用戶接口窗口中顯示已發(fā)現(xiàn)服務的可選圖形顯示;呈現(xiàn)第二圖形用戶接口,該第二圖形用戶接口支持將所述一個或更多個服務實時、動態(tài)組成為根據(jù)一過程的任務,所述過程包括以下步驟通過用戶在所述第一窗口中選擇一已發(fā)現(xiàn)服務;自動顯示與所選擇的已發(fā)現(xiàn)服務相關的其它兼容服務的可選圖形顯示;通過用戶選擇一兼容服務;以及根據(jù)用戶選擇已發(fā)現(xiàn)服務和兼容服務作為所述任務,在所述第二圖形用戶接口窗口中實時、動態(tài)顯示定向服務圖形;以及顯示任務執(zhí)行的可選圖形顯示,以執(zhí)行所述任務。
27.根據(jù)權利要求26所述的方法,其中,根據(jù)所述已發(fā)現(xiàn)服務的功能特征,在所述第一圖形用戶接口窗口中組織所顯示的已發(fā)現(xiàn)服務。
28.根據(jù)權利要求1所述的方法,其中,根據(jù)由客戶端、服務私有策略、共享策略、本體或其任何組合提供的服務訪問控制事實要素,來控制對服務的訪問。
29.根據(jù)權利要求1所述的方法,其中,所述表示客戶端處理層包括提供實例創(chuàng)建器、實例復制器、實例截獲器、實例保存器、特性選擇器或其任何組合的內(nèi)部服務。
30.根據(jù)權利要求1所述的方法,所述方法還包括以下步驟提供語義實例串行化服務、信息提供服務、感測器服務、快照服務、Web本體語言(OWL)格式器服務,以及文本格式器服務,作為語義描述的所述多個計算機系統(tǒng)功能源。
31.根據(jù)權利要求30所述的方法,其中,所述語義實例串行化服務包括消耗任何類型的語義實例,將所述語義實例串行化成信息,以及向用戶提供所述信息。
32.根據(jù)權利要求30所述的方法,其中,所述信息提供服務包括從計算機系統(tǒng)功能源輸出語義對象,其中,所述計算機系統(tǒng)功能源是信息提供功能源。
33.根據(jù)權利要求32所述的方法,其中,所述信息提供功能源提供時間、日期、有關天氣、道路交通或其任何組合。
34.根據(jù)權利要求30所述的方法,其中,所述快照服務包括從成像裝置捕獲靜物圖像;和輸出針對所述靜物圖像的語義對象。
35.根據(jù)權利要求30所述的方法,其中,所述OWL格式器服務包括接受語義對象作為輸入;將所述語義對象格式化成人類可理解的方式;以及輸出格式化后的語義對象。
36.根據(jù)權利要求30所述的方法,其中,所述文本格式器服務包括接受語義對象;將所述語義對象格式化成多個預定文本格式中的一種;以及輸出格式化后的語義對象。
37.根據(jù)權利要求1所述的方法,其中,所述計算機系統(tǒng)包括采用網(wǎng)絡通信的多個計算機系統(tǒng),并且其中,作為所述服務的所述計算機系統(tǒng)功能源包括在所述多個計算機系統(tǒng)中的任一個上的功能的裝置源、應用源、電子服務源、內(nèi)容源,或其任何組合。
38.根據(jù)權利要求37或25所述的方法,其中,作為所述服務的所述計算機系統(tǒng)功能源可通過WSDL(Web服務描述語言)、UPnP(通用即插即用)、CORBA、RMI、RPC、DCE、DCOM或其任何組合的遠程過程調用而獲得。
39.根據(jù)權利要求1所述的方法,其中,所述計算機系統(tǒng)包括采用網(wǎng)絡通信的多個計算機系統(tǒng),其中,所述遠程過程調用API是根據(jù)Web服務的,該Web服務包括遠程Web服務API,并且所述方法還包括以下步驟遠程Web服務API發(fā)布步驟,在該遠程Web服務API發(fā)布步驟中,發(fā)布第一計算機系統(tǒng)的所述遠程Web服務API;和服務管理步驟,在該管理服務步驟中,第二計算機系統(tǒng)經(jīng)由所發(fā)布的遠程Web服務API來管理所述第一計算機系統(tǒng)上的服務。
40.根據(jù)權利要求39所述的方法,其中,所述服務管理步驟包括以下步驟在所述第二計算機系統(tǒng)上生成、發(fā)布、發(fā)現(xiàn)、執(zhí)行所述服務,或者進行這些操作的任何組合。
41.根據(jù)權利要求1所述的方法,其中,所述中間件服務處理層包括服務管理過程,而所述表示客戶端處理層包括一個或更多個語義描述服務控制機制客戶端,以生成、發(fā)布和/或操縱針對作為服務的計算機系統(tǒng)功能源的語義對象和/或語義服務描述。
42.根據(jù)權利要求1所述的方法,其中,所述語義描述服務控制機制客戶端包括客戶端過程、真實世界對象語義化器客戶端、數(shù)據(jù)庫語義化器客戶端以及介質發(fā)布器,該客戶端過程語義化、創(chuàng)建語義服務描述,并且將所述語義服務描述發(fā)布為服務。
43.根據(jù)權利要求1所述的方法,其中,所述介質發(fā)布器包括接收選擇的數(shù)據(jù)對象;針對所述選擇的數(shù)據(jù)對象,生成對應的語義實例;以及針對所生成的語義實例創(chuàng)建并發(fā)布語義服務描述,以提供服務。
44.一種計算機系統(tǒng),該計算機系統(tǒng)包括服務器處理系統(tǒng),該服務器處理系統(tǒng)把計算機系統(tǒng)功能源抽象為語義描述服務;和客戶端處理系統(tǒng),該客戶端處理系統(tǒng)經(jīng)由遠程過程調用與所述服務器處理系統(tǒng)交互連接,以支持基于所述計算機系統(tǒng)功能源的所述語義描述服務,經(jīng)由計算機實現(xiàn)任務接口,在所述計算機系統(tǒng)上實時、動態(tài)組成可執(zhí)行任務,該可執(zhí)行任務包括一個或更多個服務。
45.一種裝置,該裝置包括編程處理器,該編程處理器根據(jù)一過程控制所述裝置,該過程包括以下步驟識別對象;基于所識別對象生成語義實例;以及發(fā)布所述語義實例。
46.根據(jù)權利要求45所述的裝置,其中,所述對象是物理對象、語音、視頻或其任何組合。
47.根據(jù)權利要求45所述的裝置,其中,所述識別對象的步驟是根據(jù)通過多媒體識別處理引擎讀取計算機可讀代碼、檢測射頻識別(RFID)標簽、以及檢測對象信息的。
48.一種計算機實現(xiàn)的方法,該計算機實現(xiàn)的方法包括以下步驟數(shù)據(jù)庫模式映射步驟,在該數(shù)據(jù)庫模式映射步驟中,將數(shù)據(jù)庫模式映射成本體;和語義對象生成步驟,在該語義對象生成步驟中,基于所述映射在所述數(shù)據(jù)庫中生成數(shù)據(jù)的語義對象。
49.根據(jù)權利要求48所述的計算機實現(xiàn)的方法,所述計算機實現(xiàn)的方法還包括以下步驟語義對象生成控制步驟,在該語義對象生成控制步驟中,控制所述語義對象的生成,以根據(jù)在所述數(shù)據(jù)庫中的所述數(shù)據(jù)的全部或一部分生成語義對象,并且將一個或更多個語義對象輸出到單個或多個文件中。
50.根據(jù)權利要求48所述的計算機實現(xiàn)的方法,所述數(shù)據(jù)庫模式映射步驟還包括以下步驟顯示圖形用戶接口,該圖形用戶接口包括第一窗口,該第一窗口顯示所述數(shù)據(jù)庫模式的可選圖像顯示;和第二窗口,該第二窗口顯示本體的可選圖形顯示,和基于所顯示的圖形用戶接口,通過用戶將所述數(shù)據(jù)庫模式映射至所述本體。
51.根據(jù)權利要求50所述的方法,其中,所述數(shù)據(jù)庫模式映射步驟還包括以下步驟根據(jù)在所數(shù)據(jù)庫模式和所述本體中的語法線索,通過編程處理器提示可能的映射。
52.根據(jù)權利要求48所述的計算機實現(xiàn)的方法,所述計算機實現(xiàn)的方法還包括以下步驟圖形用戶接口顯示步驟,在該圖形用戶接口顯示步驟中,顯示包括語義對象的可選圖形顯示的圖形用戶接口;和值返回步驟,在該返回值步驟中,返回選定的語義對象的值。
53.一種計算機系統(tǒng),該計算機系統(tǒng)包括服務器處理裝置,該服務器處理裝置用于把計算機系統(tǒng)功能源抽象為多個服務;和客戶端處理裝置,該客戶端處理裝置用于經(jīng)由遠程調用機制,提供用于實時、動態(tài)組成任務的用戶任務接口,所述任務包括所述服務中的兩個或更多個。
54.一種便攜式計算機可讀介質,該便攜式計算機可讀介質存儲至少一個程序,所述至少一個程序根據(jù)一過程控制計算機系統(tǒng),該過程包括以下步驟把多個計算機系統(tǒng)功能源語義描述為服務;發(fā)現(xiàn)被語義描述為所述服務的所述多個計算機系統(tǒng)功能源,并且在第一圖形用戶接口中呈現(xiàn)所述服務;呈現(xiàn)第二圖形用戶接口,所述第二圖形用戶接口支持根據(jù)一過程將一個或更多個服務實時、動態(tài)組成為一任務,所述過程包括用戶在所述第一窗口中選擇一已發(fā)現(xiàn)服務;自動顯示與所選擇的已發(fā)現(xiàn)服務相關的其它有效服務的可選圖形顯示;用戶選擇有效服務;以及根據(jù)用戶選擇所述已發(fā)現(xiàn)服務和所述有效服務作為所述任務,在所述第二圖形用戶接口窗口中實時、動態(tài)地顯示一定向服務圖形;以及顯示任務執(zhí)行的可選圖形顯示,以執(zhí)行所述任務。
55.一種終端裝置,該終端裝置包括編程客戶端處理器,該編程客戶端處理器根據(jù)一過程控制所述終端裝置,所述過程包括經(jīng)由針對服務器過程的遠程過程調用機制,發(fā)現(xiàn)被語義描述為服務的多個計算機系統(tǒng)功能源;生成計算機實現(xiàn)用戶接口,該計算機實現(xiàn)用戶接口支持根據(jù)一過程將一個或更多個服務實時、動態(tài)組成為一任務,所述過程包括通過用戶接收所述任務的命令;和經(jīng)由所述服務器過程控制對所述任務的處理,所述任務包括一個或更多個服務。
56.根據(jù)權利要求55所述的終端裝置,其中,所述計算機實現(xiàn)用戶接口是計算機顯示圖形用戶接口、語音命令用戶接口、無線電裝置用戶接口或其任何組合。
57.根據(jù)權利要求55所述的終端裝置,其中,所述客戶端過程的過程還包括在第一圖形用戶接口中呈現(xiàn)已發(fā)現(xiàn)服務;呈現(xiàn)第二圖形用戶接口,該第二圖形用戶接口支持根據(jù)一過程將所述一個或更多個服務實時、動態(tài)組成為一任務,所述過程包括通過用戶在所述第一窗口中選擇一已發(fā)現(xiàn)服務;自動顯示與所選擇的已發(fā)現(xiàn)服務相關的其它有效服務的可選圖形顯示;通過用戶選擇有效服務;以及根據(jù)用戶選擇所述已發(fā)現(xiàn)服務和所述有效服務作為所述任務,在所述第二圖形用戶接口窗口中實時、動態(tài)地顯示一定向服務圖形;以及顯示任務執(zhí)行的可選圖形顯示,以經(jīng)由所述服務器過程執(zhí)行所述任務。
58.一種終端裝置,該終端裝置包括編程客戶端處理器,該編程客戶端處理器根據(jù)一過程控制所述終端裝置,該過程包括讀取Web本體語言文件,該Web本體語言文件把計算機系統(tǒng)功能源語義描述為服務,和根據(jù)所述Web本體語言文件的讀取來執(zhí)行所述服務。
59.一種服務器處理裝置,該服務器處理裝置與多個客戶端處理裝置通信,所述服務器處理裝置包括編程服務器處理器,該編程服務器處理器根據(jù)一過程響應于遠程過程調用機制控制所述服務器處理裝置,所述過程包括發(fā)現(xiàn)被語義描述為服務的多個計算機系統(tǒng)功能源;經(jīng)由所述遠程過程調用機制,控制客戶端計算機實現(xiàn)用戶接口的生成,該客戶端計算機實現(xiàn)用戶接口支持將一個或更多個服務實時、動態(tài)組成為一任務。
60.根據(jù)權利要求59所述的服務器處理裝置,其中,所述控制客戶端計算機實現(xiàn)用戶接口的步驟是根據(jù)一過程進行的,所述過程包括根據(jù)在計算機系統(tǒng)功能源的語義描述中描述的服務的功能特征,從所述多個已發(fā)現(xiàn)服務中識別兼容服務;根據(jù)一個或更多個選定的兼容服務,組成一任務;接收任務執(zhí)行命令;以及響應于所述任務執(zhí)行命令,在所述客戶端執(zhí)行所述一個或更多個服務,以執(zhí)行所述任務。
全文摘要
本發(fā)明涉及語義任務計算。任務計算計算機系統(tǒng),該任務計算計算機系統(tǒng)將該系統(tǒng)劃分成多個實現(xiàn)層,即,表示層、遠程過程調用編程接口(API)、中間件層、以及服務層和功能源實現(xiàn)層,經(jīng)由遠程過程調用API將表示層交互連接至該中間件層,以在表示層實時、動態(tài)地生成針對被語義描述為計算機系統(tǒng)上的服務的功能源的計算機實現(xiàn)任務接口,該服務層和功能源實現(xiàn)層提供被語義描述為計算機系統(tǒng)上的服務的功能源,該中間件層交互連接至該服務層和功能源實現(xiàn)層。基于語義描述的富應用、富裝置以及富服務計算機,在計算機系統(tǒng)上針對一個或更多個服務,在表示層利用生成的任務接口實時、動態(tài)地組成可執(zhí)行任務,該可執(zhí)行任務包括一個或更多個服務。
文檔編號G06F9/45GK1954292SQ200580013453
公開日2007年4月25日 申請日期2005年4月27日 優(yōu)先權日2004年4月28日
發(fā)明者約翰·郎布羅, 益岡龍介, 杜葉文, 宋哲炫 申請人:富士通株式會社