專利名稱:用于并行多模通信會話持續(xù)的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明總的來說涉及通信系統(tǒng)和方法,更具體的,涉及多模通信的系統(tǒng)和方法。
背景技術(shù):
涉及例如手持裝置、移動電話、膝上型電腦、PDA、互聯(lián)網(wǎng)設(shè)備、非移動裝置以及其他適當裝置等通信裝置的新興技術(shù)領(lǐng)域是,用于獲得信息和服務(wù)的多模交互應(yīng)用。典型地,駐留在通信裝置上的是至少一個用戶代理程序,例如瀏覽器或其他任何用作用戶接口的適當軟件。用戶代理程序可響應(yīng)提取請求(由用戶經(jīng)用戶代理程序輸入或來自另一裝置或軟件應(yīng)用),接收提取的信息,經(jīng)內(nèi)部或外部連接在內(nèi)容服務(wù)器中導(dǎo)航,并呈現(xiàn)信息給用戶。用戶代理程序可以是圖形瀏覽器,語音瀏覽器或如本領(lǐng)域普通技術(shù)人員可識別的任何其他適當?shù)挠脩舸沓绦?。此種用戶代理程序可包括(但不限于)J2ME應(yīng)用程序、NetscapeTM、Internet ExplorerTM、java應(yīng)用程序、WAP瀏覽器、即時消息傳遞、多媒體接口、Windows CETM或任何其他適當?shù)能浖崿F(xiàn)。
多模技術(shù)允許用戶通過一種模式經(jīng)用戶代理程序獲取例如語音、數(shù)據(jù)、視頻、音頻或其他信息等信息,以及例如電子郵件、天氣更新、銀行交易和新聞或其他信息等服務(wù),并通過另一種不同模式接收信息。更具體的,用戶可以一種或多種模式提交信息提取請求,例如對麥克風說出提取請求,然后用戶可以用相同模式(即語音)接收提取的信息,或用不同模式接收提取的信息,例如通過圖形瀏覽器,它在顯示屏幕上以可視方式呈現(xiàn)返回的信息。在該通信裝置內(nèi),用戶代理程序以和標準Web瀏覽器或其他駐留在連接到網(wǎng)絡(luò)或其他終端裝置上的裝置中的適當軟件程序相似的方式運行。
同樣的,建議可允許用戶使用一個或多個用戶輸入和輸出接口的多模通信系統(tǒng),從而在通信期間促進多種模式的通信。用戶代理程序可位于不同裝置上,例如,網(wǎng)絡(luò)元件,諸如語音網(wǎng)關(guān)可能包括語音瀏覽器;例如手持裝置可包括圖形瀏覽器,諸如WAP瀏覽器;或其他適當?shù)幕谖谋镜挠脩舸沓绦颉R虼?,由于多模性能,用戶可以以一種模式輸入,而以不同模式接收返回的信息。
已經(jīng)建議試圖提供兩種不同模式用戶輸入的系統(tǒng),例如以語音模式輸入某些信息而通過觸覺或圖形接口輸入其他信息。一種建議提議使用串行異步方法,該方法需要例如用戶首先輸入語音,然后在語音輸入完成之后發(fā)送短消息。此種系統(tǒng)中的用戶在同一通信期間可能必須手動切換模式。因此,這一建議很麻煩。
另一建議的系統(tǒng)使用單個用戶代理程序,并在現(xiàn)有HTML頁面中標示語言標簽,從而用戶可以例如使用語音定位到Web頁,而非打出搜索詞,然后該相同的HTML頁面允許用戶輸入文本信息。例如,用戶可以說出詞“城市”,并打入地址,以從內(nèi)容服務(wù)器獲得可視地圖信息。然而,此種建議的方法通常強制將具有不同模式的多模式輸入輸入到一個裝置上的相同的用戶代理程序(通過相同瀏覽器輸入)內(nèi)。因此,通常在相同HTML形式中輸入語音和文本信息,并通過相同用戶代理程序處理語音和文本信息。然而該建議需要使用運行在單個裝置上的單個用戶代理程序。
因此,對于較簡單的裝置,例如具有有限處理能力和存儲容量的移動裝置,復(fù)雜的瀏覽器會降低裝置性能。同樣,這樣的系統(tǒng)不能促進通過不同用戶代理程序的并行多模信息輸入。此外,期望在多個裝置上提供并行多模輸入,從而允許在不同應(yīng)用程序或不同裝置中的分布式處理。
另一個建議提議使用多模網(wǎng)關(guān)和多模代理,其中多模代理提取內(nèi)容并輸出該內(nèi)容到通信裝置中的用戶代理程序(例如瀏覽器)和例如在網(wǎng)絡(luò)元件中的語音瀏覽器,從而該系統(tǒng)允許某裝置的語音和文本輸出。然而,此方法看來不允許用戶在不同模式中通過不同應(yīng)用程序的并行信息輸入,因為該建議也是單個用戶代理方案,要求輸出不同模式的提取信息到單個用戶代理程序或瀏覽器。
通信會話管理技術(shù)是已知的,它允許恢復(fù)先前終止的通信會話。例如,對于使用語音XML形式的系統(tǒng),如果用戶退出使用此形式,在服務(wù)器內(nèi)維護該形式的狀態(tài),從而用戶可以,例如通過瀏覽器重新連接到Web應(yīng)用程序,然后Web應(yīng)用程序會定位用戶的先前會話信息,并在用戶終止該會話時退出的先前狀態(tài)重新建立和用戶的會話。然而,此種技術(shù)通常只為一個模式提供會話持續(xù)。此外,這樣的系統(tǒng)通常在使用單個用戶代理程序的會話期間為用戶提供會話持續(xù)。
因此,需要一種用于并行多模通信的會話持續(xù)方法和設(shè)備。
在附圖中為示范目的而非限制目的顯示本發(fā)明,其中相同參考標記表示相同元件,其中圖1是顯示根據(jù)本發(fā)明一個實施例的多模通信系統(tǒng)的例子的框圖;圖2是顯示根據(jù)本發(fā)明一個實施例的用于多模通信的方法的例子的流程圖;圖3是顯示根據(jù)本發(fā)明一個實施例的用于多模通信的方法的例子的流程圖;圖4是顯示根據(jù)本發(fā)明一個實施例的用于混合接收的并行多模輸入信息的方法的例子的流程圖;圖5是顯示根據(jù)本發(fā)明實施例的多模網(wǎng)絡(luò)元件的例子的框圖;圖6是顯示根據(jù)本發(fā)明一個實施例的用于保持多模通信連續(xù)性的方法的例子的流程圖;圖7是顯示圖6所示的流程圖一部分的流程圖;以及圖8是顯示根據(jù)本發(fā)明一個實施例的并行多模通信狀態(tài)存儲器內(nèi)容的例子的框圖。
優(yōu)選實施例詳細說明簡要的,多模網(wǎng)絡(luò)元件通過一個或多個裝置上不同的用戶代理程序促進并行多模通信會話。例如,以語音模式通信的用戶代理程序,例如包括語音引擎和呼叫/會話終端的語音網(wǎng)關(guān)內(nèi)的語音瀏覽器,和另一運行在不同模式的用戶代理程序,例如移動裝置上的圖形瀏覽器同步。在通信期間,多個用戶代理程序可操作的和內(nèi)容服務(wù)器相連,從而允許并行多模交互。
多模網(wǎng)絡(luò)元件,例如,獲得用于相互之間運行在不同模式的多個用戶代理程序的模式特有指令,例如通過獲得和不同模式相關(guān)的不同的標記語言形式,例如和文本模式相關(guān)的HTML形式以及和語音模式相關(guān)的語音XML形式。多模網(wǎng)絡(luò)元件在通信期間根據(jù)獲得的模式特有指令,為用戶同步來自多個用戶代理程序的輸出。例如,語音瀏覽器被同步輸出音頻到一個裝置上,而圖形瀏覽器被同步并行輸出顯示到相同或不同裝置的屏幕上,從而允許用戶通過一個或多個用戶代理程序輸入。在用戶通過多個運行在不同模式的用戶代理程序輸入輸入信息的情況中,一種方法和設(shè)備響應(yīng)并行不同多模信息的請求,混合或鏈接接收到的并行多模輸入信息,該信息由用戶輸入并從多個用戶代理程序發(fā)送。這樣,通過不同的用戶代理程序促進了并行多模輸入,從而在并行多模會話期間可以使用多個裝置或其他裝置,或采用多種用戶代理程序的一個裝置。由多模網(wǎng)絡(luò)元件指定不同的代理,從而和各個設(shè)定在不同模式的不同用戶代理程序通信。
圖1顯示根據(jù)本發(fā)明一個實施例的多模通信系統(tǒng)10的例子。在此例子中,多模通信系統(tǒng)10包括通信裝置12,多?;旌戏?wù)器14,語音網(wǎng)關(guān)16以及內(nèi)容源,例如Web服務(wù)器18。通信裝置12可以是例如互聯(lián)網(wǎng)設(shè)備,PDA,蜂窩電話,有線置頂盒,電信息通信單元,膝上型計算機,臺式計算機或任何其他移動或非移動裝置。根據(jù)期望的通信類型,通信裝置12還可操作的和無線局域或廣域網(wǎng)絡(luò)20、WAP/數(shù)據(jù)網(wǎng)關(guān)22、短消息服務(wù)中心(SMSC/尋呼網(wǎng)絡(luò))24或任何其他適當?shù)木W(wǎng)絡(luò)通信。類似的,多?;旌戏?wù)器14可和任何適當裝置、網(wǎng)絡(luò)元件或包括互聯(lián)網(wǎng)、內(nèi)部網(wǎng)、多媒體服務(wù)器(MMS)26、即時消息傳遞服務(wù)器(IMS)28或任何其他適當網(wǎng)絡(luò)的網(wǎng)絡(luò)通信。因此,通信裝置12經(jīng)通信鏈路21、23和25與適當?shù)木W(wǎng)絡(luò)進行有效通信。類似的,多?;旌戏?wù)器14也適于經(jīng)如27所指的通用通信鏈路鏈接到不同網(wǎng)絡(luò)。在此例子中,語音網(wǎng)關(guān)16包含通用語音網(wǎng)關(guān)功能,包括(但不限于)語音識別引擎、手寫體識別引擎、面部識別引擎、通話控制、用戶規(guī)定算法以及如所期望的操作和維護控制器。在此例子中,通信裝置12包括用戶代理程序30,例如WAP瀏覽器形式的視覺瀏覽器(例如圖形瀏覽器)、手勢識別、觸覺識別或任何其他適當?shù)臑g覽器,還包括例如電話電路,該電話電路包括麥克風和揚聲器,如電話電路32所示。還可以使用其它適當結(jié)構(gòu)。
語音網(wǎng)關(guān)16包括其他用戶代理程序34,例如語音瀏覽器,以適于由電話電路32的揚聲器輸出的形式輸出音頻信息。然而,應(yīng)當認識到,揚聲器可位于不是通信裝置12的不同裝置上,例如尋呼機或其他PDA,從而輸出音頻到一個裝置,而在另一裝置上提供經(jīng)用戶代理程序30的視覺瀏覽器。還應(yīng)當認識到,雖然用戶代理程序34出現(xiàn)在語音網(wǎng)關(guān)16內(nèi),通信裝置12(如語音瀏覽器36所示)或其他適當裝置也可包含用戶代理程序34。為了如在此所述的提供并行多模通信,多個用戶代理程序,即用戶代理程序30和用戶代理程序34,在給定會話中以相互不同的模式操作。從而,用戶通過簽約公開的服務(wù)并在模式首選數(shù)據(jù)庫36內(nèi)預(yù)置模式首選項,能預(yù)先規(guī)定各用戶代理程序的模式,數(shù)據(jù)庫36可通過Web服務(wù)器18或任何其他服務(wù)器(包括MFS14)訪問。同樣,如果期望,用戶可以在會話期間選擇或改變給定的用戶代理程序的模式,如本領(lǐng)域中已知的。
并行多模同步協(xié)調(diào)器42可包括在通信期間臨時存儲用于多個用戶代理程序之一的模式特有指令的緩沖存儲器,補償和用于其他用戶代理程序的模式特有指令相關(guān)的通信延遲。因此,例如,如果需要,同步協(xié)調(diào)器42可以考慮系統(tǒng)延遲或其他延遲,等待并輸出模式特有指令到代理,從而將它們并行呈現(xiàn)在不同用戶代理程序上。
同樣,如果期望,用戶代理程序30可提供輸入接口,以使用戶屏蔽某些多模式。例如,如果某個裝置或用戶代理程序允許多模式操作,用戶可以指示在特定期間屏蔽某個模式。例如,如果該用戶的輸出模式是語音,但用戶所處環(huán)境嘈雜,例如用戶可以關(guān)閉到其語音瀏覽器的輸出。從用戶接收的多模屏蔽數(shù)據(jù)可由多?;旌戏?wù)器14存儲在例如存儲器602(參見圖5)中,指示在給定會話期間屏蔽哪些模式。同步協(xié)調(diào)器42然后避免獲得那些被標識為屏蔽的模式的模式特有指令。
信息提取器46從多模應(yīng)用程序54獲得用于多個用戶代理程序30和34的模式特有指令69。模式特有指令68和70被發(fā)送到用戶代理程序30和34。在此實施例中,多模應(yīng)用程序54包括識別模式特有指令的數(shù)據(jù),這些指令和不同的用戶代理程序,并因此和如下所述不同的模式相關(guān)。并行多模同步協(xié)調(diào)器42可操作的連接到信息提取器46,用于接收模式特有指令。并行多模同步協(xié)調(diào)器42還可操作的連接到多個代理38a-38n,從而指定給定會話所需的代理。
在不同的用戶代理程序30和34在不同裝置上時,本方法包括通過發(fā)送第一基于模式的標記語言形式到一個裝置來發(fā)送并行多模輸入信息68,70請求,并發(fā)送基于第二模式標記語言的形式到一個或多個其他裝置,來請求在同一通信中來自不同裝置的不同模式的用戶并行信息輸入。這些基于標記語言的形式作為模式特有指令68,70而獲得。
多模會話控制器40用于利用裝置上的會話控制算法檢測輸入會話、應(yīng)答會話、修改會話參數(shù)、終止會話及交換會話和媒體信息。如果期望,多模會話控制器40可以是會話的主會話端接點,或如果例如用戶希望建立和例如語音網(wǎng)關(guān)的另一網(wǎng)關(guān)的會話,它可以是次會話端接點,語音網(wǎng)關(guān)反過來會建立和多模會話控制器40的會話。
同步協(xié)調(diào)器發(fā)送輸出同步消息47和49到各個代理38a和38n,以有效同步它們到各個多個用戶代理程序的輸出,該同步消息包括并行多模輸入信息請求。代理38a和38n發(fā)送包含接收的多模輸入信息72和74的輸入同步消息51和53到并行同步協(xié)調(diào)器42。
并行多模同步協(xié)調(diào)器42使用代理或當用戶代理程序有此性能時使用用戶代理程序發(fā)送并接收同步消息47,49,51和53。當代理38a和38n接收來自不同用戶代理程序的已接收多模輸入信息72和74時,這些代理發(fā)送包含已接收多模輸入信息72和74的輸入同步消息51和53到同步協(xié)調(diào)器42。同步協(xié)調(diào)器42前傳接收的信息到多?;旌弦?4。同樣,如果用戶代理程序34發(fā)送同步消息給多模同步協(xié)調(diào)器42,多模同步協(xié)調(diào)器42會發(fā)送該同步消息到會話中的另一用戶代理程序30。并行多模同步協(xié)調(diào)器42還執(zhí)行消息轉(zhuǎn)換、同步消息濾波,從而使同步系統(tǒng)更加有效。并行多模同步協(xié)調(diào)器42可以維護在給定會話中正使用的當前用戶代理程序列表,從而當需要同步時,跟蹤那些需要被通知的用戶代理程序。
多?;旌戏?wù)器14包括多個多模代理38a-38n、多模會話控制器40、并行多模同步協(xié)調(diào)器42、多?;旌弦?4、信息(例如模式特有指令)提取器46以及語音XML解釋器50。至少多模會話控制器40、并行多模同步協(xié)調(diào)器42、多?;旌弦?4、信息提取器46以及多模標記語言(例如語音XML)解釋器50可用運行一個或多個處理裝置的軟件模塊實現(xiàn)。這樣,當由一個或多個處理裝置讀取時,包含可執(zhí)行指令的存儲器使該一個或多個處理裝置執(zhí)行在此描述的關(guān)于各軟件模塊的功能。多?;旌戏?wù)器14因此包括這些處理裝置,上述裝置可能包括(但不限于)數(shù)字信號處理器、微計算機、微處理器、狀態(tài)機或任何其他適當?shù)奶幚硌b置。存儲器可以是ROM、RAM、分布式存儲器、閃存任何其他可存儲狀態(tài)或其他數(shù)據(jù)的適當存儲器,當由處理裝置執(zhí)行時,這些存儲器可使一個或多個處理裝置如在此所述的運行。可選的,軟件模塊的功能適于在硬件或如所期望的,在任何硬件、軟件和固件的適當組合中實現(xiàn)。
多模標記語言解釋器50可以是狀態(tài)機,或其他適當硬件、軟件、固件或任何它們的合適組合,此外還執(zhí)行多模應(yīng)用程序54提供的標記語言。
圖2顯示執(zhí)行多模通信的,在此例子中由多?;旌戏?wù)器14執(zhí)行的方法。然而,應(yīng)當認識到,在此描述的任何步驟都可以任何適當順序或由任何適當裝置或多個裝置執(zhí)行。對于當前的多模會話,用戶代理程序30(例如WAP瀏覽器)發(fā)送請求52到Web服務(wù)器18,請求來自可由Web服務(wù)器18訪問的并行多模應(yīng)用程序54的內(nèi)容。這可以通過例如輸入URL或點擊圖標或使用任何其他通用機制實現(xiàn)。同樣如虛線52所示,每個用戶代理程序30和34都發(fā)送用戶模式信息到標記解釋器50。用作內(nèi)容服務(wù)器的Web服務(wù)器18從模式首選數(shù)據(jù)庫36中獲得通信裝置12的多模首選項55,之前通過到并行多模服務(wù)的用戶預(yù)先處理填充該數(shù)據(jù)庫。Web服務(wù)器18然后通過可能包含來自數(shù)據(jù)庫36的用戶首選項的通知56通知多?;旌戏?wù)器14,指明例如在并行多模通信中正在使用哪些用戶代理程序,以及每個用戶代理程序都設(shè)定在什么模式。在此例子中,用戶代理程序30被設(shè)定在文本模式,用戶代理程序34被設(shè)定在語音模式。然后并行多模同步協(xié)調(diào)器42在會話期間確定,多個多模代理38a-38n中的哪些被用于各用戶代理程序30和34。這樣,并行多模同步協(xié)調(diào)器42將多模代理38a指定為文本代理,和設(shè)定為文本模式的用戶代理程序30通信。類似的,并行多模同步協(xié)調(diào)器42將多模代理38n指定為傳送用于運行在語音模式的用戶代理程序34的語音信息的多模代理。如Web頁面提取器46所示的信息提取器,從和并行多模應(yīng)用程序54相連的Web服務(wù)器18獲得模式特定指令,例如標記語言形式或其他的數(shù)據(jù)。
例如,在多模應(yīng)用程序54請求用戶輸入語音模式和文本模式的信息時,信息提取器46獲得經(jīng)請求66輸出到用戶代理程序30的相關(guān)HTML標記語言形式和輸出到用戶代理程序34的相關(guān)語音XML形式。然后,由用戶代理程序呈現(xiàn)這些模式特有指令(例如輸出到屏幕或通過揚聲器)作為輸出。并行多模同步協(xié)調(diào)器42在會話期間根據(jù)模式特有指令同步來自多個用戶代理程序30和34的輸出。例如,并行多模同步協(xié)調(diào)器42會在適當時間發(fā)送代表不同模式的適當?shù)臉擞浾Z言形式到各個用戶代理程序30和34,從而當在通信裝置12上呈現(xiàn)語音時,它會和經(jīng)用戶代理程序30輸出到屏幕上的文本同時呈現(xiàn)。例如,多模應(yīng)用程序54以可聽指令形式經(jīng)用戶代理程序34給用戶提供關(guān)于期望經(jīng)文本瀏覽器輸入什么信息的指令,同時等待來自用戶代理程序30的文本輸入。例如,多模應(yīng)用程序54可能需要“請在您期望離開時間之后輸入您的期望目的城市”的語音輸出,同時經(jīng)用戶代理程序30呈現(xiàn)輸出到通信裝置顯示器上的字段,該字段指定“C”用于城市,“D”用于目的地。在此例子中,多模應(yīng)用程序不需要用戶的并行多模輸入,僅需要通過一種模式,即文本模式的輸入。另一模式被用于提供用戶指令。
可選的,在多模應(yīng)用程序54請求用戶經(jīng)多個用戶代理程序輸入輸入信息時,多模混合引擎14混合會話期間并行輸入到不同多模用戶代理程序的用戶輸入。例如,當用戶說出“從這里到那里的方向”而同時在可視地圖上點擊兩個位置時,語音瀏覽器或用戶代理程序34用“這里”填充開始位置字段,用“那里”填充目的位置字段作為已接收輸入信息74,同時圖形瀏覽器,即用戶代理程序30,用地圖上的第一點擊點的地理位置(例如緯度/經(jīng)度)填充開始位置字段,用地圖上的第二點擊點的地理位置(例如緯度/經(jīng)度)填充目的位置字段。多?;旌弦?4獲得此信息,并混合用戶輸入的、來自多個運行在不同模式的用戶代理程序的輸入信息,并確定詞“這里”對應(yīng)第一點擊點的地理位置,詞“那里”對應(yīng)第二點擊點的地理位置(例如緯度/經(jīng)度)。這樣,多模混合引擎44具有用戶命令的整套信息。多?;旌弦?4可能希望將混合信息60回發(fā)到用戶代理程序30和34,從而它們具有和并行多模通信相關(guān)的完整信息。此時,用戶代理程序30能將此信息提交到內(nèi)容服務(wù)器18以獲得期望信息。
如方框200所示,對于會話,本方法包括獲得用于多個運行在彼此不同的模式中的用戶代理程序的模式特有指令68,70,例如通過獲得各個多個用戶代理程序的對各模式特有的不同類型的標記語言。如方框202所示,本方法包括在會話期間,根據(jù)模式特有指令同步輸出,例如用戶代理程序,以促進用戶的同時多模操作。這樣,同步了標記語言形式的呈現(xiàn),從而來自多個用戶代理程序的輸出經(jīng)多個用戶代理程序以不同模式同時呈現(xiàn)。如方框203所示,并行多模同步協(xié)調(diào)器42確定用于不同用戶代理程序30和34的模式特有指令68,70組是否請求用戶經(jīng)不同用戶代理程序的不同模式的信息并行輸入。如果否,如方框205所示,并行多模同步協(xié)調(diào)器42前傳僅來自一個用戶代理程序的任何接收的輸入信息到目的服務(wù)器或Web服務(wù)器18。
然而,如方框204所示,如果用于不同用戶代理程序30和34的模式特有指令68,70組請求以不同模式并行輸入的用戶輸入,本方法包括混合用戶輸入的、用戶代理程序30和34發(fā)送回的已接收并行多模輸入信息,以產(chǎn)生和運行在不同模式的不同用戶代理程序相關(guān)的混合多模響應(yīng)60。如方框206所示,本方法包括前傳混合的多模響應(yīng)60到在標記語言解釋器50內(nèi)執(zhí)行的當前應(yīng)用程序61。當前執(zhí)行的應(yīng)用程序61(參見圖5)是來自應(yīng)用程序54的,作為解釋器50一部分執(zhí)行的標記語言。
參考圖1和3,將說明多模通信系統(tǒng)10的更詳細的操作。如方框300所示,通信裝置12經(jīng)用戶代理程序30發(fā)送Web內(nèi)容或其他信息的請求52。如方框302所示,內(nèi)容服務(wù)器18從模式首選數(shù)據(jù)庫36獲得識別用戶的多模首選項數(shù)據(jù)55,以獲得用于會話的裝置首選項和模式首選項。如方框304所示,本方法包括內(nèi)容服務(wù)器通知多模混合服務(wù)器14,對于給定的并行不同多模通信會話,在哪個裝置上以何種模式正運行哪個用戶代理應(yīng)用程序。
如前面提到的和方框306所示,建立并行多模同步協(xié)調(diào)器42,根據(jù)來自模式首選數(shù)據(jù)庫36的模式首選項信息55確定用于各個不同模式的各個代理。如方框308所示,本方法包括,如果期望,經(jīng)多模會話控制器40接收用于各個用戶代理程序的用戶模式指定。例如,用戶可以改變期望模式,使之與存儲在模式首選數(shù)據(jù)庫36內(nèi)的預(yù)設(shè)模式首選項55不同。這可以通過通用會話消息傳遞實現(xiàn)。如果用戶改變了特定用戶代理程序的期望模式,例如如果期望的用戶代理程序在不同的裝置上,可能需要不同的模式特有指令,例如不同的標記語言形式。如果用戶模式指定改變,信息提取器46根據(jù)為用戶代理應(yīng)用程序選定的模式提取并請求適當?shù)哪J教赜兄噶睢?br>
如方框310所示,然后信息提取器46為各個用戶代理程序并因此為各個模式,從內(nèi)容服務(wù)器18提取顯示為提取請求66的模式特有指令。因此,多?;旌戏?wù)器14經(jīng)信息提取器46獲得代表模式的標記語言,從而各用戶代理程序30和34可以根據(jù)標記語言以不同模式輸出信息。然而,應(yīng)當認識到,多模混合服務(wù)器14還可獲得任何適當?shù)哪J教赜兄噶?,而不僅僅是基于標記語言的信息。
當從內(nèi)容服務(wù)器1 8為各用戶代理程序提取模式特有指令并且沒有和模式特有指令68,70相關(guān)的CMMT時,發(fā)送接收的模式特有指令69到代碼轉(zhuǎn)換器608(參見圖5)。代碼轉(zhuǎn)換器608將接收的模式特有指令代碼轉(zhuǎn)換為解釋器50可理解的基本標記語言形式,并用識別用于不同模式610的模式特有指令的數(shù)據(jù)創(chuàng)建基本標記語言形式。因此,代碼轉(zhuǎn)換器代碼轉(zhuǎn)換模式特有指令,以包括識別用于另一個運行在不同模式的用戶代理程序的模式特有指令的數(shù)據(jù)。例如,如果解釋器50使用例如語音XML的基本標記語言,并且如果來自應(yīng)用程序54的一組模式特有指令是語音XML,而其余的則是HTML,代碼轉(zhuǎn)換器606將CMMT嵌入語音XML形式,識別可以獲得HTML形式的URL,或識別真正的HTML形式自身。此外,如果基本標記語言中沒有模式特有指令,將一組模式特有指令翻譯到基本標記語言中,然后通過CMMT查詢其他組模式特有指令。
可選的,多模應(yīng)用程序54可以提供必需的CMMT信息以促進并行多模會話期間多個用戶代理程序的輸出同步。用于各用戶代理程序的模式特有指令的一個例子在下面顯示為標記語言形式。標記語言形式由多模應(yīng)用程序54提供,并由多?;旌戏?wù)器14使用以提供并行多模通信會話。多模語音XML解釋器50假定多模應(yīng)用程序54使用語音XML作為基本語言。為促進多個用戶代理程序?qū)τ谟脩舻妮敵鐾剑紫葘懚嗄?yīng)用程序54,以包括或編入并行多模標簽(CMMT),例如語音XML形式內(nèi)的擴展名或到HTML形式的索引。CMMT識別模式并指向或包含諸如要由用戶代理程序之一以所識別的模式輸出的真實的HTML形式的信息。CMMT還用作多模同步數(shù)據(jù),它的出現(xiàn)意味著需要同步不同用戶代理程序的不同模式特有指令。
例如,如果語音XML是多模應(yīng)用程序54的基本語言,CMMT可能表示文本模式。在此例子中,CMMT可包含URL,該URL包含用戶代理程序要輸出的HTML文本,或包含作為CMMT一部分的HTML。CMMT可具有標記語言屬性擴展名的特性。多模語音XML解釋器50使用信息提取器46提取模式特有指令,并分析(在此例子中是執(zhí)行)提取的來自多模應(yīng)用程序的模式特有指令以檢測CMMT。一旦檢測到,多模語音XML解釋器50解釋CMMT,并如果需要獲得其他模式特有指令,例如用于文本模式的HTML。
例如,CMMT可能指示從哪里獲得用于圖形瀏覽器的文本信息。下面是顯示用于并行多模路線應(yīng)用程序的語音XML形式的模式特有指令的例子,該語音XML形式用于要求語音瀏覽器輸出語音“從哪里來”以及“到哪里去”,同時圖形瀏覽器顯示“從城市”和“到城市”的并行多模應(yīng)用程序。接收的由用戶通過不同瀏覽器輸入的并行多模信息通過指定字段“從城市”和“到城市”被期待。
表1<vxml version=″2.0″><form>
<block>
<cmmt mode=″html″src=″./itinerary.html″/>indicates the non-voice mode ishtml(text)and that the source info is located at url itinerary.html</block>
<field name=″from_city″>expected-text piece of info.trying to collect throughgraphical browser<grammar src=″./city.xml″/>for voice need to list possible responses for speechrecog engineWhere from?is the prompt that is spoken by voice browser</field>
<field name=″to_city″>text expecting<grammar sre=″./city.xml″/>
Where to?Voice spoken by voice browser</field></form></vxml>
因此,以上的標記語言形式用代表用于至少一個用戶代理程序的模式特有指令的基本標記語言書寫,CMMT是擴展名,指定用于另一個運行在不同模式的用戶代理程序的模式特有指令。
如方框311所示,如果用戶改變首選項,本方法包括重新設(shè)定代理以和該改變一致。如方框312所示,多?;旌戏?wù)器14確定是否到達監(jiān)聽點。如果到達,進入如方框314所示的下一個狀態(tài)。如果是,處理完成;如果否,本方法包括同步用于不同用戶代理程序的模式特有指令。多模語音XML解釋器50輸出,在此例子中,用于用戶代理程序30的HTML和用于用戶代理程序34的語音XML到并行多模同步協(xié)調(diào)器42,用于多個用戶代理程序的輸出同步。這可以通過例如基于如上所述的監(jiān)聽點的出現(xiàn)而實現(xiàn)。這些在方框316中示出。
如方框318所示,本方法包括,例如由并行多模同步協(xié)調(diào)器42,發(fā)送同步模式特有指令68和70到對應(yīng)的代理38a和38n,請求在相同會話期間由用戶以不同模式的用戶輸入信息。同步請求68和70被發(fā)送到各用戶代理程序30和34。例如,對應(yīng)和不同用戶代理程序相關(guān)的多個輸入模式的并行不同模式輸入信息的請求顯示為包含模式特有指令68和70的同步請求。這些例如可以是同步標記語言形式。
一旦用戶代理程序30和34并行實施模式特有指令,本方法包括確定在一段超時時間周期內(nèi)是否接收到用戶輸入,如方框320所示,或是否發(fā)生另一事件。例如,多?;旌弦?4可等待一段時間,以確定用戶輸入的多模輸入信息是否從多個用戶代理程序適當接收以用于混合。該等待時間根據(jù)各用戶代理程序的模式設(shè)定可以是不同的時間周期。例如,如果期望用戶并行輸入語音和文本信息,但多?;旌弦嬖谝欢螘r間內(nèi)不接收該用于混合的信息,它將假定發(fā)生錯誤。此外,多?;旌弦?4還允許返回語音信息比返回文本信息花費更多時間,因為經(jīng)語音網(wǎng)關(guān)16可能需要更長時間處理語音信息。
在此例子中,要求用戶經(jīng)用戶代理程序30輸入文本,同時對麥克風講話,以提供語音信息到用戶代理程序34。如從用戶代理程序30和34接收的已接收并行多模輸入信息72和74經(jīng)適當?shù)耐ㄐ沛溌繁粋鬟f到各個代理。應(yīng)當注意到,以PCM格式或任何其他適當格式傳送如76所指的在用戶代理程序34和裝置12的麥克風及揚聲器之間的通信,在此例子中,不是以可由用戶代理程序輸出的模式特有指令格式。
如果用戶通過文本瀏覽器和語音瀏覽器同時輸入信息,從而多?;旌弦?4接收從多個用戶代理程序發(fā)送的并行多模輸入信息,多?;旌弦?4如方框322所示將從用戶接收的輸入信息72和74混合。
圖4顯示多?;旌弦?4操作的一個例子。為說明起見,對于某個事件,“沒有輸入”意思是用戶未經(jīng)此模式輸入?!安黄ヅ洹北硎据斎肓艘恍〇|西,但它不是期望值。結(jié)果是用戶成功輸入后的一組時隙(或字段)名稱以及對應(yīng)值對。例如,成功輸入可以是“城市=芝加哥”以及“州=伊利諾伊”以及“街道”=“第一街”以及例如0%到100%的可信度加權(quán)因子。如上所述,多?;旌弦?4是否混合信息取決于接收或期望接收時隙名稱(例如可變的)和值對之間的時間量,或取決于接收其他事件。本方法假定給接收信息分配可信度級別。例如,根據(jù)模式和信息到達時間加權(quán)同步協(xié)調(diào)器可信度。例如,在同一會話期間(例如說出街道名稱并打字輸入)可通過不同模式輸入同一時隙數(shù)據(jù)的情況下,假定打字輸入的數(shù)據(jù)比說出的數(shù)據(jù)更準確。同步協(xié)調(diào)器基于接收時間和各個接收結(jié)果的可信度值組合接收的從多個用戶代理程序之一發(fā)送來的多模輸入信息,該發(fā)送是響應(yīng)并行不同模式信息的請求。
如方框400所示,本方法包括確定是否存在來自非語音模式的事件或結(jié)果。如果是,如方框402所示,本方法包括確定是否存在來自除“沒有輸入”和“不匹配”事件之外的任何模式的任何事件。如果是,本方法包括返回接收的第一個這樣的事件到解釋器50,如方框404所示。然而,如果不存在來自用戶代理程序的除“沒有輸入”和“不匹配”之外的事件,該處理包括,如方框406所示,對于發(fā)送用于多?;旌弦娴膬蓚€或更多結(jié)果的任何模式,本方法包括按照接收的時間順序組合該模式的結(jié)果。當用戶對同一時隙輸入重復(fù)輸入時這可能是有用的。對于給定時隙名稱的后面的值會覆蓋先前的值。多?;旌弦娓鶕?jù)構(gòu)成模式的各個結(jié)果的可信度加權(quán)調(diào)整模式的結(jié)果可信度加權(quán)。對于各個模式,最后結(jié)果是對每個時隙名稱的一個答案。本方法包括,如方框408所示,取得來自方框406的任何結(jié)果,并將其組合到用于所有模式的一個組合結(jié)果中。本方法包括從最低可信結(jié)果開始,進行到最高可信結(jié)果?;旌辖Y(jié)果中的每個時隙名稱接收屬于最可信輸入結(jié)果的具有該時隙定義的時隙值。
如方框410所示,本方法包括確定現(xiàn)在是否有組合結(jié)果。換句話說,用戶代理程序是否發(fā)送用于多模混合引擎44的結(jié)果。如果是,本方法包括如方框412所示,返回組合的結(jié)果到內(nèi)容服務(wù)器18。如果沒有,如方框414所示,意味著沒有或存在更多“沒有輸入”或“不匹配”事件。本方法包括確定是否存在任何“不匹配”事件。如果有,本方法包括返回如方框416所示的沒有匹配事件。然而,如果沒有“不匹配”事件,本方法包括返回“沒有輸入”事件到解釋器50,如方框418所示。
回到方框400,如果沒有來自非語音模式的事件或結(jié)果,本方法包括確定語音模式是否返回結(jié)果,即用戶代理程序34是否產(chǎn)生已接收信息74。這在方框420中顯示。如果是,如方框422所示,本方法包括返回語音響應(yīng)已接收輸入信息到多模應(yīng)用程序54。然而,如果語音瀏覽器(例如用戶代理程序)不輸出信息,本方法包括確定語音模式是否返回時間,如方框424所示。如果是,則如方框426所示,報告73該事件給多模應(yīng)用程序54。如果沒有產(chǎn)生語音模式事件,本方法包括返回“沒有輸入”事件,如方框428所示。
下面的表2顯示應(yīng)用到假定數(shù)據(jù)的圖4方法的例子。
表2VoiceModeCollectedData街道名稱=密歇根時間印記=0可信度級別=.85號碼=112時間印記=0可信度級別=.99TextModeCollectedData街道名稱=密歇根時間印記=0可信度級別=1.0街道名稱=LaSalle時間印記=1可信度級別=1.0例如,在方框400,如果沒有接收到來自非語音模式的結(jié)果,本方法進行到方框402。在方框402,沒有接收到任何事件,本方法進行到方框406。在方框406,混合引擎將TextModeCollectedData壓縮到每個時隙的一個響應(yīng)。Voice Mode Collected Data保持不動。
VoiceModeCollectedData街道名稱=密歇根時間印記=0可信度級別=.85號碼=112時間印記=0
可信度級別=.99全部可信度=.85語音模式保持不動。但是分配作為.85的全部可信度值.85是結(jié)果組中的最低可信度。
TextModeCollectedData街道名稱=密歇根時間印記=0可信度級別=1.0街道名稱=LaSalle時間印記=1可信度級別=1.0文本模式從收集的數(shù)據(jù)中刪去密歇根,因為在后面的時間印記中用LaSalle填滿該時隙。最終結(jié)果像這樣。被分配作為1.0的全部可信度值1.0是結(jié)果組中的最低可信度級別。
TextModeCollectedData街道名稱=LaSalle時間印記=1可信度級別=1.0全部可信度=1.0后面的是發(fā)送到方框408的數(shù)據(jù)。
VoiceModeCollectedData街道名稱=密歇根時間印記=0可信度級別=.85號碼=112時間印記=0
可信度級別=.99全部可信度=.85TextModeCollectedData街道名稱=LaSalle時間印記=1可信度級別=1.0全部可信度=1.0在方框408,兩種模式被有效混合到單個返回結(jié)果中。
首先,取得最低可信度級別的全部結(jié)果并將其放入最終結(jié)果結(jié)構(gòu)中。
最終結(jié)果街道名稱=密歇根可信度級別=.85號碼=112可信度級別=.99然后,最終結(jié)果內(nèi)的下一最低結(jié)果的任何元素都被替換。
最終結(jié)果街道名稱=LaSalle可信度級別=1.0號碼=112可信度級別=.99該最終結(jié)果來自兩種模式的混合,并被發(fā)送到解釋器,解釋器會決定下面做什么(從web提取更多信息或決定需要從用戶獲得更多信息,并根據(jù)當前狀態(tài)重新提示它們。)圖5顯示多?;旌戏?wù)器14的另一實施例,它包括并行多模會話持續(xù)控制器600以及連接到并行多模會話持續(xù)控制器600的并行多模會話狀態(tài)存儲器602。并行多模模式會話持續(xù)控制器600可以是運行在適當處理裝置上的軟件模塊,或可以是任何適當硬件、軟件、固件或它們的適當組合。并行多模會話持續(xù)控制器600在無會話條件中根據(jù)每個用戶,以數(shù)據(jù)庫形式或其他適當數(shù)據(jù)結(jié)構(gòu)維護并行多模會話狀態(tài)信息604。并行多模會話狀態(tài)信息604是會話過程中配置用于不同并行多模通信的多個用戶代理程序的狀態(tài)信息。并行多模會話持續(xù)控制器600響應(yīng)訪問并行多模會話狀態(tài)信息604,重新建立先前結(jié)束的并行多模會話。多模會話控制器40通知并行多模會話持續(xù)控制器600用戶何時加入會話。多模會話控制器40還和并行多模同步協(xié)調(diào)器通信,以和任何離線裝置提供同步,或和任何必須重新建立并行多模會話的用戶代理程序同步。
并行多模會話持續(xù)控制器600存儲,例如,代理ID數(shù)據(jù)906,例如指示在先前并行多模通信會話期間用于給定模式的代理的URL。如果期望,并行多模會話狀態(tài)存儲器602還包括指示在先前并行多模通信會話期間用戶輸入填充了哪個字段或時隙以及任何這樣的字段或時隙的內(nèi)容。此外,并行多模會話狀態(tài)存儲器602可包括用于并行多模通信會話的當前對話狀態(tài)606。某些狀態(tài)包括解釋器50在執(zhí)行應(yīng)用程序中的執(zhí)行狀態(tài)。由用戶填充的字段內(nèi)的信息可能是以混合輸入信息60的形式。
如所示的,Web服務(wù)器18可提供用于各模式類型的模式特有指令。在此例子中,以HTML形式提供文本,以語音XML形式提供語音,還以WML形式提供語音。并行多模同步協(xié)調(diào)器42輸出適當?shù)男问降竭m當?shù)拇?。如所示的,語音XML形式通過指定用于語音瀏覽器的代理38a輸出,而HTML形式輸出到用于圖形瀏覽器的代理38n。
如果會話異常中斷,而用戶稍后想回到相同的對話狀態(tài),則會話持續(xù)維護非常有用。對于具有不同延遲特性、造成不同模式中輸入和輸出之間的延遲時間并需要暫時存儲信息以補償該時間延遲的的情況,模式使用傳送機制也非常有用。
如圖6-7所示,并行多模會話持續(xù)控制器600維護在給定會話中對于給定用戶的多個用戶代理程序的多模會話狀態(tài)信息,其中在會話期間,用戶代理程序被配置用于不同的并行模式通信。這在方框700中顯示。如方框702所示,本方法包括響應(yīng)訪問多模會話狀態(tài)信息604,重新建立先前的并行多模會話。如方框704所示,更具體的,在并行多模會話期間,并行多模會話持續(xù)控制器600在存儲器602內(nèi)存儲每個用戶的多模會話狀態(tài)信息604。如方框706所示,并行多模會話持續(xù)控制器600從會話控制器檢測用戶加入會話,并在存儲器內(nèi)搜索該用戶ID,以確定該用戶是否參與先前的并行多模會話。從而,如方框708所示,本方法包括根據(jù)用戶加入會話的檢測,訪問存儲器602內(nèi)存儲的多模會話狀態(tài)信息604。
如方框710所示,本方法包括確定該會話是否在存儲器604內(nèi)存在。如果沒有,則將該會話指定為新的會話,并創(chuàng)建新的項,以在存儲器602內(nèi)填充用于記錄新會話的必要數(shù)據(jù)。這在方框712中顯示。如方框714所示,如果會話存在,例如在存儲器602中出現(xiàn)該會話ID,本方法包括查詢存儲器602,用戶是否具有正運行的現(xiàn)有應(yīng)用程序,如果是,用戶是否希望重新建立和該應(yīng)用程序的通信。如果用戶期望,本方法包括從存儲器602中檢索上次提取的信息的URL。這顯示在方框716中(圖7)。如方框718所示,將對適當代理38a-38n給出如在方框716中檢索的適當URL。如方框720所示,本方法包括根據(jù)存儲在存儲器602內(nèi)的存儲用戶代理狀態(tài)信息606,經(jīng)代理發(fā)送請求到適當?shù)挠脩舸沓绦颉?br>
圖8是顯示并行多模會話狀態(tài)存儲器602的內(nèi)容的一個例子的框圖。如圖所示,用戶ID900指定了特定用戶,會話ID902在用戶具有存儲在存儲器602內(nèi)的多個會話的事件中,和該用戶ID相關(guān)。此外,用戶代理程序ID904表示,例如運行該特定用戶代理程序的裝置的裝置ID。程序ID可以是用戶程序識別符、URL或其他地址。代理ID數(shù)據(jù)906表示在先前并行多模通信期間使用的多模代理。這樣,用戶可以終止某個會話,稍后從用戶停止的地方繼續(xù)。
除此之外,維護裝置ID904允許系統(tǒng)維護在并行多模會話期間采用的那些裝置的識別符,以促進在并行多模通信期間用戶的裝置切換。
因此,通過不同模式經(jīng)分布在一個或多個裝置(或如果它們包含在相同裝置中)上的各個用戶代理程序輸入的多個輸入以統(tǒng)一和內(nèi)聚方式混合。同樣,也提供了同步用戶代理程序的呈現(xiàn)和用戶通過這些用戶代理程序的信息輸入的機制。此外,公開的多?;旌戏?wù)器可連接到現(xiàn)有裝置和網(wǎng)關(guān),以提供并行多模通信會話。
應(yīng)當理解,對于本領(lǐng)域普通技術(shù)人員,本發(fā)明不同方面的其他改變和修改是顯而易見的,且本發(fā)明并不限于描述的特定實施例。例如,應(yīng)當認識到,雖然用某些步驟描述了本方法,這些步驟可以如所期望的按照任何適當順序執(zhí)行。因此期望本發(fā)明覆蓋落入在此公開和聲明的根本原理的精神和范圍內(nèi)的任何和所有的修改、改變或等同。
權(quán)利要求
1.一種用于多模通信的方法,包括在沒有會話條件下,以每個用戶為基礎(chǔ),維護用戶代理程序的并行多模會話狀態(tài)信息,這些用戶代理程序被配置用于會話期間的不同并行模式通信,以及響應(yīng)對并行多模會話狀態(tài)信息的訪問,重新建立并行多模會話。
2.如權(quán)利要求1的方法,其中,所述在沒有會話條件下,以每個用戶為基礎(chǔ),維護用戶代理程序的并行多模會話狀態(tài)信息,這些用戶代理程序被配置用于會話期間的不同并行模式通信的步驟包括在會話期間存儲至少以下其中之一位置數(shù)據(jù),指示上次提取信息是從哪里獲得的,這些信息是用于在并行多模通信會話期間使用的用戶代理程序的每一個;關(guān)于在并行多模通信會話期間用戶輸入填充了其上的字段的信息以及該字段的內(nèi)容;和所述并行多模通信會話的當前對話狀態(tài)。
3.如權(quán)利要求1的方法,包括步驟對用戶加入會話進行檢測;訪問并行多模通信會話狀態(tài)信息;如果訪問的并行多模會話狀態(tài)信息指示用戶的先前并行多模會話,則重新建立由所述并行多模會話狀態(tài)信息識別的并行多模會話。
4.如權(quán)利要求1的方法,包括對在并行多模會話期間采用的裝置進行維護來促進并行多模通信期間的裝置切換的步驟。
5.如權(quán)利要求1的方法,包括在會話期間暫時存儲用于相互之間運行在不同模式中的多個用戶代理程序中的至少之一的模式特有指令,以補償與用于所述多個用戶代理程序中的第二個的模式特有指令相關(guān)的通信延遲。
6.如權(quán)利要求1的方法,包括步驟接收多模屏蔽數(shù)據(jù),并存儲對于給定會話屏蔽了多模通信的模式的記錄。
7.一種多模設(shè)備,包括并行多模會話持續(xù)控制器,用于在沒有會話條件下,以每個用戶為基礎(chǔ),可操作地維護用戶代理程序的并行多模會話狀態(tài)信息,以及響應(yīng)對并行多模會話狀態(tài)信息的訪問,重新建立并行多模會話,所述用戶代理程序被配置用于會話期間的不同并行模式通信;和存儲器,可操作地連接到所述并行多模會話持續(xù)控制器,其包含所述并行多模會話狀態(tài)信息。
8.如權(quán)利要求7的多模設(shè)備,其中,所述存儲器至少包含以下其中之一代理識別數(shù)據(jù),指示在先前并行多模通信會話中使用的先前的代理;在所述并行多模通信會話期間用戶輸入填充其字段的信息以及該字段的內(nèi)容;和用于所述并行多模通信會話的當前對話狀態(tài)。
9.如權(quán)利要求7的多模設(shè)備,其中,所述并行多模會話持續(xù)控制器訪問所述存儲器內(nèi)包含的并行多模會話狀態(tài)信息,并如果所述訪問的并行多模會話狀態(tài)信息指示了用戶的先前并行多模會話,則促進對所述并行多模會話狀態(tài)信息識別的并行多模會話的重新建立。
全文摘要
一種方法(圖6)和設(shè)備(600),在沒有會話條件下以每個用戶為基礎(chǔ)維護用戶代理程序的并行多模會話狀態(tài)信息(604),這些用戶代理程序被配置用于相同會話期間(700)的不同并行模式通信,并響應(yīng)對并行多模會話狀態(tài)信息(702)的訪問,重新建立并行多模會話。
文檔編號G06F13/00GK1639696SQ03804837
公開日2005年7月13日 申請日期2003年2月6日 優(yōu)先權(quán)日2002年2月27日
發(fā)明者格列格·約翰遜, 瑟那卡·巴拉蘇里亞, 詹姆士·費爾蘭斯, 杰羅姆·揚克, 拉伊努·皮爾斯, 大衛(wèi)·丘卡, 迪拉尼·加拉格達拉 申請人:摩托羅拉公司