專利名稱::多路傳輸復(fù)用器的管理和控制的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及管理和控制寬帶通信硬件的系統(tǒng)、處理、方法、裝置和相關(guān)軟件。更具體地,本發(fā)明涉及對通過寬帶媒體路由器發(fā)送的內(nèi)容流進(jìn)行改進(jìn)的管理和控制。有助于通過多路傳輸復(fù)用器監(jiān)測和配置內(nèi)容流路由的圖形用戶界面領(lǐng)域。因此,本發(fā)明的一般目標(biāo)是提供具有以上特性的新穎的系統(tǒng)、方法、裝置和軟件。
背景技術(shù):
:匯聚視頻、音頻和數(shù)據(jù)的寬帶媒體在近幾年已經(jīng)建立了一個不同標(biāo)準(zhǔn)和傳統(tǒng)通信技術(shù)的無序環(huán)境。但是,需要在寬帶硬件、其控制系統(tǒng)和其操作員之間運(yùn)用該系統(tǒng)中的物理和邏輯資源之間的關(guān)系,并使這種關(guān)系在三者之間建立聯(lián)系。這在過去是使用復(fù)合的專用管理與控制計算機(jī)來完成,其中每個計算機(jī)負(fù)責(zé)管理通信硬件的一個特定段。現(xiàn)在的通信硬件人員(諸如電纜操作員和電視節(jié)目編排者)在過去已經(jīng)使用了這樣的系統(tǒng),而這樣的系統(tǒng)要使用大量的不同的設(shè)備來控制系統(tǒng)。這些控制系統(tǒng)的中心互相臨近并且接近正在管理中的通信硬件。由于這些或者其它的原因,用于滿足寬帶通信硬件的控制與管理需要的常規(guī)解決方法已經(jīng)被證明是麻煩、不夠靈活、無效的,而且對于購買和操作來說都價格不菲。傳統(tǒng)寬帶通信硬件的其它問題在于它們不能夠向操作員方便地提供關(guān)于系統(tǒng)硬件和軟件的信息。這會在這種設(shè)備的工作中造成的低效率。例如,因為系統(tǒng)操作員必須物理地檢查寬帶通信硬件以確定所使用的系統(tǒng)和操作狀態(tài),所以對系統(tǒng)錯誤進(jìn)行故障診斷在當(dāng)前來說是困難而昂貴的處理過程。具體地說,對系統(tǒng)難點(diǎn)進(jìn)行故障診斷可能需要操作員檢查通信硬件的齒條(rack)以確定是否所有的通信硬件都插入、接通、連接到內(nèi)容流的源和/或以特殊方式進(jìn)行操作。因此,本領(lǐng)域中需要使通信硬件人員(諸如電纜操作員和電視節(jié)目編制者)能夠通過單獨(dú)的計算機(jī)管理和控制完整的寬帶媒體路由系統(tǒng)的新方法、系統(tǒng)和裝置。這樣的方法和裝置應(yīng)該能夠通過網(wǎng)絡(luò)遠(yuǎn)程地監(jiān)測和控制這樣的系統(tǒng)。理想地,將通過基于java的系統(tǒng)來實現(xiàn)控制,所述的基于iava的系統(tǒng)可以在設(shè)置階段使用瀏覽器上載到遠(yuǎn)程個人計算機(jī)并隨后在遠(yuǎn)程計算機(jī)上作為java程序運(yùn)行。為了以最小的成本提供最具靈活性的系統(tǒng),這樣的系統(tǒng)將使用公用瀏覽器和可以被廣泛識別的通信協(xié)議(諸如SNMP)通過網(wǎng)絡(luò)進(jìn)行通信。本領(lǐng)域中還需要能夠向操作員提供關(guān)于系統(tǒng)硬件和軟件信息的新方法、系統(tǒng)和裝置。這樣的方法和裝置有助于對系統(tǒng)錯誤進(jìn)行故障診斷,而無需對寬帶通信硬件進(jìn)行物理上的檢查以檢測出系統(tǒng)硬件使用及其操作狀態(tài)。事實上,這樣的管理與控制通信硬件的方法和裝置應(yīng)該能夠在寬帶媒體路由器上提供很高的穩(wěn)定控制,從而可以最大程度地減少這樣的故障診斷(如果不能完全消除的話)。
發(fā)明內(nèi)容本發(fā)明通過提供使通信硬件人員(諸如電纜操作員和電視節(jié)目編制者)能夠通過單獨(dú)的計算機(jī)管理和控制完整的寬帶媒體路由系統(tǒng)的方法、系統(tǒng)和裝置,從而滿足了上述需要并且克服了相關(guān)技術(shù)的上述和其它不足。根據(jù)本發(fā)明的這樣的方法和裝置能夠通過柱入以太網(wǎng)的通信網(wǎng)絡(luò)遠(yuǎn)程地監(jiān)測和控制這樣的系統(tǒng)。優(yōu)選地,將通過基于java的系統(tǒng)來實現(xiàn)對寬帶媒體路由器的管理,所述的基于java的系統(tǒng)可以在設(shè)置階段通過網(wǎng)絡(luò)上載到遠(yuǎn)程個人計算機(jī)并隨后在遠(yuǎn)程計算機(jī)上運(yùn)行,從而對硬件進(jìn)行遠(yuǎn)程管理。為了以最小的成本提供最具靈活性的系統(tǒng),本發(fā)明將根據(jù)魯棒的、靈活的并且可以被廣泛識別的通信協(xié)議(諸如SNMP)通過網(wǎng)絡(luò)進(jìn)行通信。本發(fā)明另外的方面提供了對正常系統(tǒng)操作的某些方面(例如開啟端口)進(jìn)行控制的特別穩(wěn)定的方法,由此最大程度減少系統(tǒng)的故障和故障診斷(如果不能完全消除系統(tǒng)的不穩(wěn)定性)。本發(fā)明可以通過實施穩(wěn)定硬件啟動和禁止程序來實現(xiàn)該結(jié)果。在系統(tǒng)由于某些原因而發(fā)生故障的情況下,本發(fā)明有助于對系統(tǒng)錯誤進(jìn)行故障診斷,而無需對所管理的硬件進(jìn)行物理上的檢查以識別不同的硬件使用并確定其連接性以及每個部件的操作狀態(tài)。可以通過使用由信息檢索通過網(wǎng)絡(luò)啟動的系統(tǒng)硬件和軟件標(biāo)識、配置和狀態(tài)查看性能來獲得這項優(yōu)點(diǎn)。本發(fā)明同時提供記錄消息的大規(guī)模陣列的功能,其進(jìn)一步有利于系統(tǒng)故障診斷和監(jiān)測。當(dāng)然,本發(fā)明的上述方法尤其適用于與本發(fā)明的上述裝置一同使用。同樣地,本發(fā)明的裝置也適用于進(jìn)行上述的本發(fā)明的方法。根據(jù)下面對優(yōu)選實施例的詳細(xì)描述,根據(jù)權(quán)利要求以及根據(jù)附圖,本發(fā)明的許多其它優(yōu)點(diǎn)和功能對于本領(lǐng)域普通技術(shù)人員來說將會是顯而易見的。下文中將結(jié)合附圖描述本發(fā)明的優(yōu)選實施例,其中類似的數(shù)字表示相似的元素,其中圖1a示出了根據(jù)本發(fā)明的一個優(yōu)選實施例的多路傳輸復(fù)用器的硬件結(jié)構(gòu);圖1b示出了圖1a的多路傳輸復(fù)用器的固件主處理器結(jié)構(gòu)的優(yōu)選形式;圖2示出了圖1的多路傳輸復(fù)用器的系統(tǒng)初始化和資源發(fā)現(xiàn)處理,該處理是根據(jù)本發(fā)明的一個優(yōu)選實施例的;圖3示出了根據(jù)本發(fā)明的一個優(yōu)選實施例的不同硬件屬性查看性能;圖4示出了根據(jù)本發(fā)明的一個優(yōu)選實施例的系統(tǒng)屬性查看性能;圖5示出了根據(jù)本發(fā)明的一個優(yōu)選實施例、使處理能夠進(jìn)行的不同輸出端口;圖6示出了根據(jù)本發(fā)明的一個優(yōu)選實施例的現(xiàn)有視頻和/或音頻流路由事件的詳細(xì)指定;圖7示出了根據(jù)本發(fā)明的一個優(yōu)選實施例的不同系統(tǒng)帶寬利用查看性能;圖8示出了根據(jù)本發(fā)明的一個優(yōu)選實施例的某種事件記錄和查看性能以及處理過程;圖9示出了根據(jù)本發(fā)明的一個優(yōu)選實施例的未來內(nèi)容流路由事件的詳細(xì)指定;圖10示出了根據(jù)本發(fā)明的一個優(yōu)選實施例的不同IP數(shù)據(jù)封裝和插入性能;圖11是更詳細(xì)地說明圖10的IP數(shù)據(jù)封裝和插入性能的詳細(xì)流程圖。具體實施例方式隨后的詳細(xì)說明書僅僅是提供優(yōu)選的示范實施例,而并不是想限制本發(fā)明的范圍、適用性或配置。相反,隨后的對優(yōu)選示范實施例的詳細(xì)說明將向本領(lǐng)域技術(shù)人員提供一個能夠?qū)嵤┍景l(fā)明的優(yōu)選的示范實施例的說明。應(yīng)該可以理解,在不背離如所附權(quán)利要求所闡述的本發(fā)明的精神和范圍的前提下,可以在各部件的功能結(jié)構(gòu)上對本發(fā)明做出各種不同的修改。如圖1a和1b所示,TMX20包括多個硬件、固件和軟件部件。圖1a是根據(jù)本發(fā)明一個優(yōu)選實施例的多路傳輸復(fù)用器(TMX)20的硬件結(jié)構(gòu)示意圖。如圖所示,例如,多路傳輸復(fù)用器可包括計算機(jī)22’(具有單元管理器22和GUI80),其通過網(wǎng)絡(luò)24通信連接到TMX框架42。TMX框架42優(yōu)選地包括主處理器板40’(優(yōu)選地具有VxWorks操作系統(tǒng))、輸入處理器板50’、輸出處理器板55’、多路復(fù)用器板60’和代碼轉(zhuǎn)換板70’。這些部件優(yōu)選地(但不一定非要)通過單一的TMX框架42相互通信連接。該優(yōu)選的TMX框架硬件的基本物理模型如下TMX框架是一個裝載板的器具,每個板又都是一個裝載端口和處理器的器具,每個處理器都是裝載固件的器具,每個端口則是裝載協(xié)議體系(諸如DS3、MPEG、TCP/IP等)的器具。該框架以及每個板都具有一組狀態(tài)和與之相關(guān)的狀態(tài)變量。其包括1)管理狀態(tài),用于同步多路管理器的配置訪問;2)操作狀態(tài),用于指示TMX(或其部件)是否處于完全啟動和操作狀態(tài);和3)提示狀態(tài),用于通過TMX或其部件發(fā)信號通知不同的提示條件。如下面所詳細(xì)描述的,主處理器40控制TMX20的不同的硬件和軟件部件,并根據(jù)SNMP儲存MIB表數(shù)據(jù),以供TMX的其它的不同部件和單元管理器使用。多路傳輸復(fù)用器20適合于很多不同的應(yīng)用環(huán)境,包括(1)電纜頭端;(2)衛(wèi)星上行鏈路;和(3)陸地廣播。根據(jù)修改的簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)優(yōu)選地進(jìn)行單元管理器22和TMX框架42之間的通信,并且將要通過多路傳輸復(fù)用器20發(fā)送的內(nèi)容流是優(yōu)選地根據(jù)公知的MPEG標(biāo)準(zhǔn)之一的。更優(yōu)選地,內(nèi)容流是MPEG2數(shù)據(jù)流。盡管本發(fā)明的某些優(yōu)選實施例使用根據(jù)公知SNMP標(biāo)準(zhǔn)的某些常規(guī)MIB表,這里所引用的MIB中的許多都包括新的數(shù)據(jù)結(jié)構(gòu)。這些數(shù)據(jù)結(jié)構(gòu)在計算機(jī)程序列表中被充分地定義,所述計算機(jī)程序列表將在本說明書的末尾給出。因此,根據(jù)這里所包含的說明,本領(lǐng)域普通技術(shù)人員將更加詳盡地理解那些新數(shù)據(jù)結(jié)構(gòu)的性質(zhì)和功能。前面提及的2002年4月16日提交、題為“HighSpeedSerialDataTransportBetweenCommunicationsHardwareModules(通信硬件模塊間的高速串行數(shù)據(jù)傳輸)”的共同未決的美國專利申請_/_,_中提供了對TMX20的硬件部件的更為詳細(xì)的說明,在這里通過引用將其結(jié)合進(jìn)來。因此,沒有必要對這些硬件部件做進(jìn)一步地詳細(xì)討論,通過參考這些結(jié)合進(jìn)來的申請可以完全地理解這些部件。需要利用系統(tǒng)中物理和邏輯資源之間的關(guān)系,并使該關(guān)系在TMX框架42、單元管理器22和人類操作員10之間進(jìn)行通信連接(例如圖2)。這通常是通過對系統(tǒng)的不同硬件部件進(jìn)行建模而獲得的。TMX建模單元通過使用標(biāo)準(zhǔn)“MIB2”接口表(ifTable)被集成到SNMP管理信息庫(MIB)中,從而將每一個建模單元表示為具有如下所指定的特定擴(kuò)展的接口。這允許任意板和/或端口通過其表指針(ifTable中的ifindex)進(jìn)行標(biāo)識。繼續(xù)參看圖1a,單元管理器22優(yōu)選地通過以太網(wǎng)連接到TMX框架42。本領(lǐng)域技術(shù)人員可以認(rèn)識到,另外也可以使用其它的網(wǎng)絡(luò)技術(shù)。單元管理器22可以作為java應(yīng)用程序通過使用瀏覽器從TMX42上載到遠(yuǎn)程計算機(jī),在初始建立階段,該遠(yuǎn)程計算機(jī)優(yōu)選地與多路傳輸復(fù)用器通過網(wǎng)絡(luò)24通信連接。隨后,單元管理器22可以在遠(yuǎn)程計算機(jī)上作為java程序運(yùn)行。該遠(yuǎn)程計算機(jī)優(yōu)選地是具有常規(guī)操作系統(tǒng)和瀏覽器的常規(guī)個人電腦,該系統(tǒng)允許在安裝單元管理器22之后在TMX框架42上進(jìn)行控制。優(yōu)選地,將圖形用戶界面結(jié)合到單元管理器22中,以下將對其做詳細(xì)地描述。優(yōu)選地,在常規(guī)個人電腦的顯示器(例如LCD屏幕或CRT顯示器)上向操作員呈現(xiàn)GUI。根據(jù)這里所包含的公開的內(nèi)容,本領(lǐng)域普通技術(shù)人員將很容易想到用于掌管和操作圖形用戶界面和單元管理器22的多種不同的其它軟件和硬件組件。圖1b圖示說明了TMX20的不同的固件和軟件部件52-69,其如圖所示地相互通信連接。這些組件包括SNMP代理44、消息控制器45和故障管理器59。TMX20進(jìn)一步包括資源管理器52、配置管理器46、PAT/PMT集模塊54、PSIP集模塊57、輸入模塊50、IP封裝模塊66、時間表管理器67和大量的DSPAPI。這些包括多路復(fù)用器處理60、代碼轉(zhuǎn)換處理62和量化級處理64。在本優(yōu)選實施例的這些固件模塊和某些硬件部件之間存在著一一對應(yīng)的關(guān)系??梢栽趫D1a中找到相應(yīng)的硬件部件,其包括輸入處理板50’、多路復(fù)用器板60’(具有多路復(fù)用處理器60和量化級處理器61)、代碼轉(zhuǎn)換板70’(具有5個代碼轉(zhuǎn)換處理器或3個代碼轉(zhuǎn)換處理器、1個多路復(fù)用處理器和1個QLP71’)。因此,當(dāng)配置管理器在固件模塊上進(jìn)行操作時,也將影響相應(yīng)的硬件模塊。TMX框架42內(nèi)的不同部件之間的信息和命令流通常如在圖1a和1b中通過使用箭頭所指示的那樣。更具體的說,來自單元管理器22的命令和信息流通過了SNMP代理44,其將來自單元管理器22的SNMP協(xié)議命令轉(zhuǎn)換成常規(guī)形式,以使它們能夠被TMX20的其它不同部件所理解。優(yōu)選的常規(guī)通信協(xié)議時簡單的協(xié)議,其中,將大量指示性請求或命令隨同相關(guān)的數(shù)據(jù)結(jié)構(gòu)一同傳遞,用于根據(jù)相關(guān)的命令接收將要使用的數(shù)據(jù)。因此,SNMP代理44通常用作為單元管理器22和主處理器固件之間的中間代理。SNMP代理44允許在諸如修飾(grooming)、拼接、數(shù)據(jù)插入等的固件功能上進(jìn)行基于SNMP的管理,并進(jìn)行控制,這是因為它向接口提供了不同的固件模塊(諸如輸入處理任務(wù)50、多路復(fù)用器處理60、代碼轉(zhuǎn)換處理62和量化級處理64),這些不同的固件模塊基本上提供了所需的功能。配置管理器46通過MIB消息控制器45從SNMP代理44接收命令和信息并且確定怎樣利用硬件和其它固件在板卡級執(zhí)行那些命令。參看圖2到圖9以及說明書后續(xù)部分對于這些圖的相應(yīng)詳細(xì)描述,將獲得對于TMX20的不同其它部件的詳細(xì)理解。圖2到圖11圖示說明了多路傳輸復(fù)用器20的九個主要的操作方面。這九個操作方面包括(1)初始化并發(fā)現(xiàn)系統(tǒng)資源100;(2)查看系統(tǒng)硬件屬性134;(3)查看系統(tǒng)軟件屬性156;(4)開啟輸出端口166;(5)詳細(xì)指定現(xiàn)有視頻和/或音頻路由事件;(6)查看帶寬利用206;(7)查看記錄活動性222;(8)詳細(xì)指定未來路由事件238;和(9)IP數(shù)據(jù)封裝和插入260。下面將立即開始詳細(xì)討論本發(fā)明的這些方面。參看圖2,圖示說明了圖1的寬帶多路復(fù)用器的系統(tǒng)初始化和資源發(fā)現(xiàn)的處理過程,該過程是根據(jù)本發(fā)明的一個優(yōu)選實施例的。如所示,通過對TMX框架42上電101來初始化和發(fā)現(xiàn)本發(fā)明的系統(tǒng)開始,由此資源管理器52將進(jìn)行硬件和系統(tǒng)軟件信息的發(fā)現(xiàn)(102)。因此,TMX框架42將在104執(zhí)行大量的功能以識別安裝在TMX框架42中的系統(tǒng)部件。MIB消息控制器45也是在102給合適的MIB(ifTable和ifStack)組裝信息,SNMP代理44在106等待查詢。完成這些任務(wù)之后,TMX框架42將根據(jù)操作員通過單元管理器22提供給TMX框架42的驅(qū)動命令而準(zhǔn)備執(zhí)行不同的活動。這里,操作員10可以開啟單元管理器22,作為對此操作的響應(yīng),單元管理器將在104顯示圖形用戶界面80,示出用于查看的空目錄結(jié)構(gòu)查看屏幕81??漳夸浗Y(jié)構(gòu)查看屏幕81包括輸入目錄結(jié)構(gòu)窗口82、輸出目錄結(jié)構(gòu)窗口82’和記錄消息窗口87。單元管理器22在108自動地讀取合適的MIB已發(fā)現(xiàn)目前安裝在TMX20中的硬件。這包括系統(tǒng)硬件屬性數(shù)據(jù),諸如端口數(shù)據(jù)和/或物理結(jié)構(gòu)。本發(fā)明的優(yōu)選實施例支持幾種類型的端口(例如ASI、DHEI、SMPTE310、DS3)。不同端口參數(shù)的數(shù)據(jù)將由ifentryMIB表描述/定義。單元管理器22在110將合適的DSP代碼下載到IdentxTableMIB。TMX框架42的SNMP代理44在112創(chuàng)建新MIB條目,消息控制器45將該信息傳遞到配置管理器46以進(jìn)行實現(xiàn)。這里,單元管理器22在114請求PAT數(shù)據(jù)。這個請求將由TMX在116進(jìn)行處理。單元管理器22在120解析PAT,以使合適的PMT能夠被識別。這些是在122所請求的,這個請求將由TMX在124進(jìn)行處理。產(chǎn)生了請求信息之后,SNMP代理44將在126進(jìn)一步等待查詢。這個數(shù)據(jù)隨后被單元管理器22在128讀取,并且更新圖形用戶界面80。具體地說,請求的數(shù)據(jù)被用于在目錄結(jié)構(gòu)查看屏幕81上組裝系統(tǒng)硬件圖標(biāo)84和84’以及(優(yōu)選地有助記憶的)硬件名稱83和83’,這些信息是通用PSIP集模塊57從數(shù)據(jù)流本身中提取的。因此,操作員10將看到系統(tǒng)硬件部件的可視顯示。從TMX框架42接收系統(tǒng)硬件屬性數(shù)據(jù)之后,單元管理器22將繼續(xù)重現(xiàn)和顯示可能在130產(chǎn)生的記錄消息。這是在132通過故障管理器59和SNMP代理44的幫助完成的。因此,一旦記錄查詢開始,單元管理器22就會在132在圖形用戶界面80上顯示端口和記錄數(shù)據(jù),其中將更新目錄結(jié)構(gòu)查看屏幕以在記錄消息窗口87中顯示輸入端口85、輸出端口85’和記錄消息88。如所示,輸入和輸出端口85和85’優(yōu)選地具有相關(guān)的有助記憶的字母數(shù)字標(biāo)識符。這些端口同時也優(yōu)選地是彩色的代碼,可以顯示端口是否處于活動狀態(tài)。再次觀看到新完成的目錄結(jié)構(gòu)查看屏幕81之后,操作員10可以啟動不同的活動,如下參照圖3到10所述。例如,這些活動可包括查看系統(tǒng)硬件屬性134、查看系統(tǒng)軟件屬性156、開啟輸出端口166、詳細(xì)指定現(xiàn)有視頻和/或音頻路由事件184、查看帶寬利用206、查看記錄活動222、詳細(xì)指定未來路由事件238以及IP數(shù)據(jù)封裝和插入事件260。操作員也可進(jìn)行其它不同的相關(guān)活動,對于本領(lǐng)域普通技術(shù)人員來說,根據(jù)這里所包含的公開內(nèi)容將很容易推出這一點(diǎn)?,F(xiàn)在看圖3,此示說明了根據(jù)本發(fā)明的一個優(yōu)選實施例的不同系統(tǒng)硬件屬性的查看處理過程134。圖3所示的硬件處理是由操作員10根據(jù)從目錄結(jié)構(gòu)查看屏幕81頂部的目錄條目中選擇框架查看屏幕而發(fā)起的。此操作可以通過選擇“查看”屏幕頂部的目錄條目并選擇框架查看選項而完成。可用的硬件查看選項包括“前框架查看”和“后框架查看”以及“系統(tǒng)信息”。根據(jù)在圖形用戶界面上對框架查看選項之一的選擇,單元管理器22在TMX框架的協(xié)助下從合適的MIB收集請求的硬件信息(136)。如138所示,這個MIB數(shù)據(jù)是由TMX框架42提供的,隨后,單元管理器22將會在框架查看屏幕89和90之一上顯示信息。繼續(xù)參看圖3,可以看到圖形用戶界面80使用了接收到的硬件和狀態(tài)數(shù)據(jù)來顯示系統(tǒng)硬件屬性,具體地說就是框架查看屏幕89和90,如操作員10所最初請求的一樣。前框架查看屏89包括不同的圖形對象,用于指示在TMX框架42內(nèi)接收到的不同板卡的標(biāo)識、物理結(jié)構(gòu)、配置以及狀態(tài)。在此說明性實例中,這些板卡包括CPU卡40”、多路復(fù)用器卡60”、第一輸入處理器卡50”和第二輸入處理器卡50。盡管也可以在前框架查看屏89的記錄消息窗口87內(nèi)接收記錄消息,但是在本說明性實例中不會產(chǎn)生記錄消息。操作員10也可以選擇后框架查看屏90來替換前框架查看屏89。在該說明性實例中,后框架查看屏90包括不同的圖形對象,用于指示在TMX框架42內(nèi)接收到的不同板卡的后部的標(biāo)識、物理結(jié)構(gòu)、配置以及狀態(tài),可以參考上述有關(guān)前框架查看的討論??梢赃x擇將記錄消息顯示在后框架查看屏90的記錄消息窗口87中。本發(fā)明的這個方面允許操作員10輕易地選擇并隨后以上述討論的方式查看系統(tǒng)硬件屬性。由于允許操作員10通過多路傳輸復(fù)用器20對難點(diǎn)進(jìn)行故障檢修,而不必物理上訪問通信硬件本身,所以本發(fā)明的這個功能特別有利。在139示出了本發(fā)明的優(yōu)選的連續(xù)硬件狀態(tài)查詢的功能。具體地說,通過重復(fù)執(zhí)行框140-146的功能,以一定的間隔更新在框架查看屏幕中提供的LED狀態(tài)信息?,F(xiàn)在參看圖4,本圖說明了根據(jù)本發(fā)明的一個優(yōu)選實施例的系統(tǒng)屬性查看處理過程和性能156。如其中所示,當(dāng)TMX執(zhí)行158所示的功能時,系統(tǒng)屬性(諸如板類型、DSP屬性、軟件版本等)的查看就可以開始其初始的系統(tǒng)發(fā)現(xiàn)處理。因此,該信息可很容易用于顯示,SNMP代理44在160等待這樣的查詢。操作員10在目錄結(jié)構(gòu)查看屏幕81的頂部選擇了版本查看目錄選項之后,單元管理器22將會在162收集請求的信息并將在系統(tǒng)屬性屏幕91中將其顯示出來。隨后可以如操作員所需地將數(shù)據(jù)顯示出來。如圖4和下面的表1所示,顯示在屏幕91上的系統(tǒng)屬性數(shù)據(jù)優(yōu)選地包括板和運(yùn)行在每個框架槽上的軟件的如下數(shù)據(jù)域在圖4的說明性實施例中,TMX框架42是一個在框架的每半個部分都具有五個板槽的中平面TMX框架。因此,這個說明性實例一共包括十個槽(每半平面各有五個槽)。在引用結(jié)合進(jìn)來的發(fā)明申請中包括了對TMX框架42的結(jié)構(gòu)和操作的詳細(xì)描述,對于本領(lǐng)域技術(shù)人員來說,根據(jù)這里所包括的公開內(nèi)容將很容易推出各種不同的變種裝置。如圖3和4所示,本系統(tǒng)的優(yōu)選實施例包括具有系統(tǒng)信息表的GUI,通過這個GUI操作員可以訪問有關(guān)系統(tǒng)的信息,諸如系統(tǒng)名稱、系統(tǒng)說明、系統(tǒng)正常工作時間和系統(tǒng)位置。本發(fā)明的這個功能的操作方式通常類似于圖4示出的并在上面剛剛描述過的查看軟件版本功能。圖5圖示說明了本劇本發(fā)明的一個優(yōu)選實施例的不同輸出端口啟動性能。如所示,操作員10選擇將要開啟的特定端口之后,就可以發(fā)起輸出端口啟動。在選擇了端口之后,單元管理器22將在168顯示傳輸編輯器92的缺省值。操作員10隨后可以顯示缺省數(shù)據(jù),如果需要還會編輯數(shù)據(jù),諸如可以把狀態(tài)從禁止變?yōu)閱?。例如,操作員通常將啟動傳輸流,命名該流,并為所選擇的端口分配信息傳輸碼率。在選擇“OK”按鈕之后,將關(guān)閉傳輸編輯器,單元管理器22收集來自編輯器的傳輸信息并將其放置在合適的MIB表中(參見170)。TMX框架也會使用該信息來執(zhí)行啟動請求,如172所示。根據(jù)不同端口類型的變化的信息要求,MIB表可以是這兩種類型之一TMXiftable(用于大多數(shù)端口)或者TMXgiexttable(用于DS3端口)。此外,單元管理器22在174創(chuàng)建一個PAT,該P(yáng)AT由TMX輸出,如176所示。最后,單元管理器將更新GUI的目錄結(jié)構(gòu)查看屏81,如178所示。圖形用戶界面80通過改變目錄結(jié)構(gòu)查看屏81中的端口圖標(biāo)的屬性,指示了所需端口的成功開啟。這優(yōu)選地是通過改變端口圖標(biāo)的顏色而實現(xiàn)的,當(dāng)然,本領(lǐng)域普通技術(shù)人員將很容易想到以其它的方式(諸如改變形狀、運(yùn)動、位置、尺寸、聲音等等)實現(xiàn)。因此,操作員10可以通過觀看最新更新過的圖形用戶界面80,可視地確認(rèn)端口開啟已經(jīng)成功地完成。圖6圖示說明了根據(jù)本發(fā)明的一個優(yōu)選實施例的不同的系統(tǒng)輔助的視頻和/或音頻路由性能。如下面更為詳細(xì)地描述,本發(fā)明使操作員10能夠手動或半自動地定義并執(zhí)行內(nèi)容流路由。具體地說,本發(fā)明的優(yōu)選實施例給操作員提供了一個字母接一個字母地手動輸入路由數(shù)據(jù)的能力,或者拖放圖形對象到目錄結(jié)構(gòu)查看屏81的不同位置、從目錄結(jié)構(gòu)查看屏81的不同位置拖放圖形對象。單元管理器22與圖形用戶界面80合作執(zhí)行由相應(yīng)的拖放操作所指定的不同路由規(guī)范命令。這可以通過對應(yīng)于需要定義路由命令的不同實際域的MIB表的自動組裝而實現(xiàn)。圖形用戶界面80上的拖放操作幫助操作員10為系統(tǒng)定義視頻、音頻和/或IP數(shù)據(jù)路由事件。因此以這種方式定義路由規(guī)范就是半自動的。圖形用戶界面上的拖放操作可用于進(jìn)行不同的相關(guān)內(nèi)容流路由功能。這些功能包括將與輸入目錄結(jié)構(gòu)不同的層次拖到輸出目錄結(jié)構(gòu)中。例如,操作員可以拖動(1)整個輸入端口的內(nèi)容流(可能包括多個程序,其中每個都可能包括多個部件);(2)輸入端口到輸出端口的完整程序;(3)從輸入端口到輸出端口程序的完整程序;和(4)從輸入端口到輸出端口的部件。根據(jù)這里所包含的公開內(nèi)容,本領(lǐng)域普通技術(shù)人員將很容易地想到大量的其它拖放部件。但是,應(yīng)該注意到,本說明書的這個部分具體地對目前出現(xiàn)的內(nèi)容流路由進(jìn)行尋址。然而,本發(fā)明也展望了將要在未來時間里自動執(zhí)行的內(nèi)容流路由的配置(例如參看圖9)。如下面更詳細(xì)地描述,下面緊接著要描述的內(nèi)容流處理過程(適用于執(zhí)行現(xiàn)有路由命令)是與用于執(zhí)行未來路由事件的路由操作協(xié)調(diào)一致的,并且構(gòu)成了用于執(zhí)行未來路由事件的路由操作的一部分。主要參看圖6,操作員10可以通過選擇表示一個或多個將要發(fā)送到所需位置(例如輸出端口)的內(nèi)容流的圖形對象,詳細(xì)指定一個或多個現(xiàn)有路由事件。內(nèi)容流可以是簡單的或者可以包含多個部件,這些部件可以或不可以以一個或多種方式相互相關(guān)。例如,對象可以表示單一的部件內(nèi)容流、共同組成一個程序的多個內(nèi)容流或者在整個輸入端口上共同組成數(shù)據(jù)流的多個內(nèi)容流。在下面緊接著討論的說明性實例中,操作員10將用于整個端口的內(nèi)容流從輸入目錄結(jié)構(gòu)拖動到輸出目錄結(jié)構(gòu)中,并且繼續(xù)編輯來自端口的一個程序中的視頻和音頻部件。優(yōu)選地,是通過對一個或多個圖形對象從目錄結(jié)構(gòu)查看屏81的輸入端口窗口82到輸出端口窗口82’進(jìn)行拖放操作而完成根據(jù)本發(fā)明的協(xié)助路由的。這項操作具有獲取與所選數(shù)據(jù)流的源相對應(yīng)的配置數(shù)據(jù)的效果,如186所示。例如,拖放所需圖形對象使得單元管理器22能夠自動獲取所需路由事件的相應(yīng)的配置數(shù)據(jù),諸如輸入端口數(shù)量和位置、輸出端口數(shù)量和位置、將要發(fā)送的內(nèi)容流PID和將要發(fā)送的內(nèi)容流的碼率。此外,有關(guān)目標(biāo)輸出端口的信息(根據(jù)對象被放在哪里而決定)也將由單元管理器22獲取,例如,該信息包括目標(biāo)輸出端口的位置。該信息使單元管理器22能夠在186創(chuàng)建缺省設(shè)置并自動進(jìn)行PID混疊,從而使得在通過多路傳輸復(fù)用器20發(fā)送不同流時不存在任何數(shù)據(jù)流沖突。然后,單元管理器22顯示出拖放編輯器93和94,如188所示。操作員隨后可以選擇特定的部件進(jìn)行編輯,并且在192,單元管理器22接收這個選擇并顯示部件編輯器(用于視頻流的95和用于音頻流的95’)的缺省信息,用于可能進(jìn)行的編輯。如果部件編輯器95中所示的缺省數(shù)據(jù)對于操作員是可接受的話,就可以選擇“OK”按鈕以通知單元管理器可以進(jìn)行后續(xù)的操作。具體地說,關(guān)閉部件編輯窗口將會使得單元管理器22收集來自GUI的信息并請求創(chuàng)建不同的MIB表條目,如194所示。TMX在196根據(jù)更新的MIB執(zhí)行路由事件,而在198,由單元管理器22適當(dāng)?shù)馗翯UI。在操作員看來,通過把圖標(biāo)從輸入目錄結(jié)構(gòu)拖放到輸出目錄結(jié)構(gòu)已經(jīng)詳細(xì)指定并簡單進(jìn)行了路由。事實上,通過如下所詳述的系統(tǒng)的幫助已經(jīng)詳細(xì)指定了不同的路由參數(shù)。如果操作員10希望修改缺省的和/或獲取的數(shù)據(jù)的話,操作員10就具有為內(nèi)容流包含的每個部件詳細(xì)編輯信息的能力。在示出的實例中,操作員10選擇了編輯器窗口93中所示的程序1(一般地,操作員將選擇某些類型的圖形對象,諸如圖標(biāo)或其相關(guān)的文本),接著顯示詳細(xì)編輯器窗口94,該窗口中示出了所選程序的組成部件。在圖6的例子中,通過編輯選擇了程序1,其包括一個視頻部件和一個音頻部件。圖形用戶界面80優(yōu)選地具有通過使用不同屏幕上的不同圖形對象來識別內(nèi)容流的能力,所述不同圖形對象包括圖標(biāo)、字母數(shù)字字符串、實際程序名等。內(nèi)容流標(biāo)識數(shù)據(jù)優(yōu)選地是攜帶在媒體流內(nèi)的,這樣,不管呈現(xiàn)在操作員10面前的是哪個查看屏幕,內(nèi)容流標(biāo)識數(shù)據(jù)都可以在整個圖形用戶界面中始終被顯示。這里要重申,圖形用戶界面80優(yōu)選地呈現(xiàn)一致的內(nèi)容流名稱或符號,并且可以貫穿整個界面過程顯示。繼續(xù)參看圖6,對窗口94的“OK”按鈕的選擇將關(guān)閉拖放窗口并打開對應(yīng)于所選部件的部件編輯器窗口,如192所示。在這種情況中,選擇將要編輯的部件之后將會顯示部件編輯器窗口95和95’中的一個,在這里操作員10還具有為任何所需程序的部件指定詳細(xì)信息(諸如碼率、目標(biāo)PID等)的能力。在這種情況中,視頻編輯器窗口95和音頻編輯器95’都會顯示出來,便于考慮和可能進(jìn)行的編輯。這個功能使得用戶能夠更加容易地在正在發(fā)送的不同內(nèi)容流中分配帶寬,從而獲得最大帶寬利用率。選擇了窗口95或95’之一的“OK”按鈕之后,單元管理器22會根據(jù)編輯的更改來改變MIB表數(shù)據(jù),并通知TMX執(zhí)行指定的路由配置。配置管理器46隨后按順序繼續(xù)配置目標(biāo)多路復(fù)用器和量化級處理器并啟動輸入處理器,如196所示。當(dāng)輸出端口開啟時,模塊激活的順序是本發(fā)明的一個重要方面。為了有效地執(zhí)行路由事件,目標(biāo)多路復(fù)用器、量化級處理器和輸入處理器應(yīng)該按照指定的順序激活,從而將使系統(tǒng)不穩(wěn)定的可能性降到最低。具體地說,配置管理器46使目標(biāo)多路復(fù)用器收集所指定的PID并且將它們發(fā)送到目標(biāo)輸出。其次,配置管理器46必須向量化級處理器64提供將要發(fā)送的內(nèi)容流所需的合適的碼率和PMT。再次,配置管理器46應(yīng)該通知輸入處理器將具有特定PID的所有內(nèi)容流發(fā)送到多路復(fù)用器。通過進(jìn)行PID混疊并且隨后將相關(guān)的數(shù)據(jù)作為低電壓差分信號發(fā)送到多路復(fù)用器,優(yōu)選地完成這項操作。如上面所提及的,使用不同于上述的順序?qū)⒛K激活,將會導(dǎo)致系統(tǒng)不穩(wěn)定。例如,如果配置管理器想要首先啟動輸入處理器的話,多路復(fù)用器就可以開始接收內(nèi)容流,這是所不期望的,并且這樣的混亂將導(dǎo)致多路復(fù)用器失效。類似地,刪除內(nèi)容流(中止流到端口的發(fā)送)也應(yīng)該以配置管理器46所指定的預(yù)設(shè)順序進(jìn)行。具體地說,應(yīng)該將上述的順序倒過來(對輸入處理器去激活,對QLP去激活,最后對多路復(fù)用器去激活)。例如,如果首先停止多路復(fù)用器的話,多路復(fù)用器仍舊可能接收來自輸入處理器的內(nèi)容流,那么這種情況將會再次導(dǎo)致多路復(fù)用器失效?,F(xiàn)在參看圖7,本圖說明了根據(jù)本發(fā)明的一個優(yōu)選實施例的不同系統(tǒng)帶寬利用查看性能。如圖所示,操作員10通過從目錄結(jié)構(gòu)查看屏幕81的上部選擇帶寬管理器目錄條目,發(fā)起本發(fā)明的查看帶寬利用性能。這將使得單元管理器22在208能夠顯示帶寬管理器屏幕,TMX開始查詢系統(tǒng)的帶寬使用數(shù)據(jù)并開始等待對該數(shù)據(jù)的進(jìn)一步查詢,如210-212所示。如本發(fā)明書末尾所附計算機(jī)程序中更加完整的表示,MIB表啟動對MPEG輸入/輸出帶寬利用信息的監(jiān)測。具體地說,TMXinputPIDtable用作監(jiān)控每個PID的輸入速率。TMXoutputPIDtable用作監(jiān)控每個PID的輸出速率。具體地說,消息控制器45開始查詢輸入處理器和輸出多路復(fù)用器的數(shù)據(jù),該數(shù)據(jù)用于更新MIB表(從這兩個源獲取數(shù)據(jù)使得帶寬查看窗口顯示出輸入帶寬和輸出帶寬之間的比較),消息控制器還將該數(shù)據(jù)作為SNMP數(shù)據(jù)發(fā)送至單元管理器22,如214所示。單元管理器22周期性地查詢TMX的這個信息,并且在216在圖形用戶界面80上顯示該數(shù)據(jù)。隨后將在214繼續(xù)查詢新的帶寬利用數(shù)據(jù)。這樣,將會不斷地更新所有開啟端口的帶寬利用數(shù)據(jù),并且可以通過圖形用戶界面80實時地顯示該數(shù)據(jù)。最好在操作員關(guān)閉帶寬窗口96和96’(諸如切換到框架或目錄結(jié)構(gòu)查看屏)時中止帶寬數(shù)據(jù)查詢。此時,將從MIB表中刪除啟動的內(nèi)容流的PID。接收到帶寬利用數(shù)據(jù)之后,圖形用戶界面80會顯示帶寬利用屏幕96。這個屏幕優(yōu)選地包括自動改變比例的x和y軸以及一個用于正發(fā)送的每個內(nèi)容流的單獨(dú)圖形對象,每個對象優(yōu)選地都是帶寬條(所示實例中的條97、97’和97”)。屏幕96中示出的每個帶寬條都最好包括下述的多個屬性輸出帶寬使用值97a,輸入帶寬使用值97b,最大輸入帶寬使用值97c和最小輸入帶寬使用值97d。實際上,帶寬利用上的變化是實時地自動顯示在帶寬利用屏幕96中的。帶寬利用屏幕96可包括大量面向用戶友好的功能,從而使圖形用戶界面更加直觀和有用。例如,可以向操作員10提供選擇或取消選擇在帶寬利用屏幕96的右部上所示的圖例顯示的能力。同樣地,操作員10最好具有選擇或取消選擇顯示最小和最大帶寬使用值的能力。此外,屏幕96最好具有為不同流顯示相同有助記憶的標(biāo)識符的能力,所述標(biāo)識符可用于諸如目錄結(jié)構(gòu)查看屏幕的其它屏幕。需要重申的是,圖形用戶界面最好在整個系統(tǒng)中為每個內(nèi)容流反映一致的標(biāo)識符。當(dāng)然,所過需要,也可以使用其它的標(biāo)識符。這些標(biāo)識符最好是通過內(nèi)容流發(fā)送的,以便它們能夠被刪除并在不同的屏幕中顯示。如上所述,這些標(biāo)識符可以顯示為彩色的圖標(biāo)和/或字母數(shù)字字符串等。在查看帶寬利用屏幕96之后,操作員10可以選擇一個帶寬條來動態(tài)地顯示所選條上有關(guān)組成內(nèi)容流的不同部件的更加詳細(xì)的信息。例如,給定的程序可能包括一個視頻和兩個音頻部件。選擇帶寬條將會使得詳細(xì)帶寬利用窗口96’(以及有關(guān)這些部件的附加信息)出現(xiàn)在屏幕上。這種類型的選擇將使單元管理器22在216產(chǎn)生查詢,在210/212將由TMX做出響應(yīng)。如窗口96’中所示,此時所選取帶寬條的程序名稱、組ID和全部帶寬將被獲得并顯示在屏幕上。在這個說明性實施例中,當(dāng)帶寬利用大約為5Mbit/s時(比較圖7的窗口96和96’),選擇程序2的帶寬條。此外,詳細(xì)窗口將所選程序分解為其組成的部件。在這個例子中,程序具有三個組成部分IP數(shù)據(jù)1、視頻數(shù)據(jù)1和音頻數(shù)據(jù)1。屏幕96’示出了該程序每個部件的詳細(xì)信息。該信息最好包括選擇詳細(xì)帶寬利用窗口時的組成部件的帶寬最小值、帶寬最大值和瞬時帶寬使用。結(jié)合參考屏幕96和96’可以看出,所顯示的組成部件的帶寬使用加在一起就是整個程序的帶寬使用。此外,組成部件的最小值的和等于作為一個整體的程序的最小值。類似地,整個程序的最大值等于每個組成部件的最大值的和。最后,查看屏顯示了與程序相關(guān)的分組標(biāo)識符PID。由于該系統(tǒng)的這個方面可以實時地顯示帶寬,所以操作員將隨著時間的變換而看到帶寬的使用情況。不同時間點(diǎn)上的帶寬使用情況的差異反映出了輸入信號可以根據(jù)時間在整個系統(tǒng)的輸入端上進(jìn)行變化。例如,如果輸入信號突然包括附加的部件,帶寬查看屏幕就將實時地反映出這一變化。圖8圖示說明了根據(jù)本發(fā)明的一個優(yōu)選實施例的不同事件記錄和查看性能222。如圖所示,系統(tǒng)具有過濾顯示在圖形用戶界面上的記錄消息的能力。根據(jù)本發(fā)明的查看記錄信息最開始需要操作員選擇合適的記錄過濾級別,由此使系統(tǒng)處于四種模式之一。過濾級別是由單元管理器22記錄的,通過過濾級別來規(guī)定顯示在圖形用戶界面80的記錄消息窗口87中的消息的數(shù)量和類型??梢詮哪夸浗Y(jié)構(gòu)查看屏81頂部附近的“查看”下拉目錄條目中選擇所需的記錄過濾級別,然后選擇記錄消息選項。優(yōu)選地具有四種過濾級別正常狀態(tài)、緊急狀態(tài)、故障狀態(tài)和調(diào)試。在調(diào)試模式中,所有產(chǎn)生的記錄消息都將顯示出來。啟動之后,TMX框架42狀態(tài)查詢?nèi)蝿?wù)開始查詢系統(tǒng)由此產(chǎn)生用于組裝TMXLogPortTable的記錄消息,如224所示。SNMP代理44隨后等待對查詢這些信息的響應(yīng),如226所示。這個記錄消息可以由不同的固件模塊和單元管理器22中的任意一個來產(chǎn)生,GUI80和TMX框架42協(xié)同連續(xù)地將根據(jù)前面所需記錄級別的記錄消息傳遞到圖形用戶界面,用于在滾動記錄消息窗口中顯示。此外,還將儲存這些記錄消息,用于將來的可能的恢復(fù)和分析。盡管在正常使用中可以過濾顯示給操作員的記錄消息,但是其實系統(tǒng)產(chǎn)生的所有消息都儲存在單元管理器的主計算機(jī)上。最好在系統(tǒng)使用的每一天都產(chǎn)生一個單獨(dú)的記錄文件,并且操作員10具有在記錄文件獲得屏幕98中恢復(fù)和查看任意給定日期的記錄消息的能力。在操作員10選擇記錄文件目錄之后,單元管理器22恢復(fù)、顯示和儲存記錄文件,如228所示。通過選擇目錄結(jié)構(gòu)查看屏幕81頂部附近的“查看”目錄條目并選擇合適的選項可以訪問該屏幕。在從存檔屏幕98中的記錄文件列表中選擇每天的記錄文件之后,可以顯示來自所選記錄文件的單獨(dú)的記錄消息,用于在屏幕98’上查看,如230所示。檢查儲存的記錄消息時,操作員還具有通過選擇如上面所討論的四種過濾級別之一來過濾信息的能力。圖9圖示說明了根據(jù)本發(fā)明的一個優(yōu)選實施例的不同未來內(nèi)容流路由性能238。通過操作員在目錄查看屏幕上的操作初始驅(qū)動對未來事件的詳細(xì)指定。具體地說,在系統(tǒng)初始化和發(fā)現(xiàn)之后,系統(tǒng)會初始地建立一個從當(dāng)前時刻跨越到未來的預(yù)設(shè)時刻(例如2年)的路由事件。這在時間條99中示出。操作員10隨后可以選擇時間條99,如目錄查看屏幕81的右上部分所示。出現(xiàn)的彈出菜單允許操作員10修改顯示的當(dāng)前事件或創(chuàng)建新事件。在指定未來路由事件的例子中,操作員10將通過選擇創(chuàng)建新事件選項并且指定新事件的開始和停止時間來創(chuàng)建一個新事件。此時,如240所示,單元管理器22將(缺省)創(chuàng)建另一個復(fù)制的事件。隨后將該信息發(fā)送到圖形用戶界面80,用于顯示和進(jìn)行可能的修改,如241所示。提供給操作員10的特定編輯器取決于將要創(chuàng)建什么類型的事件。在圖9的典型實例中,提供了音頻和視頻編輯器95和95’。也可以為未來路由事件指定IP數(shù)據(jù)流,本領(lǐng)域普通技術(shù)人員通過這里所包含的描述將很容易認(rèn)識到這一點(diǎn)。一旦完成了未來事件的不同部件的所有不同細(xì)節(jié),單元管理器22就會在242收集該信息,并在屏幕81’上顯示該信息。如屏幕81’上所示,在圖9的典型實例中定義了三個事件。在244,單元管理器22請求將新條目添加到特定MIB中,TMX框架42在246執(zhí)行配置改變。單元管理器22還會在252更新GUI。由此示出目錄結(jié)構(gòu)查看屏幕81”,其基本上與屏幕81’相似,只是根據(jù)最新執(zhí)行的配置顯示路由目錄結(jié)構(gòu)。最好不要向TMX框架42提供這個未來事件配置數(shù)據(jù),直到新定義的未來事件開始的預(yù)設(shè)時刻之前一點(diǎn)。之后(例如大約在預(yù)設(shè)時刻前的30秒),將整個配置數(shù)據(jù)發(fā)送到TMX框架42用于執(zhí)行。該路由事件數(shù)據(jù)與上面結(jié)合圖6討論的略有不同,因為它還包括預(yù)設(shè)時間數(shù)據(jù),用于指示新路由配置何時發(fā)生。這樣,操作員10可以配置系統(tǒng)在未來的預(yù)設(shè)時間點(diǎn)上自動改變配置路由控制,甚至不用操作員來配置。因此,系統(tǒng)通過為擴(kuò)展的時間段預(yù)設(shè)路由配置信息并且啟動這種配置改變的自動執(zhí)行,從而允許本發(fā)明自動控制寬帶媒體硬件。圖10圖示說明了根據(jù)本發(fā)明的一個優(yōu)選實施例的不同IP數(shù)據(jù)封裝和插入性能和處理過程260。如下面更詳細(xì)地描述,本發(fā)明使操作員10能夠手動或半自動地定義和執(zhí)行IP數(shù)據(jù)封裝。具體地說,本發(fā)明的優(yōu)選實施例給操作員提供了一個字母接一個字母地手動輸入IP封裝配置數(shù)據(jù),或者將圖形對象拖放到目錄結(jié)構(gòu)查看屏幕81的不同位置和從目錄結(jié)構(gòu)查看屏幕81的不同位置拖放圖形對象,從而自動輸入IP封裝配置數(shù)據(jù)的能力。單元管理器22協(xié)同圖形用戶界面80一起執(zhí)行相應(yīng)拖放操作所指定的不同的路由命令。這可以通過自動組裝對應(yīng)于定義路由命令所需的不同域的MIB表來實現(xiàn)。在圖形用戶界面80上的拖放操作將協(xié)助操作員10定義系統(tǒng)的IP封裝規(guī)范,其方式基本上類似于圖6中所示和所述的視頻和音頻路由事件的半自動定義方式。根據(jù)本說明書的描述,本領(lǐng)域普通技術(shù)人員將很容易推出怎樣擴(kuò)展這些概念從而實現(xiàn)拖放步驟以獲得半自動的IP數(shù)據(jù)封裝。下面將立即結(jié)合圖10和11描述手動的或者一個字母接一個字母的IP數(shù)據(jù)封裝技術(shù)。主要參看圖10,操作員可以通過從目錄結(jié)構(gòu)查看屏幕262中選擇表示所需位置(例如一個開啟的輸出端口)的圖形對象指定一個或多個IP數(shù)據(jù)封裝事件260。操作員10隨后可以選擇特定的程序,在該程序中將插入封裝好的IP數(shù)據(jù)。這使得單元管理器22在264能夠獲取與目標(biāo)輸出端口及可以在其中駐留的程序有關(guān)的配置數(shù)據(jù)。在圖10的典型實例中,選擇程序1用于IP數(shù)據(jù)部件的插入。作為對操作員選擇程序1的響應(yīng),單元管理器22(在266)顯示程序編輯器270并且將缺省輸出端口值發(fā)送到圖形用戶界面以顯示。操作員10隨后可以在272輸入與程序相關(guān)的不同的值,在單元管理器22的幫助下所述程序中將插入IP數(shù)據(jù)部件。隨后將顯示通用的和詳細(xì)的IP數(shù)據(jù)部件編輯器274,以便操作員10可以指定不同的其它參數(shù)。操作員10具有在IP數(shù)據(jù)部件編輯器中為每個包括內(nèi)容流的部件編輯增/刪/改變詳細(xì)信息的能力。具體地說,操作員10具有在通用和詳細(xì)編輯器窗口274中為所選程序的每個部件指定細(xì)節(jié)(諸如源和目標(biāo)IP地址、碼率、目標(biāo)PID等)的能力。這個功能使用戶能夠在正創(chuàng)建的不同IP數(shù)據(jù)流中更加容易地分配帶寬,從而獲得最大帶寬使用率。以這種方式可以最多同時為128個IP數(shù)據(jù)流指定封裝和插入。選擇窗口274之一的“OK”按鈕之后,單元管理器22將在276執(zhí)行大量的功能。具體地說,單元管理器22從GUI收集編輯好的信息并請求將不同的新條目的缺省的和/或編輯好的數(shù)據(jù)放入到特定的MIB表中(如276所示)。單元管理器22還將該信息提供給TMX42用于執(zhí)行,如圖10的278和圖11中所示。具體地說,在278,SNMP代理44創(chuàng)建新的MIB條目,消息控制器45將該信息傳遞到,配置管理器46,配置管理器46配置一個或多個多路復(fù)用器并通知IP封裝模塊66開始收集IP數(shù)據(jù)。IP封裝模塊66隨后從指定的源IP地址接收IP數(shù)據(jù),將每個IP數(shù)據(jù)封裝為一個或多個MPEG包,由此構(gòu)成MPEG數(shù)據(jù)流,并將其發(fā)送到目標(biāo)多路復(fù)用器。目標(biāo)多路復(fù)用器接收組裝好的MPEG數(shù)據(jù)包并合適地發(fā)送MPEG數(shù)據(jù)。在280,單元管理器更新圖形用戶界面80,圖形用戶界面80在目錄結(jié)構(gòu)查看屏幕289上顯示更新后的信息。操作員10隨后可以查看IP數(shù)據(jù)圖標(biāo)290,該圖標(biāo)指示了IP數(shù)據(jù)的封裝和插入正在進(jìn)行。圖11中詳細(xì)說明了框278中進(jìn)行IP封裝操作的部分。如圖所示,執(zhí)行完IP封裝操作282之后,封裝模塊66將通知(運(yùn)行在主處理器上的操作系統(tǒng)的)IP數(shù)據(jù)棧在292收集/接收并檢查IP數(shù)據(jù)包。在293,模塊66隨后檢驗系統(tǒng)是否準(zhǔn)備好處理IP包(例如是否已經(jīng)合適地配置好了目標(biāo)多路復(fù)用器)。用于接收IP數(shù)據(jù)包的目的IP地址隨后將在294測試有效性。具體地說,將檢查目的IP地址以確定其是否是廣播、單點(diǎn)傳送或多點(diǎn)傳送IP地址。這最好是通過檢驗?zāi)康牡刂肥欠裨诙帱c(diǎn)傳送范圍內(nèi)以及該地址是否已經(jīng)被指定用于數(shù)據(jù)收集/接收而完成。如果IP地址顯示出該IP包不是多點(diǎn)傳送包的話,就會判斷出該IP數(shù)據(jù)必然是廣播或單點(diǎn)傳送包。如果這樣的話,數(shù)據(jù)包將以常規(guī)的方式通過操作系統(tǒng)(OS)棧傳遞,然后進(jìn)行296的操作,在這里它將簡單地等待接收下一個IP數(shù)據(jù)包。具體地說,優(yōu)選的OS(VxWorks)使用了標(biāo)準(zhǔn)的七層OSI適應(yīng)(compliant)IP棧,其將處理每個廣播和/或單點(diǎn)傳送包從而確定其類型及其應(yīng)該處理它的應(yīng)用程序。因此,例如被發(fā)現(xiàn)作為ARP請求的廣播包將被發(fā)送至ARP任務(wù)進(jìn)行處理。相反地,如果源IP地址顯示出該IP數(shù)據(jù)包是一個多點(diǎn)傳送的IP包的話,該數(shù)據(jù)包就不能被簡單地通過OS棧發(fā)送,這是因為,OS將無法識別該數(shù)據(jù)包,除非它是該包所需的接收者,然而這是不可能情況。因此,如果IP地址顯示出該數(shù)據(jù)包氏一個多點(diǎn)傳送的包并且如果該地址是單元管理器22指定作為與將要封裝的IP數(shù)據(jù)相關(guān)的128個地址之一的話,該IP數(shù)據(jù)將會被轉(zhuǎn)換成不同的形式,而且不需要作為IP數(shù)據(jù)包通過IP棧發(fā)送。為了完成這種情況,該處理首先前進(jìn)到297,在這里,如果需要,IP數(shù)據(jù)包會被分段成更小的內(nèi)容部件進(jìn)行處理。過程隨后傳遞到298,在這里組裝MPEG數(shù)據(jù)包并將數(shù)據(jù)包發(fā)送到合適的多路復(fù)用器。具體地說,將在300創(chuàng)建一個4字節(jié)的MPEG幀頭,其包括該包的目標(biāo)PID。之后,在302,從IP數(shù)據(jù)包中提取出IP地址,并使用該IP地址為第一個MPEG數(shù)據(jù)包創(chuàng)建一個16字節(jié)的DSM-CC(數(shù)據(jù)存儲媒體命令與控制)幀頭。在最后的MPEG包中(例如后面的內(nèi)容的最后一個字節(jié))最好還包括一個常規(guī)的4字節(jié)的循環(huán)冗余碼(CRC或CRC32)MPEG后綴。由于系統(tǒng)可以支持DVB或ATSC數(shù)據(jù)格式的輸出數(shù)據(jù),所以DSM-CC幀頭還指示了輸出數(shù)據(jù)是何種格式,由此說明這些格式間的差別。在304,最多可以向正在創(chuàng)建的MPEG的188字節(jié)包中添加168字節(jié)的內(nèi)容。如果這包括了所有要發(fā)送的內(nèi)容,那么在內(nèi)容的最后一個字節(jié)之后將附上CRC。在308,將判斷是否還需要裝填數(shù)據(jù)以完成MPEG包。如果需要的話,操作282將傳遞到310,在這里將使用虛擬空數(shù)據(jù)填滿MPEG包的剩余部分。該數(shù)據(jù)最好數(shù)值為255(十六進(jìn)制的FF),并且一直重復(fù)直到構(gòu)成一個完整的188字節(jié)MPEG數(shù)據(jù)包。通過本優(yōu)選實施例的這個系統(tǒng),將把最大的一個IP數(shù)據(jù)包插入到單獨(dú)的MPEG包中。如果不再需要裝填(或者在已經(jīng)裝填了包之后),操作傳遞到312,在這里將組裝好的包發(fā)送到目標(biāo)多路復(fù)用器并優(yōu)選地存儲在FIFO中用于組合附加的MPEG包(如果有的話)。操作還會傳遞到314,在這里確定接收到的IP數(shù)據(jù)包是否已經(jīng)完全封裝。如果是的話,處理傳遞到316,在這里多路復(fù)用器接收一個指示,其顯示已經(jīng)接收到了多少M(fèi)PEG數(shù)據(jù)包,多路復(fù)用器還將接收到另一個指示,其顯示這個/這些包應(yīng)該被發(fā)送。操作282隨后傳遞到296,在這里IP封裝模塊等待下一個要被封裝的IP數(shù)據(jù)包。如果在314判斷出IP數(shù)據(jù)并沒有全部被封裝的話,操作282就會傳遞到318,在這里來自IP數(shù)據(jù)包的額外的內(nèi)容將被組裝進(jìn)MPEG數(shù)據(jù)包并被發(fā)送到合適的多路復(fù)用器。具體地說,操作282從314傳遞到320,在這里將會創(chuàng)建下一個MPEG數(shù)據(jù)包的MPEG幀頭。隨后在322向包中添加最多可達(dá)184字節(jié)的IP數(shù)據(jù)和CRC,在326將做出判斷是否需要裝填數(shù)據(jù)以完成MPEG包。如果是的話,操作282將傳遞到328,在這里將用虛擬空數(shù)據(jù)裝填MPEG包的剩余部分。該數(shù)據(jù)最好數(shù)值為255(十六進(jìn)制的FF),并且一直重復(fù)直到構(gòu)成一個完整的188字節(jié)MPEG數(shù)據(jù)包。如果不再需要裝填(或者在已經(jīng)裝填了包之后),操作282傳遞到330,在這里將組裝好的包發(fā)送到目標(biāo)多路復(fù)用器并優(yōu)選地存儲在FIFO中用于組合以前和后續(xù)組裝的MPEG包(如果有的話)。操作還會傳遞到332,在這里確定接收到的IP數(shù)據(jù)包是否已經(jīng)完全封裝。如果否的話,將重復(fù)步驟320到332直到整個IP數(shù)據(jù)包都已經(jīng)被完全封裝,最后,操作傳遞到316和296,如下所述。如果是的話,在316,多路復(fù)用器會接收一個指示,其顯示已經(jīng)接收到了多少M(fèi)PEG數(shù)據(jù)包,多路復(fù)用器還將接收到另一個指示,其顯示這些包應(yīng)該被發(fā)送。操作隨后傳遞到296,在這里IP封裝模塊等待下一個要被封裝的多點(diǎn)傳送的IP數(shù)據(jù)包。當(dāng)操作員10為所述主體的輸出端口指定不同的功能時,或者當(dāng)用于制定時間的時間段終止的時候,操作282就會終止。此時,IP封裝模塊66將等待來自配置管理器46的進(jìn)一步的指令。下面的計算機(jī)程序列表解釋了上面提及的TMX-MIB的定義<prelisting-type="program-listing"><![CDATA[TMX-MIBDEFINITIONS=BEGIN IMPORTS NetworkAddress,IpAddress,Gauge,TimeTicks FROMRFC1155-SMI RowStatus,DisplayString,DateAndTime,TEXTUAL-CONVENTION FROMSNMPv2-TC MODULE-COMPLIANCE,OBJECT-GROUP FROMSNMPv2-CONF ifIndex FROMRFC1213-MIB Counter32,Integer32,OBJECT-TYPE,MODULE-IDENTITYFROM SNMPv2-SMI bmrFROMNLS-BBNIDENT-MIB; tmxMIBMODULE-IDENTITY LAST-UPDATED″0112202341Z″ ORGANIZATION″MotorolaBCS″ CONTACT-INFO″JohnSanders,Ext35054A31″ DESCRIPTION ″TMXMIBVersionl.la″ REVISION″0008141355Z″ DESCRIPTION ″″ ={bsr1} ActionTriggerType=TEXTUAL-CONVENTION STATUScurrent DESCRIPTION ″Typeoftriggermechanismforexecutionof anoperation″ SYNTAXBITS{ operationCreation(0), activationTime(1), spliceImmediateFlag(2) ) orgOBJECTIDENTIFIER ?。?iso3) dodOBJECTIDENTIFIER ?。絳org6} internetOBJECTIDENTIFIER ?。絳dod1} privateOBJECTIDENTIFIER ?。絳internet4} enterprisesOBJECTIDENTIFIER ?。絳private1} tmxMIBObjectsOBJECTIDENTIFIER ?。絳tmxMIB1} tmxMIBConformanceOBJECTIDENTIFIER ={tmxMIB2} tmxMediaInterfacesOBJECTIDENTIFIER={tmxMIBObjects1} tmxMediaControlOBJECTIDENTIFIER ?。絳tmxMIBObjects2} tmxMediaMonitorOBJECTIDENTIFIER ={tmxMIBObjects3}--TMXspecificextensionstotheMIB2InterfacesTable tmxNetTableOBJECT-TYPE SYNTAXSEQUENCEOFTmxNetEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″ThisisthenetworktableassociatingTMXinterfaces (ifIndex) withothertypesofequipment.″ ?。絳tmxMediaInterfaces1} tmxNetEntryOBJECT-TYPE SYNTAXTmxNetEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION″tmxNetTableentry″ INDEX{ifIndex,tmxNetIndex} ?。絳tmxNetTable1} TmxNetEntry..SEQUENCE{ tmxNetIndexInteger32, tmxNetEqpTypeBITS, tmxNetEqpNameDisplayString, tmxNetEqpIpAddressIpAddress, tmxNetEqpOperationalStateInteger32, tmxNetEqpAlarmStatusInteger32, tmxNetEqpHeartBeatMonitorIpAddress, tmxNetEqpRedundancyGroupDisplayString, tmxNetEqpBackUpIpAddress, tmxNetEntryStatusRowStatus ) tmxNetIndexOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Identifierindexforthisnetworkedequipment.″ ?。絳tmxNetEntry1} tmxNetEqpTypeOBJECT-TYPE SYNTAXBITS{sel000(0),se2000(1),tmx(2), dataServer(3),adServer(4),computer(5)} MAX-ACCESSread-create STATUScurrent DESCRIPTION ″TypeofequipmentadjacentonifIndexinterface.″ ?。絳tmxNetEntry2} tmxNetEqpNameOBJECT-TYPE SYNTAXDisplayString MAX-ACCESSread-create STATUScurrent DESCRIPTION″Uniqueuserassignednametothephysicalequipment.″ ={tmxNetEntry3} tmxNetEqpIpAddressOBJECT-TYPE SYNTAXIpAddress MAX-ACCESSread-create STATUScurrent DESCRIPTION″IPAddressoftheadjacentequipment.″ ?。絳tmxNetEntry4} tmxNetEqpOperationalStateOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″OperationalStateofthisnetworkedequipment.″ ?。絳tmxNetEntry5} tmxNetEqpAlarmStatusOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″AlarmStatusofthisnetworkedequipment.″ ?。?tmxNetEntry6) tmxNetEqpHeartBeatMonitorOBJECT-TYPE SYNTAXIpAddress MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Heartbeatmonitorforthisnetworkedequipment.″ ={tmxNetEntry7} tmxNetEqpRedundancyGroupOBJECT-TYPE SYNTAXDisplayString MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Uniquenameoftheredundancygroupofthisnetworked equipment.″ ?。絳tmxNetEntry8} tmxNetEqpBackUpOBJECT-TYPE SYNTAXIpAddress MAX-ACCESSread-create STATUScurrent DESCRIPTION ″IPAddressofthebackupofthisnetworkedequipment.″ ={tmxNetEntry9} tmxNetEntryStatusOBJECT-TYPE SYNTAXRowStatus MAX-ACCESSread-create STATUScurrent DESCRIPTION″Statusofthisentry.″ ?。絳tmxNetEntry10}--tmxMediaControlconsistsoftablesusedtoconfiguretheTMXmedia--controlfunctionality.tmxOpNumOBJECT-TYPE SYNTAXINTEGER MAX-ACCESSread-create STATUScurrent DESCRIPTION″ThenumberoflastOpcreated.″ ={tmxMediaControl1} tmxToaLockOBJECT-TYPE SYNTAXBITS{unlock(0),lock(1)) MAX-ACCESSread-create STATUScurrent DESCRIPTION″ThenumberoflastOpcreated.″ ?。絳tmxMediaControl2} tmxToaLockTimeOBJECT-TYPE SYNTAXINTEGER MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Thetime(insecond)towaitbeforestartsexecutingthe unlockoperation″ ?。?tmxMediaControl3) tmxDeleteAllOBJECT-TYPE SYNTAXBITS(delete(0),keep(1)) MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Theflagindicatesthedeletionoftheentiremediacontrol database″ ?。絳tmxMediaControl4} tmxReservedOBJECT-TYPE SYNTAXINTEGER MAX-ACCESSread-create STATUScurrent DESCRIPTION″ThenumberoflastOpcreated.″ ?。絳tmxMediaControl5}**************************************************************** tmxIfTableOBJECT-TYPE SYNTAXSEQUENCEOFTmxIfEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″ThisistheTMXspecificextensionofifTable.″ ?。絳tmxMediaControl6} tmxIfEntryOBJECT-TYPE SYNTAXTmxIfEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION″tmxIfTableentry″ INDEX{ifIndex} ?。絳tmxIfTable1} TmxIfEntry=SEQUENCE{ tmxIfNameDisplayString, tmxIfTSIdInteger32, tmxIfTypeBITS, tmxIfASIModeBITS, tmxIfStandardBITS, tmxIfTransportBitRateInteger32,tmxIfActionTriggerActionTriggerType, tmxIfActionTimeDateAndTime, tmxIfIQBITS, tmxIfSttDestinationOffsetInteger32, tmxIfSttDsStatusBITS, tmxIfSttDsDayInteger32, tmxIfSttDsHourInteger32, tmxIfPacketLengthBITS, tmxIfEntryStatusRowStatus } ***************************************************************** tmxIfNameOBJECT-TYPE SYNTAXDisplayString MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Userassignednametothephysicalinterface.″ ?。絳tmxIfEntry1} tmxIfTSIdOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″MpegTransportIdentifierassociatedwiththisphysical interface,ifany.″ ={tmxIfEntry2} tmxIfTypeOBJECT-TYPE SYNTAXBITS(asi(0),ds3-ansi(1),ds3-fsi(2), dhei(3),dhei-high(4), smpte310(5),ds3-rmi(6)} MAX-ACCESSread-create STATUScurrent DESCRIPTION″tmxIfType.″ ?。絳tmxIfEntry3} tmxIfASIModeOBJECT-TYPE SYNTAXBITS{burst(0),byte(1)) MAX-ACCESSread-create STATUScurrent DESCRIPTION″OutputASImode,burstorbyte.″ ={tmxIfEntry4} tmxIfStandardOBJECT-TYPE SYNTAXBITS{atsc(0),dvb(1),mpeg2(2),none(3),dcii(4)} MAX-ACCESSread-create STATUScurrent DESCRIPTION″OutputASIstandard.″ ?。絳taxIfEntry5} tmxIfTransportBitRateOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION″TransportbitrateinMbps.″ =(tmxIfEntry6) tmxIfActionTriggerOBJECT-TYPE SYNTAXActionTriggerType MAX-ACCESSread-create STATUScurrentDESCRIPTION ″Triggertypethatwillinitiatethisoperation.″ ?。絳tmxIfEntry7} tmxIfActionTimeOBJECT-TYPE SYNTAXDateAndTime MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Iftriggertypeisatimeofactionthisobjectcontains thetime.″ ?。絳tmxIfEntry8} tmxIfIQOBJECT-TYPE SYNTAXBITS{combined(0),i-out(1),q-out(2),iq-split(3)} MAX-ACCESSread-create STATUScurrent DESCRIPTION ″SelectIQmuxmodeforthistransportstream,combined,I, QorI&Q.″ ?。絳tmxIfEntry9} tmxIfSttDestinationOffsetOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″OffsetfromUTCasusedintheSTT.Thismaynotbethesame value asusedbytheTMXsystemandmayvarybetweentransportstreams dependingon destination″ ?。絳tmxIfEntry10} tmxIfSttDsStatusOBJECT-TYPE SYNTAXBITS{not-in-ds(0),in-ds(1)) MAX-ACCESSread-create STATUScurrent DESCRIPTION″DaylightsavingsstatusasusedintheSTT.″ ={tmxIfEntry11} tmxIfSttDsDayOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Localdayofmonthdaylightsavingsstatuswillchange(1- 31)as usedintheSTT.″ ?。絳tmxIfEntry12} tmxIfSttDsHourOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Localhourofdaydaylightsavingsstatuswillchange(0-18) as usedintheSTT.″ ={tmxIfEntry13} tmxIfPacketLengthOBJECT-TYPESYNTAXBITS{pktl88(0),pkt204(1)} MAX-ACCESSread-create STATUScurrent DESCRIPTION″Transportstreampacketlength.″ ?。絳tmxIfEntry14} tmxIfEntryStatusOBJECT-TYPE SYNTAXRowStatus MAX-ACCESSread-create STATUScurrent DESCRIPTION″Statusofthisentry.″ ={tmxIfEntry15}***************************************************************** ImxITGiExtTableOBJECT-TYPE SYNTAXSEQUENCEOFTmxIfGiExtEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″ThisistheextensiontabledefiningtheDS3-GITMXinterface parameters.″ ?。絳tmxMediaControl7} tmxIfGiExtEntryOBJECT-TYPE SYNTAXTmxIfGiExtEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″tmxIfGIExtTableentry″ INDEX{ifIndex} =(tmxIfGiExtTable1) TmxIfGiExtEntry=SEQUENCE( tmxIfGiExtCodeRateBITS, tmxIfGiExtSymbolRateBITS, tmxIfGiExtModTypeBITS, tmxIfGiExtPowerLevelInteger32, tmxIfGiExtCarrierFrqInteger32, tmxIfGiExtCwModeBITS, tmxIfGiExtMuteBITS, tmxIfGiExtEntryStatusRowStatus )***************************************************************** tmxIfGiExtCodeRateOBJECT-TYPE SYNTAXBITS{cr-5-11(0),cr-1-2(1),cr-3-5(2), cr-2-3(3),cr-3-4(4),cr-4-5(5), cr-5-6(6),cr-7-8(7)) MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Coderate5/11,1/2,3/5,2/3,3/4,4/5,5/6, 7/8″ ?。絳tmxIfGiExtEntry1} tmxIfGiExtSymbolRateOBJECT-TYPE SYNTAXBITS{sr-38-8(0),sr-29-27(1), sr-19-51(2),sr-14-63(3), sr-11-71(4),sr-9-76(5), sr-7-32(6),sr-4-88(7), sr-3-25(8),sr-2-44(9), sr-1-83(10)} MAX-ACCESSread-createSTATUScurrent DESCRIPTION ″Symbolrate38.829.27,19.51,14.63,11.71, 9.76,7.32,4.88,3.25,2.44,1.83″ ?。絳tmxIfGiExtEntry2} tmxIfGiExtModTypeOBJECT-TYPE SYNTAXBITS{qpsk(0),bpsk(1),oqpsk(2)} MAX-ACCESSread-create STATUScurrent DESCRIPTION″Modulationtype.″ ?。絳tmxIfGiExtEntry3} tmxIfGiExtPowerLevelOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Powerlevel0-20representing-5dBmto-15dBmin0.5dBm steps.″ ?。絳tmxIfGiExtEntry4} tmxIfGiExtCarrierFrqOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″47000kHz-93000kHzforthe70MHzbandand 104000khz-176000kHzforthe140MHzband. Thefrequencymustbeinstepsof125kHz.″ ?。絳tmxIfGiExtEntry5} tmxIfGiExtCwModeOBJECT-TYPE SYNTAXBITS(modulated(0),unmodulated(1)} MAX-ACCESSread-create STATUScurrent DESCRIPTION″IFcarriertobeunmodulated.″ ?。絳tmxIfGiExtEntry6} tmxIfGiExtMuteOBJECT-TYPE SYNTAXBITS{notMuted(0),muted(1)} MAX-ACCESSread-create STATUScurrent DESCRIPTION″IFcarriertobemuted.″ ?。絳tmxIfGiExtEntry7} tmxIfGiExtEntryStatusOBJECT-TYPE SYNTAXRowStatus MAX-ACCESSread-create STATUScurrent DESCRIPTION″Statusofthisentry.″ ?。絳tmxIfGiExtEntry8}***************************************************************** tmxStat;GroupTable,,;OBJECT-TYPE, SYNTAXSEQUENCEOFTmxStatGroupEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″TheStatGroupControltable.Eachrowinthis tablerepresentsacreate/deleteOpcommand.All OpswiththesameTimeofActionaretobeexecutedintheorderspecifiedbythemessageindex. ProgramelementswithinaStatGroupcanbe ConstantBitRate(CBR)inwhichcasetheirminBw=maxBw, VariableBitRate(VBR)inwhichcasetheirminBw<maxBw, andopportunisticinwhichcasetheyuseuponlyspareBw leftunusedafterallCBRandVBRprogramsaremultiplexed″ ?。?tmxMediaControl8} tmxStatGroupEntryOBJECT-TYPE SYNTAXTmxStatGroupEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″StatGroupTableentry″ INDEX{ifIndex,tmxStatGroupOpIndex} ?。絳tmxStatGroupTable1} TmxStatGroupEntry=SEQUENCE{ tmxStatGroupOpIndexInteger32, tmxStatGroupMsgBITS, tmxStatGroupIdInteger32, tmxStatGroupSizeInteger32, tmxStatGroupTranscBwPercentInteger32, tmxStatGroupMaxInputBwInteger32, tmxStatGroupMaxOutputBwInteger32, tmxStatGroupActionTriggerActionTriggerType, tmxStatGroupActionTimeDateAndTime, tmxStatGroupStatusRowStatus }***************************************************************** tmxStatGroupOpIndexOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″Thisisusedforuniqueidentificationandsequencingofall operationalconfigurationmessages.Thevalueisthevalueof tmxOpNumwhenentrywascreatedandissetbythemanager.″ ={tmxStatGroupEntry1} tmxStatGroupMsgOBJECT-TYPE SYNTAXBITS{create(0),delete(1)} MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Eachtablerowconstitutesacommandmessage.Themessage typeindicateswhethertheCommandtypeistoeithercreate ordeletetheitemdescribedinthisrow.Anycreatecommand isfurtherrestrictedbytheActionTriggerType.Dependingon theActionTriggerType,thecommandwilleitherbeimmediately executed,executedatatimespecidfiedbyTimeofAction,or executedwhenaSPliceImmediateFlagisraised.″ ?。?tmxStatGroupEntry2) tmxStatGroupIdOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Groupidentifierincontrolmultiplex.″ ={tmxStatGroupEntry3}tmxStatGroupSizeOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION″Numberofmembersingroup.″ ?。絳tmxStatGroupEntry4} tmxStatGroupTranscBwPercentOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Percentageofoverallbandwidthtoallocatetomultiplexgroup, iftranscoded.″ ?。絳tmxStatGroupEntry5} tmxStatGroupMaxInputBwOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Definemaximumbandwidthtoallocatetothisinputstatgroup, ifstatgroupisinput.″ ={tmuxStatGroupEntry6} tmxStatGroupMaxOutputBwOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Definemaximumbandwidthtoallocatetothisoutputstatgroup, ifstatgroupisinput.″ ={tmxStatGroupEntry7} tmxStatGroupActionTriggerOBJECT-TYPE SYNTAXActionTriggerType MAX-ACCESSread-create SIATUScurrent DESCRIPTION ″Triggertypethatwillinitiatethisoperation.″ ..(tStatGroupEntry8) tmxStatGroupActionTimeOBJECT-TYPE SYNTAXDateAndTime MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Iftriggertypeisatimeofactionthisobjectcontainsthe time.″ ?。絳tmxStatGroupEntry9} tmxStatGroupStatusOBJECT-TYPE SYNTAXRowStatus MAX-ACCESSread-create STATUScurrent DESCRIPTION″Statusofthisrow.″ ?。絳tmxStatGroupEntry10}*************************************************************** tmxPvrgTable-OB^JECTxThP SYNTAXSEQUENCEOFTmxProgEntry MAX-ACCESSnot-accessibleSTATUScurrent DESCRIPTION ″TheMPEGService/ProgramControltable.Eachrowinthis tablerepresentsacreate/deleteOpcommand.All OpswiththesameTimeofActionaretobeexecuted intheorderspecifiedbythemessageindex. Thistableisusedtocreateprogramsintheoutput multiplexandtoassociateprogramswithpossibly externalinputsources.Itisnotusedtoroutea completeprogramfrominputtooutput.Allroutingisdone bytheProgramComponentTable.″ ={tmxMediaControl9} tmxProgEntryOBJECT-TYPE SYNTAXTmxProgEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″EntryintotheProgramControltable.″ INDEX{ifIndex,tmxStatGroupOpIndex,tmxProgOpIndex} ?。絳tmxProgTable1} TmxProgEntry=SEQUENCE{ tmxProgOpIndexInteger32, tmxProgMsgBITS, tmxProgGrpIdInteger32, tmxProgEncIPAddrIpAddress, tmxProgEncPortInteger32, tmxProgTmxIPAddrIpAddress, tmxProgTmxPortInteger32, tmxProgProgIdInteger32, tmxProgProgNameDisplayString, tmxProgPcrPIDInteger32, tmxProgGIDS3IQBITS, tmxProgActionTriggerActionTriggerType, tmxProgActionTimeDateAndTime, tmxProgStatusRowStatus )***************************************************************** tmxProgOpIndexOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″Thisisusedforuniqueidentificationandsequencingofall operationalconfigurationmessages.Thevalueisthevalue of tmxOpNumwhenentrywascreatedandissetbythemanager.″ ?。絳tmxProgEntry1} tmxProgMsgOBJECT-TYPE SYNTAXBITS(create(0),delete(1)} MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Eachtablerowconstitutesacommandmessage.Themessage typeindicateswhethertheCommandtypeistoeithercreate ordeletetheitemdescribedinthisrow.Anycreatecommand isfurtherrestrictedbytheActionTriggerType.Dependingon theActionTriggerType,thecommandwilleitherbeimmediately executed,executedatatimespecidfiedbyTimeofAction,or executedwhenaSPliceImmediateFlagisraised.″={tmxProgEntry2} tmxProgGrpIdOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″StatisticalGroupidentifierinoutputmultiplex, ifpartofastatisticalgroup.″ ?。絳tmxProgEntry3} tmxProgEncIPAddrOBJECT-TYPE SYNTAXIpAddress MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Ifany,IPaddressoftheencoderforthisservicefor distributedstatmux.″ ?。絳tmxProgEntry4} tmxProgEncPortOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Ifany,Portnumberoftheencoderforthisservicefor distributedstatmux.″ ?。絳tmxProgEntry5} tmxProgTmxIPAddrOBJECT-TYPE SYNTAXIpAddress MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Ifany,IPaddressoftheTMXforthisservicefordistributed statmux.″ ?。絳tmxProgEntry6} tmxProgTmxPortOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Ifany,PortnumberoftheTMXforthisservicefordistributed statmux.″ ={tmxProgEntry7} tmxProgProgIdOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″OutputMPEGprogram(i.e.service)number.″ ?。絳tmxProgEntry8} tmxProgProgNameOBJECT-TYPE SYNTAXDisplayString MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Outputprogramnameassignedbytheuser.″ ?。絳tmxProgEntry9}tmxProgPcrPIDOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″PCRPIDassociatedwiththeprogram.″ ?。絳tmxProgEntry10} tmxProgGIDS3IQOBJECT-TYPE SYNTAXBITS(spliti(0),splitQ(1),combined(2)} MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Eachtablerowconstitutesacommandmessage.″ ?。絳tmxProgEntry11} tmxProgActionTriggerOBJECT-TYPE SYNTAXActionTriggerType MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Triggertypethatwillinitiatethisoperation.″ ={tmxProgEntry12} tmxProgActionTimeOBJECT-TYPE SYNTAXDateAndTime MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Iftriggertypeisatimeofactionthisobjectcontainsthe time.″ ?。絳tmxProgEntry13} tmxProgStatusOBJECT-TYPE SYNTAXRowStatus MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Statusoftherow.″ ?。絳tmxProgEntry14}***************************************************************** tmxProgCompTableOBJECT-TYPE SYNTAXSEQUENCEOFTmxProgCompEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″TheMPEGService/ProgramComponentControltable.Eachrowin this tablerepresentsacreate/deleteOpcommand.All OpswiththesameTimeofActionaretobeexecuted intheorderspecifiedbythemessageindex.″ ?。絳tmxMediaControl10} tmxProgCompEntryOBJECT-TYPE SYNTAXTmxProgCompEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION″Entry″ INDEX{ifIndex,tmxStatGroupOpIndex,tmxProgOpIndex, tmxProgCompOpIndex} ?。絳tmxProgCompTable1}TmxProgCompEntry..SEQUENCE{ tmxProgCompOpIndexInteger32, tmxProgCompMsgBITS, tmxProgCompTpeIdInteger32, tmxProgCompSrcIdInteger32, tmxProgCompPIDInteger32, tmxProgCompAliasPIDInteger32, tmxProgCompStreamTypeBITS, tmxProgCompPriorityInteger32, tmxProgCompTrcModeBITS, tmxProgCompEmbededPCRBITS, tmxProgCompActionTriggerActionTriggerType, tmxProgCompActionTimeDateAndTime, tmxProgCompMinBwInteger32, tmxProgCompMaxBwInteger32, tmxProgCompStatusRowStatus }***************************************************************** tmxProgCompOpIndexOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″Thisisusedforuniqueidentificationandsequencingofall operationalconfigurationmessages.Thevalueisthevalueof tmxOpNumwhenentrywascreatedandissetbythemanager.″ ?。絳tmxProgCompEntry1} tmxProgCompMsgOBJECT-TYPE SYNTAXBITS{create(0),delete(1)} MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Eachtablerowconstitutesacommandmessage.Themessage typeindicateswhethertheCommandtypeistoeithercreate ordeletetheitemdescribedinthisrow.Anycreatecommand isfurtherrestrictedbytheActionTriggerType.Dependingon theActionTriggerType,thecommandwilleitherbeimmediately executed,executedatatimespecidfiedbyTimeofAction,or executedwhenaSPliceImmediateFlagisraised.″ ?。絳tmxProgCompEntry2} tmxProgCompTpeIdOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″IdentifieroftheTPEtoprocessthiscomponent, ifany.″ ?。絳tmxProgCompEntry3} tmxProgCompSrcIdOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Physicalinputsourceidentifer(index)″ ={tmxProgCompEntry4} tmxProgCompPIDOBJECT-TYPE SYNTAXInteger32MAX-ACCESSread-create STATUScurrent DESCRIPTION ″MPEGInputPID″ ?。絳tmxProgCompEntry5}tmxProgCompAliasPIDOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″UserassignedComponentPIDnumberintheoutputmultiplex tocreateordelete.″ ?。絳tmxProgCompEntry6}tmxProgCompStreamTypeOBJECT-TYPE SYNTAXBITS{video(0),audio(1),data(2)} MAX-ACCESSread-create STATUScurrent DESCRIPTION ″StreamcontenttypeoftheMPEGcomponenttobe createdordeleted.″ ?。絳tmxProgCompEntry7}tmxProgCompPriorityOBJECT-TYPESYNTAXInteger32MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Thisisavaluebetween1(lowest)and10andindicatesthe minimumvideoquality(quantizationlevel)afterwhich opportunisticdatacanbeaddedtothestatistical multiplexgroup.Alternatively,ifdatawithinthegroup isguaranteedthethisindicatestherelativepriority ofthevideowithinthegroup.″ ?。絳tmxProgCompEntry8}tmxProgCompTrcModeOBJECT-TYPE SYNTAXBITS(transcode(0),passthru(1)} MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Transcodeorpassthroughthiscomponent.″ ={tmxProgCompEntry9}tmxProgCompEmbededPCROBJECT-TYPE SYNTAXBITS(enable(0),disable(1)} MAX-ACCESSread-create STATUScurrent DESCRIPTION″PCRmode.″ ={tmxProgCompEntry10}tmxProgCompActionTriggerOBJECT-TYPE SYNTAXActionTriggerType MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Triggertypethatwillinitiatethisoperation.″ ?。絳tmxProgCompEntry11)tmxProgCompActionTimeOBJECT-TYPE SYNTAXDateAndTimeMAX-ACCESSread-create STATUScurrent DESCRIPTION ″Iftriggertypeisatimeofactionthisobjectcontainsthe time.″ ={tmxProgCompEntry12} tmxProgCompMinBwOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Minimumbandwidthforprogramcomponent. Ifminimum=maximumthebandwidthisfixed,i.e.not statisticallymultiplexed.″ ={tmxProgCompEntry13} tmxProgCompMaxBwOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Maximumbandwidthforprogramcomponent. Ifminimum=maximumthebandwidthisfixed,i.e.not statisticallymultiplexed.″ ={tmxProgCompEntry14} tmxProgCompStatusOBJECT-TYPE SYNTAXRowStatus MAX-ACCESSread-create STATUScurrent DESC RIPTION ″Statusoftherow.″ ?。絳tmxProgCompEntry15}********************************************************************************** tmxIPDataTableOBJEGT-TYPE SYNTAXSEQUENCEOFTmxIPDataEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″TheIpDataComponentControltable.Eachrowinthis tablerepresentsacreate/deleteOpcommand.All OpswiththesameTimeofActionaretobeexecuted intheorderspecifiedbythemessageindex.″ ?。絳tmxMediaControl11} tmxIPDataEntryOBJECT-TYPE SYNTAXTmxIPDataEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″Entry″ INDEX{ifIndex,tmxStatGroupOpIndex,tmxProgOpIndex, tmxIPDataOpIndex} =(tmxIPDataTable1) TmxIPDataEntry=SEQUENCE{ tmxIPDataOpIndexInteger32, tmxIPDataMsgBITS, tmxIPDataPIDInteger32, tmxIPDataDestAddrIpAddress,tmxIPDataFlowCtlTypeBITS, tmxIPDataTmxFlowCtlServerAddrIpAddress, tmxIPDataTmxFlowCtlServerPortInteger32, tmxIPDataTmxFlowCtlAddrIpAddress, tmxIPDataTmxFlowCtlPortInteger32, tmxIPDataMuxModeBITS, tmxIPDataOutModeBITS, tmxIPDataAvgBitRateInteger32, tmxIPDataAvgTimePeriodInteger32, tmxIPDataMinBitRateInteger32, tmxIPDataMaxBitRateInteger32, tmxIPDataActionTriggerActionTriggerType, tmxIPDataActionTimeDateAndTime, tmxIPDataSectionLengthBITS, tmxIPDataStatusRowStatus }***************************************************************** tmxIPDataOpIndexOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″Thisisusedforuniqueidentificationandsequencingofall operationalconfigurationmessages.Thevalueisthevalueof tmxOpNumwhenentrywascreatedandissetbythemanager.″ ?。絳tmxIPDataEntry1} tmxIPDataMsgOBJECT-TYPE SYNTAXBITS{create(0),delete(1)} MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Eachtablerowconstitutesacommandmessage.Themessage typeindicateswhethertheCommandtypeistoeithercreate ordeletetheitemdescribedinthisrow.Anycreatecommand isfurtherrestrictedbytheActionTriggerType.Dependingon theActionTriggerType,thecommandwilleitherbeimmediately executed,executedatatimespecidfiedbyTimeofAction,or executedwhenaSPliceImmediateFlagisraised.″ ?。絳tmxIPDataEntry2} tmxIPDataPIDOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″MPEGPIDnumberinoutputtransportforthisdatastream. TheremaybemultipleIPdatarouteentriesforthesamePID?。?!″ ={tmxIPDataEntry3} tmxIPDataDestAddrOBJECT-TYPE SYNTAXIpAddress MAX-ACCESSread-create STATUScurrent DESCRIPTION ″IPaddressofdestinationhostornetworkthatthisPIDwill routedatafor.″ ?。絳tmxIPDataEntry4} tmxIPDataFlowCtlTypeOBJECT-TYPE STNAXBITS(none(0),smpte-325m(1)} MAX-ACCESSread-createSTATUScurrent DESCRIPTION ″ThetypeofflowcontrolusedbytheTMXtothrottlethedata server″ ?。絳tmxIPDataEntry5} tmxIPDataTmxFlowCtlServerAddrOBJECT-TYPE SYNTAXIpAddress MAX-ACCESSread-create STATUScurrent DESCRIPTION ″ServerIPAddressforflowcontrolofthisdatastream.″ ?。絳tmxIPDataEntry6} tmxIPDataTmxFlowCtlServerPortOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Portnumberoftheserver′sIPportforflowcontrolofthis data stream.″ ?。絳tmxIPDataEntry7} tmxIPDataTmxFlowCtlAddrOBJECT-TYPE SYNTAXIpAddress MAX-ACCESSread-create STATUScurrent DESCRIPTION ″TMXIPAddressforflowcontrolofthisdatastream.″ ?。絳tmxIPDataEntry8) tmxIPDataTmxFlowCtlPortOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″PortnumberofTMX′sIPflowcontrolportforthisdatastream.″ ?。絳tmxIPDataEntry9} tmxIPDataMuxModeOBJECT-TYPE SYNTAXBITS{guaranteed(0),opportunistic(1)} MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Datamultiplexingmode.Eitherguaranteed,inwhichcaseeither sufficientlymuchmultiplexingbandwidthisallocatedorthe videoqualitywillbesacrificedinastatisticalmultiplex; oropportunisticinwhichcasedatamultiplexingisdependent onsparebandwidthafterdesiredvideoqualityisachieved″ ?。?tmxIPDataEntry10) tmxIPDataOutModeOBJECT-TYPE SYNTAXBITS{atsc(0),dvb(1),other(2)} MAX-ACCESSread-create STATUScurrent DESCRIPTION ″IPdataencapsulation.″ ?。?tmxIPDataEntry11) tmxIPDataAvgBitRateOBJECT-TYPE SYNTAXInteger32MAX-ACCESSread-create STATUScurrent DESCRIPTION ″AveragedatabitrateovertmxIPDataAvgTimePeriod,ifany. ?。絳tmxIPDataEntry12} tmxIPDataAvgTimePeriodOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″AveragingtimeperiodinSeconds,ifany.″ ?。絳tmxIPDataEntry13} tmxIPDataMinBitRateOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Minimumguaranteedordesiredbitrateover tmxIPDataAvgTimePeriod, ifany.″ ={tmxIPDataEntry14} tmxIPDataMaxBitRateOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Maximumguaranteedordesiredbitrateover tmxIPDataAvgTimePeriod, ifany.″ ={tmxIPDataEntry15} tmxIPDataActionTriggerOBJECT-TYPE SYNTAXActionTriggerType MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Triggertypethatwillinitiatethisoperation.″ ?。絳tmxIPDataEntry16} tmxIPDataActionTimeOBJECT-TYPE SYNTAXDateAndTime MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Iftriggertypeisatimeofactionthisobjectcontainsthe time.″ ?。絳tmxIPDataEntry17} tmxIPDataSectionLengthOBJECT-TYPE SYNTAXBITS{len4096(0),lenl024(1)} MAX-ACCESSread-create STATUScurrent DESCRIPTION″MaximumlengthofDSM-CCsections.″ ?。絳tmxIPDataEntry18} tmxIPDataStatusOBJECT-TYPE SYNTAXRowStatus MAX-ACCESSread-create STATUScurrentDESCRIPTION ″Statusoftherow.″ ?。絳tmxIPDataEntry19}***************************************************************** tmxAsyncDataTableOBJECT-TYPE SYNTAXSEQUENCEOFTmxAsyncDataEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″TheRS-232/RS-422DataComponentControltable.Eachrowin this tablerepresentsacreate/deleteOpcommand.All OpswiththesameTimeofActionaretobeexecuted intheorderspecifiedbythemessageindex.″ ?。絳tmxMediaControl12} tmxAsyncDataEntryOBJECT-TYPE SYNTAXTmxAsyncDataEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″Entry″ INDEX{ifIndex,tmxStatGroupOpIndex,tmxProgOpIndex, tmxAsyncDataOpIndex} ?。絳tmxAsyncDataTable1} TmxAsyncDataEntry=SEQUENCE{ tmxAsyncDataOpIndexInteger32, tmxAsyncDataMsgBITS, tmxAsyncDataSrcIdInteger32, tmxAsyncDataPIDInteger32, tmxAsyncDataBaudRateInteger32, tmxAsyncDataParityInteger32, tmxAsyncDataBitsInteger32, tmxAsyncDataStopBitsInteger32, tmxAsyncDataFlowControlBITS, tmxAsyncDataMuxModeBITS, tmxAsyncDataOutModeBITS, tmxAsyncDataAvgBitRateInteger32, tmxAsyncDataAvgTimePeriodInteger32, tmxAsyncDataMinBitRateInteger32, tmxAsyncDataMaxBitRateInteger32, tmxAsyncDataActionTriggerActionTriggerType, tmxAsyncDataActionTimeDateAndTime, tmxAsyncDataStatusRowStatus }***************************************************************** tmxAsyncDataOpIndexOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″Thisisusedforuniqueidentificationandsequencingofall operationalconfigurationmessages.Thevalueisthevalueof tmxOpNumwhenentrywascreatedandissetbythemanager.″ ?。絳tmxAsyncDataEntry1} tmxAsyncDataMsgOBJECT-TYPE SYNTAXBITS{create(0),delete(1)} MAX-ACCESSread-create STATUScurrentDESCRIPTION ″Eachtablerowconstitutesacommandmessage.Themessage typeindicateswhethertheCommandtypeistoeithercreate ordeletetheitemdescribedinthisrow.Anycreatecommand isfurtherrestrictedbytheActionTriggerType.Dependingon theActionTriggerType,thecommandwilleitherbeimmediately executed,executedatatimespecidfiedbyTimeofAction,or executedwhenaSPliceImmediateFlagisraised.″ ?。絳tmxAsyncDataEntry2}tmxAsyncDataSrcIdOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Physicalinputidentifier(ifIndex).″ ?。絳tmxAsyncDataEntry3}tmxAsyncDataPIDOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″MPEGPIDnumberinoutputmultiplexforthisdatastream.″ ={tmxAsyncDataEntry4}tmxAsyncDataBaudRateOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″RS-232baudratesetting,ifany.″ ?。絳tmxAsyncDataEntry5}tmxAsyncDataParityOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″RS-232parity,ifany.″ ?。絳tmxAsyncDataEntry6}tmxAsyncDataBitsOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″RS-232numberofdatabits,ifany.″ ?。絳tmxAsyncDataEntry7}tmxAsyncDataStopBitsOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″RS-232,numberofstopbits,ifany.″ ?。絳tmxAsyncDataEntry8}tmxAsyncDataFlowControlOBJECT-TYPE SYNTAXBITS{xonxoff(0),hw(1),none(2)} MAX-ACCESSread-create STATUScurrentDESCRIPTION ″RS-232flowcontrol,ifany.″ ?。絳tmxAsyncDataEntry9}tmxAsyncDataMuxModeOBJECT-TYPE SYNTAXBITS{guaranteed(0),opportunistic(1)) MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Datamultiplexingmode.Eitherguaranteed,inwhichcaseeither sufficientlymuchmultiplexingbandwidthisallocatedorthe videoqualitywillbesacrificedinastatisticalmultiplex; oropportunisticinwhichcasedatamultiplexingisdependent onsparebandwidthafterdesiredvideoqualityisachieved″ ?。絳tmxAsyncDataEntry10}tmxAsyncDataOutModeOBJECT-TYPE SYNTAXBITS(atsc(0),dvb{1)} MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Dataencapsulationonoutput.″ ?。?tmxAsyncDataEntry11)tmxAsyncDataAvgBitRateOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″AveragedatabitrateovertmxAsyncDataAvgTimePeriod,if any.″ ?。絳tmxAsyncDataEntry12}tmxAsyncDataAvgTimePeriodOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″AveragingtimeperiodinSeconds,ifany.″ ?。絳tmxAsyncDataEntry13}tmxAsyncDataMinBitRateOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Minimumguaranteedordesiredbitrateover tmxAsyncDataAvgTimePeriod,ifany.″ ?。絳tmxAsyncDataEntry14}tmxAsyncDataMaxBitRateOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Maximumguaranteed.ordesiredbitrateover tmxAsyncDataAvgTimePeriod,ifany.″ =(tmxAsyncDataEntry15)tmxAsyncDataActionTriggerOBJECT-TYPE SYNTAXActionTriggerType MAX-ACCESSread-createSTATUScurrent DESCRIPTION ″Triggertypethatwillinitiatethisoperation.″ ?。絳tmxAsyncDataEntry16} tmxAsyncDataActionTimeOBJECT-TYPE SYNTAXDateAndTime MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Iftriggertypeisatimeofactionthisobjectcontains thetime.″ ?。絳tmxAsyncDataEntry17} tmxAsyncDataStatusOBJECT-TYPE SYNTAXRowStatus MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Statusoftherow.″ ?。絳tmxAsyncDataEntry18}**********************************************************************************tmxCarouselTableOBJECT-TYPE SYNTAXSEQUENCEOFTmxCarouselEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″TheCarouselControltable.Eachrowinthis tablerepresentsacreate/deleteOpcommand.All OpswiththesameTimeofActionaretobeexecuted intheorderspecifiedbythemessageindex.″ ?。?tmxMediaControl13) tmxCarouselEntryOBJECT-TYPE SYNTAXTmxCarouselEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″Entry″ INDEX{ifIndex,tmxStatGroupOpIndex,tmxProgOpIndex, tmxCarouselOpIndex} ?。絳tmxCarouselTable1} TmxCarouselEntry=SEQUENCE{ tmxCarouselOpIndexInteger32, tmxCarouselMsgBITS, tmxCarouselPIDInteger32, tmxCarouselOutStandardBITS, tmxCarouselRepetitionRateInteger32, tmxCarouselLoadDataOCTETSTRING, tmxCarouselActionTriggerActionTriggerType, tmxCarouBelActionTimeDateAndTime, tmxCarouselOnDemandBITS, tmxCarouselStatusRowStatus }***************************************************************** tmxCarouselOpIndexOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSnot-accessible STATUScurrentDESCRIPTION ″Thisisusedforuniqueidentificationandseguencingofall operationalconfigurationmessages.Thevalueisthevalueof tmxOpNumwhenentrywascreatedandissetbythemanager.″ ?。絳tmxCarouselEntry1} tmxCarouselMsgOBJECT-TYPE SYNTAXBITS(create(0),delete(1)) MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Eachtablerowconstitutesacommandmessage.Themessage typeindicateswhethertheCommandtypeistoeithercreate ordeletetheitemdescribedinthisrow.Anycreatecommand isfurtherrestrictedbytheActionTriggerType.Dependingon theActionTriggerType,thecommandwilleitherbeimmediately executed,executedatatimespecidfiedbyTimeofAction,or executedwhenaSPliceImmediateFlagisraised.″ ?。絳tmxCarouselEntry2) tmxCarouselPIDOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″MPEGPIDnumberinoutputmultiplex.″ ={tmxCarouselEntry3} tmxCarouselOutStandardOBJECT-TYPE SYNTAXBITS{atsc(0),dvb(1)} MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Dataencapsulationonoutput,ifany.″ ?。絳tmxCarouselEntry4} tmxCarouselRepetitionRateOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Repetitionrateofthedatainmilliseconds.″ ?。絳tmxCarouselEntry5} tmxCarouselLoadDataOBJECT-TYPE SYNTAXOCTETSTRING MAX-ACCESSread-create STATUScurrent DESCRIPTION ″FilenameonserverorifLoadHost=NULL,this isthedataitselfthatistobeputontothe Carousel.″ ={tmxCarouselEntry6} tmxCarouselActionTriggerOBJECT-TYPE SYNTAXActionTriggerType MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Triggertypethatwillinitiatethisoperation.″ ?。?tmxCarouselEntry7)tmxCarouselActionTimeOBJECT-TYPE SYNTAXDateAndTime MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Iftriggertypeisatimeofactionthisobjectcontains thetime.″ =(tmxCarouselEntry8) tmxCarouselOnDemandOBJECT-TYPE SYNTAXBITS(disabled(0),enabled(1)} MAX-ACCESSread-create STATUScurrent DESCRIPTION″Switchforon-demandtablegeneration″ ={tmxCarouselEntry9} tmxCarouselStatusOBJECT-TYPE SYNTAXRowStatus MAX-ACCESSread-create STATUScurrent DESCRIPTION″Statusoftherow.″ ?。絳tmxCarouselEntry10}***************************************************************** tmxFifoTableOBJECT-TYPE SYNTAXSEQUENCEOFTmxFifoEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″TheFIFOControltable.Eachrowinthis tablerepresentsacreate/deleteOpcommand.All OpswiththesameTimeofActionaretobeexecuted intheorderspecifiedbythemessageindex.″ ?。?tmxMediaControl14) tmxFifoEntryOBJECT-TYPE SYNTAXTmxFifoEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″Entry″ INDEXindex,tmxStatGroupOpIndex,tmxProgOpIndex, tmxFifoOpIndex} ?。絳tmxFifoTable1} TmxFifoEntry..SEQUENCE{ tmxFifoOpIndexInteger32, tmxFifoMsgBITS, tmxFifoPIDInteger32, tmxFifoOutStandardBITS, tmxFifoAvgBitRateInteger32, tmxFifoAvgTimePeriodInteger32, tmxFifoMinBitRateInteger32, tmxFifoMaxBitRateInteger32, tmxFifoLoadTimeInteger32, tmxFifoLoadTypeBITS, tmxFifoLoadHostIpAddress, tmxFifoFileNameDisplayString, tmxFifoLoadDataTypeBITS, tmxFifoActionTriggerActionTriggerType, tmxFifoActionTimeDateAndTime, tmxFifoOnDemandBITS,tmxFifoStatusRowStatus )***************************************************************** tmxFifoOpIndexOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″Thisisusedforuniqueidentificationandsequencingofall operationalconfigurationmessages.Thevalueisthevalueof tmxOpNumwhenentrywascreatedandissetbythemanager.″ ?。絳tmxFifoEntry1} tmxFifoMsgOBJECT-TYPE SYNTAXBITS(create(0),delete(1)} MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Eachtablerowconstitutesacommandmessage.Themessage typeindicateswhethertheCommandtypeistoeithercreate ordeletetheitemdescribedinthisrow.Anycreatecommand isfurtherrestrictedbytheActionTriggerType.Dependingon theActionTriggerType,thecommandwilleitherbeimmediately executed,executedatatimespecidfiedbyTimeofAction,or executedwhenaSPliceImmediateFlagisraised.″ ={tmxFifoEntry2} tmxFifoPIDOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″MPEGPIDnumberinoutputmultiplex.″ ?。絳tmxFifoEntry3} tmxFifoOutStandardOBJECT-TYPE SYNTAXBITS{atsc(0),dvb(1)} MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Dataencapsulationonoutput,ifany.″ ={tmxFifoEntry4} tmxFifoAvgBitRateOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″AveragedatabitrateovertmxFifoAvgTimePeriod,ifany.″ =(tmxFifoEntry5) tmxFifoAvgTimePeriodOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″AveragingtimeperiodinSeconds,ifany.″ ={tmxFifoEntry6} tmxFifoMinBitRateOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-createSTATUScurrent DESCRIPTION ″Minimumguaranteedordesiredbitrateover tmxFifoAvgTimePeriod,ifany.″ ={tmxFifoEntry7} tmxFifoMaxBitRateOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Maximumguaranteedordesiredbitrateover tmxFifoAvgTimePeriod,ifany.″ ?。絳tmxFifoEntry8} tmxFifoLoadTimeOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Timeatwhichtoloadthefilefromserver,ifany.″ ?。絳tmxFifoEntry9} tmxFifoLoadTypeOBJECT-TYPE SYNTAXBITS{top(0),ftp(1),nfs(2),snmpdata( 3)} MAX-ACCESSread-create STATUScurrent DESCRIPTION ″FIFOloadprotocol.″ ?。絳tmxFifoEntry10} tmxFifoLoadHostOBJECT-TYPE SYNTAXIpAddress MAX-ACCESSread-create STATUScurrent DESCRIPTION ″IPaddressofserver.″ ?。絳tmxFifoEntry11} tmxFifoFileNameOBJECT-TYPE SYNTAXDisplayString MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Filenameonserver.″ ?。絳tmxFifoEntry12} tmxFifoLoadDataTypeOBJECT-TYPE SYNTAXBITS(data(0),dsmcc(1),prepacketized(2 )) MAX-ACCESSread-create STATUScurrent DESCRIPTION ″FormatofdatatobeputontotheFIFO.″ ?。?tmxFifoEntry13) tmxFifoActionTriggerOBJECT-TYPE SYNTAXActionTriggerType MAX-ACCESSread-create STATUScurrent DESCRIPTION″Triggertypethatwillinitiatethisoperation.″ ?。絳tmxFifoEntry14} tmxFifoActionTimeOBJECT-TYPE SYNTAXDateAndTime MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Iftriggertypeisatimeofactionthisobjectcontainsthe time.″ ={tmxFifoEntry15} tmxFifoOnDemandOBJECT-TYPE SYNTAXBITS{disabled(0),enabled(1)} MAX-ACCESSread-create STATUScurrent DESCRIPTION″Switchforon-demandtablegeneration″ =(tmxFifoEntry16) tmxFifoStatusOBJECT-TYPE SYNTAXRowStatus MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Statusoftherow.″ ?。絳tmxFifoEntry17}********************************************************************************** tmxRrogIrisertTableOBJECT=TYPE SYNTAXSEQUENCEOFTmxProgInsertEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″TabletocontrolTMX′sdigitalprograminsertion(Ads,NVOD) andsplicing.Eachrowinthis tablerepresentsacreate/deleteOpcommand.All OpswiththesameTimeofActionaretobeexecuted intheorderspecifiedbythemessageindex.″ ?。絳tmxMediaControl15} tmxProgInsertEntryOBJECT-TYPE SYNTAXTmxProgInsertEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″Entry″ INDEX{ifIndex,tmxStatGroupOpIndex,tmxProgOpIndex, tmxProgInsertOpIndex} ?。絳tmxProgInsertTable1} TmxProgInsertEntry=SEQUENCE{ tmxProgInsertOpIndexInteger32, tmxProgInsertMsgBITS, tmxProgInsertProgNameDisplayString, tmxProgInsertSplicerNameDisplayString, tmxProgInsertSplicerTypeBITS, tmxProgInsertServerAddrIpAddress, tmxProgInsertServerPortInteger32, tmxProgInsertAdSrcIdInteger32, tmxProgInsertTmxAddrIpAddress, tmxProgInsertTmxPortInteger32, tmxProgInsertActionTriggerActionTriggerType,tmxProgInsertActionTimeDateAndTime, tmxProgInsertStatusRowStatus }***************************************************************** tmxProgInsertOpIndexOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″Thisisusedforuniqueidentificationandsequencingofall operationalconfigurationmessages.Thevalueisthevalueof tmxOpNumwhenentrywascreatedandissetbythemanager.″ ?。絳tmxProgInsertEntry1} tmxProgInsertMsgOBJECT-TYPE SYNTAXBITS{create(0),delete(1)) MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Eachtablerowconstitutesacommandmessage.Themessage typeindicateswhethertheCommandtypeistoeithercreate ordeletetheitemdescribedinthisrow.Anycreatecommand isfurtherrestrictedbytheActionTriggerType.Dependingon theActionTriggerType,thecommandwilleitherbeimmediately executed,executedatatimespecidfiedbyTimeofAction,or executedwhenaSPliceImmediateFlagisraised.″ ?。絳tmxProgInsertEntry2} tmxProgInsertProgNameOBJECT-TYPE SYNTAXDisplayString MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Userassignedprogramnameoftheprogrambeingspliced into.″ ={tmxProgInsertEntry3} tmxProgInsertSplicerNameOBJECT-TYPE SYNTAXDisplayString MAX-ACCESSread-create STATUScurrent DESCRIPTION ″NameofthesplicerifmorethenoneinTMX(asinDVS standard).″ ?。絳tmxProgInsertEntry4} tmxProgInsertSplicerTypeOBJECT-TYPE SYNTAXBITS{adstreaminsert(0),nvodstreaminsert(1), actvstreaminsert(2)) MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Typeofsplicer.″ ?。絳tmxProgInsertEntry5} tmxProgInsertServerAddrOBJECT-TYPE SYNTAXIpAddress MAX-ACCESSread-create STATUScurrent DESCRIPTION ″IPaddressofserverforthisstreaminsertionfor DVS380API.″={tmxProgInsertEntry6} tmxProgInsertServerPortOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″ServerTCPportnumberforcontrolofthisstreaminsertion forDVS380API.″ ?。絳tmxProgInsertEntry7} tmxProgInsertAdSrcIdOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Physicalinputidentifier(index)ofthead/NVODstream.″ ?。絳tmxProgInsertEntry8} tmxProgInsertTmxAddrOBJECT-TYPE SYNTAXIpAddress MAX-ACCESSread-create STATUScurrent DESCRIPTION ″IPaddressofTMXforthisstreaminsertionforDVS380 API.″ ?。絳tmxProgInsertEntry9} tmxProgInsertTmxPortOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-create STATUScurrent DESCRIPTION ″TMXTCPportnumberforcontrolofthisstreaminsertion forDVS380API.″ ?。絳tmxProgInsertEntry10} tmxProgInsertActionTriggerOBJECT-TYPE SYNTAXActionTriggerType MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Triggertypethatwillinitiatethisoperation.″ ={tmxProgInsertEntry11} tmxProgInsertActionTimeOBJECT-TYPE SYNTAXDateAndTime MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Iftriggertypeisatimeofactionthisobjectcontainsthe time.″ ?。絳tmxProgInsertEntry12} tmxProgInsertStatusOBJECT-TYPE SYNTAXRowStatus MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Statusoftherow.″ ?。絳tmxProgInsertEntry13}--tmxMediaMonitortablesenablemonitoringofMPEGinput/output --information.--Theyconsistof--tmxInputPIDTableforinputratemonitoringperPID--tmxOutputPIDTableforoutputratemonitoringperPID --tmxPsiSiTableforMPEGTablemonitoringperPID ***************************************************************** tmxInputPIDyTablaOB-J-ECT-TYPE SYNTxSEQUENCEOFTmxInputPIDEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″TablewithinputPIDstatistics.″ ?。絳tmxMediaMonitor1} tmxInputPIDEntryOBJECT-TYPE SYNTAXTmxInputPIDEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″Entry″ INDEX{ifIndex,tmxInputPIDId} ={tmxInputPIDTable1} TmxInputPIDEntry=SEQUENCE{ tmxInputPIDIdInteger32, tmxInputPIDBitRateInteger32, tmxInputPIDEntryStatusRowStatus } ***************************************************************** tmxInputPIDIdOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-only STATUScurrent DESCRIPTION ″ComponentPIDwithstreamtype.″ ?。絳tmxInputPIDEntry1} tmxInputPIDBitRateOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-only STATUScurrent DESCRIPTION ″Bitrateinbps.″ ={tmxInputPIDEntry2} tmxInputPIDEntryStatusOBJECT-TYPE SYNTAXRowStatus MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Statusofthisentry.″ ?。絳tmxInputPIDEntry3} ***************************************************************** tmxOutputPIDTable-OH.JECT-TY-L?E SYNTAXSEQUENCEOFTmxOutputPIDEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″TablewithoutputPIDstatistics.″ ?。絳tmxMediaMonitor2}tmxOutputPIDEntryOBJECT-TYPE SYNTAXTmxoutputPIDEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″Entry″ INDEXindex,tmxOutputPIDId} ={tmxOutputPIDTable1} TmxOutputPIDEntry=SEQUENCE{ tmxOutputPIDIdInteger32, tmxOutputPIDBitRateInteger32, tmxOutputPIDMinBitRateInteger32, tmxOutputPIDMaxBitRateInteger32, tmxOutputPIDFrameRateInteger32, tmxOutputPIDResolutionInteger32, tmxOutputPIDBFramesInteger32, tmxOutputPIDFilmModeInteger32, tmxOutputPIDEntryStatusRowStatus }***************************************************************** tmxOutputPIDIdOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-only STATUScurrent DESCRIPTION ″ComponentPIDwithstreamtype.″ ?。絳tmxOutputPIDEntry1} tmxOutputPIDBitRateOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-only STATUScurrent DESCRIPTION ″Bitrateinbps.″ ={tmxOutputPIDEntry2} tmxOutputPIDMinBitRateOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-only STATUScurrent DESCRIPTION ″MinBitrateinbps.″ ?。?tmxOutputPIDEntry3) tmxOutputPIDMaxBitRateOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-only STATUScurrent DESCRIPTION ″MaxBitrateinbps.″ ?。絳tmxOutputPIDEntry4} tmxOutputPIDFrameRateOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-only STATUScurrent DESCRIPTION ″FramerateifthePIDisatranscodedvideoPID.″ ={tmxOutputPIDEntry5} tmxOutputPIDResolutionOBJECT-TYPESYNTAXInteger32 MAX-ACCESSread-only STATUScurrent DESCRIPTION ″NumberofMacroblocksperSecondifPIDisatranscoded videoPID.″ ?。絳tmxOutputPIDEntry6} tmxOutputPIDBFramesOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-only STATUScurrent DESCRIPTION ″AverageratioofBframestoIandPframesifPIDisa transcodedvideoPID.″ ?。?tmxOutputPIDEntry7) tmxOutputPIDFilmModeOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-only STATUScurrent DESCRIPTION ″FilmmodestatusifPIDisatranscodedvideoPID.″ ?。?tmxOutputPIDEntry8) tmxOutputPIDEntryStatusOBJECT-TYPE SYNTAXRowStatus MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Statusofthisentry.″ ?。絳tmxOutputPIDEntry9}***************************************************************** tmxPsiSiTableOBJECT-TYPE SYNTAXSEQUENCEOFTmxPsiSiEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″Tableofallinputtransportstreams.″ ?。絳tmxMediaMonitor3} tmxPsiSiEntryOBJECT-TYPE SYNTAXTmxPsiSiEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″Entry″ INDEX{ifIndex,tmxPsiSiPidNum,tmxPsiSiTableId, tmxPsiSiCurrNext} ?。絳tmxPsiSiTable1} TmxPsiSiEntry=SEQUENCE{ tmxPsiSiPidNumInteger32, tmxPsiSiTableIdInteger32, tmxPsiSiCurrNextInteger32, tmxPsiSiTableInfoOCTETSTRING, tmxPsiSiVersionInteger32, txPsiSiEntryStatusRowStatus }***************************************************************** tmxPsiSiPidNumOBJECT-TYPESYNTAXInteger32 MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″TransportStreamPIDnumber″ ={tmxPsiSiEntry1}tmxPsiSiTableIdOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″TransportStreamTableId″ ?。絳tmxPsiSiEntry2}tmxPsiSiCurrNextOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″MPEGTablecurrnetnextindicator.″ ?。絳tmxPsiSiEntry3}tmxPsiSiTableInfoOBJECT-TYPE SYNTAXOCTETSTRING MAX-ACCESSread-only STATUScurrent DESCRIPTION ″TransportStreamTable.″ ={tmxPsiSiEntry4}tmxPsiSiVersionOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-only STATUScurrent DESCRIPTION ″Tableversionforthistransportstream″ ?。絳tmxPsiSiEntry5}tmxPsiSiEntryStatusOBJECT-TYPE SYNTAXRowStatus MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Statusofthisentry.″ ?。絳tmxPsiSiEntry6}tmxMuxMemoryTableOBJECT-TYPE SYNTAXSEQUECEOFTmxMuxMemoryEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION ″Tableindicatingthemaximumcontiguousblockofmemoryavailable forcarousels.″ ?。?tmxMediaMonitor4)tmxMuxMemoryEntryOBJECT-TYPE SYNTAXTmxMuxMemoryEntry MAX-ACCESSnot-accessible STATUScurrent DESCRIPTION″Entry″ INDEX(ifIndex) ={tmxMuxMemoryTable1} TmxMuxMemoryEntry=SEQUENCE{ tmxMuxMemorySizeInteger32, tmxMuxMemoryEntryStatusRowStatus } tmxMuxMemorySizeOBJECT-TYPE SYNTAXInteger32 MAX-ACCESSread-only STATUScurrent DESCRIPTION ″Themaximumbytesizecurrentlyavailable.″ ?。絳tmxMuxMemoryEntry1} tmxMuxMemoryEntryStatusOBJECT-TYPE SYNTAXRowStatus MAX-ACCESSread-create STATUScurrent DESCRIPTION ″Statusofthisentry.″ ?。絳tmxMuxMemoryEntry2}END]]></pre>雖然本發(fā)明是結(jié)合在目前看來最實用和優(yōu)選的實施例而描述的,但是應(yīng)該可以理解,本發(fā)明并不限于所公開的這些實施例,而是希望包含那些包括在所附權(quán)利要求的精神和范圍內(nèi)的不同的修改和等價的結(jié)構(gòu)。至于以上的描述,例如,應(yīng)該認(rèn)識到,對于本領(lǐng)域技術(shù)人員來說,可以很容易地得到最優(yōu)的實現(xiàn)、功能以及操作、組合和使用的方式,并且所附權(quán)利要求希望包括那些在附圖中說明和在說明書中描述的所有的等價關(guān)系。因此,可以認(rèn)為上述對本發(fā)明原理的描述是說明性的,而并非窮舉。權(quán)利要求1.一種使用SNMP、通過網(wǎng)絡(luò)遠(yuǎn)程控制寬帶通信硬件的控制系統(tǒng),所述通信硬件包括進(jìn)行內(nèi)容流操作的多個處理器板和用于配置和控制所述處理器板的配置任務(wù)固件,所述控制系統(tǒng)包括用戶界面,用于向控制系統(tǒng)操作員顯示信息、并接收來自所述操作員的輸入;單元管理器,其將所述用戶界面與網(wǎng)絡(luò)通信連接,所述單元管理器將操作員的輸入打包為SNMP消息,并通過網(wǎng)絡(luò)將該消息發(fā)送到SNMP代理,所述單元管理器還將通過網(wǎng)絡(luò)從所述SNMP代理接收SNMP消息,并將其中包含的信息提供給所述用戶界面,從而顯示給所述操作員;和SNMP代理,其將所述配置任務(wù)固件與網(wǎng)絡(luò)通信連接,所述SNMP代理包括用于把在所述單元管理器和所述配置任務(wù)固件之間交換的信息進(jìn)行代理的裝置。2.如權(quán)利要求1所述的控制系統(tǒng),其中所述SNMP代理將通過網(wǎng)絡(luò)從所述單元管理器接收的SNMP消息轉(zhuǎn)換成能夠被配置任務(wù)固件理解的形式,并將信息打包進(jìn)SNMP消息以便于所述單元管理器通過網(wǎng)絡(luò)接收。3.如權(quán)利要求1所述的控制系統(tǒng),其中所述內(nèi)容流是MPEG2數(shù)據(jù)流,所述網(wǎng)絡(luò)是以太網(wǎng)絡(luò),所述通信硬件是TMX框架。4.如權(quán)利要求1所述的控制系統(tǒng),其中所述用戶界面是包括公用瀏覽器的圖形用戶界面。5.如權(quán)利要求1所述的控制系統(tǒng),其中所述SNMP代理將從所述配置任務(wù)固件接收的系統(tǒng)數(shù)據(jù)組裝進(jìn)MIB表,所述單元管理器從所述MIB表中讀取所述系統(tǒng)數(shù)據(jù)并將其提供給所述用戶界面用于顯示。6.如權(quán)利要求1所述的控制系統(tǒng),其中所述單元管理器將從所述用戶界面接收的操作員的輸入組裝進(jìn)MIB表,所述SNMP代理從所述MIB表中讀取所述操作員的輸入并將其作為指令提供給所述配置任務(wù)固件。7.如權(quán)利要求1所述的控制系統(tǒng),其中所述單元管理器運(yùn)行在與網(wǎng)絡(luò)通信連接的個人計算機(jī)上,其中所述單元管理器在設(shè)置階段已經(jīng)被作為javaapplet通過網(wǎng)絡(luò)上載到所述計算機(jī)。8.一種通過網(wǎng)絡(luò)遠(yuǎn)程控制寬帶通信硬件的方法,所述通信硬件包括用于操作內(nèi)容流的多個處理器板與用于配置和控制所述處理器板的配置任務(wù)固件,所述方法包括在網(wǎng)絡(luò)上的第一位置接收來自操作員的內(nèi)容流控制命令;將所述控制命令打包為SNMP消息;通過網(wǎng)絡(luò)將所述SNMP消息發(fā)送到物理上遠(yuǎn)離所述第一位置的第二位置;在所述第二位置接收所述SNMP消息;將所述接收到的SNMP消息轉(zhuǎn)換成所述配置任務(wù)固件能夠理解的控制命令;和將所述轉(zhuǎn)換后的命令發(fā)送到所述配置任務(wù)固件,以用于執(zhí)行。9.如權(quán)利要求8所述的方法,其中所述內(nèi)容流是MPEG2數(shù)據(jù)流,所述網(wǎng)絡(luò)是以太網(wǎng)網(wǎng)絡(luò),所述通信硬件是TMX框架。10.如權(quán)利要求8所述的方法,其中接收內(nèi)容流控制命令的步驟包括從包括瀏覽器的圖形用戶界面接收內(nèi)容流拖放命令。11.如權(quán)利要求10所述的方法,其中將所述控制命令打包為SNMP消息的步驟包括將由所述拖放命令所產(chǎn)生的內(nèi)容流屬性組裝進(jìn)MIB表。12.如權(quán)利要求10所述的方法,其進(jìn)一步包括查詢所述通信硬件的系統(tǒng)狀態(tài)數(shù)據(jù);將所述系統(tǒng)狀態(tài)數(shù)據(jù)組裝進(jìn)MIB表;從所述MIB表讀取所述系統(tǒng)狀態(tài)數(shù)據(jù);和在所述圖形用戶界面上顯示所述系統(tǒng)狀態(tài)數(shù)據(jù)。13.如權(quán)利要求10所述的方法,其進(jìn)一步包括查詢所述通信硬件的內(nèi)容流屬性數(shù)據(jù);將所述內(nèi)容流屬性數(shù)據(jù)組裝進(jìn)MIB表;從所述MIB表讀取所述內(nèi)容流屬性數(shù)據(jù);和在所述圖形用戶界面上顯示所述內(nèi)容流屬性數(shù)據(jù)。14.如權(quán)利要求10所述的方法,其進(jìn)一步包括查詢所述通信處理器板屬性數(shù)據(jù),該數(shù)據(jù)包含涉及所述處理器板的標(biāo)識、結(jié)構(gòu)和操作狀態(tài)的數(shù)據(jù);將所述處理器板屬性數(shù)據(jù)組裝進(jìn)MIB表;從所述MIB表讀取所述處理器板屬性數(shù)據(jù);和在所述圖形用戶界面上顯示所述處理器板屬性數(shù)據(jù)。15.一種通過網(wǎng)絡(luò)遠(yuǎn)程開啟TMX框架的輸出端口的方法,所述TMX框架具有多路復(fù)用器、量化級處理器和輸入處理器,用于操作流過所述輸出端口的內(nèi)容流,所述方法包括在網(wǎng)絡(luò)上的第一位置接收來自操作員的端口開啟命令;通過網(wǎng)絡(luò)將所述端口開啟命令發(fā)送到位于物理上遠(yuǎn)離所述第一位置的第二位置的TMX框架;接收到所述端口開啟命令之后,首先激活所述目標(biāo)多路復(fù)用器;接著激活所述量化級處理器;和然后激活所述輸入處理器,由此允許內(nèi)容流流過所述輸出端口。全文摘要本發(fā)明公開一種多功能的多路傳輸復(fù)用器以及多種相關(guān)的方法、系統(tǒng)、子系統(tǒng)、軟件功能、圖形用戶界面和控制系統(tǒng)。所公開的內(nèi)容包括GUI,其使得操作員能夠通過使用SNMP協(xié)議輕易地實時監(jiān)測并使用流過多路傳輸復(fù)用器的內(nèi)容流。所公開的界面包括多個屏幕,其能夠向操作員提供系統(tǒng)硬件和軟件的標(biāo)識、結(jié)構(gòu)、配置、帶寬使用和/或狀態(tài)信息。所公開的功能還提供了通過簡單操作(諸如圖形目標(biāo)的拖放操作)為現(xiàn)在和將來的路由事件進(jìn)行的計算機(jī)輔助路由配置。通過允許操作員同時配置單一內(nèi)容流部件和這樣的部件組,從而進(jìn)一步簡化了路由控制。文檔編號H04N7/24GK1504030SQ02808501公開日2004年6月9日申請日期2002年4月16日優(yōu)先權(quán)日2001年4月20日發(fā)明者布拉尼斯拉夫·N·米德吉拉,布拉尼斯拉夫N米德吉拉,E休伊特,杰夫·E·休伊特,吳國飛,劉元元,蔡櫻櫻申請人:通用儀表公司