專利名稱:設(shè)備的互操作性的制作方法
發(fā)明的領(lǐng)域本發(fā)明涉及用于通過(guò)諸如數(shù)字?jǐn)?shù)據(jù)總線之類的互連裝置在諸如消費(fèi)者電子設(shè)備或類似設(shè)備的多個(gè)電子設(shè)備之間進(jìn)行通信的系統(tǒng)。具體地說(shuō),本發(fā)明涉及到管理這種設(shè)備的互操作性的裝置。
本發(fā)明的背景數(shù)據(jù)總線可用于把諸如電視接收機(jī)、顯示設(shè)備、盒式錄像機(jī)(VCR)、直接廣播衛(wèi)星(DBS)接收機(jī)以及家用控制設(shè)備(例如保安系統(tǒng)或溫度控制設(shè)備)之類的電子設(shè)備相互連接起來(lái)。使用數(shù)據(jù)總線的通信遵循總線協(xié)議??偩€協(xié)議的實(shí)例包括消費(fèi)者電子總線(ConsumerElectronics Bus)或CEBus以及IEEE 1394高性能串行總線(IEEE 1394High Performance Serial Bus)。
總線協(xié)議一般同時(shí)用于傳遞控制信息和數(shù)據(jù)。例如,在“控制通道”上傳遞CEBus控制信息,所述“控制通道”具有電子工業(yè)協(xié)會(huì)(EIA)規(guī)范IS-60中定義的協(xié)議。可用周知為CAL(通用應(yīng)用語(yǔ)言)的程序語(yǔ)言的形式來(lái)規(guī)定用于特定應(yīng)用的控制信息。
消費(fèi)者電子設(shè)備正變得愈加復(fù)雜并且有更多的性能。盡管用數(shù)據(jù)總線將這些復(fù)雜的設(shè)備連接起來(lái)對(duì)提供一個(gè)完整的音頻/視頻(A/V)系統(tǒng)來(lái)說(shuō)是必需的,但這樣做會(huì)產(chǎn)生多種問(wèn)題。例如,一個(gè)設(shè)備的某些性能可能需要與連接于總線的一個(gè)或多個(gè)設(shè)備相互作用。為在另一個(gè)設(shè)備中完成特定的操作,可能需要某一設(shè)備的一種功能。多個(gè)設(shè)備的需求之間就可能會(huì)出現(xiàn)矛盾。
目前,當(dāng)一個(gè)以上的設(shè)備競(jìng)爭(zhēng)使用共用資源例如一連在網(wǎng)絡(luò)總線上的第三設(shè)備時(shí),第一個(gè)設(shè)備會(huì)及時(shí)地對(duì)該設(shè)備進(jìn)行控制。另一設(shè)備不能使用上述共用資源直至第一設(shè)備釋放了對(duì)該資源的占有。這在簡(jiǎn)單網(wǎng)絡(luò)中例如包括電視機(jī)、分線盒和VCR的網(wǎng)絡(luò)中不會(huì)有問(wèn)題。在這種簡(jiǎn)單的網(wǎng)絡(luò)中,VCR“受控”于分線盒(cable box),也就是說(shuō),VCR只記錄分線盒所提供的內(nèi)容。但是,在更復(fù)雜的網(wǎng)絡(luò)中,兩個(gè)設(shè)備例如分線盒和數(shù)字廣播接收機(jī)會(huì)爭(zhēng)奪對(duì)共享資源即VCR的控制權(quán)。
發(fā)明概要在多種控制應(yīng)用中,應(yīng)排斥對(duì)一個(gè)設(shè)備的總體使用。這種排斥性通常有益于單個(gè)的設(shè)備。在這種情況下,會(huì)在兩個(gè)設(shè)備間短時(shí)間或長(zhǎng)時(shí)間地形成稱為“加鎖”的特定關(guān)系。這種加鎖關(guān)系允許一個(gè)設(shè)備控制對(duì)第二個(gè)設(shè)備(即“被鎖住的設(shè)備”)的接入。
一般地說(shuō),有兩種加鎖方法。在第一種加鎖方法中,被鎖住的設(shè)備判斷它是否可被解鎖和/或相對(duì)于另一設(shè)備而被鎖住。鎖住該設(shè)備的請(qǐng)求可直接傳給被鎖住的設(shè)備。如果被鎖住的設(shè)備不能滿足這一新的請(qǐng)求,則被鎖住的設(shè)備會(huì)詢問(wèn)對(duì)其加鎖的設(shè)備(即加鎖設(shè)備)以確認(rèn)是否可終止當(dāng)前的鎖定并實(shí)現(xiàn)一新的鎖定。如果加鎖設(shè)備沒(méi)有響應(yīng),例如在故障的情況下,則被鎖住的設(shè)備會(huì)終止所說(shuō)的鎖定并形成新的鎖定。在第二種方法中,要鎖住另一設(shè)備的設(shè)備在網(wǎng)絡(luò)上廣播這樣的請(qǐng)求即請(qǐng)求鎖住了該所需設(shè)備的任何設(shè)備都終止自己的鎖定。
一般地說(shuō),依照本發(fā)明,第一電子設(shè)備包括用于和數(shù)據(jù)總線相連的裝置以及控制裝置,該控制裝置用于對(duì)第一電子設(shè)備與連在所述數(shù)據(jù)總線上的第二和第三電子設(shè)備之間的通過(guò)該數(shù)據(jù)總線的通信進(jìn)行控制。所述控制裝置處理自第二和第三電子設(shè)備收到的控制和查詢數(shù)據(jù),以便對(duì)這些設(shè)備之間的通信關(guān)系進(jìn)行管理。
依照本發(fā)明的一個(gè)方面,提供了這樣一種設(shè)備,它具有用來(lái)和至少一個(gè)由網(wǎng)絡(luò)總線互連起來(lái)的第二設(shè)備進(jìn)行通信從而建立起上述第一設(shè)備與第二設(shè)備之間關(guān)系的裝置,所述通信裝置能接收來(lái)自第三設(shè)備的查詢數(shù)據(jù)。此外,上述設(shè)備還具有一第一裝置,它用于存儲(chǔ)與上述關(guān)系的持續(xù)時(shí)間有關(guān)的信息;一第二裝置,它用于存儲(chǔ)與用來(lái)終止上述關(guān)系的條件有關(guān)的信息;以及,用于響應(yīng)來(lái)自上述第二設(shè)備的控制數(shù)據(jù)而對(duì)所述設(shè)備的操作模式進(jìn)行控制的裝置。所述控制裝置能處理上述關(guān)系信息和查詢數(shù)據(jù)并且能響應(yīng)所述終止條件和查詢數(shù)據(jù)之一而終止上述關(guān)系。
依照本發(fā)明的另一個(gè)方面,所述關(guān)系信息包括第一種狀態(tài)和第二種狀態(tài)中的一種,在上述第一種狀態(tài)中,響應(yīng)所述查詢數(shù)據(jù)而終止所說(shuō)的關(guān)系,在上述第二種狀態(tài)中,不論所說(shuō)的查詢數(shù)據(jù)如何都維持上述關(guān)系。
依照本發(fā)明的再一個(gè)方面,響應(yīng)所述查詢數(shù)據(jù)而終止所說(shuō)的關(guān)系包括形成上述消費(fèi)者電子設(shè)備與第三設(shè)備之間的新關(guān)系。
依照本發(fā)明的還一個(gè)方面,所述控制裝置能響應(yīng)對(duì)所述查詢數(shù)據(jù)的接收而查詢上述第二設(shè)備以獲得對(duì)終止所述關(guān)系的許可。
依照本發(fā)明的又一個(gè)方面,提供了這樣一種系統(tǒng),它帶有通過(guò)網(wǎng)絡(luò)總線而彼此互連起來(lái)的多個(gè)設(shè)備。每個(gè)設(shè)備均如前所述那樣具有用于通信的裝置;用于存儲(chǔ)信息的第一和第二裝置;以及,用于對(duì)所述設(shè)備的操作模式進(jìn)行控制的裝置。
依照本發(fā)明的連接在網(wǎng)絡(luò)總線上的消費(fèi)者電子設(shè)備的方法方面,該方法包括和至少一個(gè)由網(wǎng)絡(luò)總線互連起來(lái)的第二設(shè)備進(jìn)行通信;對(duì)所述消費(fèi)者電子設(shè)備的操作模式進(jìn)行控制;存儲(chǔ)與上述關(guān)系持續(xù)時(shí)間有關(guān)的信息并存儲(chǔ)與用來(lái)終止上述關(guān)系的條件有關(guān)的預(yù)定條件;接收來(lái)自第三設(shè)備的查詢數(shù)據(jù);處理與上述關(guān)系有效性有關(guān)的信息以及查詢數(shù)據(jù),以及,響應(yīng)上述終止條件和查詢數(shù)據(jù)之一而終止所述關(guān)系。
對(duì)附圖的簡(jiǎn)要說(shuō)明參照附圖可以更好地理解本發(fā)明,附圖中
圖1A以框圖的形式示出了用由數(shù)據(jù)總線連到一起的電子設(shè)備所構(gòu)成的系統(tǒng);圖1B以框圖的形式示出了圖1A所示系統(tǒng)的一部分的進(jìn)一步的細(xì)節(jié);以及圖2至7示出了流程圖,它說(shuō)明了圖1所示系統(tǒng)的操作。
在附圖中,不同圖中相同的標(biāo)號(hào)表示相同或相似的裝置。
對(duì)附圖的詳細(xì)說(shuō)明圖1A示出了包括分別用標(biāo)號(hào)110、100和120表示的三個(gè)電子設(shè)備A、B和C的系統(tǒng),這三個(gè)設(shè)備通過(guò)數(shù)據(jù)總線130連在一起。設(shè)備A、B和C可以是各種類型的電子設(shè)備,包括諸如音頻和/或視頻信號(hào)處理設(shè)備及家用控制設(shè)備之類的消費(fèi)者電子設(shè)備。消費(fèi)者電子設(shè)備的特定實(shí)例包括電視(TV)接收機(jī)、顯示設(shè)備、分線盒、磁帶錄像機(jī)(VTR或VCR)直接廣播衛(wèi)星接收機(jī)(如DSS衛(wèi)星接收機(jī))、光盤(CD)設(shè)備、數(shù)字視頻光盤(DVD)設(shè)備。家用控制設(shè)備包括包括保安設(shè)備(例如攝像機(jī)、鎖)、遙控開關(guān)設(shè)備以及環(huán)境控制設(shè)備(例如加熱器、制冷器)。包含本發(fā)明原理的系統(tǒng)可包括多于圖1A所示的三個(gè)設(shè)備。而且,每個(gè)設(shè)備均可以是不同類型的設(shè)備。例如,本發(fā)明的系統(tǒng)可以包括家中的多個(gè)設(shè)備,包括TV、VCR、分線盒、衛(wèi)星接收機(jī)、音頻系統(tǒng)以及家用控制設(shè)備。
在圖1A所示的實(shí)例中,數(shù)據(jù)總線130包括多個(gè)信號(hào)通路,以便在設(shè)備之間傳遞數(shù)據(jù)和控制信息??偩€的結(jié)構(gòu)可以是串行或者是并行的。可按諸如上述CEBus或IEEE1394協(xié)議之類的多種總線協(xié)議中的任何一種在總線上傳遞數(shù)據(jù)。經(jīng)由總線130傳遞的數(shù)據(jù)包括視頻和音頻數(shù)據(jù)。例如,接收數(shù)字視頻信號(hào)的衛(wèi)星接收機(jī)可經(jīng)由總線130將數(shù)字視頻和音頻數(shù)據(jù)傳至數(shù)字磁帶錄像機(jī)(DTR)以便加以錄制。
設(shè)備100包括總線接口裝置102,它用于將設(shè)備100連接于總線130??偩€接口102包括適用于接收來(lái)自總線130的數(shù)據(jù)并在總線130上傳輸數(shù)據(jù)的硬件。例如,接口102可包括寄存器或緩沖存儲(chǔ)器以便接收和暫時(shí)存儲(chǔ)來(lái)自總線130的數(shù)據(jù)直至設(shè)備100準(zhǔn)備處理該數(shù)據(jù)并對(duì)該數(shù)據(jù)進(jìn)行存儲(chǔ)直至準(zhǔn)備在總線130上發(fā)送。
接口102受控于控制用微計(jì)算機(jī)(μC)104。術(shù)語(yǔ)“微計(jì)算機(jī)”表示包括但并不限于諸如微處理器、微計(jì)算機(jī)、控制器以及用一個(gè)或多個(gè)集成電路和/或分立元件實(shí)現(xiàn)的控制用計(jì)算機(jī)之類的各種設(shè)備。微計(jì)算機(jī)104控制著數(shù)據(jù)在接口102與設(shè)備100內(nèi)的諸如信號(hào)處理器(圖1A中未示出)之類的其它裝置之間的傳遞。例如,如果設(shè)備100是DTR并且總線接口裝置102正在接收數(shù)字視頻數(shù)據(jù)以便加以錄制,則控制用微計(jì)算機(jī)μC104就會(huì)確保接口102將視頻和音頻數(shù)據(jù)傳給設(shè)備100內(nèi)的信號(hào)處理電路,因此,能按預(yù)期進(jìn)行錄制。另外,控制用微計(jì)算機(jī)μC104控制著接口102,從而,接口102會(huì)根據(jù)適當(dāng)?shù)目偩€協(xié)議將數(shù)據(jù)傳至和傳自總線103。
微計(jì)算機(jī)104在存儲(chǔ)在存儲(chǔ)器106內(nèi)的控制程序和數(shù)據(jù)的控制下實(shí)現(xiàn)預(yù)定總線協(xié)議。存儲(chǔ)器106可包括多種存儲(chǔ)器,包括RAM、ROM、EEPROM以及硬盤驅(qū)動(dòng)器或其它類型的大容量存儲(chǔ)器設(shè)備。所述控制程序可包括各種例程,這些例程用于對(duì)諸如使通信有效或無(wú)效、使總線操作與設(shè)備100內(nèi)的其它操作相協(xié)調(diào)之類的總線接口功能進(jìn)行控制并對(duì)用于總線通信的數(shù)據(jù)進(jìn)行格式化,。
微計(jì)算機(jī)μC104所提供的對(duì)總線接口102進(jìn)行控制的一個(gè)方面是確定如何解決對(duì)設(shè)備100內(nèi)的資源使用的相互沖突的請(qǐng)求。例如,考慮這樣的情況,其中,設(shè)備110是分線盒,設(shè)備120是DSS衛(wèi)星接收機(jī),設(shè)備100是視頻磁帶錄像機(jī)(VTR)。用戶可對(duì)VTR100進(jìn)行編程以便在特定的時(shí)間錄制經(jīng)由分線盒110的特定的節(jié)目。一個(gè)有沖突的命令會(huì)使DSS設(shè)備120試圖在VTR100正錄制經(jīng)由分線盒110的節(jié)目時(shí)使用該VTR100。通常的系統(tǒng)通過(guò)忽略DSS設(shè)備120試圖進(jìn)行的使用或者通過(guò)通知用戶不能使用VTR100來(lái)解決上述問(wèn)題。
依照本發(fā)明的一個(gè)方面,圖1A所示的系統(tǒng)實(shí)現(xiàn)了一加鎖管理器,以便按以下詳細(xì)加以說(shuō)明的方式解決資源的沖突。在圖1A所示的示例性實(shí)施例中,微計(jì)算機(jī)μC104在“加鎖管理器”例程的控制下進(jìn)行操作,以確保設(shè)備100能按以下詳細(xì)說(shuō)明的方式解決沖突,所述“加鎖管理器”包括在總線控制程序內(nèi)。一“加鎖進(jìn)程”1070例程也包括在總線控制程序內(nèi);在以下對(duì)圖2的詳細(xì)說(shuō)明中說(shuō)明了加鎖進(jìn)程1070的操作。所述加鎖管理器用于建立連接于總線130的設(shè)備之間的通信關(guān)系或加鎖條件,并且用于確定在什么樣的條件下修改前述關(guān)系。加鎖管理器的操作涉及到某些參數(shù),這些參數(shù)存儲(chǔ)在存儲(chǔ)器106的一部分107內(nèi),以下將詳細(xì)說(shuō)明這些參數(shù)。與加鎖關(guān)系有關(guān)的涉及解決沖突的參數(shù)存儲(chǔ)在圖1A的存儲(chǔ)器106的加鎖管理器區(qū)域107內(nèi)。三種這樣的參數(shù)是持續(xù)時(shí)間、被鎖住的地址以及解鎖條件。圖1B說(shuō)明了這三個(gè)參數(shù),它們作為三個(gè)獨(dú)立的項(xiàng)目1071、1072和1073存儲(chǔ)在存儲(chǔ)區(qū)107內(nèi)。應(yīng)該認(rèn)識(shí)到,盡管在圖1A中未作顯示,設(shè)備110和120各包括這樣的性能,它們能提供與本文所述的如設(shè)備100內(nèi)的設(shè)備102、104、106和107所提供那樣的功能相類似的功能。設(shè)備110和120內(nèi)的結(jié)構(gòu)可與設(shè)備100中所示的結(jié)構(gòu)相類似,但也可以用其它結(jié)構(gòu)來(lái)產(chǎn)生相似的功能。
作為加鎖管理器的操作實(shí)例,考慮上述的沖突實(shí)例。利用所述加鎖管理器,用VTR100錄制來(lái)自分線盒110的節(jié)目涉及到分線盒110將加鎖請(qǐng)求傳給VTR100的總線控制能力。加鎖請(qǐng)求要求VTR100形成一種與分線盒110的關(guān)系即形成被鎖住的條件。微計(jì)算機(jī)104通過(guò)總線接口裝置102接收上述加鎖請(qǐng)求并確定VTR100是否已被另一裝置鎖住。如果該VTR未被鎖住,即該VTR可用于加鎖,則VTR100就向分線盒110發(fā)送應(yīng)答,以表明在加鎖進(jìn)程1070中已經(jīng)建立了加鎖。對(duì)來(lái)自分線盒110的預(yù)定節(jié)目的錄制就會(huì)開始進(jìn)行,并且,除了在某些條件之外上述加鎖關(guān)系會(huì)防止錄制中斷,所說(shuō)的某些條件是由諸如持續(xù)時(shí)間和解鎖條件之類的參數(shù)限定的,并且,正如以下詳細(xì)說(shuō)明的那樣,所說(shuō)的某些條件是與上述加鎖關(guān)系有關(guān)聯(lián)的。上述參數(shù)的值是由所述加鎖設(shè)備即發(fā)起加鎖條件的設(shè)備(本例中是分線盒110)形成的并被傳送至且存儲(chǔ)在被鎖住的設(shè)備(本例中是VTR)的存儲(chǔ)器106的區(qū)域107的相應(yīng)部分內(nèi)。當(dāng)DSS設(shè)備120需要使用VTR100時(shí),DSS設(shè)備內(nèi)的加鎖管理器的功能會(huì)向VTR100發(fā)送一加鎖請(qǐng)求。由于在VTR100與分線盒110之間有預(yù)先存在的加鎖關(guān)系,故VTR100內(nèi)的加鎖管理器會(huì)根據(jù)存儲(chǔ)在VTR100的現(xiàn)有加鎖條件的參數(shù)來(lái)處理來(lái)自DSS120的加鎖請(qǐng)求并按下述方式解決沖突請(qǐng)求。
圖2說(shuō)明了與加鎖管理器107相配合的加鎖進(jìn)程1070的操作。加鎖管理器107對(duì)一“主設(shè)備”所發(fā)起的關(guān)系或鎖定進(jìn)行管理。加鎖進(jìn)程1070同時(shí)鎖住兩個(gè)設(shè)備。當(dāng)主設(shè)備要發(fā)起加鎖時(shí),該設(shè)備就向從設(shè)備發(fā)送一命令。一個(gè)設(shè)備在涉及到加鎖控制的多種狀態(tài)時(shí)可處于其中的任何一種狀態(tài)。圖2中的橢圓210、220、230和240說(shuō)明了上述四種上述狀態(tài)即未被鎖住、被鎖住、解鎖請(qǐng)求掛起以及改變鎖指針。連接橢圓的線說(shuō)明了上述狀態(tài)之間的轉(zhuǎn)換。如圖2頂部所示,加鎖管理器可接收包括加鎖和解鎖請(qǐng)求在內(nèi)的請(qǐng)求。如圖2底部所示,加鎖進(jìn)程可響應(yīng)請(qǐng)求而產(chǎn)生諸如“grant_lock”(允許加鎖)或“l(fā)ock_in_use”(正在使用鎖)之類的應(yīng)答。而且,加鎖進(jìn)程可產(chǎn)生一解鎖請(qǐng)求和一設(shè)備出錯(cuò)/重置指示。
如圖2所示,所述系統(tǒng)響應(yīng)一加鎖請(qǐng)求而從未被鎖住的狀態(tài)210轉(zhuǎn)換成被鎖住的狀態(tài)220并發(fā)出一grant_lock應(yīng)答。在響應(yīng)被釋放的鎖時(shí)則發(fā)生從被鎖住的狀態(tài)220返回至未被鎖住的狀態(tài)210。經(jīng)由狀態(tài)230和240的轉(zhuǎn)換則發(fā)生鎖定釋放(即開鎖)。所述系統(tǒng)會(huì)響應(yīng)一解鎖請(qǐng)求而從狀態(tài)220到解鎖請(qǐng)求掛起狀態(tài)230。在狀態(tài)230下,所述系統(tǒng)會(huì)處理諸如持續(xù)時(shí)間參數(shù)和解鎖條件之類的參數(shù),以確定是否應(yīng)將鎖定釋放。如果不解除該鎖,就發(fā)送一Lock_in_use消息,所述系統(tǒng)會(huì)返回至被鎖住的狀態(tài)220。如果可以將鎖釋放,就發(fā)送一解鎖消息,所述系統(tǒng)會(huì)轉(zhuǎn)換成狀態(tài)240,在這種狀態(tài)中,被鎖住的地址或加鎖指針均會(huì)變成當(dāng)前請(qǐng)求加鎖的設(shè)備的地址或加鎖指針。然后,所述系統(tǒng)轉(zhuǎn)換至被鎖住狀態(tài)220并發(fā)送出一grant_lock消息。
圖3至7說(shuō)明了加鎖管理器107和加鎖進(jìn)程1070在各種條件下即在設(shè)備間各種事務(wù)處理過(guò)程中的操作。在圖3中,設(shè)備B未被鎖住,并且,設(shè)備B響應(yīng)一來(lái)自設(shè)備A的加鎖請(qǐng)求而建立起對(duì)設(shè)備A的鎖定。
在圖4中,設(shè)備B響應(yīng)先前的加鎖請(qǐng)求而與設(shè)備C鎖定,并且,收到一來(lái)自設(shè)備A的有沖突的加鎖請(qǐng)求。持續(xù)時(shí)間參數(shù)設(shè)置為0,這意味著設(shè)備B在解鎖并與設(shè)備A再鎖定之前不必請(qǐng)求同意解除源于設(shè)備C的鎖。設(shè)備B只需判斷解鎖條件參數(shù)以確定是否解除與C的鎖定。
在圖5中,設(shè)備B響應(yīng)來(lái)自設(shè)備C的先前加鎖請(qǐng)求而與設(shè)備C鎖住,并且,將持續(xù)時(shí)間參數(shù)置為1。設(shè)備B向設(shè)備C發(fā)送一也稱為“解除繼承鎖定”的解鎖請(qǐng)求。設(shè)備C中的加鎖管理器確定是否將鎖解除。在圖5中,設(shè)備C確定保持所說(shuō)的鎖并發(fā)送一“資源正在使用”的消息,該消息由設(shè)備B轉(zhuǎn)發(fā)給設(shè)備A。
圖6示出了除了設(shè)備C通過(guò)解除設(shè)備C對(duì)設(shè)備B的鎖定而對(duì)設(shè)備A的加鎖請(qǐng)求加以響應(yīng)以外與圖5中的事務(wù)處理(即持續(xù)時(shí)間=1)相類似的事務(wù)處理。因此,設(shè)備C會(huì)向設(shè)備B發(fā)送一解鎖消息,隨后,設(shè)備B對(duì)設(shè)備A的鎖定進(jìn)行授權(quán)。
圖7示出了這樣一種事務(wù),在該事務(wù)中,在持續(xù)時(shí)間等于0的情況下設(shè)備B與設(shè)備C鎖住,并且,設(shè)備A招呼所有的加鎖管理器以表明設(shè)備A要對(duì)設(shè)備B進(jìn)行加鎖。設(shè)備C會(huì)把設(shè)備C將釋放對(duì)設(shè)備B的鎖定通知給設(shè)備A。然后,設(shè)備A向設(shè)備B發(fā)送一加鎖請(qǐng)求,并且,由于持續(xù)時(shí)間參數(shù)被置為0,故設(shè)備B會(huì)與設(shè)備A鎖定并向設(shè)備C發(fā)送一消息以指示設(shè)備C去解除與設(shè)備B的鎖。
此外,只有加鎖設(shè)備或主設(shè)備需要加鎖管理器107而從設(shè)備或可被鎖住的設(shè)備僅使用加鎖進(jìn)程1070這種情況也屬于本發(fā)明的范圍。這種系統(tǒng)的的操作與本文所述系統(tǒng)相類似。
以下將說(shuō)明有關(guān)本發(fā)明加鎖管理器方面進(jìn)一步的細(xì)節(jié),包括該加鎖管理器的除以上已作過(guò)說(shuō)明的以外的那些特征。僅為方便起見,以下詳細(xì)說(shuō)明包括基于使用CAL程序設(shè)計(jì)語(yǔ)言的情況,但是,應(yīng)該認(rèn)識(shí)到,也可用任何適當(dāng)?shù)钠渌绦蛟O(shè)計(jì)語(yǔ)言來(lái)代替CAL程序設(shè)計(jì)語(yǔ)言。使用加鎖的應(yīng)用實(shí)例以下將說(shuō)明除業(yè)已說(shuō)明了的那些應(yīng)用以外的需要有加鎖關(guān)系的情況。在第一個(gè)實(shí)例中,一設(shè)備(“設(shè)備A”)要將若干數(shù)據(jù)包下載到遠(yuǎn)程設(shè)備(“設(shè)備B”)中。設(shè)備A不希望覆蓋掉寫到設(shè)備B中的數(shù)據(jù),直至完成下載。在正常情況下,這一功能需要在兩個(gè)設(shè)備中均有分段網(wǎng)絡(luò)服務(wù)(Segmented Network Service)。但是,依照本發(fā)明,設(shè)備A會(huì)形成一種臨時(shí)的加鎖關(guān)系,這種關(guān)系會(huì)確保設(shè)備A是能對(duì)設(shè)備B進(jìn)行寫操作的唯一設(shè)備。在傳遞了數(shù)據(jù)之后,設(shè)備A會(huì)終止上述加鎖關(guān)系并對(duì)設(shè)備B“解鎖”。
在第二個(gè)實(shí)例中,諸如分線盒之類的外部設(shè)備執(zhí)行一節(jié)目定時(shí)器事件。分線盒會(huì)“鎖住”VCR的送帶機(jī)構(gòu)。這就會(huì)使VCR處于錄制模式,直至預(yù)約時(shí)間結(jié)束或者出現(xiàn)更優(yōu)先條件。所述分線盒向VCR發(fā)送一Stop(停止)命令并在所述事件結(jié)束時(shí)對(duì)VCR解鎖。
在第三個(gè)實(shí)例中,一個(gè)設(shè)備要顯示一OSD(屏上顯示,即ON SCREENDISPLAY)消息一段時(shí)間。該設(shè)備為自已鎖住顯示器并發(fā)送相關(guān)的顯示信息。所述顯示設(shè)備顯示上述信息一段時(shí)間。所述被鎖設(shè)備由加鎖設(shè)備本身或有條件的事件例如超時(shí)而被解鎖。
還實(shí)現(xiàn)了加鎖的一種特殊形式即“監(jiān)聽”。控制與多種設(shè)備的互操作需要能夠知道這些設(shè)備的狀態(tài)。包括監(jiān)聽能力的設(shè)備可對(duì)一組特定設(shè)備例如位于房屋內(nèi)的設(shè)備所發(fā)送出的廣播報(bào)告進(jìn)行鑒別。
例如,可將狀態(tài)變化信息自動(dòng)地從一個(gè)設(shè)備發(fā)送至另一個(gè)設(shè)備。一VCR將其運(yùn)轉(zhuǎn)模式狀態(tài)更新給一顯示設(shè)備,或者,一溫度傳感器將最新信息傳送給環(huán)境管理器。這一過(guò)程有兩個(gè)問(wèn)題。第一個(gè)問(wèn)題是確定報(bào)告應(yīng)送到何處。另一個(gè)相應(yīng)問(wèn)題是所述接收設(shè)備要確定哪些報(bào)告的信息對(duì)其功能是重要的。這種情況會(huì)在同一類型的設(shè)備諸如恒溫器或保安傳感器之類向同一房屋內(nèi)的多個(gè)子系統(tǒng)發(fā)出多個(gè)實(shí)例的報(bào)告時(shí)出現(xiàn)。需要對(duì)信息源進(jìn)行鑒別。所述監(jiān)聽功能可以實(shí)現(xiàn)這一功能。
存在有多種監(jiān)聽?wèi)?yīng)用。某些比另一些更具動(dòng)態(tài)性。環(huán)境控制是穩(wěn)定(靜態(tài))監(jiān)聽?wèi)?yīng)用的一個(gè)實(shí)例。在這種系統(tǒng)中,監(jiān)聽功能在初始調(diào)整功能之后是相對(duì)靜態(tài)的。這種系統(tǒng)需要用于監(jiān)聽的可靠且廉價(jià)的裝置。諸如安全和特殊使用之類的問(wèn)題是重要的。所述系統(tǒng)的配置在安裝時(shí)進(jìn)行并且很少非常頻繁地改變。
這一點(diǎn)與A/V系統(tǒng)完全相反。A/V系統(tǒng)是真正動(dòng)態(tài)的。設(shè)備會(huì)頻繁地進(jìn)行安裝和拆卸。視頻源和請(qǐng)求功能會(huì)使得系統(tǒng)配置迅速且經(jīng)常地改變。播放、錄制、顯示信息以及計(jì)時(shí)器事件均需要在對(duì)設(shè)備的監(jiān)聽和加鎖方面進(jìn)行改變。需要將來(lái)自VCR的監(jiān)聽源設(shè)備立刻變成DBS設(shè)備。還要有大量的設(shè)備間的相互監(jiān)聽。TV可以正在監(jiān)聽一個(gè)設(shè)備即環(huán)境系統(tǒng),以便在分線盒正在監(jiān)聽VCR的狀態(tài)時(shí)進(jìn)行顯示。
所需的加鎖和監(jiān)聽有多種級(jí)別。在多種情況下,應(yīng)用僅需要一種設(shè)備級(jí)的加鎖。但是,也存在要在對(duì)象級(jí)上進(jìn)行加鎖的例子。(也就是說(shuō),一個(gè)設(shè)備可包括一個(gè)以上的對(duì)象,例如,一個(gè)設(shè)備可在該設(shè)備內(nèi)有多種獨(dú)立的可控功能。)這種情況之一是VCR應(yīng)用,在這種應(yīng)用中,要鎖住傳動(dòng)機(jī)構(gòu)而同時(shí)允許其它設(shè)備編輯或增加計(jì)時(shí)器事件。與此相似,盡管要鎖住TV中的顯示對(duì)象以保證進(jìn)行適當(dāng)?shù)娘@示,但是,不應(yīng)鎖住設(shè)備對(duì)其它通信的響應(yīng)能力。
上述加鎖屬性有相關(guān)的、有條件的且繼承的特征。有條件加鎖特征的一個(gè)實(shí)例是當(dāng)一個(gè)設(shè)備業(yè)已鎖住了一個(gè)對(duì)象的時(shí)候。尚未被鎖住的對(duì)象可以被鎖住;但是,該設(shè)備卻可能是不能加鎖的。在這種情況下,僅能由已鎖住對(duì)象之一的同一設(shè)備來(lái)鎖住該設(shè)備。繼承加鎖是指一個(gè)設(shè)備中的所有對(duì)象均繼承了所述對(duì)象的被鎖住狀態(tài)。加鎖管理器要鎖住其它設(shè)備的所有設(shè)備都必須有一“加鎖管理器”(LockManager),它跟蹤所有由上述設(shè)備所發(fā)起的活動(dòng)鎖的情況并負(fù)責(zé)對(duì)遠(yuǎn)程設(shè)備加鎖和解鎖。以下說(shuō)明了這種由CAL實(shí)現(xiàn)的加鎖管理器的結(jié)構(gòu)。
以下對(duì)上述參數(shù)進(jìn)行說(shuō)明。1.Lock pointer(鎖指針)的定義每個(gè)數(shù)據(jù)存儲(chǔ)器memory_block(存儲(chǔ)塊)的實(shí)例變量(IV)的記錄均是一個(gè)指針,它指向以遠(yuǎn)程方式駐留在網(wǎng)絡(luò)上的被鎖住的設(shè)備。所述Lock_pointer數(shù)據(jù)包括三個(gè)域(1)<Device_Network_Address>(設(shè)備網(wǎng)絡(luò)地址),(2)<Locked_Context_ID>(被鎖住的描述表標(biāo)識(shí)),(3)<locked_Object_ID>(被鎖住的對(duì)象標(biāo)識(shí))。那些以空白表示的域被認(rèn)為是null(空)。
上述設(shè)備網(wǎng)絡(luò)地址域是被鎖住的設(shè)備的網(wǎng)絡(luò)地址。在CEBus應(yīng)用中,將MAC地址用作該網(wǎng)絡(luò)地址。
Locked_Context_ID域包括兩個(gè)字節(jié)。第一個(gè)字節(jié)是描述表號(hào)或描述表通配符“DE”。表通配符DE是指所說(shuō)的鎖對(duì)應(yīng)于設(shè)備中同一描述表的所有實(shí)例。第二個(gè)字節(jié)是Context_Class_ID(描述表類標(biāo)識(shí))。其余的字節(jié)均為空(null)。
locked_Object_ID域分成兩個(gè)字節(jié)。第一個(gè)字節(jié)是Object_Number(對(duì)象號(hào))或?qū)ο笸ㄅ浞?0”。當(dāng)使用對(duì)象通配符時(shí),第二字節(jié)就是Object_Class(對(duì)象類)。在未使用上述通配符時(shí),第二個(gè)字節(jié)就為null。這就可鎖住在同一對(duì)象類(Object Class)中的所有對(duì)象。2.解鎖消息定義上述被鎖住的設(shè)備向加鎖管理器發(fā)送一解鎖消息。有三種定義過(guò)的解鎖消息(1)Device_Unlock(設(shè)備解鎖),(2)Context_Unlock(描述表解鎖),以及(3)Object Unlock(對(duì)象解鎖)。
可用Macro(宏)U4來(lái)發(fā)送解鎖消息。U4宏包含兩個(gè)變?cè)?。第一個(gè)變?cè)珼evice_Network_Address。第二個(gè)變?cè)枋霰砗蛯?duì)象信息。所述宏的原型是“<context_ID><object_ID>U4<data token(數(shù)據(jù)令牌)><size of data(數(shù)據(jù)大小)><escape token>
<Device_Network_Address>F5><data token><size of data><escape token><Context_Number><Context_class_ID><Object_ID><Object_Class>”在鎖住一描述表時(shí),Context_Number和Context_class_ID均放置在上述第二個(gè)變?cè)騼?nèi),(不提供Object_ID和Object_Class)。所述對(duì)象信息為null。
在鎖住一對(duì)象時(shí),Context_Number、Context_class_ID、Object_ID和Object_Class均在第二個(gè)變?cè)獌?nèi)提供。
a)設(shè)備解鎖消息Device_Unlock消息必須包含被鎖住的設(shè)備的<Device_Network_Address>。該消息中不包含上述第二個(gè)變?cè)?br>
“00 04 55 34 F5 F5 F4 34 F6<Device_Network_Address>F5”放置在加鎖管理器對(duì)象中的加鎖指針矢量的實(shí)例
加鎖的設(shè)備將一個(gè)設(shè)備鎖住的能力取決于先前設(shè)置的鎖。設(shè)備加鎖要求復(fù)蓋掉所有其它的鎖。
加鎖的過(guò)程使用了下表中的變量(IV)。在所有的過(guò)程中必須有l(wèi)ocking_address IV。持續(xù)時(shí)間的缺省級(jí)別是“0”。下表包含了對(duì)IV的詳細(xì)說(shuō)明
a)持續(xù)時(shí)間IV持續(xù)時(shí)間IV會(huì)影響設(shè)備的解鎖行為。目前有三種定義過(guò)的持續(xù)時(shí)間級(jí)(0)Loose(不嚴(yán)格或松散);(1)Tight(嚴(yán)格)以及(2)listening(監(jiān)聽)。持續(xù)時(shí)間IV的缺省值為L(zhǎng)oose。當(dāng)一個(gè)設(shè)備變成未被加鎖的狀態(tài)時(shí),它就應(yīng)將持續(xù)時(shí)間設(shè)置為缺省值。
當(dāng)持續(xù)時(shí)間值為“0”,就會(huì)出現(xiàn)loose加鎖級(jí)。loose加鎖會(huì)導(dǎo)致一個(gè)設(shè)備對(duì)試圖對(duì)其進(jìn)行控制的各設(shè)備有所區(qū)別。但是,這種結(jié)合是loose(松散)的。這意味著被鎖住的設(shè)備可以允許對(duì)新的鎖定的請(qǐng)求并確信以前的加鎖設(shè)備一定會(huì)解除已存在的鎖定。當(dāng)加鎖級(jí)別是loose時(shí),加鎖的設(shè)備應(yīng)根據(jù)請(qǐng)求自動(dòng)地釋放所說(shuō)的鎖。這會(huì)導(dǎo)致快速地解開先前的鎖并允許進(jìn)行新的鎖定。
當(dāng)以loose方式鎖住的設(shè)備接收到改變Locking_address的請(qǐng)求時(shí),該設(shè)備就會(huì)返回一已完成的消息并通知先前加鎖的設(shè)備解開所說(shuō)的鎖。loose加鎖意味著任何設(shè)備都可以改變Locking_addressIV。
當(dāng)持續(xù)時(shí)間域設(shè)置為“1”時(shí),就會(huì)出現(xiàn)tight(嚴(yán)格)加鎖。這使得只有加鎖設(shè)備才能改變或允許改變Locking_addressIV。這一點(diǎn)在第三設(shè)備要在被鎖住的設(shè)備內(nèi)建立鎖定時(shí)是有用的。在這種情況下,該第三設(shè)備查詢被鎖住的設(shè)備。被鎖住的設(shè)備向加鎖設(shè)備的加鎖管理器對(duì)象(Lock Manager Object)發(fā)送一解鎖消息。加鎖設(shè)備可以生成鎖也可以不生成鎖,也就是說(shuō),加鎖設(shè)備在解除先前的鎖時(shí)會(huì)返回一完成令牌(Completed Token)FE。否則,加鎖管理器會(huì)用(8)碼返回一帶有出錯(cuò)資源在使用中的FD令牌。
將持續(xù)時(shí)間IV設(shè)置為“2”會(huì)導(dǎo)致稱為監(jiān)聽(如前所述)的加鎖形式。在監(jiān)聽的過(guò)程中,“被鎖住的”設(shè)備會(huì)將其自身與另一設(shè)備相結(jié)合。一個(gè)設(shè)備可根據(jù)其應(yīng)用而實(shí)現(xiàn)多種持續(xù)時(shí)間值。
b)Key_EntryIV(密鑰項(xiàng)IV)Key_EntryIV可用作進(jìn)入被鎖住設(shè)備的一個(gè)簡(jiǎn)單的密鑰。這一IV能接觸受保護(hù)的變量。這一選擇可以保護(hù)諸如特殊診斷和安裝操作之類的私有功能不被普遍地使用。它還允許一個(gè)設(shè)備在監(jiān)聽?wèi)?yīng)用中鑒別不同的來(lái)源。
Key_EntryIV有兩種用法。第一種是在形成tight加鎖(持續(xù)時(shí)間=1)時(shí)的用法。加鎖設(shè)備提供一數(shù)據(jù)類型變量Key_Entry的值,該值授權(quán)使用所述設(shè)備的私有區(qū)。該值為說(shuō)明的目的定義為“l(fā)ock_key”。
第二種是在監(jiān)聽?wèi)?yīng)用(持續(xù)時(shí)間=2)中的用法。監(jiān)聽功能將Key_EntryIV用作一附加的鑒別器。本文的后面會(huì)說(shuō)明Key_Entry功能。
除了私有的第一個(gè)級(jí)別以外,生產(chǎn)商可以選擇將Key_EntryIV制成一需要確認(rèn)的受保護(hù)變量。這就會(huì)將特定的使用的情況與確認(rèn)區(qū)分開來(lái)。當(dāng)一個(gè)設(shè)備未被鎖住或持續(xù)時(shí)間未設(shè)置成“l(fā)oose”時(shí),Key_EntryIV是不活動(dòng)的。缺省的Key_Entry值是“null”。每當(dāng)一個(gè)設(shè)備未被加鎖或持續(xù)時(shí)間級(jí)別發(fā)生變化時(shí),Key_EntryIV都會(huì)恢復(fù)成其缺省值。這就會(huì)導(dǎo)致只有加鎖的設(shè)備能夠提供或讀取Key_EntryIV的值。這允許只有一個(gè)設(shè)備接觸私有數(shù)據(jù)或功能。
“l(fā)ock_key”可根據(jù)應(yīng)用而是一設(shè)置在ROM中的固定密鑰或者是諸如“委托密鑰”之類的可寫密鑰。正常情況下只有一個(gè)有效的Key_Entry值;但是,也可以有多個(gè)有效的Key_EntryIV。生產(chǎn)商可以選擇將lock_keyIV制成是可寫的。通過(guò)解除所說(shuō)的鎖、或?qū)㈡i持續(xù)時(shí)間變成<>1,或?qū)ey_EntryIV設(shè)置成無(wú)效的項(xiàng)(例如邏輯長(zhǎng)度是0)或一false(假)值,受保護(hù)設(shè)備會(huì)再次變?yōu)樗接械摹?br>
c)Locking_AddressIV(加鎖地址IV)Locking_addressIV是一數(shù)據(jù)類型變量并且是鎖住上述設(shè)備的網(wǎng)絡(luò)地址。在CEBus應(yīng)用中,將MAC地址用作上述網(wǎng)絡(luò)地址。
一個(gè)加鎖設(shè)備在將其網(wǎng)絡(luò)地址寫進(jìn)適當(dāng)?shù)腖ocking_addressIV內(nèi)時(shí)會(huì)發(fā)起對(duì)一個(gè)設(shè)備的鎖定。一旦一個(gè)鎖就位,將Locking_AddressIV設(shè)置成一無(wú)效的地址(例如邏輯長(zhǎng)度為0)就會(huì)使該鎖失效。對(duì)一個(gè)不支持加鎖的設(shè)備的加鎖請(qǐng)求會(huì)導(dǎo)致一返回值Error無(wú)效的IV(出錯(cuò)無(wú)效的IV)。
d)Unlock_ConditionIV(開鎖條件IV)第三個(gè)變量是Unlock_ConditionIV,它允許用戶指定自動(dòng)將鎖解除的條件。解鎖條件可以使用在設(shè)備中能找到的IV,(這一點(diǎn)與事件管理器對(duì)象相類似)。
Unlock_ConditionIV包含有一布爾表達(dá)式,該表達(dá)式規(guī)定了對(duì)該設(shè)備的解鎖條件。所述布爾表達(dá)式是一按CAL語(yǔ)法所限定的CAL表達(dá)式。該程序等待在設(shè)備中出現(xiàn)諸如計(jì)時(shí)器到時(shí)或超出閥值之類的某些條件。所述設(shè)備根據(jù)指定的解鎖條件來(lái)解除所說(shuō)的鎖。請(qǐng)注意,解鎖條件位于被鎖住的設(shè)備內(nèi)。持續(xù)時(shí)間值可以是loose或tight。
用setArray方法來(lái)將一個(gè)條件加載到Unlock_Condition之內(nèi)。在這種情況下,要加載的數(shù)據(jù)是實(shí)際的CAL條件程序。該程序包括要等待的會(huì)導(dǎo)致解鎖活動(dòng)的條件。
正如在事件管理器對(duì)象中那樣,在CAL語(yǔ)法中用于Unlock_ConditionIV正確操作方面有兩點(diǎn)稍微的不同。第一點(diǎn)不同是識(shí)別要等待的實(shí)例變量。必須要提供IV的描述表和對(duì)象位置,而不是一個(gè)簡(jiǎn)單的IV標(biāo)識(shí)符。例如,Unlock_Condition總是檢測(cè)(Audiocontrol,Volume Control,current_value>Audio Context,VolumeControl,max_value),而不是檢測(cè)(current_value>max_value)。可以通過(guò)要求所有的字節(jié)來(lái)正確地分析語(yǔ)句。
包含在Unlock_Condition中的布爾表達(dá)式至多允許有兩種要評(píng)估的關(guān)系。例如,當(dāng)小時(shí)等于12或月份等于6時(shí),時(shí)鐘對(duì)象就可以解鎖。上述布爾表達(dá)式中的第一個(gè)IV是所報(bào)告的值。除標(biāo)準(zhǔn)的關(guān)系操作符以外,還規(guī)定了一額外的操作符即DELTA操作符。請(qǐng)注意,在(用setArray方法)寫Unlock_ConditionIV時(shí),所述對(duì)象必須檢查放置在IV中的條件的有效性。如果該條件是無(wú)效的,就返回一Error_BadArgument type(Error_錯(cuò)誤變?cè)愋?(12),并且,不會(huì)出現(xiàn)Unlock_Condition。加鎖的實(shí)現(xiàn)通過(guò)用setArray方法將Unlock_ConditionIV設(shè)置成一有效的目的地地址,就可以鎖住一個(gè)設(shè)備。在CEBus應(yīng)用的情況下,網(wǎng)絡(luò)地址包括按MSB、LSB順序出現(xiàn)的單元地址和房屋代碼。一個(gè)用單元代碼0034、房屋代碼001A的加鎖消息的實(shí)例會(huì)導(dǎo)致下列消息<context><object>46 471 Ff5 Ff5 Ff4 34 Ff6 00 34 00 1A(<context><object>setArray‘GA’<DEL><DEL><DATA>34<ESCAPE>0034 001A)將對(duì)象Locking_AddressIV設(shè)置成一無(wú)效的地址(例如邏輯長(zhǎng)度為0)會(huì)將對(duì)象解鎖。
(<context><object>setArray‘GA”<DEL><DEL><DATA>30<ESCAPE>
在不支持這一功能時(shí)就返回一Error-InvalidIV(錯(cuò)誤-無(wú)效IV)。
1對(duì)象加鎖的實(shí)現(xiàn)通過(guò)在各個(gè)對(duì)象中設(shè)置加鎖進(jìn)程可實(shí)現(xiàn)對(duì)象層次上的加鎖。
2描述表加鎖的實(shí)現(xiàn)上述對(duì)象層次的加鎖可擴(kuò)展至描述表。通過(guò)在描述表控制對(duì)象中設(shè)置加鎖進(jìn)程可實(shí)現(xiàn)描述表層次上的加鎖。
將Locking_AddressIV設(shè)置成一有效值可以鎖住描述表。描述表中例舉的對(duì)象繼承了相同的Locking_Address。(這僅適用于持續(xù)時(shí)間<>2時(shí)。)如果已鎖住了描述表中的對(duì)象,則不可能鎖住該描述表,除非對(duì)象的Locking_AddressIV與描述表的Locking_Address值相同。
通過(guò)將加鎖設(shè)備的網(wǎng)終地址寫進(jìn)置于描述表控制對(duì)象中的Context_Locking_AddressIV內(nèi),可以發(fā)起對(duì)描述表的加鎖。
<context_ID>01 01 46 47 54 F5 F5 F4 34 F6<Locking_Address>
Context_Persistence(描述表持續(xù)時(shí)間),context_Key_Entry(描述表加鎖項(xiàng)),Context_Locking_Address(描述表加鎖地址)以及Context_Unlock_Condition IV(描述表開鎖條件)分別從對(duì)象IVPersistence,Key_Entry,Locking_Address以及Unlock_Condition中繼承它們的行為。
3設(shè)備加鎖的實(shí)現(xiàn)通過(guò)在節(jié)點(diǎn)控制對(duì)象(Node Control Object)中設(shè)置加鎖進(jìn)程可實(shí)現(xiàn)設(shè)備層次上的加鎖。所述節(jié)點(diǎn)控制對(duì)象可以有自己的專用對(duì)象加鎖進(jìn)程。所述設(shè)備層次上的加鎖變量是<
Device_Persistence,Device_Key_Entry,Device_Locking_Address以及Device_Unlock_Condition IV分別從對(duì)象IVPersistence,Key_Entry,Locking_Address以及Unlock_Condition中繼承它們的行為。
通過(guò)將加鎖設(shè)備的網(wǎng)絡(luò)地址寫進(jìn)Device_Locking_Address IV,可以發(fā)起對(duì)設(shè)備加鎖。
00 01 46 54 F5 F5 F4 34 F6<Locking_Address>加鎖方案為了說(shuō)明起見,加鎖設(shè)備是要鎖住另一設(shè)備的設(shè)備。被鎖設(shè)備是要被鎖住的設(shè)備。加鎖請(qǐng)求可發(fā)往要被鎖住的設(shè)備或者發(fā)往占有鎖的加鎖管理器。在正常條件下,可通過(guò)試圖將一新地址寫進(jìn)Locking_AddressIV而形成一加鎖請(qǐng)求。該請(qǐng)求可以是直接的也可以是有條件的。
a) 直接加鎖請(qǐng)求用單元代碼(Unit Code)0034、房屋代碼(House Code)001A的加鎖消息的實(shí)例會(huì)導(dǎo)致下列消息<context><object>46 4741 Ff5 Ff5 Ff4 34 Ff6 00 34 001A(<context><object>setArray‘G’<DEL><DEL<DATA>‘4’<ESCAPE>0034 001A)設(shè)備必須確定它是否是可鎖住的。如果未鎖住上述設(shè)備、對(duì)象、描述表是沒(méi)有鎖住的,就返回一已完成的令牌。加鎖設(shè)備將加鎖指針?lè)胚M(jìn)加鎖管理器對(duì)象。
b)有條件的對(duì)象加鎖請(qǐng)求用單元碼0034、房屋碼001A的加鎖消息的實(shí)例會(huì)導(dǎo)致下列消息<context><object>5647 F7<context><object>46 471 F5f5 Ff5Ff4 34 Ff6 00 34 00 1A EB 44 47 F8<context><object>I(IF“G”<BEGIN><context><object>setArray“G”<DEL><DEL<DATA>‘4’<ESCAPE>0034 001A<ELSE>setArray“G”<END>)如果array “G”(陣列“G”)未被使用,就鎖住所說(shuō)的設(shè)備。否則,就不鎖住該設(shè)備。這種方法可以和資源加鎖一道使用。如果所述設(shè)備正在使用,則發(fā)請(qǐng)求的設(shè)備可通過(guò)發(fā)送一個(gè)廣播消息向加鎖設(shè)備請(qǐng)求“打招呼” 以使它放棄被鎖住的設(shè)備。
c)使用LOCK宏U2可用LOCK宏U2來(lái)鎖住描述表和對(duì)象。宏消息包括宏ID,之后是變?cè)?。有兩個(gè)必需的變?cè)?)Locking_Address(加鎖地址);以及,2)persistence(持續(xù)時(shí)間)。如果未填寫變?cè)?,就認(rèn)為該變?cè)頌閚ull。在形成加鎖之后,更新Key_Entry(密鑰項(xiàng))和Unlock_ConditionIV(開鎖條件)。
<context_ID><object_ID>“U2”<data token><size ofdata><escape token>< Locking_Address >F5<persistence>F5<Key_Entry>
就CAL宏消息而言鎖住描述表11的實(shí)例是“11 011 55U 322 F4 34 F6 OF 32 23 34 F5 01”變?cè)狾 F f 3 2 2 3 3 4是加鎖地址。持續(xù)時(shí)間設(shè)置為1。這時(shí),加鎖設(shè)備可發(fā)送一Key_Entry(密鑰項(xiàng))IV數(shù)據(jù)和Unlock_Condition(開鎖條件)IV數(shù)據(jù)。
在未提供Locking_Address時(shí),就假定是宏消息的源地址。
“11 01 55 32 F5 F5 01”加鎖釋放請(qǐng)求a)發(fā)往加鎖主設(shè)備的加鎖釋放請(qǐng)求(1)用DISINHERIT(解除繼承)(選項(xiàng)1)如果在對(duì)象、描述表或設(shè)備層次上鎖住了對(duì)象,則該對(duì)象會(huì)請(qǐng)求妨礙加鎖的設(shè)備放棄加鎖。消息是發(fā)送給加鎖管理器對(duì)象的<Universal Context><Locking Manager Object>·disinherit<lock_pointer(6C)>F4[number of bytes]F6 <device_address><context_id><object>
解除對(duì)<device><context><object>的加鎖的繼承。
所述context id若不為A0則包括context_number。若為A0,則可任選地包括描述表號(hào)。
(2)用UNLOCK宏U41(選項(xiàng)21)UNLOCK宏U41被發(fā)送給EVENT Manager Object(事件管理器對(duì)象)。該宏與預(yù)定的加鎖指針相匹配并請(qǐng)求刪除該指針。如果存在著匹配,那么,加鎖管理器或者對(duì)所述請(qǐng)求授權(quán)或者拒絕該請(qǐng)求。如果不能找到加鎖設(shè)備,則被鎖住的設(shè)備將鎖解除。詳情節(jié)見2.1.2節(jié)。監(jiān)聽的實(shí)現(xiàn)監(jiān)聽功能是與前述報(bào)告方法相對(duì)應(yīng)的。監(jiān)聽是在對(duì)其它設(shè)備或網(wǎng)絡(luò)資源感興趣的對(duì)象中實(shí)施的。網(wǎng)絡(luò)資源的一個(gè)實(shí)例是時(shí)間。
監(jiān)聽功能能使一個(gè)設(shè)備鑒別包含狀態(tài)信息的廣播消息。監(jiān)聽功能是加鎖功能的特殊應(yīng)用。在監(jiān)聽模式中,所述對(duì)象不繼承描述表或設(shè)備的加鎖狀態(tài)。(這在設(shè)備或描述表已鎖住時(shí)對(duì)監(jiān)聽功能正確地實(shí)施是必需的)。
在監(jiān)聽過(guò)程中,一個(gè)設(shè)備將自身和另一個(gè)設(shè)備相結(jié)合。這意味著一個(gè)設(shè)備可以設(shè)置它自己的Locking_AddressIV。Locking_AddressIV或者是只讀的或者是讀/寫的。寫選項(xiàng)實(shí)際是松散加鎖的一種類型。將持續(xù)時(shí)間IV置為“2”。Key_EntryIV可用作特殊的使用鑒別器。下表包含了監(jiān)聽I(yíng)V列表
<p>當(dāng)Lock Address是只讀變量時(shí),設(shè)備就設(shè)置它自已的加鎖地址。當(dāng)從外部設(shè)置Locking_Address時(shí),加鎖設(shè)備不將lock_pointer放進(jìn)它自己的加鎖管理器。
有三種不同的監(jiān)聽方法。第一種方法使用源網(wǎng)絡(luò)地址以控制使用監(jiān)聽對(duì)象。所述對(duì)象支持與Locking_AddressIV相對(duì)應(yīng)的源設(shè)備地址進(jìn)行鑒別。在這種情況下,將消息寫進(jìn)適當(dāng)?shù)腎nstant Variable(瞬時(shí)變量)。
第二種和第三種監(jiān)聽方法使用了Key_Entry設(shè)備。這種方法需要宏消息。該宏消息L1用于同時(shí)傳送Key_Entry值和數(shù)據(jù)。所述監(jiān)聽設(shè)備驗(yàn)證所說(shuō)的宏來(lái)自適當(dāng)?shù)膩?lái)源地址并且所提供的Key_Entry值與前述所需值相匹配。1多來(lái)源監(jiān)聽的實(shí)現(xiàn)方法存在這樣的情況即監(jiān)聽對(duì)象要在不進(jìn)行鑒別的情況下監(jiān)聽所有的廣播源。當(dāng)火警傳感器廣播它正檢測(cè)火警時(shí)就會(huì)出現(xiàn)這種情況。該傳感器將信息廣播到網(wǎng)絡(luò)上。監(jiān)聽設(shè)備要監(jiān)聽所有可能會(huì)報(bào)告火警的來(lái)源。
一般地說(shuō),通過(guò)允許一個(gè)設(shè)備接收任何設(shè)備(傳感器)的狀態(tài),可以實(shí)現(xiàn)多源監(jiān)聽?wèi)?yīng)用。這一點(diǎn)可通過(guò)將Locking_AddressIV(單元地址IV)置成一廣播地址來(lái)表示。在CEBus應(yīng)用中,將監(jiān)聽鑒別器設(shè)置成特定房屋代碼中的所有Unit_addressIV或者設(shè)置成網(wǎng)絡(luò)上的所有地址。警報(bào)發(fā)出源或區(qū)域地址包括在所述消息中;警報(bào)發(fā)出源或區(qū)域的地址包含在該消息中,這可從包含在消息中的source_address域或狀態(tài)矢量中取出。2通過(guò)Key_Entry和Locking_Address進(jìn)行監(jiān)聽通過(guò)這種方式,lock_key的值會(huì)變成一選擇器的值,該值允許一個(gè)設(shè)備將個(gè)別描述表與對(duì)象區(qū)別開。例如,在時(shí)間描述表中,可在MacroMessage(宏消息)中提供時(shí)間類型標(biāo)識(shí)符??梢詸z驗(yàn)該值是否為所需的時(shí)間類型。如果一個(gè)設(shè)備具有報(bào)告描述表的多個(gè)實(shí)例,該設(shè)備就可在Key_Entry域中包括描述表號(hào)。接收節(jié)點(diǎn)檢查到來(lái)的描述表號(hào)并驗(yàn)證該號(hào)是否為所關(guān)心的號(hào)碼。
<context_ID><object_ID>53 31 F4<size of data><escapetoken>5<Locking_Address>F5<data token><size of data><escapetoken><Key Entry>F5<Argument listmessage>
在監(jiān)聽過(guò)程中,設(shè)備將自身與另一個(gè)設(shè)備相結(jié)合。在監(jiān)聽的這種情況下,一個(gè)設(shè)備可設(shè)置它自己的Locking_AddressIV。Locking_AddressIV可以是只讀的或者是讀/寫的。3通過(guò)Key_Entry進(jìn)行監(jiān)聽還可通過(guò)將Locking_Address置成“00 00 00 00”來(lái)完成監(jiān)聽。在這種情況下,唯一的鑒別器是Key_Entry值。這就允許一個(gè)對(duì)象根據(jù)存取密鑰進(jìn)行鑒別??砂慈缦路绞阶龅竭@一點(diǎn)<context_ID><object_ID>53 31 F5 00 00 00 00 F5<data token><size of data><escape token><Key_Entry>F5<Argument_list>
當(dāng)Locking_Address是只讀的時(shí),所述設(shè)備就以排它的方式設(shè)置它自己的加鎖地址。當(dāng)Locking_Address是讀/寫的時(shí),所述加鎖是松散型的。加鎖設(shè)備不將一locking_pointer放進(jìn)它的加鎖管理器。
<context_ID><object_ID>L1<data token><size of data><escapetoken><Locking_Address>F5 F5<message>
存在某些實(shí)例,在這些實(shí)例中,要有唯一的標(biāo)識(shí)符以便在一個(gè)單個(gè)的設(shè)備中鑒別多個(gè)描述表或?qū)ο?。一個(gè)例子是包含有多個(gè)傳感器的溫度傳感器設(shè)備。應(yīng)將每個(gè)傳感器與相應(yīng)的監(jiān)聽對(duì)象相結(jié)合。這一點(diǎn)是用key_entry方法實(shí)現(xiàn)的。在所說(shuō)的方法中,如果key_entry=空,則不存在鑒別。在將Key_Entry設(shè)置為一定的值時(shí),監(jiān)聽設(shè)備在更新對(duì)象之前需要正確的Key_Entry值。
實(shí)例監(jiān)聽變量具有一類似key_entry號(hào)的鑒別器,它允許用戶來(lái)設(shè)置一鑒別器。在Macro_ID key_entry F5 Listening DATA處發(fā)送所述數(shù)據(jù)和鑒別器。如果未提供Key_entry,則所述鑒別器是網(wǎng)絡(luò)地址。
盡管參照若干實(shí)施例詳細(xì)地說(shuō)明了本發(fā)明,但是,可以看出,根據(jù)對(duì)以上內(nèi)容的閱讀及理解,對(duì)本技術(shù)的專家來(lái)說(shuō),可以有多種上述實(shí)施例的替代形式,后附權(quán)利要求的范圍內(nèi)包括了上述替代形式。
權(quán)利要求
1.一種設(shè)備,該設(shè)備包括(a)用來(lái)和至少一個(gè)由網(wǎng)絡(luò)總線互連起來(lái)的第二設(shè)備進(jìn)行通信從而在上述第一設(shè)備與第二設(shè)備之間建立起關(guān)系的裝置,所述通信裝置能接收來(lái)自第三電子設(shè)備的查詢數(shù)據(jù);(b)第一裝置,它用于存儲(chǔ)與上述關(guān)系的持續(xù)時(shí)間有關(guān)的信息;(c)第二裝置,它用于存儲(chǔ)與用來(lái)終止上述關(guān)系的條件有關(guān)的信息;(d)用于響應(yīng)來(lái)自上述第二設(shè)備的控制數(shù)據(jù)而對(duì)所述設(shè)備的操作模式進(jìn)行控制的裝置,所述控制裝置能處理上述關(guān)系信息和查詢數(shù)據(jù)并且能響應(yīng)所述終止條件和查詢數(shù)據(jù)之一而終止上述關(guān)系。
2.如權(quán)利要求1的消費(fèi)者電子設(shè)備,其特征在于,所述關(guān)系信息包括第一種狀態(tài)和第二種狀態(tài)中的一種,在上述第一種狀態(tài)中,響應(yīng)所述查詢數(shù)據(jù)而終止所說(shuō)的關(guān)系,在上述第二種狀態(tài)中,不論所說(shuō)的查詢數(shù)據(jù)如何都仍維持上述關(guān)系。
3.如權(quán)利要求2的消費(fèi)者電子設(shè)備,其特征在于,響應(yīng)所述查詢數(shù)據(jù)而終止所說(shuō)的關(guān)系包括在上述消費(fèi)者電子設(shè)備與第三設(shè)備之間形成一種新關(guān)系。
4.如權(quán)利要求3的消費(fèi)者電子設(shè)備,其特征在于,所述控制裝置能響應(yīng)對(duì)所述查詢數(shù)據(jù)的接收而詢問(wèn)上述第二設(shè)備以獲得對(duì)終止所述關(guān)系的許可。
5.如權(quán)利要求4的消費(fèi)者電子設(shè)備,其特征在于,所述控制裝置還能監(jiān)視前述第二設(shè)備的狀態(tài)。
6.如權(quán)利要求5的消費(fèi)者電子設(shè)備,其特征在于,所述控制裝置還能使上述第二設(shè)備改變包含在所述消費(fèi)者電子設(shè)備中的信息。
7.如權(quán)利要求1的消費(fèi)者電子設(shè)備,其特征在于,所述預(yù)定條件涉及到前述消費(fèi)者電子設(shè)備與第二設(shè)備之間的關(guān)系以及所述設(shè)備的內(nèi)部條件這兩者中的一個(gè)。
8.一種設(shè)備,該設(shè)備包括(a)用來(lái)和至少一個(gè)由網(wǎng)絡(luò)總線互連起來(lái)的第二設(shè)備進(jìn)行通信從而在上述第一設(shè)備與第二設(shè)備之間建立起關(guān)系的裝置,所述通信裝置能接收來(lái)自第三電子設(shè)備的查詢數(shù)據(jù);(b)第一裝置,它用于存儲(chǔ)與上述關(guān)系的持續(xù)時(shí)間有關(guān)的信息,其中,所說(shuō)的關(guān)系信息包括第一種狀態(tài)和第二種狀態(tài)中的一種,在上述第一種狀態(tài)中,響應(yīng)所述查詢數(shù)據(jù)而終止所說(shuō)的關(guān)系,在上述第二種狀態(tài)中,無(wú)論上述查詢數(shù)據(jù)如何都仍維持上述關(guān)系;(c)第二裝置,它用于存儲(chǔ)與用來(lái)終止上述關(guān)系的條件有關(guān)的信息;(d)用于響應(yīng)來(lái)自上述第二設(shè)備的控制數(shù)據(jù)而對(duì)所述設(shè)備的操作模式進(jìn)行控制的裝置,所述控制裝置能處理上述關(guān)系信息和查詢數(shù)據(jù)并且能響應(yīng)所述終止條件和查詢數(shù)據(jù)之一而終止上述關(guān)系。
9.一種帶有通過(guò)網(wǎng)絡(luò)總線而彼此互連起來(lái)的多個(gè)設(shè)備的系統(tǒng),其每個(gè)設(shè)備均包括(a)用來(lái)通過(guò)網(wǎng)絡(luò)總線和至少一個(gè)第二設(shè)備進(jìn)行通信從而在上述第一設(shè)備與第二設(shè)備之間建立起關(guān)系的裝置,所述通信裝置能接收來(lái)自第三電子設(shè)備的查詢數(shù)據(jù);(b)第一裝置,它用于存儲(chǔ)與上述關(guān)系的持續(xù)時(shí)間有關(guān)的信息,其中,所說(shuō)的關(guān)系信息包括第一種狀態(tài)和第二種狀態(tài)中的一種,在上述第一種狀態(tài)中,響應(yīng)所述查詢數(shù)據(jù)而終止所說(shuō)的關(guān)系,在上述第二種狀態(tài)中,無(wú)論所說(shuō)的查詢數(shù)據(jù)如何都仍維持上述關(guān)系;(c)第二裝置,它用于存儲(chǔ)與用來(lái)終止上述關(guān)系的條件有關(guān)的信息;(d)用于響應(yīng)來(lái)自上述第二設(shè)備的控制數(shù)據(jù)而對(duì)所述設(shè)備的操作模式進(jìn)行控制的裝置,所述控制裝置能處理上述關(guān)系信息和查詢數(shù)據(jù)并且能響應(yīng)所述終止條件和查詢數(shù)據(jù)之一而終止上述關(guān)系。
10.一種用于對(duì)連在網(wǎng)絡(luò)總線上的消費(fèi)者電子設(shè)備進(jìn)行控制的方法,該方法包括(a)和至少一個(gè)由網(wǎng)絡(luò)總線互連起來(lái)的第二設(shè)備進(jìn)行通信,從而在上述消費(fèi)者電子設(shè)備與第二設(shè)備之間建立起關(guān)系;(b)對(duì)所述消費(fèi)者電子設(shè)備的操作模式進(jìn)行控制,至少有一種操作模式可由上述網(wǎng)絡(luò)總線上的第二設(shè)備來(lái)控制,從而在上述消費(fèi)者電子設(shè)備與第二設(shè)備之間建立起關(guān)系;(c)存儲(chǔ)與上述關(guān)系的持續(xù)時(shí)間有關(guān)的信息并存儲(chǔ)與用來(lái)終止上述關(guān)系的條件有關(guān)的預(yù)定條件;(d)接收來(lái)自第三設(shè)備的查詢數(shù)據(jù);(e)處理與上述關(guān)系有效性有關(guān)的信息以及查詢數(shù)據(jù);(f)響應(yīng)上述終止條件和查詢數(shù)據(jù)中的一種而終止所述關(guān)系。
11.如權(quán)利要求10的方法,其特征在于,所述終止步驟還包括在上述消費(fèi)者電子設(shè)備與第三設(shè)備之間形成一種新關(guān)系。
12.如權(quán)利要求11的方法,其特征在于,該方法還包括這樣的步驟詢問(wèn)上述第二設(shè)備以獲得對(duì)終止所述關(guān)系的許可。
13.如權(quán)利要求12的方法,其特征在于,該方法還包括這樣的步驟監(jiān)視前述第二設(shè)備的狀態(tài)。
14.如權(quán)利要求13的方法,其特征在于,該方法還包括這樣的步驟使上述第二設(shè)備改變包含在所述消費(fèi)者電子設(shè)備中的信息。
全文摘要
一種帶有控制設(shè)備操作模式的裝置的設(shè)備,它處理接收自第二和第三電子設(shè)備的控制和查詢數(shù)據(jù),以便對(duì)這些設(shè)備間的通信關(guān)系進(jìn)行管理。本發(fā)明涉及到一種系統(tǒng),它用于通過(guò)諸如數(shù)字?jǐn)?shù)據(jù)總線之類的互連裝置在諸如消費(fèi)者電子設(shè)備或類似設(shè)備之類的多個(gè)電子設(shè)備之間進(jìn)行通信。
文檔編號(hào)H04N5/445GK1240548SQ97180666
公開日2000年1月5日 申請(qǐng)日期1997年10月16日 優(yōu)先權(quán)日1996年10月16日
發(fā)明者K·F·霍蘭德 申請(qǐng)人:湯姆森消費(fèi)電子有限公司