專利名稱:管理用戶界面的設(shè)備和方法
技術(shù)領(lǐng)域:
與本發(fā)明一致的設(shè)備和方法涉及管理用戶界面,更具體地說,涉及管理用戶界面, 其中,使用超文本標志語言(HTML)和超文本傳送協(xié)議(HTTP)來管理由網(wǎng)絡(luò)上的服務(wù)器提供的應(yīng)用程序的用戶界面的狀態(tài)。
背景技術(shù):
通過遠程服務(wù)器提供應(yīng)用程序的技術(shù)包括微軟的遠程桌面協(xié)議(RDP)和因特爾的擴展遠程協(xié)議。這些遠程技術(shù)是基于二進制位圖傳輸協(xié)議的,并且,當提供應(yīng)用程序時, 它們具有需要較大的網(wǎng)絡(luò)帶寬的缺點。具體地說,當遠程應(yīng)用程序的用戶界面使用音頻和 /或視頻流傳輸時,所需的網(wǎng)絡(luò)帶寬變得更大。同時,當通過預(yù)定客戶機使用由服務(wù)器提供的應(yīng)用程序執(zhí)行工作的用戶通過另一客戶機使用所述應(yīng)用程序執(zhí)行工作時,該用戶可稍后請求一致的用戶界面。也就是說,用戶想要將與通過第一客戶機完成工作所用的用戶界面相同的用戶界面通過第二客戶機顯示。圖1示出在客戶機已經(jīng)改變的情況下提供遠程應(yīng)用程序的傳統(tǒng)系統(tǒng)。參照圖1,在通用即插即用(UPnP)環(huán)境中,所述系統(tǒng)包括遠程控制點10、遠程服務(wù)器20、第一遠程客戶機31和第二遠程客戶機32。UPnP環(huán)境的聯(lián)網(wǎng)操作包括尋址、發(fā)現(xiàn)、描述、控制、事件觸發(fā)(eventing)和呈現(xiàn)。 遠程控制點10確認正在進行與第一遠程客戶機31的連接。然后,遠程控制點10使遠程服務(wù)器20在預(yù)定時間內(nèi)保持用于當前操作連接的用戶界面的狀態(tài),并且使遠程服務(wù)器20存儲所述狀態(tài)。然后,遠程控制點10終止遠程服務(wù)器20和第一遠程客戶機31之間的連接,建立遠程服務(wù)器20和第二遠程客戶機32之間的連接,并接著命令遠程服務(wù)器20將存儲的用戶界面提供給第二遠程客戶機32。然而,在用戶界面的各個狀態(tài)中,除了由遠程服務(wù)器20管理的用戶界面狀態(tài)之外,還存在由遠程客戶機31和遠程客戶機32管理的狀態(tài)。例如,web瀏覽器的客戶機 cookie、表格輸入和音頻/視頻對象都由遠程客戶機管理。因此,根據(jù)傳統(tǒng)技術(shù)存儲在遠程服務(wù)器20中的用戶界面的狀態(tài)不包括由遠程客戶機31和遠程客戶機32管理的狀態(tài)。當遠程服務(wù)器不包括存儲單元時,沒有存儲并恢復(fù)用戶界面的方法。因此,需要解決該問題。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一方面,提供一種用于管理用戶界面的設(shè)備,所述設(shè)備包括包產(chǎn)生單元,產(chǎn)生指示在網(wǎng)絡(luò)上存在一個或多個遠程服務(wù)器的通知包;web服務(wù)器,管理通過網(wǎng)絡(luò)發(fā)送的預(yù)定應(yīng)用程序的用戶界面的狀態(tài)的存儲命令或者作為發(fā)布通知包的結(jié)果而接收的提取命令;狀態(tài)存儲單元,根據(jù)存儲命令存儲用戶界面的狀態(tài);以及通信單元,發(fā)送根據(jù)提取命令從存儲的用戶界面的狀態(tài)之中提取的預(yù)定用戶界面的狀態(tài)。根據(jù)本發(fā)明的另一方面,提供一種用于顯示用戶界面的設(shè)備,所述設(shè)備包括服務(wù)器檢索單元,搜索存儲關(guān)于提供的應(yīng)用程序的用戶界面的狀態(tài)的服務(wù)器;狀態(tài)管理請求單元,根據(jù)搜索結(jié)果產(chǎn)生關(guān)于用戶界面的狀態(tài)的存儲命令包或提取命令包;通信單元,發(fā)送用戶界面的狀態(tài)或所述包;以及web瀏覽器,顯示響應(yīng)于提取命令包的發(fā)送而接收的預(yù)定用戶界面。根據(jù)本發(fā)明的另一方面,提供一種管理用戶界面的方法,所述方法包括產(chǎn)生指示在網(wǎng)絡(luò)上存在一個或多個遠程服務(wù)器的通知包;管理通過網(wǎng)絡(luò)發(fā)送的預(yù)定應(yīng)用程序的用戶界面的狀態(tài)的存儲命令或者作為發(fā)布通知包的結(jié)果而接收的提取命令;根據(jù)存儲命令存儲用戶界面的狀態(tài);以及發(fā)送根據(jù)提取命令從存儲的用戶界面的狀態(tài)之中提取的預(yù)定用戶界面的狀態(tài)。根據(jù)本發(fā)明的另一方面,提供一種顯示用戶界面的方法,所述方法包括搜索存儲關(guān)于提供的應(yīng)用程序的用戶界面的狀態(tài)的服務(wù)器;根據(jù)搜索結(jié)果產(chǎn)生關(guān)于用戶界面的狀態(tài)的存儲命令包或提取命令包;發(fā)送用戶界面的狀態(tài)或所述包;以及顯示響應(yīng)于提取命令包的發(fā)送而接收的預(yù)定用戶界面。
通過下面結(jié)合附圖對本發(fā)明示例性實施例進行的詳細描述,本發(fā)明的上述和其它特點和優(yōu)點將會變得更加清楚,其中圖1示出在客戶機已經(jīng)改變的情況下提供遠程應(yīng)用程序的傳統(tǒng)系統(tǒng);圖2示出根據(jù)本發(fā)明示例性實施例的管理用戶界面的系統(tǒng);圖3是示出根據(jù)本發(fā)明示例性實施例的提供應(yīng)用程序的遠程服務(wù)器的框圖;圖4是示出根據(jù)本發(fā)明示例性實施例的管理用戶界面的狀態(tài)的存儲服務(wù)器的框圖;圖5是示出根據(jù)本發(fā)明示例性實施例的接收應(yīng)用程序的遠程客戶機的框圖;圖6示出根據(jù)本發(fā)明示例性實施例的關(guān)于用戶界面的狀態(tài)的超文本標志語言 (HTML)代碼;圖7A和圖7B分別示出根據(jù)本發(fā)明示例性實施例的關(guān)于存儲命令包和提取命令包的HTML代碼;圖8是示出根據(jù)本發(fā)明示例性實施例的搜索存儲服務(wù)器的過程的流程圖;圖9是示出根據(jù)本發(fā)明示例性實施例的在通用即插即用(UPnP)環(huán)境中搜索存儲服務(wù)器的過程的流程圖;圖10是示出根據(jù)本發(fā)明示例性實施例的檢索用戶界面的狀態(tài)的過程的流程圖;圖11是示出根據(jù)本發(fā)明示例性實施例的管理用戶界面的狀態(tài)的過程的流程圖; 以及圖12是示出根據(jù)本發(fā)明示例性實施例的接收應(yīng)用程序的過程的流程圖。
具體實施例方式參照下面對示例性實施例的詳細說明和附圖可以更加容易地理解本發(fā)明的優(yōu)點和特點以及實現(xiàn)本發(fā)明的優(yōu)點和特點的方法。然而,本發(fā)明可以以許多不同的形式被實施并且不應(yīng)被解釋為局限于在此闡述的示例性實施例。更恰當?shù)?,提供這些實施例使得本公開將會徹底和完整并完全地將本發(fā)明的構(gòu)思傳達給本領(lǐng)域的技術(shù)人員,并且本發(fā)明將僅由所附權(quán)利要求進行限定。貫穿說明書相同的標號指示相同的部件。現(xiàn)在將參照附圖更加完全地描述本發(fā)明,在附圖中,顯示了本發(fā)明的示例性實施例。圖2示出根據(jù)本發(fā)明示例性實施例的管理用戶界面的系統(tǒng)。參照圖2,所述系統(tǒng)包括遠程服務(wù)器300、存儲服務(wù)器400、遠程客戶機500和網(wǎng)絡(luò)200。在網(wǎng)絡(luò)200上可存在一個或多個遠程服務(wù)器300。遠程服務(wù)器300將應(yīng)用程序提供給遠程客戶機500。為了實現(xiàn)這個目的,遠程服務(wù)器211至213中的每一個可具有web服務(wù)器,并且可周期性地發(fā)送指示其連接到網(wǎng)絡(luò)200的通知包。這里,所述應(yīng)用程序可包括可在遠程客戶機500中執(zhí)行的應(yīng)用程序,并且還可包括網(wǎng)頁。另外,遠程服務(wù)器300可根據(jù)遠程客戶機500的請求發(fā)送它的狀態(tài)。遠程服務(wù)器 300的狀態(tài)可包括所提供的應(yīng)用程序的統(tǒng)一資源標識符(URL)。網(wǎng)絡(luò)200可以是有線網(wǎng)絡(luò)或無線網(wǎng)絡(luò)。網(wǎng)絡(luò)200使用HTTP在各個裝置之間傳送數(shù)據(jù)。遠程客戶機500顯示由遠程服務(wù)器300提供的應(yīng)用程序。為了實現(xiàn)這個目的,遠程客戶機500可包括web瀏覽器。為了實現(xiàn)應(yīng)用程序,首先,遠程客戶機500在網(wǎng)絡(luò)200上搜索遠程服務(wù)器300??赏ㄟ^接收通知包來執(zhí)行搜索遠程服務(wù)器300這一操作。遠程客戶機500通過查閱包括在通知包中的遠程服務(wù)器300的地址與遠程服務(wù)器300通信,并請求期望的應(yīng)用程序。在通過這個過程接收應(yīng)用程序的同時,遠程客戶機500可停止接收應(yīng)用程序,并且所提供的應(yīng)用程序稍后可再次被提供。為了實現(xiàn)這個目的,遠程客戶機500在停止接收時發(fā)送關(guān)于應(yīng)用程序的用戶界面的狀態(tài),從而可存儲所述狀態(tài)。與遠程服務(wù)器300相同,存儲服務(wù)器400也周期性地發(fā)送指示存儲服務(wù)器400連接到網(wǎng)絡(luò)200的通知包,并且,為了實現(xiàn)這個目的,存儲服務(wù)器可具有web服務(wù)器。接收存儲服務(wù)器400的通知包的遠程客戶機500通過查閱包括在所述通知包中的存儲服務(wù)器400 的地址與存儲服務(wù)器400通信,并且將關(guān)于提供給遠程客戶機500的應(yīng)用程序的用戶界面的狀態(tài)發(fā)送到存儲服務(wù)器400。這里,用戶界面的狀態(tài)包括關(guān)于應(yīng)用程序的遠程服務(wù)器300的狀態(tài)和遠程客戶機 500的狀態(tài)。遠程服務(wù)器300的狀態(tài)包括關(guān)于如上所述的應(yīng)用程序的URL的信息,遠程客戶機500的狀態(tài)包括web瀏覽器cookie、表格輸入和音頻/視頻對象??梢园碒TML格式將用戶界面的狀態(tài)提供給存儲服務(wù)器400,并且可涉及由一個或多個遠程服務(wù)器300提供的應(yīng)用程序。例如,第一遠程客戶機231可同時從第一遠程服務(wù)器211和第二遠程服務(wù)器212 接收應(yīng)用程序。此時,第一遠程客戶機231想要存儲的用戶界面的狀態(tài)包括第一遠程服務(wù)器211的狀態(tài)、第二遠程服務(wù)器212的狀態(tài)和第一遠程客戶機231的web瀏覽器的cookie、表格輸入和音頻/視頻對象。同時,通過第一遠程客戶機231操作由一個或多個遠程服務(wù)器300提供的應(yīng)用程序的用戶可停止所述操作,并在存儲服務(wù)器400中存儲用戶界面的狀態(tài),接著,可通過第二遠程客戶機232繼續(xù)操作應(yīng)用程序。在這種情況下,第二遠程客戶機232接收由存儲服務(wù)器400發(fā)送的通知包,確認在網(wǎng)絡(luò)200上存在存儲服務(wù)器400,接著,請求存儲服務(wù)器400發(fā)送用戶界面的狀態(tài)。根據(jù)遠程客戶機500的請求,存儲服務(wù)器400發(fā)送用戶界面的狀態(tài),所述用戶界面的狀態(tài)可包括關(guān)于由多個遠程服務(wù)器300提供的多個應(yīng)用程序的用戶界面的狀態(tài)。接收關(guān)于多個應(yīng)用程序的用戶界面的狀態(tài)的第二遠程客戶機232可同時接收包括在用戶界面的狀態(tài)中的多個應(yīng)用程序,或者可接收由用戶選擇的一個或多個應(yīng)用程序。圖3是示出根據(jù)本發(fā)明示例性實施例的提供應(yīng)用程序的遠程服務(wù)器的框圖。參照圖3,遠程服務(wù)器300包括應(yīng)用程序產(chǎn)生單元310、包產(chǎn)生單元320、web服務(wù)器330、控制單元;340、狀態(tài)管理單元350和通信單元360。應(yīng)用程序產(chǎn)生單元310產(chǎn)生將提供給遠程客戶機500的應(yīng)用程序。這里,所述應(yīng)用程序可包括可在遠程客戶機500中執(zhí)行的應(yīng)用程序,并且還可包括網(wǎng)頁。包產(chǎn)生單元320產(chǎn)生指示在網(wǎng)絡(luò)上存在遠程服務(wù)器300的通知包。該通知包包括遠程服務(wù)器300的地址。通過查閱這個地址,遠程客戶機500可與遠程服務(wù)器300通信。可通過通信單元360周期性地發(fā)送通知包。web服務(wù)器330通過使用客戶機/服務(wù)器模型和HTTP將應(yīng)用程序提供給遠程客戶機500。根據(jù)在遠程服務(wù)器300上操作的操作系統(tǒng),可將Apache、互聯(lián)網(wǎng)信息服務(wù)器(IIS)、 企業(yè)服務(wù)器或Lotus Domino服務(wù)器用作web服務(wù)器330。狀態(tài)管理單元350將關(guān)于提供的應(yīng)用程序的用戶界面的狀態(tài)提供給遠程客戶機 500。這里,由狀態(tài)管理單元350管理的狀態(tài)僅指示遠程服務(wù)器300的狀態(tài),并且可包括應(yīng)用程序的URL。如果從遠程客戶機500接收到發(fā)送用戶界面的狀態(tài)的請求,則狀態(tài)管理單元350 確認關(guān)于當前提供的應(yīng)用程序的用戶界面的狀態(tài),接著,通過通信單元360發(fā)送確認結(jié)果。通信單元360與遠程客戶機500通信,發(fā)送應(yīng)用程序或用戶界面的狀態(tài),并且接收請求用戶界面的狀態(tài)的包。在通信單元360和遠程客戶機500之間通信的方法可以是有線通信方法,諸如以太網(wǎng)、通用串行總線(USB)、IEEE 1394、串行通信和并行通信方法,并且還可以是無線通信方法,諸如紅外通信、藍牙、家用射頻(RF)和無線LAN方法。通過通信單元360發(fā)送和接收的包可具有HTML格式。這樣,與作為圖像數(shù)據(jù)提供用戶界面的方法相比,可減少網(wǎng)絡(luò)負載。控制單元340確定通過通信單元360接收的包的類型,并執(zhí)行對應(yīng)用程序產(chǎn)生單元310、包產(chǎn)生單元320、web服務(wù)器330、狀態(tài)管理單元350、通信單元360和遠程服務(wù)器300 的全部控制。圖4是示出根據(jù)本發(fā)明示例性實施例的管理用戶界面的狀態(tài)的存儲服務(wù)器的框圖。參照圖4,存儲服務(wù)器400包括狀態(tài)存儲單元410、web服務(wù)器420、控制單元430、包產(chǎn)生單元440和通信單元450。
狀態(tài)存儲單元410存儲從遠程客戶機500接收的用戶界面的狀態(tài)。這里,用戶界面的狀態(tài)可包括遠程客戶機500的web瀏覽器cookie、表格輸入、音頻/視頻對象和提供應(yīng)用程序的遠程服務(wù)器300的狀態(tài)。遠程服務(wù)器300的狀態(tài)可包括一個或多個遠程服務(wù)器 300的狀態(tài)。當存儲用戶界面的狀態(tài)時,可以將預(yù)定的名稱給予每個用戶界面的狀態(tài)。這里,可由遠程客戶機500的用戶直接輸入名稱,或者可通過自動組合存儲狀態(tài)的時間、應(yīng)用程序的名稱、遠程服務(wù)器的名稱或遠程服務(wù)器的地址來產(chǎn)生名稱。狀態(tài)存儲單元410包括能夠輸入和輸出信息的模塊,諸如硬盤、閃存、壓縮閃存 (CF)卡、安全數(shù)字(SD)卡、智能媒體(SM)卡、多媒體卡(MMC)或存儲棒。web服務(wù)器420通過使用客戶機/服務(wù)器模型和HTTP將用于存儲用戶界面的狀態(tài)的界面提供給遠程客戶機500。也就是說,遠程客戶機500的用戶可通過由web服務(wù)器420 提供的界面來存儲和提取用戶界面的狀態(tài)。包產(chǎn)生單元440產(chǎn)生指示在網(wǎng)絡(luò)上存在存儲服務(wù)器400的通知包。該通知包包括存儲服務(wù)器400的地址。通過查閱所述地址,遠程客戶機500可與存儲服務(wù)器400通信??赏ㄟ^通信單元450周期性地發(fā)送通知包。通信單元450通過與遠程客戶機500通信來發(fā)送和接收通知包、存儲命令、提取命令或用戶界面的狀態(tài)。在通信單元450和遠程客戶機500之間通信的方法可以是有線通信方法,諸如以太網(wǎng)、通用串行總線(USB)、IEEE1394、串行通信和并行通信方法,并且還可以是無線通信方法,諸如紅外通信、藍牙、家用射頻(RF)和無線LAN方法。通過通信單元450 發(fā)送和接收的包可具有HTML格式。控制單元430確定通過通信單元450接收的包的類型,并且執(zhí)行對狀態(tài)存儲單元 410、web服務(wù)器420、包產(chǎn)生單元440、通信單元450和存儲服務(wù)器400的全部控制。同時,遠程服務(wù)器300和存儲服務(wù)器400可以置于一個設(shè)備(以下稱為集成服務(wù)器)中。集成服務(wù)器將應(yīng)用程序提供給遠程客戶機500,并可根據(jù)遠程客戶機500的請求存儲用戶界面的狀態(tài)。將被存儲在集成服務(wù)器中的用戶界面的狀態(tài)可包括關(guān)于由另一遠程服務(wù)器提供的應(yīng)用程序的用戶界面的狀態(tài),以及關(guān)于由集成服務(wù)器提供的應(yīng)用程序的用戶界面的狀態(tài)。圖5是示出根據(jù)本發(fā)明示例性實施例的接收應(yīng)用程序的遠程客戶機的框圖。參照圖5,遠程客戶機500包括狀態(tài)管理請求單元510、存儲單元520、web瀏覽器530、控制單元討0、服務(wù)器檢索單元550和通信單元560。狀態(tài)管理請求單元510產(chǎn)生請求遠程服務(wù)器300的狀態(tài)的請求包、用于存儲用戶界面的狀態(tài)的存儲命令的包(以下稱為存儲命令包)、和用于提取用戶界面的狀態(tài)的提取命令的包(以下稱為提取命令包)。通過通信單元560發(fā)送每個包,并且將請求包發(fā)送到遠程服務(wù)器300,將存儲命令包和提取命令包發(fā)送到存儲服務(wù)器400。web瀏覽器530顯示由遠程服務(wù)器300提供的應(yīng)用程序,或者顯示響應(yīng)于提取命令包從存儲服務(wù)器400接收的用戶界面。這里,web瀏覽器530顯示關(guān)于由存儲服務(wù)器400提供的多個用戶界面的狀態(tài)的名稱。此時,用戶選擇顯示的名稱中的一個,從而用戶可操作期望的應(yīng)用程序。服務(wù)器檢索單元550搜索遠程服務(wù)器300或存儲服務(wù)器400。遠程服務(wù)器300和存儲服務(wù)器400周期性地發(fā)布通知包,以指示它們連接到網(wǎng)絡(luò)。服務(wù)器檢索單元550分析通過通信單元560接收的通知包,并確定在網(wǎng)絡(luò)上是否存在遠程服務(wù)器300或存儲服務(wù)器 400。如果服務(wù)器檢索單元550確定在網(wǎng)絡(luò)上存在遠程服務(wù)器300或存儲服務(wù)器400,則將包括在通知包中的遠程服務(wù)器300或存儲服務(wù)器400的地址傳送到控制單元M0。通過查閱由服務(wù)器檢索單元550傳送的地址,控制單元540使web瀏覽器530與遠程服務(wù)器300的web服務(wù)器330或存儲服務(wù)器400的web服務(wù)器420彼此之間能夠通信。另外,控制單元540執(zhí)行對狀態(tài)管理請求單元510、存儲單元520、web瀏覽器530、 服務(wù)器檢索單元550、通信單元560和遠程客戶機500的全部控制。存儲單元520存儲關(guān)于形成網(wǎng)絡(luò)的外圍設(shè)備的緩存信息。由服務(wù)器檢索單元550 檢索的遠程服務(wù)器300和存儲服務(wù)器400的地址可包括在緩存信息中。另外,在存儲服務(wù)器400的情況下,可添加和存儲附加標志。存儲單元520可包括能夠輸入和輸出數(shù)據(jù)的硬盤、閃存、CF卡、SD卡、SM卡、MMC、存儲棒以及其它模塊。通信單元560通過與遠程服務(wù)器300或存儲服務(wù)器400通信來發(fā)送和接收應(yīng)用程序、請求包、存儲命令包和提取命令包。這里,通信單元560可通過使用HTTP來發(fā)送和接收應(yīng)用程序、用戶界面的狀態(tài)或包,并且可使用HTML形成用戶界面的狀態(tài)和所述包。圖6示出根據(jù)本發(fā)明示例性實施例的關(guān)于用戶界面的狀態(tài)的超文本標志語言 (HTML)代碼。參照圖6,由遠程客戶機產(chǎn)生HTML代碼600,并且將其發(fā)送到存儲服務(wù)器。如上所述,用戶界面的狀態(tài)可包括應(yīng)用程序的URL、遠程客戶機的web瀏覽器的 cookie、表格輸入、音頻/視頻對象和遠程服務(wù)器的地址。HTML代碼600可包括應(yīng)用程序的多個用戶界面的狀態(tài)。在圖6中,在url#中,輸入關(guān)于一個或多個應(yīng)用程序的URL。例如,在urll中,可輸入第一應(yīng)用程序的URUURLForfagehBe&ivecWl),并且在url2中,可輸入第二應(yīng)用程序的 URL(URLForPageToBeSaved#2)。每個用戶界面的狀態(tài)可包括一個cookie (url#. cookie)、一個或多個表格輸入 (url#. form. formid#)、音頻 / 視頻對象(url#. av. avobjid#. state#)和遠程服務(wù)器的狀態(tài) (url#.server)。在表格輸入中,formid#指示表格輸入的唯一號碼,并且根據(jù)輸入值(formid#_ value_string)的類型確定表格輸入的類型。例如,如果輸入值的類型是文本,則表格輸入的類型變成文本。在音頻/視頻對象中,aVObjid#指示音頻/視頻對象的唯一號碼,并且state#指示關(guān)于音頻/視頻對象的URL或再現(xiàn)信息。例如,如果state#指示音頻/視頻對象的URL, 則可將其表示為 url. av. avobjid. data = http://192. 168. 0. 1/videos/efg. mpgD 如果 state#指示音頻/視頻對象的再現(xiàn)信息,則可將其表示為url. av. avobjid. playPosition =93847。這里,playPosition指示當再現(xiàn)音頻/視頻對象時的預(yù)定再現(xiàn)位置。
由遠程客戶機向遠程服務(wù)器請求的遠程服務(wù)器的狀態(tài)作為遠程服務(wù)器的狀態(tài)被輸入。例如,當遠程客戶機連接到遠程服務(wù)器,并接收電子節(jié)目指南(EPG)信息作為應(yīng)用程序時,遠程服務(wù)器可按狀態(tài)progid: 123/recordStartTime 09\ OOAM/step 3作出響應(yīng)。
^1^ /^ url. server = progid: 123/recordSt£irtTime09\OOAM/step3。圖7A和圖7B分別示出根據(jù)本發(fā)明示例性實施例的關(guān)于存儲命令包700A和提取命令包700B的HTML代碼。存儲命令包700A包括用戶界面的名稱(/SAVE ? _name_),遠程客戶機的名稱(HOST)、包的大小(Content_Length)和HTML文檔的類型(Content_Type), 并且包括關(guān)于上面參照圖6描述的用戶界面的狀態(tài)的HTML代碼。這里,可由遠程客戶機500的用戶直接輸入用戶界面的名稱,或者可通過自動組合存儲名稱的時間、應(yīng)用程序的名稱、遠程服務(wù)器的名稱或遠程服務(wù)器的地址來產(chǎn)生名稱。此時,如果包括在存儲命令包700A中的用戶界面的名稱與已經(jīng)存儲在存儲服務(wù)器400中的用戶界面的名稱相同,則由用戶指定不同的名稱,或由存儲服務(wù)器400指定任意的名稱。例如,通過將預(yù)定號碼添加到接收的用戶界面的名稱,存儲服務(wù)器400可區(qū)分已經(jīng)存儲的用戶界面的名稱與所述名稱,同時,遠程客戶機500可發(fā)送存儲命令包700A,以存儲關(guān)于由多個遠程服務(wù)器300 提供的各個應(yīng)用程序的多個用戶界面的狀態(tài)。因此,存儲命令包700A可包括多個用戶界面的狀態(tài)。如圖7B所示,提取命令包700B包括期望提取的用戶界面的名稱(/RESTORE ? _ name)和關(guān)于遠程客戶機的名稱(HOST)的HTML代碼。接收提取命令包700B的存儲服務(wù)器400在用戶界面的狀態(tài)之中提取具有與包 700B相應(yīng)的用戶界面的名稱的狀態(tài),并將該狀態(tài)發(fā)送到遠程客戶機500。圖8是示出根據(jù)本發(fā)明示例性實施例的搜索存儲服務(wù)器的過程的流程圖。從遠程服務(wù)器300或存儲服務(wù)器400接收通知包的遠程客戶機500通過查閱包括在通知包中的地址,將HTTP請求包(HTTP請求)發(fā)送到遠程服務(wù)器300或存儲服務(wù)器400。首先,當在操作S810將HTTP請求包發(fā)送到不具有存儲單元的遠程服務(wù)器300時, 在操作S820,遠程服務(wù)器300將HTTP響應(yīng)包發(fā)送到遠程客戶機500。這里,HTTP響應(yīng)包的頭不包括指示遠程服務(wù)器300具有存儲單元的標志。因此,在操作S830,如果遠程客戶機500將HTTP請求包發(fā)送到作為網(wǎng)絡(luò)上存在的另一服務(wù)器的存儲服務(wù)器400,則在操作S840,存儲服務(wù)器400將HTTP響應(yīng)包發(fā)送到遠程客戶機500。這里,HTTP響應(yīng)包的頭包括指示存儲服務(wù)器400具有存儲單元的標志。例如, 可將如下所示的標志插入所述頭RUIS-Capabilities :StateStorage這里,RUIS指示遠程用戶界面服務(wù)器(諸如分別具有web服務(wù)器330和web服務(wù)器420的遠程服務(wù)器300和存儲服務(wù)器400)和集成服務(wù)器。然后,如果在操作S850用戶輸入存儲命令,則在操作S860,遠程客戶機500收集關(guān)于當前操作的應(yīng)用程序的用戶界面的狀態(tài)。也就是說,通過從提供應(yīng)用程序的遠程服務(wù)器300請求應(yīng)用程序的URL,遠程客戶機500接收應(yīng)用程序的URL,并確認web瀏覽器的 cookie、表格輸入和音頻/視頻對象。然后,在操作S870,遠程客戶機500將存儲命令包700A發(fā)送到存儲服務(wù)器400,所述存儲命令包700A包括用戶界面的名稱、遠程客戶機的名稱、包的大小、HTML文檔的類型和關(guān)于收集的用戶界面的狀態(tài)的HTML代碼。存儲服務(wù)器400存儲包括在存儲命令包700A 中的關(guān)于用戶界面的狀態(tài)的HTML代碼。圖9是示出根據(jù)本發(fā)明示例性實施例的在通用即插即用(UPnP)環(huán)境中搜索存儲服務(wù)器的過程的流程圖。遠程客戶機500的服務(wù)器檢索單元550執(zhí)行UPnP的控制點的角色,遠程服務(wù)器 300的控制單元340和包產(chǎn)生單元320或存儲服務(wù)器400的控制單元430和包產(chǎn)生單元440 執(zhí)行受控裝置的角色。這樣,可執(zhí)行遠程客戶機500和遠程服務(wù)器300或存儲服務(wù)器400 之間的UPnP通信。遠程客戶機500通過發(fā)現(xiàn)步驟從遠程服務(wù)器300或存儲服務(wù)器400接收通知包。 然后,通過查閱包括在通知包中的地址,遠程客戶機500用HTTMGET方法將裝置描述文檔 (DDD)請求包發(fā)送到遠程服務(wù)器300或存儲服務(wù)器400。首先,當在操作S910將DDD請求包發(fā)送到不具有存儲單元的遠程服務(wù)器300時, 在操作S920,遠程服務(wù)器300將DDD響應(yīng)包發(fā)送到遠程客戶機500。這里,DDD響應(yīng)包的頭不包括指示遠程服務(wù)器300具有存儲單元的信息。因此,在操作S930,遠程客戶機500分析接收的DDD響應(yīng)包,并更新關(guān)于形成網(wǎng)絡(luò)的外圍設(shè)備的緩存信息。然后,在將更新的緩存信息存儲在存儲單元520中之后,在操作S940,遠程客戶機500將DDD請求包發(fā)送到作為網(wǎng)絡(luò)上存在的另一服務(wù)器的存儲服務(wù)器 400。在操作S950,接收DDD請求包的存儲服務(wù)器400將DDD響應(yīng)包發(fā)送到遠程客戶機 500。這里,DDD響應(yīng)包包括指示存儲服務(wù)器400具有存儲單元的信息。例如,可將如下所示的信息插入DDD響應(yīng)包。<RUIS-Capabilities>StateStorage</RUIS-Capabilities>因此,在操作S960,遠程客戶機500分析接收的DDD響應(yīng)包,更新緩存信息,并將更新的緩存信息存儲在存儲單元520中。對網(wǎng)絡(luò)上存在的所有裝置執(zhí)行DDD請求包的傳輸和DDD響應(yīng)包的分析。因此,關(guān)于多個具有存儲單元的存儲服務(wù)器400的信息可包括在緩
存信息中。然后,如果在操作S970用戶輸入存儲命令,則在操作S980,遠程客戶機500收集關(guān)于當前操作的應(yīng)用程序的用戶界面的狀態(tài)。然后,在從包括在緩存信息中的存儲服務(wù)器列表中選擇一個存儲服務(wù)器400之后,在操作S990,遠程客戶機500將包括用戶界面的狀態(tài)的存儲命令包700A發(fā)送到選擇的存儲服務(wù)器400。這里,可由用戶執(zhí)行存儲服務(wù)器400的選擇。圖10是示出根據(jù)本發(fā)明示例性實施例的檢索用戶界面的狀態(tài)的過程的流程圖。當遠程客戶機500的服務(wù)器檢索單元550執(zhí)行UPnP的控制點的角色,存儲服務(wù)器 400的控制單元430和包產(chǎn)生單元440執(zhí)行受控裝置的角色時,可執(zhí)行遠程客戶機500和存儲服務(wù)器400之間的UPnP通信。遠程客戶機500通過發(fā)現(xiàn)步驟從存儲服務(wù)器400接收通知包。在操作S1010,通過查閱包括在通知包中的地址,遠程客戶機500將DDD請求包發(fā)送到存儲服務(wù)器400。在操作S1020,接收DDD請求包的存儲服務(wù)器400將DDD響應(yīng)包發(fā)送到遠程客戶機500。這里,DDD響應(yīng)包包括應(yīng)用程序的列表,并且還可包括關(guān)于每個應(yīng)用程序的用戶界面的URL。例如,可將下面的XML代碼插入DDD響應(yīng)包。
<uilist xmlns="urn:schemas-upnp-org:remoteui:uilist-1 -0" xmlns:xsi="http://www. w3.org/2001/XMLSchema-instance" xsi:schemaLocation=,’um:schemas-upnp-org:remoteui:uilist-l-0 CompatibleUIs.xsd"> <ui>
<uiID>4560-9876-1265-8758</uiID> <name>Music player</name>
<description>Music browsing and playback application</description> <iconList>.. .</iconList> <fork>true</fork>
〈lifetime〉-1 </lifetime>
〈protocol shortName="VNC">
<uri>http://192.168.0.2/SRH</uri>
<protocolInfo>... opaque... </protocolInfo>
</protocol>
</ui>這里,http: //192. 168. 0. 2/SRH指示存儲服務(wù)器400的模塊,其中,在所述模塊中存儲用戶界面的狀態(tài)。即,存儲狀態(tài)存儲單元410的地址。因此,遠程客戶機500分析接收的DDD響應(yīng)包,更新緩存信息,并將更新的緩存信息存儲在存儲單元520中。然后,根據(jù)用戶輸入的檢索用戶界面的狀態(tài)的命令,遠程客戶機500提取包括在緩存信息中的存儲服務(wù)器400的狀態(tài)存儲單元410的地址。通過使用提取的地址,在操作 S1030,遠程客戶機500發(fā)送HTTP請求包,以與存儲服務(wù)器400通信。相應(yīng)地,在操作S1040,存儲服務(wù)器400發(fā)送HTTP響應(yīng)包,在所述HTTP響應(yīng)包中以 HTML或可擴展標志語言(XML)格式插入關(guān)于用戶界面的狀態(tài)的列表。也就是說,用于每個用戶界面的狀態(tài)的超鏈接包括在HTTP ACK包中。超鏈接的示例如下<a href = "http://RUIS-IP-ADDRPORT/RESTORE ? name = ’ EPG Saved21th Oct 9:00AM,,onClick = “ javascript: savedStateHandler >>EPG Saved 21th0ct 9:00AM</ a>通過遠程客戶機500的web瀏覽器530輸出HTML格式列表,并且用戶在輸出列表中選擇期望的用戶界面的狀態(tài)。
11
在操作S1050,將插入選擇結(jié)果的包,即,提取命令包700B發(fā)送到存儲服務(wù)器400。 在操作S1060,存儲服務(wù)器400從狀態(tài)存儲單元410提取包括在提取命令包700B中的用戶界面的狀態(tài),并將所述狀態(tài)發(fā)送到遠程客戶機500。遠程客戶機500根據(jù)接收的用戶界面的狀態(tài)來恢復(fù)關(guān)于應(yīng)用程序的用戶界面。圖11是示出根據(jù)本發(fā)明示例性實施例的管理用戶界面的狀態(tài)的過程的流程圖。為了管理用戶界面的狀態(tài),存儲服務(wù)器400的包產(chǎn)生單元440產(chǎn)生指示在網(wǎng)絡(luò)上存在存儲服務(wù)器400的通知包。在操作S1110,通過通信單元450周期性地發(fā)送通知包,并且,由于發(fā)送了通知包,所以web服務(wù)器420通過通信單元450與遠程客戶機500執(zhí)行通信。然后,在操作S1120,web服務(wù)器420從遠程客戶機500接收存儲命令包700A。狀態(tài)存儲單元410存儲包括在接收的存儲命令包700A中的用戶界面的狀態(tài)。這里,用戶界面的狀態(tài)包括遠程客戶機500的web瀏覽器的cookie、表格輸入、音頻/視頻對象和應(yīng)用程序的URL。然后,在操作S1130,web服務(wù)器420從遠程客戶機500接收提取命令包700B。控制單元430搜索狀態(tài)存儲單元410,并提取包括在提取命令包700B中的用戶界面的狀態(tài)。在操作S1140,通過通信單元450將提取的用戶界面的狀態(tài)發(fā)送到遠程客戶機 500。基于提取的狀態(tài),遠程客戶機500顯示關(guān)于期望被恢復(fù)的應(yīng)用程序的用戶界面。圖12是示出根據(jù)本發(fā)明示例性實施例的接收應(yīng)用程序的過程的流程圖。為了恢復(fù)由遠程服務(wù)器300提供的應(yīng)用程序,在操作S1210,遠程客戶機500的服務(wù)器檢索單元550搜索能夠存儲關(guān)于提供的應(yīng)用程序的用戶界面的狀態(tài)的存儲服務(wù)器 400。服務(wù)器檢索單元550分析通過通信單元560接收的通知包,并確定網(wǎng)絡(luò)上是否存在存儲服務(wù)器400。如果服務(wù)器檢索單元550的檢索結(jié)果指示在網(wǎng)絡(luò)上存在存儲服務(wù)器400,則在操作S1220,狀態(tài)管理請求單元510根據(jù)用戶的存儲命令輸入產(chǎn)生關(guān)于用戶界面的狀態(tài)的存儲命令包700A。為了產(chǎn)生存儲命令包700A,狀態(tài)管理請求單元510收集關(guān)于當前操作的應(yīng)用程序的用戶界面的狀態(tài)。用戶界面的狀態(tài)包括應(yīng)用程序的URL、web瀏覽器的cookie、表格輸入和音頻/視頻對象。在操作S1230,通過通信單元560將存儲命令包700A發(fā)送到存儲服務(wù)器400。這里,可從遠程服務(wù)器300供給應(yīng)用程序的URL。例如,可將包括下面的HTTP代碼的HTTP請求包發(fā)送到遠程服務(wù)器300。http://192. 168. 1. 1/EPG/record/GETSTATE響應(yīng)于HTTP請求包,遠程服務(wù)器300將HTTPACK包發(fā)送到遠程客戶機500。HTTP ACK包可包括包含關(guān)于應(yīng)用程序的信息的下面的HTTP代碼。progid:123/recordStartTime09\OOAM/recordEndTime10\00AM/st印3由于接收到遠程服務(wù)器300的狀態(tài),所以狀態(tài)管理請求單元510可產(chǎn)生包含下面的HTTP代碼的存儲命令包700A。_urll_ = http://192. 168. 1. 1/EPG/recordurll. server = progid: 123/recordStartTime : 09 \ : 00AM/ recordEndTime:10\:30 AM/step:3
由于在操作S1240用戶輸入恢復(fù)命令以恢復(fù)用戶界面的狀態(tài),所以在操作S1250, 狀態(tài)管理請求單元510產(chǎn)生提取命令包700B。在操作SU60,通過通信單元560將產(chǎn)生的提取命令包700B發(fā)送到存儲服務(wù)器400。由于發(fā)送了提取命令包700B,所以在操作S1270,通信單元560從存儲服務(wù)器400 接收用戶界面的狀態(tài)。在操作SU80,將接收的用戶界面的狀態(tài)傳送到web瀏覽器530,web 瀏覽器530根據(jù)接收的用戶界面的狀態(tài)顯示關(guān)于預(yù)定的應(yīng)用程序的用戶界面。如上所述,本發(fā)明示例性實施例提供的用戶界面的設(shè)備和方法可提供以下優(yōu)點。首先,通過在單獨的裝置中存儲由網(wǎng)絡(luò)上的服務(wù)器提供的應(yīng)用程序的用戶界面的狀態(tài),可將相同的用戶界面提供給通過不同的客戶機接收應(yīng)用程序的用戶。此外,可同時管理關(guān)于由網(wǎng)絡(luò)上存在的多個服務(wù)器提供的多個應(yīng)用程序的用戶界 在對詳細說明的總結(jié)中,本領(lǐng)域的技術(shù)人員應(yīng)該理解,在實質(zhì)上不脫離本發(fā)明的原理的情況下,可以對示例性實施例進行各種變化和修改。因此,公開的本發(fā)明的示例性實施例僅用于一般和描述意義,而不是限制性的目的。
權(quán)利要求
1.一種用于顯示用戶界面的設(shè)備,所述設(shè)備包括服務(wù)器檢索單元,搜索存儲關(guān)于提供的應(yīng)用程序的用戶界面的狀態(tài)的服務(wù)器;狀態(tài)管理請求單元,根據(jù)搜索結(jié)果產(chǎn)生關(guān)于用戶界面的狀態(tài)的存儲命令包或提取命令包;通信單元,以超文本標記語言HTML格式發(fā)送關(guān)于從一個或多個遠程服務(wù)器提供的應(yīng)用程序的用戶界面的狀態(tài)或所述包;以及web瀏覽器,顯示響應(yīng)于提取命令包的發(fā)送而接收的預(yù)定用戶界面。
2.如權(quán)利要求1所述的設(shè)備,其中,所述用戶界面的狀態(tài)包括:web瀏覽器的多個 cookie、表格輸入、音頻/視頻對象和提供應(yīng)用程序的服務(wù)器的狀態(tài)中的至少一個。
3.如權(quán)利要求1所述的設(shè)備,其中,所述通信單元使用超文本傳輸協(xié)議HTTP發(fā)送用戶界面的狀態(tài)或所述包。
4.如權(quán)利要求1所述的設(shè)備,其中,如果提供多個遠程服務(wù)器,則用戶界面的狀態(tài)包括所述遠程服務(wù)器的狀態(tài)。
5.如權(quán)利要求4所述的設(shè)備,其中,如果同時從所述遠程服務(wù)器提供多個應(yīng)用程序,則關(guān)于從所述遠程服務(wù)器提供的所述多個應(yīng)用程序的URL以超文本標記語言HTML格式被存儲在用戶界面的狀態(tài)中。
6.一種顯示用戶界面的方法,所述方法包括搜索存儲關(guān)于提供的應(yīng)用程序的用戶界面的狀態(tài)的服務(wù)器;根據(jù)搜索結(jié)果產(chǎn)生關(guān)于用戶界面的狀態(tài)的存儲命令包或提取命令包;以超文本標記語言HTML格式發(fā)送關(guān)于從一個或多個遠程服務(wù)器提供的應(yīng)用程序的用戶界面的狀態(tài)或所述包;以及顯示響應(yīng)于提取命令包的發(fā)送而接收的預(yù)定用戶界面。
7.如權(quán)利要求6所述的方法,其中,所述用戶界面的狀態(tài)包括:web瀏覽器的多個 cookie、表格輸入、音頻/視頻對象和提供應(yīng)用程序的服務(wù)器的狀態(tài)中的至少一個。
8.如權(quán)利要求6所述的方法,其中,發(fā)送用戶界面的狀態(tài)或所述包的步驟包括使用超文本傳輸協(xié)議HTTP發(fā)送用戶界面的狀態(tài)或所述包。
9.如權(quán)利要求6所述的方法,其中,如果提供多個遠程服務(wù)器,則用戶界面的狀態(tài)包括所述遠程服務(wù)器的狀態(tài)。
10.如權(quán)利要求9所述的方法,其中,如果同時從所述遠程服務(wù)器提供多個應(yīng)用程序, 則關(guān)于從所述遠程服務(wù)器提供的所述多個應(yīng)用程序的URL以超文本標記語言HTML格式被存儲在用戶界面的狀態(tài)中。
全文摘要
一種用于管理用戶界面的設(shè)備和方法。用于管理用戶界面的設(shè)備包括包產(chǎn)生單元,產(chǎn)生指示在網(wǎng)絡(luò)上存在一個或多個遠程服務(wù)器的通知包;web服務(wù)器,管理存儲通過網(wǎng)絡(luò)發(fā)送的預(yù)定應(yīng)用程序的用戶界面的狀態(tài)的命令或者作為發(fā)布通知包的結(jié)果而接收的提取命令;狀態(tài)存儲單元,根據(jù)存儲命令存儲用戶界面的狀態(tài);以及通信單元,發(fā)送根據(jù)提取命令從存儲的用戶界面的狀態(tài)之中提取的預(yù)定用戶界面的狀態(tài)。
文檔編號H04L29/08GK102255943SQ201110079130
公開日2011年11月23日 申請日期2006年11月17日 優(yōu)先權(quán)日2005年11月17日
發(fā)明者金允洙 申請人:三星電子株式會社