專利名稱:使用分離的任務和裝置描述來描述消費電子的方法和系統的制作方法
技術領域:
本發明一般涉及提供用于裝置的用戶控制的用戶界面,具體地講,涉及呈現和表示一組消費電子(CE)裝置的用戶任務。
背景技術:
典型的用于諸如CE裝置(如,TV、VCR、DVD播放機、CD播放機等)的裝置的用戶控制的用戶界面是這樣一種界面,即,在裝置中不表示用戶任務。而是,一組裝置功能被呈現給用戶并且用戶選擇這些裝置功能的組合以執行任務。例如,觀看影像帶需要用戶在VCR上選擇輸入(如,磁帶)、倒帶和按下播放。結果,用戶不能簡單地指定他/她希望“觀看”“影像帶”以自動執行以上操作。用戶不能表達期望的將被執行的任務(如,“觀看”“影像帶”),相反用戶必須直接控制裝置以執行期望的功能(如,在VCR上選擇輸入、倒帶和按下播放)。
這種方法類似于傳統的軟件結構,在傳統的軟件結構中,任務映射為應用程序的概念。例如,如果用戶想寫信,則該用戶運行具有適當功能性的文字處理程序。然而,除了映射到眾所周知的名稱的眾所周知的功能性外,這種方法幾乎沒有向用戶表達什么。另一種可供選擇的方法以菜單的形式將一組選項呈現給用戶。一些系統允許眾所周知的任務被列在菜單選項(如,拼寫檢查文檔或VCR上的即時記錄)中。然而,這種系統僅為用戶提供裝置功能。
另一個可供選擇的方法允許用戶用圖表表達任務(如,使用線條將一組描述的裝置連接在一起以執行期望的任務)。這種方法的問題是,它沒有掩蓋用戶使用裝置的復雜性。它簡單地用圖表將功能選擇表示給用戶并要求用戶指定執行任務所需要的連接。
另外,傳統上,使用諸如API語言的界面描述來描述消費電子。諸如UPNP、OSGi、Jini等的中間件已經將這種計算機程序界面的使用標準化。然而,這些界面除了呼叫被定義的界面外,沒有描述裝置達到能夠被另一個計算機/裝置有意義地使用的細節的任意程度。諸如CC/PP的其他方法以更多的細節集中描述能力和偏好,在所述其他方法中對于表示能力和偏好的計算裝置能夠表達屬性集。另外,語義網領域中的方法已經朝著更詳細闡述的描述能力的方向發展,諸如由DAML和RDF實施的工作。然而,這種方法僅描述了用于描述實體而不是特定的方法的核心。使用語義網和XML技術作為核心,諸如在HPL的以用戶為中心的設備集合的過去的工作已經試圖僅使用將任務與每個裝置相關聯的裝置描述來描述消費電子。例如,DVD“播放DVD”和TV“顯示影像”。這些方法的問題是它們沒有充分地描述裝置和它們的交互,這是因為存在許多具有比單個裝置能夠捕捉到的細節更多的細節的用戶任務。例如,播放DVD可能也要求將燈變暗。
因此,需要一種裝置交互的方法,所述裝置交互以靈活的描述而不是作為起黑匣子作用的控制器程序來被描述。也需要這樣一種方法以得到更接近匹配家庭裝置使用的用戶感知的結構的裝置交互。也需要這樣一種方法以提供任務描述,所述任務描述使得交互不以單個裝置為中心(即,沒有任務映射的直接裝置)。也需要這樣一種方法以提供用戶任務的描述以得到能共同操作的描述和描述的交換。
發明內容
本發明致力于上述需要。在本發明的一個實施例中,提供一種任務協調系統,該系統實現一種方法,該方法表示將被網絡中的多個電子裝置中的一個或多個執行的用戶任務。其中每個裝置包括指定裝置能執行的功能的功能描述。裝置功能性被表達為指定裝置能執行的功能的裝置描述。功能描述從所述裝置中的一個或多個被獲得。另外,描述用戶任務和執行某個任務所需的功能的任務描述也被獲得。然后,獲得的功能描述和任務描述被用于為用戶產生任務建議。每個用戶建議將用戶任務抽象地表示為偽語句,并且是從任務描述中被獲得,并可以使用獲得的裝置描述中的一個或多個。任務建議被顯示在顯示器上以供用戶從中選擇,其中,由選擇的任務建議表示的請求的任務將被所述裝置中的一個或多個執行。這樣,任務建議對系統的用戶掩蓋了裝置功能。
在一個實施例中,通過使用被組織為一組具有類別的術語的偽語句結構,將用戶建議表示給用戶,用戶建議將用戶任務描述為任務描述和裝置功能描述的抽象。用戶界面裝置被用于在顯示器上顯示任務建議以供用戶從中選擇,從而,它們能夠被選擇以在任務協調(自動操作)模塊的控制下由所述裝置中的一個或多個執行任務。
在任務建議中選擇時,允許用戶選擇偽語句元素/術語,從而,在系統中的任務協調模塊的控制下,用戶選擇的任務建議能夠被所述裝置執行。任務協調模塊能夠是系統的邏輯組件。
在一個示例中,用戶任務描述包括任務外部描述、任務特性、任務功能性和任務行為。任務外部描述略述用于和用戶交互的任務建議(即,偽語句)。任務特性表達關于用戶任務的信息。任務功能性表達執行用戶任務所需的功能性。并且,任務行為描述實現所需的功能性的裝置的順序和組合。裝置描述包括裝置功能性描述和裝置基礎,其中,功能性描述略述裝置的功能性,裝置基礎描述基于功能性描述的裝置控制。
同樣,在一個實施例中,任務協調模塊包括任務驅動的控制器,所述任務驅動的控制器從裝置中的一個或多個獲得裝置功能描述,獲得描述某個任務所需的裝置功能性的任務描述,從裝置描述和任務描述中產生任務建議,并且一旦任務建議被選擇,基于任務描述來執行選擇的任務建議,所述任務描述使用在獲得的裝置功能描述中描述的功能性。
通過下面結合描述、權利要求和附圖,本發明的這些特點、方面和優點將會變得被理解。
通過參考下面的描述、權利要求和附圖,本發明的這些和其它特點、方面和優點將會變得被理解,其中圖1A顯示根據本發明的任務協調系統的實施例的示例性結構的方框圖;圖1B顯示根據圖1A的系統的示例性任務協調處理的流程圖表;圖2顯示根據本發明的包括任務協調模塊的任務協調系統的另一個實施例的示例性結構的方框圖;圖3顯示在圖2的系統中使用偽語言的示例性任務建議;圖4顯示從裝置中獲得裝置功能描述以在圖2的系統中產生任務建議的示例;圖5顯示根據本發明的邏輯分離的任務描述和裝置描述的示例;圖6顯示在產生和顯示任務建議的操作中的示例性步驟的流程圖;和圖7顯示將用于選擇并由圖2的系統中的任務協調模塊執行的任務建議顯示給用戶的操作中的示例性步驟的流程圖。
具體實施例方式
在一個實施例中,本發明提供一種用于在一組不同的裝置上協調(orchestrate)用戶任務的系統,所述裝置諸如家中的消費電子裝置,在家中這些裝置在網絡中相互連接。協調用戶任務包括自動執行選擇用于執行任務的裝置的過程。在一個示例中,這包括獲得裝置功能描述和任務描述;基于獲得的裝置功能性描述和任務描述,產生任務建議;對所述任務建議分等級;允許用戶在所述任務建議中選擇;和協調(自動操作)所述裝置以執行選擇的/請求的任務建議。例如,如所提到的,任務建議能夠被描述為包括一組相互修飾的元素/術語的偽語句。
本發明允許使用偽語句來以遞增的和靈活的方式描述用戶任務,所述偽語句是人可讀的。因此,它不定義所述描述是如何映射為裝置的操作的,而是集中于如何以能夠被用戶解釋的方式表達任務操作。偽語句提供遠離底層裝置的抽象層。能夠使用偽語句以這樣一種方法描述任務,該方法大致類似于涂鴉手寫符號接近真正的羅馬字母(如,被比作自然語言的用戶任務的涂鴉和完全手寫識別)。在一個實現中,這使得簡潔的程序來確定用戶任務而不需復雜的自然語言處理。
任務協調作為高級的、面向任務的遠程控制來操作裝置,并為用戶最小化選擇和設置。因此,一些技術的組合被用于提供適合于自動操作用戶任務的協調的協調系統。
參考圖1A和1B中的示例性結構,根據本發明的任務協調系統10使用用戶的最小輸入使得用戶任務自動操作為一組協調的裝置行為。在一個形式中,任務協調系統10包括三種邏輯裝置(1)客戶裝置20,包括顯示用戶界面的裝置,(2)控制器裝置30,包括控制其他裝置的裝置,和(3)被控裝置40,包括由控制器控制的裝置。
根據本發明,每個邏輯裝置能夠具有能夠實現任務協調的特定功能性。具體地講,被控裝置40包括它們的功能性的增強描述(這個描述不描述它們的界面,而是抽象地描述它們的功能性),所述增強描述使用諸如語義標記語言的語言。此外,為了描述裝置功能性,裝置可以包括一個或多個用戶任務描述。任務描述能夠指定僅使用裝置的功能性、使用裝置的功能性和其他裝置的潛在功能性的任務,或只是其他裝置的任務。
包括任務協調(TO)模塊50的控制器裝置30包括協調裝置以執行用戶選擇的任務建議(即,任務請求)的功能性。除了控制訪問軟件外,控制器30在任務協調模塊50中包括推理系統(如,專家系統、規則系統等),所述推理系統能夠推斷出用于執行任務請求的一組行為和裝置。控制器30獲得任務和裝置功能性描述并使用這個信息來推斷(1)在給定當前裝置、它們的功能性和描述的任務的情況下,在系統中什么任務是有效的,和(2)什么裝置組合是潛在可用于實現請求的任務的。
客戶裝置20包括請求任務建議并對用戶顯示任務建議的功能性。因而,它們包括與控制器30的任務協調模塊50連接以將任務顯示給用戶的用戶界面。這種連接使用戶界面(如,GUI)能夠僅顯示在給定當前裝置40、任務和功能性的情況下的可能的任務建議。另外,如果部分任務建議已經被產生(即,部分任務請求已經被指定),則用戶界面可以使用控制器30來進一步減少可用的用戶選項。使用這種功能性,客戶裝置20能夠使用偽語句列出可用的任務和選項以作為用戶建議。任務建議由用戶選擇,并且執行選擇的任務建議的請求由控制器30處理以執行選擇的/請求的任務。這允許控制器30以簡化的方式確定什么用戶任務是期望的,并將其與任務描述匹配,最終與用于實現任務的裝置選擇和配置匹配。諸如在哪個屋子里播放影像的用戶偏好作為修飾語被指定為任務建議偽語句的一部分(如,偽語句“在臥室中”播放影像或“使用耳機”播放影像)。在以下通過使用分離的任務和裝置描述來描述消費電子,對用于選擇任務建議的搜索空間的這些部分(即,偽語句的可用部分)作進一步解釋。
圖2顯示根據本發明的任務協調系統10的示例性功能結構,包括用戶界面(GUI)模塊60和控制器30,所述控制器30包括作為底層客戶裝置40之上的頂層的任務協調模塊50。中間設備層/模塊70在控制器30和客戶裝置40之間。中間設備層/模塊70提供能夠實現裝置的控制的中間層功能(如,提供API以控制裝置)。中間設備層/模塊70的操作超出本發明的范圍,因此,不在這里進行詳細描述。
通過用戶界面60,任務協調模塊50允許呈現和表示能夠由一組消費電子裝置40執行的任務建議。因而,任務協調模塊50掩蓋了那些用戶建議是如何被映射到裝置40的,并且僅將任務建議表示給用戶。一種以遞增的和靈活的方式將任務描述為任務建議的方法被提供,所述方式也是人可讀的。這種方法不是將用戶集中于任務描述95是如何映射到裝置40的操作,而是集中于以能夠被用戶解釋的方式(如,被稱作偽語句的任務建議)來表達任務操作。
現在,還參考圖3,在一個示例中,能夠以表示偽語句的簡化的語言結構200來描述任務建議。這里為了描述的簡化,示例性結構被組織為一組相互修飾的術語,其中在這個示例中,一組標準化的定義行為的“動詞”被用作分層語言樹200的根。例如,“播放”、“顯示”、“觀看”、“調節”、“灌溉”等是一組“動詞”,接著每個“動詞”后面的是“對象”,諸如“相片”、“草地”、“電影”等。“對象”通過減少由“動詞”限定的行為的范圍來修飾所述“動詞”。
接著“對象”,是諸如實例的“修飾語”的組合,所述實例進一步將所述范圍減小到一個特定的行為。例如,“播放”“電影”“矩陣”增加了“矩陣”作為特定的實例。其他諸如“在私室中”或“在下午8點”的“修飾語”能夠被指定以控制任務。然而,其他修飾語可以指定電影“矩陣”存在于其上的媒體。注意,這種結構指定任務,而不是裝置行為。在這里,諸如改變音量或頻道的裝置行為不是任務,而是在存在的任務的行為(如,在“觀看”“TV”時改變音量)。在這種結構200中的單詞組合不是通過一組固定的用于特定環境(例如家)的術語來被填充的,而是通過位于裝置40中任務的標準化的描述來被填充的。這些裝置然后被詢問以產生基于系統中當前連接的或可獲得的裝置的可能的用于每個層次的術語集和修飾語。由于大量不相關的詞庫會使確定正確的偽語句很困難,因此這個方法使指定用戶任務變得更加容易。
現在還參考圖4中的示例性示圖,裝置40被詢問關于作為任務描述95的基于家庭網絡85(圖2)中的當前連接的或可獲得的裝置的可能的用于每個層次(即,偽語句中的位置)的一組術語和修飾語。這種方法簡化了指定任務建議,這是因為否則大量不相關的詞庫會使確定正確的偽語句很困難。
本發明的這個實施例的促進作用是僅確定基于其他術語或修飾語的當前選擇的可能的一組術語集或修飾語。例如,如果“播放”和“在CD播放機上”被選擇,則即使“播放”“影像”是可能的任務,在系統中它也不適合作裝置任務描述,這是因為影像不能在CD播放機上被播放。相反,如果“音樂”是基于裝置40呈現的唯一選項,則只有“音樂”被呈現給用戶。
本發明的這個實施例的另一促進作用是允許任務被部分指定(如,“播放”“音樂”“一首歌的名稱”)。如果多個任務匹配,則任務可以通過確定選項而為用戶例示。這能夠通過隨機選擇、通過基于過去請求來了解、或通過更復雜的方法來被例示。當用戶知道少數幾個選項存在或者任務協調模塊50能夠基于到目前為止的用戶輸入為用戶確定合適的選擇時,這使得用戶能減少他們的決策和用戶界面選項。由于任務協調模塊50基于可用的裝置和資源來確定可用的選項,所以任務協調模塊50也能夠填充可用的選項。例如,如果只有一個音樂裝置(CD播放機)存在,則屋子修飾語和裝置選擇在運行時作為任意的底層機器自動化的一部分而被去除。
因此,本發明允許用戶指定任務,而不是裝置操作;允許應用程序或裝置指定它們執行的功能;允許用戶界面僅搜索可被表達/執行的任務,而不是搜索可能存在的全部任務;提供允許用戶快速表達任務的標準化詞匯;并允許簡潔的程序來確定用戶任務而不需復雜的自然語言處理。
如所提到的,在另一方面,本發明提供一種使用分離的任務描述和裝置功能描述來描述消費電子裝置的方法。因此,使用裝置功能性描述和抽象的裝置交互來表達裝置交互。以這種方式,裝置描述(即,裝置功能性)和用戶任務(即,裝置使用)被邏輯地分成一組豐富的描述。使用這些描述,可以描述一組消費電子(諸如在家中的那些)和一組它們可以交互的可能的方式。基于任務描述和裝置描述的復雜性,復雜順序的、并行的和配合的交互能夠被表達,以協調家庭裝置的功能性以執行用戶任務。這提供抽象的裝置交互,其以靈活的描述而不是作為起黑匣子作用的控制器程序來被描述;裝置交互,其更接近地匹配家庭裝置使用的用戶感知的結構;任務描述,其允許交互不集中于單個裝置上。(即,沒有任務映射的直接裝置);和作為任務建議的用戶任務的描述,其允許能共同操作的描述和描述的相互交換。
參考圖5,在一個示例中,消費電子40的描述300被提供有兩種邏輯描述任務描述310(即,用戶任務)和裝置描述320(即,裝置功能性)。這些描述310和320以這樣一種方式相關聯任務建議能使得控制器30基于任務描述310來獲知家庭網絡85中什么可能的裝置40能夠被用于實現任務建議。這種描述310有許多用途,但是原則上,它使得任務與家庭網絡85中的裝置40分離。它也使得任務與黑匣子控制器類型的應用程序分離,所述黑匣子控制器類型的應用程序對于眾所周知的現有裝置,程序化地以預先確定和預先定義的順序執行任務。
如圖5中所示,任務描述310包括四個部分(1)任務外部描述330,(2)任務特性340,(3)任務功能性350和(4)任務行為360。任務外部描述330略述偽語句(注意在這個示例中,圖2中的任務描述95和圖5中的任務描述310是相同的)。任務特性340表達關于任務的有用信息(如,當DVD被播放時能選擇性地將燈變暗,或者某些用戶被允許使用這個任務)。任務功能性350表達任務實現它的目的所需的功能性。這個功能性使用與裝置描述320共享的術語來被描述,并描述裝置40的抽象功能性。例如,DVD播放機可以是“AVSource”。這個功能性被描述為功能性的層次。另外,如果DVD播放機具有一些多功能操作的形式,則它可以被描述為AV源。或者,簡單地,“DVDAVSource”是描述DVD播放機的“AVSource”的子類。最后,任務行為360描述實現列出的功能性的裝置的順序和組合。
另外,裝置描述320具有與任務描述類似的結構并共享功能性描述。裝置描述320可以包括功能性350A,其中,任務描述310中的任務功能性350映射為裝置描述320中的功能性350A。功能性350A能夠包括功能性描述370、裝置基礎(grounding)380和裝置屬性(如,屏幕大小、特征等)。功能性描述370略述裝置40的功能性。例如,CD播放機是AudioSink,而代碼轉換器將具有如MPEGAudioSink和MPEGAudioSource的功能性。裝置基礎380描述如何基于功能性描述370控制裝置40。例如,它可以包括URL來呼叫以改變音量級、設置裝置連接等。或者,它可以具有通過表達控制裝置所需的UPNP交互來控制UPNP裝置的基礎。如本領域的技術人員會認識到的,其他裝置控制協議也可以被利用。
在運行時,任務描述310和裝置描述320被任務協調模塊50讀取,并被分析以確定是否存在匹配任務功能性350的一組裝置40。如果存在,則任務協調模塊50將匹配任務功能性350的裝置作為用于任務的候選裝置。任務協調模塊50然后在可用的裝置40中循環以確定實現所述任務功能性350的裝置40的組合。匹配任務/裝置組合的集合從這個搜索被返回,并作為GUI 60上的輸出解決方案75(圖2)被呈現給用戶。用戶選擇他偏好的被映射為任務/裝置組合的偽語句,并通過使用任務行為來例示任務,所述任務行為依次需要裝置行為,所述裝置行為使用裝置描述320中的裝置基礎380以實現任務。
因為在描述300中裝置描述320與任務描述310僅是邏輯地分離,所以除參與較大的任務外,沒有什么防止裝置40將它的功能性描述為任務描述,并且所述描述能夠被物理地組合。一種可供選擇的實現是使用語義網技術構造裝置描述320和任務描述310,從而允許共享的語義本體(語言)被用于以其語義是機器可讀的方式充分地描述裝置和任務的所有方面。盡管上述描述是在家庭消費電子的環境(背景)中,但如本領域的技術人員所認識到的,本發明能夠被用在諸如移動裝置、桌面計算和企業計算等的其他應用中。
因而,模塊50將任務描述和裝置描述組合以確定裝置是否能用于特定的任務。為了執行用戶任務,模塊50獲得關于任務和裝置描述的組合的信息,以確定裝置的基礎信息,其中,任務描述包括模塊50使用其以協調裝置行為的行為腳本的順序。另外,模塊50將來自多個裝置描述的基礎信息和任務描述腳本組合以產生用于控制用于用戶任務的裝置的特定的腳本。在裝置描述的功能性基礎上指定裝置基礎信息。另外,裝置基礎信息指定交互和參數設置以確定裝置的控制。裝置基礎能夠以統一資源標識符(URI)的形式被指定以描述使用的行為和參數。另外,裝置基礎信息能夠包括被組合以實現所需功能性的多個基礎信息部分。此外,裝置描述能包括映射為控制或裝置軟件所使用的不同協議的多個基礎信息部分。
現在描述根據本發明實施例的使用上述方法以增強底層裝置40的功能性和智能的任務協調系統10的示例性實現。如圖2所示,任務協調系統10實現為用戶向系統10請求任務建議的技術以及解釋和處理任務建議的技術。在這個實施例中,幾個基于語義網的工具和技術被改編以構造有效的系統,包括用語義豐富的標記語言發展用于實體(如,裝置)的本體。本體被構建以表示家庭裝置40和用戶任務請求95,以下將更詳細地對其進行描述。
任務協調模塊50將任務建議提供給用戶,并從用戶接收請求以協調由用戶選擇的任務建議的執行。任務協調模塊50使用推理引擎65(圖1B)作為頂層,結合用戶界面60(圖2)通過以下操作來處理選擇的任務建議95解析選擇的任務建議95,發現能夠執行選擇的任務建議的適當的裝置40,并將這個信息傳到用于執行的底層(如,中間設備層/模塊70)上。在一個示例中,合適的標記語言與推理引擎65一起被用于對所述語言中表達的內容推理,由此實體互相通信和理解。在一個形式中,語義技術被用于描述裝置功能性和任務以促進裝置的以功能性為中心的連接。
例如,典型地,在家庭網絡85中裝置40的類別如下TV-顯示聲音/影像DVD-播放聲音/影像,顯示照片PC-顯示聲音/影像,顯示照片,玩游戲,AV源接收機-連接源到池,播放聲音,播放無線電廣播電冰箱-上網,播放聲音/影像,控制燈-控制電話-播放聲音,呼叫用戶,用戶數據庫PVR-記錄聲音/影像,暫停,播放,存儲照片,顯示照片照相機-記錄聲音/影像,播放聲音/影像,流傳輸聲音/影像等。
在家庭網絡85中可能的示例性任務能包括“灌溉”“公園”“播放”“電影”“矩陣”“以環繞聲音”“顯示”“照片”“巴西”“同步”“MP3播放器”“使變暗”“燈”“播放”“我的音樂”“起居室”上述示例(場景)使用諸如偽語句語言表達任務建議,而諸如語義語言被用于描述裝置和功能性,并且推理引擎被用于對所述知識推理并執行任務請求。在一個示例中,選擇用于表達本體/規則的語言提供語義級的協議、高度的靈活性和表達性、對于類別和包含的支持、對于數據類別的支持以及限定與約束的表達。知識庫105被包括在任務協調模塊50中(圖2)。
在另一個示例中,語義網技術能被用在任務協調模塊50中。語義網是當前網絡的擴展,在語義網中,信息被給予明確定義的意義,能更好地使計算機和人合作。為語義網設計的標記語言提供各種實體之間的共同理解。示例性的語義網技術包括為語義網而開發的DAML+OIL、DAML-S、OWL等。在任務協調模塊50的一個示例中,裝置和任務本體110使用DAML+OIL來被構建并被載入知識庫105中。裝置40的各種屬性和功能性被標識,并且本體被構建,所述本體也記錄屬性之間的關系。另外,基于所述本體使用DAML+OIL的裝置實例115被構建,其中,實例實質上是裝置在其界面和功能性方面的語義描述。如圖1B中的任務協調流程所示,用戶選擇的任務建議被分為如所要求的一個或多個任務,并被映射為能夠被可用的裝置執行的任務的功能性。可通過對本體中表達的信息推理(推論)并執行關于裝置/用戶狀態/偏好的附加規則來進行映射。
現在參考圖2和圖4中的示例,任務協調模塊50位于控制器30中,控制器30與為任務協調模塊50提供界面以在任何需要的時候獲得裝置描述的模塊交互。在一個實施例中,由存在的裝置提供的DAML+OIL任務實例120被聲明到知識庫105中,并且以Jess規則和/或DAML+OIL寫入的預定義的用戶偏好130也被載入知識庫105中。而且,與請求的任務相關的裝置偏好和與任務所需的功能性相關的屬性偏好被并入。所有可能的“動詞”(如,“播放”)和“對象”(如,“電影”)從知識庫105中被檢索并被顯示在GUI 60上。
因此,用戶的任務請求作為一組字段135(如,圖2)通過GUI 60被獲得,并作為任務協調模塊50的知識庫105的輸入被提供。在一個示例中,從用戶獲得的輸入包括所有可選的字段。在另一個示例中,從用戶獲得的輸入包括a)強制字段動詞、對象和內容、位置、目的裝置b)可選字段屬性(如,環繞聲音、寬屏等)在這個示例中,在用戶選擇“動詞”和“對象”后,任務協調模塊50與中間設備層/模塊70中的協議棧通信以獲得在“對象”的環境中相關的所有可用的內容。
當一獲得由用戶選擇的完整的任務建議時,任務協調模塊50解析該任務建議和相應的任務描述95并計算作為解決方案的能為請求服務的裝置40的所有可能的組合。然后,在通過GUI 60為用戶發送作為輸出75的顯示之前,任務協調模塊50應用偏好并對所述解決方案分等級。
如所提到的,任務協調模塊50通過GUI 60與用戶交互,并與推理引擎65(圖1B)和規則引擎130(圖2)交互。任務協調模塊50還包括知識庫105,知識庫105用于以事實的形式存儲本體110并將規則130應用于所述數據。
現在還參考圖6的流程圖步驟,現在描述示例性的操作場景1.在步驟400,在啟動期間,裝置和任務本體110被聲明到知識庫105中,其中,本體內容以“(PropertyValue subclass man person)”格式被轉換成事實。
2.在步驟405,裝置和任務實例115、120也被聲明到知識庫105中。在這里的示例中,本體110為視聽(AV)裝置(如,TV、CD播放機、DVD播放機、IPAQ、揚聲器和代碼轉換器等)而被實現。
3.在步驟410,在本體110和實例115、120被載入后,“動詞”、與“動詞”相關的“對象”和裝置40支持的“任務”被從知識庫105中的事實提取。
4.在步驟415,以類似的方式,執行以上標識的任務所需的“功能性”也被從知識庫105中的事實提取,并且為了容易檢索而被存儲為新的事實。
5.在步驟420,使用GUI 60,用戶通過選擇“動詞”、與“動詞”的環境相關的“對象”和相關的內容(其類別是選擇的對象)來指定/選擇任務建議95。用戶也能夠指定偏好的位置和/或將執行請求的/選擇的任務建議的目的裝置40。
6.在步驟425,執行任務所需的裝置功能性被標識(最好是,這個信息先前被計算并被存儲為容易檢索的事實,從而在這個步驟中花費很少的時間)。
7.在步驟430,任務協調模塊50將擁有要求的功能性的裝置40標識為解決方案。如果任務要求許多功能性,則任務協調模塊50標識一組能夠共同地執行/服務任務的裝置40。
8.在步驟435,在標識能夠執行用戶選擇的任務建議的一組裝置40后,用戶偏好130被應用到解決方案的集合并被給予等級。
9.在步驟440,解決方案的集合最終以它們的等級增加的順序作為輸出75被顯示給用戶。一個用于家庭網絡的示例性分等級的情況是家中的起居室中包括等離子-TV、PC、揚聲器和IPAQ。用戶已經這樣設置偏好當播放電影時選擇屏幕尺寸大于40英寸的裝置,并且當播放聲音時,偏好揚聲器勝于IPAQ。對于“在起居室中播放電影“矩陣””的任務請求,任務協調模塊50標識如下的能夠執行請求的/選擇的任務建議的裝置的組合(解決方案)PC&揚聲器、PC&IPAQ和等離子-TV。所述解決方案根據上面的用戶的偏好被分等級并被顯示給用戶為(1)等離子-TV、(2)PC&揚聲器、(3)PC&IPAQ。
用戶在所述解決方案中選擇最偏好的裝置40的組合,并通過使用依次需要裝置行為的任務行為來例示該任務,所述裝置行為使用裝置描述320(圖5)中的裝置基礎380以實現任務。如所提到的,一旦用戶選擇一組裝置40以執行請求的任務,任務協調模塊50就在任務所需的裝置上調用合適的界面。
以下,參考圖7的流程圖步驟,用戶界面模塊60的實施例的示例性操作被描述。用戶能夠使用GUI模塊以下面作為示例描述的四個步驟遞增地組成任務請求1.在步驟500,所有有效的“動詞”的列表被顯示在GUI 60中。用戶能夠從該列表中選擇“動詞”,然后點擊“下一步”以繼續到下一步(即,步驟505)。在點擊“下一步”之前的任何時候,用戶能夠改變選擇的“動詞”。
2.在步驟505,與選擇的“動詞”相關的所有“對象”的列表被顯示在GUI 60中。用戶能夠從該列表中選擇“對象”,然后點擊“下一步”以繼續到下一階段(即,步驟510)。在點擊“下一步”之前的任何時候,用戶能夠改變選擇的“對象”。用戶也能點擊“后退”或“重新開始”以進入前一階段(即,步驟500)并改變被選擇的“動詞”。
3.在步驟510,與選擇的“對象”相關的所有“內容”的列表被顯示。用戶能夠從該列表中選擇一些“內容”,然后點擊“下一步”以繼續到下一步(即,步驟515)。在點擊“下一步”之前的任何時候,用戶能夠改變選擇的“內容”。用戶也能點擊“后退”以進入前一步驟(即,步驟505)并改變選擇的“對象”,或者能點擊“重新開始”以進入步驟500并改變選擇的“動詞”。在上述步驟的任意一個步驟的期間或在步驟510的結束端,用戶能夠設置用于任務執行的期望位置和/或執行整個任務或部分任務的目的裝置。
4.在步驟515,任務協調模塊50在內部對以下內容推論選擇的“動詞”、“對象”、“內容”、用戶偏好(諸如位置、通過GUI設置的目的裝置和被指定為事實和規則的其他偏好)、以及關于任務協調模塊50在其知識庫105中擁有的存在的裝置與任務的事實。在推論后,任務協調模塊50確定能夠執行請求的任務的裝置的所有可能的組合(即,解決方案)。在任務協調模塊50內獲得的解決方案的集合被分等級并最終通過GUI 60被顯示給用戶(如,以等級增加的順序)。下面描述步驟515中的示例性處理。任務協調模塊50讀入任務和裝置描述,并將所述信息作為事實存儲在知識庫105中。推理引擎65解釋所述任務和裝置描述,并對沒有在所述任務和裝置描述中直接指定而是以類和屬性的形式被指定的新信息以及它們之間的關系推論。任務協調模塊50能夠處理并操作所述信息。
在一個示例中,任務協調模塊50中包括的基本步驟包括1.讀入任務和裝置描述。
2.將語義應用到任務和裝置描述中。
3.使用解析器轉換被載入知識庫105中的任務和裝置描述。
4.應用如上所述的其他規則和詢問。
如所提到的,本體110被構建為描述任務、裝置和用戶偏好的機制。通常,本體是概念化的規范;它是能為實體或實體的集合(如,裝置、用戶等)而存在的概念和關系的描述(如以程序的正式規范)。在這個示例中,裝置和任務基于它們的基本屬性/特性和/或提供或要求的功能性來被描述。該描述使用標記語言被編碼,其中,基于這個描述,用戶的任務請求能被理解、處理和服務。
另外,“功能性+內容類別”屬性能被包括在本體110中。在這里的本體110的示例性實施例中,對于裝置40提供的每種功能性,也指定哪種數據被接受為輸入(內容類別)、裝置40能從什么源接受輸入以及哪種數據被產生為輸出(若有的話)。這對于回答非常普通的并且沒有指定內容類別的請求是足夠的。然而,如果任務協調模塊50將為裝置40提供基于內容類別的查找,則需要表示功能性的方法,所述功能性包括不是作為分離的屬性的內容類別(如,mp3 render)。這能夠通過包含包括在本體110中的“功能性+內容類別”屬性而被實現。
此外,用于表達用戶偏好130的本體能被利用。在這里的示例性實施例中,偏好130能以與裝置實例115和任務實例120被指定的方式類似的方式來用標記語言表達。為了以標準/通用的格式進行這種描述以及更好地表達一組偏好的不同屬性之間的關系,基于所述本體,用戶的偏好的實例能被構建。
用于理解偏好的機制也能被實現。作為示例,任務協調模塊50能夠理解諸如“當播放電影時選擇具有更大屏幕尺寸的裝置”的偏好。最好是,任務協調模塊50能夠理解“等離子TV總是比其他類型的TV好,即使該其他類型的TV具有最大屏幕尺寸”。而且,能夠包括更普通的本體,所述更普通的本體可適用于所有類型的裝置,甚至在實現時未知的那些裝置。
盡管這里的示例與消費電子和家庭網絡有關,但如本領域的技術人員所應該認識到的,本發明能夠被應用到諸如移動個人裝置、桌面任務、復雜的企業系統等的其它裝置和結構。另外,盡管在本描述中,任務協調系統的實施例已經結合消費電子被描述,但本領域的技術人員認識到,本發明在其它應用中是有用的,在所述其他應用中,一組已知的實體與任務交互,并且需要一種用于那些實體的用戶協調的簡單方法。(如,指定裝配機器人上的各種操作或配置的生產線)。另外,因為進行了邏輯的裝置分離,因此不存在它們為什么不能被組合到物理裝置中的原因。盡管單個控制器/協調模塊在這里通過示例被描述,但是一組裝置可以參與控制器行為或參與確定裝置的協調。
本發明已經參考其某些優選形式被十分詳細地描述,然而,其他形式也是可以的。因此,權利要求的精神和范圍不應被限制為這里包括的優選形式的描述。
權利要求
1.一種在任務協調系統中表示將通過多個電子裝置的交互而被執行的用戶任務的方法,所述方法包括以下步驟將裝置功能性表達為指定裝置能夠執行的功能性的裝置描述;和基于裝置描述產生任務建議,其中,每個任務建議將用戶任務表示為所述裝置描述中的一個或多個的抽象;由此,用戶任務與裝置分離。
2.如權利要求1所述的方法,還包括以下步驟基于裝置描述和抽象的裝置交互來表達裝置交互,由此裝置功能性和裝置交互被邏輯地分離,以得到裝置的描述和一組裝置可交互的可行的方式。
3.如權利要求1所述的方法,其中,產生任務建議的步驟還包括以下步驟基于任務描述產生任務建議,其中,任務建議包括任務外部描述、任務特性、任務功能性和任務行為。
4.如權利要求3所述的方法,其中,任務外部描述略述用于和用戶交互的任務建議。
5.如權利要求3所述的方法,其中,任務特性表達關于用戶任務的信息。
6.如權利要求3所述的方法,其中,任務功能性表達執行用戶任務所需的功能性。
7.如權利要求3所述的方法,其中,任務行為描述實現所需的功能性的裝置的順序和組合。
8.如權利要求1所述的方法,其中,裝置描述包括裝置功能性描述和裝置基礎。
9.如權利要求8所述的方法,其中,裝置功能性描述略述裝置的功能性。
10.如權利要求8所述的方法,其中,裝置基礎基于功能性描述的裝置控制。
11.如權利要求3所述的方法,還包括以下步驟使用任務描述和裝置描述以確定一組能夠執行用戶任務的裝置。
12.如權利要求3所述的方法,其中,用戶任務描述包括提供能共同操作的描述和描述的相互交換的語義本體。
13.如權利要求1所述的方法,還包括以下步驟表達順序的、并行的和配合的裝置交互以協調裝置的功能性以執行用戶任務。
14.一種用于互相連接的裝置的網絡的任務協調系統,包括任務驅動的控制器,從所述裝置中的一個或多個獲得功能描述,并基于獲得的裝置功能描述產生任務建議,從而每個任務建議將用戶任務表示為獲得的裝置描述中的一個或多個的抽象,其中,裝置功能被表達為指定裝置能夠執行的功能的裝置描述,由此用戶任務與裝置分離;和用戶界面裝置,在顯示器上顯示任務建議以供用戶從中選擇,其中,由選擇的任務建議表示的用戶任務將被所述裝置中的一個或多個執行。
15.如權利要求14所述的系統,其中,在控制器中,裝置交互基于裝置描述和抽象的裝置交互來被表達,由此裝置功能性和裝置交互被邏輯地分離,以得到裝置的描述和一組裝置可以交互的可行的方式。
16,如權利要求14所述的系統,其中,控制器還基于任務描述來產生任務建議,其中,任務描述包括任務外部描述、任務特性、任務功能性和任務行為。
17.如權利要求16所述的系統,其中,任務外部描述概述用于和用戶交互的任務建議。
18.如權利要求16所述的系統,其中,任務特性表達關于用戶任務的信息。
19.如權利要求16所述的系統,其中,任務功能性表達執行用戶任務所需的功能性。
20.如權利要求16所述的系統,其中,任務行為描述實現所需的功能性的裝置的順序和組合。
21.如權利要求14所述的系統,其中,裝置描述包括裝置功能性描述和裝置基礎。
22.如權利要求21所述的系統,其中,功能性描述略述裝置的功能性。
23.如權利要求21所述的系統,其中,裝置基礎描述基于功能性描述的裝置控制。
24.如權利要求16所述的系統,其中,控制器使用任務描述和裝置描述以確定一組能夠執行用戶任務的裝置。
25.如權利要求16所述的系統,其中,用戶任務描述包括提供能共同操作的描述和描述的相互交換的語義本體。
26.如權利要求14所述的系統,其中,控制器表達順序的、并行的和配合的裝置交互以協調裝置的功能性以執行用戶任務。
27.如權利要求16所述的系統,其中,控制器還包括以下步驟將裝置功能描述構建為裝置本體;將任務描述構建為任務本體;和使用裝置和任務本體來將用戶選擇的任務建議映射為能夠被可用的裝置執行的任務。
28.如權利要求16所述的系統,其中,所述控制器還包括以下步驟將裝置功能描述構建為裝置本體;將任務描述構建為任務本體;基于裝置本體來構建裝置實例;基于任務本體來構建任務實例;使用裝置與任務本體和實例將用戶選擇的任務建議映射為能夠被可用的裝置執行的任務。
29.如權利要求16所述的系統,其中,所述控制器還控制裝置組合以執行選擇的用戶任務建議。
30.如權利要求16所述的系統,其中,結合控制器,用戶界面裝置顯示在給定可用的裝置、任務和裝置功能性的情況下的可能的任務建議。
31.如權利要求16所述的系統,其中,結合控制器,用戶界面裝置顯示基于裝置描述的可用的任務建議和選項。
32.如權利要求16所述的系統,其中,每個任務描述以本體語言被表達,其中,裝置將任務表達給控制器,從而控制器確定期望的用戶任務并將用戶任務描述匹配到用于執行用戶任務的裝置。
全文摘要
一種在任務協調系統中表示將被多個電子裝置中的一個或多個執行的用戶任務的方法。其中每個裝置包括指定裝置能夠執行的功能的功能描述。功能描述從所述裝置中的一個或多個裝置被獲得,描述某個任務所需的裝置功能性的任務描述被獲得,并且任務建議基于獲得的裝置功能描述和任務描述被產生。每個任務建議將用戶任務表示為獲得的裝置描述和任務描述中的一個或多個的抽象。任務建議被顯示在顯示器上以供用戶從中選擇,其中,基于任務描述,通過所述裝置中的一個或多個的協調(自動操作),用戶選擇的任務建議將被執行,所述任務描述使用在裝置功能描述中描述的裝置功能性。
文檔編號G06F3/033GK1855038SQ20051010495
公開日2006年11月1日 申請日期2005年9月22日 優先權日2004年9月24日
發明者麥瑟·艾倫, 庫吉撒帕撒·納吉撒 申請人:三星電子株式會社