專利名稱:在havi設(shè)備上產(chǎn)生控制非havi設(shè)備的用戶接口的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種在HAVI(家用視聽交互操作)設(shè)備上產(chǎn)生控制非HAVI設(shè)備的用戶接口的方法。本發(fā)明特別應(yīng)用于家用通信網(wǎng)絡(luò)領(lǐng)域。本發(fā)明也涉及用于產(chǎn)生用戶接口方法的網(wǎng)關(guān),以及兩類計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
幾年以前,典型的家用視/聽設(shè)備的建立是以不同類型的CE設(shè)備的混合為特點(diǎn),例如無(wú)線電接收機(jī),CD播放機(jī),一對(duì)揚(yáng)聲器,電視機(jī),錄像機(jī),磁帶機(jī),DVD播放機(jī),衛(wèi)星接收機(jī)等等,為了設(shè)備之間互相作用,模/數(shù)輸入/輸出的點(diǎn)到點(diǎn)的連接是必須的,為此,可用各種不同的連接線,像Scart電纜、Cinch電纜、Coax電纜、光纖等等。
同時(shí),在消費(fèi)電子領(lǐng)域,為避免這種點(diǎn)到點(diǎn)的連接的工作也十分活躍。已有的一些用于家用網(wǎng)絡(luò)的標(biāo)準(zhǔn)能使所有不同的部件通過一種類型的網(wǎng)絡(luò)電纜互相連接起來(lái)。在電子消費(fèi)領(lǐng)域首先應(yīng)提到的是IEEE 1394總線標(biāo)準(zhǔn)。IEEE 1394總線系統(tǒng)提供CE設(shè)備之間高數(shù)據(jù)速率的通信。電纜方案支持100、200和400Mbit/s的數(shù)據(jù)速率。這對(duì)傳送控制網(wǎng)站的異步數(shù)據(jù)以及并行傳輸同步的音頻和視頻數(shù)據(jù)足夠了。同步和異步數(shù)據(jù)傳送模式都被支持。但是,IEEE 1394標(biāo)準(zhǔn)只規(guī)定了ISO/OSI參考模型的低層,即物理層,數(shù)據(jù)鏈路層和事務(wù)層,因此,留下的高層即傳送層,對(duì)話層,表示層和應(yīng)用層是為專門定義開放的。
消費(fèi)電子公司聯(lián)盟為音頻/視頻電子學(xué)和多媒體工業(yè)制定了標(biāo)準(zhǔn),其中,已規(guī)范了高層通信層。這一標(biāo)準(zhǔn)作為HAVI參考標(biāo)準(zhǔn),HAVI支持家用音頻/視頻的互相可操作性。這一標(biāo)準(zhǔn)最初定義為可互操作的中間件,它保證不同賣主的產(chǎn)品可互操作,也就是說可合作來(lái)執(zhí)行應(yīng)用任務(wù)。應(yīng)用層仍然對(duì)專門的解決方案完全開放。
另一個(gè)公司聯(lián)盟,特別是包括微軟的計(jì)算機(jī)公司,開創(chuàng)了另一種基于互聯(lián)網(wǎng)協(xié)議來(lái)建立網(wǎng)絡(luò)控制軟件堆棧的工作。這種網(wǎng)絡(luò)系統(tǒng)稱為UPnP(通用的即插即用)網(wǎng)絡(luò),這種系統(tǒng)將對(duì)所有能在網(wǎng)絡(luò)內(nèi)集成的電子部件,特別是個(gè)人計(jì)算機(jī)開放,還對(duì)家用電子設(shè)備開放,如冰箱,微波爐,加熱控制,空調(diào)控制,安全系統(tǒng),洗衣機(jī)等等。UPnP網(wǎng)絡(luò)系統(tǒng)支持通過互聯(lián)網(wǎng)控制所有這些電子設(shè)備,因此,即使人在旅途,他也能管理監(jiān)視和控制其家用電子設(shè)備。
雖然HAVI和UPnP有時(shí)被看成是競(jìng)爭(zhēng)對(duì)手,并在某些方面確實(shí)如此,他們服務(wù)于稍有不同的市場(chǎng)和稍有不同的目標(biāo),因此,可以預(yù)見兩種網(wǎng)絡(luò)在家用設(shè)備中并行存在,并且其橋接能使兩種數(shù)據(jù)之間互相交換和UPnP網(wǎng)絡(luò)部件的HAVI網(wǎng)絡(luò)部件之間互相作用的方案。但是,這要求創(chuàng)建在HAVI和UPnP網(wǎng)絡(luò)之間的橋接技術(shù)。
在談到UPnP和HAVI網(wǎng)絡(luò)之間的橋接時(shí),這種技術(shù)意味著數(shù)據(jù)包被傳送給數(shù)據(jù)鏈路層的另一邊,當(dāng)在ISO/OSI參考模型的高層傳送數(shù)據(jù)包時(shí),橋接設(shè)備稱為網(wǎng)關(guān)。因?yàn)閿?shù)據(jù)包在高層從HAVI傳送到UPnP網(wǎng)絡(luò)或反之,橋接設(shè)備此后亦稱為網(wǎng)關(guān),但這不意味著限制。
用兩個(gè)網(wǎng)絡(luò)之間的網(wǎng)關(guān),從UPnP網(wǎng)絡(luò)中的UPnP設(shè)備控制HAVI網(wǎng)絡(luò)中的HAVI設(shè)備是可能的,這也支持從HAVI設(shè)備控制UPnP設(shè)備。
為了從UPnP設(shè)備控制HAVI設(shè)備,需要把HAVI設(shè)備作為UPnP設(shè)備的代表,這里,有一些專門的問題需解決,但不屬于本發(fā)明的部分。
本發(fā)明處理從HAVI設(shè)備控制UPnP設(shè)備的問題,為理解本發(fā)明,首先解說HAVI系統(tǒng)的體系結(jié)構(gòu)是有用的。根據(jù)HAVI的體系結(jié)構(gòu),在網(wǎng)絡(luò)中的CE設(shè)備是通過CE設(shè)備的抽象表示來(lái)控制的。該體系結(jié)構(gòu)允許一個(gè)模塊(例如設(shè)備表示,控制器,等等)向家用網(wǎng)絡(luò)中的另一模塊發(fā)送指令或控制信息。HAVI適應(yīng)設(shè)備包含涉及其用戶接口和其控制能力的數(shù)據(jù)(在作為設(shè)備控制模塊DCM的抽象表示之上),例如,這一數(shù)據(jù)包括HAVI字節(jié)碼(JaVa碼),它可由網(wǎng)絡(luò)上的其它設(shè)備加載和執(zhí)行。HAVI適應(yīng)設(shè)備至少具有與HAVI網(wǎng)絡(luò)中的其它設(shè)備足夠的通信能力。在相互作用期間,設(shè)備可以同等的狀態(tài)交換控制數(shù)據(jù)和應(yīng)用數(shù)據(jù)。HAVI的規(guī)范把控制器和被控設(shè)備區(qū)別開。控制器是一種設(shè)備,它作為被控設(shè)備的主機(jī),控制器以抽象表示用于被控設(shè)備。
HAVI規(guī)范定義下面各類為HAVI適應(yīng)CE設(shè)備全音頻-視頻設(shè)備(FAV),中間音頻-視頻設(shè)備(IAV)和基本音頻-視頻設(shè)備(BAV)。
FAV包括HAVI軟件體系結(jié)構(gòu)的完全軟件成分組,F(xiàn)AV的特點(diǎn)是它具有對(duì)HAVI字節(jié)碼的運(yùn)行-時(shí)間環(huán)境,這意味著它具有JAVA虛擬機(jī)。它使FAV設(shè)備能從其它設(shè)備下載JAVA字節(jié)碼,例如,為提供對(duì)它們控制的增強(qiáng)型能力。FAV可由HAVI適應(yīng)設(shè)置的機(jī)頂盒、HAVI適應(yīng)的數(shù)字電視接收機(jī)或家用個(gè)人電腦形成。例如智能電視接收機(jī)可以是連到網(wǎng)絡(luò)的其它設(shè)備的HAVI控制器。該接收機(jī)獲得從網(wǎng)絡(luò)中其它設(shè)備加載的字節(jié)碼,代表這一設(shè)備的圖標(biāo)可出現(xiàn)在電視屏幕上,用戶與該圖標(biāo)的相互作用可使控制程序的單元以預(yù)選規(guī)范的方式激活被代表的設(shè)備。
IAV并不為HAVI字節(jié)碼提供運(yùn)行-時(shí)間環(huán)境,但可提供本地的支持來(lái)控制家用網(wǎng)絡(luò)上的規(guī)定設(shè)備。IAV包括嵌入的軟件單元,它提供控制規(guī)定設(shè)備一般功能的接口。這些軟件單元并不需要是HAVI字節(jié)碼,且可作為IAV上的本地應(yīng)用程序來(lái)實(shí)現(xiàn),IAV使用本地的應(yīng)用程序訪問其它設(shè)備。
BAV可提供加載HAVI字節(jié)碼,但并不容納HAVI體系結(jié)構(gòu)的任何軟件單元,BAV可借助于前者加載的字節(jié)碼通過FAV來(lái)控制。BAV可通過IAV用已由FAV加載的DCM/FCM來(lái)控制。一方面FAV或IAV之間的通信和另一方面BAV之間的通信需要HAVI字節(jié)碼由FAV實(shí)例化。
HAVI規(guī)范包括一組主軟件單元,它們列在下面。為了對(duì)這些單元作詳細(xì)說明,涉及HAVI規(guī)范。HAVI規(guī)范的現(xiàn)存版本是V1.1,發(fā)表于2001年5月15日,來(lái)自HAVI,INC.,2694,Bishop Drive,Suite 275 San Ramon,CA 94683,USA。
1. 1394通信介質(zhì)管理器(CMM)作為其它軟件單元和IEEE 1394總線之間的接口。
2.事件管理器(EM)向各種軟件單元通告網(wǎng)絡(luò)中的事件,例如網(wǎng)絡(luò)結(jié)構(gòu)的變化,它總在適應(yīng)設(shè)備加入網(wǎng)絡(luò)或移出網(wǎng)絡(luò)時(shí)發(fā)生。
3.登記處——保存有關(guān)連到網(wǎng)絡(luò)的信息和它們提供的功能。應(yīng)用程序可從登記處獲得這些信息。
4.消息系統(tǒng)(MS)——作為API(應(yīng)用程序變成接口),它便于網(wǎng)絡(luò)上各設(shè)備的軟件單元間的通信,消息系統(tǒng)提供通信設(shè)備給HAVI軟件單元,它與網(wǎng)絡(luò)和傳輸層無(wú)關(guān)。消息系統(tǒng)負(fù)責(zé)為在FAV或IAV的抽象表示分配識(shí)別符,這些識(shí)別符首先由抽象表示用來(lái)在FAV或IAV登記,然后由抽象表示用來(lái)在家用網(wǎng)絡(luò)內(nèi)互相識(shí)別。當(dāng)?shù)谝粋€(gè)抽象表示要向另一個(gè)抽象表示發(fā)送信息時(shí),它必須使用后者的識(shí)別符,同時(shí)啟用該消息的API。
5.設(shè)備控制模塊(DCM)——代表網(wǎng)絡(luò)上的設(shè)備。應(yīng)用程序可直接與DCM相互作用。在DCM內(nèi),可包含一組功能控制模塊(FCM)。在HAVI網(wǎng)絡(luò)中,功能性是由FCM代表的,按等級(jí)講,F(xiàn)CM總是包含在代表設(shè)備的DCM中。DCM可包含多于一個(gè)FCM(例如代表數(shù)字VCR的DCM包含調(diào)諧器FCM和VCR FCM),但每個(gè)HAVI設(shè)備中,只有一個(gè)DCM。
6.DCM管理器——安裝DCM。它自動(dòng)反作用于網(wǎng)絡(luò)中由為新的BAV設(shè)備安裝新的DCM的改變。
7.數(shù)據(jù)驅(qū)動(dòng)互作用(DDI)控制器——以HAVI軟件單元的名義在設(shè)備的顯示器上繪制GVI(圖形用戶接口)。它支持從圖形只變化到文本的很寬的顯示范圍。
8.數(shù)據(jù)流管理器(SMGR)——?jiǎng)?chuàng)建網(wǎng)絡(luò)上兩個(gè)或更多個(gè)設(shè)備之間的連接和實(shí)時(shí)AV數(shù)據(jù)流的路徑。
基本HAVI可互操作性的一般要求是允許現(xiàn)有設(shè)備在功能性的基本級(jí)通信。為此,HAVI定義和使用一組一般消息,它能使一個(gè)設(shè)備與其它設(shè)備通信,和一組事件消息,它應(yīng)適當(dāng)?shù)貜慕o出其類別的設(shè)備得到(TV,VCR,DVD播放機(jī),等等)。為支持這種方法,需要一組基本機(jī)制設(shè)備的發(fā)現(xiàn);通信;和HAVI消息組。關(guān)于設(shè)備的發(fā)現(xiàn)在家用網(wǎng)絡(luò)中的每一設(shè)備需要一種已經(jīng)確定的方法,使它能把它的能力通告給別的設(shè)備。HAVI方法是利用所謂的SDD數(shù)據(jù)自描述數(shù)據(jù)。在網(wǎng)絡(luò)中的所有HAVI設(shè)備上都要求SDD數(shù)據(jù)。SDD數(shù)據(jù)包含關(guān)于可由其它設(shè)備訪問的設(shè)備信息。SDD數(shù)據(jù)包含少量的足夠信息以允許所謂嵌入式設(shè)備控制模塊(嵌入式DCM)的實(shí)例建立。嵌入式DCM是在有關(guān)代碼的平臺(tái)內(nèi)預(yù)先安裝在控制的IAV或FAV上的代碼段,并使用本地接口訪問IAV,用于FAV資源。如上所述,設(shè)備的DCM是一種軟件單元,它提供接口來(lái)控制設(shè)備的一般功能。嵌入式DCM的實(shí)例化導(dǎo)致設(shè)備能力以記錄登記。該記錄提供一種目錄服務(wù),并能使網(wǎng)絡(luò)上的一個(gè)目標(biāo)定位網(wǎng)絡(luò)上的其它目標(biāo)。登記允許應(yīng)用程序推倫基本指令消息組,他可在網(wǎng)絡(luò)上規(guī)定的設(shè)備上發(fā)送。
關(guān)于通信一旦應(yīng)用程序已確定設(shè)備的能力,該應(yīng)用程序需能訪問這些能力,這就要求一般的通信設(shè)備允許應(yīng)用程序能向設(shè)備發(fā)布請(qǐng)求,這種服務(wù)是由HAVI消息系統(tǒng)和DCM提供的。應(yīng)用程序把HAVI消息發(fā)送給DCM,然后DCM進(jìn)行與設(shè)備的專門通信。
關(guān)于HAVI信息組為了支持基本的可互操作性,需求一組明確定義的消息,它必須為所有具體已知類別的設(shè)備所支持(例如電視機(jī)類,VCR類,DVD播放機(jī)類等等)。這就保證設(shè)備能以現(xiàn)有設(shè)備以及未來(lái)設(shè)備工作而與制造商無(wú)關(guān)。這三項(xiàng)基本要求支持可互操作性的最低級(jí)別。因?yàn)槿魏卧O(shè)備能通過記錄查詢別的設(shè)備的能力,任何設(shè)備能確定由別的設(shè)備支持的消息組。因?yàn)閼?yīng)用程序可使用消息系統(tǒng),因此任何設(shè)備能與任何別的設(shè)備相互作用。
基本HAVI可互操作性保證了設(shè)備能在功能性的基本等級(jí)可互操作。但是,為了也允許設(shè)備以FAV上嵌入式DCM中沒有的附加功能與其它設(shè)備通信,需要更多擴(kuò)展的機(jī)制,例如,嵌入式DCM可不支持現(xiàn)有產(chǎn)品的所有性能,并且未必支持未來(lái)產(chǎn)品類的新的一種產(chǎn)品。
HAVI 2’級(jí)可互操作性提供了這種機(jī)制。為了獲得這種機(jī)制,HAVI的體系結(jié)構(gòu)允許可加載的DCM作為嵌入式設(shè)備的控制模塊的替換物,可加載的DCM可由任何合適的源提供,但最可能的技術(shù)是把可加載的DCM放入BAV設(shè)備上的HAVI SDD數(shù)據(jù)中,并當(dāng)BAV連到家用網(wǎng)絡(luò)時(shí),從BAV加載到FAV設(shè)備。因?yàn)镠AVI體系結(jié)構(gòu)與賣主無(wú)關(guān),必須使加載的DCM能在各種具有潛在不同硬件結(jié)構(gòu)的FAV設(shè)備上工作。為此,加載的DCM是在HAVI(JAVA)字節(jié)代碼中實(shí)現(xiàn)。Java字節(jié)代碼在FAV設(shè)備上的運(yùn)行時(shí)環(huán)境支持加載的DCM的建立和執(zhí)行。一旦在FAV設(shè)備內(nèi)建立和運(yùn)行,DCM以與上面描述的同樣狀態(tài)與BAV設(shè)備通信。
在新方案下,其中HAVI網(wǎng)絡(luò)與UPnP網(wǎng)絡(luò)通過網(wǎng)關(guān)連接,并且UPnP設(shè)備將由HAVI FAV設(shè)備控制,產(chǎn)生了附加的問題,即沒有一個(gè)UPnP設(shè)備提供能加載到HAVI FAV設(shè)備的HAVI OCM。因此,對(duì)于從HAVI網(wǎng)站控制UPnP設(shè)備,無(wú)論是基本級(jí)或2級(jí)都是無(wú)效的。
發(fā)明內(nèi)容
本發(fā)明的目的在于解決從HAVI網(wǎng)絡(luò)中的HAVI適應(yīng)的FAV設(shè)備通過網(wǎng)關(guān)控制非HAVI網(wǎng)絡(luò)中的非HAVI適應(yīng)的設(shè)備問題。對(duì)于某些UPnP網(wǎng)絡(luò)而言,在網(wǎng)關(guān)設(shè)備中可能以具有嵌入式設(shè)備專門的FCM的DCM的形式存在相應(yīng)的表示,這種DCM/FCD可能用于在HAVI FAV設(shè)備上產(chǎn)生用戶接口,用來(lái)用基本可互操作性控制UPnP設(shè)備。因此,用戶能產(chǎn)生對(duì)UPnP設(shè)備的控制指令,該指令需在網(wǎng)關(guān)中譯碼并轉(zhuǎn)換成相應(yīng)的UPnP指令,該指令能為要控的UPnP設(shè)備所理解。
但是,問題是在HAVI系統(tǒng)中,確有UPnP設(shè)備沒有相應(yīng)的以FCM形式的表示,對(duì)于這種情況,在HAVI系統(tǒng)中實(shí)現(xiàn)的可能性是產(chǎn)生所謂一般的FCM。在未知UPnP設(shè)備的情況下,網(wǎng)關(guān)只能提供具有嵌入一般FCM的DCM,用來(lái)控制UPnP設(shè)備。用這種一般的FCM,HAVI FAV設(shè)備不可能產(chǎn)生用戶接口,因?yàn)闆]有一種UPnP設(shè)備的功能在一般的FCM中是已知的。這就是本發(fā)明問題的關(guān)鍵。
本發(fā)明的獨(dú)立的權(quán)利要求1,8,12和15的方法解決了這一問題。本發(fā)明利用HAVI系統(tǒng)中從DCM下載稱為HAVLET的可能性來(lái)產(chǎn)生在HAVI控制器上的用戶接口,HAVLET是可執(zhí)行的JAVA字節(jié)代碼。這一HAVLET軟件塊與DCM相互作用,用于在網(wǎng)關(guān)中儲(chǔ)存和執(zhí)行非HAVI設(shè)備。非HAVI DCM包含專門化的非HAVI FCM,它包括軟件程序,用于請(qǐng)求非HAVI設(shè)備的功能說明和把它們傳送給HAVI FAV設(shè)備。在HAVIFAV設(shè)備上運(yùn)行的HAVLET取得非HAVI設(shè)備的功能說明,并用這些功能說明產(chǎn)生相應(yīng)的用戶接口。
本發(fā)明的優(yōu)點(diǎn),改型和改善列在有關(guān)的權(quán)利中,許多優(yōu)點(diǎn)是,如果在網(wǎng)關(guān)中運(yùn)行的FCM包括在傳送給HAVI控制器之前,把從非HAVI設(shè)備(23)讀出的功能描述翻譯成由HAVI系統(tǒng)支持的數(shù)據(jù)格式的裝置。這種改進(jìn)大大簡(jiǎn)化了在HAVI控制器上運(yùn)行的HAVLET軟件。翻譯非HAVI設(shè)備功能描述的裝置并不需要包括在HAVLET中,這樣,使它無(wú)需把相應(yīng)的軟件碼加載到HAVI設(shè)備中,因此,減少了在HAVI FAV設(shè)備中的存儲(chǔ)器要求。同樣,HAVI FAV設(shè)備的處理器也減輕了。
如果HAVI網(wǎng)絡(luò)需與基于IP的網(wǎng)絡(luò)聯(lián)合的話,例如UPnP網(wǎng)絡(luò),本發(fā)明能得到最佳的利用。在UPnP網(wǎng)絡(luò)的情況下,UPnP設(shè)備用所謂的XML描述來(lái)代表,用于UPnP設(shè)備的每個(gè)功能。XML描述將由專門化的功能控制模塊請(qǐng)求,它是運(yùn)行在網(wǎng)關(guān)上的一般FCM類型,并被翻譯,然后傳送給由HAVI控制器執(zhí)行的HAVLET。對(duì)于每個(gè)被翻譯的功能描述,HAVLET將產(chǎn)生以按鈕,游標(biāo),查詢鈕或與符號(hào)或說明意義的表達(dá)式一起的輸入字段形式的圖形表示。
根據(jù)本發(fā)明的網(wǎng)關(guān)申請(qǐng)的權(quán)利在獨(dú)立的權(quán)利要求8中。
獨(dú)立權(quán)利要求12申請(qǐng)計(jì)算機(jī)程序產(chǎn)品的權(quán)利要求,取功能控制模塊,用于本發(fā)明的網(wǎng)關(guān)。
獨(dú)立的權(quán)利要求15申請(qǐng)計(jì)算機(jī)程序產(chǎn)品,它在具體的HAVLET中,運(yùn)行于本發(fā)明的HAVI控制器上。
圖1表示HAVI網(wǎng)絡(luò)與UPnP網(wǎng)絡(luò)通過網(wǎng)關(guān)互相連接的例子;圖2表示與UPnP設(shè)備互相作用的基本軟件單元,網(wǎng)關(guān)和HAVI控制器;圖3表示用戶接口的例子,用于控制顯示在HAVI控制器上的UPnP安全攝像機(jī);圖4表示本發(fā)明用在網(wǎng)關(guān)中的功能控制模塊的程序列表;圖5表示為HAVLET列出的程序,HAVLET要由本發(fā)明的HAVI控制器執(zhí)行;圖6表示為業(yè)務(wù)描述流程列出的程序,當(dāng)執(zhí)行功能控制模塊時(shí),該程序?qū)⒈徽{(diào)出。
具體實(shí)施例方式
圖1表示兩種網(wǎng)絡(luò)通過網(wǎng)關(guān)互相連接的基本結(jié)構(gòu)。圖的左邊是UPnP網(wǎng)絡(luò)。作為例子,參考數(shù)字21表示洗衣機(jī),22表示電冰箱,23表示安全攝像機(jī),24表示加熱控制單元,25表示具有ISDN/DSL互聯(lián)網(wǎng)連接的個(gè)人計(jì)算機(jī)。所有這些UPnP設(shè)備都連到用于數(shù)據(jù)交換的以太數(shù)據(jù)總線20。以太總線也與網(wǎng)關(guān)10相連。圖1的右邊,是HAVI網(wǎng)絡(luò),參考數(shù)字31表示電視機(jī),32表示VCR,33表示DVD播放機(jī)和34表示一組機(jī)頂盒,如數(shù)字衛(wèi)星接收機(jī)。HAVI網(wǎng)站連到用于數(shù)據(jù)交換的IEEE 1394總線30。網(wǎng)關(guān)10也連到1394總線30。網(wǎng)關(guān)10包括在一邊的IP協(xié)議堆棧11,在另一邊的HAVI協(xié)議堆棧12,以及用于執(zhí)行從一個(gè)網(wǎng)絡(luò)到另一網(wǎng)絡(luò)的控制消息和事件的翻譯或映射的軟件。
HAVI以及UPnP規(guī)范在現(xiàn)有技術(shù)上已知,因此,并不需要為說明本發(fā)明而解釋這些規(guī)范中的所有細(xì)節(jié)。為此,可專門參考HAVI以及UPnP規(guī)范。UPnP規(guī)范可從微軟公司管理的UPnP論壇獲得。
如前所述,UPnP網(wǎng)絡(luò)系統(tǒng)是基于現(xiàn)有的互聯(lián)網(wǎng)協(xié)議。從UPnP控制器控制UPnP設(shè)備的圖形用戶接口(GUI),例如個(gè)人計(jì)算機(jī)25可包括一組顯示于計(jì)算機(jī)監(jiān)視器上的圖標(biāo)。當(dāng)用戶選擇圖標(biāo)時(shí),HTML頁(yè)被從涉及的設(shè)備檢索,HTML頁(yè)對(duì)用戶顯示,這些允許用戶控制給定的設(shè)備。在UPnP規(guī)范中,定義每個(gè)UPnP設(shè)備包括一張業(yè)務(wù)表,它由該設(shè)備提供。每項(xiàng)業(yè)務(wù)描述在XML文檔中,而XML支持?jǐn)U展的標(biāo)識(shí)語(yǔ)言,即互聯(lián)網(wǎng)技術(shù)。每個(gè)XML文檔包括在該業(yè)務(wù)內(nèi)所有控制可能性的詳細(xì)說明。這些XML文檔將用于從HAVI控制器控制UPnP設(shè)備。
從HAVI FAV設(shè)備控制UPnP設(shè)備的控制方法示于圖2中,同樣的參考數(shù)字表示與圖1中相同的部件,無(wú)需再解釋。在圖2中,配備UPnP設(shè)備以及網(wǎng)關(guān)的以太接口電路26分別畫出,。同樣,示出了1394總線接口35,用于HAVI網(wǎng)絡(luò)部件和網(wǎng)關(guān)10。此外,安全攝像機(jī)23,網(wǎng)關(guān)10以及電視機(jī)31的基本軟件單元示于圖2。安全攝像機(jī)23包含XML文檔,其中列出了對(duì)安全攝像機(jī)的控制可能性。網(wǎng)關(guān)的重要軟件單元是含有專門功能控制模塊的FCM以及可執(zhí)行的JAVA程序HAVLET的設(shè)備控制模塊DCM。JAVA程序HAVLET用來(lái)對(duì)HAVI FAV設(shè)備在HAVI網(wǎng)絡(luò)配置階段加載。因此,HAVI控制器31的特別重要的軟件單元與這一HAVLET有關(guān)。
為了控制安全攝像機(jī)23,網(wǎng)關(guān)與安全攝像機(jī)23和電視機(jī)31相互作用如下在完成了兩個(gè)網(wǎng)絡(luò)中的配置階段后,在HAVI網(wǎng)絡(luò)以及UPnP網(wǎng)絡(luò)內(nèi)的所有網(wǎng)絡(luò)部件都可由電視機(jī)31控制??刂七@些設(shè)備的用戶接口內(nèi)置在對(duì)每一可控設(shè)備以圖標(biāo)表的形式,它們是通信介質(zhì)管理器CMM、事件管理器EM、記錄和HAVI協(xié)議堆棧的消息系統(tǒng)MS,它用來(lái)收集HAVI網(wǎng)絡(luò)或UPnP網(wǎng)絡(luò)中所有可控單元的信息。當(dāng)然,網(wǎng)關(guān)10包括相應(yīng)的軟件單元和接口,以使UPnP設(shè)備映射到在HAVI記錄中是可能的。但這一方法是現(xiàn)有技術(shù)預(yù)先提出的,這里不作進(jìn)一步詳細(xì)的說明。
現(xiàn)在,用戶想要從HAVI網(wǎng)絡(luò)中的電視機(jī)31控制安全攝像機(jī),為此,他在電視屏上選擇相應(yīng)的圖標(biāo),這一事件將起動(dòng)下載HAVLET進(jìn)入電視機(jī)31的內(nèi)存,正確下載后,開始執(zhí)行HAVLET。HAVLET是可執(zhí)行的JAVA程序。因?yàn)镴AVA是與編程語(yǔ)言無(wú)關(guān)的平臺(tái),它將在每臺(tái)具有JAVA字節(jié)碼運(yùn)行-時(shí)間環(huán)境的HAVI FAV設(shè)備上運(yùn)行。
第三,被執(zhí)行的HAVLET發(fā)送關(guān)于安全攝像機(jī)23的檢索信息請(qǐng)求給網(wǎng)關(guān)10,這一請(qǐng)求將為運(yùn)行的UPnP功能控制模塊FCM所接受,F(xiàn)CM本身檢索存儲(chǔ)在安全攝像機(jī)23的萬(wàn)維網(wǎng)上的XML文檔。每一XML文檔包含對(duì)安全攝像機(jī)23控制可能性的描述。FCM把XML描述翻譯成構(gòu)件(一組變量),并把它們傳送給運(yùn)行在電視機(jī)31的HAVLET。然后,HAVLET取得這些功能描述并對(duì)每個(gè)可控單元產(chǎn)生圖形表示,例如按鈕,游標(biāo),詢問鈕,輸入字段或類似產(chǎn)生圖形用戶接口的圖形,用來(lái)在電視屏上控制安全攝像機(jī)。信息流用箭頭表示于圖2中,序號(hào)表示互作用的順序。
對(duì)安全攝像機(jī)23的圖形用戶接口示于圖3。對(duì)每一安全攝像機(jī)的可控單元產(chǎn)生圖形表示,例如對(duì)于亮度,設(shè)置的游標(biāo)示于電視屏上,用鼠標(biāo)指針,亮度可借助于位于游標(biāo)左、右邊的左、右按鈕直接控制,還有,游標(biāo)本身也以被拖到從許多計(jì)算機(jī)菜單的變化已知想要的位置。在亮度調(diào)節(jié)的游標(biāo)左邊,寫有設(shè)置亮度的表示,這一表示直接取自對(duì)這一可控單元的XML描述。運(yùn)行于網(wǎng)關(guān)中的FCM并不需要知道這一表示的意義。很明顯,如果考慮新型產(chǎn)品能集成在UPnP網(wǎng)絡(luò)中,而對(duì)該新產(chǎn)品,無(wú)人知道其可控的單元是什么。在這種情況下,用戶必須由他自己作出這種可控單元的正確判斷。在亮度游標(biāo)的下面,有一個(gè)GetBrightness(獲得亮度)鈕。這是一個(gè)詢問鈕的例子。按壓此鈕,將讀出當(dāng)前的亮度設(shè)置值,并顯示在該鈕的旁邊。在GetBrighthess鈕的下面,是簡(jiǎn)單的IncreaseBrighfness(增加亮度)和DecreaseBrigfness(減少亮度)鈕,這些鈕與設(shè)置亮度的游標(biāo)的左、或右鈕有同樣的效果。輸入字段的例子是字段DefaultRotaion(缺省旋轉(zhuǎn)),這里,要求用數(shù)字用于這一字段,并將鍵入輸入掩碼。輸入?yún)⒖即_定了安全攝像機(jī)的旋轉(zhuǎn)以獲得另一種景色。代替對(duì)XML說明中導(dǎo)出的各控單元顯示提取的表示,自說明符可顯示在用戶接口中。但這需要調(diào)用預(yù)先確定的用戶接口成份,它安裝在HAVLET,用于各種可能的UPnP設(shè)備的不同服務(wù)。即使新型的設(shè)備集成在UPnP網(wǎng)絡(luò)中,預(yù)先確定的用戶接口成份也能使用,只要這一新設(shè)備提供的服務(wù)是該用戶接口成份已經(jīng)在HAVLET中提供的話。但對(duì)于未知的服務(wù),這一解決辦法不適用。另一種解決辦法是兩種不同的解決方法用于一種服務(wù)。對(duì)于XML描述中的所有參數(shù)(對(duì)這些參數(shù)已指派了符號(hào)),相應(yīng)的符號(hào)可顯示在用戶接口中。但對(duì)未知的參數(shù),需要顯示相應(yīng)的表示。
UPnP設(shè)備的XML文檔可認(rèn)為是UPnP規(guī)范的標(biāo)準(zhǔn)實(shí)現(xiàn)。對(duì)于本發(fā)明的實(shí)現(xiàn),不需要在此作特別的編程,實(shí)現(xiàn)本發(fā)明的基本軟件單元是在網(wǎng)關(guān)上運(yùn)行的UPnP FCM和加載到HAVI FAV設(shè)備的HAVLET,這兩種軟件單元都包括實(shí)現(xiàn)本發(fā)明的特別的程序。
圖4表示對(duì)UPnP網(wǎng)絡(luò)的功能控制模塊列出的程序,這是某種方式的一般FCM,它將常用于控制任何UPnP設(shè)備。編程語(yǔ)言是JAVA,這是一種廣泛使用的眾所周知的編程語(yǔ)言,所以其具體的語(yǔ)法不需要在這里解釋。實(shí)現(xiàn)本發(fā)明的重要程序已被標(biāo)出,用標(biāo)號(hào)標(biāo)記從XML文檔提取服務(wù)的程序,因此,這一程序提取要求UPnP設(shè)備提供的那類服務(wù),例如,UPnP安全攝像機(jī)提供像JPEG的特殊格式提供的視頻圖畫數(shù)據(jù)流服務(wù)或以某種壓縮電平和分辨率的圖像數(shù)據(jù)流服務(wù)。
以標(biāo)號(hào) 標(biāo)記的GET-SERVICE-DESCRIPTION程序請(qǐng)求UPnP設(shè)備能提供多少服務(wù)的信息。
以標(biāo)號(hào)標(biāo)記的GET-SERVICE-INFORMATION-LIST程序可檢索關(guān)于每個(gè)被選服務(wù)的控制可能性的信息,程序PERFORM-CONTROL-COMMAND用來(lái)向UPnP設(shè)備發(fā)送指令,見標(biāo)號(hào) 。程序PERFORM-DEVICE-VARIABLE-QUER用于從UPnP設(shè)備檢索當(dāng)前的變量值,見標(biāo)號(hào) 。這些程序?qū)⒏鶕?jù)來(lái)自HAVLET的請(qǐng)求執(zhí)行,HAVLET在HAVI設(shè)備上運(yùn)行。對(duì)于相應(yīng)指令的程序調(diào)用保留在程序的第二部分,該程序?yàn)榱谐霰眍^的方法,用于回答輸入的請(qǐng)求。表示上它涉及以標(biāo)號(hào) 標(biāo)記的程序調(diào)用Do-GET-SERVICE-DESCRIPTION,和以標(biāo)號(hào) 標(biāo)記的Do-GET-SERVICE-INFORMATION-LIST。實(shí)現(xiàn)本發(fā)明的更重要的程序是程序Sendconfrol commamd,用于向UPnP設(shè)備發(fā)送控制指令。這一程序以標(biāo)號(hào) 標(biāo)出。在這程序內(nèi)響應(yīng)消息也被評(píng)估并傳送給HAVI設(shè)備中的HAVLET。還有一個(gè)實(shí)現(xiàn)本發(fā)明的重要程序是以標(biāo)號(hào) 標(biāo)記的程序queryDevice Vaviable。如果HAVLET已發(fā)送相應(yīng)的請(qǐng)求,則起動(dòng)這一程序。例如,如果用戶已按下請(qǐng)求按鈕,這一程序就被調(diào)用。再者,在這一程序中,響應(yīng)信息將返回HAVI設(shè)備。用以標(biāo)號(hào) 標(biāo)記的程序receiveHttpNotifyData,UPnP事件將被處理。
實(shí)現(xiàn)本發(fā)明的HAVLET JAVA源代碼示于圖5。HAVLET的主要任務(wù)是建立用戶接口,用于控制UPnP設(shè)備。建立用戶接口的完整程序標(biāo)以 。HAVLET包含相應(yīng)程序,用來(lái)對(duì)標(biāo)有 的UPnP設(shè)備獲得服務(wù)說明,用來(lái)獲得標(biāo)有 的服務(wù)信息表,用來(lái)執(zhí)行標(biāo)有 的指令和用來(lái)執(zhí)行標(biāo)有 設(shè)備變量詢問。
功能控制模塊,按照HAVI規(guī)范,集成在設(shè)備控制模塊內(nèi),因此,需要做的是編程具有圖4的嵌入式功能控制模塊的設(shè)備控制模塊。這一程序被認(rèn)為是HAVI規(guī)范的標(biāo)準(zhǔn)實(shí)現(xiàn),無(wú)需詳細(xì)解釋。這就是為什么DCM列表未被示出。
程序中執(zhí)行把XML描述翻譯成NAVI系統(tǒng)支持的數(shù)據(jù)格式部分包括在調(diào)用的服務(wù)描述程序內(nèi),示于圖6。XML描述基本上是文本格式,這些XML描述被評(píng)估,例如以 標(biāo)記的程序部分評(píng)估XML的描述是否含有某些動(dòng)作,這些動(dòng)作相應(yīng)于UPnP設(shè)備的可控單元,它們被翻譯成稱為結(jié)構(gòu)的變量組的HAVI型格式,這是通過XML描述的分析來(lái)執(zhí)行并把所有感興趣的信息存入其本地實(shí)例變量中。
權(quán)利要求
1.一種在HAVI設(shè)備上產(chǎn)生控制非HAVI設(shè)備的用戶接口的方法,其中HAVI設(shè)備支持家用音頻/視頻可互操作性,HAVI設(shè)備(31)是HAVI網(wǎng)絡(luò)的站點(diǎn),非HAVI設(shè)備(23)是非HAVI網(wǎng)絡(luò)的站點(diǎn),這兩個(gè)網(wǎng)絡(luò)(10)用網(wǎng)關(guān)互相連接,其特征在于網(wǎng)關(guān)(10)運(yùn)行非HAVI設(shè)備的功能控制模塊(FCM),非HAVI設(shè)備請(qǐng)求要控制的非HAVI設(shè)備(23)的功能描述,并把它們傳送給HAVI設(shè)備(31),HAVI設(shè)備(31)使用在HAVI設(shè)備(31)上運(yùn)行的JAVA程序(HAVLET)對(duì)非HAVI設(shè)備(23)的功能產(chǎn)生相應(yīng)的用戶接口成份。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于功能控制模塊(FCM)把從非HAVI設(shè)備(23)讀出的功能描述在傳送給HAVI設(shè)備(31)前翻譯成HAVI系統(tǒng)支持的數(shù)據(jù)格式。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于JAVA程序(HAVLET)把從非HAVI設(shè)備(23)讀出的功能描述翻譯成HAVI系統(tǒng)支持的數(shù)據(jù)格式。
4.根據(jù)權(quán)利要求1至3之一所述的方法,其特征在于網(wǎng)關(guān)(10)在配置期間把JAVA程序(HAVLET)加載給HAVI設(shè)備(31)。
5.根據(jù)前述權(quán)利要求之一所述的方法,其特征在于產(chǎn)生控制非HAVI設(shè)備(23)的用戶接口的HAVI設(shè)備(31)是FAV型HAVI設(shè)備,其中FAV意味著全音頻/視頻HAVI設(shè)備。
6.根據(jù)前述權(quán)利要求之一所述的方法,其特征在于非HAVI網(wǎng)絡(luò)是基于IP的網(wǎng)絡(luò),特別是UPnP網(wǎng)絡(luò),而UPnP支持通用即插即用系統(tǒng)。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于非HAVI設(shè)備(23)的功能描述是XML描述,而XML支持?jǐn)U展的標(biāo)識(shí)語(yǔ)言。
8.用于前述任一權(quán)利要求方法所述的網(wǎng)關(guān),包括用于HAVI網(wǎng)絡(luò)的接口(35)和用于非HAVI網(wǎng)絡(luò)的接口(26),其特征在于網(wǎng)關(guān)(10)包括功能控制模塊(FCM),所述功能控制模塊(FCM)包括用于請(qǐng)求非HAVI設(shè)備(23)功能描述的裝置和用于把功能描述傳送給HAVI網(wǎng)絡(luò)網(wǎng)站的裝置,后者產(chǎn)生控制非HAVI設(shè)備(23)的用戶接口。
9.根據(jù)權(quán)利要求8所述的網(wǎng)關(guān),其特征在于包括JAVA程序(HAVLET),該程序包括用非HAVI設(shè)備(23)的功能描述產(chǎn)生用戶接口的裝置,這一JAVA程序(HAVLET)提供來(lái)給HAVI設(shè)備(31)加載。
10.根據(jù)權(quán)利要求8或9所述的網(wǎng)關(guān),其特征在于功能控制模塊包括把從非HAVI設(shè)備(23)讀出的功能描述在把它傳送給HAVI網(wǎng)絡(luò)前翻譯成HAVI系統(tǒng)支持的數(shù)據(jù)格式的裝置。
11.根據(jù)權(quán)利要求9所述的網(wǎng)關(guān),其特征在于JAVA程序(HAVLET)包括把從非HAVI設(shè)備(23)讀出的功能描述翻譯成HAVI系統(tǒng)支持的數(shù)據(jù)格式的裝置。
12.一種計(jì)算機(jī)程序產(chǎn)品,特別是直接可加載到權(quán)利要求8至11中之一所述的網(wǎng)關(guān)(10)內(nèi)存的功能控制模塊,包括用于請(qǐng)求非HAVI設(shè)備(23)功能描述的裝置和把功能描述傳送給HAVI網(wǎng)絡(luò)網(wǎng)站的裝置,當(dāng)所說的產(chǎn)品由網(wǎng)關(guān)(10)的處理器執(zhí)行時(shí),將在該網(wǎng)站上產(chǎn)生控制非HAVI設(shè)備(23)的用戶接口。
13.根據(jù)權(quán)利要求12所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于還包括把從非HAVI設(shè)備(23)讀出的功能描述在傳送給HAVI網(wǎng)絡(luò)前翻譯成HAVI系統(tǒng)支持的數(shù)據(jù)格式的裝置。
14.根據(jù)權(quán)利要求12或13所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于非HAVI設(shè)備(23)的功能描述是XML描述,而XML支持?jǐn)U展的標(biāo)識(shí)語(yǔ)言。
15.一種計(jì)算機(jī)程序產(chǎn)品,特別是JAVA程序(HAVLET),可直接加載到HAVI網(wǎng)絡(luò)的HAVI設(shè)備(31)的內(nèi)存,包括從檢索到的非HAVI設(shè)備(23)的功能描述產(chǎn)生控制非HAVI設(shè)備(23)的用戶接口的裝置,當(dāng)所說的產(chǎn)品由HAVI設(shè)備(31)的處理器執(zhí)行時(shí)。
16.根據(jù)權(quán)利要求15所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于被檢索的功能描述被翻譯成非HAVI設(shè)備(23)的XML描述,而XML支持?jǐn)U展的標(biāo)識(shí)語(yǔ)言,且XML描述被翻譯成HAVI系統(tǒng)支持的數(shù)據(jù)格式。
17.根據(jù)權(quán)利要求15所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于還包括把從HAVI設(shè)備(23)讀出的功能描述翻譯成HAVI系統(tǒng)支持?jǐn)?shù)據(jù)格式的裝置,且功能描述是XML描述,XML支持?jǐn)U展的標(biāo)識(shí)語(yǔ)言。
18.根據(jù)權(quán)利要求15至17之一所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于產(chǎn)生用戶接口的裝置包括把合適的圖形表示和符號(hào)或解釋功能描述意義的表示一起分配給被翻譯的功能描述的裝置。
19.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)產(chǎn)品,其特征在于圖形表示是以按鈕,游標(biāo),詢問鈕或輸入字段的形式。
全文摘要
本發(fā)明借助于兩種基本軟件單元,即要在網(wǎng)關(guān)(10)中實(shí)現(xiàn)的專門功能控制模塊(FCM)和在HAVI控制器(31)上運(yùn)行的JAVA程序(HAVLET)。UPnP網(wǎng)絡(luò)是基于IP的網(wǎng)絡(luò),因此,每個(gè)UPnP設(shè)備由稱為XML的文檔來(lái)代表。這一XML文檔包括一組XML描述,它只是可控單元的功能描述。本發(fā)明的功能控制模塊(FCM)包括用于請(qǐng)求UPnP設(shè)備的功能描述的裝置和用于把這些功能描述傳送到HAVI控制器(31)的裝置。功能控制模塊(FCM)可包括用來(lái)在傳送給HAVI控制器(31)之前,翻譯檢索到的功能描述的裝置。在HAVI控制器(31)中,JAVA程序(HAVLET)運(yùn)用其中,且這一程序取得從網(wǎng)關(guān)(10)接收的功能描述并用這一信息產(chǎn)生用戶接口。JAVA程序可在HAVI網(wǎng)絡(luò)的配置階段加載到HAVI控制器(31)。
文檔編號(hào)H04L12/28GK1452390SQ0312253
公開日2003年10月29日 申請(qǐng)日期2003年4月18日 優(yōu)先權(quán)日2002年4月18日
發(fā)明者英戈·許特 申請(qǐng)人:湯姆森許可貿(mào)易公司