專利名稱:任務(wù)計(jì)算的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及個(gè)人和遍布計(jì)算,更具體來說,涉及準(zhǔn)備和執(zhí)行計(jì)算任務(wù)。
背景技術(shù):
計(jì)算的當(dāng)前狀態(tài)個(gè)人計(jì)算個(gè)人計(jì)算用戶操作單一設(shè)備和訪問/使用駐留在該設(shè)備中的應(yīng)用程序的典范。個(gè)人計(jì)算要求用戶對(duì)其計(jì)算環(huán)境和其機(jī)器上可使用的應(yīng)用程序有充分的理解,從而使得博學(xué)的用戶可以充分地使用可利用的資源來執(zhí)行復(fù)雜的任務(wù)。這就是我們大多數(shù)人日常體驗(yàn)的計(jì)算;學(xué)習(xí)如何完成復(fù)雜任務(wù)的負(fù)擔(dān)仍落在用戶身上,用戶必須理解在其機(jī)器上運(yùn)行的每個(gè)應(yīng)用程序和它們所支持的各項(xiàng)功能,必須在應(yīng)用程序之間手動(dòng)傳送數(shù)據(jù)(剪切和粘貼),必須手動(dòng)地調(diào)用各個(gè)應(yīng)用程序和與所述任務(wù)有關(guān)的特定功能,并且最終必須將其全部注意力(和時(shí)間)都投入到復(fù)雜任務(wù)的執(zhí)行中。完成復(fù)雜任務(wù)一方面依賴于用戶對(duì)任務(wù)的理解,另一方面依賴于用戶對(duì)可利用資源(設(shè)備和應(yīng)用程序)的理解,以便用戶自己可以將它們結(jié)合到用戶將要執(zhí)行的工作流中,所述工作流的最終結(jié)果將是所完成的任務(wù)。
早期的個(gè)人計(jì)算方法的示例我們簡(jiǎn)要討論一些示例,對(duì)它們的技術(shù)方面進(jìn)行概述并指出它們的局限性。這些示例顯示了個(gè)人計(jì)算環(huán)境的更為面向任務(wù)的景象。
在操作系統(tǒng)的一個(gè)特征中,當(dāng)用戶將音樂CD插入CD托盤中時(shí),將彈出一個(gè)窗口,對(duì)用戶提出從那個(gè)時(shí)刻起他/她可以執(zhí)行的任務(wù)。這些選項(xiàng)的典型清單包括播放音頻CD
從CD復(fù)制音樂打開文件夾查看文件不采取動(dòng)作這些選項(xiàng)中的每個(gè)還提及用以執(zhí)行所述動(dòng)作的應(yīng)用程序。關(guān)注點(diǎn)放在將要執(zhí)行的動(dòng)作或任務(wù)而非用于執(zhí)行任務(wù)的應(yīng)用程序上。
類似的,如果將一個(gè)數(shù)字?jǐn)z像機(jī)連接到計(jì)算機(jī)上,那么就彈出帶有下列用戶可以執(zhí)行的動(dòng)作的彈出窗口記錄視頻捕獲視頻不執(zhí)行動(dòng)作在任何一種情況下,操作系統(tǒng)都使用與特定事件(插入音樂CD或連接數(shù)字?jǐn)z像機(jī))的發(fā)生相關(guān)聯(lián)的預(yù)定的動(dòng)作或任務(wù)清單,以便在所述事件發(fā)生時(shí),將相關(guān)的動(dòng)作清單呈現(xiàn)給用戶以遵照?qǐng)?zhí)行。在該情況下,系統(tǒng)的響應(yīng)是硬連線的,并不包括超越它的靈活性,與作為觸發(fā)事件的結(jié)果而被執(zhí)行的可能動(dòng)作有關(guān)的響應(yīng)已經(jīng)被編入系統(tǒng)中。換句話說,在數(shù)字?jǐn)z像機(jī)連接到計(jì)算機(jī)上時(shí),所述系統(tǒng)表現(xiàn)出可以發(fā)生的相同的動(dòng)作集;操作系統(tǒng)的程序員已經(jīng)為特定的事件準(zhǔn)備了這個(gè)特定的動(dòng)作清單。應(yīng)用程序可以改變清單中的項(xiàng)目,但對(duì)于最終用戶就沒有容易的辦法來改變它。
在操作系統(tǒng)的另一個(gè)特征中,用戶有機(jī)會(huì)對(duì)動(dòng)作進(jìn)行選擇。也就是說,對(duì)于每種下面的文件類型呈現(xiàn)給用戶一個(gè)單獨(dú)的任務(wù)列表文檔、圖片、相冊(cè)、音樂、音樂家、音樂圖冊(cè)(music album)、和視頻。例如,如果文件類型為圖片,那么就出現(xiàn)“圖片任務(wù)”的列表幻燈片放映查看(圖片)聯(lián)機(jī)順序打印打印圖片將圖片設(shè)為背景將圖片復(fù)制到CD該任務(wù)列表也是預(yù)先編制的并且與特定的文件類型有關(guān)。對(duì)于最終用戶沒有容易的辦法來改變?cè)摿斜怼H缭诹硗獾氖纠心菢?,關(guān)注點(diǎn)集中在能被執(zhí)行的任務(wù)上而不是集中在將要使用的用于執(zhí)行所述任務(wù)的應(yīng)用程序上。而且用戶不需要知道哪個(gè)應(yīng)用程序?qū)⒂糜谒鋈蝿?wù)。如果用戶選擇執(zhí)行一個(gè)建議的任務(wù),那么適當(dāng)?shù)膽?yīng)用程序?qū)⒁虼吮怀跏蓟⒈徽{(diào)用(啟動(dòng))。
在辦公套裝軟件的示例中,智能標(biāo)記特征是可利用的。智能標(biāo)記特征使用編輯器高亮顯示當(dāng)前文檔中的文本并給用戶提供動(dòng)作下拉菜單,所述動(dòng)作可以利用文本表示的對(duì)象被執(zhí)行。例如,如果所述文本表示一個(gè)名字,那么該特征可將與該名字關(guān)聯(lián)的對(duì)象識(shí)別為人物,并且可提供下列可能的動(dòng)作列表發(fā)送郵件(給那個(gè)人)安排會(huì)議(與那個(gè)人)打開聯(lián)系人(那個(gè)人的)創(chuàng)建聯(lián)系人(用于那個(gè)人)通過識(shí)別所述文檔中的字符串可能表示名字來啟用所述選項(xiàng)。系統(tǒng)依靠文本的句法特征來識(shí)別該特殊的文本片斷表示名字。注意,與典型的美國(guó)名字(例如,Lusheng Ji)不相似的字符串可能不會(huì)被識(shí)別為與人關(guān)聯(lián)的名字。原因是用于將文本片斷識(shí)別為名字的的系統(tǒng)部分是非常簡(jiǎn)單的程序(腳本),它試圖以文本的句法形式識(shí)別可容易地識(shí)別的模式。一旦文本的“性質(zhì)”被(正確或不正確地)識(shí)別出來,例如,人,地址等,就將預(yù)先編制的可能動(dòng)作的列表呈現(xiàn)給用戶。對(duì)于應(yīng)用程序編制者來說可以創(chuàng)建用于其它域和應(yīng)用程序的智能標(biāo)記,例如識(shí)別地址和調(diào)用地圖應(yīng)用程序等。
現(xiàn)在討論另一示例,其試圖給用戶提供計(jì)算環(huán)境的更為面向任務(wù)的景象。當(dāng)用戶在搜索引擎的搜索框內(nèi)鍵入一個(gè)地址時(shí),服務(wù)將返回(超過通常的搜索結(jié)果)到地圖功能的鏈接,該鏈接如果繼續(xù)將提供所述地址的地圖。
然而,并不見得用戶可能正在搜索所鍵入的地址的地圖。其它合理的可能性有用戶可能想要與該地址相關(guān)聯(lián)的電話號(hào)碼清單;或者如果該地址是企業(yè),那么用戶可能想要看到該企業(yè)的較好的商業(yè)局記錄,或者檢查在它附近的天氣,等等。在搜索引擎當(dāng)前的形式中,它將猜測(cè)鍵入的文本代表什么類型的“事物”(在該情況下為地址),并且它將返回與該類型的條目相關(guān)聯(lián)的硬連線任務(wù)。
總結(jié)上面提到的所有示例都表現(xiàn)出相似的特征以某種方式來猜測(cè)用戶的輸入(文本或事件)的類型或性質(zhì);實(shí)際上系統(tǒng)依靠其句法特征試圖推知串的意義(語義學(xué))。
系統(tǒng)對(duì)似乎可能的任務(wù)進(jìn)行猜測(cè),所述任務(wù)可能是用戶希望針對(duì)所述輸入來執(zhí)行的;該猜測(cè)被硬連線到系統(tǒng),所以系統(tǒng)不能實(shí)時(shí)有效地進(jìn)行所述猜測(cè),而是在對(duì)系統(tǒng)進(jìn)行編程時(shí),系統(tǒng)的程序設(shè)計(jì)人員遠(yuǎn)在用戶與它交互之前就進(jìn)行了猜測(cè)。
根據(jù)用戶利用合適的輸入(無論系統(tǒng)在第一步驟猜測(cè)出什么)進(jìn)行的選擇(無論用戶在第二步驟中選擇什么),調(diào)用了適當(dāng)?shù)膽?yīng)用程序。
現(xiàn)有技術(shù)的示例為用戶增加了方便性,但也包括下列特征功能已經(jīng)被設(shè)計(jì)到應(yīng)用程序中;應(yīng)用程序的程序設(shè)計(jì)人員已經(jīng)編制(硬件實(shí)現(xiàn))了系統(tǒng)的響應(yīng)。因此,這不是一個(gè)靈活的和可擴(kuò)展的方法,因?yàn)樵谠O(shè)計(jì)時(shí)間內(nèi)就已確定了可能性的范圍。
系統(tǒng)已經(jīng)限制了滿足用戶的動(dòng)作和愿望的方法,它也不能精確地“感知”輸入的性質(zhì)(語義或意義)。雖然在每種示例中使用了不同的技術(shù),但系統(tǒng)仍依賴于通過它的句法特征來正確地猜測(cè)所述輸入的意義。
在特定類型的輸入導(dǎo)致單一動(dòng)作(應(yīng)用程序調(diào)用)的情況下,系統(tǒng)采用因-果(觸發(fā)-響應(yīng))機(jī)制。復(fù)雜用戶任務(wù)需要具有復(fù)雜的事件和動(dòng)作序列的更加復(fù)雜的工作流,這對(duì)于在這些討論的示例中使用的過分簡(jiǎn)單化的技術(shù)是不可能的(從技術(shù)上說)。
總的來說,在個(gè)人計(jì)算的當(dāng)前過渡狀態(tài)中,我們注意到了這樣的嘗試通過基于輸入的句法特征猜測(cè)輸入的意義,并且利用恰當(dāng)?shù)妮斎雭碚{(diào)用正確的應(yīng)用程序,來推測(cè)用戶的任務(wù);該方法是硬連線的并且是脆弱的。
個(gè)人計(jì)算的局限性由于下面的原因,我們認(rèn)為個(gè)人計(jì)算顯示出本質(zhì)的局限性當(dāng)個(gè)人計(jì)算達(dá)到海量時(shí),期望普通的非專家用戶擁有高級(jí)的計(jì)算經(jīng)驗(yàn)和熟練程度是不切實(shí)際的。
而且個(gè)人計(jì)算對(duì)于高級(jí)用戶也是有問題的,因?yàn)樗赡苁呛臅r(shí)的。
對(duì)于如下所述的遍布計(jì)算的新興范例,個(gè)人計(jì)算是不適當(dāng)?shù)募軜?gòu)。
對(duì)于普通用戶,計(jì)算環(huán)境變得日益復(fù)雜。這是由于對(duì)用戶可用的應(yīng)用程序和設(shè)備的復(fù)雜度和激增引起的。雖然用戶可以在計(jì)算環(huán)境中執(zhí)行的任務(wù)已經(jīng)快速增長(zhǎng)了,但需要用戶具有的熟練程度也提高了。計(jì)算機(jī)用戶的用戶基礎(chǔ)已經(jīng)快速擴(kuò)展到具有非常少(或者根本不具有)的計(jì)算專門技術(shù)的用戶,結(jié)果情況變?cè)懔?。?jì)算業(yè)界的目標(biāo)是使計(jì)算對(duì)非專家用戶也是可用的。該目標(biāo)與計(jì)算環(huán)境的日益增長(zhǎng)的復(fù)雜性相沖突。
即使最終用戶掌握了豐富的專門知識(shí),利用當(dāng)今計(jì)算環(huán)境中可能的事物也需要花費(fèi)相當(dāng)可觀的時(shí)間。這是因?yàn)楦呒?jí)用戶已經(jīng)變成其個(gè)人計(jì)算環(huán)境的“程序設(shè)計(jì)者”??紤]高級(jí)用戶可能頻繁執(zhí)行的更加復(fù)雜的任務(wù),例如決定參加她看到公布在網(wǎng)頁(yè)上的的談話用戶必須找出談話發(fā)生的地點(diǎn)的地址,檢查與她的個(gè)人日程安排的沖突,找出到所述位置的方向,在日程安排應(yīng)用程序中創(chuàng)建條目等。這樣做要求在應(yīng)用程序之間進(jìn)行剪切和粘貼(假定用戶足夠熟練,知道使用哪個(gè)應(yīng)用程序來完成所述任務(wù))和執(zhí)行使用可利用的資源的精心策劃的工作流以完成期望的復(fù)雜任務(wù)。如果用戶需要在將來執(zhí)行相同或相似的任務(wù),那么她必須重新執(zhí)行所有這些動(dòng)作,結(jié)果情況就變?cè)懔恕?br>
個(gè)人計(jì)算,也就是用戶擁有和操作運(yùn)行用戶應(yīng)用程序并“容納”用戶數(shù)據(jù)的思路正在讓步于具有較少明確限定邊界的計(jì)算環(huán)境。當(dāng)計(jì)算機(jī)永久連接到計(jì)算機(jī)網(wǎng)絡(luò)時(shí),本地和遠(yuǎn)程應(yīng)用程序與數(shù)據(jù)之間的區(qū)別變?nèi)趿?,或者甚至更差,它們?duì)于計(jì)算機(jī)用戶而言是分不清的。而且,用戶可以訪問不是計(jì)算機(jī)的設(shè)備(照相機(jī)、打印機(jī)、智能設(shè)備等)并與其發(fā)生交互,這是針對(duì)個(gè)人計(jì)算機(jī)仍然具有非凡的計(jì)算能力并能給用戶的目標(biāo)提供服務(wù)和幫助他們完成各種任務(wù)而言的。這個(gè)通常稱作遍布計(jì)算環(huán)境的新計(jì)算環(huán)境要求對(duì)于用于在其中完成事情的問題采用根本不同的方法。首先,普通用戶可能不知道在這種環(huán)境中什么是可能的或切實(shí)可行的,因?yàn)榭衫玫馁Y源(設(shè)備和應(yīng)用程序)可能在不斷地變化,而且此外用戶不能依賴靈活且統(tǒng)一的用戶界面來方便地管理與這種環(huán)境的交互。換言之,在充滿對(duì)于用戶來說不是已知的設(shè)備和應(yīng)用程序的設(shè)置中,個(gè)人計(jì)算方法是不可行的。
發(fā)明內(nèi)容
任務(wù)計(jì)算是用戶如何與設(shè)備和服務(wù)交互的新的范例,它在使用計(jì)算設(shè)備的同時(shí)強(qiáng)調(diào)用戶想要完成的任務(wù),而不是如何完成它們。任務(wù)計(jì)算填補(bǔ)了用戶想要做的與在他們的環(huán)境中可利用的服務(wù)之間的空白。任務(wù)計(jì)算顯示出超過傳統(tǒng)方法(例如當(dāng)前的個(gè)人計(jì)算范例)的本質(zhì)優(yōu)點(diǎn),也就是說,它對(duì)于非專家計(jì)算機(jī)用戶更為合適,它對(duì)于所有類型的用戶都可節(jié)約時(shí)間,并且尤其適合于新興的遍布計(jì)算類型的計(jì)算環(huán)境。
我們通過提供對(duì)下述的支持來討論對(duì)作為支持任務(wù)計(jì)算(TaskComputing)的基礎(chǔ)的任務(wù)計(jì)算環(huán)境(TCE)的需求任務(wù)計(jì)算的工作流任務(wù)和服務(wù)的說明由最終用戶(他們依靠任務(wù)和服務(wù)的說明)進(jìn)行的任務(wù)的指定、執(zhí)行和再使用性包括由最終用戶進(jìn)行的創(chuàng)建和刪除服務(wù)的操作我們?cè)斒鋈蝿?wù)計(jì)算環(huán)境(TCE)實(shí)施例;當(dāng)看作具體實(shí)現(xiàn)的系統(tǒng)時(shí),這樣的實(shí)施例包括下述各項(xiàng)一個(gè)或多個(gè)任務(wù)計(jì)算客戶機(jī)(TCC)一個(gè)或多個(gè)語義描述服務(wù)(SDS)一個(gè)或多個(gè)語義服務(wù)發(fā)現(xiàn)機(jī)制(SSDM)以及,可選擇地包括一個(gè)或多個(gè)語義描述服務(wù)控制機(jī)制(SDSCM)我們?cè)敿?xì)地給出兩個(gè)稱作TCC I和TCC II的任務(wù)計(jì)算客戶機(jī)實(shí)施例、多個(gè)語義描述服務(wù)和語義描述服務(wù)控制機(jī)制的實(shí)施例。
通過任務(wù)計(jì)算的詳細(xì)預(yù)排我們推斷使用STEER的應(yīng)用情況。
本發(fā)明的上述方面可通過包括執(zhí)行任務(wù)計(jì)算的計(jì)算機(jī)系統(tǒng)的基于計(jì)算機(jī)的系統(tǒng)、方法和計(jì)算機(jī)可讀介質(zhì)來實(shí)現(xiàn),從而使得用戶通過結(jié)合可用的功能而可以定義任務(wù)并能執(zhí)行這種任務(wù)。
通過參考作為其一部分的附圖的說明,這些連同其它的方面和優(yōu)點(diǎn)將是非常明顯的,且它們存在于如之后更加充分描述的和所要求的結(jié)構(gòu)和操作的細(xì)節(jié)中,其中始終用相同的標(biāo)號(hào)表示相同的部分。
圖1示出由設(shè)備和服務(wù)包圍的用戶。
圖2示出第一個(gè)以用戶為中心的視圖。
圖3示出第二個(gè)以用戶為中心的視圖。
圖4示出任務(wù)和服務(wù)。
圖5示出第一計(jì)算機(jī)工作流變型。
圖6示出第二計(jì)算機(jī)工作流變型。
圖7示出第三計(jì)算機(jī)工作流變型。
圖8示出第四計(jì)算機(jī)工作流變型。
圖9示出第五計(jì)算機(jī)工作流變型。
圖10示出第六計(jì)算機(jī)工作流變型。
圖11示出復(fù)合任務(wù)計(jì)算工作流。
圖12示出語義服務(wù)實(shí)例映射和基礎(chǔ)連接(GROUNDING)。
圖13示出并入新服務(wù)的第一方法。
圖14示出并入新服務(wù)的第二方法。
圖15示出基于S備忘錄的最終用戶系統(tǒng)開發(fā)/部署。
圖16示出TCE實(shí)施例的一般架構(gòu)。
圖17示出用戶界面完全版本。
圖18示出第一用戶界面選項(xiàng)卡版本。
圖19示出第二用戶界面選項(xiàng)卡版本。
圖20示出第三用戶界面選項(xiàng)卡版本。
圖21示出第四用戶界面選項(xiàng)卡版本。
圖22示出第五用戶界面選項(xiàng)卡版本。
圖23示出第一用戶界面流版本。
圖24示出第二用戶界面流版本。
圖25示出第三用戶界面流版本。
圖26示出第四用戶界面流版本。
圖27示出在開始處的任務(wù)計(jì)算(Task Computing)。
圖28示出用戶選擇之后的任務(wù)計(jì)算。
圖29示出左面板刷新之后的任務(wù)計(jì)算。
圖30示出用戶選擇之后的任務(wù)計(jì)算的另一視圖。
圖31示出在左面板刷新之后的任務(wù)計(jì)算的另一視圖。
圖32示出任務(wù)計(jì)算自動(dòng)完成(auto-complete)信息。
圖33示出用戶在帶有自動(dòng)的自動(dòng)完成選項(xiàng)的任務(wù)計(jì)算中選擇自動(dòng)完成。
圖34示出第一用戶界面web版本。
圖35示出第二用戶界面web版本。
圖36示出第三用戶界面web版本。
圖37示出第四用戶界面web版本。
圖38示出第五用戶界面web版本。
圖39示出第一用戶界面嵌套菜單版本。
圖40示出第二用戶界面嵌套菜單版本。
圖41示出用戶界面命令行版本。
圖42示出語義實(shí)例類型之間的關(guān)系。
圖43示出TCE實(shí)施例的架構(gòu)。
圖44示出TCC I內(nèi)部結(jié)構(gòu)。
圖45示出TCC I主邏輯。
圖46示出使用IE的發(fā)現(xiàn)和注冊(cè)。
圖47示出發(fā)現(xiàn)顯示窗格。
圖48示出帶有服務(wù)圖標(biāo)的發(fā)現(xiàn)窗格。
圖49示出細(xì)節(jié)窗格。
圖50示出服務(wù)過濾。
圖51示出帶有“search web services”的發(fā)現(xiàn)窗格。
圖52示出使用IE找出組成。
圖53示出組成窗格。
圖54示出構(gòu)建窗格。
圖55示出在語義層和句法層中的任務(wù)執(zhí)行。
圖56示出帶有web服務(wù)支持的web服務(wù)的調(diào)用。
圖57示出TCC I的服務(wù)調(diào)用流程。
圖58示出帶有服務(wù)控制UI的第一基于網(wǎng)絡(luò)的UI。
圖59示出帶有服務(wù)控制UI的第二基于網(wǎng)絡(luò)的UI。
圖60示出帶有服務(wù)控制UI的第三基于網(wǎng)絡(luò)的UI。
圖61示出監(jiān)視窗格。
圖62示出保存窗格。
圖63示出TCC II。
圖64示出在SSD中的多種自然語言支持。
圖65示出銀行服務(wù)。
圖66示出PIPE管理器。
圖67示出白洞推挽界面(white hole drag and drop interface)。
圖68示出在任務(wù)計(jì)算之前的能力金字塔。
圖69示出在任務(wù)計(jì)算之后的倒轉(zhuǎn)的能力金字塔。
圖70示出應(yīng)用電子家庭。
圖71示出應(yīng)用電子辦公室。
圖72示出應(yīng)用飛機(jī)場(chǎng)。
圖73示出應(yīng)用咖啡館。
圖74示出TCE識(shí)別在網(wǎng)頁(yè)上已經(jīng)描述了什么,并且向用戶提出一些給定當(dāng)前內(nèi)容和環(huán)境下的可能動(dòng)作。
圖75示出在用戶首先選擇找出談話位置的地址之后,TCE找出該地址并向用戶呈現(xiàn)新的可能動(dòng)作的列表。
圖76示出在用戶選擇檢查談話位置在地圖上的的地址之后,TCE呈現(xiàn)出修改后的動(dòng)作列表,其帶有選項(xiàng)以將到目前為止的用戶動(dòng)作保存為新任務(wù),以在將來(再次)使用。
具體實(shí)施例方式
在本文中將討論任務(wù)計(jì)算和它的實(shí)施例。
任務(wù)計(jì)算的概貌任務(wù)計(jì)算目的在于幫助沒有關(guān)于實(shí)現(xiàn)一定功能的環(huán)境的先驗(yàn)知識(shí)的用戶使用由她支配的所述功能來實(shí)現(xiàn)復(fù)雜任務(wù),并且不需要與該功能的資源進(jìn)行交互或者理解該功能的資源。任務(wù)計(jì)算的基本要素是用戶知道和理解她的任務(wù),并且任務(wù)計(jì)算環(huán)境(TCE)理解設(shè)備和服務(wù)以及知道如何與它們進(jìn)行交互。用戶和TCE兩者進(jìn)行結(jié)合,就能合作完成任意復(fù)雜的任務(wù)。
在當(dāng)今的計(jì)算環(huán)境中,用戶由功能所包圍,所述功能以設(shè)備或以計(jì)算機(jī)作為介質(zhì)的服務(wù)的形式呈現(xiàn)給用戶,以計(jì)算機(jī)為介質(zhì)的服務(wù)例如有在互聯(lián)網(wǎng)上的電子服務(wù)(e-service),在用戶操作的計(jì)算設(shè)備上運(yùn)行的應(yīng)用程序,或者支持特定功能的簡(jiǎn)單設(shè)備。這種設(shè)備和e-服務(wù)的示例包括電話、顯示器、娛樂中心、電視、PDA、移動(dòng)電話、音頻播放器、傳真機(jī)、打印機(jī)、天氣服務(wù)、地圖服務(wù)等。
圖1示出用戶110由設(shè)備和服務(wù)包圍的示例100。圖1所示的設(shè)備和服務(wù)包括臺(tái)式PC、地圖服務(wù)、PDA、傳真機(jī)、MD播放器、娛樂中心、天氣服務(wù)、移動(dòng)電話、聯(lián)系人列表管理器、電視、便攜式攝像機(jī)、顯示器,以及電話。由這樣的設(shè)備和e-服務(wù)呈現(xiàn)的功能包括聽音樂、下載歌曲、觀看流視頻、聽廣播、提供聯(lián)系信息、檢查地圖上的地址等。所有這些設(shè)備和服務(wù)被設(shè)計(jì)得通過用戶直接與這些設(shè)備或服務(wù)進(jìn)行交互(和/或操作這些設(shè)備或服務(wù))使得它們的功能可為用戶所用;例如,如果用戶想通過為她正在參觀的房間提供的電話給同事打電話并且同事的電話號(hào)碼存儲(chǔ)在用戶的膝上型電腦的MICROSOFT OUTLOOK應(yīng)用程序中,則用戶必須啟動(dòng)OUTLOOK應(yīng)用程序,查找想要的電話號(hào)碼,然后在電話上手動(dòng)撥號(hào)。即使當(dāng)應(yīng)用程序、e-服務(wù)和設(shè)備相互之間可以物理地通信,也就是在它們之間存在通信線路,但它們之間也不能以對(duì)用戶任務(wù)是有意義的方式來交換數(shù)據(jù),除非各個(gè)應(yīng)用程序、服務(wù)、設(shè)備的設(shè)計(jì)者已經(jīng)考慮到該特定的任務(wù)而對(duì)它們進(jìn)行了設(shè)計(jì)。當(dāng)面臨著設(shè)備、e-服務(wù)和應(yīng)用程序的剩余時(shí),用戶也不能執(zhí)行任務(wù)利用來自所有這些資源的功能,除非所述設(shè)備、應(yīng)用程序和e-服務(wù)已經(jīng)針對(duì)該任務(wù)進(jìn)行了設(shè)計(jì)。而且,粗心的用戶常常不知道哪種任務(wù)是可能的。
圖2是圖1的“用戶居中”的遠(yuǎn)景的面向歷史技術(shù)的(technology-historical-oriented)視圖200。在技術(shù)層面,通過各種技術(shù)和協(xié)議進(jìn)步,設(shè)備、e-服務(wù)和應(yīng)用程序的功能已經(jīng)變得可用,所述技術(shù)和協(xié)議進(jìn)步包括,但不局限于諸如MICROSOFT.NET的具有通過架構(gòu)所暴露的功能的操作系統(tǒng)和應(yīng)用程序,諸如Jini或UpnP的發(fā)現(xiàn)協(xié)議,web服務(wù)、具有WLAN(無線局域網(wǎng))功能的設(shè)備等。
尤其是,圖2表明技術(shù)和協(xié)議對(duì)于用戶110容易地訪問設(shè)備和e-服務(wù)已經(jīng)成熟。關(guān)于網(wǎng)絡(luò)202方面,它們已經(jīng)由獨(dú)立網(wǎng)絡(luò)發(fā)展成了因特網(wǎng)和無限網(wǎng)絡(luò)。關(guān)于設(shè)備204方面,它們已經(jīng)從獨(dú)立設(shè)備發(fā)展成網(wǎng)絡(luò)設(shè)備直至UPnP和JINI。關(guān)于網(wǎng)絡(luò)結(jié)構(gòu)206方面,它們已經(jīng)從服務(wù)器/客戶機(jī)發(fā)展成P2P/Ad-hoc。關(guān)于web技術(shù)208方面,它們已經(jīng)從作為用于人們消費(fèi)的“眼球式web”發(fā)展成作為交易web、語義web(機(jī)器可操作、可讀取的)、和可理解的web的web服務(wù)。關(guān)于OS和應(yīng)用程序210方面,它們已經(jīng)從面向?qū)ο蟀l(fā)展成.NET和其它遠(yuǎn)程對(duì)象和遠(yuǎn)程過程調(diào)用技術(shù)。
圖3示出被由設(shè)備、OS和應(yīng)用程序、以及e-服務(wù)所提供的功能包圍的用戶,所述功能以服務(wù)的形式呈現(xiàn)給用戶;服務(wù)是在任務(wù)計(jì)算范例中對(duì)于用戶可見的抽象。也就是說,圖3示出用戶110被web302、設(shè)備304和OS/應(yīng)用程序306包圍的以用戶為中心的視圖300。上面提到的設(shè)備204方面可以實(shí)現(xiàn)設(shè)備304的服務(wù)抽象,上面提到的網(wǎng)絡(luò)202、網(wǎng)絡(luò)結(jié)構(gòu)和web技術(shù)方面可以實(shí)現(xiàn)web302的服務(wù)抽象,而上面提到的OS應(yīng)用程序210可以實(shí)現(xiàn)OS/應(yīng)用程序306的服務(wù)抽象。
圖4示出圖3中所述思想的集中?;谠O(shè)備的服務(wù)、基于操作系統(tǒng)和應(yīng)用程序的服務(wù)、基于因特網(wǎng)的服務(wù)提供了功能,例如播放(音頻)、加入到Outlook、天氣信息等,這些都作為服務(wù)抽象并以將它們從提供它們的物理系統(tǒng)中分離出來的方式呈現(xiàn)給用戶,使得用戶可以“混合和匹配”它們,以滿足任何她覺得合適的目的,例如在電視上觀看來自她的Outlook的聯(lián)系人的地址的天氣信息。
更為具體地,圖4示出任務(wù)和服務(wù)400。如圖4所示,來自web302、設(shè)備304和OS/應(yīng)用程序306的輸入分別導(dǎo)致web可訪問服務(wù)312、設(shè)備動(dòng)作308和OS應(yīng)用310,所有這些都支持任務(wù)314的實(shí)現(xiàn)。
“任務(wù)計(jì)算”(Task Computing)被定義為填補(bǔ)任務(wù)(用戶想要做的)與服務(wù)(可為用戶所用的功能)之間的空隙的計(jì)算。
任務(wù)計(jì)算環(huán)境(Task Computing Environment)(TCE)是支持任務(wù)計(jì)算的框架,其通過為下述內(nèi)容提供支持來實(shí)現(xiàn)任務(wù)計(jì)算的工作流任務(wù)和服務(wù)的描述由最終用戶進(jìn)行的任務(wù)的指定、執(zhí)行和再利用性(依賴于任務(wù)和服務(wù)的描述)包括由最終用戶進(jìn)行的服務(wù)的創(chuàng)建和扇出的操作我們使用術(shù)語“任務(wù)”來指用戶想要執(zhí)行的動(dòng)作(或一系列動(dòng)作)。在此意義上,任務(wù)是用戶設(shè)想的(潛在復(fù)雜的)動(dòng)作,其在整體上可能是或可能不是適于計(jì)算的。
正在由計(jì)算系統(tǒng)(或它的集合)執(zhí)行的任務(wù)應(yīng)該被認(rèn)為是用戶任務(wù)概念化的計(jì)算上可行的實(shí)現(xiàn)。在任務(wù)計(jì)算中,用戶承擔(dān)將任務(wù)概念化(按她的想法)“翻譯”成任務(wù)的計(jì)算實(shí)現(xiàn)的部分(或全部)責(zé)任。就用戶可能進(jìn)一步定義其初始的任務(wù)概念化或?qū)⑵涑跏嫉娜蝿?wù)概念化細(xì)化為計(jì)算的任務(wù)實(shí)現(xiàn)而言,該處理可能是在用戶與TCE之間交互和協(xié)作的。
任務(wù)的計(jì)算實(shí)現(xiàn)是單一服務(wù)(原子服務(wù))或在工作流中組織(構(gòu)成)的一組服務(wù)(復(fù)合服務(wù))。這樣,如果任務(wù)與服務(wù)精確地匹配(也就是,如果所述服務(wù)就是用戶確實(shí)想要做的),則任務(wù)由單一服務(wù)構(gòu)成;或者任務(wù)可以由多個(gè)服務(wù)的工作流構(gòu)成。我們將原子服務(wù)和和復(fù)合服務(wù)都簡(jiǎn)單地稱為服務(wù)。
服務(wù)(原子或復(fù)合的)存在(在某處)的事實(shí)并不意味著它們可由特殊的用戶使用來完成任務(wù)。換言之,服務(wù)本身的可用性沒有啟用由它自己進(jìn)行的任務(wù)計(jì)算。這樣的服務(wù)需要根據(jù)環(huán)境、特殊用戶的需求和該服務(wù)的狀態(tài)來進(jìn)行發(fā)現(xiàn)和過濾,以用戶利用它們可以創(chuàng)建任務(wù)的方式呈現(xiàn)給用戶,最終為了用戶并通過用戶的參與執(zhí)行所創(chuàng)建的任務(wù)。
從用戶角度看,任務(wù)計(jì)算涉及遍歷任務(wù)計(jì)算工作流的這些步驟,在此意義上,服務(wù)的處理(發(fā)現(xiàn)、過濾、任務(wù)規(guī)定、任務(wù)執(zhí)行)和可選操作是任務(wù)計(jì)算的最終用戶視圖。接著我們?cè)敿?xì)說明任務(wù)計(jì)算工作流。
任務(wù)計(jì)算的工作流任務(wù)計(jì)算工作流描述了用戶在執(zhí)行任務(wù)計(jì)算時(shí)所經(jīng)歷的處理(步驟序列)。雖然工作流可以不必整體地顯現(xiàn)在用戶界面(User Interface)中(在該情形下,工作流的每個(gè)元素不必由用戶界面中的元素明確地表示出來),但支持該工作流及其變型是任何TCE所必需的元素。
任務(wù)計(jì)算工作流包括下列功能由用戶的TCE進(jìn)行的設(shè)備和所提供服務(wù)(由所述設(shè)備或?qū)拵ЬW(wǎng)絡(luò)/因特網(wǎng))的發(fā)現(xiàn)。發(fā)現(xiàn)既指找到存在的服務(wù),又指如何訪問它們。為了任務(wù)計(jì)算起見,發(fā)現(xiàn)包括與所述服務(wù)相關(guān)聯(lián)的說明、它們的使用和狀態(tài)的發(fā)現(xiàn)。除了設(shè)備和服務(wù)外,發(fā)現(xiàn)可包括諸如任務(wù)的項(xiàng),該任務(wù)由當(dāng)前用戶或其它用戶預(yù)先定義。各種發(fā)現(xiàn)機(jī)制在后面進(jìn)行討論,但應(yīng)該注意,顯式的用戶驅(qū)動(dòng)搜索也是發(fā)現(xiàn)的一種模式。
基于用戶環(huán)境的對(duì)所述已發(fā)現(xiàn)的設(shè)備和服務(wù)的過濾。過濾的目的是將可能難以控制數(shù)量的已發(fā)現(xiàn)服務(wù)降至可管理的子集,該子集與用戶的環(huán)境和當(dāng)前情形(使用各種潛在的用戶可選擇的準(zhǔn)則)和/或用戶試圖完成的任務(wù)更為相關(guān)。各種過濾機(jī)制和/或準(zhǔn)則將在后面討論,但應(yīng)該注意,顯式的用戶驅(qū)動(dòng)過濾(其可包括對(duì)已發(fā)現(xiàn)服務(wù)的列表進(jìn)行的搜索)是一種過濾模式。
任務(wù)規(guī)定,該過程中用戶知道和理解她想要完成的任務(wù),該任務(wù)規(guī)定通過將可利用的(過濾過的)服務(wù)(和任務(wù))連接起來組成所述任務(wù)。該任務(wù)規(guī)定可以用各種方式(優(yōu)選地使用圖形用戶界面,GUI)來實(shí)現(xiàn)。對(duì)于實(shí)現(xiàn)任務(wù)計(jì)算工作流的所述步驟不存在唯一的UI,盡管我們將在后面提出一些示例。
用戶也可保存特定的任務(wù)以備將來使用。
特定任務(wù)的任務(wù)執(zhí)行,在該過程中,用戶僅與任務(wù)的執(zhí)行進(jìn)行交互,以便為所涉及的服務(wù)的子任務(wù)的正確執(zhí)行提供必需的輸入并監(jiān)視任務(wù)的執(zhí)行,但所有底層的調(diào)用和與受影響的設(shè)備和系統(tǒng)的交互都留給支持任務(wù)計(jì)算框架的計(jì)算系統(tǒng)。
應(yīng)該注意,發(fā)現(xiàn)>過濾>任務(wù)規(guī)定>任務(wù)執(zhí)行規(guī)定了用于任務(wù)計(jì)算的總體工作流;它的元素用于描述用戶使用任務(wù)計(jì)算環(huán)境時(shí)的任務(wù)計(jì)算經(jīng)歷。從TCE的角度看,將TCE看作“提供”任務(wù)計(jì)算的計(jì)算系統(tǒng),任務(wù)計(jì)算工作流的四個(gè)要素構(gòu)成TCE應(yīng)該支持的基本功能和它們的內(nèi)部關(guān)系。
附加的元素可被引入到任務(wù)計(jì)算工作流中。另外,這些元素中的一些可從TCE中的用戶接口方面消除,盡管這種步驟仍然非常可能在背景中發(fā)生。例如,用戶可以選擇跳過任務(wù)規(guī)定階段,因?yàn)檫^濾階段的輸出可以按與用戶任務(wù)匹配的方式呈現(xiàn)給用戶,而不需要用戶作進(jìn)一步的說明?;蛘?,用戶可以跳過過濾,因?yàn)樗l(fā)現(xiàn)的服務(wù)(和任務(wù))非常少,或者使用了預(yù)先編制的任務(wù)和服務(wù)庫(kù),進(jìn)一步的過濾沒有必要。作為任務(wù)計(jì)算工作流的一個(gè)步驟,通常不能省略任務(wù)執(zhí)行,因?yàn)樗硎救蝿?wù)計(jì)算用戶經(jīng)歷的最終結(jié)果。
在圖5-11中我們給出了基本的任務(wù)計(jì)算工作流及其變型的模式圖。
在圖5所示的任務(wù)計(jì)算工作流變型(I)500中,執(zhí)行服務(wù)或任務(wù)發(fā)現(xiàn)510,然后執(zhí)行服務(wù)或任務(wù)過濾512,接著執(zhí)行任務(wù)規(guī)定514,然后執(zhí)行任務(wù)執(zhí)行516。
在圖6所示的任務(wù)計(jì)算工作流變型(II)600中,執(zhí)行服務(wù)或任務(wù)發(fā)現(xiàn)510,然后執(zhí)行服務(wù)或任務(wù)過濾512,接著執(zhí)行任務(wù)規(guī)定514,然后執(zhí)行任務(wù)執(zhí)行516。在任務(wù)規(guī)定514完成處,控制可返回至服務(wù)或任務(wù)發(fā)現(xiàn)510。
在圖7所示的任務(wù)計(jì)算工作流變型(III)700中,執(zhí)行服務(wù)或任務(wù)發(fā)現(xiàn)510,然后執(zhí)行服務(wù)或任務(wù)過濾512,接著執(zhí)行任務(wù)規(guī)定514,然后執(zhí)行任務(wù)執(zhí)行516。在任務(wù)規(guī)定514完成處,控制可返回至任務(wù)過濾512。
在圖8所示的任務(wù)計(jì)算工作流變型(IV)800中,執(zhí)行服務(wù)或任務(wù)發(fā)現(xiàn)510,然后執(zhí)行服務(wù)或任務(wù)過濾512,接著執(zhí)行任務(wù)規(guī)定514,然后執(zhí)行任務(wù)執(zhí)行516。在任務(wù)執(zhí)行516完成處,控制可返回至服務(wù)或任務(wù)規(guī)定510。
在圖9所示的任務(wù)計(jì)算工作流變型(V)900中,執(zhí)行服務(wù)或任務(wù)發(fā)現(xiàn)510,然后執(zhí)行服務(wù)或任務(wù)過濾512,接著執(zhí)行任務(wù)規(guī)定514,然后執(zhí)行任務(wù)執(zhí)行516。在任務(wù)執(zhí)行516完成處,控制可返回至任務(wù)過濾512。
在圖10所示的任務(wù)計(jì)算工作流變型(VI)1000中,執(zhí)行服務(wù)或任務(wù)發(fā)現(xiàn)510,然后執(zhí)行服務(wù)或任務(wù)過濾512,接著執(zhí)行任務(wù)規(guī)定514,然后執(zhí)行任務(wù)執(zhí)行516。在任務(wù)執(zhí)行516完成處,控制可返回至任務(wù)規(guī)定514。
在圖11所示的復(fù)合任務(wù)計(jì)算工作流1100中,執(zhí)行服務(wù)或任務(wù)發(fā)現(xiàn)510,然后執(zhí)行服務(wù)或任務(wù)過濾512,接著執(zhí)行任務(wù)規(guī)定514,然后執(zhí)行任務(wù)執(zhí)行516。所述復(fù)合任務(wù)計(jì)算工作流表明在服務(wù)或任務(wù)發(fā)現(xiàn)510之后的每個(gè)功能完成處(即,在服務(wù)或任務(wù)過濾512、任務(wù)規(guī)定514或任務(wù)執(zhí)行516的完成處),控制可返回至任何前面的功能。
兩種主要類別的變型在于包括從任務(wù)規(guī)定和任務(wù)執(zhí)行階段中的每一個(gè)到工作流前面步驟的迭代。這些變型的合理性在于任務(wù)計(jì)算的用戶驅(qū)動(dòng)性質(zhì)。在任務(wù)規(guī)定階段中,用戶可能決定她需要重新細(xì)化或修改她的任務(wù),附加的發(fā)現(xiàn)→過濾或者只有過濾階段對(duì)于用戶發(fā)現(xiàn)其他的潛在有用的服務(wù)或進(jìn)一步縮小過濾階段的輸出(通過修改過濾準(zhǔn)則)是必需的。類似的,在執(zhí)行過程中,由網(wǎng)絡(luò)問題、服務(wù)失敗或在執(zhí)行特定任務(wù)的子任務(wù)中的某些其它困難所致的失敗(或某些其它例外)可能要求用戶尋趙可選的/可替換的服務(wù)(通過進(jìn)一步的發(fā)現(xiàn)和/或過濾)或者對(duì)任務(wù)本身進(jìn)行修改。任務(wù)計(jì)算環(huán)境應(yīng)該允許多重這樣的迭代和/或這種工作流的“混合”;例如,如在一個(gè)工作流中所建議的,用戶可以經(jīng)歷任務(wù)執(zhí)行→過濾→任務(wù)指定,然后,如在另一個(gè)工作流中所建議的,可經(jīng)歷任務(wù)規(guī)定→發(fā)現(xiàn)→過濾→任務(wù)規(guī)定→任務(wù)執(zhí)行。通過簡(jiǎn)單地允許從過濾、任務(wù)規(guī)定、和任務(wù)執(zhí)行中的每一個(gè)到任何前面階段的多重迭代,我們已經(jīng)對(duì)上面進(jìn)行了說明,但我們覺得我們所用的說明(和附加的評(píng)論)更能表示每個(gè)工作流類別的合理性。
接著我們提供一些關(guān)于任務(wù)計(jì)算工作流的每個(gè)組成要素的附加評(píng)論。任務(wù)計(jì)算環(huán)境可以以采用帶有不同窗格的完整UI的形式將其本身顯現(xiàn)給用戶,所述不同窗格表示任務(wù)計(jì)算工作流的每個(gè)(或多個(gè))步驟。另外,根據(jù)命令可出現(xiàn)彈出窗口,以向最終用戶呈現(xiàn)附加的信息或者為了輔助用戶提供必要的輸入。此外,UI的形式可根據(jù)客戶機(jī)設(shè)備的類型(例如,PDA與桌上型或膝上型電腦)和/或用戶環(huán)境的性質(zhì)(例如,遍布計(jì)算環(huán)境與web瀏覽)而不同??梢杂胁捎谜Z音、盲人用點(diǎn)字法、觸覺等的界面。語音界面對(duì)于移動(dòng)電話和車內(nèi)應(yīng)用程序尤其有用。
發(fā)現(xiàn)發(fā)現(xiàn)涉及找到能被TCE消費(fèi)/使用的服務(wù)。發(fā)現(xiàn)包括識(shí)別用于與這些服務(wù)進(jìn)行交互的程序界面和這種服務(wù)的說明,包括它們的輸入和輸出參數(shù)、關(guān)于它們執(zhí)行的功能的細(xì)節(jié)、使用它們的條件、它們的效果等等。
由多種服務(wù)發(fā)現(xiàn)機(jī)制。TCE可以實(shí)現(xiàn)多重服務(wù)發(fā)現(xiàn)機(jī)制,并且任何單一服務(wù)都可通過多重服務(wù)發(fā)現(xiàn)機(jī)制被發(fā)現(xiàn)??偟膩碚f,對(duì)于給定的服務(wù)不存在優(yōu)選的發(fā)現(xiàn)機(jī)制,但是,根據(jù)服務(wù)的位置和/或其說明,存在更加有效或更容易實(shí)現(xiàn)的機(jī)制。
發(fā)現(xiàn)可采用多種模式進(jìn)行。我們將區(qū)分主動(dòng)發(fā)現(xiàn)模式、被動(dòng)發(fā)現(xiàn)模式和混合發(fā)現(xiàn)模式。
發(fā)現(xiàn)近似地涉及找到計(jì)算設(shè)備和其所有者所處環(huán)境(或情形)的功能方面。發(fā)現(xiàn)找到環(huán)境所提供的功能集。在此意義上講,每種發(fā)現(xiàn)機(jī)制都表示某一環(huán)境(或一組環(huán)境)。例如,局部服務(wù)發(fā)現(xiàn)機(jī)制表示計(jì)算設(shè)備本身的環(huán)境,給出了在其上可用的功能。UPnP發(fā)現(xiàn)機(jī)制表示計(jì)算設(shè)備所在的子網(wǎng)絡(luò)的環(huán)境。采用web的發(fā)現(xiàn)機(jī)制可以在因特網(wǎng)上為某一社區(qū)而被建立起來,通過該社區(qū)計(jì)算設(shè)備的所有者具有會(huì)員資格。藍(lán)牙和紅外(IR)通信與無線LAN技術(shù)相比具有受限的范圍。但是伴隨藍(lán)牙和IR的發(fā)現(xiàn)機(jī)制不必次于那些伴隨無線LAN(例如,UPnP)的發(fā)現(xiàn)機(jī)制。由于它們受限的范圍,它們給出對(duì)計(jì)算設(shè)備和其所有者的更好的定位,從而導(dǎo)致更好確定發(fā)現(xiàn)機(jī)制必須提供的功能。
主動(dòng)服務(wù)發(fā)現(xiàn)機(jī)制TCE查詢某一設(shè)施(計(jì)算機(jī)系統(tǒng)或其網(wǎng)絡(luò)),例如代理程序(broker)、服務(wù)商、目錄(例如UDDI服務(wù)器)、電話黃頁(yè)類服務(wù)、服務(wù)發(fā)現(xiàn)系統(tǒng)-(UPnP、藍(lán)牙SDP、紅外(IR)、Jini、Rendezvous、招呼(Salutation))-實(shí)現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn),或者某種用于列出服務(wù)清單的服務(wù)的搜索引擎。該查詢可能是對(duì)由該計(jì)算系統(tǒng)提供的可用(已知)服務(wù)的完整清單的請(qǐng)求,或者提交給該系統(tǒng)的某種更窄的搜索查詢。這種請(qǐng)求可能提供給類似文件共享對(duì)等網(wǎng)絡(luò)的對(duì)等網(wǎng)絡(luò)(而不是單一的計(jì)算機(jī)系統(tǒng))。對(duì)等網(wǎng)絡(luò)可以是寬對(duì)等網(wǎng)絡(luò)(例如前面提到的系統(tǒng))或更局部化的對(duì)等網(wǎng)絡(luò),例如在相同的子網(wǎng)中作為當(dāng)前用戶的TCE對(duì)等端。這種查詢可以由TCE本身(和/或它的一個(gè)組件)或由用戶、或者通過用戶與TCE之間的協(xié)作來預(yù)先確定或動(dòng)態(tài)地創(chuàng)建。該搜索可以基于關(guān)鍵字(由用戶提供),或者它可以由用戶的環(huán)境和任務(wù)的機(jī)器級(jí)理解來驅(qū)動(dòng)。任何以上類型的搜索還可被看作“交互式/用戶輔助發(fā)現(xiàn)”。該查詢還可以在當(dāng)用戶處于執(zhí)行發(fā)現(xiàn)或任務(wù)計(jì)算工作流的某一其它步驟的處理中時(shí)來實(shí)時(shí)確定。例如,當(dāng)用戶試圖指定任務(wù)時(shí),TCE可能推斷用戶可能對(duì)具有某種可用于她當(dāng)前的任務(wù)的其它(尚未被發(fā)現(xiàn)的)服務(wù)或任務(wù)感興趣,在用戶沒有明確地對(duì)此進(jìn)行請(qǐng)求的條件下,TCE可能試圖發(fā)現(xiàn)這樣的服務(wù)或任務(wù)(另選地,用戶自己可以明確地執(zhí)行這樣的附加發(fā)現(xiàn))。后者是TCE的重要特征;給定用戶動(dòng)態(tài)地改變環(huán)境的情況下,TCE可以前攝地執(zhí)行發(fā)現(xiàn)。
其他類型的主動(dòng)發(fā)現(xiàn)可以包括依靠預(yù)先編制的可用設(shè)備、服務(wù)和任務(wù)的清單進(jìn)行的查找或查詢,所述清單存儲(chǔ)在本地(在用戶的客戶機(jī)設(shè)備上),或者存儲(chǔ)在可由用戶的客戶機(jī)設(shè)備訪問的另一對(duì)等設(shè)備(例如,一個(gè)朋友的使用紅外通信鏈路的PDA)上;無論用戶在線(與網(wǎng)絡(luò)相連)或離線,或者甚至在與其它發(fā)現(xiàn)模式相結(jié)合的情況下,都可使用本地存儲(chǔ)。
被動(dòng)服務(wù)發(fā)現(xiàn)機(jī)制被動(dòng)發(fā)現(xiàn)通常包括某種服務(wù)發(fā)現(xiàn)系統(tǒng),例如UPnP、藍(lán)牙SDP、Jini、Rendezvous、Salutation等。在這種情況下,TCE具備了理解和處理發(fā)現(xiàn)系統(tǒng)的協(xié)議和機(jī)制的能力(TCE可以用于多個(gè)這種系統(tǒng));結(jié)果TCE依靠連接到(或接入到)網(wǎng)絡(luò)可以發(fā)現(xiàn)服務(wù),在該網(wǎng)絡(luò)上實(shí)現(xiàn)這些系統(tǒng)中的一個(gè)(或多個(gè))的服務(wù)可能向相同網(wǎng)絡(luò)或子網(wǎng)上的其它設(shè)備甚至跨網(wǎng)絡(luò)廣播(或組播)它們的存在和可用性。在該類型發(fā)現(xiàn)的變型中,可以發(fā)現(xiàn)使用任何前述協(xié)議的設(shè)備、服務(wù)和任務(wù)的代理服務(wù)系統(tǒng)都可由TCE訪問(用于查詢),或者可以自動(dòng)地就所述設(shè)備、任務(wù)和服務(wù)的可用性來更新TCE。
混合服務(wù)發(fā)現(xiàn)機(jī)制混合發(fā)現(xiàn)模式也是可能的;這種模式可以包括主動(dòng)和被動(dòng)方法。一個(gè)示例是將web服務(wù)用作發(fā)現(xiàn)機(jī)制。該發(fā)現(xiàn)過程包括兩個(gè)步驟。在第一步驟中,TCC向注冊(cè)處注冊(cè)一回傳(callback)界面(例如,WSDL URL)。無論什么時(shí)候發(fā)生了變化(新的服務(wù)、刪除的服務(wù)等),注冊(cè)處都調(diào)用給定的回叫界面來通知TCC該變化。第二步驟是可選擇的。盡管回叫機(jī)制在使用網(wǎng)絡(luò)帶寬過程中非常有效,但它具有一些缺陷。例如,如果TCC在防火墻后并且回叫界面不能從注冊(cè)處訪問,就不能使用回叫機(jī)制。為此設(shè)計(jì)了第二步驟。TCC以給定的間隔或任何需要的時(shí)候輪詢注冊(cè)處。并且注冊(cè)處返回最后的輪詢之后的所有變化或所有可用服務(wù)。注意第二步驟可被看作是獨(dú)立的發(fā)現(xiàn)機(jī)制,并且在該情況下,該機(jī)制應(yīng)被分類為主動(dòng)方法。
過濾在任何給定的時(shí)間,并非所有發(fā)現(xiàn)的服務(wù)都與針對(duì)任務(wù)計(jì)算的用戶相關(guān)。任務(wù)計(jì)算工作流過濾階段的目的就是將已發(fā)現(xiàn)的服務(wù)縮減為適合用戶的當(dāng)前環(huán)境的那些服務(wù)。有時(shí),該過濾的輸出不會(huì)進(jìn)一步縮減發(fā)現(xiàn)的輸出。在當(dāng)用戶的環(huán)境變化時(shí)過濾的輸出應(yīng)該動(dòng)態(tài)地更新(有時(shí)是根據(jù)用戶的明確請(qǐng)求)的情況下,過濾應(yīng)該是動(dòng)態(tài)的。
我們廣泛地使用術(shù)語“用戶的環(huán)境”,意指為從發(fā)現(xiàn)的輸出中選擇(過濾)一服務(wù)的子集所使用的各種準(zhǔn)則。這種準(zhǔn)則可以包括下面任何一個(gè)或其結(jié)合用戶概貌手頭的任務(wù)用戶設(shè)備特性用戶位置用戶動(dòng)作狀態(tài)用戶網(wǎng)絡(luò)連通性用戶指定的關(guān)鍵字(與搜索查詢類似)當(dāng)看作整體時(shí)一組服務(wù)的特征,例如服務(wù)數(shù)量服務(wù)之間的相似性關(guān)于服務(wù)相關(guān)值的數(shù)學(xué)或邏輯公式的應(yīng)用輸出,用于表達(dá)用戶認(rèn)為相關(guān)的任何約束或準(zhǔn)則。該類的示例包括在該組中執(zhí)行所有服務(wù)所需要的總資源,例如總費(fèi)用或總時(shí)間。
個(gè)體服務(wù)特征,例如使用/訪問服務(wù)的成本,例如費(fèi)用和時(shí)間服務(wù)提供商服務(wù)的聲譽(yù)輸入和輸出參數(shù)以及它們的值,包括為了表達(dá)用戶認(rèn)為相關(guān)的任何約束或準(zhǔn)則關(guān)于這種值的數(shù)學(xué)或邏輯公式的應(yīng)用。
等等用戶可以保存環(huán)境(作為一個(gè)或多個(gè)過濾準(zhǔn)則的應(yīng)用的環(huán)境),從而她可以用名字來查閱它們并且用名字自動(dòng)地調(diào)用它們。雖然可以由TCE自動(dòng)地處理過濾,但用戶可通過鍵入關(guān)鍵字或從各種準(zhǔn)則中進(jìn)行選擇來明確地驅(qū)動(dòng)過濾處理。也有可能的是,TCE的前攝過濾與用戶驅(qū)動(dòng)過濾并行地和/或交替發(fā)生。
任務(wù)規(guī)定任務(wù)規(guī)定是這樣的處理在該處理過程中,最終用戶將任務(wù)“翻譯”成服務(wù)(原子服務(wù)或復(fù)合服務(wù))。為此,用戶將利用作為過濾處理的輸出的服務(wù)。該用戶驅(qū)動(dòng)處理可被看作是指定服務(wù)的工作流的處理,所述服務(wù)在執(zhí)行時(shí)將完成用戶的任務(wù)。服務(wù)組成是任務(wù)規(guī)定的輸出;任務(wù)規(guī)定是這樣的處理在該處理過程中,用戶(獨(dú)立的或與TCE協(xié)作)瀏覽過濾后的服務(wù),以試圖創(chuàng)建與用戶思想中的任務(wù)相匹配的服務(wù)組成。有時(shí)我們可能將任務(wù)規(guī)定稱作任務(wù)組成。
任務(wù)[R.M.3]指定依賴于可用服務(wù)的輸入、輸出和其它要求,以便僅向用戶呈現(xiàn)切實(shí)可行的可能組成。這樣的要求包括輸入/輸出參數(shù)的類型和/或值,使用、訪問、調(diào)用服務(wù)的條件,如果被調(diào)用服務(wù)可能具有的效果,等。任務(wù)規(guī)定的結(jié)果是包括整體上可被執(zhí)行的多個(gè)服務(wù)的有效序列(在通常的情況下是有向非循環(huán)圖)。有時(shí),在用戶確定現(xiàn)有的服務(wù)或任務(wù)與用戶考慮的任務(wù)相匹配的情況下,所述序列可能僅是一個(gè)服務(wù)長(zhǎng)。
在規(guī)定任務(wù)的過程中,用戶得到用戶界面的支持,用戶界面試圖以這樣的方式給用戶呈現(xiàn)可用的服務(wù)(a)幫助用戶創(chuàng)建能被正確地執(zhí)行的服務(wù)組成和(b)幫助用戶識(shí)別與她的任務(wù)最相關(guān)的服務(wù)。當(dāng)用戶的環(huán)境或者甚至當(dāng)用戶選擇了不同的服務(wù)(在任務(wù)規(guī)定中)時(shí),可用的或相關(guān)的服務(wù)應(yīng)該被更新,在這種情況下,該呈現(xiàn)應(yīng)該是動(dòng)態(tài)的。關(guān)于這些目標(biāo)存在多種方式來使TCE可以幫助用戶。例如,根據(jù)成對(duì)的服務(wù)之間的輸出和輸入的匹配或可能部分匹配,TCE可以以成對(duì)的清單呈現(xiàn)服務(wù);典型地(并非唯一地),這種匹配依賴于服務(wù)和它們的輸入和輸出參數(shù)的語義。代替使用清單,TCE可以突出顯示可能先于(或跟隨)用戶已突出顯示(或選中)的服務(wù)的服務(wù);而且,為了這樣做,TCE依賴于服務(wù)和它們的輸入和輸出的語義。另選地,以根據(jù)服務(wù)的類型或任何輸入或輸出參數(shù)的類型或值、或者某些其它的服務(wù)特征(位置、費(fèi)用、新穎程度、優(yōu)先化、先決條件、效果等)組織的層次,TCE可呈現(xiàn)過濾后的服務(wù)。通常,在任務(wù)規(guī)定處理的過程中,可用于過濾服務(wù)的任何或所有準(zhǔn)則或手段(按照過濾階段的討論)都可以用于引導(dǎo)服務(wù)的呈現(xiàn);這種準(zhǔn)則或手段可以用于以這種方式來組織已過濾的服務(wù)使用戶為了完成任務(wù)而更加容易地選擇和匹配服務(wù)。
可以將服務(wù)構(gòu)成在工作流中的方式通常將依賴于服務(wù)的屬性,例如它們的語義。具體來說,為了決定如何構(gòu)成服務(wù)而考慮的參數(shù)包括下述的任何一項(xiàng)或全部它們的數(shù)據(jù)輸入和輸出的數(shù)據(jù)類型、它們的數(shù)據(jù)輸入和輸出的語義類型、在執(zhí)行服務(wù)之前必須滿足的條件、以及成功執(zhí)行服務(wù)的效果。切實(shí)可行的和可能的任務(wù)規(guī)定可以通過域?qū)S眠壿?例如,如果服務(wù)打印文檔,則該服務(wù)的域包括打印機(jī)、打印和文檔)、或應(yīng)用程序邏輯、或商業(yè)邏輯、或任務(wù)邏輯(通常以某種邏輯的聲明的形式來表達(dá))來進(jìn)一步限定。前述的邏輯可以說明在從服務(wù)集規(guī)定任務(wù)時(shí)要注意的附加限定。這種限定可以包括在相同的任務(wù)規(guī)定中服務(wù)是否可以使用一次以上,或者是否可以以組成的形式一起使用兩個(gè)服務(wù)。
我們將為了決定構(gòu)成服務(wù)的方式而考慮的參數(shù)稱作組成邏輯。
考慮服務(wù)的語義的組成邏輯的一個(gè)簡(jiǎn)單示例為使服務(wù)的語義輸出與另一服務(wù)的語義輸入相匹配。如果第一服務(wù)的語義輸出與第二服務(wù)的語義輸入相匹配,那么就存在一個(gè)第二服務(wù)緊隨第一服務(wù)的局部工作流。由于語義,這樣一種匹配不需要是精確的,這意味著輸入和輸出參數(shù)的語義類型之間的匹配可以是不精確的(例如,根據(jù)語義近似的匹配),或者匹配可能考慮參數(shù)在相關(guān)的實(shí)體層次中的相對(duì)位置。
應(yīng)著重注意用戶可以保存這種組成并且(為它們代表的任務(wù))給以名字以便將來使用(類似應(yīng)用程序中的宏)。這種預(yù)先編制的任務(wù)規(guī)定還可以被保存和用作用戶的TCE客戶機(jī)程序中的書簽。用戶可以選擇共享這樣的任務(wù)規(guī)定。如先前所述,為了任務(wù)規(guī)定的目的,這種先前定義的宏可如新服務(wù)一樣使用。
另外一種任務(wù)規(guī)定模式可以不是用戶驅(qū)動(dòng)的,而是TCE驅(qū)動(dòng)的。在這種情況下,給定來自過濾階段的輸出的可用服務(wù),TCE可以提出能呈現(xiàn)給用戶以待認(rèn)可的服務(wù)組成或局部服務(wù)組成。這種組合可能是或可以不是被最終執(zhí)行的(參見下面的任務(wù)執(zhí)行的討論)。TCE可以使用用戶可使用來創(chuàng)建服務(wù)組成的任何準(zhǔn)則或手段,如先前在本部分中所討論的。
任務(wù)執(zhí)行任務(wù)執(zhí)行是執(zhí)行特定任務(wù)的步驟。對(duì)任務(wù)執(zhí)行的輸入通常是任務(wù)規(guī)定階段的輸出,所述輸入為服務(wù)。該服務(wù)是在任務(wù)規(guī)定過程中由用戶指定的復(fù)合服務(wù),或者是與用戶的任務(wù)對(duì)應(yīng)的原子服務(wù)。TCE對(duì)執(zhí)行而非用戶負(fù)責(zé),盡管可以要求用戶在服務(wù)組成的執(zhí)行過程中提供追加的輸入或者進(jìn)行動(dòng)作以便管理該執(zhí)行期間的故障或例外。由于這個(gè)原因,任務(wù)執(zhí)行也可以被看作是用戶監(jiān)視的任務(wù)執(zhí)行,從這個(gè)意義上說,處于被動(dòng)角色的用戶不是必需出現(xiàn)的,但在等待被執(zhí)行的組合的輸出時(shí),她可能必須提供輸入,在失敗的情況下選擇另選的過程,取消執(zhí)行并返回到發(fā)現(xiàn)、過濾或任務(wù)規(guī)定等。
任務(wù)執(zhí)行需要向服務(wù)傳送正確的輸入(當(dāng)以一種對(duì)最終用戶透明的方式處理系統(tǒng)與協(xié)議間的必要翻譯的時(shí)候),需要在必要時(shí)請(qǐng)求用戶輸入,并且需要執(zhí)行涉及組成任務(wù)的所有操作。由于一方面,使用所調(diào)用的服務(wù)的語義信息和該服務(wù)的輸入和輸出參數(shù)來指定特定的任務(wù),另一方面,該語義信息卻并不用于執(zhí)行任務(wù),所以,這些任務(wù)會(huì)出現(xiàn)挑戰(zhàn)。換句話說,服務(wù)組成是一種抽象,其本身并不是一段可執(zhí)行的代碼。TCE負(fù)責(zé)將服務(wù)組成翻譯成一系列可以直接用來執(zhí)行與任務(wù)有關(guān)的服務(wù)的動(dòng)作和調(diào)用。挑戰(zhàn)的第二個(gè)原因在于,服務(wù)組成是可行的(在任務(wù)規(guī)定階段TCE試圖達(dá)到的目標(biāo)之一),卻并不意味著它就可以被正確地執(zhí)行。潛在的問題包括有關(guān)組成服務(wù)的錯(cuò)誤的語義信息、這些服務(wù)實(shí)際運(yùn)行在其上的系統(tǒng)的故障、以及與網(wǎng)絡(luò)相關(guān)的問題等。
因此,在任務(wù)執(zhí)行期間TCE必須處理基礎(chǔ)連接,即將任務(wù)規(guī)定抽象中的服務(wù)綁定到實(shí)際的基礎(chǔ)服務(wù)及其參數(shù),并將(用于輸入和輸出的)語義術(shù)語正確地翻譯成服務(wù)所用的實(shí)際語義術(shù)語,或者在引用不同本體的語義對(duì)象間進(jìn)行翻譯。
任務(wù)計(jì)算的主要技術(shù)挑戰(zhàn)之一在于必須處理下面的事實(shí),即服務(wù)是在語義層定義的,服務(wù)的輸入/輸出參數(shù)也是如此。然而,當(dāng)我們調(diào)用服務(wù)時(shí),必須向服務(wù)提供句法參數(shù),因?yàn)榉?wù)是在句法層中實(shí)現(xiàn)的。基礎(chǔ)連接是將語義實(shí)例變換為句法實(shí)例的過程。
分離語義層和句法層的好處如下。在某些情況下,雖然幾種服務(wù)具有相同的語義輸入,然而由于它們實(shí)現(xiàn)的詳細(xì)情況,語義實(shí)例可以不同。我們能夠在語義級(jí)組合這些服務(wù),而不用擔(dān)心那些差異。
圖12顯示了語義服務(wù)實(shí)例映射和基礎(chǔ)連接1200。假設(shè)我們有“Semantic Contact Instance”1202和三種服務(wù)?!癢eather info of”是一種返回給定地址當(dāng)前天氣狀況的服務(wù)1204;“Aerial Photo of”是一種顯示給定地址衛(wèi)星圖的服務(wù)1206;“Route from FLACP”是顯示從Fujitstu Laboratories of America,College Park到給定地址的逐級(jí)地址目錄的服務(wù)1208。按照語義,三種服務(wù)都將接受地址作為輸入,但是在實(shí)際的實(shí)現(xiàn)中,“Weather info of”1204將郵政編碼作為一個(gè)串來接受;“Aerial Photo of”1206將街道、城市、州和郵政分區(qū)當(dāng)作四個(gè)串來接受;而“Route from FLACP”1208將街道、城市、州和郵政分區(qū)當(dāng)作一個(gè)串來接受。
如果我們不分離語義層和句法層,那么三種服務(wù)就完全不同。如果我們有一個(gè)地址對(duì)象,它最多只能匹配一種服務(wù)。而現(xiàn)在我們有一種更靈活的構(gòu)架。首先,我們定義“Semantic Address Instance”1210作為所有三種服務(wù)的語義參數(shù)。接著創(chuàng)建語義層的實(shí)例映射。該映射從聯(lián)系人項(xiàng)中提取商務(wù)地址信息。圖中,該映射由虛箭頭表示。從“SemanticAddress Instance”開始,我們定義三種基礎(chǔ)連接,每種用于一種服務(wù)?;A(chǔ)連接描述了將地址實(shí)例變換成句法參數(shù)的詳情并且由實(shí)箭頭表示。
在例如OWL-S的語義服務(wù)描述語言1212中描述了語義實(shí)例映射和基礎(chǔ)連接。因?yàn)槭止?chuàng)建映射和基礎(chǔ)連接很復(fù)雜,所以使用了名為OntoLink的工具。OntoLink具有強(qiáng)大的圖形用戶界面,其有助于用戶定義兩個(gè)語義實(shí)例之間的關(guān)系以及接著創(chuàng)建映射和基礎(chǔ)連接。
OntoLink是一種圖形工具,用于指定(a)服務(wù)的語義描述與服務(wù)的WSDL描述(這個(gè)過程也稱作基礎(chǔ)連接)之間的映射,(b)本體之間或?qū)儆诓煌倔w的實(shí)例之間的映射。該工具的輸出是用稱作XSLT(業(yè)界公知)的語言表達(dá)的規(guī)約。
OWL-S是用于描述本體知識(shí)的工具,并且在業(yè)界公知。
另外,TEC需要監(jiān)視服務(wù)執(zhí)行以及準(zhǔn)備處理異常和故障。異常和故障在系統(tǒng)層(該層提供服務(wù)及其對(duì)于用戶的連通性和/或可訪問性)或者服務(wù)層中都可能會(huì)發(fā)生。當(dāng)故障在服務(wù)層中發(fā)生時(shí),這樣的故障要么來自對(duì)服務(wù)的不正確調(diào)用或者綁定,要么就可能來自其他的、未預(yù)知的要求和/或用于存取和/或使用服務(wù)必需的憑據(jù)。在所有這些情況的任何一種中,TCE需要嘗試糾正這些問題,這可能包括需要用戶鍵入(可能)附加的信息和/或采取一些動(dòng)作,這些動(dòng)作可能包括任務(wù)的重新指定。
最后,任務(wù)規(guī)定和執(zhí)行可能以一種交錯(cuò)的方式發(fā)生,即,執(zhí)行部分任務(wù)規(guī)定,然后用戶回到任務(wù)規(guī)定來擴(kuò)展服務(wù)組成并執(zhí)行它等等。換句話說,任務(wù)規(guī)定和執(zhí)行可以不必是任務(wù)計(jì)算工作流的順序連續(xù)階段,相反二者可能以一種用戶驅(qū)動(dòng)、用戶控制的方式,或以一種半自動(dòng)地但用戶監(jiān)視的方式并行地發(fā)生。
任務(wù)計(jì)算用戶界面的元素任務(wù)計(jì)算工作流的每一步必須在用戶界面中顯示。但這并不意味著必須存在一個(gè)不同的畫面(在圖形用戶界面或GUI這種情況中)或者必須存在專用于任務(wù)計(jì)算工作流的每一步的其它元素。實(shí)際上,在單個(gè)用戶界面元素中也可顯示(或者調(diào)用)多個(gè)工作流步驟。
用于TCE的GUI可以使用多重用戶界面特征,以在發(fā)現(xiàn)、過濾、指定和執(zhí)行中的每一階段中來輔助用戶。這些特征包括下拉菜單、搜索框、校驗(yàn)表按鈕、能彈出文本的高亮圖標(biāo)、和文本上光標(biāo)等。例如,當(dāng)用戶在服務(wù)的圖形表述上移動(dòng)光標(biāo)時(shí)(在使用GUI時(shí)),可以與光標(biāo)指示的服務(wù)相匹配的其它服務(wù)的圖標(biāo)可以突出顯示?;蛘?,當(dāng)發(fā)現(xiàn)或過濾的服務(wù)對(duì)于用戶正在嘗試的任務(wù)不夠時(shí),“Search for more Services(搜索更多服務(wù))”選項(xiàng)就可變成可用的。
啟用用于任務(wù)計(jì)算的服務(wù)當(dāng)討論任務(wù)執(zhí)行的挑戰(zhàn)時(shí),我們討論了語義服務(wù)實(shí)例映射和基礎(chǔ)連接的概念。所討論的方法也有助于用戶將新的服務(wù)合并到任務(wù)計(jì)算中,即向現(xiàn)有服務(wù)提供適當(dāng)?shù)恼Z義描述以便該服務(wù)可以用于任務(wù)計(jì)算。圖13和14顯示了兩種可能的方法。
圖13顯示了合并一種新的服務(wù)(I)1300。如圖13所示,現(xiàn)有服務(wù)1302具有將語義層1304映射至服務(wù)參數(shù)的OWL-S 1212基礎(chǔ)連接。假設(shè)我們有一種新的服務(wù)1306與語義層1304中的現(xiàn)有服務(wù)1302相同,啟用用于任務(wù)計(jì)算的新服務(wù)1306需要?jiǎng)?chuàng)建新的OWL-S 1212基礎(chǔ)連接用于新的服務(wù)1306。然后我們就可以使用用于新服務(wù)1306的新基礎(chǔ)連接1212來調(diào)用新服務(wù)1306;新的基礎(chǔ)連接1212將會(huì)從語義實(shí)例中派生出服務(wù)參數(shù)。這個(gè)機(jī)制可以用于增加新的服務(wù)實(shí)現(xiàn),該服務(wù)實(shí)現(xiàn)用于與現(xiàn)有的服務(wù)工具相同的目的,或者該機(jī)制用于下面的情況即當(dāng)我們希望通過向新的服務(wù)的基礎(chǔ)連接有效地重新定向現(xiàn)存語義服務(wù)描述來升級(jí)服務(wù)實(shí)現(xiàn)時(shí)。
圖14顯示了合并新的服務(wù)(II)1400。圖14討論了具有兩種服務(wù)1302、1306的情況,這兩種服務(wù)都具有語義服務(wù)描述但是各自都為自己的語義層使用不同的本體。為了合并第二種服務(wù)1306,我們那可以使用語義實(shí)例映射1308將第一種服務(wù)1302的語義實(shí)例1304映射至第二種服務(wù)1306的語義實(shí)例1304。接著,為了調(diào)用第二種服務(wù)1306我們首先使用語義實(shí)例映射1308將第一種服務(wù)1302的實(shí)例翻譯成第二種服務(wù)1306的實(shí)例,然后再使用第二種服務(wù)1306的基礎(chǔ)連接1212來準(zhǔn)備服務(wù)調(diào)用參數(shù)。
最終用戶通常都不使用這些機(jī)制,這些機(jī)制主要由服務(wù)提供商或第三方來使用,為了讓這些服務(wù)可用于任務(wù)計(jì)算,他們對(duì)這些服務(wù)感興趣。
服務(wù)描述(我們稱之為S備注)本身是一個(gè)文件,或者是可以從服務(wù)所有者和管理者向最終用戶分發(fā)的文件指針。如同所述,S備注不僅包括服務(wù)的語義詳情,它還包括服務(wù)調(diào)用方法。如果最終用戶有權(quán)使用S備注,他們就可以使用用于任務(wù)計(jì)算的服務(wù)。即使當(dāng)執(zhí)行任務(wù)計(jì)算時(shí),最終用戶也將自動(dòng)地發(fā)現(xiàn)服務(wù),也可能的是,通過接受到S備注或者指向它的指針,用戶被明確地告知有新的服務(wù)。這樣的S備注可由電子郵件來分發(fā),或者可以在帶有服務(wù)的相同的子網(wǎng)中通過服務(wù)本身自動(dòng)向用戶分發(fā),或者從一個(gè)用戶向另一個(gè)用戶傳送。圖15描述了這些機(jī)制。
更特別地,圖15顯示了基于S備注1500的最終用戶系統(tǒng)的開發(fā)/部署。如圖15所示,最終用戶110可以通過UPnP從設(shè)備204接受S備注、通過電子郵件從開發(fā)者/IT部門1502接受S備注,和/或從她自己的計(jì)算設(shè)備的OS和應(yīng)用程序接受S備注。然后最終用戶110調(diào)用設(shè)備204的服務(wù)、服務(wù)1302和/或她自己的計(jì)算設(shè)備上的服務(wù)來完成她的任務(wù)。最終用戶可以和其它的最終用戶110共享S備注。
關(guān)于任務(wù)計(jì)算環(huán)境(TCE)的實(shí)施例當(dāng)看作具體實(shí)現(xiàn)的系統(tǒng)時(shí),任務(wù)計(jì)算環(huán)境(TCE)包括以下一個(gè)或多個(gè)任務(wù)計(jì)算客戶機(jī)(TCC)一個(gè)或多個(gè)語義描述服務(wù)(SDS)一個(gè)或多個(gè)語義服務(wù)發(fā)現(xiàn)機(jī)制(SSDM)可選的一個(gè)或多個(gè)語義描述服務(wù)控制機(jī)制(SDSCM)“任務(wù)計(jì)算客戶機(jī)(TCC)”是支持與任務(wù)計(jì)算環(huán)境相關(guān)聯(lián)的工作流的客戶機(jī)。
圖16顯示了示例TCE實(shí)施例1600的總體體系架構(gòu)。當(dāng)然,這只是許多可能的TCE實(shí)施例中的一種。TCC1602是軟件,它允許用戶感受任務(wù)計(jì)算,而且當(dāng)由計(jì)算機(jī)執(zhí)行時(shí),使計(jì)算機(jī)執(zhí)行任務(wù)計(jì)算功能。TCC發(fā)現(xiàn)服務(wù)1302、過濾針對(duì)用戶環(huán)境的服務(wù)、向用戶提供用戶界面用于規(guī)定任務(wù)或者幫助用戶進(jìn)行任務(wù)規(guī)定,而且在任務(wù)規(guī)定后,它通過調(diào)用服務(wù)來執(zhí)行任務(wù),有時(shí)候還請(qǐng)求用戶通過用戶界面輸入,并且最后它向用戶呈現(xiàn)任務(wù)執(zhí)行的結(jié)果。
如圖16所示,用戶110調(diào)用指向任務(wù)計(jì)算客戶機(jī)(TCC)1602的任務(wù)并從任務(wù)計(jì)算客戶機(jī)(TCC)1602接收表示。TCC 1602執(zhí)行任務(wù)并接收服務(wù)1302和語義服務(wù)發(fā)現(xiàn)1604。
TCC 1602的功能包括但不限于下列方面用戶界面(UI)它允許用戶與TCE支持的主要功能(發(fā)現(xiàn)、過濾、組合、執(zhí)行)交互。這些功能被映射到用戶通過用戶界面可以訪問的模塊或引擎。
發(fā)現(xiàn)功能(DF)找出(服務(wù)及其)相關(guān)描述;即使DF在執(zhí)行與接收自身通知相反的操作而僅僅查詢第三方時(shí),上面所述內(nèi)容也是正確的。TCC可以擁有對(duì)應(yīng)于服務(wù)發(fā)現(xiàn)技術(shù)(例如UPnP、Jini、藍(lán)牙SDP,等)的多個(gè)DF。
過濾功能(FF)基于用戶偏好和環(huán)境對(duì)所發(fā)現(xiàn)的服務(wù)進(jìn)行過濾。
指定功能(CF或任務(wù)規(guī)定功能)在給定服務(wù)語義的情況下對(duì)服務(wù)進(jìn)行匹配,并且允許用戶為后續(xù)指定(認(rèn)為)指定服務(wù)的任意且復(fù)雜的序列(不一定是線性序列)。
執(zhí)行/監(jiān)視功能(EF)執(zhí)行服務(wù)調(diào)用界面的實(shí)際調(diào)用,負(fù)責(zé)執(zhí)行期間所調(diào)用服務(wù)之間的協(xié)調(diào),并且管理執(zhí)行期間所調(diào)用服務(wù)與用戶之間的交互。
TCC的最小要求功能是發(fā)現(xiàn)功能(DF)、任務(wù)規(guī)定功能(TF)和執(zhí)行/監(jiān)視功能(EF)。
實(shí)現(xiàn)TCC功能的組件(模塊)在物理上可以位于除最終用戶的設(shè)備之外的系統(tǒng)中。例如,在我們的PDA實(shí)現(xiàn)之一中,除用戶界面(在此情形中為Web瀏覽器)之外的所有TCC組件都在一單獨(dú)的計(jì)算設(shè)備中執(zhí)行。許多TCC功能自身都可以作為服務(wù)提供。
實(shí)現(xiàn)TCC功能的組件(模塊)可以被不同的實(shí)體擁有和/或操作。這些組件自身可以再次被作為服務(wù)發(fā)現(xiàn)。
“語義描述服務(wù)(SDS)”1604包括一個(gè)或多個(gè)服務(wù)調(diào)用界面及其相伴的語義層描述。
服務(wù)調(diào)用界面可以由任何方法/機(jī)制實(shí)現(xiàn)以調(diào)用它們(并與它們進(jìn)行交互),這些方法/機(jī)制包括但不限于SOAP&WSDL、UPuP、JINI、RPC、RMI、CORBA、COM、DCOM、KQML、FIPA-ACL,等。一項(xiàng)服務(wù)可以擁有多重服務(wù)調(diào)用機(jī)制。
服務(wù)調(diào)用界面不需要與其描述的服務(wù)位于相同機(jī)器上,也不需要位于相同的管理權(quán)限下。
服務(wù)的語義層描述或“語義服務(wù)描述(SSD)”1604可能包括使用任何適當(dāng)?shù)恼Z義語言的對(duì)其I/O、進(jìn)程模型等進(jìn)行的語義描述。服務(wù)的SSD應(yīng)該包括(至少)服務(wù)的語義層描述如何執(zhí)行服務(wù)語義服務(wù)描述在物理上可以位于任何位置。它不必在物理上和邏輯上與服務(wù)界面位于相同的實(shí)體中,它也不必由管理和/或擁有所實(shí)現(xiàn)的服務(wù)和/或其界面的相同權(quán)限管理。例如任何人都可以給出指向服務(wù)調(diào)用界面或一組服務(wù)調(diào)用界面(界面可以跨多個(gè)實(shí)體分布)SSD(語義服務(wù)描述)1604。
TCC可以在內(nèi)部保持SSD。
可以使用任意合適的語義語言編寫語義服務(wù)描述。這樣的合適語言的一個(gè)示例是OWL-S。但是,服務(wù)的語義描述也可能是一種僅僅顯式地指定服務(wù)的I/O的簡(jiǎn)單的專用語言,在此情形中,描述I/O的任何語義語言都滿足條件(例如,RDF、DAML、DAML-S,等)。
語義服務(wù)發(fā)現(xiàn)機(jī)制(SSDM)是一種查找SSD的機(jī)制??蛇x地SSDM查找服務(wù)的狀態(tài)(活動(dòng),不活動(dòng),等)。
有很多SSDM。TCC可能使用多個(gè)SSDM,并且一項(xiàng)服務(wù)可能被多個(gè)SSDM發(fā)現(xiàn)。
在普遍環(huán)境中,UPnP、藍(lán)牙SDP、Salutation、Jini、Rendezvous是非常動(dòng)態(tài)的SSDM,并且積極地通知其它客戶機(jī)設(shè)備服務(wù)的出現(xiàn)。一般而言,在使用這些機(jī)制之一用于發(fā)現(xiàn)在與TCC執(zhí)行的計(jì)算設(shè)備位于相同子網(wǎng)中的服務(wù)時(shí),使用一個(gè)TCC。
為在Internet上發(fā)現(xiàn)服務(wù),可以使用用于服務(wù)的UDDI或與GOOGLE等效物來進(jìn)行服務(wù)發(fā)現(xiàn);TCC將在給定搜索準(zhǔn)則下查詢它們以獲得可用服務(wù)。
代理通信語言(Agent communication language)(KQML、FIPAACL……)為在網(wǎng)絡(luò)上查詢代理有關(guān)代理所知道的服務(wù)提供詞典。
對(duì)于在與TCC在相同的計(jì)算設(shè)備上運(yùn)行的服務(wù)而言,存在不同的機(jī)制,例如使用OS的注冊(cè)表機(jī)制,或者下文將討論的其它機(jī)制。
此外,用戶可以鍵入/剪切并粘貼URL或用于服務(wù)的SSD的某種引用(例如S備注)。
用戶掃描設(shè)備上與服務(wù)相關(guān)的條形碼,以獲得URL、某種引用或用于服務(wù)的SSD的描述自身。
Web服務(wù)(或任意其它遠(yuǎn)程過程調(diào)用機(jī)制)可以用作一種SSDM服務(wù)。
用于先前或經(jīng)常使用的服務(wù)的本地高速緩存可被視為一種SSDM高速緩存。
用于公知服務(wù)的SSD服務(wù)的本地或遠(yuǎn)程數(shù)據(jù)庫(kù)可被視為SSDM的數(shù)據(jù)庫(kù)。發(fā)現(xiàn)模塊使用查找服務(wù)所專用的ID來查詢用于SSD的數(shù)據(jù)庫(kù),以執(zhí)行查找服務(wù)。例如,假定通過UPnP找到作為UPnP設(shè)備的服務(wù)。發(fā)現(xiàn)模塊嘗試使用獲得其SSD的標(biāo)準(zhǔn)方法。當(dāng)此種嘗試失敗時(shí),發(fā)現(xiàn)模塊使用其UPnP的唯一設(shè)備名稱(UDN)向本地和/或遠(yuǎn)程數(shù)據(jù)庫(kù)查詢其SSD。
定義(SDSCM)語義描述服務(wù)控制機(jī)制(SDSCM)是一種機(jī)制,它允許某種實(shí)體(并不一定是TCC的用戶,甚至不必是一個(gè)人)管理并控制SDS的供應(yīng)(創(chuàng)建、提供、保存、刪除,等)。
SDSCM包括但不限于Semant ic Instance Scraper for Applications(應(yīng)用程序語義實(shí)例刮刀程序)White Hole Service(白洞服務(wù))PIPE(遍布實(shí)例提供環(huán)境)通知服務(wù)。這些服務(wù)并不使用訂閱模型,而是通過使信息提供服務(wù)需要時(shí)可用來通知用戶。
雖然SDSCM并非任務(wù)計(jì)算的絕對(duì)要求,但是它對(duì)于創(chuàng)建更加動(dòng)態(tài)的任務(wù)計(jì)算環(huán)境至關(guān)重要(下文將給出更多實(shí)施例)。
用戶界面作為TCC的重要部分,用戶界面向用戶呈現(xiàn)發(fā)現(xiàn)結(jié)果,幫助用戶指定并提交用于調(diào)用的任務(wù)。本部分將給出六個(gè)版本的TCC用戶界面。
完整版本圖17顯示了用于任務(wù)計(jì)算的一種可能的用戶界面1700,它在一個(gè)窗口中顯示了所有的信息。這種復(fù)雜的用戶界面供高級(jí)用戶使用。
在此特殊實(shí)施例1700中的UI中有五個(gè)窗格。左上面的窗格是發(fā)現(xiàn)窗格。它包含一個(gè)顯示出能夠發(fā)現(xiàn)的所有服務(wù)(功能)的列表。在該列表上方有一個(gè)下拉列表,它允許用戶基于諸如字母順序、服務(wù)類型、發(fā)現(xiàn)時(shí)間等順序以不同的方式對(duì)服務(wù)列表進(jìn)行排序。若要查看詳細(xì)信息,用戶可以單擊他們感興趣的服務(wù),與該服務(wù)相關(guān)的詳細(xì)資料將顯示在窗口左下方的詳細(xì)窗格中。中上方的窗格是組合窗格。在組合窗格中有幾個(gè)組,它們包括對(duì)象名、兩個(gè)下拉列表和兩個(gè)按鈕。左側(cè)下拉列表中的服務(wù)被稱為消費(fèi)者,右側(cè)下列列表中的服務(wù)被稱為生產(chǎn)者。在每個(gè)組中,任意消費(fèi)者都可以與任意生產(chǎn)者結(jié)合,因?yàn)閬碜陨a(chǎn)者的輸出可以用作消費(fèi)者的輸入。這就允許該UI可以在緊湊的顯示區(qū)域呈現(xiàn)更多組合。當(dāng)由左向右看消費(fèi)者/生產(chǎn)者對(duì)時(shí),其次序與其實(shí)際執(zhí)行次序相反。這是有意而為的,這樣該消費(fèi)者/生產(chǎn)者對(duì)就可以讀做一個(gè)英語句子(例如,“Open”“Local File”),因?yàn)榭梢院苋菀椎貙⑸a(chǎn)者視為名詞短語而將消費(fèi)者視為對(duì)生產(chǎn)者起作用的動(dòng)詞或形容詞短語。這就允許用戶更加迅速地理解可用的任務(wù)的種類。對(duì)于其它的動(dòng)詞及其賓語名詞次序相反的語言(例如日語),應(yīng)該以其執(zhí)行次序顯示它們。在下拉菜單對(duì)上方顯示的對(duì)象名(例如“File(文件)”、“Schedule(計(jì)劃)”、“Contact(聯(lián)系人)”等)是生產(chǎn)者的輸出的對(duì)象名。該窗格中的按鈕是“Execute(執(zhí)行)”和“Construct(構(gòu)建)”。當(dāng)用戶單擊“Execute(執(zhí)行)”時(shí),當(dāng)前選擇的消費(fèi)者和生產(chǎn)者將結(jié)組成一個(gè)任務(wù)并執(zhí)行。當(dāng)用戶單擊“Construct(構(gòu)建)”時(shí),當(dāng)前的消費(fèi)者和生產(chǎn)者將成為進(jìn)一步構(gòu)建的基礎(chǔ)并且顯示在構(gòu)建窗格中。構(gòu)建窗格是位于右上方的窗格,用戶在其中創(chuàng)建自定義的任務(wù)。在構(gòu)建窗格中顯示當(dāng)前正在創(chuàng)建的任務(wù)。用戶可以通過在工具欄中單擊按鈕或單擊窗格中的“+”或“-”按鈕向服務(wù)序列的頂端或底端添加新服務(wù)或刪除序列中的第一個(gè)/最后一個(gè)服務(wù)。用戶可以單擊工具欄中的“C1ear(清除)”按鈕以刪除當(dāng)前序列并重新啟動(dòng)創(chuàng)建過程。當(dāng)序列結(jié)束時(shí),用戶可以單擊“Execute(執(zhí)行)”按鈕來執(zhí)行它。右下方的窗格是信息窗格。在信息窗格中顯示TC操作消息。并且對(duì)于每一步執(zhí)行,都會(huì)向信息窗格新添一個(gè)顯示當(dāng)前執(zhí)行監(jiān)視信息的標(biāo)簽。用戶還可以通過從發(fā)現(xiàn)窗格中選擇一項(xiàng)服務(wù)并單擊構(gòu)建按鈕來開始一個(gè)構(gòu)建(任務(wù)規(guī)定)。
如上所述,窗格彼此協(xié)同,這樣用戶即可迅速地完成任務(wù)。
當(dāng)用戶使其光標(biāo)懸停在組合窗格或構(gòu)建窗格中的一個(gè)服務(wù)名稱上方時(shí),將在彈出框中顯示由選自位于OWL-S中的SSD的服務(wù)的描述。
除組合窗格之外,所有其它的四個(gè)窗格中的任何一個(gè)都可以通過選擇對(duì)應(yīng)的菜單項(xiàng)目而隱藏或顯示。
如果需要的話,也可以向該用戶界面添加保存窗格以供用戶保存其認(rèn)為有價(jià)值的組合。
選項(xiàng)卡版本圖18-22使用選項(xiàng)卡隱喻顯示了另一種可能的用戶界面。這更適于具有較小顯示器的設(shè)備,例如PDA和移動(dòng)電話。
類似于完整版本,在該用戶界面中也有五個(gè)窗格。每一個(gè)窗格都是大型表格的選項(xiàng)卡。圖18顯示了發(fā)現(xiàn)窗格。發(fā)現(xiàn)窗格中的一個(gè)列表顯示了所有的服務(wù)。用戶可以通過選擇工具欄中的下拉列表以六種不同的次序?qū)υ摿斜磉M(jìn)行排序。若要在詳細(xì)窗格中看到關(guān)于服務(wù)的更多內(nèi)容,用戶可以選擇該服務(wù)和“Detail(詳細(xì)信息)”按鈕。用戶可以由特定服務(wù)構(gòu)建一個(gè)新任務(wù)。其方式是雙擊該服務(wù),構(gòu)建窗格將彈出,并且所選服務(wù)位于該構(gòu)建窗格中。更特別地,圖18顯示了一個(gè)用戶界面選項(xiàng)卡版本(I)1800。
圖19顯示了一個(gè)用戶界面選項(xiàng)卡版本(II)1900。圖19顯示了組合窗格。在組合窗格中有幾個(gè)組,它們包括兩個(gè)下拉列表和兩個(gè)按鈕。左側(cè)下拉列表中的服務(wù)被稱為消費(fèi)者,右側(cè)下列列表中的服務(wù)被稱為生產(chǎn)者。在每個(gè)組中,任意消費(fèi)者都可以與任意生產(chǎn)者結(jié)合。這就允許該UI可以在緊湊的顯示區(qū)域呈現(xiàn)更多組合。當(dāng)由左向右看消費(fèi)者/生產(chǎn)者對(duì)時(shí),其次序與其實(shí)際執(zhí)行次序相反。這是有意而為的,這樣該消費(fèi)者/生產(chǎn)者對(duì)就可以讀做一個(gè)英語句子(例如,“Open”“URL from Favorites”),因?yàn)榭梢院苋菀椎貙⑸a(chǎn)者視為名詞短語而將消費(fèi)者視為對(duì)生產(chǎn)者起作用的動(dòng)詞或形容詞短語。這就允許用戶更加迅速地理解可用的任務(wù)的種類。對(duì)于其它的動(dòng)詞及其賓語名詞次序相反的語言(例如日語),應(yīng)該以其執(zhí)行次序顯示它們。兩個(gè)按鈕是“Execute(執(zhí)行)”和“Construct(構(gòu)建)”。當(dāng)用戶單擊“Execute(執(zhí)行)”時(shí),當(dāng)前選擇的消費(fèi)者和生產(chǎn)者將結(jié)組成一個(gè)任務(wù)并執(zhí)行。當(dāng)用戶單擊“Construct(構(gòu)建)”時(shí),當(dāng)前的消費(fèi)者和生產(chǎn)者將成為進(jìn)一步構(gòu)建的基礎(chǔ)并且顯示在構(gòu)建窗格中。
圖20顯示了用戶界面選項(xiàng)卡版本(III)2000。圖20顯示了構(gòu)建窗格。在該窗格中有三個(gè)組合框,它表明當(dāng)前任務(wù)包括三種服務(wù)。用戶可以通過單擊窗格中的“-”按鈕來刪除第一個(gè)和最后一個(gè)服務(wù),或者可以通過單擊第三個(gè)組合框下面的“+”按鈕向按鈕添加一項(xiàng)新服務(wù)。在該示例中,因?yàn)榈谝粋€(gè)服務(wù)并不從其它服務(wù)中接收任何參數(shù),因此在第一項(xiàng)服務(wù)上方并沒有“+”按鈕。每個(gè)組合框還列出了與任務(wù)中當(dāng)前服務(wù)類似的服務(wù)。用戶可以使用列表中任意一個(gè)服務(wù)替換當(dāng)前任務(wù)。
圖21顯示了用戶界面選項(xiàng)卡版本(IV)2100。圖21顯示了用戶單擊“+”按鈕之后顯示的構(gòu)建窗格?,F(xiàn)在已經(jīng)向構(gòu)建窗格添加了一個(gè)新組合框。該組合框列出了可以與第三項(xiàng)服務(wù)(先前為最后一項(xiàng)服務(wù))結(jié)合的所有服務(wù)。因?yàn)樾碌慕M合框中當(dāng)前所選服務(wù)并不具有任何輸出,所以并未顯示“+”按鈕。
當(dāng)用戶對(duì)任務(wù)感到滿意時(shí),可以單擊“Execute(執(zhí)行)”按鈕來運(yùn)行該任務(wù)。
圖22顯示了用戶界面選項(xiàng)卡版本(V)2200。圖22顯示了信息窗格中的執(zhí)行監(jiān)視器。每個(gè)執(zhí)行監(jiān)視器都是信息窗格中的一選項(xiàng)卡。執(zhí)行監(jiān)視器具有兩部分。左部是一樹狀結(jié)構(gòu),顯示了任務(wù)中服務(wù)的組織。在每個(gè)服務(wù)名稱的前面有一復(fù)選框。復(fù)選框最初是未選中的。在執(zhí)行期間,當(dāng)服務(wù)完成時(shí),該復(fù)選框?qū)⒈贿x中。右部是一文本框,它給出各個(gè)服務(wù)的調(diào)用狀態(tài)。用戶可以通過單擊選項(xiàng)卡名稱附近的“X”按鈕來關(guān)閉監(jiān)視器。
在該特定的實(shí)施例中,每個(gè)選項(xiàng)卡僅僅包含一個(gè)窗格,并且圖18-22按照上面描述的步驟執(zhí)行。這樣一個(gè)選項(xiàng)卡就可以包含一個(gè)以上緊密關(guān)聯(lián)的窗格。
流版本圖22-23顯示了另選的用于任務(wù)計(jì)算的用戶界面,它提供了一種直覺的方法,可以容易地創(chuàng)建相對(duì)復(fù)雜的服務(wù)。此外,這一更加緊湊的用戶界面更適于具有小型顯示器的設(shè)備,例如PDA和移動(dòng)電話(圖27-33顯示了用于移動(dòng)電話的類似功能的用戶界面)。
接下來將描述對(duì)圖23-26中的用戶界面和圖27-33中的用戶界面的用戶體驗(yàn)。
在該UI中有兩個(gè)窗格。左窗格包含一個(gè)列表,它列出了可以與出現(xiàn)在右窗格中的服務(wù)(功能)結(jié)合的所有服務(wù)(功能)。用戶可以雙擊一項(xiàng)服務(wù)(或者在選中它之后再次單擊)以將它由左窗格移至右窗格。若要從右窗格刪除一項(xiàng)服務(wù),用戶可以雙擊該服務(wù),或者可以選擇它(通過在服務(wù)上單擊),然后單擊右上角的刪除按鈕。向右窗格添加服務(wù)或從右窗格刪除服務(wù)會(huì)自動(dòng)更新左窗格上的服務(wù)列表。當(dāng)一項(xiàng)服務(wù)由左窗格移至右窗格時(shí),TCC會(huì)自動(dòng)在左窗格的服務(wù)中的正確位置排列該服務(wù)。如果所選服務(wù)有多個(gè)正確位置,則會(huì)請(qǐng)用戶選擇一個(gè)正確的位置來插入該服務(wù)。
右窗格中的服務(wù)序列應(yīng)該從頭到尾讀做一個(gè)英語句子。當(dāng)該序列“完成”時(shí),意味著它表示了一個(gè)由TCC確定的可以執(zhí)行的組合,右上角的執(zhí)行按鈕將處于活動(dòng)狀態(tài)。有時(shí),當(dāng)服務(wù)添加到右窗格上時(shí),在服務(wù)之間會(huì)出現(xiàn)一個(gè)“+”;這意味著要完成組合,必須在“+”所在位置添加一項(xiàng)或多項(xiàng)服務(wù)。
只要可能,即左窗格中的剩余服務(wù)或服務(wù)只能在與右窗格上的服務(wù)結(jié)合的一個(gè)組合中使用時(shí),系統(tǒng)將自動(dòng)在右窗格上完成該組合。
當(dāng)用戶創(chuàng)建一個(gè)組合時(shí),她可能會(huì)使用左箭頭和右箭頭(位于頂部)來在組合創(chuàng)建過程中前后移動(dòng)。用戶可以通過按下左上角的重新啟動(dòng)按鈕來重新開始。
UI窗口的底部顯示關(guān)于左窗格商當(dāng)前所選服務(wù)的信息,或者,如果未選擇服務(wù),則顯示組合的當(dāng)前狀態(tài)信息,例如可能的組合的數(shù)目(“可能性”)。可以通過按幫助按鈕的方式來禁用UI窗口的底線;底線將消失,然后用戶即可通過在服務(wù)上單擊(而不是雙擊)來添加或刪除服務(wù)。
接下來將描述使用圖23-26所示用戶界面創(chuàng)建一個(gè)組合的示范屏幕快照,其方式是詳細(xì)說明各個(gè)圖。
圖23顯示了第一個(gè)用戶界面流版本2300。圖23顯示了在用戶界面的開始階段的所有可用服務(wù)。類似的顯示出現(xiàn)在按下重新啟動(dòng)按鈕時(shí)。
圖24顯示了第二個(gè)用戶界面流版本2400。圖24顯示了用戶連續(xù)選擇兩項(xiàng)服務(wù)之后的用戶界面。
圖25顯示了第三個(gè)用戶界面流版本2400。圖25顯示了用戶選擇了足夠多的服務(wù)以達(dá)到一個(gè)可執(zhí)行的服務(wù)組成后的用戶界面。
圖26顯示了第四個(gè)用戶界面流版本2500。圖26顯示了另一個(gè)可執(zhí)行服務(wù)組成,但是禁用了底端信息線。
圖27-33所示的用戶界面以與上面幾乎相同的方式進(jìn)行操作,不同之處在于圖標(biāo)被按鈕替換;前向箭頭(右箭頭)(及其功能)和幫助功能(具有位于用戶界面底部的相關(guān)解釋)被省略。
接下來將描述使用圖27-33所示用戶界面創(chuàng)建一個(gè)組合的示范屏幕快照,其方式是詳細(xì)說明各個(gè)圖。
圖27顯示了開始處的任務(wù)計(jì)算2700。圖27顯示了開始時(shí)的用戶界面。
圖28顯示了在用戶選擇后的任務(wù)計(jì)算2800。圖28顯示了服務(wù)選擇后的用戶界面。
圖29顯示了在左窗格刷新后的任務(wù)計(jì)算2900。圖29顯示了在圖28的用戶選擇之后左窗格刷新后的用戶界面。
圖30顯示了用戶選擇后任務(wù)計(jì)算的另一個(gè)視圖3000。圖30顯示了在第二個(gè)服務(wù)選擇后的用戶界面。
圖31顯示了在左窗格刷新后任務(wù)計(jì)算的另一個(gè)視圖3100。圖31顯示了在圖30的用戶選擇后左窗格刷新后的用戶界面。
圖32顯示了任務(wù)計(jì)算自動(dòng)完成信息3200。圖32顯示了在啟用自動(dòng)完成功能的圖31的刷新后的用戶界面。
圖33顯示了在任務(wù)計(jì)算中用戶使用自動(dòng)完成選項(xiàng)選擇自動(dòng)結(jié)束3300。圖33顯示了在用戶調(diào)用自動(dòng)完成功能之后的用戶界面。右側(cè)的服務(wù)是不可執(zhí)行的。
基于Web的版本圖34-38顯示了基于Web的任務(wù)計(jì)算用戶界面。它適于與任務(wù)計(jì)算客戶機(jī)1602一起使用,而不需要在用戶的設(shè)備上安裝特殊軟件以供用戶進(jìn)行任務(wù)計(jì)算,不過用戶界面運(yùn)行在與用戶用于任務(wù)計(jì)算的設(shè)備不同的設(shè)備上時(shí)除外。雖然所討論的任何一種用戶界面都可以在用戶的設(shè)備上運(yùn)行,而TCC的其余部分在一個(gè)或多個(gè)其他設(shè)備上執(zhí)行,但是這一特殊用戶界面并未阻止在用戶的設(shè)備上安裝軟件。要注意的是,該用戶界面沒有排除在用戶的設(shè)備上安裝軟件;用戶可能會(huì)這樣做,從而向其任務(wù)計(jì)算體驗(yàn)添加功能,即對(duì)運(yùn)行在其設(shè)備上的其它應(yīng)用程序的訪問。
執(zhí)行(運(yùn)行)任務(wù)計(jì)算客戶機(jī)1602的設(shè)備(例如計(jì)算機(jī))也承載Web服務(wù)器。用戶可以使用PDA或移動(dòng)電話來告訴Web服務(wù)器發(fā)現(xiàn)和過濾服務(wù)并構(gòu)建和執(zhí)行任務(wù)。用戶界面是以HTML或者任何其它網(wǎng)頁(yè)設(shè)計(jì)語言設(shè)計(jì)的,這樣就可以使用任何網(wǎng)絡(luò)客戶機(jī)應(yīng)用程序(例如INTERNETEXPLORER、NETSCAPE NAVIGATOR、OPERA BROWSER、MOSAIC,等)進(jìn)行瀏覽。
圖34顯示了用戶界面的Web版本(I)3400。圖34顯示了發(fā)現(xiàn)頁(yè)面。該頁(yè)面包括組合框、列表和幾個(gè)按鈕。該列表顯示了所有的服務(wù)。用戶可以通過從組合框中選擇一種次序并單擊“Sort(排序)”按鈕來對(duì)列表進(jìn)行排序。列表下方的按鈕允許用戶瀏覽其它頁(yè)面。例如,若要瀏覽服務(wù)的詳細(xì)信息,用戶可以從列表中選擇該服務(wù)并單擊“Detail(詳細(xì)信息)”按鈕來訪問詳細(xì)資料頁(yè)面。
圖35顯示了用戶界面的Web版本(II)3500。圖35顯示了組合頁(yè)。在該頁(yè)面的頂端給出了服務(wù)的數(shù)目。在此下方有兩個(gè)按鈕。用戶可以單擊“Update(更新)”按鈕來下載組合頁(yè)的最新版本或單擊“Discovery(發(fā)現(xiàn))”按鈕來訪問發(fā)現(xiàn)頁(yè)。緊接著有幾個(gè)由兩個(gè)下拉列表和兩個(gè)按鈕組成的組。頂部下列列表中的服務(wù)被稱為消費(fèi)者,底部下列列表中的服務(wù)被稱為生產(chǎn)者。在每個(gè)組中,任意消費(fèi)者都可以與任意生產(chǎn)者結(jié)合。這就允許該UI可以在緊湊的顯示區(qū)域呈現(xiàn)更多組合。當(dāng)由上向下看消費(fèi)者/生產(chǎn)者對(duì)時(shí),其次序與其實(shí)際執(zhí)行次序相反。這是有意而為的,這樣該消費(fèi)者/生產(chǎn)者對(duì)就可以讀做一個(gè)英語句子(例如,“Weather info of”“Contact from Outlook”),因?yàn)榭梢院苋菀椎貙⑸a(chǎn)者視為名詞短語而將消費(fèi)者視為對(duì)生產(chǎn)者起作用的動(dòng)詞或形容詞短語。這就允許用戶更加迅速地理解可用的任務(wù)的種類。對(duì)于其它的動(dòng)詞及其賓語名詞次序相反的語言(例如日語),應(yīng)該以其執(zhí)行次序顯示它們。兩個(gè)按鈕是“Execute(執(zhí)行)”和“Construct(構(gòu)建)”。當(dāng)用戶單擊“Execute(執(zhí)行)”時(shí),當(dāng)前選擇的消費(fèi)者和生產(chǎn)者將結(jié)組成一個(gè)任務(wù)并執(zhí)行。當(dāng)用戶單擊“Construct(構(gòu)建)”時(shí),當(dāng)前的消費(fèi)者和生產(chǎn)者將成為進(jìn)一步構(gòu)建的基礎(chǔ)并且顯示在構(gòu)建窗格中。
圖36顯示了用戶界面的Web版本(III)3600。圖36顯示了構(gòu)建頁(yè)面。在該頁(yè)面中有兩個(gè)組合框,這意味著當(dāng)前任務(wù)包括兩項(xiàng)服務(wù)。用戶可以通過單擊位于列表上方/下方的添加/刪除按鈕,來向列表的頂部/底部添加一項(xiàng)新服務(wù)或者刪除列表中的第一/最后一項(xiàng)服務(wù)。
圖37顯示了用戶界面的Web版本(III)3700。圖37顯示了在用戶單擊了列表下方的“Add(添加)”按鈕之后的構(gòu)建頁(yè)面。然后向該構(gòu)建頁(yè)面添加了一個(gè)新的組合框。用戶可以通過單擊“Discovery(發(fā)現(xiàn))”和“Composition(組成)”按鈕來停止構(gòu)建并移至其它頁(yè)面,或者通過單擊“Execute(執(zhí)行)”按鈕來執(zhí)行任務(wù),或是通過單擊“Save(保存)”按鈕來將當(dāng)前任務(wù)保存為一項(xiàng)新服務(wù)。
圖38顯示了用戶界面的Web版本(V)3800。圖38顯示了執(zhí)行監(jiān)視頁(yè)面。在用戶發(fā)布一條命令來執(zhí)行任務(wù)之后將顯示該頁(yè)面。在該頁(yè)面的中部列出任務(wù)中的服務(wù)。在每項(xiàng)服務(wù)之前,有一個(gè)箭頭,用于指示該服務(wù)為當(dāng)前正在的服務(wù)。用戶可以通過單擊“Composition(組成)”來停止監(jiān)視,或通過單擊“Discovery(發(fā)現(xiàn))”按鈕來移動(dòng)至其它頁(yè)面,或者通過單擊鏈接“View Execution Detail(查看執(zhí)行細(xì)節(jié))”查看與執(zhí)行相關(guān)的更多信息。在服務(wù)調(diào)用結(jié)束后,該箭頭移動(dòng)至下一項(xiàng)服務(wù),并且在該服務(wù)之前出現(xiàn)一個(gè)紅色的“Done(已完成)”的消息。在任務(wù)執(zhí)行過程中,監(jiān)視器頁(yè)將以預(yù)定的頻率刷新自身以反映在任務(wù)結(jié)束前或由異常中止之前的最新狀態(tài)。
圖33-38按照上面所述結(jié)合執(zhí)行。
基于菜單的版本用戶使用嵌套的菜單來組成/構(gòu)建/執(zhí)行任務(wù)。它可以是TCC、OS和應(yīng)用程序的一部分。嵌套的菜單是由當(dāng)時(shí)對(duì)任務(wù)計(jì)算環(huán)境可用的服務(wù)動(dòng)態(tài)創(chuàng)建的。這一嵌套的菜單尤其適用于OS和應(yīng)用程序中對(duì)象的環(huán)境菜單。嵌套的菜單是為特定對(duì)象可以映射到其中的語義對(duì)象而構(gòu)建的。
圖39顯示了用戶界面的嵌套菜單版本(I)3900。圖39顯示了不從對(duì)象構(gòu)建組合的方法。菜單可以從OS中的某些圖標(biāo)開始,例如從WindowsXP中任務(wù)欄上的圖標(biāo)開始。菜單啟動(dòng)時(shí)沒有輸入服務(wù)3910,并且它顯示了服務(wù)的另一個(gè)菜單3912,當(dāng)用戶的光標(biāo)在服務(wù)上懸停特定時(shí)間時(shí)(例如),它可以與第一個(gè)服務(wù)3910組合。如果用戶決定繼續(xù)使用服務(wù)的當(dāng)前組合,用戶可以(例如)右鍵單擊菜單項(xiàng)目(這是最后一個(gè)服務(wù)選擇)來執(zhí)行組合或構(gòu)建進(jìn)一步由當(dāng)前選項(xiàng)啟動(dòng)的組合3912或顯示所選服務(wù)的屬性。圖39顯示了菜單3910中“Ryu’s Contact”、菜單3912中“BusinessAddress of”、菜單3914中“Aerial Photo of”和菜單3916中“Vies onprojector”的示例組合。
如果組合以某些輸出而結(jié)束,則系統(tǒng)可以設(shè)置為(1)系統(tǒng)不在右鍵單擊菜單中顯示“Execute(執(zhí)行)”項(xiàng)目,或(2)系統(tǒng)執(zhí)行組合并省略輸出,或(3)系統(tǒng)在給定組合的結(jié)束時(shí)試著自動(dòng)完成組成服務(wù)并執(zhí)行它。
系統(tǒng)也可以被設(shè)置成當(dāng)(例如)用戶的光標(biāo)在服務(wù)上方懸停特定時(shí)間后執(zhí)行/構(gòu)建/屬性菜單項(xiàng)目3918出現(xiàn)。
在上面的描述中,我們討論了從無輸入服務(wù)開始擴(kuò)展組合的方法。我們也可以由例如無輸出服務(wù)開始并在其它方向?qū)M合進(jìn)行擴(kuò)展?;蛘?,我們可以啟動(dòng)任何服務(wù)(可能有或沒有輸入/輸出),并使用戶在兩個(gè)方向擴(kuò)展該組合。
圖40顯示了用戶界面的嵌套菜單版本(II)4000。圖40顯示了實(shí)質(zhì)上從OS或應(yīng)用程序中某些對(duì)象啟動(dòng)的同一個(gè)嵌套的菜單界面的示例。當(dāng)用戶右鍵單擊對(duì)象3908時(shí),將確定對(duì)象的相應(yīng)的語義對(duì)象并顯示使用該語義對(duì)象的服務(wù)。其它的與“嵌套菜單(從無對(duì)象)”中相同。當(dāng)組合被調(diào)用時(shí),會(huì)分析該對(duì)象以創(chuàng)建語義對(duì)象,(以某種內(nèi)部一致性實(shí)現(xiàn))創(chuàng)建提供服務(wù)并且執(zhí)行服務(wù)的語義對(duì)象,并且將該語義對(duì)象傳遞給服務(wù)組成的其它部分。
在OS廣泛可用的情況下(Windows、Unix OS,等等),文件擴(kuò)展名可用來判斷對(duì)象所映射到的語義對(duì)象。例如,.jpg/“Image File”,.mpg/“Video File”,.vcf(vCard)/“Contact”,.ics(iCalendar)/“Schedule”,等。在文件自身包含語義對(duì)象時(shí),會(huì)將文件中包含的一或多個(gè)語義對(duì)象用于服務(wù)的組成。例如,OWL(Web本體語言)的.owl文件可以包含語義對(duì)象。
我們可以將該方法擴(kuò)展至描述語義服務(wù)的OWL-S文件。當(dāng)用戶右鍵單擊一個(gè)OWL-S文件時(shí),就會(huì)顯示可組成該OWL-S文件所描述服務(wù)的服務(wù)。
在使用應(yīng)用程序的情況下,可以從個(gè)人信息管理(PIM)軟件中啟動(dòng)組合,例如,聯(lián)系人或計(jì)劃項(xiàng)目?;蛘呖梢杂呻娮余]件軟件中電子郵件中的附件啟動(dòng)組合。Web瀏覽器軟件可以動(dòng)態(tài)地為其在頁(yè)面或與頁(yè)面鏈接的頁(yè)面中找到的語義對(duì)象或非語義對(duì)象創(chuàng)建圖標(biāo)或菜單,并且允許用戶由此開始組合。
命令行版本圖41顯示了命令行版本的界面4100。用戶通過鍵盤或類似的輸入設(shè)備與TCC進(jìn)行交互。TCC將按照命令(例如,通過按諸如TAB鍵之類的特殊鍵)使用已經(jīng)鍵入的字符,顯示對(duì)應(yīng)于所發(fā)現(xiàn)服務(wù)名稱的完成的短語。如果有一個(gè)以上用于完成的候選短語,界面將向用戶呈現(xiàn)這些候選項(xiàng)并等待用戶的進(jìn)一步輸入。當(dāng)用戶已經(jīng)輸入了一個(gè)完整的服務(wù)名時(shí),自動(dòng)完成就基于服務(wù)的語義和TCC的組合邏輯。換句話說,在給定了輸入的在先服務(wù)時(shí),自動(dòng)完成服務(wù)是一項(xiàng)可以很安全地組合的服務(wù)。例如,用戶已經(jīng)在“View on Projector”中鍵入并且單擊TAB鍵來完成操作時(shí)的情形。隨后,系統(tǒng)僅僅將與“View on Projector”匹配的服務(wù)(即生成“File(文件)”或其子類對(duì)象的服務(wù))作為潛在的完成顯示。當(dāng)用戶單擊返回時(shí),它就執(zhí)行該組合(或者如果組合并未完成,它將顯示潛在的完成)。這就模擬了用戶通常比較熟悉的完成句子的過程,這樣它就向用戶提供了快捷并且簡(jiǎn)單的方法來組合并執(zhí)行服務(wù)。
并非總是要按照消費(fèi)者到生產(chǎn)者的次序。用戶可以將光標(biāo)移動(dòng)到一些服務(wù)前面并單擊,例如,使用SHIFT-TAB來完成向左側(cè)的移動(dòng)??梢詾閷?shí)現(xiàn)效率而使光標(biāo)僅僅跳到服務(wù)邊界。
任務(wù)計(jì)算客戶機(jī)的詳細(xì)描述(TCC)接下來更加詳細(xì)地描述兩個(gè)任務(wù)計(jì)算客戶機(jī)。我們將它們分別稱為TCC I和TCC II。
這兩個(gè)任務(wù)計(jì)算客戶機(jī)對(duì)TCE做了關(guān)于語義描述服務(wù)(SDS)所使用技術(shù)的非必要的假設(shè)。其它技術(shù)可以可交換地使用。這些假設(shè)為用于服務(wù)調(diào)用界面的SOAP/WSDL和UPnP用于語義服務(wù)描述的DAML-S或OWL-S用于與TCC在相同的子網(wǎng)中服務(wù)的發(fā)現(xiàn)的UPnP。監(jiān)聽預(yù)先指定的套接字以發(fā)現(xiàn)與TCC在相同設(shè)備上運(yùn)行的服務(wù)。
該TCE中可用的服務(wù)使用并生成圖42中所示本體中進(jìn)行了語義描述的數(shù)據(jù)。
圖42顯示了語義實(shí)例類型之間的關(guān)系4200。一般而言,本體是某個(gè)領(lǐng)域內(nèi)知識(shí)的機(jī)器可讀表現(xiàn)形式;本體認(rèn)為含義歸于它所描述的領(lǐng)域內(nèi)的實(shí)體,它位于其它東西附近或其中,描述實(shí)體的屬性和該領(lǐng)域內(nèi)實(shí)體之間的關(guān)系。類是具有相同屬性和與其它實(shí)體的相同關(guān)系的實(shí)體的集合,實(shí)例是特定數(shù)目的語義類。此種本體的表示語言為OWL-S。
在圖42中,“事物”是RDF名稱空間中定義的類,其是所有語義實(shí)例類的根源?!奥?lián)系人”、“時(shí)間表”、“地址”和“文件”是從“事物”直接繼承而來的四個(gè)類?!癋LA位置” “地址”的子類,表明了FLA辦公室中的地址?!懊襟w文件”有三個(gè)子類“音頻文件”、“視頻文件”和“圖像文件”,它是“文件”的子類?!熬W(wǎng)頁(yè)”也是“文件”的另一個(gè)子類。最后,“地址”是“聯(lián)系人”的屬性。
任務(wù)計(jì)算客戶機(jī)I圖43顯示了TCE實(shí)施例的體系架構(gòu)4300。即,圖43顯示了我們所描述的TCE(在所述假設(shè)下)中的TCC I 4400。在圖43中,“用戶”4302是使用TCE的客戶機(jī);“本地服務(wù)”4304是在與“TCC I”4400相同的設(shè)備上運(yùn)行的服務(wù);“本地服務(wù)管理器”4306控制本地服務(wù)4304的管理模塊;“遍布服務(wù)”4308是在與“TCC I”4400相同的網(wǎng)絡(luò)內(nèi)運(yùn)行的服務(wù);“UPnP設(shè)備+Web服務(wù)器”4310是發(fā)布遍布服務(wù)的模塊;“E-服務(wù)”4312是另一種服務(wù),并且也使用“UPnP設(shè)備+Web服務(wù)器”來發(fā)布其自身。
當(dāng)在TCE框架中添加或刪除本地服務(wù)4304時(shí),向本地服務(wù)管理器4306發(fā)送一個(gè)登記或注銷消息。本地服務(wù)管理器4306將其傳遞給“TCC I”4400。對(duì)于登記消息,本地服務(wù)管理器4306也告訴“TCC I”4400到哪里去尋找SSD 1604。對(duì)于遍布服務(wù)4308和E一服務(wù)4312,UPnP設(shè)備模塊4310負(fù)責(zé)向網(wǎng)絡(luò)環(huán)境發(fā)送添加或刪除消息,該消息被“TCC I”4400發(fā)現(xiàn)。對(duì)于添加消息,提供UPnP調(diào)用。當(dāng)“TCCI”4400發(fā)現(xiàn)該消息時(shí),其將使用調(diào)用來尋找該服務(wù)的SSD 1604。通常,SSD 1604是Web服務(wù)器模塊。下一個(gè)“TCCI”4400連接到Web服務(wù)器并檢索SSD 1604。
“TCC I”4400從SSD 1604中找出調(diào)用服務(wù)所用的必需信息。為調(diào)用它們,TCC I 1604直接向本地服務(wù)提交內(nèi)部web服務(wù)調(diào)用,向遍布服務(wù)提交UPnP或WSDL/SOAP服務(wù)調(diào)用,并向e-服務(wù)提交WSDL/SOAP服務(wù)調(diào)用。
TCC I 4400組件TCC I 4400主要包括五個(gè)部分具有用戶界面的主邏輯、發(fā)現(xiàn)和過濾引擎、組成引擎、執(zhí)行監(jiān)視器和執(zhí)行引擎。
圖44顯示了TCCI4400的內(nèi)部機(jī)制。下面將描述每個(gè)TCC I組件如何向用戶提供任務(wù)計(jì)算環(huán)境而工作。
具有用戶界面的主邏輯4402“主邏輯”4402是TCC I 4400的核心部分,原因有二。
首先,其提供在任務(wù)計(jì)算環(huán)境中管理與用戶的交互的(圖形)用戶界面((G)UI)模塊,并支持任務(wù)計(jì)算的工作流。前述任何一個(gè)用戶界面都可以用作TCC與用戶交互的媒介。
其次,主邏輯為其它模塊傳遞消息,并將其整合到完整的系統(tǒng)中。其接收發(fā)現(xiàn)的結(jié)果并向登記和注銷服務(wù)使用組成引擎的界面;其查詢組成引擎,獲取必要的服務(wù)相關(guān)信息并將其顯示給用戶;其幫助用戶設(shè)計(jì)任務(wù);其把任務(wù)傳遞給執(zhí)行監(jiān)視器以執(zhí)行該任務(wù);而且其顯示監(jiān)視信息并給用戶一個(gè)清楚的執(zhí)行觀察。
發(fā)現(xiàn)和過濾引擎4404“發(fā)現(xiàn)和過濾引擎(DE)”發(fā)現(xiàn)服務(wù)并檢索服務(wù)的SSD。該DE包含UPnP控制點(diǎn)和本地端口監(jiān)聽器,前者監(jiān)視網(wǎng)絡(luò)并接收遍布服務(wù)所發(fā)布的添加/刪除消息,后者監(jiān)視預(yù)定義的套接字并接收來自本地服務(wù)的添加/刪除消息。當(dāng)發(fā)現(xiàn)新的服務(wù)時(shí),該DE也檢索SSD。對(duì)于遍布服務(wù),該DE向SSD的URI發(fā)出“getDescriptionURL”調(diào)用;對(duì)于本地服務(wù),SSD的URI包含在消息中,因此不需要更多動(dòng)作。因而若需要?jiǎng)t該DE把變化和SSD一起告訴主邏輯。
經(jīng)常使用的遠(yuǎn)程本體描述文件在TCC I安裝期間被安裝在本體緩存中。在組成引擎中,當(dāng)需要遠(yuǎn)程本體文件時(shí),將首先嘗試取回遠(yuǎn)程版本的連接。若不能成功建立連接,則改為使用已緩存的文件;若檢索到遠(yuǎn)程文件,則也檢查相應(yīng)緩存版本,以確保其與最新版本一致。若否,則用最新版本替換緩存的版本。
推論引擎(組成引擎)4406“推論引擎(IE)”4406解析服務(wù)的SSD并響應(yīng)其它模塊的服務(wù)相關(guān)查詢。其為其它模塊向登記和注銷服務(wù)提供標(biāo)準(zhǔn)界面。當(dāng)?shù)怯浟诵路?wù)時(shí),解析該服務(wù)的SSD并將服務(wù)信息添加到內(nèi)部知識(shí)庫(kù)中;當(dāng)注銷一個(gè)服務(wù)時(shí),從知識(shí)庫(kù)中刪除與該服務(wù)相關(guān)的信息。該知識(shí)基礎(chǔ)用于回答各種查詢,諸如“列出所有可用服務(wù)”或“列出所有服務(wù)內(nèi)容”或提供所有成對(duì)的匹配服務(wù)等。
可用Prolog或某些其它語言來表現(xiàn)確定為了組成(任務(wù)說明)的目的而如何彼此匹配服務(wù)的組成邏輯。推論引擎也執(zhí)行優(yōu)先權(quán)的區(qū)分。根據(jù)諸如新穎、匹配精確性和用戶偏好等準(zhǔn)則而區(qū)分匹配的優(yōu)先權(quán)。
執(zhí)行引擎4408
“執(zhí)行引擎(EE)”4408解析執(zhí)行計(jì)劃并設(shè)計(jì)執(zhí)行它們的策略。該策略包括服務(wù)調(diào)用順序、從一個(gè)服務(wù)向另一個(gè)服務(wù)的參數(shù)傳遞、參數(shù)轉(zhuǎn)換等。
然后基于該策略,其執(zhí)行適當(dāng)?shù)恼{(diào)用,以根據(jù)服務(wù)所使用的調(diào)用界面而調(diào)用諸如UPnP、WSDL/SOAP或其它遠(yuǎn)程過程調(diào)用界面等服務(wù)。這需要非常動(dòng)態(tài)的調(diào)用途徑。即,這需要?jiǎng)討B(tài)調(diào)用函數(shù)的名稱和參數(shù)列表,而不調(diào)用預(yù)編譯的API。
這也需要支持異步調(diào)用。為支持這種調(diào)用,可包括用于異步服務(wù)的類似JavaSpace的組件,其能夠處理UPnP事件回叫、普通輪詢、SMTP SOAP和其它機(jī)制。
執(zhí)行監(jiān)視器4410“執(zhí)行監(jiān)視器”4410是處于EE 4408和主邏輯4402之間的模塊。其為每個(gè)執(zhí)行計(jì)劃啟動(dòng)一個(gè)監(jiān)視器。若沒有監(jiān)視器,用戶可能只注意到是否已經(jīng)成功地執(zhí)行了任務(wù),而不會(huì)有更多東西。若有監(jiān)視器,用戶能夠檢查任務(wù)的狀態(tài)哪個(gè)任務(wù)調(diào)用已經(jīng)完成以及哪個(gè)還沒有完成。若任務(wù)失敗,則監(jiān)視器告訴用戶在哪個(gè)點(diǎn)上發(fā)生了錯(cuò)誤。
TCC I流主邏輯4402圖45給出了TCC I主邏輯4402的流程圖。當(dāng)主邏輯4402開始時(shí),其首先通過解析在預(yù)先定義了的目錄中的OWL-S文件而發(fā)現(xiàn)現(xiàn)存的本地服務(wù)4402-1。然后其開動(dòng)本地服務(wù)套接字監(jiān)聽器4402-2。該監(jiān)聽器監(jiān)視預(yù)定義的套接字并將被告知何時(shí)在系統(tǒng)中添加或刪除本地服務(wù)。由于遍布服務(wù)使用UPnP來擴(kuò)展其存在性,主邏輯然后開動(dòng)UPnP控制點(diǎn)以發(fā)現(xiàn)遍布服務(wù)。當(dāng)本地服務(wù)套接字監(jiān)聽器或UPnP控制點(diǎn)接收到添加/刪除消息4402-4時(shí),主邏輯向IE 4402-5登記/注銷服務(wù)。接下來,主邏輯尋找所有服務(wù)部分4402-6,并隨后啟動(dòng)TCC I GUI并等待用戶的請(qǐng)求4402-7。
每個(gè)用戶的請(qǐng)求4402-8都在主邏輯4402中處理。若用戶想觀看服務(wù)4402-10的細(xì)節(jié),則從組成引擎中檢索該信息并顯示在GUI 4402-16中。若用戶想設(shè)計(jì)新的任務(wù),則評(píng)估當(dāng)前的結(jié)構(gòu)狀態(tài)4402-11,從組成引擎4402-12中尋找所有可能的組件。該組件顯示在GUI 4402-16中,其幫助用戶做出決定。若用戶想執(zhí)行已創(chuàng)立的任務(wù)或給定的組件,則產(chǎn)生新的執(zhí)行監(jiān)視器4402-3,并把該執(zhí)行計(jì)劃發(fā)送給監(jiān)視器。執(zhí)行監(jiān)視器把計(jì)劃提交給了EE 4402-14。主邏輯的剩余工作是顯示監(jiān)視信息4402-15并等待新的用戶請(qǐng)求。
發(fā)現(xiàn)圖46顯示了TCC I 4400中的服務(wù)發(fā)現(xiàn)和登記過程的流程圖,其由發(fā)現(xiàn)引擎4404和組成引擎4406執(zhí)行。當(dāng)聽到添加的消息時(shí),TCC I 4400從消息4600-1中提取發(fā)現(xiàn)信息。若該消息與本地服務(wù)有關(guān),則該消息包含SSD的URI;若該消息關(guān)于遍布服務(wù),則TCC I 4400調(diào)用UPnPgetDescriptionURL方法并檢索SSD的URI。接下來,在組成引擎4406中檢索并解析該服務(wù)的SSD。解析結(jié)果位于RDF模型4600-2中。此后,該RDF模型被轉(zhuǎn)換為知識(shí)基礎(chǔ)格式4600-3。該知識(shí)基礎(chǔ)斷言被組成引擎4406插入到知識(shí)基礎(chǔ)4600-4中。
TCC I 4400把UPnP作為用于與TCC相同的子網(wǎng)絡(luò)中的服務(wù)的服務(wù)發(fā)現(xiàn)的主要方法。
發(fā)現(xiàn)模塊實(shí)現(xiàn)UPnP控制點(diǎn),以向網(wǎng)絡(luò)發(fā)送查詢,并搜索遍布服務(wù)。有時(shí)候服務(wù)在報(bào)告其存在方面(若需要)速度慢,或者在某些情況下,由于各種原因而忽視或漏掉了查詢。因此,在提示方式下不可能找到服務(wù)。我們?cè)诜?wù)發(fā)現(xiàn)模塊中引入多UPnP(或其它服務(wù)發(fā)現(xiàn))控制點(diǎn)的觀念。我們不啟動(dòng)一個(gè),而是多個(gè)(為TCC I啟動(dòng)通常5到10個(gè))控制點(diǎn)。每個(gè)控制點(diǎn)單獨(dú)發(fā)送查詢??刂泣c(diǎn)的發(fā)現(xiàn)結(jié)果在發(fā)現(xiàn)模塊中匯總并過濾重復(fù)的消息。試驗(yàn)表明,通過這種方式,以稍高的資源消耗就可以顯著改善遍布服務(wù)發(fā)現(xiàn)的性能。
當(dāng)某些服務(wù)在提供正確的語義描述上有問題時(shí),發(fā)現(xiàn)模塊將忽略這些問題。然而,由于UPnP的屬性,這些設(shè)備將重復(fù)宣告它們的存在,并且TCC I中每次宣告之后檢查過程將耗費(fèi)許多資源。為處理這個(gè)問題,TCCI產(chǎn)生黑名單,以記住“壞”服務(wù)及其時(shí)間標(biāo)記,該時(shí)間標(biāo)記表明了發(fā)現(xiàn)該服務(wù)的最后時(shí)間。隨后,若再次發(fā)現(xiàn)黑名單中的服務(wù),則TCC I把所存儲(chǔ)的時(shí)間標(biāo)記與當(dāng)前時(shí)間相比較。若時(shí)間跨度在預(yù)定范圍內(nèi),則TCC I完全忽略該發(fā)現(xiàn)消息;否則,TCC I將再次檢查描述。若再次檢查時(shí)描述變正確了,則TCC I將從黑名單中刪除該服務(wù);或者,TCC I將為該服務(wù)把時(shí)間標(biāo)記更新為當(dāng)前時(shí)間標(biāo)記并更長(zhǎng)時(shí)間地阻擋該服務(wù)。
本地服務(wù)的發(fā)現(xiàn)工作如下。
為了這個(gè)目的而定義預(yù)定套接字。TCC I總是監(jiān)聽套接字。當(dāng)添加(刪除)了服務(wù)時(shí),把該服務(wù)的SSD拷貝到(從)預(yù)定義的目錄(如C\ProgramFiles\tce\psmgr)(刪除)。然后向套接字發(fā)送一個(gè)消息。消息的格式為“a<SSD filename>”(“r<SSD filename>”)。當(dāng)TCC I找到該消息時(shí),其首先知道SSD位于預(yù)定目錄+<SSD filename>中。TCC I為添加消息登記SSD并為刪除消息登記SSD。
顯示已發(fā)現(xiàn)的服務(wù)為了使用戶更容易地理解和更好地決定,可以分類和/或解釋已發(fā)現(xiàn)的服務(wù)。可以以多種準(zhǔn)則進(jìn)行分類,其包括但不局限于輸入和/或輸出信號(hào)服務(wù)種類內(nèi)部、本地、遍布、遠(yuǎn)程離用戶的距離收費(fèi)或免費(fèi)用戶可以預(yù)先設(shè)置這些分類準(zhǔn)則??梢酝ㄟ^下述方式但不限于該方式向用戶呈現(xiàn)分類的結(jié)果字體(字樣、大小、顏色等)、背景(顏色、圖案)、結(jié)構(gòu)(筆畫的力量等)、聲音(男/女、聲調(diào)、語速)、分類清單基于分類的分組可以映射到諸如下拉式菜單等(G)UI元素中。
可以利用許多方式解釋服務(wù),所述方式包括但并不局限于在光標(biāo)在其上時(shí),或者在對(duì)該服務(wù)發(fā)出任何動(dòng)作時(shí),彈出菜單在諸如狀態(tài)欄的特定固定區(qū)域內(nèi)顯示它分割頁(yè)面以顯示服務(wù)細(xì)節(jié)服務(wù)解釋可以包括但并不局限于
服務(wù)的詳細(xì)文本描述服務(wù)類別對(duì)服務(wù)的輸入及其本體(到其的鏈接)對(duì)服務(wù)的輸出及其本體(到其的鏈接)文本或圖形表示的服務(wù)模型服務(wù)的其他屬性/參數(shù)/度量多媒體(圖標(biāo)、語音、圖像、視頻等)描述其OWL-S文件(到其的鏈接)除了文本描述之外,我們還可以使服務(wù)在其SSD內(nèi)具有服務(wù)的圖標(biāo)描述、圖像描述、視頻描述以及語音描述。在其SSD內(nèi),該服務(wù)可以具有到這些描述的鏈接或描述本身(可以以文本方式進(jìn)行編碼)。這些描述支持多峰接口(multimodal interface),而且可以更好地對(duì)用戶進(jìn)行導(dǎo)航。例如,對(duì)于盲人,或者在用戶駕駛轎車時(shí),可以建立語音接口。在其他情況下,我們可以將其視頻描述用作關(guān)于如何使用該服務(wù)的教學(xué)式可視使用說明書。
圖47示出具有用于發(fā)現(xiàn)窗格的基于web的用戶界面的TCC I的示例4700。
圖48示出具有用于服務(wù)的圖標(biāo)的發(fā)現(xiàn)窗格4800,包括利用SDS內(nèi)(OWL-S)的圖標(biāo)用于發(fā)現(xiàn)的完全版本用戶界面。
圖49示出詳細(xì)窗格4900,它示出服務(wù)的盡可能多的信息。
過濾根據(jù)服務(wù)的參數(shù)來過濾服務(wù)。語義服務(wù)描述中的參數(shù),例如OWL-S文件中的服務(wù)參數(shù),用于過濾。示例過濾包括位置,特別是相對(duì)于當(dāng)前用戶位置的位置,例如“在同一個(gè)房間內(nèi)”、“在同一樓層”或“在同一個(gè)建筑內(nèi)”。
距離用戶的距離。
對(duì)于打印服務(wù)打印機(jī)的速度、黑白或彩色、免費(fèi)或付費(fèi)、估計(jì)的執(zhí)行時(shí)間任務(wù)計(jì)算環(huán)境為用戶提供根據(jù)語義服務(wù)描述過濾服務(wù)的動(dòng)態(tài)方式和用戶界面。用于服務(wù)參數(shù)的語義已知,所以通過根據(jù)本體約束用戶界面,用戶界面可以支持用戶輸入。
圖50示出服務(wù)過濾的示例5000。
搜索E服務(wù)對(duì)于e服務(wù),搜索這些服務(wù)是通過其開始使用特定服務(wù)的主要管道(conduit)。在其初始命中或使用后,可以將其語義服務(wù)描述(SSD)保持到SSD高速緩存內(nèi)。對(duì)我們來說,我們假定在因特網(wǎng)上存在一些讓人們查詢服務(wù)的、公知的SSD庫(kù)。但是可以將UDDI,DISCO以及其他服務(wù)搜索機(jī)制引入任務(wù)計(jì)算環(huán)境。這并不局限于web服務(wù),而且還包括其他服務(wù)調(diào)用機(jī)制。
主要從組成與構(gòu)建窗格調(diào)用該“搜索”。該服務(wù)的下拉菜單中的一個(gè)項(xiàng)目是“搜索web服務(wù)”。在選擇它時(shí),它彈出一個(gè)頁(yè)面,讓用戶搜索具有固定輸入和輸出的e服務(wù)。在該頁(yè)面上,如果用戶希望,則用戶可以改變、添加、刪除或修改搜索條件。
圖51示出具有“搜索web服務(wù)”的發(fā)現(xiàn)窗格的示例。
組成組成引擎(IE)4406支持任務(wù)規(guī)定過程。組成引擎4406采用被發(fā)現(xiàn)、被過濾服務(wù)的SSD及其組成邏輯,以確定如何組成服務(wù)。還根據(jù)諸如新奇、匹配的準(zhǔn)確性以及用戶偏好的標(biāo)準(zhǔn),按優(yōu)先序排列匹配。其他模塊可以查詢關(guān)于服務(wù)匹配的組成引擎。
圖52示出關(guān)于組成引擎4406如何應(yīng)答各種查詢5200-1的過程5200。第一步是將查詢變換為知識(shí)庫(kù)查詢5200-2。IE 4406利用本體推理器5200-4與服務(wù)5200-3匹配。查詢的應(yīng)答是匹配服務(wù)對(duì)表。接著,將列表發(fā)送到“基于用戶環(huán)境的排序結(jié)果”5200-5。該過程檢驗(yàn)“用戶環(huán)境/偏好”5200-6,并選擇排序順序。在對(duì)該列表進(jìn)行排序后,返回“排序組成結(jié)果”5200-7。
根據(jù)以下內(nèi)容但并不局限于以下內(nèi)容,按優(yōu)先序排列組成。
發(fā)現(xiàn)服務(wù)的新奇性匹配的準(zhǔn)確性本體翻譯的質(zhì)量使用頻率用戶偏好根據(jù)從主邏輯模塊反饋的用戶確定,可以引入關(guān)于組成中用戶偏好的學(xué)習(xí)機(jī)制。可以采用日語IME(輸入方法編輯器)中使用的類似學(xué)習(xí)方法。
可以根據(jù)作為組成集自身的特征,再過濾組成,例如總成本要執(zhí)行的總時(shí)間組成集中所有服務(wù)的近似在光標(biāo)懸停在“執(zhí)行”按鈕上時(shí),例如,通過彈出窗口,可以為用戶提供這些特征的信息。
圖53示出組成窗格的示例5300。
在TCC I內(nèi),根據(jù)輸入/輸出簽名,可以將組成分組。我們還可以根據(jù)SSD內(nèi)的服務(wù)類別,例如“瀏覽器”和“打印”服務(wù)類別(它們基于同樣的輸入/輸出類型),對(duì)這些組成進(jìn)行分組。
可以對(duì)組成結(jié)果進(jìn)行分類,用于后面的表示。與對(duì)單個(gè)服務(wù)進(jìn)行分類相同,可以利用幾種標(biāo)準(zhǔn)進(jìn)行分類,這些標(biāo)準(zhǔn)包括,但并不局限于服務(wù)類別內(nèi)部、本地、遍布、遠(yuǎn)程距離用戶的距離免費(fèi)或收費(fèi)與對(duì)單個(gè)服務(wù)進(jìn)行分類的情況類似,用戶可以事先設(shè)置這些分類標(biāo)準(zhǔn)。
為了對(duì)用戶提供控制感覺,如何表示事務(wù)非常重要,我們非常關(guān)心表示和解釋。
為了更容易理解任務(wù),我們將組成窗格上的組成服務(wù)的順序顛倒。例如,執(zhí)行順序是首先“FLA,URL”,然后,“通過投影儀觀看”。但是在組成窗格上,表示組成的順序是首先“通過投影儀觀看”,然后“FLA,URL”,以與英語語句的順序匹配。
對(duì)于組成與構(gòu)建窗格,可以將基于分類的服務(wù)分組映射到諸如下拉式菜單的(G)UI單元。
如何以交互方式向用戶呈現(xiàn)、他/她如何能夠與服務(wù)交互是任務(wù)計(jì)算的一個(gè)重要部分。其他示例包括在(G)UI內(nèi)反映根據(jù)用戶動(dòng)作改變優(yōu)先次序。例如,如果用戶在組成與構(gòu)建窗格中的下拉式菜單中選擇服務(wù),則先前的或之后的下拉式菜單根據(jù)優(yōu)先次序改變其菜單項(xiàng)目的排序。
我們有用于表示用戶為了確定執(zhí)行哪個(gè)服務(wù)或組成的所需信息的其他無障礙方式。在從組成窗格上的下拉式菜單中選擇服務(wù)時(shí),該信息框彈出顯示服務(wù)描述。
從其SSD中取出該服務(wù)的人類可讀描述。
我們還可以對(duì)用戶提供關(guān)于服務(wù)組成的線索。在鼠標(biāo)光標(biāo)懸停在“執(zhí)行”按鈕上時(shí),出現(xiàn)彈出框以示出總成本、估計(jì)時(shí)間以及用于執(zhí)行特定組成的其他標(biāo)準(zhǔn)。
本體翻譯通過填充不同本體中各有關(guān)示例之間的間隙,該系統(tǒng)可以顯著增強(qiáng)系統(tǒng)的利用率。不同本體中的不同概念化過程可以對(duì)表示同一個(gè)信息提供許多方式。例如,地址的不同概念化過程可以導(dǎo)致以下結(jié)果(但并不局限于此)(地址)示例實(shí)例是(“8400 Baltimore Avenue,College Park,Maryland,20740-2396,USA”)(街道地址、城市、州、郵政編碼、國(guó)家),該概念化過程的示例實(shí)例是(“8400 Baltimore Avenue”,“College Park”,“Maryland”,“20740-2396”,“USA”)。
(街道地址、城市、州),該概念化過程的示例實(shí)例是(“8400Baltimore Avenue”,“College Park”,“Maryland”)。
(街道地址、城市),該概念化過程假定它所處理的每個(gè)地址均在Maryland。示例實(shí)例是(“8400 Baltimore Avenue”,“College Park”)。
(街道名稱、街道編號(hào)、城市、州),該概念化過程的示例實(shí)例是(“Baltimore Avenue”,“8400”,“College Park”,“Maryland”)。
為了填充該間隙,我們需要(但并不局限于此)省略某些信息部分增補(bǔ)附加信息解析文本部分重組可以利用SSD在內(nèi)部,或者在外部(不包括搜索用于本體翻譯的web服務(wù))提供關(guān)于如何可以進(jìn)行這些本體翻譯的信息??梢岳靡韵聝?nèi)容(但并不局限于此)提供功能性。
XSLT腳本語言中的代碼對(duì)本地可執(zhí)行件的引用關(guān)于是否可以在兩個(gè)對(duì)象之間進(jìn)行本體翻譯的知識(shí)也對(duì)服務(wù)組成產(chǎn)生影響。此外,關(guān)于本體翻譯的某些其他標(biāo)準(zhǔn)也可能影響優(yōu)先次序。例如,包括較準(zhǔn)確本體翻譯的組成可以比包括較不準(zhǔn)確本體翻譯的組成優(yōu)先。
構(gòu)建如果用戶選擇構(gòu)建,則通過附加、刪除、改變服務(wù)等,用戶可以修改服務(wù)組成。根據(jù)其SSD,對(duì)可以附加的服務(wù)進(jìn)行過濾和按優(yōu)先序排列。如果執(zhí)行“點(diǎn)擊和選擇”操作,則用戶可以容易地修改該構(gòu)建。
服務(wù)不僅可以附加到組成的開頭和尾部,而且可以附加到各服務(wù)之間。一個(gè)示例是,始終具有同樣輸入和輸出的“實(shí)例觀看器服務(wù)”(請(qǐng)參考“SDS實(shí)施例”)。
圖54輸出構(gòu)建窗格的示例5400。
執(zhí)行任務(wù)執(zhí)行過程包括語義層和句法層。在語義層定義任務(wù),而通過句法層執(zhí)行任務(wù)。
圖55示出語義層和句法層中的任務(wù)執(zhí)行過程5500。圖55利用示例示范如何執(zhí)行任務(wù)。在該圖中,在語義層定義任務(wù),它是3個(gè)服務(wù)的序列。“Contact from Outlook(來自O(shè)utlook的聯(lián)系人)”5502是從用戶的個(gè)人outlook文件夾中檢索一個(gè)聯(lián)系人項(xiàng)目的服務(wù);“Businessaddress of(商務(wù)地址)”5504是從聯(lián)系人項(xiàng)目中提取商務(wù)地址的服務(wù);以及“Route from FLACP(從FLACP開始的路線)”5506是顯示從FujitsuLaboratories of America,College Park到給定地址的路線的服務(wù)。采用OWL-S來編寫3個(gè)服務(wù)的語義描述。每個(gè)語義描述分別包括被稱為“基礎(chǔ)連接”的部分,它描述關(guān)于如何將語義類型映射到句法類型/從句法類型映射到語義類型的細(xì)節(jié)。在該圖中,“Contact(聯(lián)系人)”和“Address(地址)”是兩個(gè)語義類型,而“串”是句法類型?!癈ontact from Outlook”是實(shí)現(xiàn)“Contact from Outlook”的web服務(wù),而“Route from FLACP”是實(shí)現(xiàn)“Route from FLACP”的UPnP服務(wù)。
以下說明執(zhí)行過程。首先,TCC I 4400分析“Contact from Outlook”5502的SSD 1604,而且知道該服務(wù)未進(jìn)行輸入,并返回聯(lián)系人項(xiàng)目作為輸出。然后,TCC I 4400將web服務(wù)調(diào)用發(fā)送到?jīng)]有輸入的“Contact fromOutlook”5508。執(zhí)行web服務(wù)后,返回結(jié)果。請(qǐng)注意,結(jié)果是句法字符串。然后,“Contact from Outlook”5502的SSD的基礎(chǔ)連接部分告知TCCI4400如何將該字符串映射到語義“聯(lián)系人”對(duì)象。TCC I 4400根據(jù)該指令,產(chǎn)生“Contact”對(duì)象,并將它發(fā)送到第二服務(wù),即“商務(wù)地址”5504。“商務(wù)地址”5504服務(wù)指出如何從聯(lián)系人項(xiàng)目中提取商務(wù)地址。TCC I 4400完成操作并根據(jù)輸入產(chǎn)生“地址”對(duì)象。然后,將該“地址”對(duì)象發(fā)送到“Route from FLACP”5506。同樣,在建立基礎(chǔ)連接之后,“地址”對(duì)象映射到句法字符串。然后,TCC I調(diào)用UPnP調(diào)用,并將該字符串用作輸入。最后,“從FLACP UPnP開始的路線”5510完成該請(qǐng)求。
服務(wù)調(diào)用為了執(zhí)行任務(wù)中的服務(wù),利用其SSD 1604內(nèi)的基礎(chǔ)連接信息,主邏輯模塊4402確定調(diào)用哪個(gè)界面。(對(duì)于一個(gè)服務(wù)可以存在同樣類型和不同類型的多個(gè)界面。服務(wù)可以具有例如一個(gè)UPnP界面和兩個(gè)WSDL/SOAP界面)。調(diào)用哪個(gè)基礎(chǔ)連接取決于以下內(nèi)容,但是并不局限于此系統(tǒng)能力。例如,PDA可以僅具有UPnP服務(wù)調(diào)用模塊并選擇使用UPnP基礎(chǔ)連接。
系統(tǒng)或用戶偏好。
在執(zhí)行序列組成服務(wù)期間,可能發(fā)生許多事件。事件包括在執(zhí)行之前,UPnP服務(wù)不可用失敗的服務(wù)調(diào)用,因?yàn)閳?zhí)行過程中位置發(fā)生變化喪失網(wǎng)絡(luò)連通性用戶可以執(zhí)行服務(wù)組成而無需任何干預(yù),或者如果用戶希望,用戶可以監(jiān)視組成的執(zhí)行過程。通過利用監(jiān)視器窗格與用戶充分交互,我們可以使這些事件不被用戶討厭。這種交互包括如果任何一個(gè)要執(zhí)行的服務(wù)變成不可用,則通知用戶在需要時(shí),對(duì)用戶提供重構(gòu)該組成的簡(jiǎn)單方式在確定使用哪個(gè)基礎(chǔ)連接后,系統(tǒng)需要不將主邏輯模塊4402中使用的語義實(shí)例編組為用于服務(wù)調(diào)用的參數(shù),而將調(diào)用結(jié)果編組為語義實(shí)例。
這是編組/解組模塊利用從要調(diào)用服務(wù)的SSD中提取的基礎(chǔ)信息實(shí)現(xiàn)的。
編組和解組基礎(chǔ)連接信息可以位于(但并不局限于此)XSLT用腳本描述語言編寫的代碼對(duì)用于編組/解組的web服務(wù)的引用對(duì)本地可執(zhí)行件的引用例如,具有(“街道地址”,“8400 Baltimore Avenue”)、(“城市”,“College Park”)、(“州”,“Maryland”)、(“郵政編碼”,“20740-2396”)以及(“國(guó)家”,“USA”)屬性/數(shù)值對(duì)的“地址”語義實(shí)例必須解組為用于將服務(wù)映射到美國(guó)地址的、諸如(“8400 Baltimore Avenue”,“CollegePark”,“Maryland”)的參數(shù)集。或者,必須不將同一個(gè)“地址”語義實(shí)例編組為用于另一個(gè)映射服務(wù)的、諸如(“8400 Baltimore Avenue,College Park,Maryland,20740-2396,USA”)的另一個(gè)單參數(shù)集。
通常,困難是不將服務(wù)調(diào)用結(jié)果編組為語義對(duì)象。這些情況可以包括不將信息的文本表示編組為更結(jié)構(gòu)化的語義實(shí)例。例如,地址提供服務(wù)可以提供“8400 Baltimore Avenue,College Park,Maryland,20740-2396,USA”作為其調(diào)用結(jié)果,而且它需要不利用(“街道地址”,“8400 Baltimore Avenue”)、(“城市”,“College Park”)、(“州”,“Maryland”)、(“郵政編碼”,“20740-2396”)以及(“國(guó)家”,“USA”)屬性/數(shù)值對(duì),編組回“地址”語義實(shí)例。在這種情況下,我們需要某種功能或服務(wù)解析該文本表示??梢岳肧SD內(nèi)的采用腳本語言編寫的代碼,利用web服務(wù),或者利用本地可執(zhí)行件,提供這種功能或服務(wù)??梢岳梅?wù)調(diào)用結(jié)果(不包括地址的文本表示)進(jìn)行調(diào)用,以獲得語義實(shí)例(不包括具有屬性/數(shù)值對(duì)的“地址”語義實(shí)例)。
利用在上述步驟獲得的參數(shù),執(zhí)行模塊調(diào)用服務(wù)。將該結(jié)果送到編組/解組模塊以編組為要在主邏輯模塊消費(fèi)的語義實(shí)例。
異步服務(wù)調(diào)用通常,WSDL+SOAP web服務(wù)調(diào)用采用同步模型,即,在將調(diào)用請(qǐng)求發(fā)送到web服務(wù)時(shí),作為響應(yīng)消息發(fā)回服務(wù)結(jié)果。這種模型存在兩個(gè)缺點(diǎn)。第一,如果執(zhí)行該服務(wù)花費(fèi)非常長(zhǎng)的時(shí)間,則TCC可能遇到超時(shí)消息。否則,TCC必須等待響應(yīng),而且不能做任何其他事情。第二,在服務(wù)處理周期內(nèi),如果用戶需要更多的信息,則在當(dāng)前的模型中,非常難以使web服務(wù)獲得該信息。
在TCE實(shí)施例中,通過引入異步web調(diào)用,解決第一個(gè)問題。以下說明異步web服務(wù)調(diào)用的工作過程。在TCC首先提交web服務(wù)請(qǐng)求時(shí),web服務(wù)產(chǎn)生唯一id,并將它作為引用送回TCC。此后,TCC將新請(qǐng)求發(fā)送到具有id的web服務(wù),并檢驗(yàn)是否準(zhǔn)備好對(duì)先前請(qǐng)求進(jìn)行應(yīng)答。存在3個(gè)可能響應(yīng)。如果處理過程還未完成,則什么也不返回。否則,如果處理過程已經(jīng)完成,則返回應(yīng)答?;蛘撸绻幚磉^程出現(xiàn)錯(cuò)誤,將返回出錯(cuò)消息。TCC可以以給定間隔輪詢web服務(wù),并對(duì)兩個(gè)連續(xù)輪詢操作期間的事務(wù)進(jìn)行處理。
以下說明第二個(gè)缺點(diǎn)的解決方案。在服務(wù)的SSD中,我們定義一個(gè)被稱為服務(wù)控制UI的特殊字段。同時(shí),除了web服務(wù)外,設(shè)計(jì)另一個(gè)web服務(wù)器,該web服務(wù)器允許用戶輸入特殊信息,然后,該web服務(wù)器將它發(fā)回web服務(wù)。
圖56示出關(guān)于它如何工作的示例。在該圖中,“web服務(wù)”5602是提供服務(wù)312的模塊?!胺?wù)控制web頁(yè)面”5604是幫助用戶輸入特殊信息的web服務(wù)器。該過程包括幾個(gè)操作。首先,TCC 1602將請(qǐng)求發(fā)送到“web服務(wù)”5602。除了正常參數(shù),TCC 1602還產(chǎn)生特殊TCEExecID,在該例中為1234-1,并將它與請(qǐng)求附加在一起。與異步模型相同,“web服務(wù)”5602產(chǎn)生唯一id,而且為了輪詢引用,將該id返回TCC 1602。在該例中,該id是1。接著,“web服務(wù)”5602做一些特殊事情。在“web服務(wù)”5602內(nèi),存在用于存儲(chǔ)TCEExecID與id之間的映射關(guān)系的“內(nèi)部狀態(tài)表”5606。該表5606有3列TCEExecID、id以及特殊信息。對(duì)于這種請(qǐng)求,在“內(nèi)部狀態(tài)表”5606中插入新行。在上述示例中,這兩個(gè)字段具有數(shù)值1234-1和1。在TCC 1602端,在從“web服務(wù)”5602返回id時(shí),它啟動(dòng)關(guān)于“服務(wù)控制web頁(yè)面”5604、具有附加TCEExecID的web頁(yè)面。利用“服務(wù)控制web頁(yè)面”5604,用戶成功提交特殊信息。接著,“服務(wù)控制web頁(yè)面”5604將該特殊信息發(fā)送到“web服務(wù)”5602,并將TCEExecID用作引用。通過檢驗(yàn)“內(nèi)部狀態(tài)表”5606,“web服務(wù)”5602容易發(fā)現(xiàn)特殊信息屬于哪個(gè)請(qǐng)求,并完成該請(qǐng)求。對(duì)于TCC 1602,在提交該信息后,TCC 1602對(duì)“web服務(wù)”5602開始進(jìn)行異步輪詢過程并等待應(yīng)答。
我們具有同步和異步web服務(wù)調(diào)用,而且我們使任選的特殊web服務(wù)器支持某些web服務(wù)。TCC 1602如何知道對(duì)于給定服務(wù)應(yīng)該使用哪種調(diào)用方法。
一種解決方案是,對(duì)該服務(wù)的SSD內(nèi)的一切進(jìn)行定義。在該實(shí)施例中,我們采用另一種方法。
圖57示出TCC I 4400的服務(wù)調(diào)用流程圖5700。圖57示出TCC實(shí)施例的完整流程圖。假定SSD指出利用web服務(wù)實(shí)現(xiàn)語義服務(wù),并將該方法稱為“GetURL”。首先,TCC檢驗(yàn)是否存在被稱為“start_GetURL_with_ID”的方法。如果存在,則意味著,web服務(wù)是具有ServiceControlUI的異步服務(wù)5702。TCC調(diào)用所述調(diào)用和唯一id,在該例中為1234-1,并進(jìn)入輪詢過程。如果不存在“start_GetURL_with_ID”,則TCC檢驗(yàn)是否存在“start_GetURL”。如果存在,則web服務(wù)是異步服務(wù)。TCC調(diào)用所述調(diào)用并進(jìn)入輪詢過程。如果“start_GetURL_with_ID”和“start_GetURL”均不存在,則TCC知道該web服務(wù)一定是同步服務(wù)5704。接著,TCC檢驗(yàn)是否存在“GetURL_with_ID”。如果存在,則該方法是具有服務(wù)控制UI的同步服務(wù)。對(duì)于這種服務(wù)類型,TCC利用唯一id調(diào)用所述調(diào)用,并利用該調(diào)用實(shí)現(xiàn)TCC。請(qǐng)注意,對(duì)于同步調(diào)用,不要求進(jìn)行輪詢過程。最后,如果3個(gè)調(diào)用均不存在,則TCC認(rèn)為這僅是一個(gè)正常同步web服務(wù),并象往常一樣進(jìn)行處理。在上述示例中,可以利用具有參數(shù)或不具有參數(shù)的任何函數(shù)代替“GetURL”。
確定服務(wù)是異步5702還是同步5704,以及確定服務(wù)是具有用戶界面還是不具有用戶界面的方式有兩種。以上描述了第一種情況,在這種情況下,TCC檢查描述文件(不必是語義文件。例如,其WSDL文件),而且,不是利用將要調(diào)用的原始界面的名稱,而是利用可用界面的附加名稱,確定它。
確定它的另一種方式是使用服務(wù)的SSD。SSD可以具有關(guān)于應(yīng)該如何調(diào)用服務(wù)以及應(yīng)該如何訪問服務(wù)控制頁(yè)面面的描述。
在只有單頁(yè)界面可用時(shí),執(zhí)行監(jiān)視器頁(yè)面和服務(wù)控制UI之間的以下集成非常有用。例如,在使用基于web的UI時(shí),客戶機(jī)設(shè)備是容許非常有限的顯示空間的、諸如PDA或移動(dòng)電話的小型設(shè)備。如上所述,為了調(diào)用具有服務(wù)控制UI的服務(wù),用戶必須訪問web服務(wù)器以輸入特殊信息,或者控制該服務(wù)。這意味著,在基于web的UI中,必須啟動(dòng)新瀏覽器。然而,在PDA或移動(dòng)電話中,不支持多個(gè)瀏覽器。
為了解決該問題,我們修改基于web的UI內(nèi)的執(zhí)行監(jiān)視器。圖58-60示出一示例。此時(shí),我們執(zhí)行具有兩個(gè)服務(wù)“Jeff’s File(Jeff的文件)”和“View on browser(通過瀏覽器觀看)”的任務(wù)?!癑eff的文件”是允許用戶從表上選擇文件的服務(wù)器,并返回該文件?!巴ㄟ^瀏覽器觀看”是在瀏覽器上顯示文件的服務(wù)器。請(qǐng)注意用戶的選擇是第一服務(wù)的特殊輸入。
圖58示出具有服務(wù)控制UI(I)的基于web的用戶界面(UI)5800。圖58顯示初始執(zhí)行頁(yè)面。如上所述,箭頭指出當(dāng)前正在運(yùn)行第一服務(wù)。請(qǐng)注意,鏈接在指向web服務(wù)器的服務(wù)名稱之下。
圖59示出具有服務(wù)控制(UI)(II)的基于web的用戶界面(UI)5900。圖59顯示用戶跟蹤該鏈接時(shí)的屏幕畫面。然后,要求她從表中選擇文件。
圖60示出具有服務(wù)控制(III)的基于web的用戶界面(UI)6000。圖60顯示在用戶進(jìn)行選擇并回到執(zhí)行頁(yè)面時(shí)的屏幕畫面。請(qǐng)注意,兩個(gè)服務(wù)現(xiàn)在均完成,而且第二服務(wù)的服務(wù)控制UI的鏈接變得可用。用戶可以跟蹤第二頁(yè)面的鏈接以觀看瀏覽器上的文件。
監(jiān)視執(zhí)行監(jiān)視器4410是用于顯示關(guān)于調(diào)用執(zhí)行計(jì)劃的信息的模塊。在通過組成和構(gòu)建確定執(zhí)行計(jì)劃后,建立新監(jiān)視器實(shí)例。在服務(wù)與監(jiān)視器之間確定標(biāo)準(zhǔn)接口,以使TCC I 4400不知道執(zhí)行監(jiān)視器的執(zhí)行細(xì)節(jié)。服務(wù)執(zhí)行線程將消息發(fā)送到每個(gè)監(jiān)視器,而每個(gè)監(jiān)視器以用戶可理解的方式顯示它們。
在執(zhí)行組成服務(wù)序列期間可能發(fā)生許多事件。這些事件包括在執(zhí)行之前,UPnP服務(wù)變得不可用失敗的服務(wù)調(diào)用,因?yàn)樵趫?zhí)行期間改變位置喪失網(wǎng)絡(luò)連通性用戶可以執(zhí)行服務(wù)組成,而無需干預(yù),或者,如果用戶希望這樣,則用戶可以監(jiān)視組成的執(zhí)行過程。盡管通過監(jiān)視器窗格可以與用戶充分交互,但是我們可以使這些事件不被用戶討厭。這些交互包括
如果任何一個(gè)要執(zhí)行的服務(wù)變成不可用,則通知用戶在需要時(shí),對(duì)用戶提供重構(gòu)該組成的簡(jiǎn)單方式圖61示出監(jiān)視器窗格6100。
保存如果用戶希望這樣做,可以將組成保存為宏。但是在遍布(pervasive)環(huán)境下,僅保存特定序列的服務(wù)并不始終有意義。與始終與服務(wù)連通的因特網(wǎng)環(huán)境不同,將在不同的地方發(fā)現(xiàn)不同組服務(wù)。例如,在一個(gè)房間內(nèi)“通過投影儀觀看”和在另一個(gè)房間內(nèi)“通過投影儀觀看”是獨(dú)立服務(wù)。如果我們可以采用宏的方式在該序列中可互換地使用這些服務(wù),這仍非常有用。
因此,我們對(duì)宏序列的每個(gè)操作所做的指定并不始終完全是特定服務(wù),而是該位置可以接受的服務(wù)條件。例如,不將如“在123房間通過投影儀觀看”的服務(wù)指定為宏序列中的步驟,我們可以具有諸如對(duì)于該步驟“其分辨率高于1024×768”的“通過投影儀觀看”類別的服務(wù)”的條件。通過廣義化,我們可以進(jìn)入下一步。通過將該服務(wù)的特定服務(wù)表示為條件“服務(wù)與該特定服務(wù)(或SDS)完全匹配”,我們可以說宏序列中的每個(gè)步驟均是該步驟的服務(wù)必須滿足的條件?!胺?wù)與該特定服務(wù)(或SDS)完全匹配”與“服務(wù)與該特定SDS完全匹配”之間的差別在于,前者在服務(wù)調(diào)用級(jí)(例如,UPnP,WADL/SOAP)解決該匹配問題,而后者解決語義級(jí)對(duì)應(yīng)關(guān)系。在一種后者多種服務(wù)調(diào)用技術(shù)中,SDS可以具有多個(gè)分組。
這些宏還可以是任務(wù)計(jì)算工作流的發(fā)現(xiàn)過程中發(fā)現(xiàn)的服務(wù)。在特定環(huán)境下,檢驗(yàn)服務(wù)的可用性,哪個(gè)滿足宏中各步驟的條件。僅在啟動(dòng)宏的所有服務(wù)可用時(shí),它表現(xiàn)得象被發(fā)現(xiàn)或者可用的。
條件可以在從準(zhǔn)確匹配(即,指定特定服務(wù))變化至輸入/輸出簽名到服務(wù)類別的范圍內(nèi)??梢岳迷撐恢玫姆?wù)的SSD動(dòng)態(tài)產(chǎn)生用于指定該條件的UI。
圖62示出保存窗格6200。
TCC II,任務(wù)計(jì)算客戶機(jī)(TCC)II
以上描述的TCC I是TCC的一個(gè)實(shí)施例。TCC II是TCC的另一個(gè)實(shí)施例。在不同設(shè)備內(nèi)運(yùn)行用戶界面和TCC II的其他TCC模塊。這樣就可以使諸如PDA(個(gè)人數(shù)字助理)、移動(dòng)電話或web瀏覽器啟動(dòng)的任何設(shè)備通過多種通信鏈接訪問TCE,而無需在該設(shè)備上安裝TCC。
TCC II是對(duì)希望使用任務(wù)計(jì)算服務(wù)、但是又沒有安裝在其客戶機(jī)設(shè)備上的TCE的用戶設(shè)計(jì)的。TCC II較低了使用TCE的要求,因?yàn)樗鼉H需要web瀏覽器。
作為TCC的實(shí)施例,TCC II具有服務(wù)發(fā)現(xiàn)、服務(wù)組成、服務(wù)構(gòu)建以及執(zhí)行服務(wù)的全套模塊。最重要的差別是,在用戶設(shè)備上運(yùn)行TCC I,而在諸如FNS的單獨(dú)設(shè)備上運(yùn)行TCC II。TCC II具有內(nèi)部web瀏覽器。用戶連接到web瀏覽器以檢索服務(wù)信息和消費(fèi)服務(wù)。
圖63示出TCC II 6300的角色。一方面,就象TCC I 4400一樣,“TCCII”6300發(fā)現(xiàn)“任務(wù)計(jì)算服務(wù)”6304并組織SSD 1604,另一方面,“用戶設(shè)備的web客戶機(jī)”6302與TCC II 6300對(duì)話,并共享任務(wù)計(jì)算環(huán)境(TCE)的所有好處。
SSD實(shí)施例對(duì)于SSD(語義服務(wù)描述),我們可以依賴類似于DAML-S和OWL-S的標(biāo)準(zhǔn)。對(duì)于SSD支持的多種自然語言,語義服務(wù)描述可以使用統(tǒng)一字符編碼或特定自然語言編碼以實(shí)現(xiàn)以一種語言進(jìn)行描述。語義服務(wù)描述可以使用統(tǒng)一字符編碼或可以處理多種自然語言編碼的某種編碼,以在一個(gè)SSD內(nèi)具有多種自然語言的描述。對(duì)于基于XML的語義服務(wù)描述,可以對(duì)希望多種自然語言中具有的標(biāo)記使用“編碼”屬性。利用相應(yīng)自然語言,重復(fù)具有不同“編碼”屬性的標(biāo)記。
圖64示出SSD支持的多種自然語言的示例6400。
對(duì)于TCC,TCC可以使用他或她自己的語言,通常是其設(shè)備的OS上的選擇的自然語言。這樣可以使訪問同一個(gè)TCE的每個(gè)用戶可以根據(jù)選擇的自然語言對(duì)TCE具有不同“查看”。
SSD高速緩存該SSD高速緩存保持SSD用于公知的服務(wù)、遠(yuǎn)程服務(wù)、或宏(先前保存)服務(wù)。用于公知服務(wù)的SSD是用于不支持提供其SSD的公知服務(wù)的SSD。用于遠(yuǎn)程服務(wù)的SSD是用于用戶一次性或經(jīng)常使用的遠(yuǎn)程服務(wù)的SSD。用于宏服務(wù)的SSD是用于在保存窗格保存的或者從其他用戶或系統(tǒng)信息中心庫(kù)獲得的宏的SSD。
SDS實(shí)施例接著,我們將給出語義描述服務(wù)(SDS)實(shí)施例。服務(wù)是用戶感興趣功能性的抽象概念。這種功能性通常至少有3個(gè)不同來源設(shè)備、應(yīng)用程序以及通過web的e服務(wù)。這3個(gè)來源是松定義的類別,因?yàn)檫@些類別的邊界非常容易變化。一般的說,起源于設(shè)備的服務(wù)與該設(shè)備用于傳送的核心功能性有關(guān);例如,電話(設(shè)備)的主要功能性是進(jìn)行電話調(diào)用(服務(wù))。同樣,起源于應(yīng)用程序的功能性與在計(jì)算設(shè)備上執(zhí)行的計(jì)算應(yīng)用程序有關(guān);例如,個(gè)人信息管理(PIM)應(yīng)用程序的功能性包括存儲(chǔ)和檢索人們的聯(lián)系人信息。最后,e服務(wù)功能性與在某個(gè)遠(yuǎn)程服務(wù)器上執(zhí)行并通過訪問web、在用戶的局域網(wǎng)絡(luò)的邊界之外傳送該功能性的web服務(wù)有關(guān)。這種大致分類僅是用于區(qū)別各服務(wù)的性質(zhì)的一種粗略方式。通常情況是,接著描述的服務(wù)屬于多種類別。例如,在用戶在家期間使用與用戶的家庭立體聲音響設(shè)備有關(guān)的視頻流服務(wù)時(shí),它通常是設(shè)備服務(wù),而在用戶在工作期間使用它以將歌曲從他的計(jì)算機(jī)傳送到他家的立體聲音響設(shè)備供其同房間的人監(jiān)聽時(shí),還可以將它看作e服務(wù)。
還應(yīng)該注意這些區(qū)別如何不固定;制造商提供智能消費(fèi)設(shè)備,通常具有網(wǎng)絡(luò)接入能力(例如,網(wǎng)絡(luò)電器),軟件公司開發(fā)試圖提供消費(fèi)設(shè)備型功能性的應(yīng)用程序(MICROSOFT開發(fā)的用于觀看DVD或聽CD的MediaPlayer)。值得注意的是,在任務(wù)計(jì)算過程中,這種功能性的起源與用戶無關(guān),因?yàn)橛脩魞H對(duì)為了確定任務(wù)而組合這些功能性感興趣。
基于設(shè)備的服務(wù)通過顯示器觀看該服務(wù)將web頁(yè)面或各種文檔顯示在諸如投影儀、等離子體顯示器、LCD顯示器的設(shè)備上。它接收URL作為輸入,并對(duì)用戶提供控制窗格。在利用指向網(wǎng)頁(yè)或文檔的URL調(diào)用它時(shí),顯示設(shè)備顯示該網(wǎng)頁(yè)或文檔。通過控制窗格,用戶可以控制顯示設(shè)備。通過其控制窗格,她可以上移和下移該網(wǎng)頁(yè)、跟蹤到新網(wǎng)頁(yè)的鏈接、裝載新URL等。
通過多種設(shè)備觀看該服務(wù)將網(wǎng)頁(yè)或各種文檔顯示在諸如投影儀、等離子體顯示器、LCD顯示器的多種設(shè)備上。各設(shè)備顯示完全相同的內(nèi)容。各設(shè)備可以是在地理位置上分散開的,只要它們通過具有服務(wù)運(yùn)行位置的網(wǎng)絡(luò)連接在一起即可。服務(wù)接收指向網(wǎng)頁(yè)或文檔的URL作為輸入,并對(duì)用戶提供控制窗格。在利用URL調(diào)用它時(shí),多種設(shè)備顯示網(wǎng)頁(yè)或文檔。同時(shí),用戶可以通過控制窗格控制該設(shè)備。通過控制窗格,她可以上移和下移該網(wǎng)頁(yè)、跟蹤到新網(wǎng)頁(yè)的鏈接、裝載新URL等。
地圖觀看器(A)該服務(wù)利用標(biāo)記的位置在其顯示器上顯示用戶指定位置附近的地圖。它接收位置或地址作為輸入,并對(duì)用戶提供控制窗格。(B)該服務(wù)利用標(biāo)記的位置在其顯示器上顯示固定位置或地址附近的地圖。它不接收輸入,而對(duì)用戶提供控制窗格。
地圖路線選擇器該服務(wù)示出其顯示器上兩個(gè)位置之間的路線。該服務(wù)接收一個(gè)或者兩個(gè)位置或地址,或者位置列表或地址列表,并對(duì)用戶提供控制窗格。該服務(wù)提供(A)服務(wù)的固定位置或地址與用戶指定位置或地址之間的路線,(B)兩個(gè)用戶指定位置或地址之間的路線,或(C)顯示這種表中所有位置或地址之間的路線(任選將固定位置用作開始點(diǎn)或結(jié)束點(diǎn))。有時(shí),對(duì)于服務(wù)提供商,將開始位置或目標(biāo)位置限定到服務(wù)的固定位置非常重要,因?yàn)樗篃o限制地將該服務(wù)用作一般繪制地圖服務(wù)。
樓層/校園/建筑/博物館/商場(chǎng)/醫(yī)院地圖觀看器除了該地圖在其地圖中具有的結(jié)構(gòu)比公路地圖具有的結(jié)構(gòu)多之外,該服務(wù)與“地圖觀看器”基本相同。
實(shí)例提供服務(wù)該服務(wù)提供語義實(shí)例。(A)它接收輸入,并產(chǎn)生指向該語義實(shí)例的URL作為輸出(同一個(gè)機(jī)器上的web服務(wù)器通常又對(duì)該語義實(shí)例提供服務(wù))。(B)它不接收輸入,而產(chǎn)生語義實(shí)例(例如,OWL/DAML實(shí)例)作為輸出。該服務(wù)可以用于提供與諸如在樓層上聯(lián)系人人們或預(yù)定特殊房間的遍布環(huán)境有關(guān)的語義實(shí)例。該服務(wù)還可以用于提供同一種語義實(shí)例列表,例如,聯(lián)系人或日程安排。
打印該服務(wù)打印URL指定的文件。(A)它接收URL,而且沒有輸出。在利用URL調(diào)用它時(shí),它采用固定格式打印出由給定URL指定文件的固定數(shù)量的副本。(B)它接收URL,而且沒有輸出。在利用URL調(diào)用它時(shí),該顯示器顯示打印選項(xiàng)框,以便用戶設(shè)置打印參數(shù),然后打印出給定URL指定的文件。(C)它接收URL,并產(chǎn)生控制窗格作為輸出。在利用URL調(diào)用它時(shí),它返回控制窗格,以便用戶設(shè)置打印參數(shù),然后,打印出給定URL指定的文件。
打印名片該服務(wù)利用給定聯(lián)系人打印一張或者多張名片。(A)它接收聯(lián)系人,而沒有輸出。在利用聯(lián)系人調(diào)用它時(shí),它以固定格式印出該聯(lián)系人的固定數(shù)量的名片。(B)它接收聯(lián)系人,而沒有輸出。在利用聯(lián)系人調(diào)用它時(shí),顯示器顯示選項(xiàng)框,以便用戶對(duì)名片打印設(shè)置參數(shù),然后印出相應(yīng)名片。(C)它接收聯(lián)系人,并產(chǎn)生控制窗格作為輸出。在利用聯(lián)系人調(diào)用它時(shí),它返回控制窗格,以便用戶設(shè)置參數(shù),然后印出相應(yīng)聯(lián)系人的名片。
傳真該服務(wù)將URL指定的文件傳真到指定的電話號(hào)碼。它接收一個(gè)或者多個(gè)URL和一個(gè)電話號(hào)碼作為輸入,而不產(chǎn)生輸出,或者產(chǎn)生用戶用于控制該服務(wù)的控制窗格作為輸出。在利用一個(gè)或者多個(gè)URL和電話號(hào)碼調(diào)用它時(shí),它將印出的圖像傳真到指定的電話號(hào)碼。在返回控制窗格時(shí),用戶可以控制如何發(fā)送該傳真,或者對(duì)該傳真的指定封面。
播放視頻服務(wù)該服務(wù)允許用戶播放視頻。它接收一個(gè)URL作為輸入,它或者不產(chǎn)生輸出,或者產(chǎn)生控制窗格作為輸出,以便用戶控制該服務(wù)。在調(diào)用它時(shí),它播放URL指定的視頻文件。在返回控制窗格時(shí),用戶可以控制如何在設(shè)備上播放。
播放音頻服務(wù)該服務(wù)允許用戶播放音頻。它接收一個(gè)URL作為輸入,它或者不產(chǎn)生輸出,或者產(chǎn)生控制窗格作為輸出,以便用戶控制該服務(wù)。在調(diào)用它時(shí),它播放位于URL的音頻文件。在返回控制窗格時(shí),用戶可以控制如何在設(shè)備上播放。
數(shù)碼相片幀數(shù)碼照片幀接收?qǐng)D像文件作為輸入,并返回控制窗格作為輸出。它在其顯示器上顯示圖像文件(通常以照片幀形式),并允許用戶利用控制窗格控制取向、圖像縮放比、打印圖像等。
位置確定該服務(wù)提供設(shè)備的當(dāng)前位置(因此,提供使用該設(shè)備的用戶的當(dāng)前位置)。它接收特定服務(wù)參數(shù),并產(chǎn)生位置。參數(shù)可以是WLAN卡的MAC地址,或者是接入點(diǎn)MAC地址和其信號(hào)強(qiáng)度對(duì)的表。在調(diào)用它時(shí),它產(chǎn)生位置,例如到位置本體的線路。
目錄發(fā)布程序該服務(wù)發(fā)布一組對(duì)象文件、聯(lián)系人、日程安排、地址等。作為語義服務(wù),它不要求輸入,而返回對(duì)象(例如,文件、聯(lián)系人、日程安排、地址等)作為相應(yīng)輸出。在調(diào)用時(shí),它允許用戶從對(duì)象組中選擇一個(gè)對(duì)象,然后返回用戶的選擇。
庫(kù)(事務(wù)/服務(wù))該服務(wù)允許用戶根據(jù)對(duì)象或作為其輸入的給定的SSD動(dòng)態(tài)建立SDS,以與其他TCE用戶共享,或者供之后它自己使用。在調(diào)用該服務(wù)時(shí),用戶可以使用控制窗格設(shè)置將由庫(kù)服務(wù)新設(shè)置的口令、有效期、調(diào)用數(shù)的限制、使用的發(fā)現(xiàn)機(jī)制以及SDS的其他特性。
通常,庫(kù)服務(wù)在3種不同方式下有幫助。
首先,在用戶建立涉及遍布環(huán)境的特定任務(wù),然后希望在該環(huán)境下使用語義服務(wù)組成表示的任務(wù)時(shí),用于服務(wù)的庫(kù)非常有用。任務(wù)本身是服務(wù)。利用本地服務(wù)選擇器(Local Service Selector)和本地拷貝服務(wù)(Copy Service Locally)以及服務(wù)庫(kù)(Service Bank),可以容易地實(shí)現(xiàn)這種情況。通過使服務(wù)僅接收具有諸如收費(fèi)/免費(fèi)、估計(jì)執(zhí)行時(shí)間以及服務(wù)提供商的特定特性的服務(wù),可以設(shè)計(jì)服務(wù)庫(kù),。
使用庫(kù)服務(wù)的第二種方式是,通過利用選擇的或缺省服務(wù)發(fā)現(xiàn)機(jī)制提供SSD作為輸入,建立SDS。
最后,用戶通過庫(kù)服務(wù)可以保留文件、URL、聯(lián)系人、日程安排、服務(wù)以及涉及該環(huán)境的其他語義實(shí)例。建立庫(kù)以利用單獨(dú)服務(wù)提供每個(gè)實(shí)例,或者提供一個(gè)或者多個(gè)列表中的同樣類型的所有實(shí)例。在服務(wù)可以具有多個(gè)列表時(shí),用戶可以建立用戶附加的實(shí)例的列表,或者用戶對(duì)現(xiàn)有列表之一附加實(shí)例。利用這種類型的服務(wù),例如,用戶可以在會(huì)議室內(nèi)保留表示文件,在該會(huì)議室內(nèi)經(jīng)常要使用該表示文件?;蛘?,在一個(gè)會(huì)議結(jié)束并將下一個(gè)會(huì)議的日程安排插入日歷程序時(shí),在建立下一個(gè)會(huì)議之后,用戶可以在該會(huì)議室內(nèi)對(duì)進(jìn)入該會(huì)議室的其他用戶保留該日程安排。(在這種情況下,如果所使用的日程安排庫(kù)被連接到該會(huì)議室內(nèi)的日程安排管理系統(tǒng),將提高使用率,該日程安排管理系統(tǒng)具有可遠(yuǎn)程訪問界面。)在輸入是“文件”對(duì)象時(shí),可以建立庫(kù)服務(wù),以便在本地拷貝該文件,并由運(yùn)行庫(kù)服務(wù)的同一個(gè)機(jī)器提供該文件。
為了具有更高的使用率,庫(kù)可以與某些相關(guān)后端系統(tǒng),例如,文件庫(kù)的文件系統(tǒng)和聯(lián)系人/日程安排庫(kù)的聯(lián)系人/日程安排管理軟件組合在一起。
該服務(wù)還是SDSCM。對(duì)于庫(kù)服務(wù)的SDSCM方面,可以參考“SDSCM實(shí)施例”中的庫(kù)描述。
圖65示出庫(kù)服務(wù)的示例6500。
電話撥號(hào)器服務(wù)它接收電話號(hào)碼作為其輸入,而什么也不返回。在被調(diào)用時(shí),它將通過用戶的電話設(shè)備(可以是模擬/數(shù)字/VoIP)撥號(hào)。
無線/有線TC存儲(chǔ)器最好以當(dāng)前的小型USB存儲(chǔ)器形式因數(shù)實(shí)現(xiàn)它,但是可以以任意形式實(shí)現(xiàn)它。它包括(1)網(wǎng)絡(luò)接口(2)[任選]文件夾發(fā)布服務(wù)(3)[任選]在文件夾服務(wù)中保存(可能是諸如圖像或音頻的特定文件類型)(4)[任選]庫(kù)服務(wù)。服務(wù)(1)至(3)可以具有諸如圖像或音頻的特定文件類型,或者它們可以對(duì)不同文件類型提供單獨(dú)服務(wù)。
網(wǎng)絡(luò)接口可以是以太網(wǎng)(有線)網(wǎng)絡(luò)接口、無線LAN網(wǎng)絡(luò)接口、藍(lán)牙網(wǎng)絡(luò)接口或紅外線網(wǎng)絡(luò)接口。對(duì)于無線LAN網(wǎng)絡(luò)接口,它可以用作接入點(diǎn),或者它可以處于ad-hoc模式,以便其他設(shè)備可以連接到該網(wǎng)絡(luò)上(以信息基礎(chǔ)設(shè)施模式或ad-hoc模式),從而與該設(shè)備相連。對(duì)于無線LAN網(wǎng)絡(luò)接口,它可以嘗試連接到它發(fā)現(xiàn)的網(wǎng)絡(luò),或者可以具有簡(jiǎn)單接口(在設(shè)備本身上或者通過無線),以對(duì)假定該設(shè)備所連接的網(wǎng)絡(luò)的SSID和/或WEP密鑰進(jìn)行配置。
拷貝到可移動(dòng)存儲(chǔ)器上該服務(wù)允許用戶將文件拷貝到諸如軟盤、CD-R/CD-RW、DVD-R/-RW/-RAM/+RW、存儲(chǔ)卡、USB存儲(chǔ)器的可移動(dòng)存儲(chǔ)器上(通常是收費(fèi)的)。它接收一個(gè)或者多個(gè)URL作為輸入,而不產(chǎn)生輸出,或者產(chǎn)生控制窗格作為輸出,以便用戶控制該服務(wù)。在調(diào)用它時(shí),它將URL指定的文件拷貝到可移動(dòng)存儲(chǔ)器上。在返回控制窗格時(shí),用戶可以控制如何進(jìn)行拷貝。(例如制備音頻CD、照片CD、簡(jiǎn)單數(shù)據(jù)光盤)。
電子郵件處理器(Emailer)(遍布)該服務(wù)允許用戶將電子郵件發(fā)送到指定的電子郵件地址。它接收電子郵件地址作為輸入,而沒有輸出。在利用電子郵件地址調(diào)用它時(shí),它彈出對(duì)話框,以允許用戶輸入/編輯消息,并將該消息發(fā)送到該電子郵件地址。
以下是電子郵件處理器(Emailer)(遍布)的另外兩個(gè)可能實(shí)施例(A)它接收電子郵件地址作為輸入,并產(chǎn)生URL作為輸出。在利用電子郵件地址調(diào)用它時(shí),它將URL返回允許用戶編輯并發(fā)送電子郵件的網(wǎng)頁(yè)。(B)該服務(wù)具有它自己的顯示器和諸如鍵盤和鼠標(biāo)的用戶輸入設(shè)備。它接收電子郵件地址作為輸入,而沒有輸出。在利用電子郵件地址調(diào)用它時(shí),該顯示器在其顯示中顯示允許用戶編輯并發(fā)送電子郵件的窗口。
基于應(yīng)用的服務(wù)內(nèi)部服務(wù)為了實(shí)現(xiàn)最高效率,對(duì)于TCC I,在內(nèi)部實(shí)現(xiàn)以下服務(wù)。
列表選擇器程序該服務(wù)允許用戶從同一種實(shí)例的列表中選擇項(xiàng)目。該服務(wù)還可以使用戶根據(jù)一個(gè)或者多個(gè)屬性對(duì)實(shí)例進(jìn)行排序。
屬性選擇器程序該服務(wù)用戶從實(shí)例中選擇一個(gè)屬性(或特征)。還可以利用屬性調(diào)用該服務(wù),以從其中進(jìn)行選擇。在后者情況下,無需用戶干預(yù),就可以執(zhí)行該服務(wù)。
你的輸入根據(jù)任意對(duì)象的本體,該服務(wù)允許用戶輸入該對(duì)象的屬性值,并利用這些值產(chǎn)生實(shí)例??梢詧?zhí)行該服務(wù),以便它通常與其他實(shí)例提供服務(wù)一起用作提供同一種實(shí)例的服務(wù)。
實(shí)例觀看器該服務(wù)允許用戶檢驗(yàn)并修改該實(shí)例。它還可以用作調(diào)試工具。由于它具有用于輸入和輸出的同一個(gè)簽名,所以可以將該服務(wù)插在任意服務(wù)之間,或者將該服務(wù)附加到尾部。
本地服務(wù)下面的服務(wù)是為了實(shí)現(xiàn)最高效率與TCC I運(yùn)行在同一個(gè)機(jī)器上的應(yīng)用程序。作為Window OS中的環(huán)境菜單、任務(wù)菜單中的項(xiàng)目的一切均可以構(gòu)成任務(wù)計(jì)算環(huán)境中的本地服務(wù)。下面列出一些本地服務(wù)。
本地實(shí)例選擇器本地實(shí)例選擇器是允許用戶選擇計(jì)算設(shè)備的一個(gè)或者多個(gè)本地實(shí)例,并使這些實(shí)例可以用作語義描述實(shí)例。本地實(shí)例選擇器包括但并不局限于類屬本地實(shí)例選擇器、本地文件選擇器、收藏URL選擇器、聯(lián)系人選擇器、日程安排選擇器、地址選擇器以及本地服務(wù)選擇器。
類屬本地實(shí)例選擇器類屬本地實(shí)例選擇器允許用戶選擇計(jì)算設(shè)備本地的任意本地可用語義實(shí)例。通過將計(jì)算設(shè)備的所有其他可用本地實(shí)例選擇器組合在一起,可以實(shí)現(xiàn)該服務(wù)。
本地文件選擇器該服務(wù)允許用戶選擇本地文件,并通過本地web服務(wù)器,全局顯示該服務(wù)。它不接收輸入,而產(chǎn)生URL作為輸出。在調(diào)用它時(shí),它彈出一個(gè)對(duì)話框,以允許用戶選擇本地文件、將該文件拷貝到web服務(wù)器上,將該URL返回該文件。
收藏URL選擇器該服務(wù)允許用戶從收藏文件夾(或任意文件夾)中選擇URL,并提供URL。它不接收輸入,而產(chǎn)生URL作為輸出。在調(diào)用它時(shí),它彈出一個(gè)對(duì)話框,以允許用戶從收藏文件夾(或任意文件夾)中選擇URL,并返回URL。
地址選擇器該服務(wù)允許用戶選擇地址,并通過本地web服務(wù)器,全局顯示該服務(wù)。它不接收輸入,而產(chǎn)生URL作為輸出。在調(diào)用它時(shí),它彈出一個(gè)對(duì)話框,以允許用戶從例如你的聯(lián)系人管理系統(tǒng)中選擇地址,將該信息作為語義實(shí)例拷貝到web文件夾,將該URL直接返回語義實(shí)例或?qū)嵗?br>
聯(lián)系人選擇器該服務(wù)允許用戶選擇聯(lián)系人,通過本地web服務(wù)器,全局顯示該服務(wù)。它不接收輸入,而產(chǎn)生URL作為輸出。在調(diào)用它時(shí),它彈出一個(gè)對(duì)話框,以允許用戶從例如你的聯(lián)系人管理系統(tǒng)中選擇聯(lián)系人,將該信息作為語義實(shí)例拷貝到web文件夾,將該URL直接返回語義實(shí)例或該實(shí)例。
日程安排選擇器該服務(wù)允許用戶選擇安排的事件,并通過本地web服務(wù)器,全局顯示它。它不接收輸入,而產(chǎn)生URL作為輸出。在調(diào)用它時(shí),它彈出一個(gè)對(duì)話框,以允許用戶從例如你的日程安排管理系統(tǒng)中選擇日程安排,將該信息作為語義實(shí)例拷貝到web文件夾,將該URL直接返回語義實(shí)例或該實(shí)例。
本地服務(wù)選擇器該服務(wù)允許用戶從高速緩存、本地?cái)?shù)據(jù)庫(kù)、文件系統(tǒng)或計(jì)算設(shè)備本地的任何位置中選擇SSD,并使SSD描述的服務(wù)可以用作語義實(shí)例。
語義實(shí)例拷貝器語義實(shí)例拷貝器獲得其他服務(wù)產(chǎn)生的語義實(shí)例,并在本地將它們拷貝到適于這種類型的語義實(shí)例的應(yīng)用程序。在用戶干預(yù)情況下,或者在沒有用戶干預(yù)情況下,它均可以執(zhí)行其功能。在前者情況下,彈出的窗口或某個(gè)其他用戶界面允許用戶修改對(duì)象、確定如何和在何處拷貝該實(shí)例,或者取消拷貝過程。語義實(shí)例拷貝器包括但并不局限于類屬語義實(shí)例拷貝器、本地拷貝、對(duì)收藏附加URL,插入聯(lián)系人表、插入日程安排表以及在本地拷貝服務(wù)。
類屬語義實(shí)例拷貝器類屬語義實(shí)例拷貝器允許用戶將任意語義實(shí)例拷貝到正確的應(yīng)用程序。通過將計(jì)算設(shè)備上的所有其他可用語義實(shí)例拷貝器組合在一起,可以實(shí)現(xiàn)該服務(wù)。
本地拷貝該服務(wù)允許用戶保存URL指定的文件。它接收URL作為輸入,而沒有輸出。在調(diào)用它時(shí),它彈出一個(gè)對(duì)話框,以允許用戶選擇地方保存URL指定的文件。
對(duì)收藏添加URL該服務(wù)允許用戶將URL保存到收藏文件夾內(nèi)。它接收URL作為輸入,而沒有輸出。在調(diào)用它時(shí),它彈出一個(gè)對(duì)話框,以允許用戶利用用戶指定的名稱將URL保存到收藏文件夾內(nèi)。
插入聯(lián)系人列表中該服務(wù)允許用戶將聯(lián)系人插入聯(lián)系人管理軟件(例如,MICROSOFTOUTLOOK)。它接收聯(lián)系人作為輸入,而沒有輸出。在利用聯(lián)系人調(diào)用它時(shí),它將該聯(lián)系人插入聯(lián)系人管理軟件中。它可以選擇彈出一個(gè)對(duì)話框,以允許用戶檢驗(yàn)并修改聯(lián)系人信息。
插入日程安排列表中該服務(wù)允許用戶將日程安排插入日程安排管理軟件中(例如,MICROSOFT OUTLOOK)。它接收日程安排作為輸入,而沒有輸出。在利用日程安排調(diào)用它時(shí),它將該日程安排插入日程安排管理軟件中。它可以選擇彈出一個(gè)對(duì)話框,以允許用戶檢驗(yàn)并修改日程安排信息。
在本地拷貝服務(wù)該服務(wù)允許用戶將作為語義實(shí)例的其他服務(wù)提供的SSD拷貝到高速緩存、數(shù)據(jù)庫(kù)、文件系統(tǒng)或計(jì)算設(shè)備本地的任何位置。
電子郵件處理器(本地)該服務(wù)允許用戶將電子郵件發(fā)送到指定的電子郵件地址。它接收電子郵件地址作為輸入,而沒有輸出。在利用電子郵件地址調(diào)用它時(shí),它彈出一個(gè)對(duì)話框以允許用戶編輯并發(fā)送電子郵件。
URL觀看器(本地)該服務(wù)允許用戶瀏覽URL指定的網(wǎng)頁(yè)。它接收URL作為輸入,而沒有輸出。在利用URL調(diào)用它時(shí),它彈出對(duì)該網(wǎng)頁(yè)設(shè)置的瀏覽器,并允許用戶在本地瀏覽它。當(dāng)前,我們利用為該服務(wù)指定的URL,調(diào)用MICROSOFTINTERNET EXPLORER。
位置確定(本地)該服務(wù)提供計(jì)算設(shè)備的當(dāng)前位置(因此,提供使用它的用戶的當(dāng)前位置)。它不接收輸入,而產(chǎn)生位置。在調(diào)用它時(shí),它產(chǎn)生位置,該位置是根據(jù)小信標(biāo)(mini-beacon)、GPS等鏈接到位置本體的鏈接。(客戶機(jī)側(cè)位置確定技術(shù))。在被調(diào)用時(shí),根據(jù)用戶輸入的位置確定服務(wù)彈出一個(gè)對(duì)話框或地圖,以允許用戶指定位置。
數(shù)據(jù)庫(kù)發(fā)布程序(從表格、項(xiàng)目)通過在數(shù)據(jù)庫(kù)中指定表格的一部分或整個(gè)表格,根據(jù)該表格的模式,數(shù)據(jù)庫(kù)發(fā)布程序自動(dòng)建立本體,并發(fā)布允許用戶從數(shù)據(jù)庫(kù)中該表格的一部分或整個(gè)表格中選擇對(duì)象的語義服務(wù),然后,輸出選擇的對(duì)象作為輸出。
或者,通過指定數(shù)據(jù)庫(kù)中表格的項(xiàng)目,根據(jù)表格的模式,該數(shù)據(jù)庫(kù)發(fā)布程序自動(dòng)建立本體,并發(fā)布語義對(duì)象提供服務(wù),在執(zhí)行該語義對(duì)象提供服務(wù)時(shí),該語義對(duì)象提供服務(wù)產(chǎn)生選擇的對(duì)象作為其輸出。
基于web的服務(wù)(E-服務(wù))地點(diǎn)信息該服務(wù)提供關(guān)于給定位置的信息,例如位于房間內(nèi)的設(shè)備、最靠近浴室,誰占據(jù)該房間。它接收該位置作為輸入,并利用該信息產(chǎn)生到該網(wǎng)頁(yè)的URL作為輸出。
宿主服務(wù)宿主服務(wù)是對(duì)TCC II特殊設(shè)計(jì)的服務(wù)。它們包括“上載文件”,其諸如“上載音頻文件”、“指向輸入的URL”、“通過瀏覽器觀看”的變體,其諸如“通過瀏覽器播放”、“上載文件”以及“指向輸入的URL”的變體允許用戶從用戶設(shè)備和URL上載文件,并分別返回它們作為輸出。宿主服務(wù)使用服務(wù)控制UI實(shí)現(xiàn)它們的功能性。
“通過瀏覽器觀看”接收“文件”,而什么也不返回。與TCC II相同,“通過瀏覽器觀看”簡(jiǎn)單允許用戶通過同一個(gè)瀏覽器觀看文件。利用UI,將“通過瀏覽器觀看”實(shí)現(xiàn)為同步web服務(wù)。它重定向服務(wù)控制UI以訪問輸入的URL。
遠(yuǎn)程服務(wù)通常,通過進(jìn)行語義服務(wù)搜索,將遠(yuǎn)程服務(wù)(在此,利用該遠(yuǎn)程服務(wù),我們指利用WSDL/SOAP界面實(shí)現(xiàn)的web服務(wù))引入任務(wù)計(jì)算環(huán)境。但是,在某些情況下,無需任何語義服務(wù)描述(SSD),就可以建議遠(yuǎn)程服務(wù)。在這些情況下,通過經(jīng)過改變其WSDL URL的擴(kuò)展名,或者搜索其SSD的公知網(wǎng)點(diǎn),嘗試下載SSD,TCC I試圖獲得其SSD。
公知服務(wù)對(duì)于公知的服務(wù),我們可以在本地或某個(gè)已知網(wǎng)點(diǎn)保持其語義服務(wù)描述。在我們遇到這些服務(wù)(UPnP、WSDL/SOAP等)時(shí),我們可以使用這些SSD,以將這些服務(wù)引入我們的任務(wù)計(jì)算環(huán)境中。
TCC I可以在其高速緩存具有諸如AMAZON.COM或GOOGLE的公知遠(yuǎn)程服務(wù)的SSD,并允許用戶將這些服務(wù)用作其他SDS?;蛘?,如果TCC I遇到?jīng)]有SSD的WSDL/SOAP服務(wù),則通過動(dòng)態(tài)建立SSD,它仍可以使用該服務(wù)。
SDSCM實(shí)施例在該章中,我們將給出語義描述服務(wù)控制機(jī)制(SDSCM)實(shí)施例。語義描述服務(wù)控制機(jī)制(SDSCM)是通過包括但并不局限于以下內(nèi)容,允許某個(gè)實(shí)體(可以是TCC的用戶或任意一個(gè)軟件)管理該服務(wù)的機(jī)制建立服務(wù)改變用于要使用的服務(wù)的發(fā)現(xiàn)機(jī)制保持服務(wù)刪除服務(wù)修改服務(wù)參數(shù)包括設(shè)置服務(wù)超時(shí)設(shè)置對(duì)服務(wù)的訪問控制設(shè)置服務(wù)的可用性(本地、全局、驗(yàn)證用戶等)可以以包括但并不局限于通過用戶與SDSCM提供的用戶界面進(jìn)行交互,通過本地API以及通過服務(wù)調(diào)用機(jī)制的多種方式,來訪問SDSCM。與SDSCM交互的最后一種方法使得SDSCM被處理為具有適當(dāng)SSD的SDS。
以下列出SDSCM的一些實(shí)施例。
PIPE(遍布實(shí)例提供環(huán)境)PIPE是用于發(fā)布和管理語義實(shí)例和語義服務(wù)的工具??梢詫IPE本身看作SDSCM,因?yàn)闉榱私⒉⒐芾鞸DS,它提供web服務(wù)API。它具有兩個(gè)主要功能。
首先,作為管理工具,PIPE對(duì)用戶提供對(duì)實(shí)例和服務(wù)進(jìn)行綜合控制。
圖66示出PIPE管理界面的屏幕畫面6600。用戶可以將服務(wù)/實(shí)例從遍布變更為本地,反之亦然?;蛘撸3忠恍┓?wù)/實(shí)例。如果服務(wù)/實(shí)例處于保持狀態(tài),則沒有用戶可以發(fā)現(xiàn)它,除非之后恢復(fù)該服務(wù)/實(shí)例。在PIPE中,可以對(duì)實(shí)例/服務(wù)分配任選有效期。PIPE周期性地刪除期滿的實(shí)例/服務(wù)。最后,可以對(duì)各實(shí)例確定任選調(diào)用限制。如果將該限制賦予實(shí)例,則在其他服務(wù)每次檢索該實(shí)例時(shí),該數(shù)值減1。在該數(shù)值到達(dá)0時(shí),PIPE將刪除該實(shí)例。
其次,它起作為其他SDSCM的核心的作用。在PIPE以及諸如白洞(White Hole)或通過該界面的圖像服務(wù)、發(fā)布服務(wù)/實(shí)例的其他應(yīng)用程序中,確定Web服務(wù)界面。
在許多服務(wù)中,需要?jiǎng)討B(tài)改變其SSD內(nèi)的IP地址。另一方面,如果TCE部件可以適應(yīng)自動(dòng)變化的IP地址,則用戶可以具有零配置TCE。
對(duì)于提供許多語義對(duì)象提供服務(wù)的PIPE,這非常重要。PIPE運(yùn)行用于監(jiān)視可能IP地址變化的單獨(dú)線程。例如,利用其中利用令牌表示文件中出現(xiàn)的IP地址的模板文件表示SSD。在初始化PIPE時(shí),利用實(shí)際IP地址代替令牌。在檢測(cè)到IP地址發(fā)生變化時(shí),再裝載窗格,并利用新IP地址產(chǎn)生最新SSD。
另一種方式是僅具有模板。僅在接收對(duì)SSD的請(qǐng)求時(shí),它才檢驗(yàn)IP地址,然后,利用IP地址產(chǎn)生新SSD。
應(yīng)用程序的語義實(shí)例剪貼(Scraper)程序該服務(wù)對(duì)在用戶當(dāng)前使用的應(yīng)用程序內(nèi)建立的語義實(shí)例進(jìn)行剪貼,并使它們?cè)诒镜睾腿挚捎?或者使它們可以用于限制的人們/設(shè)備)??梢愿鶕?jù)包括但并不局限于一些語義描述,或文本和對(duì)象的句法分析,剪貼語義實(shí)例??梢赃M(jìn)行剪貼,以便即使在用戶繼續(xù)其他活動(dòng)時(shí),它仍可以將該語義實(shí)例高速緩存一段時(shí)間(例如,一天)。在一些應(yīng)用程序中,對(duì)于包括但并不局限于以下內(nèi)容,實(shí)現(xiàn)剪貼程序web瀏覽器電子郵件處理器電子表格文字處理器數(shù)據(jù)庫(kù)表示剪貼程序?qū)⒄{(diào)用PIPE的API以發(fā)布被剪貼的語義實(shí)例。
白洞(事務(wù)、服務(wù))(white hole(Thing,Service))白洞服務(wù)利用拖放界面發(fā)布對(duì)象和服務(wù)。可以將OS和應(yīng)用程序中的對(duì)象,例如聯(lián)系人管理軟件中的文件、URL、聯(lián)系人項(xiàng)目、日程安排管理軟件中的日程安排項(xiàng)目動(dòng)態(tài)地放到白洞上。該白洞將分析放入的對(duì)象類型,然后產(chǎn)生相應(yīng)語義實(shí)例。在放入的對(duì)象是SSD文件或到SSD的URL的情況下,它將分別使用SSD。
它具有自己的管理界面(基本上是PIPE),以便發(fā)布并管理服務(wù)。除了其他參數(shù)外,它還允許用戶設(shè)置使項(xiàng)目無效和/或被移除的缺省時(shí)間。在其中該服務(wù)使用戶能夠動(dòng)態(tài)交換信息的P2P(對(duì)等)環(huán)境下,白洞非常有用。
圖67示出白洞拖放界面6700。
公共聯(lián)系人/日程安排/文件目錄通過顯示服務(wù),該SDSCM允許用戶設(shè)置全局可用的聯(lián)系人或日程安排或文件目錄。在公共場(chǎng)所內(nèi),SDSCM是白洞SCSCM以及聯(lián)系人/日程安排/文件管理軟件的特殊用途。缺省情況下,服務(wù)在特定時(shí)間周期之后消失。該服務(wù)最適于諸如商店街、高大建筑以及校園的公共場(chǎng)所。
語義實(shí)例庫(kù)服務(wù)文件庫(kù)URL庫(kù)聯(lián)系人庫(kù)日程安排庫(kù)地址庫(kù)服務(wù)庫(kù)這種服務(wù)允許用戶存儲(chǔ)該環(huán)境下的一個(gè)或者多個(gè)文件、URL、聯(lián)系人、日程安排、地址、服務(wù)或任何其他語義實(shí)例。它接收一個(gè)或者多個(gè)URL、URL、聯(lián)系人、日程安排、地址、服務(wù)或其他語義實(shí)例作為輸入,而不產(chǎn)生輸出,或者產(chǎn)生控制窗格作為輸出,以便由用戶控制服務(wù)。在調(diào)用它時(shí),它拷貝該實(shí)例,并建立提供該實(shí)例的服務(wù)。它利用PIPE發(fā)布這些實(shí)例提供服務(wù),并允許其他人使用PIPE管理這些新建立的服務(wù)。
該服務(wù)還是SDS。請(qǐng)參考對(duì)庫(kù)服務(wù)的SDS方面的“SDS實(shí)施例”中的庫(kù)所做的說明。
通用庫(kù)該通用庫(kù)服務(wù)是所有語義實(shí)例庫(kù)服務(wù)中的最一般形式。該服務(wù)匹配產(chǎn)生任何語義實(shí)例的任何一個(gè)服務(wù)。(該服務(wù)接受作為所有對(duì)象的超類的“事務(wù)”)。在調(diào)用它時(shí),它拷貝該實(shí)例,并提供該實(shí)例以及用于實(shí)例提供服務(wù)的SDS。在作為內(nèi)部服務(wù)或本地服務(wù)運(yùn)行它時(shí),它可以起語義實(shí)例高速緩存的作用。
該通用庫(kù)并沒有消除對(duì)諸如文件庫(kù)、日程安排庫(kù)的更專用庫(kù)的需要,因?yàn)樵谠S多環(huán)境下,并不始終要求允許用戶保留該環(huán)境下的任意類型的對(duì)象。
圖像/音頻/視頻服務(wù)控制這種類型的SDSCM允許用戶建立多媒體內(nèi)容,而SDSCM可以自動(dòng)使該多媒體內(nèi)容用作這些多媒體內(nèi)容的語義對(duì)象提供服務(wù)?;蛘撸琒DSCM允許用戶使該多媒體內(nèi)容可用,并對(duì)如何使它們可用進(jìn)行控制。
例如,掃描SDSCM允許用戶掃描他或她的材料,并將掃描的數(shù)據(jù)顯示為圖像實(shí)例提供服務(wù)。該顯示允許用戶設(shè)置掃描參數(shù)并嘗試進(jìn)行掃描直到他或她滿意。在該結(jié)果滿意時(shí),該用戶可以使該數(shù)據(jù)普遍可以用于例如在本地拷貝數(shù)據(jù)(通過與“本地拷貝”服務(wù)組成在一起)。通過該顯示,用戶可以設(shè)置臨時(shí)口令。該服務(wù)可以根據(jù)頁(yè)數(shù)或數(shù)據(jù)量對(duì)用戶計(jì)費(fèi)。
作為掃描SDSCM,數(shù)碼相機(jī)和攝像機(jī)SDSCM可以建立圖像提供服務(wù)和視頻實(shí)例提供服務(wù)?;蛘?,數(shù)字錄音機(jī)SDSCM可以建立音頻實(shí)例提供服務(wù)。
可拆卸介質(zhì)發(fā)布器在用戶將可拆卸介質(zhì)插入或連接到計(jì)算設(shè)備上時(shí),該可拆卸介質(zhì)發(fā)布器詢問用戶,該用戶是否希望通過發(fā)布可拆卸介質(zhì)上的文件。例如,用戶將音頻CD插入計(jì)算機(jī),然后,可拆卸介質(zhì)發(fā)布器詢問該用戶,她是否希望發(fā)布音頻CD上的音頻文件作為音頻文件提供服務(wù),允許其他人在音頻CD上選擇音頻文件并產(chǎn)生選擇的音頻文件作為輸出。其他可能性包括(1)用于在用戶將USB數(shù)碼相機(jī)插入計(jì)算機(jī)時(shí),發(fā)布圖像提供服務(wù)的可拆卸介質(zhì)發(fā)布器;(2)用于在用戶將存儲(chǔ)卡連接到計(jì)算機(jī)時(shí),發(fā)布特定類型文件提供服務(wù)的可拆卸介質(zhì)發(fā)布器。對(duì)于(2),可以建立該可拆卸介質(zhì)發(fā)布器,以便如果在存儲(chǔ)卡內(nèi)發(fā)現(xiàn)多種類型的文件,則該可拆卸介質(zhì)發(fā)布器發(fā)布多種類型的文件提供服務(wù)。
可以建立可拆卸介質(zhì)發(fā)布器,以便在它檢測(cè)到某個(gè)可拆卸介質(zhì)插入或者連接到計(jì)算機(jī)時(shí),它自動(dòng)產(chǎn)生(各)發(fā)布服務(wù)。
傳真接收機(jī)在接收傳真時(shí),傳真SDSCM產(chǎn)生圖像、文件或傳真數(shù)據(jù)實(shí)例提供服務(wù)。它建立用于多頁(yè)的多圖像實(shí)例提供服務(wù),或者建立用于例如PDF文件的文件實(shí)例提供服務(wù),以包括所有傳真頁(yè),或建立傳真數(shù)據(jù)專用的傳真數(shù)據(jù)實(shí)例提供服務(wù)。它可以與OCR(光學(xué)字符識(shí)別)服務(wù)組成在一起,以對(duì)包括發(fā)送者的信息、頭銜、備忘錄等的傳真數(shù)據(jù)產(chǎn)生更結(jié)構(gòu)化的對(duì)象。
控制窗格切換控制窗格切換是用于將服務(wù)控制用戶界面從一個(gè)用戶切換到另一個(gè)用戶的SDSCM。這可以應(yīng)用于具有控制窗格的任何SDS,例如“通過顯示器觀看”、“地圖觀看器”、“地圖路線選擇器”。該服務(wù)在其控制窗格上設(shè)置“切換”按鈕。在用戶點(diǎn)擊該按鈕時(shí),建立用于對(duì)控制窗格提供URL的新服務(wù)(或多個(gè)新服務(wù))。其他(各)用戶可以檢驗(yàn)新建立的服務(wù),并將它與某些觀看服務(wù)組成在一起,以顯示該控制窗格,然后,控制原始SDS。
可以設(shè)計(jì)新建立的服務(wù),以便在經(jīng)過特定調(diào)用次數(shù)之后,就不出現(xiàn)它,從而限制訪問該控制窗格的人數(shù)。(通常設(shè)置為1)。還可以將服務(wù)設(shè)置為經(jīng)過特定時(shí)間周期后期滿,以便它僅在給定時(shí)間周期內(nèi)有效??梢越⑺?,以便原始用戶使用的控制窗格自動(dòng)關(guān)閉,或者詢問該用戶她是否希望關(guān)閉它,而且如果應(yīng)答為是,則關(guān)閉它,或者如果應(yīng)答為否,則保持它。
使用情況的預(yù)排工作(Walkthroughs of Use Cases)接著,我們將利用TCC I描述任務(wù)計(jì)算使用情況。
在預(yù)排工作中,存在文件提供服務(wù)、日程安排提供服務(wù)以及聯(lián)系人提供服務(wù)。它們是本地或遍布實(shí)例提供服務(wù),它們分別提供文件、日程安排以及聯(lián)系人。
辦公室讓我們假定讀者是一位銷售人員,并在它們的會(huì)議室第一次遇到Bob及其小組。允許你連接到對(duì)訪問者設(shè)置的無線網(wǎng)上。你的TCC I發(fā)現(xiàn)該會(huì)議室內(nèi)存在許多服務(wù)。你去操作“組成窗格”。
商務(wù)卡交換商務(wù)卡交換=聯(lián)系人提供服務(wù)+插入聯(lián)系人列表TCC I發(fā)現(xiàn)運(yùn)行在Bob的PDA上的Bob的“聯(lián)系人提供服務(wù)”和運(yùn)行在你的PDA上的“插入聯(lián)系人列表”的組成。你認(rèn)為Bob對(duì)你的商務(wù)非常重要,因此你就按下“執(zhí)行”按鈕以執(zhí)行該組成。將執(zhí)行Bob的“聯(lián)系人提供服務(wù)”,TCC I獲得其聯(lián)系人。然后,TCC I利用他的聯(lián)系人執(zhí)行在你的PDA本機(jī)上運(yùn)行的“插入聯(lián)系人列表”。就在將“插入聯(lián)系人列表”插入Bob的聯(lián)系人之前,該服務(wù)對(duì)你彈出一個(gè)確認(rèn)對(duì)話框,以檢驗(yàn)服務(wù)將插入你的聯(lián)系人管理軟件中的信息。對(duì)于該服務(wù),你按下“OK”按鈕繼續(xù)前進(jìn),然后,將它插入你的聯(lián)系人管理軟件。
表示投影該表示=本地文件選擇器+通過投影儀觀看(URL觀看器)你啟動(dòng)你的產(chǎn)品表示。你使你的表示文件安裝在你的PDA上。在會(huì)議室內(nèi),你使用“本地文件選擇器”服務(wù)與“通過投影觀看(URL觀看器)”服務(wù)的組成。因此,你使你的表示投影到投影屏幕上,而使控制頁(yè)面位于你的PDA上。利用該控制頁(yè)面,你利用無線方法控制你的表示。不硬連接到VGA電纜,并按下正確的功能鍵。
留下該表示=本地文件選擇器+文件庫(kù)如果沒有問題,Bob要求你留下你的表示。當(dāng)然,沒有問題。你剛想,在上次你執(zhí)行“本地文件選擇器”時(shí),應(yīng)該建立了該表示文件的“文件提供服務(wù)”。無論如何,你要在會(huì)議室內(nèi)執(zhí)行“本地文件選擇器”與“文件庫(kù)”服務(wù)的組成?,F(xiàn)在,可以從文件庫(kù)提供的文件提供服務(wù)獲得該表示文件。
打印使用說明書打印使用說明書=收藏URL+打印(遍布)Bob要求你對(duì)你們的產(chǎn)品提供更詳細(xì)材料。你記著你們公司網(wǎng)站上有產(chǎn)品使用說明書,而且在你的收藏文件夾內(nèi),你有到該使用說明書的URL。你在會(huì)議室內(nèi)執(zhí)行本地“收藏URL”與“打印(遍布)”的組成。你取下在會(huì)議室內(nèi)的打印機(jī)上印出的材料,將它交給Bob。
成員買書買書=書提供服務(wù)+AMAZON.COM(眾所周知的服務(wù))在開會(huì)期間,Bob向你介紹了一本新書。你在會(huì)議室內(nèi)發(fā)現(xiàn)“書提供服務(wù)”,“書提供服務(wù)”對(duì)Bob的書提供書語義實(shí)例。你執(zhí)行“書提供服務(wù)”與“AMAZON.COM web服務(wù)”的組成。即使AMZON.COM web服務(wù)不提供其SSD,TCC I仍具有該眾所周知服務(wù)的SSD,而TCC I可以將AMAZON.COM web服務(wù)用作一個(gè)SDS。通過執(zhí)行該組成,你可以檢驗(yàn)關(guān)于該書的信息,而且可以購(gòu)買它。
在該會(huì)議室內(nèi)召開會(huì)議的日程安排Bob和你安排在同一個(gè)會(huì)議室內(nèi)召開下一次會(huì)議。Bob在其PDA的日程安排管理系統(tǒng)上建立日程安排項(xiàng)目。然后,他將該項(xiàng)目拖到“白洞服務(wù)”。
日程安排提供服務(wù)(白洞服務(wù))+插入日程安排列表你執(zhí)行Bob的PDA上的“白洞服務(wù)”提供的“日程安排提供服務(wù)”與你的本地“插入日程安排列表”服務(wù)的組成。
日程安排提供服務(wù)(白洞服務(wù))+日程安排庫(kù)與此同時(shí),對(duì)于在該會(huì)議室內(nèi)將“日程安排提供服務(wù)”用于下一次會(huì)議的其他人,Bob執(zhí)行“白洞服務(wù)”提供的“日程安排提供服務(wù)”與該會(huì)議室內(nèi)的“日程安排庫(kù)”的組成,在執(zhí)行后,“日程安排庫(kù)”將提供“日程安排提供服務(wù)”。
利用白洞服務(wù)管理窗口,Bob停止“日程安排提供服務(wù)”。
獲得到附近機(jī)場(chǎng)的路線指南地址提供服務(wù)(遍布)+地圖路線選擇器現(xiàn)在,我們準(zhǔn)備好要走。Bob建議你執(zhí)行你要去的機(jī)場(chǎng)的“地址提供服務(wù)”與“地圖路線選擇器”服務(wù)的組成。為了方便訪問者,該會(huì)議室提供該地區(qū)內(nèi)感興趣地點(diǎn)的“地址提供服務(wù)”。你在該會(huì)議室內(nèi)、提供地圖路線選擇器服務(wù)的LCD上看到從Bob的辦公室到機(jī)場(chǎng)的路線。你利用你PDA的瀏覽器上的控制頁(yè)面控制地圖路線選擇器。
以后表示Bob做的表示=文件提供服務(wù)(文件庫(kù))+通過投影儀觀看(URL觀看器)在Bob之后對(duì)他公司內(nèi)的其他成員說明你們的產(chǎn)品時(shí),他使用你保留在會(huì)議室內(nèi)的表示文件。他執(zhí)行文件庫(kù)提供的你的表示文件的“文件提供服務(wù)”與會(huì)議室內(nèi)的“通過投影觀看(URL觀看器)”服務(wù)的組成,以給出該表示。
公共場(chǎng)所下面的情況可以應(yīng)用于諸如商店街、機(jī)場(chǎng)以及火車站的公共場(chǎng)所。在此,我們選擇商店街情況。
你計(jì)劃與朋友一起在節(jié)日進(jìn)行購(gòu)物。
保留備忘錄位置確定(本地/遍布)+L-便條你已經(jīng)等了你朋友15分鐘。你確信你朋友最終會(huì)來的,但是你想找一個(gè)座位,然后喝一杯咖啡。因此,你執(zhí)行該商店街提供的“位置確定”服務(wù)以及該商店街提供的“L-便條”服務(wù),從而對(duì)你朋友留個(gè)便條?!拔恢么_定”提供你的當(dāng)前位置,將該當(dāng)前位置送到“L-便條”服務(wù)以產(chǎn)生你的URL,從而在你的當(dāng)前位置留下備忘錄。
你留下用于告訴你朋友,你將在附近的咖啡館等他的備忘錄。
發(fā)現(xiàn)該備忘錄位置確定+(本地/遍布)+L-便條之后,你朋友來了。但是你朋友未發(fā)現(xiàn)你在那里。你朋友執(zhí)行“位置確定”服務(wù)和“L-便條”服務(wù),以發(fā)現(xiàn)你留的消息并閱讀它。
因特網(wǎng)服務(wù)臺(tái)(internet kiosk)
閱讀新聞=收藏URL+通過因特網(wǎng)服務(wù)臺(tái)觀看(URL觀看器)你到達(dá)該商店街附近的咖啡館,要了一杯咖啡,坐在桌邊。你發(fā)現(xiàn)在你所在的桌子上有一個(gè)因特網(wǎng)服務(wù)臺(tái)。因特網(wǎng)服務(wù)臺(tái)實(shí)際上是具有計(jì)算機(jī)的LCD。計(jì)算機(jī)被隱藏,而且為了不讓人們把它搞亂,它既不設(shè)置鍵盤,又不設(shè)置鼠標(biāo)。應(yīng)該通過提供“通過因特網(wǎng)服務(wù)臺(tái)觀看(URL觀看器)”的控制頁(yè)面使用它。
你決定通過因特網(wǎng)服務(wù)臺(tái)閱讀新聞來消磨時(shí)間。你執(zhí)行你的本地“收藏URL”與設(shè)置在咖啡館內(nèi)的“通過因特網(wǎng)服務(wù)臺(tái)觀看(URL觀看器)”的組合。你從對(duì)話框中選擇你收藏的新聞網(wǎng)站,在對(duì)話框中彈出“收藏URL”。然后,新聞網(wǎng)站出現(xiàn)在因特網(wǎng)服務(wù)臺(tái)上。你利用你PDA上的瀏覽器上的控制頁(yè)面控制該因特網(wǎng)服務(wù)臺(tái)。
欣賞照片=本地文件選擇器/白洞服務(wù)+通過因特網(wǎng)服務(wù)臺(tái)觀看(URL觀看器)經(jīng)過一段時(shí)間之后,你朋友出現(xiàn)了,連聲道歉。你接受他的道歉。然后,你和你朋友開始談?wù)撃闵洗温糜蔚那闆r。通過執(zhí)行“本地文件選擇器”與“通過因特網(wǎng)服務(wù)臺(tái)(URL觀看器)”的組成,你通過因特網(wǎng)服務(wù)臺(tái)顯示幾張你的最佳照片。你在對(duì)話框內(nèi)選擇照片文件,然后,照片顯示在因特網(wǎng)服務(wù)臺(tái)上。
公用目錄然后,你和你朋友逛商店街。
公用聯(lián)系人/日程安排目錄+插入聯(lián)系人/日程安排列表你發(fā)現(xiàn)公用聯(lián)系人/日程安排目錄。你在目錄中發(fā)現(xiàn)你希望進(jìn)入的商場(chǎng)的聯(lián)系人。你將它拖到白洞內(nèi)。然后,聯(lián)系人提供服務(wù)出現(xiàn)在TCC I上。你執(zhí)行該服務(wù)和“插入聯(lián)系人列表”服務(wù),以將商場(chǎng)聯(lián)系人插入你的PDA上的聯(lián)系人管理系統(tǒng)中。
在該目錄上你還發(fā)現(xiàn)一件感興趣的事件。利用同樣的步驟,你將該事件日程安排插入你的PDA上的日程安排管理系統(tǒng)。
10分鐘之后(商店街經(jīng)理已經(jīng)設(shè)置缺省超時(shí)期間),服務(wù)消失。
商場(chǎng)聯(lián)系人提供服務(wù)列表+列表選擇器+插入聯(lián)系人列表另一種可能情況是與下面的情況類似。TCC I發(fā)現(xiàn)“商場(chǎng)聯(lián)系人提供服務(wù)列表”。TCC I將“商場(chǎng)聯(lián)系人提供服務(wù)列表”、“列表選擇器”以及“插入聯(lián)系人列表”的組成顯示為“‘插入聯(lián)系人列表’‘商場(chǎng)聯(lián)系人之一’”。通過執(zhí)行該組成,你得到彈出的對(duì)話框,以便你從該表中選擇一個(gè)商場(chǎng)聯(lián)系人。選擇之后,你將該聯(lián)系人插入你PDA上的聯(lián)系人管理系統(tǒng)中。
樓層地圖位置確定(本地/遍布)+樓層地圖通過執(zhí)行“位置確定”服務(wù)與“樓層地圖”服務(wù)的組成,你發(fā)現(xiàn)你在該商店街內(nèi)的位置。你獲得對(duì)你的位置加了亮點(diǎn)的該商店街的樓層地圖。
根據(jù)位置過濾服務(wù)根據(jù)樓層,或者你所在的區(qū)域,你可以過濾服務(wù)。TCC I利用“位置確定”之一來過濾服務(wù)。TCC I將“位置確定”產(chǎn)生的“位置”的本體用于該過濾器所使用的級(jí)(例如樓層或區(qū)域)。你可以選擇TCC I上對(duì)服務(wù)進(jìn)行過濾的級(jí)。經(jīng)過進(jìn)行過濾,你在TCC I上就有合理數(shù)量的服務(wù)了。如果你選擇區(qū)域級(jí)過濾,則你僅在你的PDA上獲得區(qū)域或本地服務(wù)。
獲得路線指南地址選擇器+地圖路線選擇器購(gòu)物之后,你和你朋友決定去你幾個(gè)月前發(fā)現(xiàn)的一家餐館。在你的聯(lián)系人管理系統(tǒng)中有這家餐館的地址,但是你不知道如何從商店街到該餐館。幸運(yùn)的是,你發(fā)現(xiàn)在其上具有“地圖路線選擇器”的因特網(wǎng)服務(wù)臺(tái),該因特網(wǎng)服務(wù)臺(tái)是商店街為了方便訪問者設(shè)置的。通過執(zhí)行“地址選擇器”和“地圖路線選擇器”的組成并在彈出的“地址選擇器”對(duì)話框上選擇該餐館的地址,你在因特網(wǎng)服務(wù)臺(tái)上發(fā)現(xiàn)該路線。
P2P在該小節(jié),我們將說明一些P2P情況。下面的情況不必進(jìn)行因特網(wǎng)連接。它們應(yīng)該通過WLAN和藍(lán)牙的特定模式工作,而不會(huì)有任何問題。不訪問本體的一個(gè)可能限制是,服務(wù)的組成僅局限于輸入簽名與輸出簽名完全匹配。它們可以通過把曾經(jīng)使用過、經(jīng)常使用和/或眾所周知的本體本地保持在計(jì)算設(shè)備上來防止。
共享餐館信息白洞服務(wù)+插入聯(lián)系人列表你想與你朋友共享關(guān)于你最近發(fā)現(xiàn)的餐館的信息。你將聯(lián)系人項(xiàng)目從你的聯(lián)系人管理系統(tǒng)拖放到你的PDA上的白洞服務(wù)上。然后,你朋友執(zhí)行你的PDA上的聯(lián)系人提供服務(wù)與你朋友的PDA上的“插入聯(lián)系人列表”的組成,以將聯(lián)系人插入他或她的聯(lián)系人管理系統(tǒng)。
共享上次旅游中的照片白洞服務(wù)+本地拷貝你希望與你朋友共享上次旅游中的照片。在你的PDA上,你將照片文件從你的文件管理系統(tǒng)拖放到白洞服務(wù)上。然后,你朋友執(zhí)行你的PDA上的文件提供服務(wù)與你朋友的PDA上的“本地拷貝”的組成,以將照片文件拷貝到他或她的文件系統(tǒng)中。
共享收藏的音樂白洞服務(wù)+本地拷貝你希望與你朋友共享你喜好的新發(fā)布的音樂。在你的PDA上,你將音樂文件從你的文件管理系統(tǒng)拖放到白洞服務(wù)。然后,你朋友執(zhí)行你的PDA上的文件提供服務(wù)與你朋友的PDA上的“本地拷貝”的組成,以將音樂文件拷貝到他或她的文件系統(tǒng)中。
益處任務(wù)計(jì)算對(duì)最終用戶和開發(fā)商均提供了實(shí)質(zhì)性好處。
最終用戶任務(wù)計(jì)算的主要受益者是最終用戶。最終用戶從任務(wù)計(jì)算受益,因?yàn)?a)任務(wù)計(jì)算減少了使用當(dāng)今的復(fù)雜環(huán)境所需的專業(yè)知識(shí),(b)在執(zhí)行復(fù)雜任務(wù)時(shí),它們可以節(jié)省時(shí)間,以及(c)對(duì)于用戶與遍布計(jì)算環(huán)境交互,任務(wù)計(jì)算是一種更自然、有效的方式。
任務(wù)計(jì)算試圖重新定義用戶如何與計(jì)算環(huán)境交互以及如何使用計(jì)算環(huán)境。任務(wù)計(jì)算的基本前提是,對(duì)用戶提供可能處于用戶當(dāng)前環(huán)境中的任務(wù),以幫助用戶利用較簡(jiǎn)單任務(wù),象搭積木一樣,建立更復(fù)雜任務(wù),并指導(dǎo)用戶執(zhí)行該復(fù)雜任務(wù)。一旦用戶(或者由其他用戶)定義了復(fù)雜任務(wù),就可以再使用這種任務(wù),非常象當(dāng)今的流行應(yīng)用程序中的宏。與宏(至少M(fèi)ICROSOFT OFFICE用戶熟悉的宏)不同,積木任務(wù)以及獲得的復(fù)雜任務(wù)可以跨越多個(gè)應(yīng)用程序和多個(gè)計(jì)算平臺(tái)(不是單個(gè)設(shè)備)。實(shí)際上,任務(wù)計(jì)算的一個(gè)目標(biāo)是,用戶不需要知道,也不需要關(guān)心所執(zhí)行的實(shí)際組成任務(wù),或者在何處(在哪個(gè)機(jī)器上)執(zhí)行它們。任務(wù)計(jì)算的最終目標(biāo)是,對(duì)用戶顯示用戶可以特殊方式使用的資源(設(shè)備和服務(wù))的簡(jiǎn)要說明(abstract view),以執(zhí)行任意復(fù)雜性的任務(wù)。
以下我們可以對(duì)任務(wù)計(jì)算對(duì)最終用戶的優(yōu)點(diǎn)做個(gè)總結(jié)每天用于用戶任務(wù)計(jì)算的計(jì)算不需要用戶深刻理解她的計(jì)算環(huán)境和其內(nèi)的可用資源。任務(wù)計(jì)算對(duì)用戶顯示用戶當(dāng)前環(huán)境中可能的和可行的可能性(要做的事務(wù)),并在建立并執(zhí)行更復(fù)雜(而且可以再使用的)任務(wù)的過程中指導(dǎo)用戶。
對(duì)于所有用戶更節(jié)約時(shí)間對(duì)于新手和高級(jí)用戶,任務(wù)計(jì)算均可以節(jié)省時(shí)間,因?yàn)樵撓到y(tǒng)(而不是用戶)以與用戶環(huán)境和對(duì)象一致的方式對(duì)應(yīng)用程序之間的工作流和數(shù)據(jù)傳送進(jìn)行管理。此外,由于任務(wù)一旦被建立就可以再使用,所以用戶只需一次性定義復(fù)雜任務(wù)。
遍布環(huán)境解決方案所知曉的計(jì)算環(huán)境是遍布計(jì)算環(huán)境,其中充滿了事先不被最終用戶所知的設(shè)備和服務(wù)。此外,這種環(huán)境下的用戶設(shè)備(用戶使用它訪問遍布環(huán)境的功能性的設(shè)備,例如,PDA、移動(dòng)電話等)具有在物理上和功能上受限的用戶界面,這意味著,作為“程序員”的用戶的個(gè)人計(jì)算環(huán)境作法是不可行的。通過僅對(duì)用戶顯示可行的功能性,而且通過在這種環(huán)境下部分地自動(dòng)執(zhí)行復(fù)雜任務(wù),同時(shí)通過減少用戶監(jiān)視任務(wù)執(zhí)行過程并根據(jù)需要提供輸入,任務(wù)計(jì)算以個(gè)人計(jì)算作法不能實(shí)現(xiàn)的方式,解決了遍布計(jì)算環(huán)境的特質(zhì)問題。此外,因?yàn)槿蝿?wù)計(jì)算的實(shí)時(shí)性意味著用戶可以在他們規(guī)定和執(zhí)行任務(wù)的時(shí)間“查看”什么可行,所以任務(wù)計(jì)算解決了遍布計(jì)算環(huán)境的動(dòng)態(tài)性,其中設(shè)備和服務(wù)可以隨時(shí)工作,而且最終用戶通常事先對(duì)它們知之甚少。
開發(fā)商和商業(yè)機(jī)構(gòu)但是,最終用戶不是從任務(wù)計(jì)算受益的唯一受影響方。商業(yè)機(jī)構(gòu)和為他們開發(fā)應(yīng)用程序的開發(fā)商是其他受益者。在過期的10年中,我們感受到web進(jìn)步的革命性影響。Web包括各用戶可用的大量系統(tǒng)和應(yīng)用程序,同時(shí),擁有并控制這些系統(tǒng)的商業(yè)機(jī)構(gòu)必須通過開發(fā)商的勞動(dòng)將這些(通常是后端)系統(tǒng)“引入”web。這種變革改變了用戶與計(jì)算系統(tǒng)交互的方式,但是隨著變革的進(jìn)步,這是不完整的。用戶與計(jì)算系統(tǒng)交互,進(jìn)行搜索、輸入、剪切和粘貼、處理和理解這些應(yīng)用程序提供的任何輸出。具有常識(shí)的用戶理解如何對(duì)拖到任務(wù)或目標(biāo)使用特定應(yīng)用程序(web網(wǎng)站),或者正如通常發(fā)生的那樣,為了實(shí)現(xiàn)一個(gè)目標(biāo),如何與多個(gè)web網(wǎng)站交互。該方法存在兩個(gè)基本缺點(diǎn)(a)用戶被過度地涉及和依賴,以便執(zhí)行復(fù)雜任務(wù),如前面在本文件中描述的,以及(b)商業(yè)機(jī)構(gòu)不能從將他們的應(yīng)用程序引入web的投資中獲得資金收益。因?yàn)槌尸F(xiàn)給用戶的所有功能性被仔細(xì)地、但是不可改變地提供到web應(yīng)用程序(用戶面對(duì)著觀看應(yīng)用程序),使應(yīng)用程序或系統(tǒng)成為web應(yīng)用程序?qū)a(chǎn)生一個(gè)靜態(tài)系統(tǒng)。此外,為了建立新感興趣的應(yīng)用程序,該功能性不易與其他web應(yīng)用程序(可能由其他商業(yè)機(jī)構(gòu)擁有)的功能性組合在一起。最后,該設(shè)計(jì)時(shí)間(design-time)構(gòu)建耗時(shí),易出錯(cuò)并因此而非常昂貴。
最后一點(diǎn)是重點(diǎn),因此需要對(duì)其做進(jìn)一步詳細(xì)說明。推廣web服務(wù)的廣泛努力部分地是因?yàn)楫?dāng)前web應(yīng)用程序的局限性導(dǎo)致的。成功的web服務(wù)使得利用現(xiàn)有web應(yīng)用程序,特別是將現(xiàn)有web應(yīng)用程序的功能性表示為web服務(wù),然后將它們用作新應(yīng)用程序的積木,來開發(fā)新應(yīng)用程序變得更加容易了。此外,從這些新“元”應(yīng)用程序仍變成具有設(shè)計(jì)者將其設(shè)計(jì)到其實(shí)現(xiàn)過程中的功能性和可行性的靜態(tài)應(yīng)用程序意義上說,web服務(wù)是設(shè)計(jì)時(shí)間技術(shù)。
任務(wù)計(jì)算的目的在于,使功能性與提供它們的系統(tǒng)脫離關(guān)系,并豐富它們,以便對(duì)于更復(fù)雜的任務(wù),用戶以他們希望的任何方式將它們組合在一起。該新范例具有深遠(yuǎn)的效果,而且對(duì)于計(jì)算機(jī)工業(yè)提供最終用戶功能性的過程有益。
圖68示出任務(wù)計(jì)算之前的能力金字塔(Capability Pyramid)。通常,如圖68中的金字塔所示,最終用戶能力由建立在計(jì)算機(jī)(硬件和軟件)平臺(tái)頂部的應(yīng)用程序提供。因?yàn)槊總€(gè)應(yīng)用程序是對(duì)特定用途設(shè)計(jì)的,而因?yàn)樗峁┩ㄟ^設(shè)計(jì)編程提供的用戶功能性,所以擴(kuò)展最終用戶能力需要新應(yīng)用程序(或設(shè)備),或者在這種應(yīng)用程序與設(shè)備之間的定制連接。因此,少量提高最終用戶能力要求在下面的層進(jìn)行實(shí)質(zhì)性投資(勞動(dòng)力、金錢、時(shí)間),因?yàn)閷?duì)用戶提供的功能性與應(yīng)用程序和這種應(yīng)用程序運(yùn)行的平臺(tái)緊密相連。
該任務(wù)計(jì)算范例可以將大量附加能力(用戶可以做的事務(wù))傳送到用戶,而在對(duì)下面的層,即,設(shè)備和應(yīng)用程序以及支持它們的平臺(tái)提供的功能性進(jìn)行很少量投資。
圖69示出進(jìn)行任務(wù)計(jì)算之后,相反的能力金字塔范例。將傳統(tǒng)金字塔倒置的效果是,由于任務(wù)計(jì)算,所以利用給定的一組設(shè)備和應(yīng)用程序增加用戶能力的成本非常低。
任務(wù)計(jì)算的又一個(gè)益處在于,顯著提高諸如web服務(wù)和UPnP服務(wù)的e服務(wù)的價(jià)值,因?yàn)樗黾铀鼈兊挠脩艋A(chǔ)和潛在用途。程序員/開發(fā)商建立Web服務(wù),而且開發(fā)商將使用該web服務(wù)。為了利用它們建立應(yīng)用程序,而且還因?yàn)槿鄙倥c這些e服務(wù)的功能性有關(guān)的較深語義并且其內(nèi)部工作需要人檢查,該約束與需要實(shí)質(zhì)訣竅的程序設(shè)計(jì)界面的復(fù)雜性有關(guān)。此外,甚至簡(jiǎn)單發(fā)現(xiàn)(或者僅知道)這些e服務(wù)也是開發(fā)商驅(qū)動(dòng)的過程,因?yàn)槿鄙僬Z義。因?yàn)槿蝿?wù)計(jì)算可以使這些e服務(wù)對(duì)于進(jìn)行網(wǎng)上訪問的所有人(以及任務(wù)計(jì)算客戶機(jī))中的非常廣泛的用戶基礎(chǔ)可用,而且因?yàn)槊總€(gè)這種用戶均可以以各種方式將這些e服務(wù)中的每個(gè)e服務(wù)組成在一起,所以與對(duì)這種e服務(wù)的開發(fā)商設(shè)計(jì)的e服務(wù)的任務(wù)不同的任務(wù)通常接受多個(gè)用戶,并使用它們開發(fā)的e服務(wù)。
再參考圖13和14,因?yàn)樵诂F(xiàn)有web服務(wù)的頂部引入web服務(wù)的語義層抽象概念,而且因?yàn)闃?gòu)思、定義用戶任務(wù),而且就用戶而論,在語義層執(zhí)行,所以,升級(jí)提供該服務(wù)的實(shí)際服務(wù)(web服務(wù)),或者修改它,或者替換僅是以用戶不察覺的方式,將web服務(wù)的語義描述對(duì)手頭的新服務(wù)的連接進(jìn)行變更;這種方式不存在與改變所采用的web服務(wù)相關(guān)聯(lián)的成本。
這就是任務(wù)計(jì)算引起興趣之處。與靜態(tài)元-應(yīng)用程序相反,通過實(shí)時(shí)建立并執(zhí)行他們自己的任務(wù),用戶可以實(shí)時(shí)建立它們自己的“應(yīng)用程序”。對(duì)于開發(fā)商和商業(yè)機(jī)構(gòu)的益處在于,可以以各用戶隨心所欲的各種未計(jì)劃方式,采用(使用)商業(yè)機(jī)構(gòu)使其可以用作web服務(wù)的功能性。
應(yīng)用程序任務(wù)計(jì)算取決于語義描述服務(wù)和信息內(nèi)容的能力。根據(jù)服務(wù)的語義描述,該系統(tǒng)使用戶通過密集交互執(zhí)行任務(wù)。在這個(gè)意義上,任務(wù)計(jì)算可以被看作與被稱為語義web的web的下一次重復(fù)大致相關(guān)的語義啟動(dòng)應(yīng)用程序。即使語義web的廣泛成功取決于廣泛采用關(guān)于任何事情“向那邊(out there)”的本體,任務(wù)計(jì)算仍具有更適中的要求,因?yàn)椴幌胧顾蔀橥耆詣?dòng)的系統(tǒng)。
此外,任務(wù)計(jì)算還是一種解決新遍布(或普遍存在的)計(jì)算環(huán)境的復(fù)雜性的方法,這種計(jì)算環(huán)境由使其功能性可以用作服務(wù)的大量設(shè)備構(gòu)成。
即使用戶客戶機(jī)設(shè)備的因特網(wǎng)連通性可以最完全采用任務(wù)計(jì)算,但是對(duì)于任務(wù)計(jì)算,不要求全時(shí)因特網(wǎng)連通性。受限連通性導(dǎo)致對(duì)系統(tǒng)產(chǎn)生受限本體可用性,并因此導(dǎo)致系統(tǒng)能力受限。但是,即使本體不可用,該系統(tǒng)仍提供某種功能性,因此,每當(dāng)網(wǎng)絡(luò)連通性不可用時(shí),可以將經(jīng)常使用的本體高速緩存或存儲(chǔ)到用戶設(shè)備內(nèi),并被TCC使用。
任務(wù)計(jì)算用途的一大類是遍布環(huán)境,因此利用無線裝置的網(wǎng)絡(luò)連通性非常有益(無線LAN特殊模式、無線LAN信息基礎(chǔ)設(shè)施模式、藍(lán)牙(PAN)、IR等)。
接著,我們將提供一些正在使用的任務(wù)計(jì)算的例子。我們假定,用戶正在使用運(yùn)行諸如TCC I的任務(wù)計(jì)算客戶機(jī)的計(jì)算設(shè)備,或者正在使用可以與諸如TCC II的任務(wù)計(jì)算客戶機(jī)交互的web瀏覽器。我們將對(duì)在不同環(huán)境和場(chǎng)所使用的任務(wù)計(jì)算例子進(jìn)行說明。
家庭環(huán)境許多家用電器提供可以利用較清楚、簡(jiǎn)單語義描述的功能性,因?yàn)檫@種功能性具有良好定義的域和有限范圍。因此,家庭環(huán)境是任務(wù)計(jì)算的良好應(yīng)用領(lǐng)域。隨著家用電器變得更小,連接的家用電器的數(shù)量更多、更遍布(換句話說,“更不可視”),而且這些家用電器的數(shù)量不斷增長(zhǎng),家庭環(huán)境下的用戶發(fā)現(xiàn)(或找到)設(shè)備(或這些設(shè)備提供的服務(wù))、以容易理解的方式對(duì)用戶顯示它們以及允許用戶利用較少努力控制設(shè)備(或執(zhí)行服務(wù))變得非常難,這些就是任務(wù)計(jì)算的目標(biāo)。
圖70示出應(yīng)用程序eHome 7000的例子。除了通??赡艽嬖谟诩彝?002內(nèi)的諸如具有TCE 7004的PC、家庭網(wǎng)關(guān)路由器(HGR)以及PDA 7006的傳統(tǒng)計(jì)算設(shè)備外,其他多功能設(shè)備也連接到有線或無線網(wǎng)上?!凹彝ケO(jiān)視設(shè)備”7008、“視頻適配器”7010以及“音頻適配器”7012是3種這種設(shè)備。任務(wù)計(jì)算服務(wù)模塊安裝在它們內(nèi),這樣將該設(shè)備變換為語義服務(wù)提供者。模塊既可以是軟件包,又可以是硬件附屬裝置。HGR可以是允許家庭用戶互相共享文件,或者在所有者允許的情況下,與外部用戶共享文件的共享文件服務(wù)器。在這種環(huán)境下,PC、PDA或移動(dòng)電話7014可以用于進(jìn)行任務(wù)計(jì)算。
在防火墻7016之外,存在遍布服務(wù)7018和動(dòng)態(tài)服務(wù)入口7020,它們提供可以與用于任務(wù)計(jì)算用途的eHome服務(wù)組成在一起的附加服務(wù)。
家庭用戶可以利用該任務(wù)計(jì)算環(huán)境執(zhí)行各種任務(wù)。它們可以使用目錄發(fā)布器以在其PC上層發(fā)布視頻、音頻以及圖像目錄,并在諸如TV和錄音機(jī)的傳統(tǒng)設(shè)備上播放它們。在家里,他們可以利用他們的PDA或移動(dòng)電話遙控該設(shè)備。如果他們不在家,為了利用他們的PDA或移動(dòng)電話遙控該設(shè)備,他們?nèi)钥梢酝ㄟ^SSL反代理(reverse proxy)實(shí)現(xiàn)。他們可以將家庭監(jiān)視設(shè)備視頻作為視頻文件存儲(chǔ)到其PC內(nèi),并在之后,在家時(shí),或者外出時(shí),重新觀看它。他們可以將約定或聯(lián)系人存儲(chǔ)到動(dòng)態(tài)服務(wù)入口,以便之后隨處使用它們。利用以上說明的任何一種任務(wù)計(jì)算發(fā)布機(jī)制,他們可以與他們的朋友共享圖片。這些僅是家庭用戶可以做的一些事務(wù)的例子。重要的是應(yīng)該注意,在該環(huán)境下,未對(duì)所有這些任務(wù)進(jìn)行編程。一旦該功能性可以用作服務(wù),則該任務(wù)計(jì)算環(huán)境就可以使能所有這些任務(wù)。從用戶的觀點(diǎn)出發(fā),利用用戶使用的、設(shè)置在臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、PDA或移動(dòng)電話(無論位于家里還是位于家庭外部)上的任務(wù)計(jì)算客戶機(jī)的用戶界面,所有這些任務(wù)是可用的。
辦公室環(huán)境辦公室環(huán)境是任務(wù)計(jì)算的另一個(gè)感興趣應(yīng)用。設(shè)想訪問者(或雇員)在辦公室中。我們假定訪問者攜帶某種計(jì)算設(shè)備(或用于該事務(wù)的各種計(jì)算設(shè)備),例如膝上型計(jì)算機(jī)或PDA。在訪問者在辦公室內(nèi)移動(dòng)時(shí),她的任務(wù)計(jì)算環(huán)境為她顯示她可以根據(jù)其環(huán)境執(zhí)行的事務(wù)表以及其他設(shè)備和服務(wù)的實(shí)時(shí)可用性。
可以利用各種服務(wù)“裝備”該辦公室環(huán)境本身,許多服務(wù)起源于辦公室內(nèi)的設(shè)備。
圖71示出eOffice 7100的例子。在會(huì)議室7102內(nèi),運(yùn)行“通過投影儀觀看”、“音頻播放器”、“數(shù)碼照片像框”、“目錄發(fā)布器”、“撥號(hào)器”、“通過因特網(wǎng)服務(wù)臺(tái)觀看”、“地圖觀看器和路線選擇器”、“遍布打印”、“視頻播放器”、“圖像服務(wù)控制”以及許多“其他遍布服務(wù)”。在用戶個(gè)人的設(shè)備上,安裝TCE和某些“本地服務(wù)”。借助S-備忘錄和白洞,將遠(yuǎn)程服務(wù)加入該環(huán)境。
再參考圖71,通過網(wǎng)絡(luò)7104,會(huì)議室7102連接到地圖觀看與路線選擇器7106、通過服務(wù)臺(tái)觀看服務(wù)7108、撥號(hào)器7110、目錄發(fā)布器服務(wù)7112、數(shù)碼照片像框7114、音頻播放器服務(wù)7122、視頻播放器服務(wù)7124、遍布打印服務(wù)7126以及其他遍布服務(wù)7128。本地服務(wù)7120還與遠(yuǎn)程服務(wù)7130通信。
從用戶的觀點(diǎn)出發(fā),重要的是請(qǐng)注意,用戶事先不知道所有這些服務(wù)的可用性,而且她也不知道如何訪問它們和使用它們。用戶的任務(wù)計(jì)算環(huán)境負(fù)責(zé)自動(dòng)識(shí)別這些服務(wù)、理解它們提供的功能、而且僅負(fù)責(zé)訪問它們并使用它們。給定可用資源的情況下,用戶負(fù)責(zé)定義她的任務(wù)。對(duì)于她,在特定環(huán)境下,資源與她可以執(zhí)行的動(dòng)作有關(guān)。辦公室內(nèi)的這些(原子)動(dòng)作(作為服務(wù)執(zhí)行的)包括使用觀看服務(wù)通過公用顯示器通過投影儀查看對(duì)會(huì)議室安排的會(huì)議將會(huì)議添加到會(huì)議室日程安排中對(duì)于特定會(huì)議室對(duì)未來的訪問者留下便條將其他雇員或訪問者的聯(lián)系人信息附加到用戶設(shè)備上的PIM應(yīng)用程序中查看當(dāng)前位置附近的賓館列表查看當(dāng)前位置附近的餐館列表在地圖上觀看選擇的位置觀看本地機(jī)場(chǎng)的列表為了對(duì)其執(zhí)行某些動(dòng)作,從用戶設(shè)備選擇文件或URL。
觀看任意兩個(gè)位置之間的路線盡管這些動(dòng)作(功能性或服務(wù))中的一些動(dòng)作的興趣可能在它們自己的權(quán)利,但是任務(wù)計(jì)算的真正價(jià)值是,用戶可以將這些服務(wù)的輸入與輸出組合在一起,以定義并執(zhí)行更復(fù)雜動(dòng)作(任務(wù))。一旦用戶準(zhǔn)備好這樣做,運(yùn)行在用戶設(shè)備上的任務(wù)計(jì)算環(huán)境負(fù)責(zé)對(duì)用戶顯示,可用動(dòng)作(服務(wù))可以被組合在一起(考慮“積木”比喻)并執(zhí)行復(fù)合任務(wù)的可能方式。這些組成動(dòng)作(任務(wù))的例子包括通過公用顯示器觀看特定餐館在地圖上的位置,或者從當(dāng)前位置到該餐館或到機(jī)場(chǎng)的路線。
從用戶的本地設(shè)備上選擇要顯示在公眾可訪問的顯示器或投影儀上的URL或文件(例如,使用投影儀進(jìn)行顯示,而不必將電纜或?qū)Ь€連接到投影儀)以類似于交換商務(wù)卡的方式,將會(huì)議室內(nèi)共同參與人的聯(lián)系人信息插入運(yùn)行在她的PDA上的用戶的PIM內(nèi)。
將下一次會(huì)議的日程安排留在會(huì)議室內(nèi)重要的是請(qǐng)注意,這些更復(fù)雜任務(wù)都沒有被設(shè)計(jì)到該系統(tǒng)內(nèi)。用戶負(fù)責(zé)利用她自己的設(shè)備上的用戶界面“建立”這些復(fù)雜任務(wù),同時(shí)與運(yùn)行在她的設(shè)備上的任務(wù)計(jì)算環(huán)境交互。該環(huán)境負(fù)責(zé)執(zhí)行用戶定義的任務(wù)。該遍布環(huán)境下的可用服務(wù)的提供者(程序員)未考慮到他們可用的這些服務(wù)的特定用途。在取決于用戶的希望和環(huán)境的實(shí)時(shí)(執(zhí)行時(shí)間)中,這些服務(wù)用作實(shí)現(xiàn)更復(fù)雜任務(wù)的積木,用戶將永遠(yuǎn)不必直接與這些服務(wù)交互。
公用設(shè)施(機(jī)場(chǎng)、火車站等)在遍布環(huán)境下任務(wù)計(jì)算的另一個(gè)例子中,我們說明帶著她的PDA或移動(dòng)電話繞機(jī)場(chǎng)轉(zhuǎn)的旅行者的任務(wù)計(jì)算經(jīng)驗(yàn)。如圖72所示,在機(jī)場(chǎng)內(nèi)建立“遍布服務(wù)”,并將該服務(wù)連接到“網(wǎng)絡(luò)”。讓我們假定在該場(chǎng)所內(nèi)下面的服務(wù)可用。
使用通過公用顯示器的觀看服務(wù)查看在機(jī)場(chǎng)或周圍區(qū)域內(nèi)發(fā)生的事件列表查看機(jī)場(chǎng)內(nèi)的設(shè)施列表(休息室、餐館、咖啡館、吸煙區(qū))購(gòu)買報(bào)紙或雜志粘貼分類附加為了對(duì)其執(zhí)行某個(gè)動(dòng)作,從用戶設(shè)備選擇文件或URL在地圖上觀看選擇的位置觀看兩個(gè)位置之間的路線觀看航班信息(起飛、到達(dá)、入口)關(guān)于地面運(yùn)輸?shù)男畔⑷鐖D72所示,遍布服務(wù)7018與網(wǎng)絡(luò)7204交互,網(wǎng)絡(luò)7024還與PDA7206(或移動(dòng)電話)通信。
一旦用戶或者通過web連接,或者利用諸如藍(lán)牙或WLN的本地網(wǎng)絡(luò)連接連接到網(wǎng)絡(luò),她就可以執(zhí)行下面的任何一項(xiàng)任務(wù)通過公用顯示器(旅行者選擇的,或者由她的任務(wù)計(jì)算系統(tǒng)根據(jù)她的位置選擇的)觀看到旅行者的連接入口的方向指示(利用她的PDA上的、諸如MICROSOFT OUTLOOK的個(gè)人信息管理應(yīng)用程序,或PIM中的旅行者的航班信息),同樣,觀看到最近的吸煙區(qū)或休息室或咖啡館或餐館的方向指示,通過公用顯示器觀看從機(jī)場(chǎng)到機(jī)場(chǎng)附近發(fā)生事件的位置的方向指示,并對(duì)她的PDA上的、旅行者的PIM應(yīng)用程序附加正確條目。
圖72示出應(yīng)用機(jī)場(chǎng)7200的例子。圖72示出客戶機(jī)設(shè)備的屏幕畫面7208。如果客戶機(jī)設(shè)備含有TCE模塊,則它們可以將它們的本地服務(wù)與遍布服務(wù)組成在一起。然而,這不是強(qiáng)制性的。
還應(yīng)該注意,這些復(fù)雜任務(wù)均未被預(yù)編譯,但是它們是用戶利用該環(huán)境下的可用服務(wù)以及用戶動(dòng)態(tài)建立、而被用戶的任務(wù)計(jì)算環(huán)境執(zhí)行的服務(wù),實(shí)時(shí)(利用可用資源)構(gòu)建的。
零售區(qū)(咖啡館、商店街等)圖73示出客戶機(jī)設(shè)備的屏幕畫面7308。此外,圖73示出與網(wǎng)絡(luò)7304通信的遍布服務(wù)7108,網(wǎng)絡(luò)7304還與PDA 7306(或移動(dòng)電話)通信。
與對(duì)機(jī)場(chǎng)的方式類似,在諸如咖啡館、商店街等的遍布計(jì)算環(huán)境下,利用在上述例子中描述的概念,任務(wù)計(jì)算可以幫助最終用戶完成復(fù)雜任務(wù)。例如,可以對(duì)咖啡館應(yīng)用同樣的設(shè)置(圖73)。單獨(dú)、組成服務(wù)的提供者仍僅提供可以被用作積木的服務(wù),以便用戶構(gòu)建并執(zhí)行復(fù)雜任務(wù)。
攜帶PDA(或移動(dòng)電話)的客戶進(jìn)入咖啡館??Х瑞^提供的一些服務(wù)可以包括通過安裝在座臺(tái)上的顯示器,或公用等離子體顯示器,使用觀看服務(wù),查看發(fā)生在特定咖啡館或周圍區(qū)域內(nèi)的事件列表對(duì)可能到該商場(chǎng)的朋友留下個(gè)人便條,查看菜單,購(gòu)買報(bào)紙或雜志粘貼分類附加為了對(duì)其執(zhí)行某個(gè)動(dòng)作,從用戶設(shè)備選擇文件或URL在地圖上觀看選擇的位置觀看任何兩個(gè)位置之間的路線利用運(yùn)行在她的PDA上的任務(wù)計(jì)算環(huán)境,客戶可以嘗試做以下事情瀏覽菜單并下訂單,在她所在的桌子上傳送該訂單(因?yàn)門CE確定她的位置),確定執(zhí)行順序、付款以及在訂貨準(zhǔn)備好可以取時(shí)發(fā)出通知瀏覽可用供應(yīng),并選擇電子報(bào)紙以購(gòu)買,然后在用戶最終坐在任何位置時(shí),在臺(tái)式安裝的LCD上顯示該報(bào)紙。
發(fā)現(xiàn)某種事件的通告、根據(jù)判定參加一些事件,根據(jù)日程安排和指示檢查該事件,而且最終將該事件附加到她的日程安排中,并將一個(gè)便條發(fā)送到朋友與她一起去,對(duì)在她離開后可能到該咖啡館的朋友留個(gè)便條,例如“我去‘UnitedArtists’電影院看‘Minority Report’了,如果你喜好請(qǐng)與我一起看”。她可以包括到電影院的方向和關(guān)于“Minority Report”日程安排。
在通過臺(tái)式安裝的顯示器觀看時(shí),可以與朋友共享照片(存儲(chǔ)在客戶的PDA上),在該咖啡館內(nèi),為之后要到該咖啡館的其他朋友保留照片。在最后的例子中,用戶建立在他或她的PDA上提供照片文件的新服務(wù),這樣,他或她的朋友將執(zhí)行該新服務(wù)以將它們拷貝到他們的PDA中。
為了這些任務(wù)中的一些任務(wù),消費(fèi)者可能必須訪問在更廣闊的因特網(wǎng)上提供的服務(wù),但是仍可以從該咖啡館位置進(jìn)行訪問。與以前相同,用戶可以以以前未曾設(shè)計(jì)到系統(tǒng)內(nèi)的方式,將可用服務(wù)用作復(fù)雜任務(wù)的積木。
臺(tái)式機(jī)/膝上型機(jī)環(huán)境遍布計(jì)算環(huán)境不是任務(wù)計(jì)算的唯一應(yīng)用領(lǐng)域。任務(wù)計(jì)算還將用戶在當(dāng)今的個(gè)人計(jì)算環(huán)境下最終執(zhí)行復(fù)雜任務(wù)的方式變換為用戶使用她的膝上型機(jī)或臺(tái)式機(jī)時(shí)的情況。
讓我們對(duì)以下情況進(jìn)行研究。正在瀏覽因特網(wǎng)的用戶遇到感興趣事件,說了一句她有興趣參加。此發(fā)現(xiàn)之后,她手動(dòng)執(zhí)行以下操作在搜索引擎上輸入位置名稱(在這種情況下為賓館),以查找該事件的準(zhǔn)確地址。搜索引擎的一個(gè)例子是GOOGLETM。
在瀏覽了返回的結(jié)果后,用戶遇到具有關(guān)于該賓館的進(jìn)一步信息的網(wǎng)頁(yè),而在訪問該賓館的網(wǎng)頁(yè)后,她可能發(fā)現(xiàn)該賓館的準(zhǔn)確街道地址。
掌握了該地址,她可以將該地址輸入到因特網(wǎng)映射服務(wù)的搜索窗口內(nèi),以查看地圖上的位置。
如果用戶判定該位置便于參加,則她可以檢查是否與她的臺(tái)式機(jī)上的PIM應(yīng)用程序內(nèi)的日程安排沖突,然后,在判定參加該事件后,她可以回到映射服務(wù),輸入她的家庭地址或工作地址,并獲得到該事件位置的消息指導(dǎo)。
該步驟之后,她可能將該事件附加到她的PIM應(yīng)用程序,再輸入事件信息,或許利用駕駛指南和/或報(bào)告通告。
最后,她希望使感興趣加入該事件的同事注意該事件,并給他發(fā)送電子郵件,再附上該事件的描述以及到該事件的指南或地圖。
甚至對(duì)于知道如何執(zhí)行這一系列步驟的熟練用戶,執(zhí)行上述任務(wù)仍需要在在她的機(jī)器上調(diào)用應(yīng)用程序以及將信息從一個(gè)應(yīng)用程序傳送到另一個(gè)應(yīng)用程序方面花費(fèi)相當(dāng)長(zhǎng)的時(shí)間(或許15-20分鐘)。此外,在下一次用戶遇到感興趣事件時(shí),她必須通過同樣(或類似)的步驟,而且在執(zhí)行復(fù)雜任務(wù)方面,花費(fèi)同樣長(zhǎng)的不必要時(shí)間。最后,該手動(dòng)過程易出錯(cuò),這本身可能導(dǎo)致附加時(shí)延而且令用戶不滿。
讓我們研究使用任務(wù)計(jì)算用戶的經(jīng)驗(yàn)如何不同(參考圖74至76)。用戶的任務(wù)計(jì)算客戶機(jī)(TCC)被動(dòng)運(yùn)行,而用戶忙于她的日常任務(wù)。
用戶遇到感興趣對(duì)話的網(wǎng)頁(yè)。
在用戶遇到一個(gè)事件的網(wǎng)頁(yè)時(shí),TCC識(shí)別網(wǎng)頁(yè)上信息的性質(zhì)(意義或語義),即這是一個(gè)特定類型的事件,識(shí)別事件的發(fā)起人、地址、時(shí)間等,對(duì)用戶顯示TCC可以代表用戶執(zhí)行的可能并可行的動(dòng)作,如圖74所示。
圖75示出TCC識(shí)別在網(wǎng)頁(yè)上描述了什么,并對(duì)用戶建議一些提供當(dāng)前內(nèi)容和環(huán)境的可能動(dòng)作。
用戶可以選擇發(fā)現(xiàn)該位置的地址的動(dòng)作,這樣支持TCC搜索因特網(wǎng)上含有該位置的地址的網(wǎng)頁(yè)(賓館名稱)。
然后,TCC更新給出新信息的用戶可用動(dòng)作表,并動(dòng)作給出新信息的、修改的動(dòng)作表7500,如圖75所示。
圖75示出在用戶首先進(jìn)行選擇以發(fā)現(xiàn)對(duì)話位置的地址后,TCC發(fā)現(xiàn)該地址并對(duì)用戶顯示新可能動(dòng)作表。
然后,用戶選擇查看從她家到該位置的指南的動(dòng)作,TCC實(shí)際顯示有關(guān)位置表,以便如果可用,用戶從諸如家庭地址、工作地址或用戶的當(dāng)前位置中進(jìn)行選擇。
如果用戶判定該位置方便,則用戶可以選擇此時(shí),在TCC顯示的修改的屏幕上,將事件附加到她的PIM(如果與安排的其他活動(dòng)不沖突)。此外,她可以選擇包括將電子郵件發(fā)送到同事的動(dòng)作(再?gòu)挠脩麸@示的表中選擇)以及將所有相關(guān)信息附加到電子郵件7600,如76所示。
圖76示出在用戶在地圖上進(jìn)行選擇以檢驗(yàn)對(duì)話位置的地址的位置后,TCC顯示具有選項(xiàng)的修改的動(dòng)作表以保存此時(shí)之前的用戶動(dòng)作作為未來(再)使用的新任務(wù)。
在該處理過程的任何一部分,用戶均可以進(jìn)行選擇以保存序列步驟和動(dòng)作,作為未來使用的任務(wù),因此,在下一次用戶在同樣或類似的情況下發(fā)現(xiàn)她自己時(shí),組成任務(wù)(序列動(dòng)作)可以變成TCC顯示的可能并可行的動(dòng)作表上的可用動(dòng)作。
TCC仍負(fù)責(zé)執(zhí)行每個(gè)這種動(dòng)作,并在用戶引導(dǎo)工作流的任何點(diǎn)對(duì)用戶顯示更新的可能并可行的動(dòng)作。由于TCC能夠“理解”網(wǎng)頁(yè)的信息和可能動(dòng)作以及它們的輸入和輸出的意義,所以結(jié)果處理過程比手動(dòng)執(zhí)行工作流快得多。
請(qǐng)注意,利用用戶動(dòng)作自動(dòng)、動(dòng)態(tài)改變?cè)摥h(huán)境的情況。(新語義對(duì)象變成可用,因?yàn)橛脩魧?dǎo)航web。)這些環(huán)境的變化觸發(fā)了上述序列。
虛擬社區(qū)利用任務(wù)計(jì)算,各個(gè)體可以構(gòu)成虛擬社區(qū),其成員可以共享與該社區(qū)有關(guān)的服務(wù)以及個(gè)人擁有的服務(wù),例如,與擁有的設(shè)備有關(guān)的服務(wù),和/或他們中的每個(gè)個(gè)體運(yùn)行的服務(wù),利用其他任意一般可用服務(wù),每個(gè)成員可以為他們自己或者為該社區(qū)編寫這些服務(wù)。
對(duì)該社區(qū)(或者由社區(qū)的成員,或者由提供或者支持該虛擬社區(qū)功能的實(shí)體)準(zhǔn)備“社區(qū)服務(wù)發(fā)現(xiàn)”目錄,而對(duì)其成員提供用于注冊(cè)或去注冊(cè)與該社區(qū)有關(guān)的服務(wù)以及個(gè)人擁有的服務(wù),或者用于發(fā)現(xiàn)社區(qū)服務(wù)的界面。上述說明的發(fā)布與管理任務(wù)計(jì)算環(huán)境機(jī)制(SDSCM)可以用于共享社區(qū)內(nèi)的服務(wù)。特別是,白洞可以用作用于注冊(cè)諸如為社區(qū)提供服務(wù)的實(shí)例的圖形用戶界面。
用戶可以編寫并執(zhí)行包括社區(qū)服務(wù)和每個(gè)單獨(dú)用戶可用的其他服務(wù)的任意組成。
企業(yè)應(yīng)用程序集成(EAI)即使它可能花費(fèi)一段時(shí)間,但是我們?nèi)韵嘈湃蝿?wù)計(jì)算可以逐漸應(yīng)用于企業(yè)應(yīng)用程序集成(EAI)應(yīng)用領(lǐng)域。任務(wù)計(jì)算對(duì)EAI的一個(gè)可能應(yīng)用是通過交互和使用服務(wù)語義,支持EAI應(yīng)用的開發(fā)商。開發(fā)商具有較短的開發(fā)時(shí)間,而且對(duì)任務(wù)計(jì)算EAI應(yīng)用的維護(hù)支持不易出錯(cuò)的服務(wù)集成過程和有效試錯(cuò)過程。
動(dòng)態(tài)服務(wù)入口“動(dòng)態(tài)服務(wù)入口”基本上是一個(gè)語義web服務(wù)宿主。這可以是為了對(duì)其他免費(fèi)商務(wù)提供附加值設(shè)置的、或者是為某個(gè)組織設(shè)置的室內(nèi)服務(wù)等的收費(fèi)服務(wù)。
動(dòng)態(tài)服務(wù)入口的提供者準(zhǔn)備一組在需要時(shí)可以利用某些訪問控制的情況下,可以從網(wǎng)絡(luò)上的某些區(qū)域訪問的web服務(wù)。當(dāng)然,用戶可以訪問這些服務(wù)的區(qū)域和情況越多,該用戶就對(duì)用戶越有用。
例如,動(dòng)態(tài)服務(wù)入口的個(gè)人版可以是提供這種入口網(wǎng)站的功能性、被顯示為語義web服務(wù)的“MY YAHOO !”的語義web服務(wù)版。在這種例子中,動(dòng)態(tài)服務(wù)入口提供的服務(wù)可以包括●類屬文檔文件的遠(yuǎn)程文件夾服務(wù)●對(duì)諸如音樂、圖片、視頻等的特定類型文件規(guī)定的遠(yuǎn)程文件夾服務(wù)●用于聯(lián)系人、日程安排等的個(gè)人信息管理(PIM)服務(wù)●諸如天氣、地圖、金融信息、新聞等的信息提供服務(wù)多媒體遠(yuǎn)程文件夾服務(wù)可以與在線購(gòu)買數(shù)字內(nèi)容組合在一起。例如,在用戶購(gòu)買一個(gè)音樂作品時(shí),該音樂文件出現(xiàn)在音樂文件的遠(yuǎn)程文件夾上。
動(dòng)態(tài)服務(wù)入口的提供者允許其用戶具有這些web服務(wù)的語義服務(wù)描述(SDS)。提供者可以將附加在電子郵件上的這些SDS發(fā)送到用戶,或者利用電子郵件或者通過web網(wǎng)頁(yè),將到這些SDS的URL通知用戶。
通過利用諸如白洞的SDSCM,使這些SDS在本地或者遍布可用,用戶可以在任務(wù)計(jì)算環(huán)境(TCE)下使用這些web服務(wù)。在用戶使SDS在本地可用時(shí),相應(yīng)服務(wù)變得僅對(duì)該用戶可用。在用戶使SDS遍布可用時(shí),相應(yīng)服務(wù)變得不僅對(duì)該用戶可用,而且對(duì)同一個(gè)環(huán)境下作為用戶的其他人可用。在TCE的一個(gè)實(shí)施例中,用戶可以將SDS文件本身或到該SDS文件的URL拖到白洞,以使它在本地或遍布可用。利用PIPE,用戶可以將服務(wù)的可用性變更為本地可用或遍布可用,也可以臨時(shí)保持該SDS。
在用戶使動(dòng)態(tài)服務(wù)入口提供的特定web服務(wù)的SDS對(duì)她自己可用時(shí),該用戶可以在TCE內(nèi)使用該web服務(wù)。這意味著,用戶可以使用與本地、遍布或其他遠(yuǎn)程服務(wù)組成在一起的web服務(wù)。這就是諸如“MY YAHOO!”的動(dòng)態(tài)服務(wù)入口網(wǎng)站的優(yōu)點(diǎn)。一個(gè)入口網(wǎng)站的各服務(wù)的互操作可以直到進(jìn)入入口網(wǎng)站。結(jié)果某些入口網(wǎng)站對(duì)位于入口網(wǎng)站的數(shù)據(jù)和用戶計(jì)算設(shè)備上的應(yīng)用程序中的數(shù)據(jù)提供同步軟件,但是該軟件是獨(dú)占的,而且互操作在此結(jié)束。如果你超過它,你必須在web網(wǎng)頁(yè)與應(yīng)用程序之間進(jìn)行剪切和粘貼??梢栽赥CE內(nèi)實(shí)現(xiàn)動(dòng)態(tài)服務(wù)入口提供的語義web服務(wù),以便不僅與入口網(wǎng)站內(nèi)的服務(wù),而且與計(jì)算設(shè)備、遍布環(huán)境下的設(shè)備本地的服務(wù)以及遠(yuǎn)程服務(wù)(一些服務(wù)可能是由其他動(dòng)態(tài)服務(wù)入口提供的)互操作。這樣顯著提高了這種服務(wù)的利用率,而且對(duì)于用戶容易做的事情,提高用戶能力。
用戶可以在任何位置使用與任務(wù)計(jì)算兼容的任何設(shè)備訪問這些服務(wù)。用戶可以使用具有web瀏覽器的任何設(shè)備通過TCC II訪問這些服務(wù)。
用戶可以在任何位置(在家、在辦公室、在移動(dòng)中等)使用與本地/遍布/(其他)遠(yuǎn)程服務(wù)組成在一起的這些服務(wù)。
可以將社團(tuán)或室內(nèi)動(dòng)態(tài)服務(wù)入口看作一種新式ASP(應(yīng)用程序服務(wù)提供者)。除了上述提到的個(gè)人版的服務(wù)外,它還可以提供社團(tuán)、組織、雇員web服務(wù)。
該系統(tǒng)還包括永久或可拆卸存儲(chǔ)器,例如磁盤和光盤、RAM、ROM等,它們上面可以存儲(chǔ)和分布本發(fā)明的方法和數(shù)據(jù)結(jié)構(gòu)。還可以通過經(jīng)過例如諸如因特網(wǎng)的網(wǎng)絡(luò)下載,分銷這些方法。
根據(jù)詳細(xì)說明,本發(fā)明的許多特征和優(yōu)點(diǎn)將變得更加明顯,因此,所附權(quán)利要求試圖覆蓋屬于本發(fā)明實(shí)質(zhì)范圍的本發(fā)明的所有這些特征和優(yōu)點(diǎn)。此外,由于本技術(shù)領(lǐng)域內(nèi)的熟練技術(shù)人員容易設(shè)想出許多修改和變更,不要求本發(fā)明完全局限于所說明和描述的構(gòu)建和運(yùn)行過程,因此,所有修改和等效物均被再劃分在本發(fā)明范圍內(nèi)。
權(quán)利要求
1.一種基于計(jì)算機(jī)的系統(tǒng),該系統(tǒng)包括計(jì)算機(jī)系統(tǒng),執(zhí)行任務(wù)計(jì)算,從而使用戶能夠通過將可用功能性組合在一起來定義任務(wù)并執(zhí)行這種任務(wù)。2.根據(jù)權(quán)利要求1所述的基于計(jì)算機(jī)的系統(tǒng),其中可用功能性起源于設(shè)備、計(jì)算應(yīng)用程序以及通過遠(yuǎn)程過程調(diào)用可用的、包括web服務(wù)、UPnP、CORBA、RMI、RPC、DCE、DCOM的電子服務(wù),或者該可用功能性包括以前定義的任務(wù)。
3.根據(jù)權(quán)利要求2所述的基于計(jì)算機(jī)的系統(tǒng),其中所有可用功能性對(duì)用戶抽象為一服務(wù),而且以服務(wù)描述語言來表示每個(gè)服務(wù)。
4.根據(jù)權(quán)利要求3所述的基于計(jì)算機(jī)的系統(tǒng),其中每個(gè)服務(wù)具有至少一個(gè)與它相關(guān)聯(lián)的語義描述,通過任意組成服務(wù)建立者、服務(wù)所有者或某個(gè)其他第三方,可以提供每個(gè)語義描述,并且通過使其一個(gè)或者多個(gè)語義描述可用或不可用,可以使該服務(wù)可用或不可用。
5.根據(jù)權(quán)利要求4所述的基于計(jì)算機(jī)的系統(tǒng),該系統(tǒng)進(jìn)一步包括用于發(fā)現(xiàn)可用服務(wù)的裝置;用于根據(jù)所發(fā)現(xiàn)的服務(wù)與用戶和她的環(huán)境的相關(guān)性,對(duì)服務(wù)進(jìn)行過濾的裝置;用于規(guī)定可能與用戶合作的任務(wù)的裝置;用于執(zhí)行所規(guī)定的任務(wù)的裝置;以及用于建立、移除以及管理服務(wù)的可選裝置。
6.根據(jù)權(quán)利要求5所述的基于計(jì)算機(jī)的系統(tǒng),其中自動(dòng)地,或者根據(jù)用戶的指示,把規(guī)定的任務(wù)保存為新的可用服務(wù)。
7.根據(jù)權(quán)利要求6所述的基于計(jì)算機(jī)的系統(tǒng),其中作為服務(wù)保存的以前規(guī)定的任務(wù)對(duì)建立它們的用戶、對(duì)所有其他用戶、或者對(duì)任何由用戶定義的或預(yù)定義的用戶組是可用的。
8.根據(jù)權(quán)利要求7所述的基于計(jì)算機(jī)的系統(tǒng),其中用于發(fā)現(xiàn)服務(wù)的裝置利用一服務(wù)發(fā)現(xiàn)協(xié)議,該服務(wù)發(fā)現(xiàn)協(xié)議包括如下任何一種,或者它們的任意組合UPnP、UDDI、本地服務(wù)資料庫(kù)、Jini、藍(lán)牙SDP、會(huì)合以及紅外線(IR)。
9.根據(jù)權(quán)利要求8所述的基于計(jì)算機(jī)的系統(tǒng),其中用于過濾所發(fā)現(xiàn)的服務(wù)的裝置包括如下任何一種,或者它們的任意組合用戶概況、手頭任務(wù)、用戶設(shè)備特性、用戶位置、用戶運(yùn)動(dòng)狀態(tài)、用戶網(wǎng)絡(luò)連通性、用戶規(guī)定的關(guān)鍵字、在被總體看待時(shí)一組服務(wù)的特征、單獨(dú)服務(wù)特征。
10.根據(jù)權(quán)利要求9所述的基于計(jì)算機(jī)的系統(tǒng),其中用于規(guī)定任務(wù)的裝置包括如下任何一種,或者它們的任意組合基于計(jì)劃的自動(dòng)系統(tǒng),或者交互用戶界面,支持以下任何一種,或者它們的任意組合可視、語音、文本、盲文、觸覺。
11.根據(jù)權(quán)利要求10所述的基于計(jì)算機(jī)的系統(tǒng),其中用于執(zhí)行所規(guī)定的任務(wù)的裝置利用服務(wù)執(zhí)行機(jī)制,該服務(wù)執(zhí)行機(jī)制包括如下任何一種,或者它們的任意組合web服務(wù)調(diào)用、UPnP動(dòng)作、CORBA、RMI、RPC、DCE、DCOM、紅外線(IR)、本地功能調(diào)用以及本地對(duì)象調(diào)用。
12.根據(jù)權(quán)利要求11所述的基于計(jì)算機(jī)的系統(tǒng),其中用于建立、移除以及管理服務(wù)的裝置包括如下任何一種,或者它們的任意組合圖形用戶界面、服務(wù)執(zhí)行、設(shè)備交互、由用戶操作的設(shè)備的操作系統(tǒng)以及在用戶操作的設(shè)備上執(zhí)行的應(yīng)用程序產(chǎn)生的事件。
13.根據(jù)權(quán)利要求12所述的基于計(jì)算機(jī)的系統(tǒng),該系統(tǒng)進(jìn)一步包括用于發(fā)現(xiàn)服務(wù)的模塊;用于過濾服務(wù)的模塊;用于根據(jù)用戶目標(biāo)自動(dòng)規(guī)定任務(wù),或者用于通過對(duì)用戶提供關(guān)于可以如何將構(gòu)成任務(wù)的服務(wù)組成在一起的信息,幫助用戶規(guī)定任務(wù)的模塊;用于通過調(diào)用構(gòu)成任務(wù)的服務(wù)并通過對(duì)用戶提供在執(zhí)行調(diào)用的服務(wù)時(shí)與調(diào)用的服務(wù)進(jìn)行交互的裝置,幫助用戶執(zhí)行任務(wù)的模塊;以及用戶界面,幫助用戶進(jìn)行服務(wù)發(fā)現(xiàn)、服務(wù)過濾、服務(wù)組成、服務(wù)執(zhí)行以及保存所定義的任務(wù)待未來使用。
14.根據(jù)權(quán)利要求13所述的基于計(jì)算機(jī)的系統(tǒng),其中這些模塊在單個(gè)計(jì)算設(shè)備上執(zhí)行,或者其中這些模塊或這些模塊的子部件分步在多個(gè)計(jì)算設(shè)備上,而且可以被程序設(shè)計(jì)界面訪問,所述程序設(shè)計(jì)界面可以訪問優(yōu)選運(yùn)行在用戶操作的設(shè)備上的用戶界面。
15.根據(jù)權(quán)利要求12所述的基于計(jì)算機(jī)的系統(tǒng),其中在服務(wù)過濾之前、在任務(wù)規(guī)定之前、在任務(wù)執(zhí)行之前,用戶進(jìn)行服務(wù)發(fā)現(xiàn)。
16.根據(jù)權(quán)利要求15所述的基于計(jì)算機(jī)的系統(tǒng),其中正在進(jìn)行任務(wù)規(guī)定的用戶把服務(wù)發(fā)現(xiàn)或服務(wù)過濾,或者它們二者重復(fù)進(jìn)行一次或者多次。
17.根據(jù)權(quán)利要求16所述的基于計(jì)算機(jī)的系統(tǒng),其中正在進(jìn)行任務(wù)執(zhí)行的用戶把服務(wù)發(fā)現(xiàn),或服務(wù)過濾,或任務(wù)規(guī)定,或者它們?nèi)?,或者任意連續(xù)的兩個(gè)的任意組合重復(fù)進(jìn)行一次或者多次。
18.根據(jù)權(quán)利要求15、16和17中任何一個(gè)所述的基于計(jì)算機(jī)的系統(tǒng),該系統(tǒng)進(jìn)一步包括用戶界面,該用戶界面支持服務(wù)發(fā)現(xiàn)、服務(wù)過濾、服務(wù)規(guī)定以及服務(wù)執(zhí)行的工作流。
19.根據(jù)權(quán)利要求18所述的基于計(jì)算機(jī)的系統(tǒng),其中用戶界面是圖形用戶界面,而且它包括下面的任意組合發(fā)現(xiàn)窗格,用于顯示所發(fā)現(xiàn)的服務(wù)和過濾的服務(wù);詳情窗格,用于顯示從發(fā)現(xiàn)窗格上選擇的服務(wù)的附加信息;組成窗格,用于顯示發(fā)現(xiàn)窗格上的匹配服務(wù)的列表;構(gòu)建窗格,用于構(gòu)建服務(wù)的組成;信息窗格,用于顯示關(guān)于該工具的處理過程的一般信息,包括關(guān)于執(zhí)行進(jìn)度的信息;保存窗格,用于保存服務(wù)的組成;其中所有窗格或窗格的子集可以同時(shí)對(duì)用戶顯示,而且每個(gè)窗格上的動(dòng)作導(dǎo)致自動(dòng)更新顯示在其他窗格上的有關(guān)信息。
20.根據(jù)權(quán)利要求19所述的基于計(jì)算機(jī)的系統(tǒng),其中或者通過從發(fā)現(xiàn)窗格上選擇服務(wù)并選擇構(gòu)建功能,或者通過選擇一對(duì)匹配服務(wù)并選擇構(gòu)建功能,用戶可以移動(dòng)到構(gòu)建窗格。
21.根據(jù)權(quán)利要求19所述的基于計(jì)算機(jī)的系統(tǒng),其中通過對(duì)后端系統(tǒng)自動(dòng)確定的、可以進(jìn)行插入或刪除的每個(gè)可能位置,選擇增加或者減少功能,用戶可以對(duì)構(gòu)建窗格上的當(dāng)前編寫的任務(wù)附加或者移除服務(wù)。
22.根據(jù)權(quán)利要求19所述的基于計(jì)算機(jī)的系統(tǒng),其中正如下面的后端系統(tǒng)自動(dòng)確定的那樣,在構(gòu)建窗格上或者在組成窗格上,在任務(wù)變得可執(zhí)行時(shí),通過選擇執(zhí)行功能,用戶可以執(zhí)行規(guī)定的任務(wù)。
23.根據(jù)權(quán)利要求19所述的基于計(jì)算機(jī)的系統(tǒng),其中在用戶部分地規(guī)定一個(gè)組成之前或之后,系統(tǒng)自動(dòng)附加任何、預(yù)定或用戶定義的兼容可用服務(wù)組成,而且在每當(dāng)用戶選擇執(zhí)行功能時(shí),執(zhí)行該完整組成。
24.根據(jù)權(quán)利要求19所述的基于計(jì)算機(jī)的系統(tǒng),其中可以擴(kuò)展要保存的組成,以便其中的服務(wù)滿足與它們的特性有關(guān)的要求。
25.根據(jù)權(quán)利要求18所述的基于計(jì)算機(jī)的系統(tǒng),其中用戶界面是圖形用戶界面,而且它包括包含下面的任意組合的窗格發(fā)現(xiàn)窗格,用于顯示所發(fā)現(xiàn)的服務(wù)和過濾的服務(wù);詳情窗格,用于顯示從發(fā)現(xiàn)窗格上選擇的服務(wù)的附加信息;組成窗格,用于顯示發(fā)現(xiàn)窗格上的匹配服務(wù)的列表;構(gòu)建窗格,用于構(gòu)建服務(wù)的組成;信息窗格,用于顯示關(guān)于該工具的處理過程的一般信息,包括關(guān)于執(zhí)行進(jìn)度的信息;保存窗格,用于根據(jù)標(biāo)準(zhǔn),保存服務(wù)的組成;其中在任何給定時(shí)間,只有一個(gè)選項(xiàng)卡對(duì)用戶可見,而且每個(gè)窗格上的動(dòng)作導(dǎo)致自動(dòng)更新顯示在其他窗格上的有關(guān)信息。
26.根據(jù)權(quán)利要求25所述的基于計(jì)算機(jī)的系統(tǒng),其中或者通過從發(fā)現(xiàn)窗格上選擇服務(wù)并選擇構(gòu)建功能,或者通過根據(jù)組成選項(xiàng)卡選擇一對(duì)匹配服務(wù)并選擇構(gòu)建功能,用戶可以規(guī)定任務(wù)窗格。
27.根據(jù)權(quán)利要求25所述的基于計(jì)算機(jī)的系統(tǒng),其中通過對(duì)后端系統(tǒng)自動(dòng)確定的、可以進(jìn)行插入或刪除的每個(gè)可能位置,選擇增加或者減少功能,用戶可以對(duì)構(gòu)建窗格上的當(dāng)前編寫的任務(wù)附加或者移除服務(wù)。
28.根據(jù)權(quán)利要求25所述的基于計(jì)算機(jī)的系統(tǒng),其中正如下面的后端系統(tǒng)自動(dòng)確定的那樣,在構(gòu)建窗格上或者在組成窗格上,在任務(wù)變得可執(zhí)行時(shí),通過選擇執(zhí)行功能,用戶可以執(zhí)行規(guī)定的任務(wù)。
29.根據(jù)權(quán)利要求25所述的基于計(jì)算機(jī)的系統(tǒng),其中在用戶部分地規(guī)定一個(gè)組成之前或之后,系統(tǒng)自動(dòng)附加任何、預(yù)定或用戶定義的兼容可用服務(wù)組成,而且在每當(dāng)用戶選擇執(zhí)行功能時(shí),執(zhí)行該完整組成。
30.根據(jù)權(quán)利要求25所述的基于計(jì)算機(jī)的系統(tǒng),其中可以擴(kuò)展要保存的組成,以便其中的服務(wù)滿足與它們的特性有關(guān)的要求。
31.根據(jù)權(quán)利要求18所述的基于計(jì)算機(jī)的系統(tǒng),其中用戶界面是圖形用戶界面,而且它包括第一窗格,用于顯示所發(fā)現(xiàn)的服務(wù)和過濾的服務(wù);第二窗格,用于顯示用戶編寫的當(dāng)前組成;以及用于在組成的歷史中來回移動(dòng)的多個(gè)控件;以及用于在每當(dāng)可能時(shí)執(zhí)行組成的控件。
32.根據(jù)權(quán)利要求31所述的基于計(jì)算機(jī)的系統(tǒng),其中用戶界面自動(dòng)將選擇的服務(wù)設(shè)置在組成序列的適當(dāng)位置。
33.根據(jù)權(quán)利要求32所述的基于計(jì)算機(jī)的系統(tǒng),其中每當(dāng)可能時(shí),包括在對(duì)于一個(gè)可以執(zhí)行的組成、只能以單一方式組合可用的過濾服務(wù)時(shí)的情況,用戶界面將自動(dòng)完成組成。
34.根據(jù)權(quán)利要求18所述的基于計(jì)算機(jī)的系統(tǒng),其中用戶界面是web客戶機(jī)。
35.根據(jù)權(quán)利要求34所述的基于計(jì)算機(jī)的系統(tǒng),其中在執(zhí)行任務(wù)時(shí),用戶的瀏覽器可能彈出新窗口,或?qū)⒃摓g覽器重定向到一個(gè)新鏈接,該新鏈接允許用戶輸入與執(zhí)行任務(wù)有關(guān)的信息或關(guān)于該執(zhí)行的任務(wù)的反饋。
36.根據(jù)權(quán)利要求18所述的基于計(jì)算機(jī)的系統(tǒng),其中用戶界面是命令行界面,其中每次在用戶輸入可以與發(fā)現(xiàn)的和/或過濾的服務(wù)匹配的文本時(shí),在用戶按下預(yù)定鍵后,它插入匹配的服務(wù),或者,如果存在多個(gè)匹配,則它提供它們的列表,以便用戶通過進(jìn)一步輸入與多個(gè)服務(wù)中的一個(gè)服務(wù)匹配的文本,進(jìn)行選擇。
37.根據(jù)權(quán)利要求36所述的基于計(jì)算機(jī)的系統(tǒng),其中用戶選擇的服務(wù)序列包括對(duì)應(yīng)于任務(wù)的序列,而且可以隨后通過按下預(yù)定鍵執(zhí)行它。
38.根據(jù)權(quán)利要求14所述的基于計(jì)算機(jī)的系統(tǒng),其中在同一個(gè)計(jì)算設(shè)備上執(zhí)行發(fā)現(xiàn)模塊、過濾模塊、組成模塊以及執(zhí)行模塊和用戶界面。
39.根據(jù)權(quán)利要求38所述的基于計(jì)算機(jī)的系統(tǒng),其中組成模塊包括推理引擎,該推理引擎可以識(shí)別在給出組成服務(wù)的語義描述的情況下在一個(gè)組成中可以成功執(zhí)行的各服務(wù)的所有可能的成對(duì)組合。
40.根據(jù)權(quán)利要求38所述的基于計(jì)算機(jī)的系統(tǒng),其中組成模塊包括推理引擎,該推理引擎可以識(shí)別在給出組成服務(wù)的語義描述的情況下可以總體地成功執(zhí)行的各服務(wù)的所有可能組成。
41.根據(jù)權(quán)利要求39和40之任一所述的基于計(jì)算機(jī)的系統(tǒng),其中利用包括計(jì)算資源的上限、計(jì)算時(shí)間的上限、組成中的服務(wù)數(shù)量的標(biāo)準(zhǔn),或者利用要計(jì)算的成對(duì)匹配或組成的預(yù)定總數(shù),可以限制推理引擎返回的各服務(wù)的可能成對(duì)匹配或組成的數(shù)量。
42.根據(jù)權(quán)利要求41所述的基于計(jì)算機(jī)的系統(tǒng),其中推理引擎包括組成邏輯,其中該組成邏輯是一個(gè)規(guī)則,或一組規(guī)則,或一組邏輯語句。
43.根據(jù)權(quán)利要求38所述的基于計(jì)算機(jī)的系統(tǒng),其中發(fā)現(xiàn)模塊使用本地語義服務(wù)描述(SSD)數(shù)據(jù)庫(kù),或訪問遠(yuǎn)程SSD數(shù)據(jù)庫(kù),并利用通過其發(fā)現(xiàn)服務(wù)的發(fā)現(xiàn)機(jī)制的特定服務(wù)ID,從這些數(shù)據(jù)庫(kù)中檢索所發(fā)現(xiàn)的服務(wù)的SSD。
44.根據(jù)權(quán)利要求43所述的基于計(jì)算機(jī)的系統(tǒng),其中發(fā)現(xiàn)機(jī)制是UPnP,而ID是UPnP的唯一設(shè)備名(UDN)。
45.根據(jù)權(quán)利要求38所述的基于計(jì)算機(jī)的系統(tǒng),其中被稱為UPnP動(dòng)作的機(jī)制用于檢索指向服務(wù)的語義描述的一個(gè)或者多個(gè)指針。
46.根據(jù)權(quán)利要求14所述的基于計(jì)算機(jī)的系統(tǒng),其中在與執(zhí)行發(fā)現(xiàn)模塊、過濾模塊、組成模塊以及執(zhí)行模塊的計(jì)算設(shè)備不同的計(jì)算設(shè)備上運(yùn)行用戶界面。
47.根據(jù)權(quán)利要求46所述的基于計(jì)算機(jī)的系統(tǒng),其中用戶界面是利用http與發(fā)現(xiàn)模塊、過濾模塊、組成模塊以及執(zhí)行模塊通信的web客戶機(jī)(瀏覽器)。
48.根據(jù)權(quán)利要求46所述的基于計(jì)算機(jī)的系統(tǒng),其中用戶界面是在最終用戶的計(jì)算設(shè)備上執(zhí)行的并通過以下這些模塊的程序設(shè)計(jì)界面分別與發(fā)現(xiàn)模塊、過濾模塊、組成模塊以及執(zhí)行模塊通信的應(yīng)用程序。
49.根據(jù)權(quán)利要求14所述的基于計(jì)算機(jī)的系統(tǒng),其中最終用戶使用臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、筆式計(jì)算機(jī)、PDA或移動(dòng)電話中的任何一種。
50.根據(jù)權(quán)利要求12所述的基于計(jì)算機(jī)的系統(tǒng),其中服務(wù)可以具有一個(gè)或者多個(gè)界面,以便在執(zhí)行該服務(wù)之前或在執(zhí)行該服務(wù)的過程中,用戶與該服務(wù)交互。
51.根據(jù)權(quán)利要求14所述的基于計(jì)算機(jī)的系統(tǒng),其中服務(wù)包括如下任何一種“通過顯示器觀看”,允許用戶通過顯示器觀看用戶規(guī)定的文檔,并可選地控制如何顯示它;“通過多個(gè)顯示器觀看”,允許用戶通過一個(gè)以上的顯示器觀看用戶規(guī)定的文檔,并可選地控制如何顯示它;“地圖觀看器”,允許用戶觀看用戶規(guī)定位置的地圖,并可選地控制如何顯示它;“地圖路線選擇器”,允許用戶觀看從用戶規(guī)定的位置到預(yù)定的或用戶規(guī)定的位置/從預(yù)定或用戶規(guī)定位置到用戶規(guī)定的位置的路線的地圖或文本描述,并可選地控制如何顯示它;“實(shí)例提供服務(wù)”,在執(zhí)行時(shí),提供語義實(shí)例,其中語義實(shí)例是在本體中描述的類的實(shí)例;“打印”,允許用戶通過打印機(jī)以預(yù)定方式以特定格式打印用戶規(guī)定的文檔或語義實(shí)例,或者可選地控制如何打印它;“傳真”,允許用戶將用戶規(guī)定文檔的傳真發(fā)送到用戶規(guī)定的傳真號(hào)碼,并可選地控制如何傳真它;“播放視頻”,允許用戶播放用戶規(guī)定的視頻內(nèi)容,并可選地控制如何播放它;“播放音頻”,允許用戶播放用戶規(guī)定的音頻內(nèi)容,并可選地控制如何播放它;“數(shù)碼照片像框”,允許用戶顯示用戶規(guī)定的圖像內(nèi)容,并可選地控制如何顯示它;“位置確定”,自動(dòng)確定用戶操作的設(shè)備的位置;“目錄發(fā)布器”,允許用戶從同一種類型的一組實(shí)例中選擇一個(gè)實(shí)例;“電話撥號(hào)器”,允許用戶撥用戶規(guī)定的電話號(hào)碼;“TC存儲(chǔ)器”,允許用戶存儲(chǔ)或檢索文件;“拷貝到可拆卸存儲(chǔ)器”,允許用戶將一個(gè)或一組文件存儲(chǔ)到預(yù)定可拆卸存儲(chǔ)介質(zhì),并可選地控制如何保存它們;“電子郵件處理器”,允許用戶將可選地具有附加的用戶規(guī)定文檔的電子郵件發(fā)送到用戶規(guī)定的電子郵件地址,并可選地控制如何發(fā)送它;“列表選擇器”,允許用戶從同一種類型的語義實(shí)例列表中選擇語義實(shí)例;“特性選擇器”,允許用戶從語義實(shí)例中選擇一個(gè)特性;“你的輸入”,允許用戶輸入語義對(duì)象的屬性值;“實(shí)例觀看器”,允許用戶檢查并修改語義實(shí)例;“本地實(shí)例選擇器”,允許用戶選擇計(jì)算設(shè)備本地的一個(gè)或者多個(gè)語義實(shí)例;“語義實(shí)例拷貝器”,允許用戶將語義實(shí)例拷貝到本地計(jì)算設(shè)備內(nèi);“L-便條”,允許用戶閱讀并留下關(guān)于位置的便條;“數(shù)據(jù)庫(kù)發(fā)布器”,從數(shù)據(jù)庫(kù)發(fā)布全部或部分表格;“地點(diǎn)信息”,提供關(guān)于地點(diǎn)的信息;以及“宿主服務(wù)”,利用客戶機(jī)端的瀏覽器功能性實(shí)現(xiàn)其任務(wù),其任務(wù)包括“上載文件”,允許用戶從客戶機(jī)設(shè)備上載文件;“到輸入的URL”,允許用戶輸入U(xiǎn)RL;以及“通過瀏覽器觀看”,允許用戶通過客戶機(jī)設(shè)備觀看文件。
52.根據(jù)權(quán)利要求12所述的基于計(jì)算機(jī)的系統(tǒng),其中用于建立、移除以及管理服務(wù)的裝置包括如下任何一種或它們的組合用于通過一個(gè)或者多個(gè)所述發(fā)現(xiàn)機(jī)制,使SDS可用的裝置;用于改變發(fā)現(xiàn)機(jī)制以便使用的裝置;用于保持SDS的裝置;用于將SDS恢復(fù)到發(fā)現(xiàn)機(jī)制之一的裝置;用于從發(fā)現(xiàn)機(jī)制移除SDS的裝置;以及用于改變其包括有效期、調(diào)用限制以及訪問控制的發(fā)布參數(shù)的裝置。
53.根據(jù)權(quán)利要求52所述的基于計(jì)算機(jī)的系統(tǒng),其中用于建立、移除以及管理服務(wù)的裝置包括如下任何一種或它們的組合“PIPE”,用于提供本地或遠(yuǎn)程API,以發(fā)布和可選地管理服務(wù),并可選地對(duì)用戶提供用戶界面,以發(fā)布并管理服務(wù);“應(yīng)用程序的語義實(shí)例剪貼程序”,用于在實(shí)例對(duì)應(yīng)用程序可用時(shí),發(fā)布實(shí)例,并可選地允許用戶管理服務(wù)提供過程;“具有實(shí)例提供服務(wù)建立過程的實(shí)例選擇器”,用于允許用戶發(fā)布用戶為實(shí)例選擇器服務(wù)選擇的實(shí)例,并可選地允許用戶管理服務(wù)提供過程;“白洞”,用于允許用戶通過其用戶界面發(fā)布來自本地計(jì)算設(shè)備的對(duì)象作為語義實(shí)例,并可選地允許用戶管理服務(wù)提供過程;“公用目錄”,用于允許用戶通過設(shè)備發(fā)布實(shí)例,并可選地允許用戶管理服務(wù)提供過程;“庫(kù)”,允許用戶通過其服務(wù)調(diào)用過程發(fā)布實(shí)例,并可選地允許用戶管理服務(wù)提供過程;“圖像/音頻/視頻服務(wù)控制”,允許用戶發(fā)布設(shè)備建立的實(shí)例,或來自設(shè)備的實(shí)例,并可選地允許用戶管理服務(wù)提供過程;“可拆卸介質(zhì)發(fā)布器”,用于允許用戶通過插入計(jì)算設(shè)備中的可拆卸介質(zhì)發(fā)布實(shí)例,并可選地允許用戶管理服務(wù)提供過程;以及“傳真”,用于發(fā)布收到的文檔,并可選地允許用戶管理服務(wù)提供過程。
54.一種基于計(jì)算機(jī)的方法,該方法包括進(jìn)行任務(wù)計(jì)算,從而使用戶能夠通過將可用功能性組合在一起來定義任務(wù)并執(zhí)行這種任務(wù)。
55.根據(jù)權(quán)利要求54所述的基于計(jì)算機(jī)的方法,其中可用功能性起源于設(shè)備、計(jì)算應(yīng)用程序以及通過遠(yuǎn)程過程調(diào)用可用的、包括web服務(wù)、UPnP、CORBA、RMI、RPC、DCE、DCOM的電子服務(wù),或者該可用功能性包括以前定義的任務(wù)。
56.根據(jù)權(quán)利要求55所述的基于計(jì)算機(jī)的方法,其中所有可用功能性對(duì)用戶抽象為一服務(wù),而且以服務(wù)描述語言來表示每個(gè)服務(wù)。
57.根據(jù)權(quán)利要求56所述的基于計(jì)算機(jī)的方法,其中每個(gè)服務(wù)具有至少一個(gè)與它相關(guān)聯(lián)的語義描述,通過任意組成服務(wù)建立者、服務(wù)所有者或某個(gè)其他第三方,可以提供每個(gè)語義描述,以及通過使其一個(gè)或者多個(gè)語義描述可用或不可用,可以使該服務(wù)可用或不可用。
58.根據(jù)權(quán)利要求57所述的基于計(jì)算機(jī)的方法,該方法進(jìn)一步包括發(fā)現(xiàn)可用服務(wù);根據(jù)所發(fā)現(xiàn)的服務(wù)對(duì)用戶和她的環(huán)境的相關(guān)性,過濾服務(wù);規(guī)定可能與用戶合作的任務(wù);執(zhí)行規(guī)定的任務(wù);以及可選地建立、移除以及管理服務(wù)。
59.根據(jù)權(quán)利要求58所述的基于計(jì)算機(jī)的方法,其中自動(dòng)地,或者根據(jù)用戶的指示,把規(guī)定的任務(wù)保存為新可用服務(wù)。
60.根據(jù)權(quán)利要求59所述的基于計(jì)算機(jī)的方法,其中作為服務(wù)保存的以前規(guī)定的任務(wù)對(duì)建立它們的用戶、對(duì)所有其他用戶,或者對(duì)任何用戶定義的或預(yù)定的用戶組是可用的。
61.根據(jù)權(quán)利要求60所述的基于計(jì)算機(jī)的方法,其中用于發(fā)現(xiàn)服務(wù)的裝置利用服務(wù)發(fā)現(xiàn)協(xié)議,服務(wù)發(fā)現(xiàn)協(xié)議包括如下任何一種,或者它們的任意組合UPnP、UDDI、本地服務(wù)資料庫(kù)、Jini、藍(lán)牙SDP、會(huì)合以及紅外線(IR)。
62.根據(jù)權(quán)利要求61所述的基于計(jì)算機(jī)的方法,其中過濾所發(fā)現(xiàn)的服務(wù)的過程包括如下任何一種,或者它們的任意組合用戶概況、手頭任務(wù)、用戶設(shè)備特性、用戶位置、用戶運(yùn)動(dòng)狀態(tài)、用戶網(wǎng)絡(luò)連通性、用戶規(guī)定的關(guān)鍵字、在被總體看待時(shí)一組服務(wù)的特征、單獨(dú)服務(wù)特征。
63.根據(jù)權(quán)利要求62所述的基于計(jì)算機(jī)的方法,其中規(guī)定任務(wù)的過程包括如下任何一種,或者它們的任意組合基于計(jì)劃的自動(dòng)系統(tǒng),或者交互用戶界面,支持以下要素中的任何一種,或者它們的任意組合可視、語音、文本、盲文、觸覺。
64.根據(jù)權(quán)利要求63所述的基于計(jì)算機(jī)的方法,其中用于執(zhí)行規(guī)定的任務(wù)的裝置利用服務(wù)執(zhí)行機(jī)制,該服務(wù)執(zhí)行機(jī)制包括如下任何一種,或者它們的任意組合web服務(wù)調(diào)用、UPnP動(dòng)作、CORBA、RMI、RPC、DCE、DCOM、紅外線(IR)、本地功能調(diào)用以及本地對(duì)象調(diào)用。
65.根據(jù)權(quán)利要求64所述的基于計(jì)算機(jī)的方法,其中建立、移除以及管理服務(wù)的過程包括如下任何一種,或者它們的任意組合圖形用戶界面、服務(wù)執(zhí)行、設(shè)備交互、由用戶操作的設(shè)備的操作系統(tǒng)以及在用戶操作的設(shè)備上執(zhí)行的應(yīng)用程序產(chǎn)生的事件。
66.一種用于存儲(chǔ)其在被計(jì)算機(jī)執(zhí)行時(shí)使計(jì)算機(jī)執(zhí)行如下功能的程序的計(jì)算機(jī)可讀介質(zhì)進(jìn)行任務(wù)計(jì)算,從而使用戶能夠通過將可用功能性組合在一起來定義任務(wù)并執(zhí)行這種任務(wù)。
67.根據(jù)權(quán)利要求66所述的計(jì)算機(jī)可讀介質(zhì),其中可用功能性起源于設(shè)備、計(jì)算應(yīng)用程序以及通過遠(yuǎn)程過程調(diào)用可用的、包括web服務(wù)、UPnP、CORBA、RMI、RPC、DCE、DCOM的電子服務(wù),或者該可用功能性包括以前定義的任務(wù)。
68.根據(jù)權(quán)利要求67所述的計(jì)算機(jī)可讀介質(zhì),其中所有可用功能性對(duì)用戶抽象為一服務(wù),而且以服務(wù)描述語言來表示每個(gè)服務(wù)。
69.根據(jù)權(quán)利要求68所述的計(jì)算機(jī)可讀介質(zhì),其中每個(gè)服務(wù)具有至少一個(gè)與它相關(guān)聯(lián)的語義描述,通過任意組成服務(wù)建立者、服務(wù)所有者或某個(gè)其他第三方,可以提供每個(gè)語義描述,以及通過使其一個(gè)或者多個(gè)語義描述可用或不可用,可以使該服務(wù)可用或不可用。
70.根據(jù)權(quán)利要求69所述的計(jì)算機(jī)可讀介質(zhì),進(jìn)一步包括發(fā)現(xiàn)可用服務(wù);根據(jù)所發(fā)現(xiàn)的服務(wù)與用戶和她的環(huán)境的相關(guān)性,過濾服務(wù);規(guī)定可能與用戶合作的任務(wù);執(zhí)行規(guī)定的任務(wù);以及可選地建立、移除以及管理服務(wù)。
71.根據(jù)權(quán)利要求70所述的計(jì)算機(jī)可讀介質(zhì),其中自動(dòng)地,或者根據(jù)用戶的指示,把規(guī)定的任務(wù)保存為新可用服務(wù)。
72.根據(jù)權(quán)利要求71所述的計(jì)算機(jī)可讀介質(zhì),其中保存為服務(wù)的以前規(guī)定的任務(wù)對(duì)建立它們的用戶、對(duì)所有其他用戶,或者對(duì)任何用戶定義的或者預(yù)定的用戶組是可用的。
73.根據(jù)權(quán)利要求72所述的計(jì)算機(jī)可讀介質(zhì),其中發(fā)現(xiàn)服務(wù)的過程利用服務(wù)發(fā)現(xiàn)協(xié)議,服務(wù)發(fā)現(xiàn)協(xié)議包括如下任何一種,或者它們的任意組合UPnP、UDDI、本地服務(wù)資料庫(kù)、Jini、藍(lán)牙SDP、會(huì)合以及紅外線(IR)。
74.根據(jù)權(quán)利要求73所述的計(jì)算機(jī)可讀介質(zhì),其中過濾發(fā)現(xiàn)的服務(wù)的過程包括如下任何一種,或者它們的任意組合用戶概況、手頭任務(wù)、用戶設(shè)備特性、用戶位置、用戶運(yùn)動(dòng)狀態(tài)、用戶網(wǎng)絡(luò)連通性、用戶規(guī)定的關(guān)鍵字、在被總體看待時(shí)一組服務(wù)的特征、單獨(dú)服務(wù)特征。
75.根據(jù)權(quán)利要求74所述的計(jì)算機(jī)可讀介質(zhì),其中規(guī)定任務(wù)的過程包括如下任何一種,或者它們的任意組合基于計(jì)劃的自動(dòng)系統(tǒng),或者交互用戶界面,支持以下要素中的任何一種,或者它們的任意組合可視、語音、文本、盲文、觸覺。
76.根據(jù)權(quán)利要求75所述的計(jì)算機(jī)可讀介質(zhì),其中執(zhí)行規(guī)定的任務(wù)的過程利用服務(wù)執(zhí)行機(jī)制,該服務(wù)執(zhí)行機(jī)制包括如下任何一種,或者它們的任意組合web服務(wù)調(diào)用、UPnP動(dòng)作、CORBA、RMI、RPC、DCE、DCOM、紅外線(IR)、本地功能調(diào)用以及本地對(duì)象調(diào)用。
77.根據(jù)權(quán)利要求76所述的計(jì)算機(jī)可讀介質(zhì),其中建立、移除以及管理服務(wù)的過程包括如下任何一種,或者它們的任意組合圖形用戶界面、服務(wù)執(zhí)行、設(shè)備交互、由用戶操作的設(shè)備的操作系統(tǒng)以及在用戶操作的設(shè)備上執(zhí)行的應(yīng)用程序產(chǎn)生的事件。
全文摘要
基于計(jì)算機(jī)的系統(tǒng)包括任務(wù)計(jì)算,從而使用戶能夠通過將可用功能性組合在一起來定義任務(wù)并執(zhí)行這種任務(wù)。基于計(jì)算機(jī)的系統(tǒng)包括可用功能性,可用功能性起源于設(shè)備、計(jì)算應(yīng)用程序以及通過本地和遠(yuǎn)程過程調(diào)用可用的、包括web服務(wù)、UPnP、CORBA、RMI、RPC、DCE、DCOM的電子服務(wù),或者該可用功能性包括以前定義的任務(wù)。所有可用功能性對(duì)用戶抽象為一服務(wù),并以服務(wù)描述語言來表示每個(gè)服務(wù),而且各服務(wù)具有與它們相關(guān)聯(lián)的語義描述。
文檔編號(hào)G06F15/16GK1527222SQ20031012396
公開日2004年9月8日 申請(qǐng)日期2003年12月19日 優(yōu)先權(quán)日2002年12月19日
發(fā)明者益岡龍介, 約翰·郎布羅, 宋哲炫, 郎布羅 申請(qǐng)人:富士通株式會(huì)社