專利名稱:其中可控制功能映射到模態(tài)兼容gui元素上的系統(tǒng),方法和可控制設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息處理系統(tǒng)及用于控制設(shè)備的方法。
背景技術(shù):
Philips電子公司參加的消費(fèi)品電子設(shè)備制造商國(guó)際組織一直在為家庭網(wǎng)絡(luò)中的數(shù)字消費(fèi)品電子設(shè)備制訂API(應(yīng)用編程接口)的核心的規(guī)范以便為音頻/視頻電子設(shè)備及多媒體工業(yè)提供標(biāo)準(zhǔn)。API規(guī)定向操作系統(tǒng)或應(yīng)用程序提出請(qǐng)求的方法。家庭網(wǎng)絡(luò)被認(rèn)為是分布式計(jì)算平臺(tái)。稱作HAVi(Home Audio/Video interoperability家庭音頻/視頻互操作性)系統(tǒng)結(jié)構(gòu)的標(biāo)準(zhǔn)的主要目標(biāo)為保證不同賣主的產(chǎn)品能互操作,即合作執(zhí)行應(yīng)用任務(wù)。諸如家庭娛樂(lè)設(shè)備(DVD播放機(jī)、DV攝錄機(jī)、數(shù)字電視機(jī)等)等當(dāng)前CE設(shè)備是數(shù)字處理與數(shù)字存儲(chǔ)系統(tǒng)。將這些設(shè)備連網(wǎng)便有可能共享處理與存儲(chǔ)資源。這允許同時(shí)協(xié)調(diào)若干CE設(shè)備的控制,比如為了簡(jiǎn)化用戶交互作用。例如,第一設(shè)備可能啟動(dòng)第二設(shè)備上的錄制同時(shí)訪問(wèn)第三設(shè)備上的EPG(電子節(jié)目指南)。該家庭網(wǎng)絡(luò)提供連接這些設(shè)備的組織。它允許互聯(lián)的設(shè)備交換控制(一臺(tái)設(shè)備發(fā)送命令給另一臺(tái))與AV(音頻/視頻)數(shù)據(jù)(一臺(tái)設(shè)備發(fā)送音頻或視頻流給另一臺(tái)設(shè)備)。為了達(dá)到所有這一切,該網(wǎng)絡(luò)必須符合若干要求。它必須及時(shí)支持高數(shù)據(jù)率AV流的傳送。網(wǎng)絡(luò)必須支持自我配置、自我管理及熱即插即用(hot plug-and-play)。它必須要求低成本電纜連接與接口。
HAVi軟件系統(tǒng)結(jié)構(gòu)是獨(dú)立于平臺(tái)并基于Java的。HAVi使用IEEE1394高性能串行總線協(xié)議在連接在網(wǎng)絡(luò)上的設(shè)備之間傳輸控制與內(nèi)容。IEEE 1394標(biāo)準(zhǔn)是動(dòng)態(tài)可配置的低成本數(shù)字網(wǎng)。IEEE 1394定義底板(backplane)物理層及點(diǎn)對(duì)點(diǎn)電纜連接的虛擬總線實(shí)施。該底板形式在12.5、25或50Mbits/sec(兆比特/秒)上操作。電纜形式支持100、200與400Mbits/sec等數(shù)據(jù)率。該標(biāo)準(zhǔn)規(guī)定介質(zhì)、拓?fù)浼皡f(xié)議。IEEE 1394傳輸協(xié)議由于其高數(shù)據(jù)率性能(capability)對(duì)支持音頻與視頻通信協(xié)議特別有用。
HAVi系統(tǒng)結(jié)構(gòu)通過(guò)CE設(shè)備的抽象表示控制網(wǎng)絡(luò)中的CE設(shè)備。該抽象表示是控制器在上面操作的并隱藏相關(guān)真實(shí)CE設(shè)備的特性。因此,該抽象表示為較高級(jí)軟件提供統(tǒng)一界面。該抽象表示是用反映所表示的設(shè)備的控制特性注冊(cè)的。該抽象表示將它們的互操作性API暴露(expose)給應(yīng)用并為在家庭網(wǎng)絡(luò)上建立便攜式分布式應(yīng)用一起構(gòu)成服務(wù)集合。
該系統(tǒng)結(jié)構(gòu)允許設(shè)備向家庭網(wǎng)絡(luò)中的另一設(shè)備發(fā)送命令或控制信息。HAVi順從(HAVi-compliant)設(shè)備包含涉及其用戶界面(如GUI)及其控制性能的數(shù)據(jù)(上述抽象表示,稱作設(shè)備控制模型或DCM,進(jìn)一步見(jiàn)下面)。這一數(shù)據(jù)包含,例如,能被網(wǎng)絡(luò)上的其它設(shè)備上載與執(zhí)行的HAVi字節(jié)代碼(Java)。HAVi順從的設(shè)備至少具有與系統(tǒng)中其它設(shè)備通信的足夠功能。在交互作用期間,設(shè)備可以對(duì)等方式交換控制與數(shù)據(jù)。這保證在通信層上,不需要任何設(shè)備作為系統(tǒng)的主機(jī)或控制器工作。另一方面,允許邏輯主機(jī)或控制器在基本對(duì)等的通信模型上施加控制結(jié)構(gòu)。HAVi以下面進(jìn)一步說(shuō)明的方式區(qū)分控制器與受控設(shè)備??刂破魇亲鳛槭芸卦O(shè)備的主機(jī)工作的設(shè)備??刂破髯鳛槭芸卦O(shè)備的抽象表示的主機(jī)。控制界面是通過(guò)抽象表示的API暴露的。這一API是控制該設(shè)備的應(yīng)用的接入點(diǎn)。
HAVi順從CE設(shè)備是如下分類的設(shè)備全AV設(shè)備(FAV)、中間AV設(shè)備(IAV)及基本AV設(shè)備(BAV)。
FAV包含HAVi軟件系統(tǒng)結(jié)構(gòu)(見(jiàn)下面)的整個(gè)軟件部件集合。FAV的特征在于它具有HAVi字節(jié)代碼的運(yùn)行時(shí)間環(huán)境。這使FAV能從其它設(shè)備上載字節(jié)代碼用于例如對(duì)它們的控制提供增強(qiáng)的性能。FAV可由諸如HAVi順從機(jī)頂盒、HAVi順從數(shù)字TV接收機(jī)及家庭PC構(gòu)成。例如,智能TV接收機(jī)可以是連接在網(wǎng)絡(luò)上的其它設(shè)備的HAVi控制器。該接收機(jī)從另一設(shè)備得到上載的字節(jié)代碼用于為該設(shè)備建立UI并用于提供該設(shè)備的外部控制。可令表示該設(shè)備的圖標(biāo)(icon)呈現(xiàn)在TV屏幕上,而用戶與圖標(biāo)的交互作用可導(dǎo)致控制程序的元素以預(yù)定的方式啟動(dòng)所表示的設(shè)備。
IAV并不提供HAVi字節(jié)代碼的運(yùn)行時(shí)間環(huán)境,但可為控制家庭網(wǎng)絡(luò)上的特定設(shè)備提供本地支持。IAV包括提供控制該特定設(shè)備的通用功能的界面的嵌入軟件元素。這些軟件元素不需要是HAVi字節(jié)代碼,而可以實(shí)現(xiàn)為使用本地界面來(lái)訪問(wèn)其它設(shè)備的IAV上的本地應(yīng)用。
BAV可提供可上載的HAVi字節(jié)代碼但并不作為HAVi系統(tǒng)結(jié)構(gòu)的任何軟件元素的主機(jī)。BAV是可用其上載的字節(jié)代碼通過(guò)FAV控制的。BAV可經(jīng)由本地代碼通過(guò)IAV控制。一方面為FAV或IAV而另一方面為BAV之間的通信要求將HAVi字節(jié)代碼翻譯成BAV所用的命令協(xié)議或從其翻譯成HAVi字節(jié)代碼。
包含在HAVi系統(tǒng)結(jié)構(gòu)的核心規(guī)范中的主要軟件元素是如下面所列出的。對(duì)于這些元素的更詳細(xì)的說(shuō)明可參見(jiàn)HAVi規(guī)范,引用在此作為參考。
1)1394通信媒體管理程序(CMM),作為其它軟件元素與IEEE 1394之間的界面工作。
2)事件管理程序(EM),向各種軟件元素通知網(wǎng)絡(luò)中的事件,諸如在網(wǎng)絡(luò)中增加或去除電器(設(shè)備)時(shí)發(fā)生的網(wǎng)絡(luò)配置改變。
3)注冊(cè)處,維護(hù)連接在網(wǎng)絡(luò)上的電器及它們所提供的功能的有關(guān)信息。應(yīng)用能從注冊(cè)處獲得這一信息。
4)消息傳送系統(tǒng)(MS),作為方便網(wǎng)絡(luò)上的各種電器的軟件元素之間的通信的API工作。該信息傳送系統(tǒng)向HAVi軟件元素提供通信設(shè)施。它是獨(dú)立于網(wǎng)絡(luò)及傳輸層的。信息傳送系統(tǒng)嵌入在任何FAV與IAV中。信息傳送系統(tǒng)負(fù)責(zé)在FAV或IAV上分配抽象表示的標(biāo)識(shí)符。抽象表示首先用這些標(biāo)識(shí)符在FAV或IAV上注冊(cè)。然后抽象表示利用它們?cè)诩彝ゾW(wǎng)絡(luò)內(nèi)互相識(shí)別。當(dāng)?shù)谝怀橄蟊硎鞠胍l(fā)送信息給另一抽象表示時(shí),在調(diào)用信息傳送API時(shí)它必須使用后者的標(biāo)識(shí)符。
5)設(shè)備控制模塊(DCM),表示網(wǎng)絡(luò)上的電器。應(yīng)用程序能直接與DCM交互作用。這將它們與各單個(gè)電器的特性隔離開(kāi)。
6)DCM管理程序,安裝DCM。它通過(guò)為新電器安裝新DCM自動(dòng)對(duì)網(wǎng)絡(luò)中的改變作出反應(yīng)。
7)數(shù)據(jù)驅(qū)動(dòng)交互作用(DDI)控制器,在電器的顯示器上描繪代表HAVi軟件元素的GUI(圖形用戶界面)。它支持從圖形到只是文字的廣范圍的顯示器。
8)流管理程序(SMGR),在網(wǎng)絡(luò)上兩個(gè)或更多電器之間建立連接及選擇實(shí)時(shí)AV流的路由。
HAVi系統(tǒng)結(jié)構(gòu)規(guī)定了稱作層1與層2的至少兩個(gè)互操作性層。
層1互操作性解決通用需求以允許現(xiàn)有設(shè)備在基本功能層上通信。為達(dá)到這一點(diǎn),層1互操作性定義及采用通用的使一臺(tái)設(shè)備能與另一設(shè)備通信的控制信息(命令)集、及它理應(yīng)從給定其類型(TV、VCR、DVD播放機(jī)等)的設(shè)備期望的事件信息集。為了支持這一方法,需要基本的機(jī)制組設(shè)備發(fā)現(xiàn)、通信及HAVi消息集。
關(guān)于設(shè)備發(fā)現(xiàn)家庭網(wǎng)絡(luò)中的各設(shè)備需要嚴(yán)格定義的方法使它能向其它設(shè)備廣告其性能。HAVi方法為利用所謂的SDD數(shù)據(jù)自我描述數(shù)據(jù)。網(wǎng)絡(luò)中所有設(shè)備上都需要SDD數(shù)據(jù)。SDD數(shù)據(jù)包含關(guān)于能被其它設(shè)備訪問(wèn)的信息。SDD數(shù)據(jù)至少包含能例示所謂的嵌入設(shè)備控制模塊(嵌入DCM)的足夠信息。嵌入DCM為預(yù)裝在控制IAV或FAV上的依賴于平臺(tái)代碼形式并使用本機(jī)接口訪問(wèn)IAV或FAV資源的一段代碼。如上所述,設(shè)備的DCM是提供用于控制設(shè)備的通用功能的接口的軟件元素。嵌入DCM的啟動(dòng)導(dǎo)致向注冊(cè)處注冊(cè)該設(shè)備的性能。注冊(cè)處提供目錄服務(wù)并使網(wǎng)絡(luò)上的任何對(duì)象能定位網(wǎng)絡(luò)上另一對(duì)象。注冊(cè)允許應(yīng)用推斷能發(fā)送到網(wǎng)絡(luò)上的特定設(shè)備的基本命令消息集。
關(guān)于通信一旦應(yīng)用確定了設(shè)備的性能,該應(yīng)用需要能訪問(wèn)這些性能。這需要允許應(yīng)用向設(shè)備發(fā)布請(qǐng)求的通用通信設(shè)施。這一服務(wù)是由HAVi消息傳送系統(tǒng)與DCM提供的。該應(yīng)用發(fā)送HAVi消息給DCM,然后DCM進(jìn)行與設(shè)備的獨(dú)占通信。
關(guān)于HAVi消息集為了支持層1互操作性,需要具體的已知類別(如TV接收機(jī)類別、VCR類別、DVD播放機(jī)類別等)的所有設(shè)備必須支持的嚴(yán)格定義的信息集。這保證不論制造商是誰(shuí),設(shè)備能與現(xiàn)有的設(shè)備以及未來(lái)的設(shè)備一起工作。
這三條基本要求支持一定的最低層的互操作性。由于任何設(shè)備能通過(guò)注冊(cè)處查詢另一設(shè)備的性能,任何設(shè)備都能確定另一設(shè)備所支持的消息集。由于應(yīng)用能訪問(wèn)消息傳送系統(tǒng),任何設(shè)備都能與任何其它設(shè)備交互作用。
層1互操作性保證設(shè)備能在基本功能層上相互協(xié)作。然而,需要更擴(kuò)展的機(jī)制進(jìn)一步允許設(shè)備與帶有FAV上的嵌入DCM中不存在的任何附加功能的其它設(shè)備通信。例如,嵌入DCM可能不支持現(xiàn)有產(chǎn)品的所有特征并且不可能支持未來(lái)產(chǎn)品類別的全新的特征。層2互操作性提供這一機(jī)制。為了達(dá)到這一點(diǎn),HAVi系統(tǒng)結(jié)構(gòu)允許可上載的DCM作為對(duì)上述嵌入DCM的替代品。上載的DCM可取代FAV上現(xiàn)有的DCM。可上載的DCM可由任何適當(dāng)?shù)脑刺峁?,但可能的技術(shù)為將可上載的DCM放置在BAV設(shè)備的HAVi SDD數(shù)據(jù)中,并在將該BAV連接到家庭網(wǎng)絡(luò)上時(shí)從該BAV上載到FAV設(shè)備。因?yàn)镠AVi系統(tǒng)結(jié)構(gòu)是對(duì)賣主中立的,上載的DCM必須能在全部帶有潛在的不同硬體系統(tǒng)結(jié)構(gòu)的多種多樣的FAV設(shè)備上工作。為了達(dá)到這一點(diǎn),上載的DCM是用HAVi(Java)字節(jié)代碼實(shí)現(xiàn)的。FAV設(shè)備上的HAVi字節(jié)代碼運(yùn)行時(shí)間環(huán)境支持上載的DCM的例示與執(zhí)行。一旦在FAV設(shè)備內(nèi)建立與運(yùn)行,DCM便以上述相同方式與BAV設(shè)備通信。
當(dāng)考慮到訪問(wèn)特定設(shè)備功能所需的資源時(shí),層2互操作性的效率便明顯了。層2允許通過(guò)提出設(shè)備所提供的所有性能的上載的DCM來(lái)控制該設(shè)備,然而為了在層1中達(dá)到類似的功能,必須將這一DCM嵌入網(wǎng)絡(luò)中某處。例如,當(dāng)在網(wǎng)絡(luò)上增加新設(shè)備時(shí),層1要求至少另一設(shè)備包括與該新設(shè)備兼容的嵌入DCM。與之相比,層2只要求一個(gè)設(shè)備為從新設(shè)備得到的上載的DCM提供運(yùn)行時(shí)間環(huán)境即可。
上載與執(zhí)行字節(jié)代碼的概念還提供稱作設(shè)備控制應(yīng)用的設(shè)備特定的應(yīng)用的可能性。通過(guò)這些應(yīng)用,設(shè)備制造商能向用戶提供控制設(shè)備的特殊特征的方法而無(wú)須標(biāo)準(zhǔn)化HAVi中的所有特征。該應(yīng)用是HAVi字節(jié)代碼中的DCM提供的并能被網(wǎng)絡(luò)上的各FAV設(shè)備上載與安裝。
對(duì)于進(jìn)一步的信息,參見(jiàn)在公開(kāi)領(lǐng)域中可獲得的HAVi規(guī)范及IEEE1394規(guī)范。HAVi核心規(guī)范已在例如http://www.sv.philips.com/news/press上,在網(wǎng)上可以獲得,引用在此作為參考。
如上所述,為了控制設(shè)備的功能,控制應(yīng)用必須知道該抽象表示的消息集。采用兩種基本方法來(lái)保證這一兼容性標(biāo)準(zhǔn)化/嵌入模塊與可上載的模塊。關(guān)于標(biāo)準(zhǔn)化由規(guī)范定義特定類型的功能所支持的命令集。見(jiàn)諸如HAVi規(guī)范中調(diào)諧器的定義。關(guān)于可上載的模塊可從可控設(shè)備上載裝在可控制設(shè)備上的GUI部件或應(yīng)用并在主HAVi控制器所提供的運(yùn)行時(shí)間環(huán)境中執(zhí)行。然而,兩種方法都不允許第三方應(yīng)用或運(yùn)行時(shí)間環(huán)境本身確定新的或帶有前所未知的功能的設(shè)備的性質(zhì)的語(yǔ)義。這意味著在當(dāng)前的方法下對(duì)新類型的設(shè)備仍須進(jìn)行標(biāo)準(zhǔn)化努力。在可上載的GUI控制或應(yīng)用的情況中,取決于設(shè)備而不是更“智能的”控制器來(lái)確定用戶交互作用或控制方式。例如,如果運(yùn)行時(shí)間提供新型的用戶交互作用,諸如話音控制,如果未曾為這種輸入設(shè)計(jì)上載的控制應(yīng)用便不能使用它。測(cè)試與新設(shè)備的兼容性對(duì)研制與設(shè)計(jì)人員提出現(xiàn)實(shí)的挑戰(zhàn),因?yàn)樾碌墓δ芘cUI尚未(用定義)加以定義,更不用說(shuō)研制了。
因此,本發(fā)明的目的是提供對(duì)在家庭網(wǎng)絡(luò)中出現(xiàn)新的(以前未知的)功能時(shí)遇到的這一兼容性問(wèn)題的解決方案,其中資源的控制是基于預(yù)安裝或可上載的抽象表示的。
發(fā)明內(nèi)容
為此目的,本發(fā)明提供了包括電子設(shè)備及耦合在該設(shè)備上的控制器的家庭網(wǎng)絡(luò)系統(tǒng)。該設(shè)備向控制器暴露其功能的抽象表示??刂破魍ㄟ^(guò)與該抽象表示的交互作用便能控制設(shè)備的功能。抽象表示規(guī)定控制該功能的模態(tài)(modality)。在規(guī)定的模態(tài)的控制下,系統(tǒng)將功能控制與控制器的模態(tài)兼容的控制性能相關(guān)聯(lián)。所暴露的模態(tài)可以是例如“布爾型(值)(Boolean)”、“浮點(diǎn)”、“整數(shù)數(shù)組”。
名詞“模態(tài)”指表示功能可控制性的特征的屬性。在本發(fā)明中,將功能的模態(tài)映射到控制器的模態(tài)兼容性能上,而控制器實(shí)際上不必知道設(shè)備的功能是什么。例如,假定模態(tài)在語(yǔ)義上是布爾型。則可將布爾控制性質(zhì)映射到具有布爾性質(zhì)且假定諸如“開(kāi)/關(guān)”開(kāi)關(guān)或“高/低”電平器等兩種狀態(tài)之一的UI元素上。當(dāng)用戶隨后與這一元素交互作用時(shí),便將映射在其上的功能置于兩種狀態(tài)之一中。在HAVi系統(tǒng)中,抽象表示得到上載,最好包含UI(例如話音控制)或GUI,而用戶接收上下文(context)來(lái)確定其與UI交互作用的后果。如果模態(tài)是離散值的集合,能將控制性質(zhì)映射到能賦予三或更多離散狀態(tài)之一的GUI元素上,諸如在設(shè)備上撥號(hào)頻道選擇、在多個(gè)設(shè)備中進(jìn)行選擇等。如果規(guī)定的模態(tài)在語(yǔ)義上是浮點(diǎn)值的范圍,則映射到連續(xù)變化的控制特征是可行的,例如顯示器上圖象的亮度或聲音音量等。在另一例子中,規(guī)定的模態(tài)在語(yǔ)義上是數(shù)組。數(shù)組包含一個(gè)以上分量。例如,可將布爾數(shù)組映射到GUI元素的群集(cluster)上來(lái)實(shí)現(xiàn)諸如不同設(shè)備或方格表中的菜單選擇??蓪⒏↑c(diǎn)模態(tài)的數(shù)組映射到表示滑標(biāo)(slider)的GUI元素的群集上,例如用于調(diào)節(jié)通過(guò)家庭網(wǎng)絡(luò)控制的家庭保安系統(tǒng)的攝象機(jī)的角度與變焦距因子。注意控制器不需要具有關(guān)于正在受控的設(shè)備的功能的線索。它所需要做的只是根據(jù)其模態(tài)的語(yǔ)義將功能提交給控制應(yīng)用。
注意HAVi系統(tǒng)結(jié)構(gòu)的DDI規(guī)定設(shè)備通過(guò)GUI小器具得到控制的方式。名詞“小器具(widget)”在計(jì)算機(jī)領(lǐng)域中以各種方式使用。小器具為GUI的元素,它為用戶與操作系統(tǒng)及應(yīng)用程序交互作用顯示信息。小器具包含圖標(biāo)、下拉式菜單、按鈕、選擇框、進(jìn)度指示器、開(kāi)關(guān)檢驗(yàn)標(biāo)記、卷動(dòng)條、窗口、改變窗口尺寸的窗口邊沿、觸發(fā)銨鈕等,用于顯示用戶交互作用功能。在程序設(shè)計(jì)中,小器具還表示為了描述特定小器具的外觀、其作用及響應(yīng)用戶動(dòng)作如何交互作用而編寫(xiě)的小程序。大多數(shù)操作系統(tǒng)包含程序員能加入到應(yīng)用中的規(guī)定它的工作的一組易于裁剪的小器具??梢越⑿碌男∑骶摺VT如Java與Tcl等當(dāng)前的大多數(shù)應(yīng)用開(kāi)發(fā)語(yǔ)言提供程序員能結(jié)合與修改的現(xiàn)成的小器具庫(kù)。使用微軟的VisualBasic,可將小器具作為ActiveX控制等或其一部分實(shí)現(xiàn)(見(jiàn)諸如www.whatis.com)。UI并不需要知道要控制的特定設(shè)備的功能,它只須知道提出哪一小器具。這些小器具確定UI是如何構(gòu)成的。如果UI變例與前面的版本不同或在可獲得的環(huán)境中不存在專用的小器具(如新的話音控制或3D GUI),本發(fā)明通過(guò)以不同的但語(yǔ)義上等價(jià)的方式提供控制仍能控制該設(shè)備。小器具管理程序或UI術(shù)士(更一般地稱作配置應(yīng)用/服務(wù)/模塊/實(shí)體)程序利用將可獲得的UI元素與設(shè)備的抽象表示中的模態(tài)的語(yǔ)義描述匹配而將功能性UI放置在一起。
配置實(shí)體監(jiān)視新設(shè)備的出現(xiàn),如果出現(xiàn)了新設(shè)備,該實(shí)體便檢驗(yàn)是否有GUI可用于這一類設(shè)備。如果有一個(gè),該實(shí)體便檢索它。如果沒(méi)有,配置實(shí)體建立一UI表示并使控制器能利用它。配置實(shí)體取得該對(duì)象描述,然后用基本上這樣說(shuō)“這是一種性質(zhì),現(xiàn)在給我一個(gè)相關(guān)的UI元素”的描述來(lái)激活映射程序(mapper)。這可以自動(dòng)地或在用戶干預(yù)下進(jìn)行。映射程序象專家一樣,例如協(xié)助使用應(yīng)用來(lái)執(zhí)行特定任務(wù)的應(yīng)用內(nèi)的實(shí)用程序。
在軟件開(kāi)發(fā)行業(yè)中基于部件的軟件模型已廣泛地可獲得與接受。諸如HTML、COM、DCOM、ActiveX、Java、Java Beans等技術(shù)向開(kāi)發(fā)人員提供廣范圍的現(xiàn)成可用的GUI部件。這些部件的語(yǔ)義是最終用戶熟知的并允許在短時(shí)間中建立完善的應(yīng)用。
隨著制造商引入帶有新特征的新的HAVi順從設(shè)備,他們能修改與設(shè)備一起交貨的字節(jié)代碼。增加到字節(jié)代碼上的修改表示設(shè)備提供的新功能與新特征。類似地,可將新的UI元素加到設(shè)備的可利用的UI表示上。HAVi系統(tǒng)結(jié)構(gòu)允許設(shè)備制造商規(guī)定能在各式各樣顯示裝置上描繪的GUI,從簡(jiǎn)單的文字顯示器到高級(jí)圖形顯示器。本發(fā)明促進(jìn)了信息處理系統(tǒng)的開(kāi)發(fā)與市場(chǎng)滲透,諸如家庭自動(dòng)化系統(tǒng)的基于HAVi的家庭娛樂(lè)裝置。
在上面本發(fā)明是在HAVi系統(tǒng)結(jié)構(gòu)的范圍中討論的。本發(fā)明的應(yīng)用不限于基于HAVi的系統(tǒng),作為另一實(shí)例,考慮基于微軟的部件對(duì)象模型(COM)技術(shù)的客戶服務(wù)器模型。對(duì)于更多的信息,參見(jiàn)微軟提供的1995年10月的部件對(duì)象模型規(guī)范版本0.9,通過(guò)引用結(jié)合在此。COM是面向?qū)ο蟮?。?duì)象具有表示暴露給軟件應(yīng)用的相關(guān)電子設(shè)備的控制功能的性質(zhì)。作為來(lái)自外界的事件的后果的對(duì)象的狀態(tài)改變被傳遞給軟件應(yīng)用。應(yīng)用通過(guò)改變或設(shè)定對(duì)象的性質(zhì)來(lái)操縱它們。當(dāng)應(yīng)用修改與某一物理設(shè)備相關(guān)的對(duì)象的性質(zhì)時(shí),便將命令發(fā)送給相關(guān)設(shè)備。
COM為允許應(yīng)用以兼容方式通信的通用機(jī)制并且是用于開(kāi)發(fā)與支持程序部件對(duì)象的框架。它提供類似于CORBA(公用對(duì)象請(qǐng)求代理人系統(tǒng)結(jié)構(gòu))中所定義的性能,后者是網(wǎng)絡(luò)中分布式對(duì)象的互相協(xié)作的框架。OLE(對(duì)象鏈接與嵌入)提供用戶在其顯示器上所見(jiàn)的復(fù)合文檔的服務(wù),COM提供界面協(xié)商的基礎(chǔ)服務(wù)及事件服務(wù)(作為對(duì)另一對(duì)象發(fā)生的事件的后果令一個(gè)對(duì)象進(jìn)行服務(wù))。在本實(shí)現(xiàn)中,將客戶作為OLE自動(dòng)化對(duì)象(抽象表示)建模,它利用性質(zhì)將控制與事件暴露給信號(hào)狀態(tài)改變。OLE自動(dòng)化是啟動(dòng)編寫(xiě)腳本及以后將客戶連接到服務(wù)器上。OLE自動(dòng)化通過(guò)調(diào)用程序供外部使用可獲得的特征(命令與查詢)提供與其它程序的通信。在使用對(duì)象前,客戶應(yīng)用首先必須獲得對(duì)象的界面指針。界面指針是通過(guò)連接對(duì)象名稱或通過(guò)計(jì)數(shù)設(shè)備從網(wǎng)絡(luò)目錄中獲得的??墒褂霉?biāo)識(shí)連接(moniker binding)用的標(biāo)準(zhǔn)COM API。通過(guò)用指定想要的設(shè)備名稱或ID的串調(diào)用GetObject或CoGetObject便能獲得對(duì)對(duì)象的引用。然后應(yīng)用便能通過(guò)設(shè)定或檢索其性質(zhì)來(lái)操縱該對(duì)象。當(dāng)應(yīng)用設(shè)定或修改對(duì)應(yīng)于設(shè)備的對(duì)象的性質(zhì)時(shí),便將性質(zhì)設(shè)定操作或修改操作轉(zhuǎn)換成跨越網(wǎng)絡(luò)發(fā)送到相關(guān)設(shè)備的命令。對(duì)象在實(shí)現(xiàn)上可能有所不同,但對(duì)運(yùn)行在諸如帶有基于窗口的操作系統(tǒng)(如Windows 95、Windows 98、WinCE、Windows NT)的PC等控制器上的客戶應(yīng)用暴露出類似的基于性質(zhì)的模型。從而,控制應(yīng)用或GUI元素必須知道可控制設(shè)備的性質(zhì)集合。
還有,在本發(fā)明中,令對(duì)象以下述方式暴露其性質(zhì),即性質(zhì)的功能的控制模態(tài)能與這一模態(tài)的單獨(dú)控制下的控制器的模態(tài)兼容的控制性能相關(guān)聯(lián)。
對(duì)于本發(fā)明在現(xiàn)有技術(shù)水平上提供優(yōu)點(diǎn)的技術(shù)的又一實(shí)例,考慮Sun Microsystems微系統(tǒng)公司的Jini。Jini為基于Java的協(xié)助聯(lián)網(wǎng)PC與外圍設(shè)備的軟件技術(shù)。當(dāng)插接到網(wǎng)絡(luò)中時(shí),Jini啟動(dòng)的設(shè)備廣播其存在。準(zhǔn)備好使用該設(shè)備的網(wǎng)絡(luò)客戶便能繞過(guò)服務(wù)器或網(wǎng)絡(luò)管理員向該設(shè)備請(qǐng)求必要的軟件。這一系統(tǒng)結(jié)構(gòu)建立在現(xiàn)有的網(wǎng)絡(luò)上面。網(wǎng)絡(luò)本身假定是事先配置好的。程序界面是由Java程序設(shè)計(jì)語(yǔ)言的類型系統(tǒng)標(biāo)識(shí)的,而服務(wù)能通過(guò)詢問(wèn)支持特定界面的服務(wù)在查找服務(wù)中找到。以這一方式找出服務(wù)保證尋找該服務(wù)的程序知道如何使用該服務(wù),因?yàn)檫@一使用是由該類型所定義的方法集合定義的。為了在這些部件中具有有意義的協(xié)作,方法集合是預(yù)先規(guī)定的。在本發(fā)明中,是模態(tài)確定到適當(dāng)?shù)目刂粕系挠成涠鵁o(wú)須任何預(yù)先規(guī)定的方法。
本發(fā)明還涉及通過(guò)控制器啟動(dòng)對(duì)電子設(shè)備的功能的控制的方法。該方法包括啟動(dòng)將功能的抽象表示提供給控制器;啟動(dòng)抽象表示以暴露控制功能的模態(tài),使控制器能通過(guò)與抽象表示的交互作用控制該功能;以及在所暴露的模態(tài)的控制下能將功能控制與控制器的模態(tài)兼容的控制性能相關(guān)聯(lián)。啟動(dòng)指諸如將必要的軟件工具作為與設(shè)備或與整個(gè)家庭自動(dòng)化系統(tǒng)一起到來(lái)的軟件包提供給最終用戶,或通過(guò)因特網(wǎng)下載,或作為在建立控制配置時(shí)服務(wù)供應(yīng)商或最終用戶本人的活動(dòng)。
本發(fā)明還方便從制造商的觀點(diǎn)的UI的量身定制,不僅對(duì)基于家庭或辦公室的系統(tǒng),還對(duì)于諸如汽車等。諸如無(wú)線電控制、CD播放機(jī)控制、巡邏控制、空調(diào)控制等部件的UI,能通過(guò)上述語(yǔ)義耦合機(jī)制定制,從而建立筑入的可升級(jí)性。類似地,可通過(guò)將信息表示功能在語(yǔ)義上耦合到所要求的布局(lay-out)上來(lái)定制引擎與汽車管理信息(速度計(jì)、轉(zhuǎn)速計(jì)、里程表、引擎溫度、油壓等)的表示。
具體地,本發(fā)明提供一種信息處理系統(tǒng),包括電子設(shè)備和用于控制該設(shè)備的功能的控制器,其中將該功能的抽象表示提供給該控制器;該抽象表示暴露控制該功能的模態(tài);該控制器能夠通過(guò)與該抽象表示的交互作用來(lái)控制該功能;和該模態(tài)確定將該功能的控制與該控制器的模態(tài)兼容控制性能相關(guān)聯(lián),其中該模態(tài)指該功能的可控制性的特征的一種屬性。
本發(fā)明還提供一種允許通過(guò)控制器控制電子設(shè)備的功能的方法,該控制器用于控制該功能,該方法包括允許將該功能的抽象表示(108)提供給該控制器;允許該抽象表示暴露控制該功能的模態(tài),以使該控制器能通過(guò)與該抽象表示的交互作用來(lái)控制該功能;和在所暴露的模態(tài)的控制下,允許將該功能的控制與該控制器的模態(tài)兼容控制性能相關(guān)聯(lián),其中該模態(tài)指該功能的可控制性的特征的一種屬性。
本發(fā)明又提供一種電子設(shè)備,用于與控制器一起使用,該控制器用于控制該設(shè)備的可控制功能,其中該設(shè)備包括該功能的抽象表示,以允許該控制器通過(guò)與該抽象表示的交互作用來(lái)控制該功能;該抽象表示能將控制該功能的模態(tài)暴露給該控制器;該模態(tài)控制將該功能的控制與該控制器的模態(tài)兼容控制性能相關(guān)聯(lián),其中該模態(tài)指該功能的可控制性的特征的一種屬性。
下面參照附圖利用示例方式說(shuō)明本發(fā)明,其中圖1是本發(fā)明中的家庭網(wǎng)絡(luò)系統(tǒng)圖;以及圖2是展示模態(tài)映射的圖。
在全部附圖中,相同的標(biāo)號(hào)表示相同或?qū)?yīng)的特征。
具體實(shí)施例方式
圖1為本發(fā)明的信息處理系統(tǒng)100的框圖。系統(tǒng)100包含電子設(shè)備102及通過(guò)網(wǎng)絡(luò)106耦合在該設(shè)備上的控制器104。系統(tǒng)100可包含更多電子設(shè)備,但為了使用簡(jiǎn)潔并未示出它們。設(shè)備102暴露給控制器104抽象表108。表108為例如在設(shè)備102功能性連接到網(wǎng)絡(luò)106上時(shí)上載到控制器104的。表示108也可能是以諸如通過(guò)因特網(wǎng)或由用戶通過(guò)軟盤(pán)等其它方式安裝在控制器108上的??刂破?04通過(guò)與表示108交互作用的軟件應(yīng)用110控制設(shè)備102的功能。應(yīng)用110還使用戶通過(guò)諸如GUI設(shè)備112等用戶界面設(shè)備控制系統(tǒng)100。GUI112具有與應(yīng)用110接口的抽象表示114。界面114已上載到控制器104或已由制造商或用戶安裝。
假定GUI設(shè)備112或控制器104無(wú)關(guān)并于設(shè)備102的功能的先驗(yàn)知識(shí)。這便是,從設(shè)備112與控制器104的觀點(diǎn),設(shè)備102為黑盒子?,F(xiàn)在表示108規(guī)定功能控制的模態(tài)。這便是,表示108具有表示功能控制的特征的屬性。表示108將設(shè)備的功能暴露給應(yīng)用110為包括諸如下列實(shí)體名稱、類型、允許值、顯示名稱。這里,“名稱”為應(yīng)用110能通過(guò)它訪問(wèn)功能的標(biāo)簽?!邦愋汀币?guī)定控制設(shè)備102的功能的模態(tài)(如布爾值、整數(shù)、浮點(diǎn)、數(shù)組)?!爸怠币?guī)定模態(tài)能對(duì)這一功能假定的一(或多)個(gè)數(shù)值。“顯示名稱”表示如果“顯示名稱”與“名稱”不同時(shí)如何將設(shè)備102的功能表示在GUI 112上。
例如,設(shè)備102具有名稱“調(diào)諧器”,及其功能具有名稱“頻道”。設(shè)備102的類型規(guī)定為“整數(shù)”。這一功能的值規(guī)定為離散數(shù)值O、1、2、...5、34、56、...89的表。在檢索這一功能描述時(shí),控制器110生成下述序列的控制腳本的片斷(snippet)a)獲取設(shè)備名稱->(調(diào)諧器);b)獲取功能名稱->(頻道);c)獲取功能類型->(整數(shù));d)獲取功能值->(0,1,2,...,5,34,56,...89);e)利用系統(tǒng)編寫(xiě)腳本規(guī)則(諸如OLE自動(dòng)化、VisualBasic Script、Java Script等)與上面檢索到的數(shù)量生成測(cè)試腳本代碼對(duì)于這些值中的每個(gè)值Tuner.Channel=Value(調(diào)諧器.頻道=值)endfor這一控制腳本啟動(dòng)功能可控制性的測(cè)試。
以類似方式,控制器104生成控制腳本來(lái)將抽象表示108所提供的控制模態(tài)與諸如GUI界面114提供的系統(tǒng)100中可獲得的語(yǔ)義上類似的模態(tài)相關(guān)聯(lián)??刂破髟谛∑骶吖芾沓绦蚧騏I專家(wizard)程序的協(xié)助下做到這一點(diǎn)。注意,映射是由所規(guī)定的模態(tài)確定的。下面參照?qǐng)D2進(jìn)一步說(shuō)明這一點(diǎn)。
圖2為展示模態(tài)映射的圖。如上所述,表示108提供根據(jù)設(shè)備名稱、類型、值與顯示名稱的某些關(guān)鍵信息。GUI設(shè)備112具有規(guī)定控制設(shè)備112的模態(tài)性能的抽象表示。這些性能是用標(biāo)準(zhǔn)化UI軟件部件安裝的。
例如,設(shè)備112能讓用戶在連續(xù)刻度202上調(diào)節(jié)一定參數(shù),似乎該量設(shè)定一浮點(diǎn)值。將具有類型“浮點(diǎn)”的功能映射到這一GUI元素202上。GUI元素202在這里用滑標(biāo)圖形地表示。在觸摸屏上,用戶能通過(guò)將它拖到要求的位置上來(lái)調(diào)節(jié)滑標(biāo)的位置。此外,如果UI表示在電視機(jī)(未示出)的顯示屏上,用戶能用鼠標(biāo)器(未示出)或無(wú)線鍵盤(pán)(未示出)或另一控制設(shè)備(未示出)點(diǎn)擊與拖動(dòng)滑標(biāo)。如果UI具有物理轉(zhuǎn)動(dòng)刻度盤(pán)或物理滑標(biāo),可將浮點(diǎn)映射到這一控制特征上。GUI元素202的自身圖形表示可以是但并非必須是抽象表示108的一部分。能這樣映射到元素202上的功能有諸如聲音的音量或環(huán)境照明的亮度等。
如果設(shè)備102的可控制功能具有模態(tài)“整數(shù)數(shù)組”,便將這一功能的控制映射到GUI元素204上。GUI元素204具有能通過(guò)選擇箭頭208卷入與卷出視野的多個(gè)可選擇的按鈕206。整數(shù)數(shù)組的實(shí)例為表示選擇電視頻道或園盤(pán)傳送帶中的CD的一組數(shù)字值。如果設(shè)備的可控制功能為布爾型的,便將控制映射到用戶能通過(guò)它選擇兩種狀態(tài)(開(kāi)-關(guān)、激活-去激活、高-低等)之一的GUI元素210上。如果可控制功能包括布爾數(shù)組,可將它映射到具有多個(gè)軟鍵214并在功能上等價(jià)于檢驗(yàn)框小器具的GUI元素212上。
為了協(xié)助用戶識(shí)別某些控制,在表示108中提供了項(xiàng)目“顯示名稱”?!帮@示名稱”是顯示在GUI 112上向用戶提供上下文的標(biāo)簽(如字母數(shù)字型字符的名稱或圖標(biāo))。從而使用戶能解釋控制的語(yǔ)義。顯示名稱框用參照數(shù)字216、218、220與222指示。
參見(jiàn)09/02/98提交的Yevgeniy Shteyn的“ LOW DATA-RATENETWORK REPRESENTED ON HIGH DATA-RATE HAVi-NETWORK(在高數(shù)據(jù)率HAVi網(wǎng)絡(luò)上表示的低數(shù)據(jù)率網(wǎng)絡(luò))”,其代理人摘錄號(hào)PHA 23,492,美國(guó)序號(hào)09/146,020,引用在此作為參考。這一文檔涉及采用低數(shù)據(jù)率傳輸層及用于控制家庭自動(dòng)化網(wǎng)絡(luò)中的設(shè)備的基于COM的軟件部件的基于PC的家庭自動(dòng)化系統(tǒng)。將這一家庭自動(dòng)化系統(tǒng)與采用IEEE 1394作為高數(shù)據(jù)率傳輸層的基于消息傳送的HAVi網(wǎng)絡(luò)合并。HAVi網(wǎng)絡(luò)控制家庭娛樂(lè)系統(tǒng)中的音頻/視頻設(shè)備。家庭自動(dòng)化服務(wù)與設(shè)備是作為HAVi順從元素向HAVi網(wǎng)絡(luò)的FAV或IAV設(shè)備注冊(cè)的。家庭自動(dòng)化資源(設(shè)備與服務(wù))具有COM OLE自動(dòng)化接口與HAVi順從接口兩者以便能從HAVi網(wǎng)絡(luò)控制家庭自動(dòng)化系統(tǒng)。
參見(jiàn)08/13/98提交的Lawrence Freeman的“HOME-NETWORKAUTOCONFI GURATION(家庭網(wǎng)絡(luò)自動(dòng)配置)”,其代理人摘錄號(hào)PHA23,488,美國(guó)序號(hào)09/133,622,引用在此作為參考。這一文檔涉及為了共享注冊(cè)在單個(gè)PC上的資源而在網(wǎng)絡(luò)(最好是家庭網(wǎng)絡(luò))中自動(dòng)配置PC。對(duì)于一臺(tái)PC本地的服務(wù)與資源注冊(cè)在另一臺(tái)PC上,反之亦然。注冊(cè)處隱藏服務(wù)或資源是運(yùn)程還是本地的。在該網(wǎng)絡(luò)的操作使用中,可從遠(yuǎn)程PC尋址對(duì)一臺(tái)PC本地的資源或服務(wù)似乎它對(duì)前者也是本地的。
參見(jiàn)06/30/98提交的Yevgenyi Shteyn與Gregory Gewickey的“DYNAMIC DE-REGISTERING OF DEVICES IN SYSTEM WITH MULTIPLECOMMUNICATION PROTOCOLS(帶有多種通信協(xié)議的系統(tǒng)中的設(shè)備的動(dòng)態(tài)撤消注冊(cè))”,其代理人摘錄號(hào)PHA 23,438,美國(guó)序號(hào)09/107,525,引用在此作為參考。這一文檔涉及具有第一與第二電子子系統(tǒng)及用于控制這些子系統(tǒng)的控制裝置的信息處理系統(tǒng)。至少第一子系統(tǒng)具有向控制裝置注冊(cè)的軟件表示??刂蒲b置通過(guò)與該軟件表示交互作用改變第一子系統(tǒng)的狀態(tài)。第一與第二子系統(tǒng)也能無(wú)須控制裝置介入直接互相交互作用。為了避免沖突,至少第一子系統(tǒng)能從控制裝置撤銷注冊(cè)以便截止其在控制裝置上的軟件表示的功能。
參見(jiàn)10/15/96提交的Paul Chavnbers與Saurabh Srivastava的“任務(wù)驅(qū)動(dòng)的分布式多媒體消費(fèi)品系統(tǒng)”,其代理人摘錄號(hào)PHA23,169,美國(guó)序號(hào)08/731,624,引用在此作為參考。這一文檔涉及包括多臺(tái)消費(fèi)品電子設(shè)備及耦合在這些設(shè)備上用于控制這些設(shè)備之間的交互作用的任務(wù)驅(qū)動(dòng)的控制裝置的控制系統(tǒng)。該控制裝置在這些消費(fèi)品設(shè)備的各相應(yīng)的一臺(tái)的各自的軟件表示上操作。通過(guò)將任務(wù)的可變復(fù)雜性封裝在軟件表示內(nèi),便能根據(jù)需要簡(jiǎn)單或完善地將性能保持在公共水平上。由于界面水平對(duì)這些設(shè)備是公共的,應(yīng)用能均衡地操縱體現(xiàn)非常不同的完善水平的設(shè)備。
權(quán)利要求
1.一種允許通過(guò)控制器(104,112)控制電子設(shè)備(102)的功能的方法,其中該控制器用于控制該功能,該方法包括允許將該功能的抽象表示(108)提供給該控制器;允許該抽象表示使得控制該功能的模態(tài)可用于允許該控制器通過(guò)與該抽象表示的交互作用來(lái)控制該功能;在可用的模態(tài)的控制下,允許將控制該功能的模態(tài)映射到該控制器的模態(tài)兼容控制性能上,而該控制器不必知道更多關(guān)于該功能的信息;以及其中該模態(tài)指該功能的可控制性特征的一種屬性。
2.如權(quán)利要求1的方法,其中該模態(tài)在語(yǔ)義上被規(guī)定為布爾值(210)。
3.如權(quán)利要求1的方法,其中該模態(tài)在語(yǔ)義上被規(guī)定為離散值組(206)。
4.如權(quán)利要求1的方法,其中該模態(tài)在語(yǔ)義上被規(guī)定為一個(gè)范圍的浮點(diǎn)值(202)。
5.如權(quán)利要求1的方法,其中該模態(tài)在語(yǔ)義上被規(guī)定為數(shù)組(206,214)。
6.如權(quán)利要求1的方法,其中該模態(tài)在語(yǔ)義上被規(guī)定為另一抽象表示。
7.如權(quán)利要求1的方法,其中該控制性能是在GUI(112)中提供的。
8.如權(quán)利要求1的方法,其中在家庭自動(dòng)化網(wǎng)絡(luò)(106)中使用該方法。
9.如權(quán)利要求1的方法,其中在基于HAVI的網(wǎng)絡(luò)中使用該方法。
全文摘要
一種信息處理系統(tǒng)具有電子設(shè)備及用于控制該設(shè)備的功能的控制器。將功能的抽象表示提供給控制器。該抽象表示暴露控制該功能的模態(tài)。該控制器通過(guò)與該抽象表示的交互作用能夠控制該功能。該模態(tài)控制將該功能的控制與該控制器的模態(tài)兼容控制性能相關(guān)聯(lián)。所暴露的模態(tài)可以是例如“布爾值”、“浮點(diǎn)”、“整數(shù)數(shù)組”。
文檔編號(hào)H04L12/40GK1964281SQ200610139958
公開(kāi)日2007年5月16日 申請(qǐng)日期1999年9月30日 優(yōu)先權(quán)日1998年10月2日
發(fā)明者Y·E·施泰因 申請(qǐng)人:皇家菲利浦電子有限公司